Harvard University, FAS

Home
Syllabus
Lecture Notes

Resources
MIPS and SPIM

Computer Science 153
Principles of Programming Language Compilation

Implementation of efficient interpreters and compilers for programming languages. Associated algorithms and pragmatic issues. Emphasizes practical applications including those outside of programming languages proper. Also shows relationships to programming-language theory and design. Participants build a working compiler including lexical analysis, parsing, type checking, code generation, and register allocation. Exposure to run-time issues and optimization.


Lectures: Maxwell Dworkin 119, MWF 11:00-12:00
Instructor: Greg Morrisett
greg at eecs.harvard.edu
Office Hours: by appointment, MD 151
Admin. Assistant: Susan Welby
swelby at seas.harvard.edu
Office: MD 239
Teaching Fellow: Lucas Waye
lwaye at fas.harvard.edu
Office hours: Tue 1:00-2:30pm, MD 309; additional by appointment
Teaching Fellow: Ryan Wisnesky
ryan at eecs.harvard.edu
Office hours: W 1:00-4:00pm, MD 309; except Oct 23
Discussion: Piazza 153 Bulletin Board
The Book
  • The book for the course is Modern Compiler Implementation in ML by Andrew Appel.
  • Note that Appel has a number of versions of the book (for ML, Java, and C) and multiple editions. Just about any version of the book will be okay, but obviously you're better off with the ML version for this course.