Schedule

This page lists topics, readings, and has links to lecture slides. It also lists assignment due dates and exam dates. Dates in gray italic are tentative.

The links to slides are provided for reference. In general, there is no guarantee that they will be posted before class, or that their content will not change.

Note: The schedule will become more concrete as the semester progresses. Tentative topics, readings, assignments, etc. are marked in a lighter italic font: expect that these could change.

Readings:

Date      Topic/Slides Reading Assignment
Aug 31 Course intro, lexical analysis    
Sep 2 27 Context-free grammars, parse trees, ambiguity, recursive descent parsing EaC 3.1–3.2  
Sep 7 Labor day, no classes    
Sep 9 Limitations of recursive descent, precedence climbing EaC 3.3  
Sep 14 ASTs, interpreters    
Sep 16 Interpreter runtime structures   A1 due
Fri 9/18
Sep 21 Interpreter runtime structures 2 Gosling, Java Intermediate Bytecodes  
Sep 23 Lexical analyzer generators, lex/flex EaC 2.1–2.5, F&B Chapters 1–2  
Sep 28 LL(1) parsing EaC 3.3 A2 MS1 due
Sep 30 Parser generators, yacc/bison, calc.zip (example code) F&B Chapter 3  
Oct 5 Bottom-up parsing, Exam 1 review EaC 3.4  
Oct 7 Exam 1   A2 MS2 due
Fri 10/9
Oct 12 C syntax and semantics    
Oct 14 AST visitors, ad-hoc semantic analysis    
Oct 19 Intermediate representations EaC 5.1–5.5  
Oct 21 Code generation for expressions EaC 7.1–7.4  
Oct 22–23 WSE Fall break (no classes)    
Oct 26 x86-64 assembly language, low-level codegen    
Oct 28 Conditions, decisions, and loops EaC 7.8 A3 due
Nov 2 Pointers, arrays, structs, function calls EaC 7.5–7.7, 7.9  
Nov 4 Exam 2 review, codegen work day   A4 MS1 due
Fri 11/6
Nov 9 Exam 2    
Nov 11 Intro to code optimization, local value numbering, copy propagation EaC 8.1–8.5  
Nov 16 Global optimization/liveness analysis EaC 8.6  
Nov 18 Local register allocation EaC 13.1–13.3 A4 MS2 due
Fri 11/20
Nov 23–27 Fall recess (no classes)    
Nov 30 Peephole optimization EaC 11.5  
Dec 2 Dataflow analysis EaC 9.1–9.2, Kildall-POPL73  
Dec 7 Static single assignment (SSA) form: slides, CMU SSA slides, PDX global reg alloc slides    
Dec 9 Exam 3 review, work day   A5 due
Fri 12/11
Dec 21 Exam 3, 6pm, Location TBD