| Date |
Lecture |
Reading and Homework |
| Wed. Sep 4 |
Intro, compiler phases, T diagrams |
ASU Chapter 1, (parts of 11,12). |
| Fri. Sep 6 |
Example compiler |
ASU Chapter 2. |
| Wed. Sep 11 |
Lexical analysis |
ASU Chapter 3. |
| Fri. Sep 13 |
Lexical Analysis, flex |
| Homework: Regular languages. |
| Project: Lexer for Minijava. |
|
| Wed. Sep 18 |
LL parsing |
ASU Chapter 4 - 4.5. |
| Fri. Sep 20 |
LR parsing |
ASU Chapter rest of Chapter 4. |
| Wed. Sep 25 |
LR parsing, bison |
| Homework: Context Free languages & parsing. |
| Project: modify Minijava Parser. |
|
| Fri. Sep 27 |
Attribute grammars |
ASU Chapter 5 (except 5.10?) |
| Wed. Oct 2 |
Symbol tables |
ASU 7.6, handout |
| Fri. Oct 4 |
Type checking |
| Homework: Symbol tables & type checking. |
| Project: complete Minijava Type Checker. |
|
| Wed. Oct 9 |
Intermediate code generation |
ASU Chapter 8, Example 5.27 pp326 - 327. |
| Fri. Oct 11 |
Intermediate code generation |
Project: complete Translation of Minjava to Piglet. |
| Wed. Oct 16 |
| Officially on Monday schedule: |
| no class. |
|
|
| Fri. Oct 18 |
Midterm quiz. |
|
| Wed. Oct 23 |
| Intermediate code generation: |
| basic blocks & traces. |
|
| ASU 9.3-4 |
| Project: Translation of Piglet to SPiglet. |
|
| Fri. Oct 25 |
Stack layout & procedure linkage |
ASU Chapter 7. |
| Wed. Oct 30 |
Stack layout & procedure linkage |
|
| Fri. Nov 1 |
Data-flow analysis |
ASU 10.5, 10.6, 10.9-11. |
| Wed. Nov 6 |
Data-flow analysis |
| Homework: Data-flow analysis finger exercises. |
| Project: Liveness analysis. |
|
| Fri. Nov 8 |
Register allocation |
ASU 9.5-7, Handouts. |
| Wed. Nov 13 |
Register allocation |
| Handouts. |
| Homework: Register allocation |
| Project: Register allocation, translation of SPiglet to Kanga. |
|
| Fri. Nov 15 |
Instruction selection |
ASU 9.9-9.12, Handouts. |
| Wed. Nov 20 |
SPIM & MIPS |
Project: Translate Kanga to MIPS. |
| Fri. Nov 22 |
| We will probably be running |
| behind by now... |
|
|
| Wed. Nov 27 |
Instruction scheduling |
| Handouts. |
| Homework: Finger exercises in scheduling. |
|
| Fri. Nov 29 |
No Class |
|
| Wed. Dec 4 |
Optimization 1 |
ASU 9.8-9, rest of Chapter 10. |
| Fri. Dec 6 |
Optimization 2 |
Homework: Finger exercises in optimization. |
| Wed. Dec 11 |
OO-specific optimization |
Handouts. |
| Fri. Dec 13 |
Wrap-up. |
|