Course Schedule
CS4210/5210: Compilers and Interpreters, Fall 2025, Yale University
Last modified: August 23, 2025.
8/27:
Lecture: Introduction
8/29:
Lecture: OCaml (9/1 Monday Class meets on Friday)
9/1:
No Lecture (Labor Day)
9/3:
Lecture: X86 and X86lite
9/8:
Lecture: X86lite Calling Convention
Assignment 1
Due.
9/10:
Lecture: Intermediate Representations and LLVM IR
9/15:
Lecture: More on LLVM IR
9/17:
Lecture: LLVMlite
9/22:
Lecture: Lexing and Regular Expressions
Assignment 2
Due.
9/24:
Lecture: Finite Automata; More on Lexing
9/29:
Lecture: Context-Free Grammars; Parsing
10/1:
Lecture: LL and LR Parsing
10/6:
Lecture: Building LR Parsers
10/8:
Lecture: Menhir and Parser Generation
10/9:
Assignment 3
Due.
10/13:
Lecture: First-Class Functions
10/15:
No Lecture (October Break)
10/20:
Lecture: Lambda Calculus & Type Checking
10/22:
Lecture: Semantic Analsysis; Oat v1
10/27:
Lecture: Subtyping; More on Type Checking
10/29:
Lecture: Type Checking for Oat; Optimization
Assignment 4
Due.
11/3:
Lecture: Optimization and Dataflow Analysis
11/5:
Lecture: More on Dataflow Analysis
11/10:
Lecture: General Dataflow Analysis
11/12:
Lecture: Loops and Dominators; Static Single Assignment
11/17:
Lecture: Register Allocation
Assignment 5
Due.
11/19:
Lecture: Nested Functions and Closures
11/24:
No Lecture (Thanksgiving Break)
11/26:
No Lecture (Thanksgiving Break)
12/1:
Lecture: Compiling Classes and Objects
12/3:
Lecture: Advanced Topics
12/9:
Assignment 6
Due.
Copyright (c) 2025,
Zhong Shao
, Dept. of
Computer Science
,
Yale University