CS536-F19 Intro to PLs and Compilers

Room: SCIENCE 180
Tue,Th 230-345

Instructor
Aws Albarghouthi
aws@cs.wisc.edu
Office hours: Tue, 1-2 pm
Room 6363, Computer Sciences

Teaching assistants
Stephen Sheen, sheen2@wisc.edu
Jason Mohoney, mohoney2@wisc.edu

TA office hours: Mon 1-2pm in CS 4331 AND Fri, 10-11am, CS1308
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 Other
1 9/5 Course overview pdf | ppt | notes P1
2 9/10,12 Finite-state machines pdf | ppt | notes Automata Tutor
NFAs pdf | ppt | notes H1 Examples (ppt | pdf)
3 9/17,19 Scanner generators pdf | ppt | notes
Context-free grammars pdf | ppt | notes P2
4 9/24,26 Context-free grammars (ambiguity) pdf | ppt | notes
Syntax-directed translation pdf | ppt | notes H2
5 10/1,3 Java CUP pdf | ppt | notes Examples
Parsing pdf | ppt | notes
6 10/8,10 Topdown parsing pdf | ppt | notes P3
Topdown parsing (cont'd) pdf | ppt | notes H3
7 10/15,17 SDT for predictive parsing pdf | ppt | notes
Static-semantic analysis pdf | ppt | notes
8 10/22,24 Review Session
Midterm Exam
9 10/30; 11/1 LR parsing pdf | ppt | notes P4
Types pdf | ppt H4
10 11/6,8 Runtime environments pdf | ppt | notes
Parameter passing pdf | ppt | notes P5
11 11/12,14 Variable accesses pdf | ppt | notes
Code generation pdf | ppt | notes H5
12 11/19,21 Code generation (cont'd) pdf | ppt | notes
Code generation (cont'd) pdf | ppt | notes P6
13 11/26,28 Optimization pdf | ppt | notes
Thanksgiving 🦃 pdf | ppt | notes
14 12/3,5 SSA form and dataflow analysis pdf-1 | ppt-1
pdf-2 | ppt-2 | notes
Advanced topic of your choice
15 12/10 Review
12/14 Final exam 2:45pm - 4:45pm in TBD Weeks 7-15