Lecture Notes
CS421/521: Compilers and Interpreters, Fall 2007, Yale University
Lecture notes will be made shortly after each lecture.
Lecture 1
(Sep 05):
Introduction
(
pdf
)
Lectures 2-4
(Sep 07-17):
Lexical Analysis
(
pdf
)
Lecture 3
(Sep 12):
ML and SML/NJ
(
pdf
)
Lectures 5-7
(Sep 19-26):
Parsing
(
pdf
)
Lecture 8
(Sep 28):
Abstract Syntax
(
pdf
)
Lectures 9-10
(Oct 1-3):
Type Checking
(
pdf
)
Lectures 11-12
(Oct 8-10):
Stack Frames
(
pdf
)
Lectures 13-14
(Oct 15-17):
Intermediate Trees
(
pdf
)
Lecture 15
(Oct 22):
Canonical Trees; Instruction Selection
(
pdf
)
Lecture 16
(Oct 24):
Register Allocation
(
pdf
)
Lectures 17-18
(Oct 29 - 31):
Higher-Order Functions; Closures
(
pdf
)
Lecture 19
(Nov 5):
Object-Oriented Languages
Lectures 20-21
(Nov 7-12):
Garbage Collection
(Wilson's GC survey in
postscript
; Richard Jones'
GC page
)
Lectures 21-22
(Nov 12-14):
Compiler Optimization
The following are the lecture notes used in Fall 2006:
Lecture 1
(Sep 06):
Introduction
(
pdf
)
Lectures 2-4
(Sep 11-18):
Lexical Analysis
(
pdf
)
Lectures 2-3
(Sep 11-13):
ML and SML/NJ
(
pdf
)
Lectures 5-6
(Sep 20-25):
Parsing
(
pdf
; also slides on parser generation in
pdf
)
Lecture 7
(Sep 27):
Abstract Syntax
(
pdf
)
Lectures 8-9
(Oct 2-4):
Type Checking
(
pdf
)
Lectures 10-11
(Oct 9-11):
Stack Frames
(
pdf
)
Lectures 12-13
(Oct 16-18):
Intermediate Trees
(
pdf
)
Lecture 14
(Oct 23):
Canonical Trees; Instruction Selection
(
pdf
)
Lecture 15
(Oct 25):
Register Allocation
(
pdf
)
Lectures 16-17
(Oct 30 - Nov 1):
Higher-Order Functions; Closures
(
pdf
)
Lectures 17-18
(Nov 1-6):
Object-Oriented Languages
Lectures 19-20
(Nov 8-13):
Garbage Collection
(Wilson's GC survey in
postscript
; Richard Jones'
GC page
)
Lecture 21
(Nov 15):
Compiler Optimization
(
pdf
)
Lecture 22
(Nov 27):
Curry-Howard Isomorphism; Foundation of Certified Code
(
pdf
)
Lecture 23
(Nov 29):
More on Certified Code
Copyright (c) 1995-2007,
Zhong Shao
, Dept. of
Computer Science
,
Yale University