Compiler Construction
Instructor: Daniel Bidwell
Spring 2007

Course Content and Objectives

A practical application of the theory of compiler writting, covering language grammers, semantic routines, optimization, and code generation. A compiler will be written utilizing YACC, a parser generator tool.


Compilers: Principles, Techniques, and Tools by Aho, Alfred, Lam, Monica, Ravi, Sethi, and Ullman, Jeffrey. Addison Wesley, 2006, ISBN 0321486811.

Class Requirements and Grading

     Final Grade Distribution
      100 - 93 A
       92 - 90 A-
       89 - 87 B+
       86 - 83 B
       82 - 80 B-
       79 - 75 C+
       74 - 70 C
       69 - 65 C-
       64 - 50 D

80% attendance is required to receive a successful audit

Final Grade Distribution

  1. Regular - Programming Projects 60%
  2. Regular - Class Participation 10%
  3. Exams - Final 30%

Class Work - Description

Regular Class Work

This consists of writing the various parts of a compiler; scanner, tree building and manipulation utilities, optimization routines, code generation routines, and semantic routines. All homework will be turned in electronically.


A final exam will be given. The final exam will be a programming exam worth 30% of your grade.

Course Topics

LL Parsing.

LR Parsing.


Tree Building.

Tree building and manipulation.


Code generation.

Course Level

This class is taught for the junior or senior Computer Science major, or graduate level student taking a Computer Science Masters degree.