Compilation

Compilation



Goals
The course is about compiler construction for modern high-level programming langauges. Emphasis is placed on experiences with a concrete project of building a working compiler for a realistic language. In many cases the semantics of that language must be defined by the participants themselves. All such considerations as well as the structure of the compiler must be documented in a written report.

Contents
Language descriptions and recognizers: Grammars, LR parsers, the Flex/Bison tools.

Semantic analysis: Abstract syntax trees, type checking, resource allocation.

Virtual machines and runtime environments: Stacks, heaps, objects.

Code generation: Resources, templates, optimizations.

Surveys on: Garbage collection, native code generation. static analysis.

Evaluation
Oral examination, 13-scale

Lecturer
Michael I Schwartzbach

Credits
2 points/10 ECTS

Semester
Fall