Tentative Spring 2009 Class Schedule

Lecture

Date

Topic

Reminder

1

1/13/Tu

Course overview.
Introduction to compilers

Class syllabus.
Dragon 1.1-1.6

2

1/15/Th

A simple one-pass compiler I

Dragon 2.1-2.4

3

1/20/Tu

A simple one-pass compiler II

Dragon 2.5-2.7

4

1/22/Th

A simple one-pass compiler III
A simple Postscript interpreter

Dragon 2.8
Project 1 out

5

1/27/Tu

The Trend language introduction

Handout

6

1/29/Th

Lexical analysis I

Dragon 3.1-3.4

7

2/03/Tu

Lexical analysis II, Symbol Tables
Analyzing the Trend tokens

Dragon 3.5
Project 2 out

8

2/05/Th

Syntax analysis I

Dragon 4.1-4.3

0

2/10/Tu

Syntax analysis II

Dragon 4.4-4.6

10

2/12/Th

Syntax analysis III

Dragon 4.7-4.9
Project 1 due

11

2/17/Tu

Other syntax analysis tools
Parsing the Trend language

Handouts
Project 3 out

12

2/19/Th

Jave Virtual Machine (JVM) introduction

JVM 1
Project 2 due

13

2/24/Tu

The Oolong assembly language and writing JVM methods

JVM 2, 3

14

2/26/Th

JVM classes, objects, controls, etc.

JVM 4, 5

15

3/03/Tu

JVM verification and debugging

JVM 6, 7

16

3/05/Th

JVM class loaders and class files

JVM 8, 9
Project 3 due

17

3/10/Tu

Midterm exam 11:00 - 12:30

 

18

3/12/Th

Buffer for overrun class time

 

Spring Break (3/16-3/20)

19

3/24/Tu

Runtime environment I

Dragon 7.1-7.3

20

3/26/Th

Runtime environment II
Runtime support for Trend

Dragon 7.4,7.5
Project 4 out

21

3/31/Tu

Syntax directed translations I

Dragon 5.1-5.3

22

4/02/Th

Syntax directed translations II

Dragon 5.4,5.5

23

4/07/Tu

Compiling Trend for JVM I

Online code examples

24

4/09/Th

Compiling Trend for JVM II
The Trend Compiler for JVM (a)

Project 4 due
Project 5 out

25

4/14/Tu

Compiling other languages for JVM

JVM 10, 11, 12, 13

26

4/16/Th

Code generation in general
The Trend Compiler for JVM (b)

Dragon 8.1-8.4
Project
6 out

27

4/21/Tu

Type checking

Dragon 6.5

28

4/23/Th

JVM security, performance, and other issues

JVM 14, 15, 16
Project 5 due

29

4/28/Tu

Optimization and other advanced issues

Dragon 9.1,10.1

30

4/30/Th

Semester topic review and preparation or final exam

Everything taught in the class
Project
6 due

 

5/05/Tu

Final exam 9:45-11:45