Due: Friday, 14 April 2006
Incorporate canonicalization (Chapter 8), add the "maximal munch" algorithm "Chapter 9: Instruction Section," page 216. Your makefile should create a jar file called select.jar which is phase 8 of the compiler.All, or most, of the code for this phase could be in a one file. It could would be placed in the sparc package as it is specific to the machine architecture.
The (revised) canon package has a method in the class Main that encapulates all the work of chapter 8.
public static StmList transform (Stm s) {
final StmList stms = Canon.linearize (s);
final BasicBlocks bb = new BasicBlocks(stms);
final StmList traces = (new TraceSchedule(bb)).stms;
return traces;
}
Collect all the source files and the makefile into a single jar file phase06.jar. Turn in the jar file for the compiler using the submission server. Use the following parameters
-Dclass=cse4251 -Dproject=asgn7