John Simmons's Wiki Site

 

CompilersCanonicalization

Page history last edited by John Simmons 2 yrs ago

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.