CS536S23 Intro to PLs and Compilers
Course InformationClass Meets: Plant Sci 108 Tue, Thu 2:303:45 PM Instructor: Loris D'Antoni Office hours: Thu 1112 CS 6355 TAs: Rahul Krishnan, Office Hours: M 2:304:00 PM (CS 1335) Shaan Nagy, Office Hours: F 10:5011:50 AM, 2:153:00 PM (CS 1335) 
Course description
Introduction to the theory and practice of compiler design. Comparison of features of several programming languages and their implications for implementation techniques. Several programming projects required.Prereq: CS 367 and either CS 354 or 552.
Course info  Assignments  Resources  Piazzaask questions here
Lectures
Date  Topic  Slides  Notes  Assigned  Other 

1/24  Course overview  pdf  notes  P1 assigned  
1/26  Finitestate machines  pdf  notes  
1/31  NFAs  pdf  ppt  notes 
HW1 HW1 solution 

2/2  Scanner generators  pdf  ppt  notes  
2/7  Contextfree grammars  pdf  ppt  notes  P2 assigned 
HW2 HW2 solution 
2/9  Contextfree grammars (ambiguity)  pdf  ppt  notes  
2/14  Syntaxdirected translation  pdf  ppt  notes 
HW3 HW3 solution 

2/16  Java CUP  pdf  ppt  notes  Examples  
2/21  Parsing  pdf  ppt  notes  P3 assigned 
HW4 HW4 solution 
2/23  Topdown parsing  pdf  ppt  notes  
2/28  Topdown parsing (cont'd)  pdf  ppt  notes 
HW5 HW5 solution 

3/2  SDT for predictive parsing  pdf  ppt  notes  
3/7  Semantic analysis  pdf  ppt  notes 
HW6 HW6 solution 

3/9  LR parsing  pdf  ppt  notes 
P4 assigned 

3/14  Spring Break  
3/16  Spring Break  
3/21  Review session 
Sample midterm (soln) 

3/23  Midterm Exam  In Class  
3/28  Types  pdf  ppt  
3/30  Runtime environments  pdf  ppt  notes 
HW7 HW7 solution 

4/4  Parameter passing  pdf  ppt  notes 
HW8 HW8 solution 

4/6  Variable access  pdf  ppt  notes  P5 assigned  
4/11  Code generation  pdf  ppt  notes 
HW9 HW9 solution LLVM Demo 

4/13  Code generation (cont'd)  pdf  ppt  notes  
4/18  Code generation (cont'd)  pdf  ppt  notes  
4/20  Optimization  pdf  ppt  notes  
4/25  More optimization  pdf  ppt  notes 
H10 HW10 solution 

4/27  A peek at program synthesis  slides  paper  P6 assigned  
5/2  No class  
5/4  Review session 
Sample 1 (soln) Sample 2 

5/8  Final exam  10:05 AM  12:05 PM  NOLAND 132 