Markus Löberbauer: Compiler Construction
Abstract
The lecture introduces the basic concepts and principles of compiler construction such as
scanning, parsing, symbol table handling, semantic analysis and code generation. This will draw
a complete picture of recursive descent parsing and presents everything necessary for the
programming project. However, in order to make the course more complete, we offer to add two
extra chapters about LALR parsing and compiler generators. During the programming project the
students implement a complete compiler. This compiler translates the programming language Z#
(which is a subset of C#) into ZIL (Z Intermediate Language, a subset of CIL (Common
Intermediate Language)). Thus, the compiler should produce complete .NET assemblies that can be
executed on the CLR (Common Language Runtime).