Computer Science Department
Programming Methods Laboratory
Ecole Polytechnique Federale de Lausanne
Compilation     winter semester 2000/2001



This is a course about implementing programming languages. It aims to teach the fundamental aspects of analysing programming languages and mapping them into executable form. At the end of the course, the student should
  • be able to define the formal syntax of a programming language,
  • be able to define the semantics of a language through interpreters,
  • know the internal structure and implementation of compilers,
  • be able to write a compiler that translates a simple language into the code of a virtual machine,
  • know common frameworks and design patterns used in compiler construction,
  • know runtime representations of important programming constructs.

Some less tangible, but nevertheless important goals are:

  • Improving the understanding of programming languages,
  • understanding trade-offs between expressiveness, simplicity, and performance of programming languages,
  • experience the design and implementation of a software project where theory is essential for success.
The course and the tutorials are given in English.


Lecturer: Prof. Martin Odersky


Lectures: Wednesday 11:15-13:00, room IN2
Tutorials: Friday 13:15-15:00, room IN3


The oral exam will be held Friday, 09.02.01 in IN3. There, every group has to present the final assignment and every group member is asked individually about the project and the lecture. The schedule for the exam can be found on our whiteboard in building INR, third floor.


We are trying to publish our lecture slides as soon as possible. Since we extend the slide set continously, it may happen, that you downloaded a preliminary version. To help you keeping your printed slides updated, we started issuing version numbers. As soon as a slide set is complete, it is marked as final.


Important news concerning the tutorials and your project will be announced here. You will also find frameworks that support your practical work. For now, there's only the latest exercises sheet and the grammar for our source language J0.


Related Links

LAMP homepage
Last modified: 13.12.2000, Matthias Zenger <>