|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface GJVoidVisitor<A>
All GJ void visitors must implement this interface.
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() )* |
Method Detail |
---|
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(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(StmtList n, A argu)
nodeListOptional -> ( ( Label() )? Stmt() )*
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(Stmt n, A argu)
nodeChoice -> NoOpStmt() | ErrorStmt() | CJumpStmt() | JumpStmt() | HStoreStmt() | HLoadStmt() | MoveStmt() | PrintStmt() | ALoadStmt() | AStoreStmt() | PassArgStmt() | CallStmt()
void visit(NoOpStmt n, A argu)
nodeToken -> "NOOP"
void visit(ErrorStmt n, A argu)
nodeToken -> "ERROR"
void visit(CJumpStmt n, A argu)
nodeToken -> "CJUMP" reg -> Reg() label -> Label()
void visit(JumpStmt n, A argu)
nodeToken -> "JUMP" label -> Label()
void visit(HStoreStmt n, A argu)
nodeToken -> "HSTORE" reg -> Reg() integerLiteral -> IntegerLiteral() reg1 -> Reg()
void visit(HLoadStmt n, A argu)
nodeToken -> "HLOAD" reg -> Reg() reg1 -> Reg() integerLiteral -> IntegerLiteral()
void visit(MoveStmt n, A argu)
nodeToken -> "MOVE" reg -> Reg() exp -> Exp()
void visit(PrintStmt n, A argu)
nodeToken -> "PRINT" simpleExp -> SimpleExp()
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(PassArgStmt n, A argu)
nodeToken -> "PASSARG" integerLiteral -> IntegerLiteral() reg -> Reg()
void visit(CallStmt n, A argu)
nodeToken -> "CALL" simpleExp -> SimpleExp()
void visit(Exp n, A argu)
nodeChoice -> HAllocate() | BinOp() | SimpleExp()
void visit(HAllocate n, A argu)
nodeToken -> "HALLOCATE" simpleExp -> SimpleExp()
void visit(BinOp n, A argu)
operator -> Operator() reg -> Reg() simpleExp -> SimpleExp()
void visit(Operator n, A argu)
nodeChoice -> "LT" | "PLUS" | "MINUS" | "TIMES"
void visit(SpilledArg n, A argu)
nodeToken -> "SPILLEDARG" integerLiteral -> IntegerLiteral()
void visit(SimpleExp n, A argu)
nodeChoice -> Reg() | IntegerLiteral() | Label()
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(IntegerLiteral n, A argu)
nodeToken -> <INTEGER_LITERAL>
void visit(Label n, A argu)
nodeToken -> <IDENTIFIER>
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |