Compiler Design

Basic Information
Course Description

Introduction to compiler construction (emphasis on compiler front ends). Course contents include: Formal translation of programming languages, program syntax and semantics. Finite state recognizers and regular grammars. Context-free parsing techniques such as LL(k) and LR(k). Intermediate code generation.

Prerequisites

Algorithms, Programming Languages

Text Books

Compilers: Principles, Techniques, and Tools (required)
Aho, Sethi, and Ullman
Addison-Wesley 1986
ISBN 0-201-10194-7

Lex & Yacc, 2nd edition
Levine, Mason and Brown
O'Reilly 1995
ISBN 1-56592-000-7

The JavaTM Virtual Machine Specification, 2nd edition
Tim Lindholm and Frank Yellin
Addison-Wesley 1999
ISBN 0-201-43294-3

Grading

30% projects, 30% midterm, 40% final

Grading Policy

Projects must be submitted for grading by the time they are due. Late projects receive grades of zero.

Academic Integrity

All work that you submit in this course must be your own. Sharing of code on programming assignments is a form of academic dishonesty.

Lectures

Forum

Projects

Note: Please refer to the announcement posted at the forum page for project submission details.

Grades

Account Management