Compiler Construction 2005/2006

The course Compiler Construction (7 ECTS) is part of the Bachelor Computer Science and is intended for third-year students. The purpose of the course is to become familiar with the different phases in the construction of a compiler and the problems that hereby occur. In the programming assignment the theoretical material presented during the lectures is applied in the construction of a simple compiler.


Lecture

In the year 2005/2006 the lectures are given by Lex Wolters (room 154, phone 071 527 7054) every Tuesday from September 6th till November 29th. Topics that are discussed during the lectures cover the complete process of the construction of a compiler: lexical analysis, syntax analysis, semantic analysis, intermediate code generation, code generation and optimization. During the lectures we will use the book: Alfred V. Aho, Ravi Sethi and Jeffrey D. Ullman, Compilers: Principles, Techniques and Tools.

Examination

At the end of the lectures there will be a written exam, which yields 2 ECTS in case of a pass mark. It will take place on Friday January 13th 2006, 10-13h. The resit will be on Wednesday August 16th 2006, 10-13h. The material for the exam includes the chapters 1-10 of the book with an emphasis on the issues treated during the lectures.

Previous exams

The following exams (in gzip postscript format) are available (without answers):

Programming Assignment

The programming assignment consists of three phases. Halfway the first phase there is a partial evaluation, meant to keep students on 'the straight path' with a positive influence on their future compiler. This evaluation is not obligatory and there no credits associated with it. The next 3 parts are obligatory and each part has an associated weight. A weighted average will determine the final mark, which in case of a pass results in 5 ECTS. If you have delivered in previous years some parts of the programming assignment already then get in touch with the practicum leader.

Assignment

Here you can find the assignment in postscript format.

Files and documentation

The files, which are necessary for the programming assignment, can be found in /home/coco/edu. These are:
framework/* the template files (flex, bison)
test/* testfiles for the compiler
spim/* the spim emulator
spim/doc/spim6_2_doc.ps spim documentation (postscript, 111 KB)
The spim emulator can be downloaded for usage at home. However, you cannot rely on support of the practicum assistants for this usage at home.
Online documentation is available for Bison and Flex.

Deadlines and weights

FaseDeadlineWeight
Evaluation26-09-20050.0
110-10-20050.3
27-11-20050.3
312-12-20050.4
All deadlines are at 17.00h (5 pm).

Remark: The deadlines are strict. After a deadline you cannot submit anything for the corresponding phase.

Results

The results for each phase will be posted here.

News

News (if available) about the programming assignment can be found here.

Questions, problems and assistance

For technical questions regarding the programming assignment you can contact Sander van der Maar and Harmen van der Spek. With respect to contents and technical questions you may contact Masayo Haneda (room 150, phone 071 527 7050), who is also practicum leader and should be contacted for organizational issues with respect to the programming assignment.

The times of assistance in the computer rooms (Room 306/308) are:
Monday13.30-15.30hSander van der Maar
Tuesday13.30-15.30hHarmen van der Spek
Wednesday13.30-15.30hHarmen van der Spek
Thursday13.00-15.00hSander van der Maar

For remaining questions/problems you can contact Lex Wolters (room 154, phone 071 527 7054).


Lex Wolters
Last change: September 5, 2005