]> gitweb.ps.run Git - toc/blobdiff - gen/TocParser.h
toc now uses internal representation instead of ast
[toc] / gen / TocParser.h
index 6dc941cb418895dcf108399f2ae5708b7b8cd9a0..a1438fbdd3e44e7bc21a4b259b697511b9755928 100644 (file)
@@ -20,14 +20,14 @@ public:
 \r
   enum {\r
     RuleProg = 0, RuleDecl = 1, RuleVarDecl = 2, RuleVar = 3, RuleType = 4, \r
 \r
   enum {\r
     RuleProg = 0, RuleDecl = 1, RuleVarDecl = 2, RuleVar = 3, RuleType = 4, \r
-    RuleFuncDecl = 5, RuleFunc = 6, RuleParameter = 7, RuleFirstParameter = 8\r
-    RuleAdditionalParameter = 9, RuleBody = 10, RuleStructDecl = 11, RuleStructMember = 12\r
-    RuleStructVar = 13, RuleStructMethod = 14, RuleStmt = 15, RuleConditional = 16\r
-    RuleIfCond = 17, RuleLoop = 18, RuleWhileLoop = 19, RuleAssignment = 20\r
-    RuleReturnStmt = 21, RuleExpr = 22, RuleNonOpExpr = 23, RuleNonSubscriptExpr = 24, \r
-    RuleFuncCall = 25, RuleOperatorExpr = 26, RuleBinaryOperator = 27, RuleIdentifier = 28\r
-    RuleLiteral = 29, RuleSubscript = 30, RuleMemberAccess = 31, RuleParenExpr = 32\r
-    RuleFuncName = 33, RuleVarName = 34, RuleTypeName = 35, RuleStructName = 36\r
+    RuleFuncDecl = 5, RuleFunc = 6, RuleParameter = 7, RuleBody = 8, RuleStructDecl = 9\r
+    RuleStructMember = 10, RuleStructVar = 11, RuleStructMethod = 12, RuleStmt = 13\r
+    RuleConditional = 14, RuleIfCond = 15, RuleLoop = 16, RuleWhileLoop = 17\r
+    RuleAssignment = 18, RuleReturnStmt = 19, RuleExpr = 20, RuleNonOpExpr = 21\r
+    RuleNonSubscriptExpr = 22, RuleNonAccessExpr = 23, RuleFuncCall = 24, \r
+    RuleOperatorExpr = 25, RuleBinaryOperator = 26, RuleIdentifier = 27\r
+    RuleLiteral = 28, RuleSubscript = 29, RuleMemberAccess = 30, RuleParenExpr = 31\r
+    RuleFuncName = 32, RuleVarName = 33, RuleTypeName = 34, RuleStructName = 35\r
   };\r
 \r
   explicit TocParser(antlr4::TokenStream *input);\r
   };\r
 \r
   explicit TocParser(antlr4::TokenStream *input);\r
@@ -48,8 +48,6 @@ public:
   class FuncDeclContext;\r
   class FuncContext;\r
   class ParameterContext;\r
   class FuncDeclContext;\r
   class FuncContext;\r
   class ParameterContext;\r
-  class FirstParameterContext;\r
-  class AdditionalParameterContext;\r
   class BodyContext;\r
   class StructDeclContext;\r
   class StructMemberContext;\r
   class BodyContext;\r
   class StructDeclContext;\r
   class StructMemberContext;\r
@@ -65,6 +63,7 @@ public:
   class ExprContext;\r
   class NonOpExprContext;\r
   class NonSubscriptExprContext;\r
   class ExprContext;\r
   class NonOpExprContext;\r
   class NonSubscriptExprContext;\r
+  class NonAccessExprContext;\r
   class FuncCallContext;\r
   class OperatorExprContext;\r
   class BinaryOperatorContext;\r
   class FuncCallContext;\r
   class OperatorExprContext;\r
   class BinaryOperatorContext;\r
@@ -182,9 +181,8 @@ public:
   public:\r
     ParameterContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
     virtual size_t getRuleIndex() const override;\r
   public:\r
     ParameterContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
     virtual size_t getRuleIndex() const override;\r
-    FirstParameterContext *firstParameter();\r
-    std::vector<AdditionalParameterContext *> additionalParameter();\r
-    AdditionalParameterContext* additionalParameter(size_t i);\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
     virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override;\r
     virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override;\r
@@ -193,32 +191,6 @@ public:
 \r
   ParameterContext* parameter();\r
 \r
 \r
   ParameterContext* parameter();\r
 \r
-  class  FirstParameterContext : public antlr4::ParserRuleContext {\r
-  public:\r
-    FirstParameterContext(antlr4::ParserRuleContext *parent, size_t invokingState);\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
-  FirstParameterContext* firstParameter();\r
-\r
-  class  AdditionalParameterContext : public antlr4::ParserRuleContext {\r
-  public:\r
-    AdditionalParameterContext(antlr4::ParserRuleContext *parent, size_t invokingState);\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
-  AdditionalParameterContext* additionalParameter();\r
-\r
   class  BodyContext : public antlr4::ParserRuleContext {\r
   public:\r
     BodyContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
   class  BodyContext : public antlr4::ParserRuleContext {\r
   public:\r
     BodyContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
@@ -429,6 +401,7 @@ public:
     NonSubscriptExprContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
     virtual size_t getRuleIndex() const override;\r
     FuncCallContext *funcCall();\r
     NonSubscriptExprContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
     virtual size_t getRuleIndex() const override;\r
     FuncCallContext *funcCall();\r
+    LiteralContext *literal();\r
     IdentifierContext *identifier();\r
     MemberAccessContext *memberAccess();\r
     ParenExprContext *parenExpr();\r
     IdentifierContext *identifier();\r
     MemberAccessContext *memberAccess();\r
     ParenExprContext *parenExpr();\r
@@ -440,6 +413,24 @@ public:
 \r
   NonSubscriptExprContext* nonSubscriptExpr();\r
 \r
 \r
   NonSubscriptExprContext* nonSubscriptExpr();\r
 \r
+  class  NonAccessExprContext : public antlr4::ParserRuleContext {\r
+  public:\r
+    NonAccessExprContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
+    virtual size_t getRuleIndex() const override;\r
+    FuncCallContext *funcCall();\r
+    LiteralContext *literal();\r
+    IdentifierContext *identifier();\r
+    SubscriptContext *subscript();\r
+    ParenExprContext *parenExpr();\r
+    OperatorExprContext *operatorExpr();\r
+\r
+    virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override;\r
+    virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override;\r
+   \r
+  };\r
+\r
+  NonAccessExprContext* nonAccessExpr();\r
+\r
   class  FuncCallContext : public antlr4::ParserRuleContext {\r
   public:\r
     FuncCallContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
   class  FuncCallContext : public antlr4::ParserRuleContext {\r
   public:\r
     FuncCallContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r