|  |  |  | Avail | Due | 
| 1 | Jan 21 | Course Overview | ||
| 2 | 23 | Lexical analysis: Regular Expressions | ||
| 3 | 25 | Lexical analysis: Finite Automata | HW1 | |
| 4 | 28 | Lexical analysis: Lexical Analyzers | PA1 | |
| 5 | 30 | Syntax analysis: Context-Free Grammars | ||
| 6 | Feb 1 | Syntax analysis: Top-Down Parsing | HW1 | |
| 7 | 4 | Syntax analysis: AST Construction | ||
| 8 | 6 | Syntax analysis: Bottom-Up Parsing | HW2 | PA1 | 
| 9 | 8 | Syntax analysis: LR(1) Parsing | ||
| 10 | 11 | Syntax analysis: LR(1) Parsing | PA2 | |
| 11 | 13 | Semantic analysis: Syntax-Directed Definitions | ||
| 12 | 15 | Semantic analysis: Symbol Tables | ||
| 13 | 18 | Semantic analysis: Static Semantics | HW2 | |
| 14 | 20 | Semantic analysis: Attribute Grammars | HW3 | |
| 15 | 22 | Semantic analysis: Partitioned Attribute Grammars | ||
| 16 | 25 | Attribute Grammars and Natural Semantics | ||
| 17 | 27 | Types and Type-Checking | PA2 | |
| 18 | 29 | Intermediate Code | ||
| Mar 3 | Prelim 1 review | |||
| 4 | Prelim 1. Philips 213, 7:30pm. Lectures 1-17, closed book. | |||
| 19 | 5 | Efficient IL Lowering | PA3 | HW3 | 
| 20 | 7 | Simple code generation: Stack Frames | ||
| 21 | 10 | Simple code generation: Generating Pentium Codes | ||
| 22 | 12 | Analysis, optimizations: Implementing Objects | ||
| 23 | 14 | Analysis, optimizations: Introduction to Optimizations | ||
| Spring Break | ||||
| 24 | 24 | Analysis, optimizations: Control Flow Graphs | ||
| 25 | 26 | Analysis, optimizations: Liveness and Copy Propagation | ||
| 26 | 28 | Analysis, optimizations: Dataflow Analysis Frameworks | ||
| 27 | 31 | Analysis, optimizations: More Dataflow Analysis | PA3 | |
| 28 | Apr 2 | Analysis, optimizations: Dataflow Analysis Instances | ||
| 29 | 4 | Code generation: Control Flow Analysis | ||
| 30 | 7 | Code generation: Loop Optimizations and Pointer Analysis | ||
| 31 | 9 | Code generation: Instruction Selection | ||
| 32 | 11 | Code generation: More Instruction Selection | HW4,PA4 | |
| 33 | 14 | Advanced topics: Register Allocation | ||
| 34 | 16 | Advanced topics: Memory Management | ||
| 35 | 18 | Advanced topics: Partial Evaluation | HW4 | |
| 21 | Prelim 2 review | |||
| 22 | Prelim 2. Phillips 213, 7:30pm. Comprehensive, closed book. | |||
| 36 | 23 | TBD | ||
| 37 | 25 | TBD | ||
| 38 | 28 | TBD | ||
| 39 | 30 | TBD | ||
| 40 | May 2 | TBD | ||
| 30 | Programming Assignment 4 Due | PA4 | ||
|  | ||||