Lectures
Lectures are organised in two introduction lectures and three general topics. The introduction lectures introduce software languages in general and imperative and object-oriented languages in particular.
The first topic focuses on declarative specification of compiler components as supported by state-of-the-art tools for compiler construction, including lexical syntax, context-free syntax, static semantics, and code generation.
In the second topic, we address techniques for the compilation and runtime environments of imperative and object-oriented languages, including dataflow analysis, register allocation, virtual machines, and memory management in detail.
In the final topic, we take a closer look on the inside working of compiler components and their generators. In particular, we study parsing algorithms and parser generation.
Schedule 2015-2016
- Tue 8 September, 13:45, CT-CZ F: Software Languages
- Tue 8 September, 15:45, CT-CZ F: Formal Grammars
- Wed 9 September, 17:45, EWI Chip: Syntax Definition
- Wed 16 September, 17:45, EWI Chip: Imperative & Object-Oriented Programming Languages
- Wed 23 September, 17:45, EWI Chip: Static Analysis
- Wed 30 September, 17:45, EWI Chip: Term Rewriting
- Wed 7 October, 17:45, EWI Chip: Dataflow Analysis
- Wed 14 October, 17:45, EWI Chip: Register Allocation
- Wed 21 October, 17:45, EWI Chip: Garbage Collection
- Tue 10 November, 13:45, EWI Chip: Virtual Machines
- Tue 17 November, 13:45, CT-CZ C: Domain-Specific Languages
- Tue 24 November, 13:45, CT-CZ C: Dynamic Semantics
- Tue 1 December, 13:45, CT-CZ C: Lexical Analysis
- Tue 8 December, 13:45, CT-CZ C: LL Parsing
- Tue 15 December, 13:45, CT-CZ C: LR Parsing
- Tue 5 January, 13:45, CT-CZ C: exam preparation