12/23/2004 Thursday
I'll try noting the changes for project 8.
Translate
Translate.ClassResult
Add accept() method for visitor.ReviseIRVisitor.
Translate.DataFrag
Add accept() method for visitor.ReviseIRVisitor.
Translate.Frag
Add accept() method for visitor.ReviseIRVisitor.
Translate/PrintIRVisitor
Need to check. I seem to have added some methods for chapter 8 and possibly
rearranged the methods. I added some finals to the arguments.
Fixed.
I added methods printStmList(), printStmListList(), and visit() for
Translate.TraceScheduleProcFrag.
Translate.ProcFrag
Add accept() method for visitor.ReviseIRVisitor.
I'll modify this file and save it later.
C:\c4041s2005\src\chap7\Translate\PrintIRVisitor.java
I need to compare the frag classes.
It looks like AbstractReviseIRVisitor is never used. I'm not sure why it is
there. LinearizeVisitor is never used.
TraceScheduleProcFrag is used.
StmListProcFrag is used only in AbstractReviseIRVisitor and LinearizeVisitor.
BasicBlocksProcFrag is used only in AbstractReviseIRVisitor.
In chapter 8
Main calls visitor.CanonicalizeVisitor.
visitor.CanonicalizeVisitor
This extends visitor.IdentityIRVisitor. It overrides only visit() on
ProcFrag. It performs the three steps of linearization, basic blocks, and
trace schedules, then returns a new Translate.TraceScheduleProcFrag containing
the result.
Translate.TraceScheduleProcFrag
This subclasses of Translate.ProcFrag and also contains the linearized
Tree.StmList, the Canon.BasicBlocks, and the Canon.TraceSchedule.
I really ought to switch back to working on the assignment 8.
set SOURCEDIR=D:\uofm\c4041s2005\src\chap8
I have updated project 8.
1/3/2005
I'm going to try compiling chapter 8 and seeing if that still runs.
I need to compile some file by hand in chapter 8 before compiling Main.
Create directory D:\uofm\c4041s2005\bin\chap8
Translate
Translate.ProgramResult
Translate.ClassResult
Translate.Frag
Translate.ProcFrag ??
Translate.TraceScheduleProcFrag
Translate.DataFrag
Translate.PrintIRVisitor
Canon.Canon (may not have needed to do this one).
visitor.IdentityIRVisitor
It looks like I made the mistake of adding code for chapter 12 to the chapter
7 and 8 code for Translate.ProcFrag, but did not recompile all the code that
used it. This may have a ripple effect.
visitor.CanonicalizeVisitor
I finally got the Main for chapter 8 to compile. I'll try running it.
runmain ..\chap7\MiniJava\BlockLocalVarTest.java
It looks like it worked, after I recompiled Translate.PrintIRVisitor.
I probably want to revise my chapter 9 to generate a data structure that has
the abstract assembly code in it so that I can work on it in the chapter 10
code.
Comments (0)
You don't have permission to comment on this page.