Topics:
- context free grammars
- recursive descent parser
- regular expressions and their relationships to specifying languages
- finite automata and their relationship to parsing code
- table-driven, SLR/LR/LALR parsers; concepts of LR parser generation
- visitors, including as used with parsers generated by SableCC
- symbol tables and type checking
- activation records & frames, NOT including the display
- IR trees, including constructing canonical IR trees
- maximal munch for instruction selection
- computing use-definition chains, liveness, interference graphs, graph
coloring, register allocation
- indeterminacy of programs (termination, reach a particular label,
etc.) and the relationship to optimization