Compiler Construction

Core Course

People

Sebastian Hack, Fabian Ritter, Roland Leißa

General Information

The course treats compiler construction for imperative programming languages. This includes lexical, syntactical, and semantic analysis as well as static program analysis, optimization, and code generation. This course provides all necessary theoretical knowledge required to implement a compiler from scratch, which forms the practical part of the lecture.

Modus Operandi

There will be voluntary mini tests which will take place in the last 20 minutes within the tutorial. Additionally, there will be voluntary exercise sheets. To get a course certificate, students must pass the final exam and the project. Final grades will be based on the exam and the project.

Lecture

Tutorial

Exams

Support

Material

Slides

Date Topic
2017-10-17 Introduction (Code)
2017-10-20 Intro to Syntax Analysis, Lexing

Exercises

  1. Exercise sheet 1 (including project tasks A and B)

Project Material

Literature

The course is mainly built on these books:

The library has several copies of the English version of the book.

The following books are among the "standard" compiler textbooks:

The following textbooks are stanard references for loop transformations:

The following textbook provides a good introduction into the theory of polyhedra and linear programming: