CC: Compiler Construction (FS11)

St George

Course: S6085 (Spring 2011)
Lecturers: Prof. Dr. Oscar Nierstrasz
Assistants: Toon Verwaest, Raffael Krebs
Audience: Master students in computer science
Lecture: Fridays, 10h15 - 12h00
Exercises: Fridays, 12h00 - 12h45
Place: Engehaldenstrasse 8, 001
Start: Feb 25, 2011
Repetition: Spring 2013

NB: Please register for the final exam on ILIAS by May 6!


This course will provide students with an introduction to modern compiler construction. The first two-thirds of the course will cover fundamental topics, and will be based on the text book Modern Compiler Implementation in Java (Second edition), Cambridge University Press, New York, NY, USA, 2002, by Andrew W. Appel, with Jens Palsberg). The remaining third of the course covers advanced topics of current interest.

Learning Outcomes

On successful completion of this course, you will be able to:

Lecture Overview

1 25-Feb-11 Introduction
2 04-Mar-11 Lexical Analysis
3 11-Mar-11 Parsing
4 18-Mar-11 Parsing in Practice
5 25-Mar-11 Semantic Analysis
6 01-Apr-11 Intermediate Representation
7 08-Apr-11 Optimization
8 15-Apr-11 Code Generation
22-Apr-11 Good Friday
29-Apr-11 Spring break
9 06-May-11 Bytecode and Virtual Machines
10 13-May-11 PEGs, Packrats and Parser Combinators
11 20-May-11 Pinocchio [Toon Verwaest]
12 27-May-11 Program Transformation
13 03-Jun-11 Final Exam

NB: The lecture notes are based partly on similar courses offered by Profs. Jens Palsberg (CS132) and Tony Hosking (CS502).