|
Jan 22 1. Introduction Course overview |
Jan 24 2. Overview (continued) |
α language specification |
Jan 27 3. Lexical analysis 1 Languages and Grammars |
Jan 29 4. Lexical analysis 2 RegEx to NFA |
Jan 31 5. NFA to Min DFA Syntactic analysis 1 Overview
| Sprint1 |
Feb 03 6. Syntactic analysis 2 Derivations, trees, ambiguity |
Feb 05 7. Syntactic analysis 3 Top-down/predictive parsing |
Feb 07 8. Syntactic analysis 4 Building parser control table
|
Feb 10 9. Syntactic analysis 5 Using parser control table Error recovery |
Feb 12 10. Syntactic analysis 6 Bottom-up: intro |
Feb 14 11. Syntactic analysis 7 LR(0) automaton construction
|
Feb 17 12. Syntactic analysis 8 Bottom-up: SLR parsing table |
Feb 19 13. Sprint 2 hints and advice |
Feb 21 14. Semantics 1 Overview
| Sprint2 |
Feb 24 15. PR02 discussion Syntax Directed Translation 1 |
Feb 26 16. Semantics 3 Syntax Directed Translation 2 |
Feb 28 17. Semantics 4 Syntax Directed Translation 3
|
Mar 03 18. Intermediate Representation 1 Overview |
Mar 05 19. Workshop day (no slides, no recording) |
Mar 07 20. Intermediate Representation 2 Options
|
Mar 10 21. IR Generation 1 Boolean expressions & control flow backpatching introduction |
Mar 12 22. IR Generation 2 if, while |
Mar 14 23. Workshop day (no slides, no recording)
| Sprint3 |
SPRING BREAK |
Mar 24 24. IR Generation 3 for, switch |
Mar 26 25. IR Generation 4 function calls Memory layout |
Mar 28 26. Workshop day (no slides, no recording)
|
Mar 31 27. IR Generation 5 Memory layout Calling Sequence |
Apr 02 28. Code Generation 1 Flow graph and basic blocks |
Apr 04 29. Workshop day (no slides, no recording) |
Apr 07 30. NO CLASS Eclipse day! |
Apr 09 31. Code Generation 2 Liveness, Next use, Register allocation and assignment |
Apr 11 32. Code Generation 3 Register allocation and assignment |
Sprint4 |
Apr 14 33. gcc assembly output, x86-64 assembly, as, ld x86-64 project guide (no slides)
as
x86-64
ASCII
Matt Godbolt's compiler explorer
x86-64 project guide
|
Apr 16 34. Optimization 1 |
Apr 18 35. Workshop day (no slides, no recording) |
Apr 21 36. Optimization 2 Simple Optimizations |
Apr 23 37. Optimization 3 Supporting Analysis |
Apr 25 38. Workshop day (no slides, no recording) |
Apr 28 39. In-class team presentations/demos
Team 1 Team 2
|
Arl 30 39. In-class team presentations/demos
Team 3 Team 4
|
May 02 39. In-class team presentations/demos
Team 5 Team 6
|
Presentations |
May 05 42. Review for final exam |
|
|
|