Readings

There were no required readings for the course; however, optional readings were provided for students who wished to learn more about designing and implementing a compiler.

Optional Textbooks

Appel, Andrew W. Modern Compiler Implementation in Java®. Cambridge, UK: Cambridge University Press, 1997. ISBN: 0521583888.
A textbook tutorial on compiler implementation, including techniques for many language features. (Tiger book)

Aho, Alfred V., Ravi Sethi, and Jeffrey Ullman. Compilers: Principles, Techniques and Tools. Reading, MA: Addison-Wesley, 1986. ISBN: 0201100886.
The classic compilers textbook, although its front-end emphasis reflects its age. (Dragon book)

Muchnick, Steven. Advanced Compiler Design and Implementation. 1st ed. San Mateo, CA: Morgan Kaufman, 1997. ISBN: 1558603204.
Essentially a recipe book of optimizations; very complete and suited for industrial practitioners and researchers. (Whale book)

Cooper, Keith, and Linda Torczon. Engineering a Compiler. San Mateo, CA: Morgan Kaufman, 2003. ISBN: 155860698X.
A modern classroom textbook, with increased emphasis on the back-end and implementation techniques. (Ark book)

Paper Readings

Backus, J. W., R. J. Beeber, S. Best, and R. Goldberg, et al. "The FORTRAN Automatic Coding System." In Proceedings of the Western Joint Computer Conference, Los Angeles, California (February 1957).

Smith, Randall B., and David Ungar. "Programming as an Experience: The Inspiration for Self." Proceedings of ECOOP'95, LNCS 952, Springer Verlag (1995).