Home
Syllabus
Lecture Notes
ML Resources
MIPS and SPIM
|
Computer Science 153
Principles of Programming Language Compilation
Notes from Lectures
|
Overview |
PPTX, PDF |
|
Sample Interpreter |
ML
|
|
MIPS Instruction Set Architecture |
PPTX,
PDF |
|
Lexing and Regular Expressions |
PPT,
PDF,
regexp.ml
|
|
Lexing and Parsing Combinators |
(See the code in Problem Set 1)
|
|
Table-Driven Tools: Lex and Yacc |
See the Ocaml Lex and Yacc Documentation,
PPTX,
PDF,
MiniML
|
|
Simple Code Generation |
PPTX,
PDF
|
|
Code Generation for Procedures |
PPTX,
PDF
|
|
Data & Memory Management |
PPT,
PDF
|
|
Higher-Order Functions and Closures |
PPT,
PDF |
|
Compilation of Object Oriented Languages |
PPT,
PDF |
|
Type Checking |
PPT,
PDF |
|
Algebraic Optimization |
PPT,
PDF |
|
Control Flow Graphs and Dataflow Analysis |
PPT,
PDF |
|
More Dataflow Analysis |
PPT,
PDF |
|
Register Allocation Part 1 |
PPT,
PDF |
|
Register Allocation Part 2 |
PPT,
PDF |
|
Loop Optimizations |
PPT,
PDF |
|
CPS and SSA |
PPT,
PDF |
|