Stephen Freund, Fall 2026
This tutorial covers the principles and practices for the design and implementation of compilers and interpreters. Topics include all stages of the compilation and execution process: lexical analysis; parsing; symbol tables; type systems; scope; semantic analysis; intermediate representations; run-time environments and interpreters; code generation; program analysis and optimization; and garbage collection. The course covers both the theoretical and practical implications of these topics. As a project course, students will construct a full compiler for a simple object-oriented language.
Calendar
Week 0 (Sep 11)
Week 0 (Sep 11): Lab: Course Overview and Scala Crash Course
| Reading | |
|---|---|
| Friday Lab | Lab 0: A Scala Crash Course |