About Course
The course consists of a single project: constructing a compiler for a small Java-like programming language in groups of one to two students. Groups of two are recommended.
To pass this course, students must pass three assignments in the Fire system, and a short oral exam during exam week.
The assignments test your ability to produce a working compiler, and determine your grade for this course. Make sure that your compiler passes the test suite before submitting. Deadlines are strict; extensions will only be granted under exceptional circumstances, and even then only if requested before the deadline in question has passed.
The individual oral exam tests that all group members have been actively involved in the project and share a full understanding of the compiler. You will be asked to present your compiler to the examiner, who will then ask you some questions about it. Someone else did X, I worked on Y instead is not considered a valid answer.
You must hand in your final assignment before being allowed to take the oral exam. No exceptions to this rule will be considered.
Course Content
Module 1
-
Introduction to compilers
-
Lexical analysis and scanners