Course description

Compilers are often known as translators and for good reason: their job is to take programs written in one language and translate them to another language (usually assembly or machine language) that a computer can execute. It is perhaps the ideal meeting between the theoretical and practical sides of computer science. Modern compiler implementation offers a synthesis of the following:

During the semester, we will write a program implementing a nontrivial compiler. Conference work will allow students to pursue different aspects of compilers such as compilation of object-oriented languages, automatic garbage collection, compiler optimizations, and applications of compiler technology to natural-language translation.

Breaking news

(5/07) Three new programs have been assigned.