kanga.visitor
Class GJVoidDepthFirst<A>

java.lang.Object
  extended by kanga.visitor.GJVoidDepthFirst<A>
All Implemented Interfaces:
GJVoidVisitor<A>

public class GJVoidDepthFirst<A>
extends java.lang.Object
implements GJVoidVisitor<A>

Provides default methods which visit each node in the tree in depth-first order. Your visitors may extend this class.


Constructor Summary
GJVoidDepthFirst()
           
 
Method Summary
 void visit(ALoadStmt n, A argu)
           nodeToken -> "ALOAD" reg -> Reg() spilledArg -> SpilledArg()
 void visit(AStoreStmt n, A argu)
           nodeToken -> "ASTORE" spilledArg -> SpilledArg() reg -> Reg()
 void visit(BinOp n, A argu)
           operator -> Operator() reg -> Reg() simpleExp -> SimpleExp()
 void visit(CallStmt n, A argu)
           nodeToken -> "CALL" simpleExp -> SimpleExp()
 void visit(CJumpStmt n, A argu)
           nodeToken -> "CJUMP" reg -> Reg() label -> Label()
 void visit(ErrorStmt n, A argu)
           nodeToken -> "ERROR"
 void visit(Exp n, A argu)
           nodeChoice -> HAllocate() | BinOp() | SimpleExp()
 void visit(Goal n, A argu)
           nodeToken -> "MAIN" nodeToken1 -> "[" integerLiteral -> IntegerLiteral() nodeToken2 -> "]" nodeToken3 -> "[" integerLiteral1 -> IntegerLiteral() nodeToken4 -> "]" nodeToken5 -> "[" integerLiteral2 -> IntegerLiteral() nodeToken6 -> "]" stmtList -> StmtList() nodeToken7 -> "END" nodeListOptional -> ( Procedure() )* nodeToken8 -> <EOF>
 void visit(HAllocate n, A argu)
           nodeToken -> "HALLOCATE" simpleExp -> SimpleExp()
 void visit(HLoadStmt n, A argu)
           nodeToken -> "HLOAD" reg -> Reg() reg1 -> Reg() integerLiteral -> IntegerLiteral()
 void visit(HStoreStmt n, A argu)
           nodeToken -> "HSTORE" reg -> Reg() integerLiteral -> IntegerLiteral() reg1 -> Reg()
 void visit(IntegerLiteral n, A argu)
           nodeToken -> <INTEGER_LITERAL>
 void visit(JumpStmt n, A argu)
           nodeToken -> "JUMP" label -> Label()
 void visit(Label n, A argu)
           nodeToken -> <IDENTIFIER>
 void visit(MoveStmt n, A argu)
           nodeToken -> "MOVE" reg -> Reg() exp -> Exp()
 void visit(NodeList n, A argu)
           
 void visit(NodeListOptional n, A argu)
           
 void visit(NodeOptional n, A argu)
           
 void visit(NodeSequence n, A argu)
           
 void visit(NodeToken n, A argu)
           
 void visit(NoOpStmt n, A argu)
           nodeToken -> "NOOP"
 void visit(Operator n, A argu)
           nodeChoice -> "LT" | "PLUS" | "MINUS" | "TIMES"
 void visit(PassArgStmt n, A argu)
           nodeToken -> "PASSARG" integerLiteral -> IntegerLiteral() reg -> Reg()
 void visit(PrintStmt n, A argu)
           nodeToken -> "PRINT" simpleExp -> SimpleExp()
 void visit(Procedure n, A argu)
           label -> Label() nodeToken -> "[" integerLiteral -> IntegerLiteral() nodeToken1 -> "]" nodeToken2 -> "[" integerLiteral1 -> IntegerLiteral() nodeToken3 -> "]" nodeToken4 -> "[" integerLiteral2 -> IntegerLiteral() nodeToken5 -> "]" stmtList -> StmtList() nodeToken6 -> "END"
 void visit(Reg n, A argu)
           nodeChoice -> "a0" | "a1" | "a2" | "a3" | "t0" | "t1" | "t2" | "t3" | "t4" | "t5" | "t6" | "t7" | "s0" | "s1" | "s2" | "s3" | "s4" | "s5" | "s6" | "s7" | "t8" | "t9" | "v0" | "v1"
 void visit(SimpleExp n, A argu)
           nodeChoice -> Reg() | IntegerLiteral() | Label()
 void visit(SpilledArg n, A argu)
           nodeToken -> "SPILLEDARG" integerLiteral -> IntegerLiteral()
 void visit(Stmt n, A argu)
           nodeChoice -> NoOpStmt() | ErrorStmt() | CJumpStmt() | JumpStmt() | HStoreStmt() | HLoadStmt() | MoveStmt() | PrintStmt() | ALoadStmt() | AStoreStmt() | PassArgStmt() | CallStmt()
 void visit(StmtList n, A argu)
           nodeListOptional -> ( ( Label() )? Stmt() )*
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GJVoidDepthFirst

public GJVoidDepthFirst()
Method Detail

visit

public void visit(NodeList n,
                  A argu)
Specified by:
visit in interface GJVoidVisitor<A>

visit

public void visit(NodeListOptional n,
                  A argu)
Specified by:
visit in interface GJVoidVisitor<A>

visit

public void visit(NodeOptional n,
                  A argu)
Specified by:
visit in interface GJVoidVisitor<A>

visit

public void visit(NodeSequence n,
                  A argu)
Specified by:
visit in interface GJVoidVisitor<A>

visit

public void visit(NodeToken n,
                  A argu)
Specified by:
visit in interface GJVoidVisitor<A>

visit

public void visit(Goal n,
                  A argu)
 nodeToken -> "MAIN"
 nodeToken1 -> "["
 integerLiteral -> IntegerLiteral()
 nodeToken2 -> "]"
 nodeToken3 -> "["
 integerLiteral1 -> IntegerLiteral()
 nodeToken4 -> "]"
 nodeToken5 -> "["
 integerLiteral2 -> IntegerLiteral()
 nodeToken6 -> "]"
 stmtList -> StmtList()
 nodeToken7 -> "END"
 nodeListOptional -> ( Procedure() )*
 nodeToken8 -> <EOF>
 

Specified by:
visit in interface GJVoidVisitor<A>

visit

public void visit(StmtList n,
                  A argu)
 nodeListOptional -> ( ( Label() )? Stmt() )*
 

Specified by:
visit in interface GJVoidVisitor<A>

visit

public void visit(Procedure n,
                  A argu)
 label -> Label()
 nodeToken -> "["
 integerLiteral -> IntegerLiteral()
 nodeToken1 -> "]"
 nodeToken2 -> "["
 integerLiteral1 -> IntegerLiteral()
 nodeToken3 -> "]"
 nodeToken4 -> "["
 integerLiteral2 -> IntegerLiteral()
 nodeToken5 -> "]"
 stmtList -> StmtList()
 nodeToken6 -> "END"
 

Specified by:
visit in interface GJVoidVisitor<A>

visit

public void visit(Stmt n,
                  A argu)
 nodeChoice -> NoOpStmt()
       | ErrorStmt()
       | CJumpStmt()
       | JumpStmt()
       | HStoreStmt()
       | HLoadStmt()
       | MoveStmt()
       | PrintStmt()
       | ALoadStmt()
       | AStoreStmt()
       | PassArgStmt()
       | CallStmt()
 

Specified by:
visit in interface GJVoidVisitor<A>

visit

public void visit(NoOpStmt n,
                  A argu)
 nodeToken -> "NOOP"
 

Specified by:
visit in interface GJVoidVisitor<A>

visit

public void visit(ErrorStmt n,
                  A argu)
 nodeToken -> "ERROR"
 

Specified by:
visit in interface GJVoidVisitor<A>

visit

public void visit(CJumpStmt n,
                  A argu)
 nodeToken -> "CJUMP"
 reg -> Reg()
 label -> Label()
 

Specified by:
visit in interface GJVoidVisitor<A>

visit

public void visit(JumpStmt n,
                  A argu)
 nodeToken -> "JUMP"
 label -> Label()
 

Specified by:
visit in interface GJVoidVisitor<A>

visit

public void visit(HStoreStmt n,
                  A argu)
 nodeToken -> "HSTORE"
 reg -> Reg()
 integerLiteral -> IntegerLiteral()
 reg1 -> Reg()
 

Specified by:
visit in interface GJVoidVisitor<A>

visit

public void visit(HLoadStmt n,
                  A argu)
 nodeToken -> "HLOAD"
 reg -> Reg()
 reg1 -> Reg()
 integerLiteral -> IntegerLiteral()
 

Specified by:
visit in interface GJVoidVisitor<A>

visit

public void visit(MoveStmt n,
                  A argu)
 nodeToken -> "MOVE"
 reg -> Reg()
 exp -> Exp()
 

Specified by:
visit in interface GJVoidVisitor<A>

visit

public void visit(PrintStmt n,
                  A argu)
 nodeToken -> "PRINT"
 simpleExp -> SimpleExp()
 

Specified by:
visit in interface GJVoidVisitor<A>

visit

public void visit(ALoadStmt n,
                  A argu)
 nodeToken -> "ALOAD"
 reg -> Reg()
 spilledArg -> SpilledArg()
 

Specified by:
visit in interface GJVoidVisitor<A>

visit

public void visit(AStoreStmt n,
                  A argu)
 nodeToken -> "ASTORE"
 spilledArg -> SpilledArg()
 reg -> Reg()
 

Specified by:
visit in interface GJVoidVisitor<A>

visit

public void visit(PassArgStmt n,
                  A argu)
 nodeToken -> "PASSARG"
 integerLiteral -> IntegerLiteral()
 reg -> Reg()
 

Specified by:
visit in interface GJVoidVisitor<A>

visit

public void visit(CallStmt n,
                  A argu)
 nodeToken -> "CALL"
 simpleExp -> SimpleExp()
 

Specified by:
visit in interface GJVoidVisitor<A>

visit

public void visit(Exp n,
                  A argu)
 nodeChoice -> HAllocate()
       | BinOp()
       | SimpleExp()
 

Specified by:
visit in interface GJVoidVisitor<A>

visit

public void visit(HAllocate n,
                  A argu)
 nodeToken -> "HALLOCATE"
 simpleExp -> SimpleExp()
 

Specified by:
visit in interface GJVoidVisitor<A>

visit

public void visit(BinOp n,
                  A argu)
 operator -> Operator()
 reg -> Reg()
 simpleExp -> SimpleExp()
 

Specified by:
visit in interface GJVoidVisitor<A>

visit

public void visit(Operator n,
                  A argu)
 nodeChoice -> "LT"
       | "PLUS"
       | "MINUS"
       | "TIMES"
 

Specified by:
visit in interface GJVoidVisitor<A>

visit

public void visit(SpilledArg n,
                  A argu)
 nodeToken -> "SPILLEDARG"
 integerLiteral -> IntegerLiteral()
 

Specified by:
visit in interface GJVoidVisitor<A>

visit

public void visit(SimpleExp n,
                  A argu)
 nodeChoice -> Reg()
       | IntegerLiteral()
       | Label()
 

Specified by:
visit in interface GJVoidVisitor<A>

visit

public void visit(Reg n,
                  A argu)
 nodeChoice -> "a0"
       | "a1"
       | "a2"
       | "a3"
       | "t0"
       | "t1"
       | "t2"
       | "t3"
       | "t4"
       | "t5"
       | "t6"
       | "t7"
       | "s0"
       | "s1"
       | "s2"
       | "s3"
       | "s4"
       | "s5"
       | "s6"
       | "s7"
       | "t8"
       | "t9"
       | "v0"
       | "v1"
 

Specified by:
visit in interface GJVoidVisitor<A>

visit

public void visit(IntegerLiteral n,
                  A argu)
 nodeToken -> <INTEGER_LITERAL>
 

Specified by:
visit in interface GJVoidVisitor<A>

visit

public void visit(Label n,
                  A argu)
 nodeToken -> <IDENTIFIER>
 

Specified by:
visit in interface GJVoidVisitor<A>