CS536-F20 Intro to PLs and Compilers

Room: Online on BBC Ultra (see Canvas)
Tue,Th 230-345

Instructor
Aws Albarghouthi
aws@cs.wisc.edu
Office hours: see BBC Ultra
Room 6363, Computer Sciences

Teaching assistants
Anvay Grover, anvayg@cs.wisc.edu
Hakan Dingenc, hakan@cs.wisc.edu

TA office hours: see BBC Ultra
This website will host slides, notes, and assignments. All assignments will be submitted through Canvas.

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 | Canvas | Piazza (ask questions here)

Textbook and Notes:

Lectures

Note: Dates for topics, particularly for the second half of the course, should be considered tentative.
Slides for every week will be available on Mondays in pdf and ppt formats.
Week Dates Topics Slides | Notes Assigned Exercises/examples
1 9/3 Course overview pdf | ppt | ppt-a | notes P1
2 9/8,10 Finite-state machines pdf | ppt | ppt-a | notes Automata Tutor
NFAs pdf | ppt | ppt-a | notes Examples (ppt | pdf) | H1, Sol
3 9/15,17 Scanner generators pdf | ppt | ppt-a | notes
Context-free grammars pdf | ppt | ppt-a | notes P2
4 9/22,24 Context-free grammars (ambiguity) pdf | ppt | notes
Syntax-directed translation pdf | ppt | notes H2, Sol
5 9/29,10/1 Java CUP pdf | ppt | notes Examples
Parsing pdf | ppt | notes P3
6 10/6,8 Topdown parsing pdf | ppt | notes
Topdown parsing (cont'd) pdf | ppt | notes H3 , Sol
7 10/13,15 SDT for predictive parsing pdf | ppt | notes
LR parsing pdf | ppt | notes
8 10/20,22 Review Session P4
Midterm Exam
9 10/27,29 Static-semantic analysis pdf | ppt | notes
Types pdf | ppt H4, Sol
10 11/3,5 Runtime environments pdf | ppt | notes
Parameter passing pdf | ppt | notes P5
11 11/10,12 Variable accesses pdf | ppt | notes
Code generation pdf | ppt | notes H5 , Sol
12 11/17,19 Code generation (cont'd) pdf | ppt | notes
Code generation (cont'd) pdf | ppt | notes
13 11/24,26 Optimization pdf | ppt | notes P6
Thanksgiving 🦃 pdf | ppt | notes
14 12/1,3 SSA form and dataflow analysis pdf-1 | ppt-1
pdf-2 | ppt-2 | notes
Advanced topics
15 12/8,10 Advanced topics
Review Session
12/14 Final exam 7:45AM - 9:45AM Weeks 7-15