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