[logo] Computing Systems
CS134b, Winter 2003

Programming languages and compilers

SEARCH

Home
Policy
Syllabus
Assignments
Using Osaka
Pearls
Text
People
FAQ
Mailing Lists
Previous Years
Links
Style Guide
Resources

Overview

This term is devoted to compilers, programming models and languages. We will cover execution environments, storage management, and operating system interfaces; binding mechanisms, abstraction, optimization, and code generation; parsing and lexical analysis. Students will build a working compiler.

Syllabus

Week Lecture dates Main topics to be covered Notes
1 Jan 6
Jan 8
Jan 10 
Course intro [handouts] [lec1.txt]
OCaml intro [lec2.txt]
OCaml intro [set.ml], [set.mli]
LN1a
2 Jan 13
Jan 15
Jan 17
Lexing and parsing [handouts]
Lexing and parsing (cont)
Mini Language Conscript, ast.ml, parse.mly, lex.mll, lex.mli, eval.ml, eval.mli, test.ml
LN2a
3 Jan 20
Jan 22
Jan 24
Martin Luther King day
Mini language (cont)
Front-end guide [handouts]
LN3a
4 Jan 27
 
 
Semantic Analysis 1: The IR [handouts]
 
 
LN4a
5 Feb 3
 
 
Semantic analysis 2: classes [handouts]
Classes and interfaces [handouts]
 
Halloween
6 Feb 10
 
 
Continuation-passing-style [handouts]
Closure conversion [handouts]
Closure conversion II [handouts
LN5a
7 Feb 17
 
 
Dead-code elimination [handouts]
Constant folding, inlining [handouts]
 
LN6a
8 Feb 24
 
 
Loop optimizations [handouts]
 
 
LN7a
9 Mar 3
 
 
Alias analysis [handouts]
Backend [handouts]
Register allocation I [handouts]
Thanksgiving
10  
 
 
Register allocation II [handouts]
 
Garbage Collection [handouts]
LN8a
11  

 

 

 

 

 

Final exam


Webmaster | Contact Us | Generated on %%DATE%%

Copyright (c) 2003 Caltech CS134 Course Administration.
Computer Science Dept., California Institute of Technology
HTML4.01 | CSS2 | Bobby