| Topic | (D = Dragon, A = Appel, TC=Cooper/Torczon) |
||||
| Out | Due | ||||
| 1 | Jan 23 | Course Overview | |||
| 2 | 25 | Regular Expressions | D 3.3, A 2.1-2 | hw1 | |
| 3 | 27 | Finite Automata | D 3.6-7, A 2.3-4 | ||
| 4 | 30 | Lexical Analyzers | D3.8 | pa1 | |
| 5 | Feb 1 | Grammars | D4.2, A3.1 | ||
| 6 | 3 | Top-Down Parsing | D4.3-4, A3.2 | hw1 | |
| 7 | 6 | D4.3-4, A3.2 | hw2 | ||
| 8 | 8 | Bottom-Up Parsing | D4.5-7, A3.3 | pa2 | pa1 |
| 9 | 10 | LR, SLR, and LALR | D4.7, A3.3 | ||
| 10 | 13 | AST Construction | D4.8-9, A3.4, A4 | ||
| 11 | 15 | Symbol Tables | D7.6, A5.1 | ||
| 12 | 17 | Types | D6.1-2, A5.2 | ||
| 13 | 20 | Visitors, Typing Rules | D6.1-2, A4.3,5.2 | hw2 | |
| 14 | 22 | Objects | A14 | hw3 | |
| 15 | 24 | Subtyping | |||
| 16 | 27 | Intermediate Representation | D8.1 | ||
| 17 | Mar 1 | IR Lowering | D8.4-6 | pa2 | |
| 18 | 3 | Activation Records | D7.2-4, A6 | pa3 | |
| 19 | 6 | X86 Code Generation | |||
| 8 | Prelim 1 review | ||||
| 9 | Prelim 1. HO 110, 7:30-9:30 pm, closed book. | ||||
| 20 | 13 | Implementing Objects | hw3 | ||
| 21 | 15 | Introduction to Optimizations | D10.2 | ||
| 22 | 17 | Control-Flow Graphs | |||
|
Spring Break |
|||||
| 23 | 27 | Live Variable Analysis | D10.6, A10 | ||
| 24 | 29 | Dataflow Analysis Frameworks | D10.11 | ||
| 25 | 31 | More Dataflow Frameworks | D10.11 | hw4 | pa3 |
| 26 | Apr 3 | Standard Compiler Analyses | D10.5-6, A17.2-3 | pa4 | |
| 27 | 5 | Control Flow Analysis | D10.4, A18.1 | ||
| 28 | 7 | Loop Optimizations | D10.7, A18.2-3 | ||
| 29 | 10 | Partial Redundancy Elimination | TC10.3.2 | ||
| 30 | 12 | Static Single Assignment Form | A19 | ||
| 31 | 14 | SSA, Instruction Selection | D9.10, A19.3,A9 | ||
| 32 | 17 | Tiling Algorithms | D9.11, A9.1 | hw4 | |
| 33 | 19 | Register Allocation | TC13.3, D9.5-6 | pa5 | pa4 |
| 34 | 21 | Graph Coloring RA | A11, TC13.5 | ||
| 35 | 24 | Garbage Collection | |||
| 26 | Prelim 2 review | ||||
| 27 | Prelim 2. HO 110, 7:30-9:30 pm, closed book. | ||||
| 36 | May 1 | Linking and loading | |||
| 37 | 3 | Memory management | |||
| 38 | 5 | Shape Analysis | pa5 | ||
|
|
|||||