| Date |
Lecture Topic |
Slides |
Textbook |
| 1/30 |
Introduction & Overview |
PS, PDF |
1.1-1.3 |
| 2/1, 2/6 |
Scanner Construction |
PS, PDF |
2.1-2.5 |
| 2/8, 2/13 |
Parsing Overview |
PS, PDF |
3.1 |
| 2/13, 2/15 |
Top-down Parsers |
PS, PDF |
3.2 |
| 2/20 |
Bottom-up Parsers |
PS, PDF |
3.3,3.5 |
| 2/22,2/27 |
LR Parsers |
PS, PDF |
3.3 |
| 3/1 |
Context Sensitive Analysis |
PS, PDF |
4.1-4.2, 5.1-5.4 |
| 3/6,3/8 |
Run-time Environments |
PS, PDF |
6.1-6.2,13.1-13.4 |
| 3/12 |
Midterm Review |
|
1-6 |
| 3/13 |
Midterm |
|
1-6 |
| 3/15 |
Intermediate Representations |
PS, PDF |
7.1-7.3 |
| 3/27 |
Code Generation (basic exprs, control flow) |
PS, PDF |
8.1-8.2, 9.1-9.2 |
| 3/29 |
Midterm Discussion |
|
1-6 |
| 4/3 |
Code Generation (bytecodes, complex exprs) |
PS, PDF |
8.1-8.2 |
| 4/5 |
Code Generation (expression trees) |
PS, PDF |
11.5 |
| 4/10 |
Code Generation (high-level langs, codegen gen) |
PS, PDF |
14.1-14.6, 15.1-15.7 |
| 4/12 |
Optimization Overview |
PS, PDF |
|
| 4/17 |
Local Optimizations |
PS, PDF |
|
| 4/19,4/24 |
Data-flow Analysis |
PS, PDF |
10.1-10.2, 17.1-17.4 |
|
| 4/26,5/1 |
Instruction Scheduling |
PS, PDF |
20.1-20.3 |
| 5/3 |
Register Allocation |
PS, PDF |
11.1-11.4 |
| 5/8 |
Locality |
PS, PDF |
21.1-21.5 |
| 5/10 |
Parallelism |
PS, PDF |
|
| 5/15 |
Final Review |
|
7-21 |
| 5/18 |
Final (10:30am-12:30pm) |
|
7-21 |