I will strive to get slides uploaded before lecture
Unless explicitly mentioned, Readings will refer to Engineering a Compiler (EAC), see the references page
Module 1: Lexing
Date |
Topic |
Slides |
Readings |
Mon, March 28 |
Welcome! |
slides |
Overview page |
Wed, March 30 |
Introduction to Compilers |
slides pdf pptx |
EAC Chapter 1 |
Fri, April 1 |
Introduction to Lexical Analysis |
slides pdf pptx |
|
Mon, April 4 |
Regular Expressions |
slides pdf pptx |
|
Wed, April 6 |
Implementing Scanners with REs |
slides pdf pptx |
|
Fri, April 8 |
Token Actions and PLY |
slides pdf pptx |
|
Module 2: Parsing
Date |
Topic |
Slides |
Readings |
Mon, April 11 |
CFGS and Derivations |
slides pdf pptx |
EAC Chapter 3.2 |
Wed, April 13 |
Parse Trees and ambiguous grammars |
slides pdf pptx |
EAC Chapter 3.2 |
Fri, April 15 |
Associativity and top-down parsing |
slides pdf pptx |
EAC Chapter 3.3 (first half) |
Mon, April 18 |
Left recursion and lookahead in parsing |
slides pdf pptx |
EAC Chapter 3.3 (first half) |
Wed, April 20 |
Recursive descent parsers and symbol tables |
slides pdf pptx |
EAC Chapter 3.3 (second half) |
Fri, April 22 |
Symbol Tables and parser generators |
slides pdf pptx |
ply documentation |
Date |
Topic |
Slides |
Readings |
Mon, April 25 |
CLASS CANCELED |
|
|
Wed, April 27 |
Intro to IRs and ASTs |
slides pdf pptx |
EAC Chapter 5.1 |
Fri, April 29 |
ASTs and type checking |
slides pdf pptx |
EAC Chapter 4.2 |
Mon, May 2 |
ASTs and type checking 2 |
slides pdf pptx |
EAC Chapter 4.2 |
Wed, May 4 |
ASTs and type checking 3 |
slides pdf pptx |
EAC Chapter 5.3 |
Fri, May 6 |
Converting ASTs into 3 address code |
slides pdf pptx |
EAC Chapter 5.3 |
Mon, May 9 |
Converting statements into 3 address code |
slides pdf pptx |
EAC Chapter 5.3 |
Module 4: Optimizations
Date |
Topic |
Slides |
Readings |
Wed, May 11 |
HW 3 overview and intro to optimizations |
slides pdf pptx |
EAC Chapter 8.1 |
Fri, May 13 |
Optimization overview |
slides pdf pptx |
EAC Chapter 8.1 |
Mon, May 16 |
Basic blocks and local value numbering |
slides pdf pptx |
EAC Chapter 8 (up to 8.5) |
Wed, May 18 |
Local value numbering 2 |
slides pdf pptx |
EAC Chapter 8 (up to 8.6) |
Fri, May 20 |
CLASS CANCELED |
|
|
Mon, May 23 |
Loop transforms |
slides pdf pptx |
EAC Chapter 7.8 |
Wed, May 25 |
Loop transforms 2 |
slides pdf pptx |
EAC Chapter 7.8 |
Fri, May 27 |
Loop transforms 3 |
slides pdf pptx |
|
Wed, June 1 |
Control Flow Graphs |
slides pdf pptx |
EAC Chapter 8.6.1 |
Fri, June 3 |
Live variable Analysis |
slides pdf pptx |
EAC Chapter 8.6.1 |
Final
Our final is scheduled for Tuesday, June 7. If you would like to block off specific hours, our scheduled time is 7:30 PM to 10:30 PM