Syllabus

Key: PA = Programming Assignment, WA = Written Assignment

Lecture Topic Assignments
1 Introduction
2 The Cool Programming LanguagePA1
3 Lexical Analysis PA2
4 Finite Automata
5 Parsing
6 Top-Down ParsingPA3
7 Bottom-Up Parsing I
8 Bottom-Up Parsing II
9 Semantic Analysis and Type Checking PA4
10 Cool Type Checking
11 Runtime Organization
12 Code Generation
13 Operational Semantics PA5, Optimizer (optional)
14 Local Optimization
15 Global Optimization
16 Register Allocation
17 Garbage Collection
18 Java