| Week/Date
|
Topic
|
Note
|
| wk1: Feb 25 |
Overview |
Lab: Linux Basics |
| wk2: Mar 2 |
Lexical Analysis: Intro, RegEx |
|
| wk2: Mar 4 |
Lexical Analysis: NFA, DFA (1) |
Lab: Lex Tool |
| wk3: Mar 9 |
Lexical Analysis: NFA, DFA (2) |
HW1 [sol]
Proj1: Lexical Analyzer
|
| wk3: Mar 11 |
Syntax Analysis: Intro, CFG |
Lab: proj1 |
| wk4: Mar 16 |
Syntax Analysis: CFG, Top-down (1) |
HW1 due |
| wk4: Mar 18 |
Syntax Analysis: Top-down (2) |
Lab: proj1 Q&A |
| wk5: Mar 23 |
Syntax Analysis: Bottom-up |
|
| wk5: Mar 25 |
Syntax Analysis: LR(0) |
Lab: YACC Tool (Proj1 due)
|
| wk6: Mar 30 |
Syntax Analysis: LR(0), SLR |
Proj2: Parser |
| wk6: Apr 1 |
Syntax Analysis: SLR, LALR |
Lab: proj2 |
| wk7: Apr 6 |
Syntax: LALR, Semantic Analysis: Intro |
HW2[sol]
|
| wk7: Apr 8 |
Semantic Analysis: Syntax Directed Trans. (1) |
Lab: proj2 Q&A |
| wk8: Apr 13 |
Semantic Analysis: Syntax Directed Trans. (2) |
|
| wk8: Apr 15 |
Semantic Analysis: SDT (3), Symbol Table |
Lab (Proj2 due) |
| wk9: Apr 20 |
Semantic Analysis: Symbol Table, Type Checking |
Proj3: Semantic |
| wk9: Apr 22 |
Seminar: GCC, LLVM and more ... ( talk1, talk2 ) |
Lab: proj3
(Proj2 due) |
| wk10: Apr 27/29 |
NO CLASS |
Midterm Exercises [sol]
|
| wk11: May 6 |
Intermediate Code: IR |
Lab |
| wk12: May 13 |
Intermediate Code: Generation |
Lab |
| wk13: May 20 |
IR Gen, Runtime Management |
Lab
Proj4: Code Generation[rev-0603]
|
| wk14: May 27 |
Runtime, Target Code  |
Lab: proj4 - MIPS Arch
(Proj3 due) |
| wk15: Jun 3 |
Target Code Generation |
Lab: proj 4 - MIPS Code |
| wk16: Jun 10 |
Code Optimization (1)  |
Lab: proj4 Q&A |
| wk17: Jun 17 |
Code Optimization (2) |
Lab |
| wk18: Jun 24 |
Seminar: Advanced Compiling Topics ( Golden Age, Smart Contract ) |
Lab (Proj4 due) |
| wk19: Jul 1 |
Review for Final |
Lab (Proj4 due) |
| wk20: Jul 8 |
NO CLASS |
FINAL EXAM (14:30 - 16:30, A105) |