CSCI 435 Compiler Design

An introduction to the theory and practice of programming language translation.  Topics include lexical analysis, parsing, symbol tables, type checking, code generation, and an introduction to optimization.  A variety of programming languages will be used.

Prerequisites: CSCI 200 and 205 or the approval of the instructor.

Text: The Definitive ANTLR Reference Building Domain-Specific Languages by Terence Parr, Pragmatic Bookshelf 2007 ISBN-10:0-9787392-5-6 ANTLR Text
Reference (Optional)

Text:
Compiler Construction -- Principles and Practice by Kenneth C Louden, PWS Publishing Company 1997, ISBN-0-534-93972-4

Schedule

Objectives:

A student taking the compiler design course will achieve mastery of skills fundamental to computer science by putting together a wide variety of knowledge in the context of studying compilers.  The student will achieve mastery at the undergraduate level in:

The student completing the course will have achieved mastery at the undergraduate level of these many elements of complex computer program design.  Compiler design itself will serve to act as a model for other applications of similar complexity and challenge so that satisfactory completion of the course will give the student the confidence necessary to undertake other project of similar complexity in real world settings.