What I expect you to know

 

  1. Regular Sets
    1. Regular expressions: Definition and associated languages.
    2. Finite state automata. Associating FSAs with REs.
    3. Associating REs with FSAs. Proof using Rijk sets.
    4. Moore and Mealy models: Automata with output. Basic equivalence.
    5. Non-determinism: Its use. Conversion to deterministic FSAs. Formal proof of equivalence.
    6. Lambda moves: Lambda closure of a state. Equivalence to non-det.
    7. Regular equations, REs and FSAs.
    8. Myhill-Nerode Theorem: Right invariant equivalence relations. Specific relation for a language L. Proof and applications.
    9. Minimization: Why it's unique. Process of minimization. Analysis of cost of different approaches.
    10. Regular (right linear) grammars, regular languages and their equivalence to FSA languages.
    11. Pumping Lemmas: Proof and applications.
    12. Closure properties: Union, concat, *, complement, reversal, intersection, set difference, substitution, homomorphism and inverse homomorphism, INIT, LAST, MID, EXTERIOR, quotient (with reg. set, with arb. set).
    13. Algorithms for reachable states and states that can reach a point.
    14. Decision properties: Emptiness, finiteness, equivalence.
  2. Context Free Grammars
    1. Leftmost versus rightmost derivations.
    2. Parse trees, A-trees. Definition of a parse tree and proof that A =>* X iff there exists an A-tree with X as its yield.
    3. Ambiguity and leftmost (rightmost) derivations.
    4. Pushdown automata; various notions of acceptance and their equivalences
    5. Push down languages and their equivalence to CFLs.
    6. Parsing Techniques: LL (top down) and LR (botom up) parsers
    7. Reduced grammars
    8. Keep non-terminal A iff A =>* w for some terminal string w.
    9. Keep symbol X iff S =>* WXY for some strings W and Y.
    10. Lamba rule removal.
    11. Chain (unit) rule removal.
    12. Chomsky Normal Form.
    13. Left recursion removal.
    14. Greibach Normal Form.
    15. Pumping Lemmas for CFLs.
    16. Closure of CFLs: Union, concat, *, reversal, substitution, homomorphism and inverse homomorphism, INIT, LAST, MID, EXTERIOR, quotient with reg.
    17. Decision algorithms: Empty, finite, infinite; CKY for membership.