COMP 412: Compiler Construction for Undergraduates
Keith Cooper
Michael Burke
Department of Computer Science,   Rice University
Houston, Texas, USA
Fall 2019: HRZ 212 on Monday, Wednesday, and Friday at 11:00am

Notes


Schedule for Programming Assignments

All lab documents will be posted as links in this table.

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.


Comp 412 Home Last modified Tuesday, 26-Mar-2019 12:31:18 CDT.