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 enterElseIfStmt(TocParser::ElseIfStmtContext *ctx) = 0;
\r
69 virtual void exitElseIfStmt(TocParser::ElseIfStmtContext *ctx) = 0;
\r
71 virtual void enterElseStmt(TocParser::ElseStmtContext *ctx) = 0;
\r
72 virtual void exitElseStmt(TocParser::ElseStmtContext *ctx) = 0;
\r
74 virtual void enterSwitchStmt(TocParser::SwitchStmtContext *ctx) = 0;
\r
75 virtual void exitSwitchStmt(TocParser::SwitchStmtContext *ctx) = 0;
\r
77 virtual void enterSwitchBody(TocParser::SwitchBodyContext *ctx) = 0;
\r
78 virtual void exitSwitchBody(TocParser::SwitchBodyContext *ctx) = 0;
\r
80 virtual void enterSwitchCase(TocParser::SwitchCaseContext *ctx) = 0;
\r
81 virtual void exitSwitchCase(TocParser::SwitchCaseContext *ctx) = 0;
\r
83 virtual void enterForStmt(TocParser::ForStmtContext *ctx) = 0;
\r
84 virtual void exitForStmt(TocParser::ForStmtContext *ctx) = 0;
\r
86 virtual void enterWhileStmt(TocParser::WhileStmtContext *ctx) = 0;
\r
87 virtual void exitWhileStmt(TocParser::WhileStmtContext *ctx) = 0;
\r
89 virtual void enterAssignStmt(TocParser::AssignStmtContext *ctx) = 0;
\r
90 virtual void exitAssignStmt(TocParser::AssignStmtContext *ctx) = 0;
\r
92 virtual void enterReturnStmt(TocParser::ReturnStmtContext *ctx) = 0;
\r
93 virtual void exitReturnStmt(TocParser::ReturnStmtContext *ctx) = 0;
\r
95 virtual void enterExpr(TocParser::ExprContext *ctx) = 0;
\r
96 virtual void exitExpr(TocParser::ExprContext *ctx) = 0;
\r
98 virtual void enterNonOpExpr(TocParser::NonOpExprContext *ctx) = 0;
\r
99 virtual void exitNonOpExpr(TocParser::NonOpExprContext *ctx) = 0;
\r
101 virtual void enterNonAccessExpr(TocParser::NonAccessExprContext *ctx) = 0;
\r
102 virtual void exitNonAccessExpr(TocParser::NonAccessExprContext *ctx) = 0;
\r
104 virtual void enterFuncExpr(TocParser::FuncExprContext *ctx) = 0;
\r
105 virtual void exitFuncExpr(TocParser::FuncExprContext *ctx) = 0;
\r
107 virtual void enterOpExpr(TocParser::OpExprContext *ctx) = 0;
\r
108 virtual void exitOpExpr(TocParser::OpExprContext *ctx) = 0;
\r
110 virtual void enterBinaryOp(TocParser::BinaryOpContext *ctx) = 0;
\r
111 virtual void exitBinaryOp(TocParser::BinaryOpContext *ctx) = 0;
\r
113 virtual void enterPrefixOp(TocParser::PrefixOpContext *ctx) = 0;
\r
114 virtual void exitPrefixOp(TocParser::PrefixOpContext *ctx) = 0;
\r
116 virtual void enterPostfixOp(TocParser::PostfixOpContext *ctx) = 0;
\r
117 virtual void exitPostfixOp(TocParser::PostfixOpContext *ctx) = 0;
\r
119 virtual void enterTernaryOp(TocParser::TernaryOpContext *ctx) = 0;
\r
120 virtual void exitTernaryOp(TocParser::TernaryOpContext *ctx) = 0;
\r
122 virtual void enterIdentifierExpr(TocParser::IdentifierExprContext *ctx) = 0;
\r
123 virtual void exitIdentifierExpr(TocParser::IdentifierExprContext *ctx) = 0;
\r
125 virtual void enterLitExpr(TocParser::LitExprContext *ctx) = 0;
\r
126 virtual void exitLitExpr(TocParser::LitExprContext *ctx) = 0;
\r
128 virtual void enterAccessExpr(TocParser::AccessExprContext *ctx) = 0;
\r
129 virtual void exitAccessExpr(TocParser::AccessExprContext *ctx) = 0;
\r
131 virtual void enterAccessSubExpr(TocParser::AccessSubExprContext *ctx) = 0;
\r
132 virtual void exitAccessSubExpr(TocParser::AccessSubExprContext *ctx) = 0;
\r
134 virtual void enterAccessMember(TocParser::AccessMemberContext *ctx) = 0;
\r
135 virtual void exitAccessMember(TocParser::AccessMemberContext *ctx) = 0;
\r
137 virtual void enterAccessBrackets(TocParser::AccessBracketsContext *ctx) = 0;
\r
138 virtual void exitAccessBrackets(TocParser::AccessBracketsContext *ctx) = 0;
\r
140 virtual void enterParenExpr(TocParser::ParenExprContext *ctx) = 0;
\r
141 virtual void exitParenExpr(TocParser::ParenExprContext *ctx) = 0;
\r
143 virtual void enterFuncName(TocParser::FuncNameContext *ctx) = 0;
\r
144 virtual void exitFuncName(TocParser::FuncNameContext *ctx) = 0;
\r
146 virtual void enterVarName(TocParser::VarNameContext *ctx) = 0;
\r
147 virtual void exitVarName(TocParser::VarNameContext *ctx) = 0;
\r
149 virtual void enterTypeName(TocParser::TypeNameContext *ctx) = 0;
\r
150 virtual void exitTypeName(TocParser::TypeNameContext *ctx) = 0;
\r
152 virtual void enterStructName(TocParser::StructNameContext *ctx) = 0;
\r
153 virtual void exitStructName(TocParser::StructNameContext *ctx) = 0;
\r
155 virtual void enterPostfix_op(TocParser::Postfix_opContext *ctx) = 0;
\r
156 virtual void exitPostfix_op(TocParser::Postfix_opContext *ctx) = 0;
\r
158 virtual void enterPrefix_op(TocParser::Prefix_opContext *ctx) = 0;
\r
159 virtual void exitPrefix_op(TocParser::Prefix_opContext *ctx) = 0;
\r
161 virtual void enterBinary_op(TocParser::Binary_opContext *ctx) = 0;
\r
162 virtual void exitBinary_op(TocParser::Binary_opContext *ctx) = 0;
\r