TU Delft
Year
NEDERLANDSENGLISH
Organization
Education Type
Education print this page print this page     
2010/2011 Electrical Engineering, Mathematics and Computer Science Master Computer Science
IN4303
Compiler Construction
ECTS: 5
Responsible Instructor
Name E-mail
Prof.dr. E. Visser    E.Visser@tudelft.nl
Instructor
Name E-mail
Dr. G.H. Wachsmuth    G.H.Wachsmuth@tudelft.nl
Contact Hours / Week x/x/x/x
2/2/0/0 coll + 4/4/0/0 pract
Education Period
1
2
Start Education
1
Exam Period
2
3
Course Language
English
Expected prior knowledge
- programming (required)
- software engineering (advised)
- programming languages (advised)
Course Contents
Compilers translate the source code of programs in a high-level
programming language into executable (virtual) machine code.
Nowadays, compilers are typically integrated into development
environments providing features like syntax highlighting, content
assistance, live error reporting, and continuous target code
generation. This course is about the efficient construction of
compilers and their integration in the IDE. It consists of three
parts:

The first part 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 part, we address techniques for the compilation of
imperative and object-oriented languages, including activation
records, memory management, register allocation, and optimisation
techniques in detail.

The third part takes a closer look on the inside working of compiler
components and their generators. In particular, we study parsing
algorithms and parser generation.

The practical work consists of constructing a compiler for a small
object-oriented language using the tools introduced in the first part
of the course.
Study Goals
- to be able to specify a language in a declarative style

- to be able to construct a compiler from such specifications with
state-of-the-art compiler construction tools

- to understand different language aspects

- to understand the working of compiler components realising these
aspects
Education Method
Lectures, lab work
Literature and Study Materials
Book "Modern Compiler Implementation in Java. Second Edition" by
Andrew Appel & Jens Palsberg. Cambridge University Press,
2002. ISBN-13: 978-0521820608
Assessment
Practical work + written exam