CS536-S25 Intro to PLs and Compilers
Lecture : | Epic, 6:00 - 9:00 pm Thurs |
Instructor : | Beck Hasti, hasti@cs.wisc.edu |
Teaching assistants : |
Daniel Smedema, djsmedema@wisc.edu
|
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: (CS367 or CS400) and CS/ECE354.
Course Info | Exam Info | Asg Info | Resources | Office Hours | Piazza (ask questions here)
Textbook and Notes: The course has no required textbook. There are links to an extensive set of notes (pdf version), as well as to copies of the lecture overheads used in class, in the schedule below.Schedule
Note: Dates for topics, particularly for the second half of the course, should be considered tentative.
Overheads for each lecture will be available in pdf format at least 18 hours before the lecture.
Week: Date |
Topics | On-line Notes | Overheads | Other |
---|---|---|---|---|
1: 1/23 | Course overview, FSMs | Overview, Scanning |
pdf | pdf-a | P1 assigned |
2: 1/30 | NFAs, scanner generators | Scanning, JLex |
pdf | pdf-a | Example, Hw0 (soln) |
3: 2/6 | Context-free grammars | CFGs | pdf | pdf-a | P2 assigned, Hw1 (soln), Make |
4: 2/13 | SDTs, abstract syntax trees | Syntax-directed translations | pdf | pdf-a | Hw2 (soln) |
5: 2/20 | Java CUP, parsing | Java CUP, Parsing |
pdf | pdf-a | P3 assigned |
6: 2/27 | Midterm 1 | 6:30 – 8:00 pm | ||
7: 3/6 | Top-down parsing | Top-down Parsing | pdf | pdf-a | Hw3 (soln) |
8: 3/13 | Predictive parsing, static-semantic analysis |
SDT for Predictive Parsing, Symbol Tables & Static Checks |
pdf | pdf-a | P4 assigned |
9: 3/20 | Midterm 2 | 6:30 – 8:00 pm | ||
Spring Break | ||||
10: 4/3 | Static-semantic analysis, runtime environments |
Symbol Tables & Static Checks, Runtime Environments |
pdf | pdf-a | P5 assigned, Hw4 (soln) |
11: 4/10 | Parameter passing, variable access |
Parameter Passing, Runtime Access to Variables |
pdf | pdf-a |
Hw5
(soln) Hw6 (soln) |
12: 4/17 | Code generation | Code Generation | pdf | pdf-a | P6 assigned, Hw7 (soln) |
13: 4/24 | Code generation, optimization |
Code Generation, Optimization |
pdf | pdf-a | |
14: 5/1 | Optimization, review | Optimization | pdf | pdf-a | |
15: 5/8 | Final exam | 6:30 – 8:30 pm |