CSE443

Compilers

Lectures and Recitations (subject to change)

Instruction Assessment
Mon Wed Fri HW Project
Jan 28
1. Course overview
Jan 30
2. SNOW DAY
Feb 01
2. Lexical analysis
   
Feb 04
3. RegEx to NFA to DFA
Feb 06
4. DFA to Min DFA
Feb 08
5. Syntactic analysis
Homework 1
Compiler phases
Project 1
Lexical analysis
Feb 11
6. RL vs CFL, top-down intro
Feb 13
7/8. Predictive parsing
Feb 15
8/9. Pred. parsing, error rec.
Feb 18
10. Bottom-up intro
Feb 20
11. LR(0) automaton construction
Feb 22
12. SLR parsing table
Homework 2
Parsing techniques
Project 2
Syntactic analysis
Feb 25
13. SLR parsing table
Feb 27
14. Semantics
Mar 01
15. Workshop day (no slides)
Mar 04
16. Workshop day (no slides)
Mar 06
17. Syntax Directed Translation
Mar 08
18. Syntax Directed Translation
Mar 11
19. Intermediate Representation I
Mar 13
20. Intermediate Representation II
Mar 15
21. Intermediate Representation III
Homework 3
Names in context
Project 3
Type Checking
Intermediate Code
SPRING BREAK
Mar 25
22. Project discussion
Mar 27
23. IR - array access, memory layout and offsets
Mar 29
24. IR - offsets and alignment
Apr 01
25. IR - control flow, backpatching
Apr 03
26. IR - backpatching: boolean, if, while
Apr 05
27. IR - backpatching: for
Apr 08
28. IR - switch
Apr 10
29. IR - Function calls
Apr 12
30. Memory layout, calling sequence
Apr 15
31. Calling sequence, code generation
Apr 17
32. Flow graph and basic blocks
Apr 19
33. Register allocation and assignment
Homework 4
Sorting program
Project 4
Code generation
Apr 22
34. Register allocation and assignment
Apr 24
35. Register allocation and assignment
Apr 26
36. Optimizations (Algebraic Identities, Peephole)
Apr 29
37. Optimizations and Data-flow analysis
May 01
38. Optimizations and Data-flow analysis
May 03
39. Optimizations and Data-flow analysis
Homework 5
Optimizations
May 06
40. Semester review
(see summary slides for lecture 42)
May 08
41. Semester review
(see summary slides for lecture 42)
May 10
42. Final review
Check HUB for final exam date/time/room