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