CS 367 Compilers
Spring 2009

Computer Science Department
The College of Arts and Sciences
Boston College

About Syllabus Textbook Compiler Project
Staff Resources Grading Problem Sets
# Date Topic Reading
1

W 1/14/2009

Course Overview; Compiler Architecture; Execution Models

A 1, 2.
2

F 1/16/2009

Logistics; Software Tools

M 1/19/2009

Martin Luther King Day

3

W 1/21/2009

Mathematical Preliminaries; Recursive programming in Caml; lists

H 1-5
4

F 1/23/2009

Mathematical Preliminaries; Caml types; trees, pattern matching

H 6
5

M 1/26/2009

Grammars and Derivations; MEL: A Monotype Expression Language

A 4.1 - 4.3.
6

W 1/28/2009

Recursive Descent Parsing

A 4.4
7

F 1/30/2009

Introduction to Semantics

8

M 2/2/2009

Caml Bootcamp : Interpreting MEL

9

W 2/4/2009

Caml Bootcamp : higher-order functions

10

F 2/6/2009

Caml Bootcamp : modules, sets and maps

H 11-13
11

M 2/9/2009

Compiling MEL : Source-to-source program transformations; Naming and Flattening

12

W 2/11/2009

Compiling MEL : Simple Data Flow; Local Optimizations; Code Generation

13

F 2/13/2009

PEL: A Polytype Expression Language

14

M 2/16/2009

Type Systems; Dynamic and Static Typing

15

W 2/18/2009

Static Type Checking; Type Inference

16

F 2/20/2009

Code Improving Program Transformations

17

M 2/23/2009

Program Analysis : Control Flow; Basic Blocks

A 8.4
18

W 2/25/2009

Liveness Analysis; Local Register Allocation

19

F 2/27/2009

Midterm Exam

M 3/2/2009

Spring Break

W 3/4/2009

Spring Break

F 3/6/2009

Spring Break

20

M 3/9/2009

miniPython

21

W 3/11/2009

Lexer and Parser Generators: lex and yacc

22

F 3/13/2009

Type Checking and Translation of Imperative Features

23

M 3/16/2009

Compiling Function Definitions, Calls and Returns; Stack Layout

24

W 3/18/2009

Data and Control Flow

25

F 3/20/2009

Live Variable Analysis

26

M 3/23/2009

Copy Propogation

27

W 3/25/2009

Global Register Allocation

A 8.8
28

F 3/27/2009

More on Register Allocation

29

M 3/30/2009

Code Generation

30

W 4/1/2009

Linking; Run-time Systems

A 7.1 - 7.2
31

F 4/3/2009

Memory Management

A 7.4 - 7.5
32

M 4/6/2009

More on Memory Management

A 7.6 - 7.7
33

W 4/8/2009

Compiling Object-Oriented Programming Languages

F 4/10/2009

Easter Break

M 4/13/2009

Easter Break

34

W 4/15/2009

Security; Proof-Carrying Code

35

F 4/17/2009

Predictive Top-Down Parsing; First and Follow

M 4/20/2009

Patriot's Day

36

W 4/22/2009

Bottom-Up Parsing

A 4.5 - 4.7
37

F 4/24/2009

Bottom-Up Parsing

38

M 4/27/2009

Combinator Parsing

39

W 4/29/2009

Review and Wrapup

F 5/1/2009

Study Period

Created on 01-13-2009 10:20.