1 / 48

Applied Computer Science II Chapter 2 : Context-free languages

Applied Computer Science II Chapter 2 : Context-free languages. Prof. Dr. Luc De Raedt Institut für Informatik Albert-Ludwigs Universität Freiburg Germany. Overview. Context free grammars Pushdown Automata Equivalence of PDAs and CFGs Non-context free grammars Pumping lemma.

mercer
Download Presentation

Applied Computer Science II Chapter 2 : Context-free languages

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. Applied Computer Science IIChapter 2 : Context-free languages Prof. Dr. Luc De Raedt Institut für Informatik Albert-Ludwigs Universität Freiburg Germany

  2. Overview • Context free grammars • Pushdown Automata • Equivalence of PDAs and CFGs • Non-context free grammars • Pumping lemma

  3. Context free languages • Extend regular languages • First studied for natural languages • Often used in computer languages • Compilers • Parsers • Pushdown automata

  4. Key Concepts

  5. Definition Context free grammar

  6. Parsing • Construct meaning (parse tree)

  7. Constructing CFGs • As the union of simpler CFGs

  8. Constructing CFGs • When given a DFA

  9. Constructing CFGs • Languages consisting of “linked” strings

  10. Constructing CFGs • Strings that may contain structures that appear recursively as part of other (or the same) structures

  11. Ambiguity • If generates the same string in several wasy, then the grammar is ambiguous • E.g. • Grammar does not capture usual precedence relations • One of the main problems in natural language processing • “the boy touches the girl with the flower”

  12. Defining ambiguity • Leftmostderivation : • At every step in the derivation the leftmost variable is replaced • A string is derived ambiguously in a CFG if it has two or more different leftmost derivations • A grammar is ambiguous if it generates some string ambiguously • Some context free languages are inherently ambiguous, ie. every grammar for the language is ambiguous

  13. Chomsky Normal Form

  14. Pushdown automata • Schema of a finite automaton

  15. Pushdown automaton • Includes a stack • Push something on top of stack • Pop something from top of stack • Last in first out principle • As in cafeteria – tray

  16. An example PDA

  17. Formal definition

  18. Computation with PDAs

  19. Another example • Non determinism essential for this language

  20. Another example

  21. A CFL accepts a string if there exists a derivation of the string • Involves intermediate strings • Represent intermediate strings on PDA

  22. Substitute variables by strings • Replace top variable by string

  23. Resulting PDA

  24. A construction to substitute variable by a string

  25. Pumping lemma

  26. Overview • Context free grammars • Pushdown Automata • Equivalence of PDAs and CFGs • Non-context free grammars • Pumping lemma

More Related