EECS 483: Compiler Construction - Winter 2024
Note
If you have recently registered for the course, please see the additional information on Piazza, and contact the course staff if you need help.
Course Information
Instructor
-
office hours: Mondays 4-5pm, Thursday 10-11am, and by appointment, Beyster 4628 and online, use the office hours queue
GSI
Eric Giovannini
office hours: Tuesdays 3-5pm, Thursdays 3:30-4:30pm, Beyster Atrium
IA
Tingting Ding
office hours: Tuesdays 2-3pm, Beyster 1637 Beyster Table 2
Coordinates
Homework Projects
HW1: Hellocaml!
Due: Tuesday, January 23rd at 11:59pm
HW2: X86lite simulator
Due: Tuesday, February 6th at 11:59pm
HW3: LLVMlite backend
Due: Tuesday, February 20th at 11:59pm
HW4: Oat language compiler v.1
Due: Tuesday, March 26th at 11:59pm
HW5: Oat language compiler v.2
Due: Tuesday, April 9th at 11:59pm
HW6: Program Analysis & Optimizations
Due: Tuesday, April 23th at 11:59pm
Textbooks and Resources
There is no required textbook for this course. However, you may find the following references useful for digging deeper into course topics.
On Principles of Compiler Construction
Compilers: Principles, Techniques, and Tools (2nd Edition) by Aho, Lam, Sethi, and Ullman
Advanced Compiler Design and Implementation by Muchnick
Modern Compiler Implementation in ML by Appel
On Types and Type Systems
Types and Programming Languages by Pierce
Advanced Topics in Types and Programming Languages by Pierce et al.
On Program Analysis
Principles of Program Analysis by Nielson, Nielson, and Hankin
On OCaml
Introduction to Objective Caml by Jason Hickey
Real World OCaml by Yaron Minsky, Anil Madhavapeddy, and Jason Hickey