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 2016-2017
topic schedule is tentative
- Tue 9 September, 8:45, Aula CZ A: Software Languages
- Tue 9 September, 10:45, Aula CZ A: Formal Grammars
- Tue 13 September, 17:45, EWI Pi: Syntax Definition
- Tue 20 September, 17:45, EWI Pi: Term Rewriting
- Tue 27 September, 17:45, EWI Pi: Introduction Static Analysis + Imperative & Object-Oriented Programming Languages
- Tue 4 October, 17:45, EWI Pi: Lexical Analysis
- Tue 11 October, 17:45, EWI Pi: Name Resolution
- Tue 18 October, 17:45, EWI Pi: Constraint-based Type Checking
- Tue 25 October, 17:45, EWI Pi: back-up
break
- Tue 15 November, 17:45, EWI Pi: Dynamic Semantics
- Tue 22 November, 17:45, EWI Pi: Virtual Machines
- Tue 29 November, 17:45, EWI Pi: Garbage Collection
- Tue 6 December, 17:45, EWI Pi: Register Allocation
- Tue 13 December, 17:45, EWI Pi: Dataflow Analysis
- Tue 20 December, 17:45, EWI Pi: LL Parsing
- Tue 10 January, 17:45, EWI Pi: LR Parsing
- Tue 17 January, 17:45, EWI Pi: no lecture
- Tue 24 January, 17:45, EWI Pi: What is a compiler? and Exam preparation