]> gitweb.ps.run Git - toc/blobdiff - gen/TocParser.h
generic functions and structs
[toc] / gen / TocParser.h
index 35798a1d6aa869d0f2f11d913932176236dec8e6..14b7706285c563247b8555c9d91d567aa6484e04 100644 (file)
@@ -21,8 +21,8 @@ public:
     T__38 = 39, T__39 = 40, T__40 = 41, T__41 = 42, T__42 = 43, T__43 = 44, \r
     T__44 = 45, T__45 = 46, T__46 = 47, T__47 = 48, T__48 = 49, T__49 = 50, \r
     T__50 = 51, T__51 = 52, T__52 = 53, T__53 = 54, T__54 = 55, T__55 = 56, \r
-    T__56 = 57, INT_LIT = 58, DECIMAL_LIT = 59, BOOL_LIT = 60, StringLit = 61, \r
-    NAME = 62, WS = 63, NEWLINE = 64\r
+    T__56 = 57, T__57 = 58, INT_LIT = 59, DECIMAL_LIT = 60, BOOL_LIT = 61, \r
+    StringLit = 62, NAME = 63, WS = 64, NEWLINE = 65\r
   };\r
 \r
   enum {\r
@@ -30,12 +30,13 @@ public:
     RuleVar = 4, RuleVarInit = 5, RuleType = 6, RuleTypeModifier = 7, RuleNamespaceSpecifier = 8, \r
     RuleFuncDecl = 9, RuleFunc = 10, RuleParameter = 11, RuleBody = 12, \r
     RuleStructDecl = 13, RuleStructMember = 14, RuleStructVar = 15, RuleStructMethod = 16, \r
-    RulePrivateDecl = 17, RuleGenericDecl = 18, RuleStmt = 19, RuleIfStmt = 20, \r
-    RuleElseIfStmt = 21, RuleElseStmt = 22, RuleSwitchStmt = 23, RuleSwitchBody = 24, \r
-    RuleSwitchCase = 25, RuleForStmt = 26, RuleWhileStmt = 27, RuleAssignStmt = 28, \r
-    RuleReturnStmt = 29, RuleExpr = 30, RuleLiteral = 31, RuleFuncName = 32, \r
-    RuleVarName = 33, RuleTypeName = 34, RuleStructName = 35, RulePostfix_op = 36, \r
-    RulePrefix_op = 37, RuleBinary_op = 38\r
+    RulePrivateDecl = 17, RuleGenericDecl = 18, RuleGenericInstantiation = 19, \r
+    RuleStmt = 20, RuleIfStmt = 21, RuleElseIfStmt = 22, RuleElseStmt = 23, \r
+    RuleSwitchStmt = 24, RuleSwitchBody = 25, RuleSwitchCase = 26, RuleForStmt = 27, \r
+    RuleWhileStmt = 28, RuleAssignStmt = 29, RuleReturnStmt = 30, RuleExpr = 31, \r
+    RuleDot = 32, RuleArrow = 33, RuleLiteral = 34, RuleFuncName = 35, RuleVarName = 36, \r
+    RuleTypeName = 37, RuleStructName = 38, RulePostfix_op = 39, RulePrefix_op = 40, \r
+    RuleBinary_op = 41\r
   };\r
 \r
   explicit TocParser(antlr4::TokenStream *input);\r
@@ -67,6 +68,7 @@ public:
   class StructMethodContext;\r
   class PrivateDeclContext;\r
   class GenericDeclContext;\r
+  class GenericInstantiationContext;\r
   class StmtContext;\r
   class IfStmtContext;\r
   class ElseIfStmtContext;\r
@@ -79,6 +81,8 @@ public:
   class AssignStmtContext;\r
   class ReturnStmtContext;\r
   class ExprContext;\r
+  class DotContext;\r
+  class ArrowContext;\r
   class LiteralContext;\r
   class FuncNameContext;\r
   class VarNameContext;\r
@@ -172,6 +176,7 @@ public:
     TypeNameContext *typeName();\r
     std::vector<NamespaceSpecifierContext *> namespaceSpecifier();\r
     NamespaceSpecifierContext* namespaceSpecifier(size_t i);\r
+    GenericInstantiationContext *genericInstantiation();\r
     std::vector<TypeModifierContext *> typeModifier();\r
     TypeModifierContext* typeModifier(size_t i);\r
 \r
@@ -323,6 +328,18 @@ public:
 \r
   GenericDeclContext* genericDecl();\r
 \r
+  class  GenericInstantiationContext : public antlr4::ParserRuleContext {\r
+  public:\r
+    GenericInstantiationContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
+    virtual size_t getRuleIndex() const override;\r
+    std::vector<TypeContext *> type();\r
+    TypeContext* type(size_t i);\r
+\r
+   \r
+  };\r
+\r
+  GenericInstantiationContext* genericInstantiation();\r
+\r
   class  StmtContext : public antlr4::ParserRuleContext {\r
   public:\r
     StmtContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
@@ -483,6 +500,8 @@ public:
 \r
     ExprContext *expr();\r
     VarNameContext *varName();\r
+    DotContext *dot();\r
+    ArrowContext *arrow();\r
   };\r
 \r
   class  FuncExprContext : public ExprContext {\r
@@ -492,6 +511,7 @@ public:
     FuncNameContext *funcName();\r
     std::vector<NamespaceSpecifierContext *> namespaceSpecifier();\r
     NamespaceSpecifierContext* namespaceSpecifier(size_t i);\r
+    GenericInstantiationContext *genericInstantiation();\r
     std::vector<ExprContext *> expr();\r
     ExprContext* expr(size_t i);\r
   };\r
@@ -519,6 +539,7 @@ public:
     std::vector<ExprContext *> expr();\r
     ExprContext* expr(size_t i);\r
     FuncNameContext *funcName();\r
+    GenericInstantiationContext *genericInstantiation();\r
   };\r
 \r
   class  PostfixOpExprContext : public ExprContext {\r
@@ -571,6 +592,26 @@ public:
 \r
   ExprContext* expr();\r
   ExprContext* expr(int precedence);\r
+  class  DotContext : public antlr4::ParserRuleContext {\r
+  public:\r
+    DotContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
+    virtual size_t getRuleIndex() const override;\r
+\r
+   \r
+  };\r
+\r
+  DotContext* dot();\r
+\r
+  class  ArrowContext : public antlr4::ParserRuleContext {\r
+  public:\r
+    ArrowContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
+    virtual size_t getRuleIndex() const override;\r
+\r
+   \r
+  };\r
+\r
+  ArrowContext* arrow();\r
+\r
   class  LiteralContext : public antlr4::ParserRuleContext {\r
   public:\r
     LiteralContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r