| lecture |
book |
topic |
handout |
slides |
| 1 |
1 - 2.1.5 |
introduction + lexical analysis by hand |
pdf |
pdf |
| 2 |
2.1.6 - 2.1.13 |
automatic lexical analysis (lex) |
pdf |
pdf |
| 3 |
2.2 - 2.2.4 |
top-down parsing (LLgen) |
pdf |
pdf |
| 4 |
2.2.5 |
bottom-up parsing (yacc) |
pdf |
pdf |
| 5 |
6.1 |
semantic analysis (type checking) + assignment 1 |
pdf |
pdf |
| 6 |
3.1 |
AST processing, attribute grammars |
pdf |
pdf |
| 7 |
3.2 |
AST processing, manual methods |
pdf |
pdf |
| 8 |
4 - 4.2.4 |
interpretation + simple code generation |
pdf |
pdf |
| 9 |
4.2.5 + 4.2.7 + 4.2.11 - 4.3 |
code generation (basic blocks) + assemblers |
pdf |
pdf |
| 10 |
6.2 |
imperative languages (cntxt handling, object types) |
pdf |
pdf |
| 11 |
6.3 - 6.4 |
imperative languages (code generation) |
pdf |
pdf |
| 12 |
5 |
memory management |
pdf |
pdf |