Course literature and other resources

The links to the resources on this page were verified on March 13, 2010. Let me know if you find any of them broken!

Text book

The text book for the course is
Aho, Lam, Sethi and Ullman: Compilers: Principles, Techniques, and Tools, 2nd. ed (Pearson International Edition 2007).
Available at Cremona and several web stores.

Additional useful texts

An excellent text book on modern compiling techniques is
Cooper and Torczon: Engineering a Compiler.
Focuses on backend issues; careful choice of material and very well written.

A somewhat dated but nice book on implementing lazy functional languages is
Peyton-Jones and Lester: Implementing functional languages (free download as PDF file).

Software tools

Many software tools are available, in particular for front ends. We give just a few links.

Flex/Bison and Alex/Happy are installed on the Linux computers in lab rooms. If you prefer to work in Java, download JLex/CUP.

Documentation for project languages

Test program

You can download a collection of Javalette test programs and a driver program that runs your compiler on these test programs.

Unpack the tar archive in some suitable directory and follow instructions in the README.txt file (or see Appendix B in the project description).