COMP 412: Topics in Compiler Construction
Keith Cooper
Department of Computer Science
Rice University
Houston, Texas, USA
Fall 2011: Room 1042, Duncan Hall, Monday, Wednesday, Friday, 11:00am

Notes


Schedule for Programming Assignments

     Lab 1:   Local Register Allocation   Available August 29
Code is due Wednesday, September 21, 11:59 PM   <-- Note new date
Report is due Friday, September 23, 11:59 PM        <-- Note new date
Lecture on Lab: Monday, August 29
 
     Lab2:   LL(1) Table Generator Available October 5, 2011
Scanner & Parser due Monday, October 24, 2011
Table generator due Friday, November 4, 2011
Lab report due Sunday, November 6, 2011
Note the lab's late policy, described in the lab handout
 
     Lab3:   Local Instruction Scheduler Available November 4, 2011
Graph visualization due Thursday, November 17, 2011
Early due date is Monday, November 21, 2011
(10 percent extra credit for submission by early due date)
Final due date is Wednesday, November 30, 2011
Lab report due Friday December 2, 2011 at 5:00PM

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 (Preliminary)


Comp 412 Home Last modified Friday, 04-Nov-2011 10:45:37 CDT.