Calendar, Slides, Projects, and Homeworks

The following schedule is tentative. As the course progresses hyperlinks will be provided to the lecture notes.

PA = programming assignment. WA = written assignment.

Readings are from Aho, Sethi, Ulman, "Compilers: Principles, Techniques and Tools".


 Lec #  
 Date TopicsAssigned
 Due
Readings
 Notes/Resources
1Wed, Aug. 22
Course Overview


Ch. 1
(Optional: J. Backus, Speedcoding)

2Mon, Aug. 27
Lexical Analysis, Finite Automata


Ch. 3.1-3.5

3Wed, Aug. 29
 Lexical Analysis, Finite Automata
(Same notes as lecture 2)
WA1

Ch. 3.6-3.7
(Optional: Ch. 3.9.6)


Mon, Sep. 3
 Holiday (Labor Day)




4Wed, Sep. 5
Intro to Parsing


Ch 4.1-4.3
 
  Sun, Sep. 9  PA1  The ChocoPy LanguageJFlex manual
CUP manual 
5Mon, Sep. 10
Intro to Parsing
(Same notes as lecture 4)
Top-Down Parsing


Ch 4.4

6Wed, Sep. 12
 LL(1) Parsing
(Same notes as lecture 5)
WA2
WA1
Solutions
Ch 4.5, 4.7-4.9

7Mon, Sep. 17
Bottom-Up Parsing, LR Parsing


Ch. 4.9

8Wed, Sep. 19
LR Parsing
(Same notes as lecture 7)


Ch 4.6, 6.1-6.5
(Optional: L. Cardelli, Type Systems, Sec. 1, 2, 4)

9Mon, Sep. 24
Type Checking




10Wed, Sep. 26
Type Checking
(Same notes as lecture 9)

WA2
Solutions
Ch 7.1-7.5, 7.7-7.8

11Mon, Oct. 1
Type Checking
(Same notes as lecture 9)
WA3




Tue, Oct. 2
 
PA1


12Wed, Oct. 3
Runtime Organization
Start Simple Code Generation

 


Fri, Oct. 5

PA2

 The ChocoPy Language
13Mon, Oct. 8
 Simple Code Generation
(Same notes as lecture 12)


Ch. 8

 Wed, Oct. 10
Midterm 1 (in class)
(Solutions)



Fall 2017 MT1
(Solutions)

Fri, Oct. 12


WA3
Solutions


14Mon, Oct. 15
 Simple Code Generation
(Same notes as lecture 12)




15Wed, Oct. 17
 Operational Semantics




  Fri, Oct 19  WA4   
16Mon, Oct. 22
Operational Semantics
(Same notes as lecture 15)




17Wed, Oct. 24
Garbage Collection




18Mon, Oct. 29
Intermediate Languages, Local Optimization
WA4
Solutions
Ch. 8

Tue, Oct. 30

WA5



19Wed, Oct. 31
 Interpreting Dynamic Languages: Just-In-Time Compilation




Fri, Nov. 2


PA2


  Sun, Nov 4  PA3  The ChocoPy Language ChocoPy: RISC-V Implementation Guide
20Mon, Nov. 5
Global Optimization

Ch. 10.5-10.6

Wed, Nov. 7
Midterm 2 (in class)
(Solutions)



Fall 2017 MT2, with solutions

Mon, Nov. 12
Holiday (Veterans Day)





Tue, Nov. 13


WA5
Solutions


21Wed, Nov. 14
Global Optimization
(Same notes as lecture 20)
WA6

Ch 9.7

Mon, Nov. 19
(No lecture; class cancelled)




  Tue, Nov. 20   PA3 Checkpoint  
 Wed, Nov. 21
Holiday (Thanksgiving)




22Mon, Nov. 26
Register Allocation
(+ course survey)





23Wed, Nov. 28
Exceptions





Fri, Nov. 30


WA6
Solutions


 24Mon, Dec. 3  Review Lecture
 
  

Tue, Dec 4

 PA3


Wed, Dec. 5
to
Fri, Dec. 7
(Rest of) RRR Week
No lecture





Wed, Dec. 12
Final (7pm-10pm)
(Solutions)



Fall 2017 Final
(Solutions)
RISC-V Reference

Comments