Foundation of Compiler Construction
This lecture discusses all aspects of the construction of a compiler for a conventional imperative language (such as Pascal) with emphasis on theoretical foundations, the systematic construction of compiler components and, as far as applicable, their generation. Particular topics are:
- compiling a Pascal-like language to code for a stack-based virtual machine (P-machine)
- lexical analysis (generation of scanners based on deterministic finite automata from extended regular expressions)
- different parsing techniques (for context-free grammars) with the focus on LL and LR techniques (including error handling)
- semantic analysis by attribute grammars
- introduction to machine-independent optimisation
- code generation for CISC and RISC architectures (including code selection, register allocation, machine-dependent optimisation and instruction scheduling)
Schedule
Tuesday 10-12 in O28-1002
Wednesday 10-12 in O28-1002