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 enterType(TocParser::TypeContext *ctx) = 0;
\r
30 virtual void exitType(TocParser::TypeContext *ctx) = 0;
\r
32 virtual void enterFuncDecl(TocParser::FuncDeclContext *ctx) = 0;
\r
33 virtual void exitFuncDecl(TocParser::FuncDeclContext *ctx) = 0;
\r
35 virtual void enterFunc(TocParser::FuncContext *ctx) = 0;
\r
36 virtual void exitFunc(TocParser::FuncContext *ctx) = 0;
\r
38 virtual void enterParameter(TocParser::ParameterContext *ctx) = 0;
\r
39 virtual void exitParameter(TocParser::ParameterContext *ctx) = 0;
\r
41 virtual void enterFirstParameter(TocParser::FirstParameterContext *ctx) = 0;
\r
42 virtual void exitFirstParameter(TocParser::FirstParameterContext *ctx) = 0;
\r
44 virtual void enterAdditionalParameter(TocParser::AdditionalParameterContext *ctx) = 0;
\r
45 virtual void exitAdditionalParameter(TocParser::AdditionalParameterContext *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 enterConditional(TocParser::ConditionalContext *ctx) = 0;
\r
66 virtual void exitConditional(TocParser::ConditionalContext *ctx) = 0;
\r
68 virtual void enterIfCond(TocParser::IfCondContext *ctx) = 0;
\r
69 virtual void exitIfCond(TocParser::IfCondContext *ctx) = 0;
\r
71 virtual void enterLoop(TocParser::LoopContext *ctx) = 0;
\r
72 virtual void exitLoop(TocParser::LoopContext *ctx) = 0;
\r
74 virtual void enterWhileLoop(TocParser::WhileLoopContext *ctx) = 0;
\r
75 virtual void exitWhileLoop(TocParser::WhileLoopContext *ctx) = 0;
\r
77 virtual void enterAssignment(TocParser::AssignmentContext *ctx) = 0;
\r
78 virtual void exitAssignment(TocParser::AssignmentContext *ctx) = 0;
\r
80 virtual void enterReturnStmt(TocParser::ReturnStmtContext *ctx) = 0;
\r
81 virtual void exitReturnStmt(TocParser::ReturnStmtContext *ctx) = 0;
\r
83 virtual void enterExpr(TocParser::ExprContext *ctx) = 0;
\r
84 virtual void exitExpr(TocParser::ExprContext *ctx) = 0;
\r
86 virtual void enterNonOpExpr(TocParser::NonOpExprContext *ctx) = 0;
\r
87 virtual void exitNonOpExpr(TocParser::NonOpExprContext *ctx) = 0;
\r
89 virtual void enterNonSubscriptExpr(TocParser::NonSubscriptExprContext *ctx) = 0;
\r
90 virtual void exitNonSubscriptExpr(TocParser::NonSubscriptExprContext *ctx) = 0;
\r
92 virtual void enterFuncCall(TocParser::FuncCallContext *ctx) = 0;
\r
93 virtual void exitFuncCall(TocParser::FuncCallContext *ctx) = 0;
\r
95 virtual void enterOperatorExpr(TocParser::OperatorExprContext *ctx) = 0;
\r
96 virtual void exitOperatorExpr(TocParser::OperatorExprContext *ctx) = 0;
\r
98 virtual void enterBinaryOperator(TocParser::BinaryOperatorContext *ctx) = 0;
\r
99 virtual void exitBinaryOperator(TocParser::BinaryOperatorContext *ctx) = 0;
\r
101 virtual void enterIdentifier(TocParser::IdentifierContext *ctx) = 0;
\r
102 virtual void exitIdentifier(TocParser::IdentifierContext *ctx) = 0;
\r
104 virtual void enterLiteral(TocParser::LiteralContext *ctx) = 0;
\r
105 virtual void exitLiteral(TocParser::LiteralContext *ctx) = 0;
\r
107 virtual void enterSubscript(TocParser::SubscriptContext *ctx) = 0;
\r
108 virtual void exitSubscript(TocParser::SubscriptContext *ctx) = 0;
\r
110 virtual void enterMemberAccess(TocParser::MemberAccessContext *ctx) = 0;
\r
111 virtual void exitMemberAccess(TocParser::MemberAccessContext *ctx) = 0;
\r
113 virtual void enterParenExpr(TocParser::ParenExprContext *ctx) = 0;
\r
114 virtual void exitParenExpr(TocParser::ParenExprContext *ctx) = 0;
\r
116 virtual void enterFuncName(TocParser::FuncNameContext *ctx) = 0;
\r
117 virtual void exitFuncName(TocParser::FuncNameContext *ctx) = 0;
\r
119 virtual void enterVarName(TocParser::VarNameContext *ctx) = 0;
\r
120 virtual void exitVarName(TocParser::VarNameContext *ctx) = 0;
\r
122 virtual void enterTypeName(TocParser::TypeNameContext *ctx) = 0;
\r
123 virtual void exitTypeName(TocParser::TypeNameContext *ctx) = 0;
\r
125 virtual void enterStructName(TocParser::StructNameContext *ctx) = 0;
\r
126 virtual void exitStructName(TocParser::StructNameContext *ctx) = 0;
\r