CS536-S21 Intro to PLs and Compilers

Canvas BBC Ultra
Tue, Thu 1-2.15

Loris D'Antoni, instructor
loris-teach (at) cs (dot) wisc (another dot) edu
Office hours: W 10-11
Canvas BBC Ultra

TAs
Anvay Grover (anvayg@cs.wisc.edu), Office Hour: M 2-3 (Canvas BBC Ultra)
Hakan Dingenc (hakan@cs.wisc.edu), Office Hour: F 11-12 (Canvas BBC Ultra)

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/26 Course overview pdf | notes P1 assigned
1/28 Finite-state machines pdf | notes
2/2 NFAs pdf | ppt | notes HW1
HW1 solution
2/4 Scanner generators pdf | ppt | notes
2/9 Context-free grammars pdf | ppt | notes P2 assigned HW2
HW2 solution
2/11 Context-free grammars (ambiguity) pdf | ppt | notes
2/16 Syntax-directed translation pdf | ppt | notes HW3
HW3 solution
2/18 Java CUP pdf | ppt | notes Examples
2/23 Parsing pdf | ppt | notes P3 assigned HW4
HW4 solution
2/25 Topdown parsing pdf | ppt | notes
3/2 Topdown parsing (cont'd) pdf | ppt | notes HW5
HW5 solution
3/4 SDT for predictive parsing pdf | ppt | notes
3/9 Semantic analysis pdf | ppt | notes HW6
HW6 solution
3/11 Review session P4 assigned
Sample midterm (soln)
3/16 Midterm exam Canvas
3/18 LR parsing pdf | ppt | notes
3/23 Types pdf | ppt
3/25 Runtime environments pdf | ppt | notes HW7
HW7 solution
3/30 Parameter passing pdf | ppt | notes HW8
HW8 solution
4/1 Variable access pdf | ppt | notes P5 assigned
4/6 Code generation pdf | ppt | notes HW9
HW9 solution
LLVM Demo
4/8 Code generation (cont'd) pdf | ppt | notes
4/13 Code generation (cont'd) pdf | ppt | notes
4/15 Optimization pdf | ppt | notes
4/20 More optimization pdf | ppt | notes P6 assigned H10
HW10 solution
4/22 A peek at program synthesis slides | paper
4/27 No class
4/29 Review session Sample 1 (soln)
Sample 2
5/5 Final exam 2:45pm-4:45pm Online