490 likes | 579 Views
Erik Jonsson School of Engineering and Computer Science. CS 4384 – 0 01. Automata Theory. http://www.utdallas.edu/~pervin. Tuesday: Context-Free Languages Sections 3.4-3.5. Thursday 2-27-14. FEARLESS Engineering. Distinguished States. Distinguished States. Context-free Languages.
E N D
Erik Jonsson School of Engineering and Computer Science CS 4384– 001 Automata Theory http://www.utdallas.edu/~pervin Tuesday: Context-Free Languages Sections 3.4-3.5 Thursday2-27-14 FEARLESS Engineering
Context-free Languages Chapter Three Tuesday 2-25
A context-free grammar is “context-free’’ because we can use a rule R no matter what the context. E.g., (M&S P.89, Def. 3.1.2) from the rule R: A -> w, we can derive from the string uAv in one step the string uwv, no matter what the context (that is, for any strings u and v). Context-free
Any positive even number of a’s with any number of b’s anywhere
G = (V, ∑, R, E) V = {E, T, F} ∑= {x, 1, 2, +, *, (, )} R = { E -> E + T | T; T -> T * F | F; F -> (E) | x1 | x2 } Expressions, Terms, Factors Parsing Expressions
For every regular language L, there exists a CFG G such that L=L(G). Proof. Let L=L(M) for a DFA M=(Q, Σ, δ, s, F). Construct a CFG G=(V, Σ, R, S) as follows. V = Q, Σ = Σ, R = { q → ap | δ(q, a) = p } U { f → ε | f in F}, S = q0. Theorem x1 xn S x1q1 x1x2q2 ··· x1…xnf x1…xn f=qn s q1
Regular Grammars Note: A -> a is unnecessary
Note that we don't need both Y1 and Y3, or both Y2 and Y4 so we could simplify slightly.
Other Simplifications Useful variables and productions Left-recursion
Pushdown Automata Many similar definitions