diff options
Diffstat (limited to 'src/spiglet/visitor/GJVoidVisitor.java')
-rw-r--r-- | src/spiglet/visitor/GJVoidVisitor.java | 212 |
1 files changed, 212 insertions, 0 deletions
diff --git a/src/spiglet/visitor/GJVoidVisitor.java b/src/spiglet/visitor/GJVoidVisitor.java new file mode 100644 index 0000000..ac47082 --- /dev/null +++ b/src/spiglet/visitor/GJVoidVisitor.java @@ -0,0 +1,212 @@ +// +// Generated by JTB 1.3.2 +//
+
+package spiglet.visitor;
+import spiglet.syntaxtree.BinOp; +import spiglet.syntaxtree.CJumpStmt; +import spiglet.syntaxtree.Call; +import spiglet.syntaxtree.ErrorStmt; +import spiglet.syntaxtree.Exp; +import spiglet.syntaxtree.Goal; +import spiglet.syntaxtree.HAllocate; +import spiglet.syntaxtree.HLoadStmt; +import spiglet.syntaxtree.HStoreStmt; +import spiglet.syntaxtree.IntegerLiteral; +import spiglet.syntaxtree.JumpStmt; +import spiglet.syntaxtree.Label; +import spiglet.syntaxtree.MoveStmt; +import spiglet.syntaxtree.NoOpStmt; +import spiglet.syntaxtree.NodeList; +import spiglet.syntaxtree.NodeListOptional; +import spiglet.syntaxtree.NodeOptional; +import spiglet.syntaxtree.NodeSequence; +import spiglet.syntaxtree.NodeToken; +import spiglet.syntaxtree.Operator; +import spiglet.syntaxtree.PrintStmt; +import spiglet.syntaxtree.Procedure; +import spiglet.syntaxtree.SimpleExp; +import spiglet.syntaxtree.Stmt; +import spiglet.syntaxtree.StmtExp; +import spiglet.syntaxtree.StmtList; +import spiglet.syntaxtree.Temp; +
+/**
+ * All GJ void visitors must implement this interface.
+ */ +
+public interface GJVoidVisitor<A> { +
+ //
+ // GJ void Auto class visitors
+ // +
+ public void visit(NodeList n, A argu); + public void visit(NodeListOptional n, A argu); + public void visit(NodeOptional n, A argu); + public void visit(NodeSequence n, A argu); + public void visit(NodeToken n, A argu); +
+ //
+ // User-generated visitor methods below
+ //
+
+ /**
+ * f0 -> "MAIN"
+ * f1 -> StmtList()
+ * f2 -> "END"
+ * f3 -> ( Procedure() )*
+ * f4 -> <EOF>
+ */
+ public void visit(Goal n, A argu); +
+ /**
+ * f0 -> ( ( Label() )? Stmt() )*
+ */
+ public void visit(StmtList n, A argu); +
+ /**
+ * f0 -> Label()
+ * f1 -> "["
+ * f2 -> IntegerLiteral()
+ * f3 -> "]"
+ * f4 -> StmtExp()
+ */
+ public void visit(Procedure n, A argu); +
+ /**
+ * f0 -> NoOpStmt()
+ * | ErrorStmt()
+ * | CJumpStmt()
+ * | JumpStmt()
+ * | HStoreStmt()
+ * | HLoadStmt()
+ * | MoveStmt()
+ * | PrintStmt()
+ */
+ public void visit(Stmt n, A argu); +
+ /**
+ * f0 -> "NOOP"
+ */
+ public void visit(NoOpStmt n, A argu); +
+ /**
+ * f0 -> "ERROR"
+ */
+ public void visit(ErrorStmt n, A argu); +
+ /**
+ * f0 -> "CJUMP"
+ * f1 -> Temp()
+ * f2 -> Label()
+ */
+ public void visit(CJumpStmt n, A argu); +
+ /**
+ * f0 -> "JUMP"
+ * f1 -> Label()
+ */
+ public void visit(JumpStmt n, A argu); +
+ /**
+ * f0 -> "HSTORE"
+ * f1 -> Temp()
+ * f2 -> IntegerLiteral()
+ * f3 -> Temp()
+ */
+ public void visit(HStoreStmt n, A argu); +
+ /**
+ * f0 -> "HLOAD"
+ * f1 -> Temp()
+ * f2 -> Temp()
+ * f3 -> IntegerLiteral()
+ */
+ public void visit(HLoadStmt n, A argu); +
+ /**
+ * f0 -> "MOVE"
+ * f1 -> Temp()
+ * f2 -> Exp()
+ */
+ public void visit(MoveStmt n, A argu); +
+ /**
+ * f0 -> "PRINT"
+ * f1 -> SimpleExp()
+ */
+ public void visit(PrintStmt n, A argu); +
+ /**
+ * f0 -> Call()
+ * | HAllocate()
+ * | BinOp()
+ * | SimpleExp()
+ */
+ public void visit(Exp n, A argu); +
+ /**
+ * f0 -> "BEGIN"
+ * f1 -> StmtList()
+ * f2 -> "RETURN"
+ * f3 -> SimpleExp()
+ * f4 -> "END"
+ */
+ public void visit(StmtExp n, A argu); +
+ /**
+ * f0 -> "CALL"
+ * f1 -> SimpleExp()
+ * f2 -> "("
+ * f3 -> ( Temp() )*
+ * f4 -> ")"
+ */
+ public void visit(Call n, A argu); +
+ /**
+ * f0 -> "HALLOCATE"
+ * f1 -> SimpleExp()
+ */
+ public void visit(HAllocate n, A argu); +
+ /**
+ * f0 -> Operator()
+ * f1 -> Temp()
+ * f2 -> SimpleExp()
+ */
+ public void visit(BinOp n, A argu); +
+ /**
+ * f0 -> "LT"
+ * | "PLUS"
+ * | "MINUS"
+ * | "TIMES"
+ */
+ public void visit(Operator n, A argu); +
+ /**
+ * f0 -> Temp()
+ * | IntegerLiteral()
+ * | Label()
+ */
+ public void visit(SimpleExp n, A argu); +
+ /**
+ * f0 -> "TEMP"
+ * f1 -> IntegerLiteral()
+ */
+ public void visit(Temp n, A argu); +
+ /**
+ * f0 -> <INTEGER_LITERAL>
+ */
+ public void visit(IntegerLiteral n, A argu); +
+ /**
+ * f0 -> <IDENTIFIER>
+ */
+ public void visit(Label n, A argu); +
+} +
|