Compiler Construction, 9 credits
Next given: it is now confirmed that the course will be given in Spring 2015.
The course covers compiler design and the process of compiling source code to executable code. The course revolves around an implementation project where the students construct a compiler for a simple but powerful programming language, but there is also an exam covering theory and methods used. There are only 8 lectures, and the students are expected to study the course literature and work on the project independently.
A basic aim with this course is that students understand the process of compilation, and how it is naturally divided into steps. Students should be able to explain what each step does, and implement the lexical and syntax analyses with the help of standard tools, generate parse trees, and perform basic computations on parse trees (such as type checks).
Students should compile to executable code, either Java bytecode or machine code for some computer architecture. For highest grade, some basic optimisations are required.
Examination and grading
Examination has two parts: a programming project (PRO1) and an exam (TEN1). Grading is based on the level of the project and the result on the exam. Please see the current course for grading policy.