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 |
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.
On successful completion of this course, you will be able to:
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).