CMP 407, Compiler Construction

CMP 770, Compiler Construction


Bowen Alpern
office hours: Tuesdays and Thursdays, 4 to 5 pm and by appointment (or happenstance), 137-I Gillet Hall.

Final Exam

Due: high noon, Friday, 12/21/12.

Augment the Lehman programming language to handle (homogeneous) Sets of values, see

You may begin by trying to get this program to compile on lehman3.jar, but I will distribute a revised project for you to work from (and possibly another test program) a week before the final is due.

Course Objective

To build a compiler.


The Definitive ANTLR Reference , Terence Parr, The Pragmatic Bookshelf, ISBN: 978-0-9787392-5-6 <\br> (quicktour.jar).

Engineering A Compiler, 2nd Edition. , Cooper & Torczon, Morgan Kaufmann, ISBN: 978-0-12-088478-0.


Here is the program, prime.lc0, we will be using to drive compiler construction in the first part of the course.

Here are the current states of the compiler projects:

  1. lehman0.jar as of 11/21/12.
  2. lehman1.jar as of 11/26/12.
  3. lehman2.jar as of 12/5/12.
  4. lehman3.jar as of 12/8/12.
  5. lehman4.jar as of 12/11/12.
  6. lehman5.jar as of 1/7/13.
  7. lehman6.jar as of 1/16/13.

Course hours: 7:50 - 9:30 pm, Tuesdays and Thursdays

Sandy replacement hours: 4:00 - 5:40 pm, Wednesdays 11/28/12 and 12/5/12

This is a four credit course. You should expect to spend at least eight hours per week outside of class on this course.

Tardiness policy

I expect students to be on time for class.

Grading policy