1 / 16

Lecture 4 Context-free grammars

Lecture 4 Context-free grammars. Jan Maluszynski , IDA, 200 7 http://www.ida.liu.se/~janma janma @ ida.liu.se. Outline. (Sipser 2.1 – 2.3) Motivating example CFG Definition Parse trees, ambiguity Push-down automata Equivalence CFG – PDA Pumping lemma for CFG. Motivating example.

orpah
Download Presentation

Lecture 4 Context-free grammars

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Lecture 4Context-free grammars Jan Maluszynski, IDA, 2007 http://www.ida.liu.se/~janma janma @ ida.liu.se Jan Maluszynski - HT 2007

  2. Outline (Sipser 2.1 – 2.3) • Motivating example • CFG Definition • Parse trees, ambiguity • Push-down automata • Equivalence CFG – PDA • Pumping lemma for CFG Jan Maluszynski - HT 2007

  3. Motivating example A  (A) A   Gramatical rules used for rewriting: A  (A)  () A  (A)  ((A))  (((A)))  ((())) L(A) : all terminal strings derivable L(A) is not regular! Jan Maluszynski - HT 2007

  4. Context Free Grammars A CFG : (V, , R, S) • V a finite set of nonterminals (variables) •  a finite set of terminals, disjoint with V • R a finite set of rules of the form X  w where XV and w  (V+ )* • SV is a start nonterminal Jan Maluszynski - HT 2007

  5. Context-Free Languages A CFG G: (V, , R, S) L(G) denotes the language of G: the set of all terminal strings derivable in G from S A language is a context-free language iff it is the language of a CFG Jan Maluszynski - HT 2007

  6. Ambiguity E  E+E E  E#E E  (E) E  a Jan Maluszynski - HT 2007

  7. Chomsky Normal Form G is in CNF if every rule is of the form A  BC or A  a In addition, there may be the rule S   Where S is the start nonterminal Every CFL is generated by a CNF grammar. An application: the CYK parsing algorithm Jan Maluszynski - HT 2007

  8. Cocke-Younger- Kasami parsing G CNF grammar w string w = s1 s2 …..sn CYK checks if w is in L(G) by constructing a table T[i,j], 1i,j|w| where: T[i,j] = { X | X => si si+1 …..si+j} Thus w is in L(G) iff S is in T[1,|w|] Jan Maluszynski - HT 2007

  9. CYK table Construct T[i,1] for i = 1,…, |w| X is in T[i,1] iff X  si Having T[i,j] and T[i+j,k] construct T[i,j+k]: Y is in T[i,j+k] iff for some X in T[i,j] , Z in T[i+j,k] Y  X Z Jan Maluszynski - HT 2007

  10. CYK (transposed) table example S  AB | BC A  BA | a B  CC | b C  AB | a b a a b a i = 1 2 3 4 5 substrings: 1 B A,C A,C B A,C length 1 2 S,A B S,C S,A length 2 3 - B B length 3 4 - S,A,C length 4 5 S,A,C length 5 e.g. BT[2,3] since BCC, CT[2,1] CT[2+1,2] Jan Maluszynski - HT 2007

  11. Pushdown Automaton FA extended with a stack Top stack symbol is an argument of a transition can be accessed and replaced by a new one Jan Maluszynski - HT 2007

  12. (Nondeterministic) Pushdown Automaton (Q, , , , q0 ,F) Q states  Input alphabet • Stack alphabet • : (Q  ({})  ({}))  P(Q  ({}) q0Q initial state FQ final states Jan Maluszynski - HT 2007

  13. PDA vs. CFG’s Theorem: A language is context-free iff it is recognized by a pushdown automaton. (p.117) CFG  PDA : Idea: simulate derivations on the stack (see example) PDA  CFG Idea: Nonterminals Xpq derive all strings that bring PDA from p to q starting and ending with empty stack (details see pp121-124). Jan Maluszynski - HT 2007

  14. Regular Languages are Context-free Every Regular Language is Context-free: FA is a special case of PDA Regular grammar: Each rule of the form: A  aB, A a or A   A CF language L is regular iff there exists a regular CFG G such that L = L(G). Jan Maluszynski - HT 2007

  15. Pumping lemma for CFL a +a# a a+…a+a# a…# a Jan Maluszynski - HT 2007

  16. Pumping Lemma for CFL For any CFL L there is p such that If s  L and |s|  p then s=uvxyz for some u,v,x,y,z satisfying: • For each i 0 uvixyiz L • |vy|>0 • |vxy|  p Used for proving that a language is not a CFL Jan Maluszynski - HT 2007

More Related