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