CS536-S23 Intro to PLs and Compilers

Course Information


Class Meets:
Plant Sci 108
Tue, Thu 2:30-3:45 PM

Instructor:
Loris D'Antoni
Office hours: Thu 11-12
CS 6355

TAs:
Rahul Krishnan, Office Hours: M 2:30-4:00 PM (CS 1335)
Shaan Nagy, Office Hours: F 10:50-11:50 AM, 2:15-3: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 | Piazza-ask questions here

Lectures

Date Topic Slides | Notes Assigned Other
1/24 Course overview pdf | notes P1 assigned
1/26 Finite-state machines pdf | notes
1/31 NFAs pdf | ppt | notes HW1
HW1 solution
2/2 Scanner generators pdf | ppt | notes
2/7 Context-free grammars pdf | ppt | notes P2 assigned HW2
HW2 solution
2/9 Context-free grammars (ambiguity) pdf | ppt | notes
2/14 Syntax-directed 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