Final Project
Due: 1:30 Tuesday, December 13.
Finish your compiler -- implement the register allocator,
do final assembly of all the modules so that you can go all the way from
Tiger source to assembler.
This will require you to define a few remaining machine-level bits
and pieces of the modules. See chapter 12 of the course text for
discussion. At the least, you should include:
- a main routine that reads in a file and saves assembly code to another file
- Frame.string properly implemented
- procEntryExit3 generating the proper cruft that SPIM expects
- procEntryExit2 updated to work with your particular code generator and register allocator
Reading sysspim.s and/or the output from
"gcc -S" on an SGI may be helpful.
You should submit the following files:
- Any altered or new source code, including sources.cm
- A text file describing
- The members of your team
- A description of what new functionality you added to the final compiler for integration.
- Anything you think is of interest about your code.
- An assembler listing for a program or procedure to compute
factorial. If your compiler is missing critical phases and cannot
compile a factorial program, then submit some compiled
Tiger program. Insert stubs for pieces you are missing. (You may
make this listing or listings part of your report.)
CS4240