Compilers - Spring 2008

The final phase (register allocation) of the compiler is now on line.

For Tuesday, May 13: Read Chapter 10.


For Thursday, May 8: Read the handout on register allocation and graph coloring.


The next phase (code generation) of the compiler is now on line.

For Tuesday, May 4: Finish reading Chapter 8 (and review 8.1-8.4).


For Thursday, May 1: Finish reading Chapter 9.

The next phase (basic blocks) of the compiler is now on line.

For Tuesday, April 29: Read 9.1-9.5.


For Tuesday, April 22: Read the handout on dataflow equations.

Complete the intermediate-representation translator assignment.


For Thursday, April 17: Read 8.1-8.4.

The due date for the intermediate-representation translator assignment has been extended to Friday, April 18.


For Tuesday, April 15: Read Chapter 7.

The intermediate-representation translator assignment is due Monday, April 14.


For Tuesday, April 8: Read the handout.

The type-checking assignment is due Friday, April 4 at 5pm.


For Thursday, April 3: Review Chapter 6.

Work on the type-checking assignment (due Friday, April 4).


For Tuesday, April 1: Read Chapter 6.

More php-- examples are now on line.

The type-checking assignment is due Friday, April 4.


For Thursday, March 13: Work on the abstract-syntax assignment!


For Tuesday, March 11: Develop type rules for php-- statements and expressions - to be discussed in class.

The abstract-syntax assignment is due Friday, March 14.


For Thursday, March 6: Read 5.8.

Sketch a class hierarchy to represent abstract syntax trees for php-- statements and expressions.


For Thursday, February 28: Read 5.5-5.7.

The php-- parser assignment is due Monday, March 3.


For Tuesday, February 26: Read Chapter 5 (and lookover the first few parts of Chapter 6) of Gagnon's SableCC thesis.


For Thursday, February 21: Read Chapter 4 and sections 5.1-5.4.

The second problem set is due at the start of class.


For Tuesday, February 19: Finish reading Chapter 3.

The second problem set is due next Thursday at the start of class. Bring questions to class on Tuesday.


For Thursday, February 14: Read 3.11-3.13.

Finish the php-- scanner assignment.


For Tuesday, February 12: Read 3.6-3.10.

The php-- scanner assignment is due Thursday, February 14.


For Thursday, February 7: Read 2.10 and 3.1-3.5.

The first problem set is due at the start of class.

In preparation for the next programming assignment (and Thursday's class): Download and install SableCC and configure Eclipse to work with it.


For Tuesday, February 5: Read 2.9.

The first problem set is due next Thursday at the start of class. Bring questions to class on Tuesday.


For Thursday, January 31: Read 2.3-2.7. Do not get too bogged down in details of 2.6 but make sure you understand the big picture.

The first programming assignment is also due Thursday, before class. Upload the tarball or zipfile of the source (only the source) for your interpreter package here.


For Tuesday, January 29: Read 2.1 and 2.2.


For Thursday, January 24: Do both basic tutorials under the "Getting Started" sections for: Eclipse Workbench User Guide and Eclipse Java Development User Guide.

The first programming assignment is due Thursday, January 31.