CS4212: Compiler Design (Autumn 2022)
Instructor: Ilya Sergey
Lectures: Mondays, 9:00am-12:00pm
Location: COM1-VCRM
Teaching Assistant: George Pîrlea
Lectures
Week 01: Introduction [W01 Slides] [W01 Code]
Week 02: X86Lite [W02 Slides] [W02 Code] [X86lite Specification]
More lecture materials will be posted gradually as we progress through the course.
Code
This course’s GitHub Organisation (please, email me your GitHub handle to have access)
Homework Projects
Textbooks and Resources
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
Copyright
Most of the materials and assignments for this module have been adapted, with permission, from the UPenn’s compiler class by Steve Zdancewic.