CSE 5317
Compilers

Tuesday, Thursday 2-3:20, NH 110

Administrivia

News

Schedule

Note: this schedule is subject to change.

Lecture Date Topic Due Assignments & Reading
1 19 Jan Course introduction, compiler architecture   Appel 1
2 21 Jan Regular expressions, scanning   Appel 2
3 26 Jan Context-free grammars, top-down parsing (LL)   Appel 3.1–3.2
4 28 Jan ASTs, Visitors, JavaCC, and JTB   Appel 4
5 2 Feb Bottom-up parsing (LR, GLR)   HW 1; Appel 3.3, notes
  3 Feb Census date
6 4 Feb Symbol tables, type checking   Appel 5.1–5.4
7 9 Feb Objects   PA 1; Appel 5.3–5.4, 14
8 11 Feb Runtime organization, implementing objects HW 1 Appel 14
9 16 Feb Garbage collection   Appel 13
10 18 Feb Modules, linking, separate compilation    
11 23 Feb IR   Appel 7
12 25 Feb IR   PA 1
13 2 Mar Review    
  4 Mar Midterm exam
14 9 Mar   PA 2; Appel 8–9  
15 11 Mar Instruction selection, register allocation    
  15–19 Mar Spring break
16 23 Mar Register allocation   Appel 10–11, Linear scan
17 25 Mar Dataflow [1], [2], [3] PA 2  
18 30 Mar More Dataflow   PA 3; Appel 10.1, 17
19 1 Apr Optimization    
  2 Apr Last day to drop classes
20 6 Apr More optimization    
21 8 Apr Loop/memory hierarchy optimization PA 3 Appel 18, 21
22 13 Apr Interprocedural optimization    
23 15 Apr Run-time compilation, optimization   Complete slides
24 20 Apr MIPS   PA 5
25 22 Apr Instruction scheduling    
26 27 Apr Concurrency    
27 29 Apr Scripting languages PA 5  
28 4 May Review    
29 6 May Review    
  11 May Final exam