MC97: Compiler Design (Spring 1999)
Syllabus
Labs
Lab 1: Warm-up interpreter
Lab 2: Lexical analysis
Lab 3: Parsing and AST generation
Lab 4: Semantic analysis
Lab 5: Escape analysis
Lab 6: Redo worst of labs 1-4
Lab 7: Liveness analysis or register allocation
Homeworks
Homework 1: Parsing
Homework 2: Activation records
Homework 3: Register allocation
Homework 4: Sethi-Ullman and reaching definitions
Tests
Midterm
Final
Examples
Using the Visitor pattern to find the length of an ExpList
ExpList and related classes
Length
Static links expressed in Java (based on Program 6.3)
, and
a more explicit version
added later
Other handouts
Replacement for Algorithm 11.11 (SethiUllman),
in PostScript
Other links
Textbook web site
JLex User's Manual
CUP User's Manual
JDK 1.1 documentation
Unix Programming Tools document from Stanford
Feedback is appreciated; you can send me
anonymous email
if you prefer
Instructor:
Max Hailperin