CS 451/651 Syllabus

Fall Semester, 2009
University of Massachusetts at Boston
David Levine


From the catalog:

Introduction to compiler organization and implementation, including formal specifications and algorithms for lexical and syntactic analysis, internal representation of the source program, semantic analysis, run-time environment issues and code generation. Students will write a compiler for a reasonably large subset of a contemporary language, targeted to a virtual machine.

Expected Background/Preparation:


Syllabus:

Project:

Students will develop a complete compiler for a small algebraic language (a subset of Java).  They will be able to compile and execute programs.

This project will be done in Java, using some libraries supplied by the instructor.  It will be created incrementally, with new capabilities added each week.  Students should plan on a weekly programming assignment:  the size and complexity of the weekly assignment will not be a problem if done on time each week.


Text: 

   Engineering a Compiler, by Keith D. Cooper and Linda Torczon.  Morgan Kaufman, 2003.