Outline of Material for Test #2, CS8813, Fall 2001
Context Free Grammars and Languages
- Background Definitions
- Be able to define Context Free Grammars (4 tuple, variables, terminals, productions, and start symbol)
- Be able to define recursive inference
- Be able to define derivations, general, leftmost, and rightmost.
- Be able to define the language defined by a given grammar
- Be able to define sentential forms. What are they and how are they used?
- What is a parse tree and what is its yield?
- What does it mean for a grammar to be ambiguous?
- Be able to define a Pushdown Automata (PDA)
- Be able to describe a PDA in terms of formal definition or graphical notation.
- Be able to define a Instantaneous Description (ID's).
- Be able to use ID's to show how to simulate a PDA.
- Be able to define the language accepted by a PDA.
- By final state L(P)
- By empty stack N(P)
- Be able to define a deterministic Pushdown automata (DPDA).
- Constructions
- Be able to construct a PDA that accepts by final state the same language as a PDA that accepts by empty stack.
- Be able to construct a PDA that accepts by empty stack that accepts the same language as a PDA that accepts by final state.
- Be able to convert a CFG to a PDA using the construction technique on Page 238.
- Be able to convert a PDA to a CFG using the construction on page 242.
- Be able to remove ambiguity from ambiguous CFG's.
- Be able to eliminate useless symbols from a CFG.
- Be able to eliminate epsilon productions from a CFG.
- Be able to eliminate unit productions from a CFG.
- Be able to construct a Chomsky Normal Form (CNF) grammar from a general CFG.
- Proofs, Contradictions, and Demonstrations
- Be able to show that a grammar is ambiguous.
- Be able to discuss and apply arguments about inherently ambiguous Languages.
- Be able to prove that a language defined by a grammar is equivalent to other definitions. For example, see theorem 5.7 page 177.
- Be able to prove that languages accepted by L(P) are equivalent to N(P).
- Be able to discuss that DPDA's can't accept the same languages as PDA's
- Be able to show that the languages accepted by DPDA's are not inherently ambiguous.
- Be able to prove that a language is not a CFG using the Pumping Lemma for CFGs
- Be able to use the CYK Algorithm to show that a string is in a given CFG.
- Review All Homework!