COMP 412: Topics in Compiler Construction
Tim Harvey
Department of Computer Science
Rice University
Houston, Texas, USA
Fall 2008: Room 1046, Duncan Hall, Monday, Wednesday, Friday, 11:00am

Notes


Schedule for Programming Assignments

     Lab 1:   Local Register Allocation Available August 29
Due September 15, 11:59PM
Lecture on Lab: Friday August, 29
 
Lab 2: LL(1) Parser Generator   Available October 3
Scanner Due: October 10
Parser Due: October 22
Full Lab Due: October 31, 11:59PM
Documentation Due: November 5, 11:59PM
 
Lab 3: Local Instruction Scheduler Tentative Schedule
Available: November 14, 11:59PM
Lab Due: December 3, 11:59PM
Docs Due: December 4, 11:59PM

All lab documents will be posted on this web site.

Philosophy

In a Computer Science course, constructing assignments that require an excessive amount of work is easy. Many compiler courses have students build large parts of a compiler, typically for some toy language. In COMP 412 at Rice, we have tried to distill each lab down to the point where the programming effort is small relative to the experience and knowledge gained.

The allocator and scheduler labs both have relatively simple programming requirements. In each case, however, you must approximate the solution to a truly hard problem.

The LL(1) table generator lab requires more programming work, but it encompasses both parsing (understanding the Backus-Naur Form of the grammar) and code generation (building tables that represent the knowledge produced by parsing and subsequent analysis.

If, after taking COMP 412, you feel that we have not provided you with enough direct experience writing a compiler, please come talk with me about the issue. We can construct a special projects course to provide in-depth experience as a compiler-writer; alternatively, you can take one of the follow-on courses with a more intense laboratory component.

Documents



Comp 412 Home Last modified Thursday, 28-Aug-2008 16:09:49 CDT.