X-Git-Url: https://gitweb.ps.run/toc/blobdiff_plain/8aeae09e74b46ca52866f22b48f55fecdf27b849..17fac686375c2823d22415e32e5b7e63bbfe7c54:/gen/TocParser.h diff --git a/gen/TocParser.h b/gen/TocParser.h index f1584e7..2482c29 100644 --- a/gen/TocParser.h +++ b/gen/TocParser.h @@ -29,16 +29,16 @@ public: RuleProg = 0, RuleDecl = 1, RuleVarDecl = 2, RuleVar = 3, RuleVarInit = 4, RuleType = 5, RuleTypeModifier = 6, RuleFuncDecl = 7, RuleFunc = 8, RuleParameter = 9, RuleBody = 10, RuleStructDecl = 11, RuleStructMember = 12, - RuleStructVar = 13, RuleStructMethod = 14, RuleStmt = 15, RuleIfStmt = 16, - 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 + RuleStructVar = 13, RuleStructMethod = 14, RuleGenericDecl = 15, RuleStmt = 16, + RuleIfStmt = 17, RuleElseIfStmt = 18, RuleElseStmt = 19, RuleSwitchStmt = 20, + RuleSwitchBody = 21, RuleSwitchCase = 22, RuleForStmt = 23, RuleWhileStmt = 24, + RuleAssignStmt = 25, RuleReturnStmt = 26, RuleExpr = 27, RuleNonOpExpr = 28, + RuleNonAccessExpr = 29, RuleFuncExpr = 30, RuleOpExpr = 31, RuleBinaryOp = 32, + RulePrefixOp = 33, RulePostfixOp = 34, RuleTernaryOp = 35, RuleIdentifierExpr = 36, + RuleLitExpr = 37, RuleAccessExpr = 38, RuleAccessSubExpr = 39, RuleAccessMember = 40, + RuleAccessBrackets = 41, RuleParenExpr = 42, RuleFuncName = 43, RuleVarName = 44, + RuleTypeName = 45, RuleStructName = 46, RulePostfix_op = 47, RulePrefix_op = 48, + RuleBinary_op = 49 }; explicit TocParser(antlr4::TokenStream *input); @@ -66,6 +66,7 @@ public: class StructMemberContext; class StructVarContext; class StructMethodContext; + class GenericDeclContext; class StmtContext; class IfStmtContext; class ElseIfStmtContext; @@ -109,8 +110,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; }; @@ -124,8 +123,6 @@ public: FuncDeclContext *funcDecl(); StructDeclContext *structDecl(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; @@ -137,8 +134,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; }; @@ -152,8 +147,6 @@ public: TypeContext *type(); ExprContext *expr(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; @@ -167,8 +160,6 @@ public: TypeContext *type(); ExprContext *expr(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; @@ -182,8 +173,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; }; @@ -195,8 +184,6 @@ public: virtual size_t getRuleIndex() const override; antlr4::tree::TerminalNode *INT_LIT(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; @@ -208,8 +195,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; }; @@ -223,9 +208,8 @@ public: ParameterContext *parameter(); BodyContext *body(); TypeContext *type(); + GenericDeclContext *genericDecl(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; @@ -238,8 +222,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; }; @@ -252,8 +234,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; }; @@ -264,11 +244,10 @@ public: StructDeclContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; StructNameContext *structName(); + GenericDeclContext *genericDecl(); std::vector structMember(); StructMemberContext* structMember(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; @@ -281,8 +260,6 @@ public: StructVarContext *structVar(); StructMethodContext *structMethod(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; @@ -294,8 +271,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; }; @@ -307,13 +282,23 @@ 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; }; StructMethodContext* structMethod(); + class GenericDeclContext : public antlr4::ParserRuleContext { + public: + GenericDeclContext(antlr4::ParserRuleContext *parent, size_t invokingState); + virtual size_t getRuleIndex() const override; + std::vector typeName(); + TypeNameContext* typeName(size_t i); + + + }; + + GenericDeclContext* genericDecl(); + class StmtContext : public antlr4::ParserRuleContext { public: StmtContext(antlr4::ParserRuleContext *parent, size_t invokingState); @@ -327,8 +312,6 @@ public: ReturnStmtContext *returnStmt(); ExprContext *expr(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; @@ -344,8 +327,6 @@ public: ElseIfStmtContext* elseIfStmt(size_t i); ElseStmtContext *elseStmt(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; @@ -358,8 +339,6 @@ public: ExprContext *expr(); BodyContext *body(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; @@ -371,8 +350,6 @@ public: virtual size_t getRuleIndex() const override; BodyContext *body(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; @@ -385,8 +362,6 @@ public: IdentifierExprContext *identifierExpr(); SwitchBodyContext *switchBody(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; @@ -399,8 +374,6 @@ public: std::vector switchCase(); SwitchCaseContext* switchCase(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; @@ -413,8 +386,6 @@ public: ExprContext *expr(); BodyContext *body(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; @@ -430,8 +401,6 @@ public: VarInitContext *varInit(); AssignStmtContext *assignStmt(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; @@ -444,8 +413,6 @@ public: ExprContext *expr(); BodyContext *body(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; @@ -458,8 +425,6 @@ public: IdentifierExprContext *identifierExpr(); ExprContext *expr(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; @@ -471,8 +436,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; }; @@ -489,8 +452,6 @@ public: AccessExprContext *accessExpr(); OpExprContext *opExpr(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; @@ -506,8 +467,6 @@ public: ParenExprContext *parenExpr(); AccessExprContext *accessExpr(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; @@ -521,8 +480,6 @@ public: IdentifierExprContext *identifierExpr(); ParenExprContext *parenExpr(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; @@ -536,8 +493,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; }; @@ -552,8 +507,6 @@ public: PostfixOpContext *postfixOp(); TernaryOpContext *ternaryOp(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; @@ -568,8 +521,6 @@ public: 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; }; @@ -582,8 +533,6 @@ public: Prefix_opContext *prefix_op(); NonOpExprContext *nonOpExpr(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; @@ -596,8 +545,6 @@ public: NonOpExprContext *nonOpExpr(); Postfix_opContext *postfix_op(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; @@ -611,8 +558,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; }; @@ -624,8 +569,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; }; @@ -640,8 +583,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; }; @@ -655,8 +596,6 @@ public: std::vector accessSubExpr(); AccessSubExprContext* accessSubExpr(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; @@ -669,8 +608,6 @@ public: AccessMemberContext *accessMember(); AccessBracketsContext *accessBrackets(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; @@ -682,8 +619,6 @@ public: virtual size_t getRuleIndex() const override; IdentifierExprContext *identifierExpr(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; @@ -695,8 +630,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; }; @@ -708,8 +641,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; }; @@ -721,8 +652,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; }; @@ -734,8 +663,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; }; @@ -747,8 +674,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; }; @@ -760,8 +685,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; }; @@ -772,8 +695,6 @@ public: Postfix_opContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; @@ -785,8 +706,6 @@ public: virtual size_t getRuleIndex() const override; Postfix_opContext *postfix_op(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; }; @@ -797,8 +716,6 @@ public: Binary_opContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; };