Instructor: Doug Lea
Class: T-Th: 8am5
Office/Lab hours: Almost anytime.
Course home page:
Compilers: Principles, Techniques, and Tools, by Aho, Lam, Sethi,
and Ullman. Addison-Wesley, 2007, ISBN-10: 0321486811 This is
the reference-quality `Dragon book' providing definitive treatments of
most topics in compilation.
- Lexical Analysis
- Semantic Representation and Analysis
- Run-Time Environments
- Code Generation
Subject to minor adjustment:
- Project 70% (submitted in approximately 4 parts)
- Exams 20% (two @ 10%)
- Exercises 10% (two to four short assignments)
Project due dates will be spread as evenly as possible throughout the
- Phase 1: Use a parser tool to generate a parser for a
version of mini-java with any
approved syntax addition. Demonstrate successful parses of sample
programs, along with recovery upon syntax errors.
- Phase 2: Implement type checks. Demonstrate successful checks of sample
programs, along with error messages for type errors.
- Phase 3: Generate executable code. Demonstrate successful
execution of sample programs, plus those with your extensions.
- Phase 4 (Optional): Implement at least one new optimization
using Soot or another optimization framework.