CS 412/413 Spring '00 Course Schedule

Lecture

Date

Topic

Slides

Due

Assignments & Reading

1

Jan 24

Course overview pdf   HW1: lexical analysis, Appel 1
2 26 Lexical analysis pdf   PA1: lexical analysis, Appel 2
3 28 Grammars and parsing pdf   Appel 3.1
4 31 Top-down parsing pdf HW1 HW2: parsing, Appel 3.2
5 Feb 2 Bottom-up parsing pdf   Appel 3.3
6 4 LR parser generators pdf PA1 PA2: parsing, Appel 3.4
7 7 Abstract syntax trees pdf   Appel 4
8 9 Semantic analysis pdf   Appel 5.1-2
9 11 Types pdf HW2  
10 14 Static semantics pdf   Appel 5.4, HW3: semantic analysis, Appel 5.3
11 16 Stack layout pdf   Appel 6
12 18 Intermediate code  pdf   Appel 7.1-2
13 21 Syntax-directed translation pdf PA2 PA3: IR generation,  Appel 7.3
14 23 Canonical IR pdf   Appel 8.1
15 25 Basic blocks, instruction selection pdf HW3 Appel 8.2
16

28

Code generation 1 pdf   Appel 9.1
28 Prelim 1 review, Upson 111, 7-9PM

Mar 1

Prelim 1 (in class): covers material in lectures 1-14. Open book.

17 3 Code generation 2 pdf   Appel 9.2-3
6

In-class recitation

18 8 Modules and abstract data types pdf PA3 PA4: code generation
19 10 First-class modules and objects pdf   Appel 14.1-2
20 13 Objects: subtyping pdf    
21 15 Objects: implementation pdf   Appel 14.3-5
22   Multiple inheritance pdf    

Spring Break

23 27 Introduction to optimization pdf   HW4: objects and optimization, Muchnick 11
24 29 Live variable analysis pdf   Appel 10
25 31 Register allocation pdf PA4 PA5: Iota+, Appel 11, 12 
26 Apr 3 Standard data-flow analyses pdf   Appel 17, Muchnick 8.1, Muchnick 12, 13
27 5 Dataflow analysis frameworks pdf   Muchnick 8.2-8.5
28 7 Control flow analysis pdf   Appel 18, Muchnick 7.1-4, 14.1
29 10 Loop optimizations pdf HW4 Muchnick 17.1
12

Prelim 2 review, in class

13

Prelim 2, 7:30-9:30PM, Phillips 219. Emphasizes material in lectures 15-29. Open book.

30 14 Instruction scheduling pdf   Muchnick 5.7
31 17 Garbage collection pdf   Appel 13
32 19 Linking and loading pdf    
33 21 First-class functions pdf   PA6: register allocation, Appel 6, 15.1-2
34 24 Optimizing first-class functions pdf PA5 Appel 15.3-15.6
35 26 Parametric polymorphism pdf   Appel 16.1, 16.3-4
36 28 Exceptions pdf    
37

May 1

Dynamic types pdf    
38

3

Other compilation strategies pdf    
39

5

Language-based security PA6  

PA6, project demo: May 11-12, 1-4:30PM, Upson 317