You will be redirected to the the current compiler course web page in about 10 seconds. You may also choose a year from the list above.

Course Description: CS441G

The techniques of processing, specifying, and translating high-level computer languages are studied. Topics include finite state machines and lexical analysis, context-free grammars for language specification, attributed translation grammars, language parsing, and automatic generation of compilers by SLR, LALR, and other methods for analyzing context-free grammars. Other topics may include code optimization, semantics of programming languages, and top-down parsing.

Prerequisites: CS-315 and engineering standing or an equivalent or the instructor's consent.

Course Description: CS541

Intermediate aspects of a compilation process for high-level languages. Theoretical and practical issues in developing a complete translator. Code generation for expressions, control statements, and procedures (including parameter passing). Symbol tables, runtime organization for simple and structured variables. Using compilers and translators for automation (filters, programs writing programs).

Prerequisites: CS-441G or an equivalent or the instructor's consent.

Requirements and Goals for Either Course

Students must be adept programmers in a modern computer language (e.g., C), have a good working knowledge of machine organization and architecture, and must be comfortable designing and manipulating very complex data structures. Students will learn how to write a compiler and receive an introduction into some of the theory behind compiler generators.

You must be able to stick to a schedule, work with others, and deliver the goods on time or you are in deep, deep, and much deeper trouble. This is no joke.