+++ /dev/null
-\r
-// Generated from Toc.g4 by ANTLR 4.9.2\r
-\r
-#pragma once\r
-\r
-\r
-#include "antlr4-runtime.h"\r
-#include "TocListener.h"\r
-\r
-\r
-/**\r
- * This class provides an empty implementation of TocListener,\r
- * which can be extended to create a listener which only needs to handle a subset\r
- * of the available methods.\r
- */\r
-class TocBaseListener : public TocListener {\r
-public:\r
-\r
- virtual void enterProg(TocParser::ProgContext * /*ctx*/) override { }\r
- virtual void exitProg(TocParser::ProgContext * /*ctx*/) override { }\r
-\r
- virtual void enterDecl(TocParser::DeclContext * /*ctx*/) override { }\r
- virtual void exitDecl(TocParser::DeclContext * /*ctx*/) override { }\r
-\r
- virtual void enterVarDecl(TocParser::VarDeclContext * /*ctx*/) override { }\r
- virtual void exitVarDecl(TocParser::VarDeclContext * /*ctx*/) override { }\r
-\r
- virtual void enterVar(TocParser::VarContext * /*ctx*/) override { }\r
- virtual void exitVar(TocParser::VarContext * /*ctx*/) override { }\r
-\r
- virtual void enterVarInit(TocParser::VarInitContext * /*ctx*/) override { }\r
- virtual void exitVarInit(TocParser::VarInitContext * /*ctx*/) override { }\r
-\r
- virtual void enterType(TocParser::TypeContext * /*ctx*/) override { }\r
- virtual void exitType(TocParser::TypeContext * /*ctx*/) override { }\r
-\r
- virtual void enterTypeModifier(TocParser::TypeModifierContext * /*ctx*/) override { }\r
- virtual void exitTypeModifier(TocParser::TypeModifierContext * /*ctx*/) override { }\r
-\r
- virtual void enterFuncDecl(TocParser::FuncDeclContext * /*ctx*/) override { }\r
- virtual void exitFuncDecl(TocParser::FuncDeclContext * /*ctx*/) override { }\r
-\r
- virtual void enterFunc(TocParser::FuncContext * /*ctx*/) override { }\r
- virtual void exitFunc(TocParser::FuncContext * /*ctx*/) override { }\r
-\r
- virtual void enterParameter(TocParser::ParameterContext * /*ctx*/) override { }\r
- virtual void exitParameter(TocParser::ParameterContext * /*ctx*/) override { }\r
-\r
- virtual void enterBody(TocParser::BodyContext * /*ctx*/) override { }\r
- virtual void exitBody(TocParser::BodyContext * /*ctx*/) override { }\r
-\r
- virtual void enterStructDecl(TocParser::StructDeclContext * /*ctx*/) override { }\r
- virtual void exitStructDecl(TocParser::StructDeclContext * /*ctx*/) override { }\r
-\r
- virtual void enterStructMember(TocParser::StructMemberContext * /*ctx*/) override { }\r
- virtual void exitStructMember(TocParser::StructMemberContext * /*ctx*/) override { }\r
-\r
- virtual void enterStructVar(TocParser::StructVarContext * /*ctx*/) override { }\r
- virtual void exitStructVar(TocParser::StructVarContext * /*ctx*/) override { }\r
-\r
- virtual void enterStructMethod(TocParser::StructMethodContext * /*ctx*/) override { }\r
- virtual void exitStructMethod(TocParser::StructMethodContext * /*ctx*/) override { }\r
-\r
- virtual void enterStmt(TocParser::StmtContext * /*ctx*/) override { }\r
- virtual void exitStmt(TocParser::StmtContext * /*ctx*/) override { }\r
-\r
- virtual void enterIfStmt(TocParser::IfStmtContext * /*ctx*/) override { }\r
- virtual void exitIfStmt(TocParser::IfStmtContext * /*ctx*/) override { }\r
-\r
- virtual void enterElseIfStmt(TocParser::ElseIfStmtContext * /*ctx*/) override { }\r
- virtual void exitElseIfStmt(TocParser::ElseIfStmtContext * /*ctx*/) override { }\r
-\r
- virtual void enterElseStmt(TocParser::ElseStmtContext * /*ctx*/) override { }\r
- virtual void exitElseStmt(TocParser::ElseStmtContext * /*ctx*/) override { }\r
-\r
- virtual void enterSwitchStmt(TocParser::SwitchStmtContext * /*ctx*/) override { }\r
- virtual void exitSwitchStmt(TocParser::SwitchStmtContext * /*ctx*/) override { }\r
-\r
- virtual void enterSwitchBody(TocParser::SwitchBodyContext * /*ctx*/) override { }\r
- virtual void exitSwitchBody(TocParser::SwitchBodyContext * /*ctx*/) override { }\r
-\r
- virtual void enterSwitchCase(TocParser::SwitchCaseContext * /*ctx*/) override { }\r
- virtual void exitSwitchCase(TocParser::SwitchCaseContext * /*ctx*/) override { }\r
-\r
- virtual void enterForStmt(TocParser::ForStmtContext * /*ctx*/) override { }\r
- virtual void exitForStmt(TocParser::ForStmtContext * /*ctx*/) override { }\r
-\r
- virtual void enterWhileStmt(TocParser::WhileStmtContext * /*ctx*/) override { }\r
- virtual void exitWhileStmt(TocParser::WhileStmtContext * /*ctx*/) override { }\r
-\r
- virtual void enterAssignStmt(TocParser::AssignStmtContext * /*ctx*/) override { }\r
- virtual void exitAssignStmt(TocParser::AssignStmtContext * /*ctx*/) override { }\r
-\r
- virtual void enterReturnStmt(TocParser::ReturnStmtContext * /*ctx*/) override { }\r
- virtual void exitReturnStmt(TocParser::ReturnStmtContext * /*ctx*/) override { }\r
-\r
- virtual void enterExpr(TocParser::ExprContext * /*ctx*/) override { }\r
- virtual void exitExpr(TocParser::ExprContext * /*ctx*/) override { }\r
-\r
- virtual void enterNonOpExpr(TocParser::NonOpExprContext * /*ctx*/) override { }\r
- virtual void exitNonOpExpr(TocParser::NonOpExprContext * /*ctx*/) override { }\r
-\r
- virtual void enterNonAccessExpr(TocParser::NonAccessExprContext * /*ctx*/) override { }\r
- virtual void exitNonAccessExpr(TocParser::NonAccessExprContext * /*ctx*/) override { }\r
-\r
- virtual void enterFuncExpr(TocParser::FuncExprContext * /*ctx*/) override { }\r
- virtual void exitFuncExpr(TocParser::FuncExprContext * /*ctx*/) override { }\r
-\r
- virtual void enterOpExpr(TocParser::OpExprContext * /*ctx*/) override { }\r
- virtual void exitOpExpr(TocParser::OpExprContext * /*ctx*/) override { }\r
-\r
- virtual void enterBinaryOp(TocParser::BinaryOpContext * /*ctx*/) override { }\r
- virtual void exitBinaryOp(TocParser::BinaryOpContext * /*ctx*/) override { }\r
-\r
- virtual void enterPrefixOp(TocParser::PrefixOpContext * /*ctx*/) override { }\r
- virtual void exitPrefixOp(TocParser::PrefixOpContext * /*ctx*/) override { }\r
-\r
- virtual void enterPostfixOp(TocParser::PostfixOpContext * /*ctx*/) override { }\r
- virtual void exitPostfixOp(TocParser::PostfixOpContext * /*ctx*/) override { }\r
-\r
- virtual void enterTernaryOp(TocParser::TernaryOpContext * /*ctx*/) override { }\r
- virtual void exitTernaryOp(TocParser::TernaryOpContext * /*ctx*/) override { }\r
-\r
- virtual void enterIdentifierExpr(TocParser::IdentifierExprContext * /*ctx*/) override { }\r
- virtual void exitIdentifierExpr(TocParser::IdentifierExprContext * /*ctx*/) override { }\r
-\r
- virtual void enterLitExpr(TocParser::LitExprContext * /*ctx*/) override { }\r
- virtual void exitLitExpr(TocParser::LitExprContext * /*ctx*/) override { }\r
-\r
- virtual void enterAccessExpr(TocParser::AccessExprContext * /*ctx*/) override { }\r
- virtual void exitAccessExpr(TocParser::AccessExprContext * /*ctx*/) override { }\r
-\r
- virtual void enterAccessSubExpr(TocParser::AccessSubExprContext * /*ctx*/) override { }\r
- virtual void exitAccessSubExpr(TocParser::AccessSubExprContext * /*ctx*/) override { }\r
-\r
- virtual void enterAccessMember(TocParser::AccessMemberContext * /*ctx*/) override { }\r
- virtual void exitAccessMember(TocParser::AccessMemberContext * /*ctx*/) override { }\r
-\r
- virtual void enterAccessBrackets(TocParser::AccessBracketsContext * /*ctx*/) override { }\r
- virtual void exitAccessBrackets(TocParser::AccessBracketsContext * /*ctx*/) override { }\r
-\r
- virtual void enterParenExpr(TocParser::ParenExprContext * /*ctx*/) override { }\r
- virtual void exitParenExpr(TocParser::ParenExprContext * /*ctx*/) override { }\r
-\r
- virtual void enterFuncName(TocParser::FuncNameContext * /*ctx*/) override { }\r
- virtual void exitFuncName(TocParser::FuncNameContext * /*ctx*/) override { }\r
-\r
- virtual void enterVarName(TocParser::VarNameContext * /*ctx*/) override { }\r
- virtual void exitVarName(TocParser::VarNameContext * /*ctx*/) override { }\r
-\r
- virtual void enterTypeName(TocParser::TypeNameContext * /*ctx*/) override { }\r
- virtual void exitTypeName(TocParser::TypeNameContext * /*ctx*/) override { }\r
-\r
- virtual void enterStructName(TocParser::StructNameContext * /*ctx*/) override { }\r
- virtual void exitStructName(TocParser::StructNameContext * /*ctx*/) override { }\r
-\r
- virtual void enterPostfix_op(TocParser::Postfix_opContext * /*ctx*/) override { }\r
- virtual void exitPostfix_op(TocParser::Postfix_opContext * /*ctx*/) override { }\r
-\r
- virtual void enterPrefix_op(TocParser::Prefix_opContext * /*ctx*/) override { }\r
- virtual void exitPrefix_op(TocParser::Prefix_opContext * /*ctx*/) override { }\r
-\r
- virtual void enterBinary_op(TocParser::Binary_opContext * /*ctx*/) override { }\r
- virtual void exitBinary_op(TocParser::Binary_opContext * /*ctx*/) override { }\r
-\r
-\r
- virtual void enterEveryRule(antlr4::ParserRuleContext * /*ctx*/) override { }\r
- virtual void exitEveryRule(antlr4::ParserRuleContext * /*ctx*/) override { }\r
- virtual void visitTerminal(antlr4::tree::TerminalNode * /*node*/) override { }\r
- virtual void visitErrorNode(antlr4::tree::ErrorNode * /*node*/) override { }\r
-\r
-};\r
-\r
// Generated from Toc.g4 by ANTLR 4.9.2\r
\r
\r
-#include "TocListener.h"\r
\r
#include "TocParser.h"\r
\r
return TocParser::RuleProg;\r
}\r
\r
-void TocParser::ProgContext::enterRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->enterProg(this);\r
-}\r
-\r
-void TocParser::ProgContext::exitRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->exitProg(this);\r
-}\r
\r
TocParser::ProgContext* TocParser::prog() {\r
ProgContext *_localctx = _tracker.createInstance<ProgContext>(_ctx, getState());\r
return TocParser::RuleDecl;\r
}\r
\r
-void TocParser::DeclContext::enterRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->enterDecl(this);\r
-}\r
-\r
-void TocParser::DeclContext::exitRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->exitDecl(this);\r
-}\r
\r
TocParser::DeclContext* TocParser::decl() {\r
DeclContext *_localctx = _tracker.createInstance<DeclContext>(_ctx, getState());\r
return TocParser::RuleVarDecl;\r
}\r
\r
-void TocParser::VarDeclContext::enterRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->enterVarDecl(this);\r
-}\r
-\r
-void TocParser::VarDeclContext::exitRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->exitVarDecl(this);\r
-}\r
\r
TocParser::VarDeclContext* TocParser::varDecl() {\r
VarDeclContext *_localctx = _tracker.createInstance<VarDeclContext>(_ctx, getState());\r
return TocParser::RuleVar;\r
}\r
\r
-void TocParser::VarContext::enterRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->enterVar(this);\r
-}\r
-\r
-void TocParser::VarContext::exitRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->exitVar(this);\r
-}\r
\r
TocParser::VarContext* TocParser::var() {\r
VarContext *_localctx = _tracker.createInstance<VarContext>(_ctx, getState());\r
return TocParser::RuleVarInit;\r
}\r
\r
-void TocParser::VarInitContext::enterRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->enterVarInit(this);\r
-}\r
-\r
-void TocParser::VarInitContext::exitRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->exitVarInit(this);\r
-}\r
\r
TocParser::VarInitContext* TocParser::varInit() {\r
VarInitContext *_localctx = _tracker.createInstance<VarInitContext>(_ctx, getState());\r
return TocParser::RuleType;\r
}\r
\r
-void TocParser::TypeContext::enterRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->enterType(this);\r
-}\r
-\r
-void TocParser::TypeContext::exitRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->exitType(this);\r
-}\r
\r
TocParser::TypeContext* TocParser::type() {\r
TypeContext *_localctx = _tracker.createInstance<TypeContext>(_ctx, getState());\r
return TocParser::RuleTypeModifier;\r
}\r
\r
-void TocParser::TypeModifierContext::enterRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->enterTypeModifier(this);\r
-}\r
-\r
-void TocParser::TypeModifierContext::exitRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->exitTypeModifier(this);\r
-}\r
\r
TocParser::TypeModifierContext* TocParser::typeModifier() {\r
TypeModifierContext *_localctx = _tracker.createInstance<TypeModifierContext>(_ctx, getState());\r
return TocParser::RuleFuncDecl;\r
}\r
\r
-void TocParser::FuncDeclContext::enterRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->enterFuncDecl(this);\r
-}\r
-\r
-void TocParser::FuncDeclContext::exitRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->exitFuncDecl(this);\r
-}\r
\r
TocParser::FuncDeclContext* TocParser::funcDecl() {\r
FuncDeclContext *_localctx = _tracker.createInstance<FuncDeclContext>(_ctx, getState());\r
return TocParser::RuleFunc;\r
}\r
\r
-void TocParser::FuncContext::enterRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->enterFunc(this);\r
-}\r
-\r
-void TocParser::FuncContext::exitRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->exitFunc(this);\r
-}\r
\r
TocParser::FuncContext* TocParser::func() {\r
FuncContext *_localctx = _tracker.createInstance<FuncContext>(_ctx, getState());\r
return TocParser::RuleParameter;\r
}\r
\r
-void TocParser::ParameterContext::enterRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->enterParameter(this);\r
-}\r
-\r
-void TocParser::ParameterContext::exitRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->exitParameter(this);\r
-}\r
\r
TocParser::ParameterContext* TocParser::parameter() {\r
ParameterContext *_localctx = _tracker.createInstance<ParameterContext>(_ctx, getState());\r
return TocParser::RuleBody;\r
}\r
\r
-void TocParser::BodyContext::enterRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->enterBody(this);\r
-}\r
-\r
-void TocParser::BodyContext::exitRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->exitBody(this);\r
-}\r
\r
TocParser::BodyContext* TocParser::body() {\r
BodyContext *_localctx = _tracker.createInstance<BodyContext>(_ctx, getState());\r
return TocParser::RuleStructDecl;\r
}\r
\r
-void TocParser::StructDeclContext::enterRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->enterStructDecl(this);\r
-}\r
-\r
-void TocParser::StructDeclContext::exitRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->exitStructDecl(this);\r
-}\r
\r
TocParser::StructDeclContext* TocParser::structDecl() {\r
StructDeclContext *_localctx = _tracker.createInstance<StructDeclContext>(_ctx, getState());\r
return TocParser::RuleStructMember;\r
}\r
\r
-void TocParser::StructMemberContext::enterRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->enterStructMember(this);\r
-}\r
-\r
-void TocParser::StructMemberContext::exitRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->exitStructMember(this);\r
-}\r
\r
TocParser::StructMemberContext* TocParser::structMember() {\r
StructMemberContext *_localctx = _tracker.createInstance<StructMemberContext>(_ctx, getState());\r
return TocParser::RuleStructVar;\r
}\r
\r
-void TocParser::StructVarContext::enterRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->enterStructVar(this);\r
-}\r
-\r
-void TocParser::StructVarContext::exitRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->exitStructVar(this);\r
-}\r
\r
TocParser::StructVarContext* TocParser::structVar() {\r
StructVarContext *_localctx = _tracker.createInstance<StructVarContext>(_ctx, getState());\r
return TocParser::RuleStructMethod;\r
}\r
\r
-void TocParser::StructMethodContext::enterRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->enterStructMethod(this);\r
-}\r
-\r
-void TocParser::StructMethodContext::exitRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->exitStructMethod(this);\r
-}\r
\r
TocParser::StructMethodContext* TocParser::structMethod() {\r
StructMethodContext *_localctx = _tracker.createInstance<StructMethodContext>(_ctx, getState());\r
return TocParser::RuleStmt;\r
}\r
\r
-void TocParser::StmtContext::enterRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->enterStmt(this);\r
-}\r
-\r
-void TocParser::StmtContext::exitRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->exitStmt(this);\r
-}\r
\r
TocParser::StmtContext* TocParser::stmt() {\r
StmtContext *_localctx = _tracker.createInstance<StmtContext>(_ctx, getState());\r
return TocParser::RuleIfStmt;\r
}\r
\r
-void TocParser::IfStmtContext::enterRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->enterIfStmt(this);\r
-}\r
-\r
-void TocParser::IfStmtContext::exitRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->exitIfStmt(this);\r
-}\r
\r
TocParser::IfStmtContext* TocParser::ifStmt() {\r
IfStmtContext *_localctx = _tracker.createInstance<IfStmtContext>(_ctx, getState());\r
return TocParser::RuleElseIfStmt;\r
}\r
\r
-void TocParser::ElseIfStmtContext::enterRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->enterElseIfStmt(this);\r
-}\r
-\r
-void TocParser::ElseIfStmtContext::exitRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->exitElseIfStmt(this);\r
-}\r
\r
TocParser::ElseIfStmtContext* TocParser::elseIfStmt() {\r
ElseIfStmtContext *_localctx = _tracker.createInstance<ElseIfStmtContext>(_ctx, getState());\r
return TocParser::RuleElseStmt;\r
}\r
\r
-void TocParser::ElseStmtContext::enterRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->enterElseStmt(this);\r
-}\r
-\r
-void TocParser::ElseStmtContext::exitRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->exitElseStmt(this);\r
-}\r
\r
TocParser::ElseStmtContext* TocParser::elseStmt() {\r
ElseStmtContext *_localctx = _tracker.createInstance<ElseStmtContext>(_ctx, getState());\r
return TocParser::RuleSwitchStmt;\r
}\r
\r
-void TocParser::SwitchStmtContext::enterRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->enterSwitchStmt(this);\r
-}\r
-\r
-void TocParser::SwitchStmtContext::exitRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->exitSwitchStmt(this);\r
-}\r
\r
TocParser::SwitchStmtContext* TocParser::switchStmt() {\r
SwitchStmtContext *_localctx = _tracker.createInstance<SwitchStmtContext>(_ctx, getState());\r
return TocParser::RuleSwitchBody;\r
}\r
\r
-void TocParser::SwitchBodyContext::enterRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->enterSwitchBody(this);\r
-}\r
-\r
-void TocParser::SwitchBodyContext::exitRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->exitSwitchBody(this);\r
-}\r
\r
TocParser::SwitchBodyContext* TocParser::switchBody() {\r
SwitchBodyContext *_localctx = _tracker.createInstance<SwitchBodyContext>(_ctx, getState());\r
return TocParser::RuleSwitchCase;\r
}\r
\r
-void TocParser::SwitchCaseContext::enterRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->enterSwitchCase(this);\r
-}\r
-\r
-void TocParser::SwitchCaseContext::exitRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->exitSwitchCase(this);\r
-}\r
\r
TocParser::SwitchCaseContext* TocParser::switchCase() {\r
SwitchCaseContext *_localctx = _tracker.createInstance<SwitchCaseContext>(_ctx, getState());\r
return TocParser::RuleForStmt;\r
}\r
\r
-void TocParser::ForStmtContext::enterRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->enterForStmt(this);\r
-}\r
-\r
-void TocParser::ForStmtContext::exitRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->exitForStmt(this);\r
-}\r
\r
TocParser::ForStmtContext* TocParser::forStmt() {\r
ForStmtContext *_localctx = _tracker.createInstance<ForStmtContext>(_ctx, getState());\r
return TocParser::RuleWhileStmt;\r
}\r
\r
-void TocParser::WhileStmtContext::enterRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->enterWhileStmt(this);\r
-}\r
-\r
-void TocParser::WhileStmtContext::exitRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->exitWhileStmt(this);\r
-}\r
\r
TocParser::WhileStmtContext* TocParser::whileStmt() {\r
WhileStmtContext *_localctx = _tracker.createInstance<WhileStmtContext>(_ctx, getState());\r
return TocParser::RuleAssignStmt;\r
}\r
\r
-void TocParser::AssignStmtContext::enterRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->enterAssignStmt(this);\r
-}\r
-\r
-void TocParser::AssignStmtContext::exitRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->exitAssignStmt(this);\r
-}\r
\r
TocParser::AssignStmtContext* TocParser::assignStmt() {\r
AssignStmtContext *_localctx = _tracker.createInstance<AssignStmtContext>(_ctx, getState());\r
return TocParser::RuleReturnStmt;\r
}\r
\r
-void TocParser::ReturnStmtContext::enterRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->enterReturnStmt(this);\r
-}\r
-\r
-void TocParser::ReturnStmtContext::exitRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->exitReturnStmt(this);\r
-}\r
\r
TocParser::ReturnStmtContext* TocParser::returnStmt() {\r
ReturnStmtContext *_localctx = _tracker.createInstance<ReturnStmtContext>(_ctx, getState());\r
return TocParser::RuleExpr;\r
}\r
\r
-void TocParser::ExprContext::enterRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->enterExpr(this);\r
-}\r
-\r
-void TocParser::ExprContext::exitRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->exitExpr(this);\r
-}\r
\r
TocParser::ExprContext* TocParser::expr() {\r
ExprContext *_localctx = _tracker.createInstance<ExprContext>(_ctx, getState());\r
return TocParser::RuleNonOpExpr;\r
}\r
\r
-void TocParser::NonOpExprContext::enterRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->enterNonOpExpr(this);\r
-}\r
-\r
-void TocParser::NonOpExprContext::exitRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->exitNonOpExpr(this);\r
-}\r
\r
TocParser::NonOpExprContext* TocParser::nonOpExpr() {\r
NonOpExprContext *_localctx = _tracker.createInstance<NonOpExprContext>(_ctx, getState());\r
return TocParser::RuleNonAccessExpr;\r
}\r
\r
-void TocParser::NonAccessExprContext::enterRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->enterNonAccessExpr(this);\r
-}\r
-\r
-void TocParser::NonAccessExprContext::exitRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->exitNonAccessExpr(this);\r
-}\r
\r
TocParser::NonAccessExprContext* TocParser::nonAccessExpr() {\r
NonAccessExprContext *_localctx = _tracker.createInstance<NonAccessExprContext>(_ctx, getState());\r
return TocParser::RuleFuncExpr;\r
}\r
\r
-void TocParser::FuncExprContext::enterRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->enterFuncExpr(this);\r
-}\r
-\r
-void TocParser::FuncExprContext::exitRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->exitFuncExpr(this);\r
-}\r
\r
TocParser::FuncExprContext* TocParser::funcExpr() {\r
FuncExprContext *_localctx = _tracker.createInstance<FuncExprContext>(_ctx, getState());\r
return TocParser::RuleOpExpr;\r
}\r
\r
-void TocParser::OpExprContext::enterRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->enterOpExpr(this);\r
-}\r
-\r
-void TocParser::OpExprContext::exitRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->exitOpExpr(this);\r
-}\r
\r
TocParser::OpExprContext* TocParser::opExpr() {\r
OpExprContext *_localctx = _tracker.createInstance<OpExprContext>(_ctx, getState());\r
return TocParser::RuleBinaryOp;\r
}\r
\r
-void TocParser::BinaryOpContext::enterRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->enterBinaryOp(this);\r
-}\r
-\r
-void TocParser::BinaryOpContext::exitRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->exitBinaryOp(this);\r
-}\r
\r
TocParser::BinaryOpContext* TocParser::binaryOp() {\r
BinaryOpContext *_localctx = _tracker.createInstance<BinaryOpContext>(_ctx, getState());\r
return TocParser::RulePrefixOp;\r
}\r
\r
-void TocParser::PrefixOpContext::enterRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->enterPrefixOp(this);\r
-}\r
-\r
-void TocParser::PrefixOpContext::exitRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->exitPrefixOp(this);\r
-}\r
\r
TocParser::PrefixOpContext* TocParser::prefixOp() {\r
PrefixOpContext *_localctx = _tracker.createInstance<PrefixOpContext>(_ctx, getState());\r
return TocParser::RulePostfixOp;\r
}\r
\r
-void TocParser::PostfixOpContext::enterRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->enterPostfixOp(this);\r
-}\r
-\r
-void TocParser::PostfixOpContext::exitRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->exitPostfixOp(this);\r
-}\r
\r
TocParser::PostfixOpContext* TocParser::postfixOp() {\r
PostfixOpContext *_localctx = _tracker.createInstance<PostfixOpContext>(_ctx, getState());\r
return TocParser::RuleTernaryOp;\r
}\r
\r
-void TocParser::TernaryOpContext::enterRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->enterTernaryOp(this);\r
-}\r
-\r
-void TocParser::TernaryOpContext::exitRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->exitTernaryOp(this);\r
-}\r
\r
TocParser::TernaryOpContext* TocParser::ternaryOp() {\r
TernaryOpContext *_localctx = _tracker.createInstance<TernaryOpContext>(_ctx, getState());\r
return TocParser::RuleIdentifierExpr;\r
}\r
\r
-void TocParser::IdentifierExprContext::enterRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->enterIdentifierExpr(this);\r
-}\r
-\r
-void TocParser::IdentifierExprContext::exitRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->exitIdentifierExpr(this);\r
-}\r
\r
TocParser::IdentifierExprContext* TocParser::identifierExpr() {\r
IdentifierExprContext *_localctx = _tracker.createInstance<IdentifierExprContext>(_ctx, getState());\r
return TocParser::RuleLitExpr;\r
}\r
\r
-void TocParser::LitExprContext::enterRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->enterLitExpr(this);\r
-}\r
-\r
-void TocParser::LitExprContext::exitRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->exitLitExpr(this);\r
-}\r
\r
TocParser::LitExprContext* TocParser::litExpr() {\r
LitExprContext *_localctx = _tracker.createInstance<LitExprContext>(_ctx, getState());\r
return TocParser::RuleAccessExpr;\r
}\r
\r
-void TocParser::AccessExprContext::enterRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->enterAccessExpr(this);\r
-}\r
-\r
-void TocParser::AccessExprContext::exitRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->exitAccessExpr(this);\r
-}\r
\r
TocParser::AccessExprContext* TocParser::accessExpr() {\r
AccessExprContext *_localctx = _tracker.createInstance<AccessExprContext>(_ctx, getState());\r
return TocParser::RuleAccessSubExpr;\r
}\r
\r
-void TocParser::AccessSubExprContext::enterRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->enterAccessSubExpr(this);\r
-}\r
-\r
-void TocParser::AccessSubExprContext::exitRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->exitAccessSubExpr(this);\r
-}\r
\r
TocParser::AccessSubExprContext* TocParser::accessSubExpr() {\r
AccessSubExprContext *_localctx = _tracker.createInstance<AccessSubExprContext>(_ctx, getState());\r
return TocParser::RuleAccessMember;\r
}\r
\r
-void TocParser::AccessMemberContext::enterRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->enterAccessMember(this);\r
-}\r
-\r
-void TocParser::AccessMemberContext::exitRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->exitAccessMember(this);\r
-}\r
\r
TocParser::AccessMemberContext* TocParser::accessMember() {\r
AccessMemberContext *_localctx = _tracker.createInstance<AccessMemberContext>(_ctx, getState());\r
return TocParser::RuleAccessBrackets;\r
}\r
\r
-void TocParser::AccessBracketsContext::enterRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->enterAccessBrackets(this);\r
-}\r
-\r
-void TocParser::AccessBracketsContext::exitRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->exitAccessBrackets(this);\r
-}\r
\r
TocParser::AccessBracketsContext* TocParser::accessBrackets() {\r
AccessBracketsContext *_localctx = _tracker.createInstance<AccessBracketsContext>(_ctx, getState());\r
return TocParser::RuleParenExpr;\r
}\r
\r
-void TocParser::ParenExprContext::enterRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->enterParenExpr(this);\r
-}\r
-\r
-void TocParser::ParenExprContext::exitRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->exitParenExpr(this);\r
-}\r
\r
TocParser::ParenExprContext* TocParser::parenExpr() {\r
ParenExprContext *_localctx = _tracker.createInstance<ParenExprContext>(_ctx, getState());\r
return TocParser::RuleFuncName;\r
}\r
\r
-void TocParser::FuncNameContext::enterRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->enterFuncName(this);\r
-}\r
-\r
-void TocParser::FuncNameContext::exitRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->exitFuncName(this);\r
-}\r
\r
TocParser::FuncNameContext* TocParser::funcName() {\r
FuncNameContext *_localctx = _tracker.createInstance<FuncNameContext>(_ctx, getState());\r
return TocParser::RuleVarName;\r
}\r
\r
-void TocParser::VarNameContext::enterRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->enterVarName(this);\r
-}\r
-\r
-void TocParser::VarNameContext::exitRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->exitVarName(this);\r
-}\r
\r
TocParser::VarNameContext* TocParser::varName() {\r
VarNameContext *_localctx = _tracker.createInstance<VarNameContext>(_ctx, getState());\r
return TocParser::RuleTypeName;\r
}\r
\r
-void TocParser::TypeNameContext::enterRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->enterTypeName(this);\r
-}\r
-\r
-void TocParser::TypeNameContext::exitRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->exitTypeName(this);\r
-}\r
\r
TocParser::TypeNameContext* TocParser::typeName() {\r
TypeNameContext *_localctx = _tracker.createInstance<TypeNameContext>(_ctx, getState());\r
return TocParser::RuleStructName;\r
}\r
\r
-void TocParser::StructNameContext::enterRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->enterStructName(this);\r
-}\r
-\r
-void TocParser::StructNameContext::exitRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->exitStructName(this);\r
-}\r
\r
TocParser::StructNameContext* TocParser::structName() {\r
StructNameContext *_localctx = _tracker.createInstance<StructNameContext>(_ctx, getState());\r
return TocParser::RulePostfix_op;\r
}\r
\r
-void TocParser::Postfix_opContext::enterRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->enterPostfix_op(this);\r
-}\r
-\r
-void TocParser::Postfix_opContext::exitRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->exitPostfix_op(this);\r
-}\r
\r
TocParser::Postfix_opContext* TocParser::postfix_op() {\r
Postfix_opContext *_localctx = _tracker.createInstance<Postfix_opContext>(_ctx, getState());\r
return TocParser::RulePrefix_op;\r
}\r
\r
-void TocParser::Prefix_opContext::enterRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->enterPrefix_op(this);\r
-}\r
-\r
-void TocParser::Prefix_opContext::exitRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->exitPrefix_op(this);\r
-}\r
\r
TocParser::Prefix_opContext* TocParser::prefix_op() {\r
Prefix_opContext *_localctx = _tracker.createInstance<Prefix_opContext>(_ctx, getState());\r
return TocParser::RuleBinary_op;\r
}\r
\r
-void TocParser::Binary_opContext::enterRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->enterBinary_op(this);\r
-}\r
-\r
-void TocParser::Binary_opContext::exitRule(tree::ParseTreeListener *listener) {\r
- auto parserListener = dynamic_cast<TocListener *>(listener);\r
- if (parserListener != nullptr)\r
- parserListener->exitBinary_op(this);\r
-}\r
\r
TocParser::Binary_opContext* TocParser::binary_op() {\r
Binary_opContext *_localctx = _tracker.createInstance<Binary_opContext>(_ctx, getState());\r
std::vector<DeclContext *> decl();\r
DeclContext* decl(size_t i);\r
\r
- virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override;\r
- virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override;\r
\r
};\r
\r
FuncDeclContext *funcDecl();\r
StructDeclContext *structDecl();\r
\r
- virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override;\r
- virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override;\r
\r
};\r
\r
virtual size_t getRuleIndex() const override;\r
VarContext *var();\r
\r
- virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override;\r
- virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override;\r
\r
};\r
\r
TypeContext *type();\r
ExprContext *expr();\r
\r
- virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override;\r
- virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override;\r
\r
};\r
\r
TypeContext *type();\r
ExprContext *expr();\r
\r
- virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override;\r
- virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override;\r
\r
};\r
\r
std::vector<TypeModifierContext *> typeModifier();\r
TypeModifierContext* typeModifier(size_t i);\r
\r
- virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override;\r
- virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override;\r
\r
};\r
\r
virtual size_t getRuleIndex() const override;\r
antlr4::tree::TerminalNode *INT_LIT();\r
\r
- virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override;\r
- virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override;\r
\r
};\r
\r
virtual size_t getRuleIndex() const override;\r
FuncContext *func();\r
\r
- virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override;\r
- virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override;\r
\r
};\r
\r
BodyContext *body();\r
TypeContext *type();\r
\r
- virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override;\r
- virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override;\r
\r
};\r
\r
std::vector<VarContext *> var();\r
VarContext* var(size_t i);\r
\r
- virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override;\r
- virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override;\r
\r
};\r
\r
std::vector<StmtContext *> stmt();\r
StmtContext* stmt(size_t i);\r
\r
- virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override;\r
- virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override;\r
\r
};\r
\r
std::vector<StructMemberContext *> structMember();\r
StructMemberContext* structMember(size_t i);\r
\r
- virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override;\r
- virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override;\r
\r
};\r
\r
StructVarContext *structVar();\r
StructMethodContext *structMethod();\r
\r
- virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override;\r
- virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override;\r
\r
};\r
\r
virtual size_t getRuleIndex() const override;\r
VarContext *var();\r
\r
- virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override;\r
- virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override;\r
\r
};\r
\r
virtual size_t getRuleIndex() const override;\r
FuncContext *func();\r
\r
- virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override;\r
- virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override;\r
\r
};\r
\r
ReturnStmtContext *returnStmt();\r
ExprContext *expr();\r
\r
- virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override;\r
- virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override;\r
\r
};\r
\r
ElseIfStmtContext* elseIfStmt(size_t i);\r
ElseStmtContext *elseStmt();\r
\r
- virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override;\r
- virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override;\r
\r
};\r
\r
ExprContext *expr();\r
BodyContext *body();\r
\r
- virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override;\r
- virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override;\r
\r
};\r
\r
virtual size_t getRuleIndex() const override;\r
BodyContext *body();\r
\r
- virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override;\r
- virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override;\r
\r
};\r
\r
IdentifierExprContext *identifierExpr();\r
SwitchBodyContext *switchBody();\r
\r
- virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override;\r
- virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override;\r
\r
};\r
\r
std::vector<SwitchCaseContext *> switchCase();\r
SwitchCaseContext* switchCase(size_t i);\r
\r
- virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override;\r
- virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override;\r
\r
};\r
\r
ExprContext *expr();\r
BodyContext *body();\r
\r
- virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override;\r
- virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override;\r
\r
};\r
\r
VarInitContext *varInit();\r
AssignStmtContext *assignStmt();\r
\r
- virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override;\r
- virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override;\r
\r
};\r
\r
ExprContext *expr();\r
BodyContext *body();\r
\r
- virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override;\r
- virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override;\r
\r
};\r
\r
IdentifierExprContext *identifierExpr();\r
ExprContext *expr();\r
\r
- virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override;\r
- virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override;\r
\r
};\r
\r
virtual size_t getRuleIndex() const override;\r
ExprContext *expr();\r
\r
- virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override;\r
- virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override;\r
\r
};\r
\r
AccessExprContext *accessExpr();\r
OpExprContext *opExpr();\r
\r
- virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override;\r
- virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override;\r
\r
};\r
\r
ParenExprContext *parenExpr();\r
AccessExprContext *accessExpr();\r
\r
- virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override;\r
- virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override;\r
\r
};\r
\r
IdentifierExprContext *identifierExpr();\r
ParenExprContext *parenExpr();\r
\r
- virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override;\r
- virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override;\r
\r
};\r
\r
std::vector<ExprContext *> expr();\r
ExprContext* expr(size_t i);\r
\r
- virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override;\r
- virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override;\r
\r
};\r
\r
PostfixOpContext *postfixOp();\r
TernaryOpContext *ternaryOp();\r
\r
- virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override;\r
- virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override;\r
\r
};\r
\r
std::vector<Binary_opContext *> binary_op();\r
Binary_opContext* binary_op(size_t i);\r
\r
- virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override;\r
- virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override;\r
\r
};\r
\r
Prefix_opContext *prefix_op();\r
NonOpExprContext *nonOpExpr();\r
\r
- virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override;\r
- virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override;\r
\r
};\r
\r
NonOpExprContext *nonOpExpr();\r
Postfix_opContext *postfix_op();\r
\r
- virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override;\r
- virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override;\r
\r
};\r
\r
std::vector<ExprContext *> expr();\r
ExprContext* expr(size_t i);\r
\r
- virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override;\r
- virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override;\r
\r
};\r
\r
virtual size_t getRuleIndex() const override;\r
VarNameContext *varName();\r
\r
- virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override;\r
- virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override;\r
\r
};\r
\r
antlr4::tree::TerminalNode *STRING_LIT();\r
antlr4::tree::TerminalNode *BOOL_LIT();\r
\r
- virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override;\r
- virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override;\r
\r
};\r
\r
std::vector<AccessSubExprContext *> accessSubExpr();\r
AccessSubExprContext* accessSubExpr(size_t i);\r
\r
- virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override;\r
- virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override;\r
\r
};\r
\r
AccessMemberContext *accessMember();\r
AccessBracketsContext *accessBrackets();\r
\r
- virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override;\r
- virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override;\r
\r
};\r
\r
virtual size_t getRuleIndex() const override;\r
IdentifierExprContext *identifierExpr();\r
\r
- virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override;\r
- virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override;\r
\r
};\r
\r
virtual size_t getRuleIndex() const override;\r
ExprContext *expr();\r
\r
- virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override;\r
- virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override;\r
\r
};\r
\r
virtual size_t getRuleIndex() const override;\r
ExprContext *expr();\r
\r
- virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override;\r
- virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override;\r
\r
};\r
\r
virtual size_t getRuleIndex() const override;\r
antlr4::tree::TerminalNode *NAME();\r
\r
- virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override;\r
- virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override;\r
\r
};\r
\r
virtual size_t getRuleIndex() const override;\r
antlr4::tree::TerminalNode *NAME();\r
\r
- virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override;\r
- virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override;\r
\r
};\r
\r
virtual size_t getRuleIndex() const override;\r
antlr4::tree::TerminalNode *NAME();\r
\r
- virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override;\r
- virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override;\r
\r
};\r
\r
virtual size_t getRuleIndex() const override;\r
antlr4::tree::TerminalNode *NAME();\r
\r
- virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override;\r
- virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override;\r
\r
};\r
\r
Postfix_opContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
virtual size_t getRuleIndex() const override;\r
\r
- virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override;\r
- virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override;\r
\r
};\r
\r
virtual size_t getRuleIndex() const override;\r
Postfix_opContext *postfix_op();\r
\r
- virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override;\r
- virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override;\r
\r
};\r
\r
Binary_opContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
virtual size_t getRuleIndex() const override;\r
\r
- virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override;\r
- virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override;\r
\r
};\r
\r