CS536-S23 Intro to PLs and Compilers
Course InformationClass 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 |