|
|||||||||
| 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 | ||||||||