Instructor: Doug Lea
Class: T-Th: 8am5
Office/Lab hours: Almost anytime.
Prereqs: CSC344 (365 and 322 strongly encouraged)
Course home page:


The design and implementation of programming language compilers performing parsing, analysis of program representations, code generation, optimization, and language run-time support; with applications to related tools including intepretors, static analyzers, development environments, and virtual machines.



Upon completion of this course, students will demonstrate ability to:


Compilers: Principles, Techniques, and Tools, by Aho, Lam, Sethi, and Ullman. Addison-Wesley, 2007, ISBN-10: 0321486811

This is the reference-quality "Dragon book" providing definitive treatments of most topics in compilation.

Links to online readings and materials


Subject to minor change:
Two exams (one during final exam week) (25%)
Exam questions mainly cover the theory of operation of parsing, analysis, code generation, optimization, and run-time support.
Exercises (10%)
two to three short assigments
Project (65%)
A compiler for a small language, submitted in approximately 4 parts

Useful links

Campus references

See the CS and College course policies and resources.

If you have a disabling condition, which may interfere with your ability to successfully complete this course, please contact the Office of Disability Services.

SUNY Oswego is committed to Intellectual Integrity. Any form of intellectual dishonesty is a serious concern and therefore prohibited. The full policy can be found at

Doug Lea