CS 311 MIDTERM TOPICS DEFINITIONS Formal Language Deterministic Finite Automaton (DFA) Acceptance and recognition by a DFA Regular Language Regular Grammar Nondeterministic Finite Automaton (NFA) Acceptance and recognition by a NFA Regular Expressions -- Syntax and Meaning Context-free Grammar (CFG) Derivation in a CFG Context-free Language Ambiguity in CFGs Pushdown Automaton (PDA) Acceptance and Recognition by a PDA THEOREMS (You should be able to state and apply these theorems, and, except as noted, outline their proofs.) Equivalence of DFAs and NFAs. Equivalence of DFAs and Regular Expressions. Closure of Regular Languages under union, concatenation, Kleene-*, intersection, complement. Pumping Lemma for Regular Languages. Closure of CFLs under union, concatenation, Kleene-* Equivalence of PDAs that accept by Empty Stack and by Final state Equivalence of CFLs and PDAs Pumping Lemma for CFLs TASKS Design a simple DFA, NFA, regular expression, CFG, or PDA from an informal language description. Give an informal language desrcription for a simple DFA, NFA, regular expression, CFG, or PDA. Apply simple equivalence laws for rewriting regular expressions. Apply the union, concatenation, or Kleene-* construction on NFAs Apply the product and complement constructions to DFAs. Perform the subset construction for converting an NFA to a DFA, including computing epsilon-closures. Construct an NFA from a regular expression. Construct a regular expression from a DFA (either method) Prove a language to be non-regular by applying the pumping lemma andr the closure laws. Apply the union, concatenation, or Kleene-* operators on CFGs. Give a paper simulation of the behavior of a DFA, NFA, or PDA on a specified input. Prove a language to be non-Context-free by applying the pumping lemma and the closure laws EXAMPLES You should be familiar with standard examples and non-examples of regular and context-free languages.