X-Git-Url: https://gitweb.ps.run/toc/blobdiff_plain/5f9668526491332f62c05ad831dbf6d5fdc2b6d0..c70926cf67a044a662b2587edb585c2c45c52902:/gen/TocParser.h diff --git a/gen/TocParser.h b/gen/TocParser.h index 8cdece5..d2bf208 100644 --- a/gen/TocParser.h +++ b/gen/TocParser.h @@ -15,9 +15,14 @@ public: T__0 = 1, T__1 = 2, T__2 = 3, T__3 = 4, T__4 = 5, T__5 = 6, T__6 = 7, T__7 = 8, T__8 = 9, T__9 = 10, T__10 = 11, T__11 = 12, T__12 = 13, T__13 = 14, T__14 = 15, T__15 = 16, T__16 = 17, T__17 = 18, T__18 = 19, T__19 = 20, - T__20 = 21, T__21 = 22, T__22 = 23, POSTFIX_OP = 24, PREFIX_OP = 25, - BINARY_OP = 26, INT_LIT = 27, DECIMAL_LIT = 28, STRING_LIT = 29, BOOL_LIT = 30, - NAME = 31, WS = 32, NEWLINE = 33, NUMBER = 34 + T__20 = 21, T__21 = 22, T__22 = 23, T__23 = 24, T__24 = 25, T__25 = 26, + T__26 = 27, T__27 = 28, T__28 = 29, T__29 = 30, T__30 = 31, T__31 = 32, + T__32 = 33, T__33 = 34, T__34 = 35, T__35 = 36, T__36 = 37, T__37 = 38, + T__38 = 39, T__39 = 40, T__40 = 41, T__41 = 42, T__42 = 43, T__43 = 44, + T__44 = 45, T__45 = 46, T__46 = 47, T__47 = 48, T__48 = 49, T__49 = 50, + T__50 = 51, T__51 = 52, T__52 = 53, T__53 = 54, T__54 = 55, INT_LIT = 56, + DECIMAL_LIT = 57, STRING_LIT = 58, BOOL_LIT = 59, NAME = 60, WS = 61, + NEWLINE = 62 }; enum { @@ -25,12 +30,15 @@ public: RuleType = 5, RuleTypeModifier = 6, RuleFuncDecl = 7, RuleFunc = 8, RuleParameter = 9, RuleBody = 10, RuleStructDecl = 11, RuleStructMember = 12, RuleStructVar = 13, RuleStructMethod = 14, RuleStmt = 15, RuleIfStmt = 16, - RuleSwitchStmt = 17, RuleSwitchBody = 18, RuleForStmt = 19, RuleWhileStmt = 20, - RuleAssignStmt = 21, RuleReturnStmt = 22, RuleExpr = 23, RuleNonOpExpr = 24, - RuleNonAccessExpr = 25, RuleFuncExpr = 26, RuleOpExpr = 27, RuleBinaryOp = 28, - RulePrefixOp = 29, RulePostfixOp = 30, RuleTernaryOp = 31, RuleIdentifierExpr = 32, - RuleLitExpr = 33, RuleAccessExpr = 34, RuleParenExpr = 35, RuleFuncName = 36, - RuleVarName = 37, RuleTypeName = 38, RuleStructName = 39 + RuleElseIfStmt = 17, RuleElseStmt = 18, RuleSwitchStmt = 19, RuleSwitchBody = 20, + RuleSwitchCase = 21, RuleForStmt = 22, RuleWhileStmt = 23, RuleAssignStmt = 24, + RuleReturnStmt = 25, RuleExpr = 26, RuleNonOpExpr = 27, RuleNonAccessExpr = 28, + RuleFuncExpr = 29, RuleOpExpr = 30, RuleBinaryOp = 31, RulePrefixOp = 32, + RulePostfixOp = 33, RuleTernaryOp = 34, RuleIdentifierExpr = 35, RuleLitExpr = 36, + RuleAccessExpr = 37, RuleAccessSubExpr = 38, RuleAccessMember = 39, + RuleAccessBrackets = 40, RuleParenExpr = 41, RuleFuncName = 42, RuleVarName = 43, + RuleTypeName = 44, RuleStructName = 45, RulePostfix_op = 46, RulePrefix_op = 47, + RuleBinary_op = 48 }; explicit TocParser(antlr4::TokenStream *input); @@ -60,8 +68,11 @@ public: class StructMethodContext; class StmtContext; class IfStmtContext; + class ElseIfStmtContext; + class ElseStmtContext; class SwitchStmtContext; class SwitchBodyContext; + class SwitchCaseContext; class ForStmtContext; class WhileStmtContext; class AssignStmtContext; @@ -78,11 +89,17 @@ public: class IdentifierExprContext; class LitExprContext; class AccessExprContext; + class AccessSubExprContext; + class AccessMemberContext; + class AccessBracketsContext; class ParenExprContext; class FuncNameContext; class VarNameContext; class TypeNameContext; - class StructNameContext; + class StructNameContext; + class Postfix_opContext; + class Prefix_opContext; + class Binary_opContext; class ProgContext : public antlr4::ParserRuleContext { public: @@ -92,8 +109,6 @@ public: std::vector decl(); DeclContext* decl(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; @@ -107,8 +122,6 @@ public: FuncDeclContext *funcDecl(); StructDeclContext *structDecl(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; @@ -120,8 +133,6 @@ public: virtual size_t getRuleIndex() const override; VarContext *var(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; @@ -135,8 +146,6 @@ public: TypeContext *type(); ExprContext *expr(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; @@ -150,8 +159,6 @@ public: TypeContext *type(); ExprContext *expr(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; @@ -165,8 +172,6 @@ public: std::vector typeModifier(); TypeModifierContext* typeModifier(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; @@ -176,10 +181,8 @@ public: public: TypeModifierContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode *NUMBER(); + antlr4::tree::TerminalNode *INT_LIT(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; @@ -191,8 +194,6 @@ public: virtual size_t getRuleIndex() const override; FuncContext *func(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; @@ -207,8 +208,6 @@ public: BodyContext *body(); TypeContext *type(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; @@ -221,8 +220,6 @@ public: std::vector var(); VarContext* var(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; @@ -235,8 +232,6 @@ public: std::vector stmt(); StmtContext* stmt(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; @@ -250,8 +245,6 @@ public: std::vector structMember(); StructMemberContext* structMember(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; @@ -264,8 +257,6 @@ public: StructVarContext *structVar(); StructMethodContext *structMethod(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; @@ -277,8 +268,6 @@ public: virtual size_t getRuleIndex() const override; VarContext *var(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; @@ -290,8 +279,6 @@ public: virtual size_t getRuleIndex() const override; FuncContext *func(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; @@ -310,8 +297,6 @@ public: ReturnStmtContext *returnStmt(); ExprContext *expr(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; @@ -321,18 +306,40 @@ public: public: IfStmtContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - std::vector expr(); - ExprContext* expr(size_t i); - std::vector body(); - BodyContext* body(size_t i); + ExprContext *expr(); + BodyContext *body(); + std::vector elseIfStmt(); + ElseIfStmtContext* elseIfStmt(size_t i); + ElseStmtContext *elseStmt(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; IfStmtContext* ifStmt(); + class ElseIfStmtContext : public antlr4::ParserRuleContext { + public: + ElseIfStmtContext(antlr4::ParserRuleContext *parent, size_t invokingState); + virtual size_t getRuleIndex() const override; + ExprContext *expr(); + BodyContext *body(); + + + }; + + ElseIfStmtContext* elseIfStmt(); + + class ElseStmtContext : public antlr4::ParserRuleContext { + public: + ElseStmtContext(antlr4::ParserRuleContext *parent, size_t invokingState); + virtual size_t getRuleIndex() const override; + BodyContext *body(); + + + }; + + ElseStmtContext* elseStmt(); + class SwitchStmtContext : public antlr4::ParserRuleContext { public: SwitchStmtContext(antlr4::ParserRuleContext *parent, size_t invokingState); @@ -340,8 +347,6 @@ public: IdentifierExprContext *identifierExpr(); SwitchBodyContext *switchBody(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; @@ -351,18 +356,26 @@ public: public: SwitchBodyContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - std::vector expr(); - ExprContext* expr(size_t i); - std::vector body(); - BodyContext* body(size_t i); + std::vector switchCase(); + SwitchCaseContext* switchCase(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; SwitchBodyContext* switchBody(); + class SwitchCaseContext : public antlr4::ParserRuleContext { + public: + SwitchCaseContext(antlr4::ParserRuleContext *parent, size_t invokingState); + virtual size_t getRuleIndex() const override; + ExprContext *expr(); + BodyContext *body(); + + + }; + + SwitchCaseContext* switchCase(); + class ForStmtContext : public antlr4::ParserRuleContext { public: ForStmtContext(antlr4::ParserRuleContext *parent, size_t invokingState); @@ -373,8 +386,6 @@ public: VarInitContext *varInit(); AssignStmtContext *assignStmt(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; @@ -387,8 +398,6 @@ public: ExprContext *expr(); BodyContext *body(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; @@ -401,8 +410,6 @@ public: IdentifierExprContext *identifierExpr(); ExprContext *expr(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; @@ -414,8 +421,6 @@ public: virtual size_t getRuleIndex() const override; ExprContext *expr(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; @@ -432,8 +437,6 @@ public: AccessExprContext *accessExpr(); OpExprContext *opExpr(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; @@ -449,8 +452,6 @@ public: ParenExprContext *parenExpr(); AccessExprContext *accessExpr(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; @@ -464,8 +465,6 @@ public: IdentifierExprContext *identifierExpr(); ParenExprContext *parenExpr(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; @@ -479,8 +478,6 @@ public: std::vector expr(); ExprContext* expr(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; @@ -495,8 +492,6 @@ public: PostfixOpContext *postfixOp(); TernaryOpContext *ternaryOp(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; @@ -508,11 +503,9 @@ public: virtual size_t getRuleIndex() const override; std::vector nonOpExpr(); NonOpExprContext* nonOpExpr(size_t i); - std::vector BINARY_OP(); - antlr4::tree::TerminalNode* BINARY_OP(size_t i); + std::vector binary_op(); + Binary_opContext* binary_op(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; @@ -522,11 +515,9 @@ public: public: PrefixOpContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode *PREFIX_OP(); + Prefix_opContext *prefix_op(); NonOpExprContext *nonOpExpr(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; @@ -537,10 +528,8 @@ public: PostfixOpContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; NonOpExprContext *nonOpExpr(); - antlr4::tree::TerminalNode *POSTFIX_OP(); + Postfix_opContext *postfix_op(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; @@ -554,8 +543,6 @@ public: std::vector expr(); ExprContext* expr(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; @@ -567,8 +554,6 @@ public: virtual size_t getRuleIndex() const override; VarNameContext *varName(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; @@ -583,8 +568,6 @@ public: antlr4::tree::TerminalNode *STRING_LIT(); antlr4::tree::TerminalNode *BOOL_LIT(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; @@ -595,26 +578,54 @@ public: AccessExprContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; NonAccessExprContext *nonAccessExpr(); - std::vector identifierExpr(); - IdentifierExprContext* identifierExpr(size_t i); - std::vector expr(); - ExprContext* expr(size_t i); + std::vector accessSubExpr(); + AccessSubExprContext* accessSubExpr(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; AccessExprContext* accessExpr(); + class AccessSubExprContext : public antlr4::ParserRuleContext { + public: + AccessSubExprContext(antlr4::ParserRuleContext *parent, size_t invokingState); + virtual size_t getRuleIndex() const override; + AccessMemberContext *accessMember(); + AccessBracketsContext *accessBrackets(); + + + }; + + AccessSubExprContext* accessSubExpr(); + + class AccessMemberContext : public antlr4::ParserRuleContext { + public: + AccessMemberContext(antlr4::ParserRuleContext *parent, size_t invokingState); + virtual size_t getRuleIndex() const override; + IdentifierExprContext *identifierExpr(); + + + }; + + AccessMemberContext* accessMember(); + + class AccessBracketsContext : public antlr4::ParserRuleContext { + public: + AccessBracketsContext(antlr4::ParserRuleContext *parent, size_t invokingState); + virtual size_t getRuleIndex() const override; + ExprContext *expr(); + + + }; + + AccessBracketsContext* accessBrackets(); + class ParenExprContext : public antlr4::ParserRuleContext { public: ParenExprContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; ExprContext *expr(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; @@ -626,8 +637,6 @@ public: virtual size_t getRuleIndex() const override; antlr4::tree::TerminalNode *NAME(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; @@ -639,8 +648,6 @@ public: virtual size_t getRuleIndex() const override; antlr4::tree::TerminalNode *NAME(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; @@ -652,8 +659,6 @@ public: virtual size_t getRuleIndex() const override; antlr4::tree::TerminalNode *NAME(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; @@ -665,13 +670,42 @@ public: virtual size_t getRuleIndex() const override; antlr4::tree::TerminalNode *NAME(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; StructNameContext* structName(); + class Postfix_opContext : public antlr4::ParserRuleContext { + public: + Postfix_opContext(antlr4::ParserRuleContext *parent, size_t invokingState); + virtual size_t getRuleIndex() const override; + + + }; + + Postfix_opContext* postfix_op(); + + class Prefix_opContext : public antlr4::ParserRuleContext { + public: + Prefix_opContext(antlr4::ParserRuleContext *parent, size_t invokingState); + virtual size_t getRuleIndex() const override; + Postfix_opContext *postfix_op(); + + + }; + + Prefix_opContext* prefix_op(); + + class Binary_opContext : public antlr4::ParserRuleContext { + public: + Binary_opContext(antlr4::ParserRuleContext *parent, size_t invokingState); + virtual size_t getRuleIndex() const override; + + + }; + + Binary_opContext* binary_op(); + private: static std::vector _decisionToDFA;