1. Overview (39 slides): compilers and interpreters, structure of a compiler, single-pass vs. multi-pass compilers
2. Scanning (21 slides): finite automata, scanner implementation
3. Parsing (52 slides): recursive descent parsing, push down automata, terminal start symbols and successors, LL(1) condition, implementation of a parser
4. Semantic Analysis (31 slides): syntax-directed translation, attribute grammars
5. Symbol Table Handling (37 slides):symbols, types, scopes
6. Code Generation (80 slides)
Extension Material:
1. LALR parsing (49 slides): LALR(1) table generation, optimizations, semantics, error handling
2. Compiler Generators (29 slides): lex/yacc, Coco/R