2 // Generated from Toc.g4 by ANTLR 4.9.2
\r
7 #include "antlr4-runtime.h"
\r
8 #include "TocParser.h"
\r
12 * This interface defines an abstract listener for a parse tree produced by TocParser.
\r
14 class TocListener : public antlr4::tree::ParseTreeListener {
\r
17 virtual void enterProg(TocParser::ProgContext *ctx) = 0;
\r
18 virtual void exitProg(TocParser::ProgContext *ctx) = 0;
\r
20 virtual void enterDecl(TocParser::DeclContext *ctx) = 0;
\r
21 virtual void exitDecl(TocParser::DeclContext *ctx) = 0;
\r
23 virtual void enterVarDecl(TocParser::VarDeclContext *ctx) = 0;
\r
24 virtual void exitVarDecl(TocParser::VarDeclContext *ctx) = 0;
\r
26 virtual void enterVar(TocParser::VarContext *ctx) = 0;
\r
27 virtual void exitVar(TocParser::VarContext *ctx) = 0;
\r
29 virtual void enterVarInit(TocParser::VarInitContext *ctx) = 0;
\r
30 virtual void exitVarInit(TocParser::VarInitContext *ctx) = 0;
\r
32 virtual void enterType(TocParser::TypeContext *ctx) = 0;
\r
33 virtual void exitType(TocParser::TypeContext *ctx) = 0;
\r
35 virtual void enterTypeModifier(TocParser::TypeModifierContext *ctx) = 0;
\r
36 virtual void exitTypeModifier(TocParser::TypeModifierContext *ctx) = 0;
\r
38 virtual void enterFuncDecl(TocParser::FuncDeclContext *ctx) = 0;
\r
39 virtual void exitFuncDecl(TocParser::FuncDeclContext *ctx) = 0;
\r
41 virtual void enterFunc(TocParser::FuncContext *ctx) = 0;
\r
42 virtual void exitFunc(TocParser::FuncContext *ctx) = 0;
\r
44 virtual void enterParameter(TocParser::ParameterContext *ctx) = 0;
\r
45 virtual void exitParameter(TocParser::ParameterContext *ctx) = 0;
\r
47 virtual void enterBody(TocParser::BodyContext *ctx) = 0;
\r
48 virtual void exitBody(TocParser::BodyContext *ctx) = 0;
\r
50 virtual void enterStructDecl(TocParser::StructDeclContext *ctx) = 0;
\r
51 virtual void exitStructDecl(TocParser::StructDeclContext *ctx) = 0;
\r
53 virtual void enterStructMember(TocParser::StructMemberContext *ctx) = 0;
\r
54 virtual void exitStructMember(TocParser::StructMemberContext *ctx) = 0;
\r
56 virtual void enterStructVar(TocParser::StructVarContext *ctx) = 0;
\r
57 virtual void exitStructVar(TocParser::StructVarContext *ctx) = 0;
\r
59 virtual void enterStructMethod(TocParser::StructMethodContext *ctx) = 0;
\r
60 virtual void exitStructMethod(TocParser::StructMethodContext *ctx) = 0;
\r
62 virtual void enterStmt(TocParser::StmtContext *ctx) = 0;
\r
63 virtual void exitStmt(TocParser::StmtContext *ctx) = 0;
\r
65 virtual void enterIfStmt(TocParser::IfStmtContext *ctx) = 0;
\r
66 virtual void exitIfStmt(TocParser::IfStmtContext *ctx) = 0;
\r
68 virtual void enterSwitchStmt(TocParser::SwitchStmtContext *ctx) = 0;
\r
69 virtual void exitSwitchStmt(TocParser::SwitchStmtContext *ctx) = 0;
\r
71 virtual void enterSwitchBody(TocParser::SwitchBodyContext *ctx) = 0;
\r
72 virtual void exitSwitchBody(TocParser::SwitchBodyContext *ctx) = 0;
\r
74 virtual void enterForStmt(TocParser::ForStmtContext *ctx) = 0;
\r
75 virtual void exitForStmt(TocParser::ForStmtContext *ctx) = 0;
\r
77 virtual void enterWhileStmt(TocParser::WhileStmtContext *ctx) = 0;
\r
78 virtual void exitWhileStmt(TocParser::WhileStmtContext *ctx) = 0;
\r
80 virtual void enterAssignStmt(TocParser::AssignStmtContext *ctx) = 0;
\r
81 virtual void exitAssignStmt(TocParser::AssignStmtContext *ctx) = 0;
\r
83 virtual void enterReturnStmt(TocParser::ReturnStmtContext *ctx) = 0;
\r
84 virtual void exitReturnStmt(TocParser::ReturnStmtContext *ctx) = 0;
\r
86 virtual void enterExpr(TocParser::ExprContext *ctx) = 0;
\r
87 virtual void exitExpr(TocParser::ExprContext *ctx) = 0;
\r
89 virtual void enterNonOpExpr(TocParser::NonOpExprContext *ctx) = 0;
\r
90 virtual void exitNonOpExpr(TocParser::NonOpExprContext *ctx) = 0;
\r
92 virtual void enterNonAccessExpr(TocParser::NonAccessExprContext *ctx) = 0;
\r
93 virtual void exitNonAccessExpr(TocParser::NonAccessExprContext *ctx) = 0;
\r
95 virtual void enterFuncExpr(TocParser::FuncExprContext *ctx) = 0;
\r
96 virtual void exitFuncExpr(TocParser::FuncExprContext *ctx) = 0;
\r
98 virtual void enterOpExpr(TocParser::OpExprContext *ctx) = 0;
\r
99 virtual void exitOpExpr(TocParser::OpExprContext *ctx) = 0;
\r
101 virtual void enterBinaryOp(TocParser::BinaryOpContext *ctx) = 0;
\r
102 virtual void exitBinaryOp(TocParser::BinaryOpContext *ctx) = 0;
\r
104 virtual void enterPrefixOp(TocParser::PrefixOpContext *ctx) = 0;
\r
105 virtual void exitPrefixOp(TocParser::PrefixOpContext *ctx) = 0;
\r
107 virtual void enterPostfixOp(TocParser::PostfixOpContext *ctx) = 0;
\r
108 virtual void exitPostfixOp(TocParser::PostfixOpContext *ctx) = 0;
\r
110 virtual void enterTernaryOp(TocParser::TernaryOpContext *ctx) = 0;
\r
111 virtual void exitTernaryOp(TocParser::TernaryOpContext *ctx) = 0;
\r
113 virtual void enterIdentifierExpr(TocParser::IdentifierExprContext *ctx) = 0;
\r
114 virtual void exitIdentifierExpr(TocParser::IdentifierExprContext *ctx) = 0;
\r
116 virtual void enterLitExpr(TocParser::LitExprContext *ctx) = 0;
\r
117 virtual void exitLitExpr(TocParser::LitExprContext *ctx) = 0;
\r
119 virtual void enterAccessExpr(TocParser::AccessExprContext *ctx) = 0;
\r
120 virtual void exitAccessExpr(TocParser::AccessExprContext *ctx) = 0;
\r
122 virtual void enterParenExpr(TocParser::ParenExprContext *ctx) = 0;
\r
123 virtual void exitParenExpr(TocParser::ParenExprContext *ctx) = 0;
\r
125 virtual void enterFuncName(TocParser::FuncNameContext *ctx) = 0;
\r
126 virtual void exitFuncName(TocParser::FuncNameContext *ctx) = 0;
\r
128 virtual void enterVarName(TocParser::VarNameContext *ctx) = 0;
\r
129 virtual void exitVarName(TocParser::VarNameContext *ctx) = 0;
\r
131 virtual void enterTypeName(TocParser::TypeNameContext *ctx) = 0;
\r
132 virtual void exitTypeName(TocParser::TypeNameContext *ctx) = 0;
\r
134 virtual void enterStructName(TocParser::StructNameContext *ctx) = 0;
\r
135 virtual void exitStructName(TocParser::StructNameContext *ctx) = 0;
\r