]> gitweb.ps.run Git - toc/blobdiff - gen/TocParser.h
add namespace, private struct member grammar, change bracket style
[toc] / gen / TocParser.h
index 8cdece5c43bc39cbe01873fc85cc373b9eaf9d10..51d1e89fc45b98a8249a4868e4889e3da974ade7 100644 (file)
@@ -15,22 +15,30 @@ public:
     T__0 = 1, T__1 = 2, T__2 = 3, T__3 = 4, T__4 = 5, T__5 = 6, T__6 = 7, \r
     T__7 = 8, T__8 = 9, T__9 = 10, T__10 = 11, T__11 = 12, T__12 = 13, T__13 = 14, \r
     T__14 = 15, T__15 = 16, T__16 = 17, T__17 = 18, T__18 = 19, T__19 = 20, \r
-    T__20 = 21, T__21 = 22, T__22 = 23, POSTFIX_OP = 24, PREFIX_OP = 25, \r
-    BINARY_OP = 26, INT_LIT = 27, DECIMAL_LIT = 28, STRING_LIT = 29, BOOL_LIT = 30, \r
-    NAME = 31, WS = 32, NEWLINE = 33, NUMBER = 34\r
+    T__20 = 21, T__21 = 22, T__22 = 23, T__23 = 24, T__24 = 25, T__25 = 26, \r
+    T__26 = 27, T__27 = 28, T__28 = 29, T__29 = 30, T__30 = 31, T__31 = 32, \r
+    T__32 = 33, T__33 = 34, T__34 = 35, T__35 = 36, T__36 = 37, T__37 = 38, \r
+    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, STRING_LIT = 60, BOOL_LIT = 61, \r
+    NAME = 62, WS = 63, NEWLINE = 64\r
   };\r
 \r
   enum {\r
-    RuleProg = 0, RuleDecl = 1, RuleVarDecl = 2, RuleVar = 3, RuleVarInit = 4, \r
-    RuleType = 5, RuleTypeModifier = 6, RuleFuncDecl = 7, RuleFunc = 8, \r
-    RuleParameter = 9, RuleBody = 10, RuleStructDecl = 11, RuleStructMember = 12, \r
-    RuleStructVar = 13, RuleStructMethod = 14, RuleStmt = 15, RuleIfStmt = 16, \r
-    RuleSwitchStmt = 17, RuleSwitchBody = 18, RuleForStmt = 19, RuleWhileStmt = 20, \r
-    RuleAssignStmt = 21, RuleReturnStmt = 22, RuleExpr = 23, RuleNonOpExpr = 24, \r
-    RuleNonAccessExpr = 25, RuleFuncExpr = 26, RuleOpExpr = 27, RuleBinaryOp = 28, \r
-    RulePrefixOp = 29, RulePostfixOp = 30, RuleTernaryOp = 31, RuleIdentifierExpr = 32, \r
-    RuleLitExpr = 33, RuleAccessExpr = 34, RuleParenExpr = 35, RuleFuncName = 36, \r
-    RuleVarName = 37, RuleTypeName = 38, RuleStructName = 39\r
+    RuleProg = 0, RuleDecl = 1, RuleNamespaceDecl = 2, RuleVarDecl = 3, \r
+    RuleVar = 4, RuleVarInit = 5, RuleType = 6, RuleTypeModifier = 7, RuleFuncDecl = 8, \r
+    RuleFunc = 9, RuleParameter = 10, RuleBody = 11, RuleStructDecl = 12, \r
+    RuleStructMember = 13, RuleStructVar = 14, RuleStructMethod = 15, RulePrivateDecl = 16, \r
+    RuleGenericDecl = 17, RuleStmt = 18, RuleIfStmt = 19, RuleElseIfStmt = 20, \r
+    RuleElseStmt = 21, RuleSwitchStmt = 22, RuleSwitchBody = 23, RuleSwitchCase = 24, \r
+    RuleForStmt = 25, RuleWhileStmt = 26, RuleAssignStmt = 27, RuleReturnStmt = 28, \r
+    RuleExpr = 29, RuleNonOpExpr = 30, RuleNonAccessExpr = 31, RuleFuncExpr = 32, \r
+    RuleOpExpr = 33, RuleBinaryOp = 34, RulePrefixOp = 35, RulePostfixOp = 36, \r
+    RuleTernaryOp = 37, RuleIdentifierExpr = 38, RuleLitExpr = 39, RuleAccessExpr = 40, \r
+    RuleAccessSubExpr = 41, RuleAccessMember = 42, RuleAccessBrackets = 43, \r
+    RuleParenExpr = 44, RuleFuncName = 45, RuleVarName = 46, RuleTypeName = 47, \r
+    RuleStructName = 48, RulePostfix_op = 49, RulePrefix_op = 50, RuleBinary_op = 51\r
   };\r
 \r
   explicit TocParser(antlr4::TokenStream *input);\r
@@ -45,6 +53,7 @@ public:
 \r
   class ProgContext;\r
   class DeclContext;\r
+  class NamespaceDeclContext;\r
   class VarDeclContext;\r
   class VarContext;\r
   class VarInitContext;\r
@@ -58,10 +67,15 @@ public:
   class StructMemberContext;\r
   class StructVarContext;\r
   class StructMethodContext;\r
+  class PrivateDeclContext;\r
+  class GenericDeclContext;\r
   class StmtContext;\r
   class IfStmtContext;\r
+  class ElseIfStmtContext;\r
+  class ElseStmtContext;\r
   class SwitchStmtContext;\r
   class SwitchBodyContext;\r
+  class SwitchCaseContext;\r
   class ForStmtContext;\r
   class WhileStmtContext;\r
   class AssignStmtContext;\r
@@ -78,11 +92,17 @@ public:
   class IdentifierExprContext;\r
   class LitExprContext;\r
   class AccessExprContext;\r
+  class AccessSubExprContext;\r
+  class AccessMemberContext;\r
+  class AccessBracketsContext;\r
   class ParenExprContext;\r
   class FuncNameContext;\r
   class VarNameContext;\r
   class TypeNameContext;\r
-  class StructNameContext; \r
+  class StructNameContext;\r
+  class Postfix_opContext;\r
+  class Prefix_opContext;\r
+  class Binary_opContext; \r
 \r
   class  ProgContext : public antlr4::ParserRuleContext {\r
   public:\r
@@ -92,8 +112,6 @@ public:
     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
@@ -106,22 +124,32 @@ public:
     VarDeclContext *varDecl();\r
     FuncDeclContext *funcDecl();\r
     StructDeclContext *structDecl();\r
+    NamespaceDeclContext *namespaceDecl();\r
 \r
-    virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override;\r
-    virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override;\r
    \r
   };\r
 \r
   DeclContext* decl();\r
 \r
+  class  NamespaceDeclContext : public antlr4::ParserRuleContext {\r
+  public:\r
+    NamespaceDeclContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
+    virtual size_t getRuleIndex() const override;\r
+    TypeNameContext *typeName();\r
+    std::vector<DeclContext *> decl();\r
+    DeclContext* decl(size_t i);\r
+\r
+   \r
+  };\r
+\r
+  NamespaceDeclContext* namespaceDecl();\r
+\r
   class  VarDeclContext : public antlr4::ParserRuleContext {\r
   public:\r
     VarDeclContext(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
@@ -135,8 +163,6 @@ public:
     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
@@ -150,8 +176,6 @@ public:
     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
@@ -165,8 +189,6 @@ public:
     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
@@ -176,10 +198,8 @@ public:
   public:\r
     TypeModifierContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
     virtual size_t getRuleIndex() const override;\r
-    antlr4::tree::TerminalNode *NUMBER();\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
@@ -191,8 +211,6 @@ public:
     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
@@ -206,9 +224,8 @@ public:
     ParameterContext *parameter();\r
     BodyContext *body();\r
     TypeContext *type();\r
+    GenericDeclContext *genericDecl();\r
 \r
-    virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override;\r
-    virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override;\r
    \r
   };\r
 \r
@@ -221,8 +238,6 @@ public:
     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
@@ -235,8 +250,6 @@ public:
     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
@@ -247,11 +260,10 @@ public:
     StructDeclContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
     virtual size_t getRuleIndex() const override;\r
     StructNameContext *structName();\r
+    GenericDeclContext *genericDecl();\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
@@ -262,10 +274,9 @@ public:
     StructMemberContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
     virtual size_t getRuleIndex() const override;\r
     StructVarContext *structVar();\r
+    PrivateDeclContext *privateDecl();\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
@@ -277,8 +288,6 @@ public:
     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
@@ -290,13 +299,33 @@ public:
     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
   StructMethodContext* structMethod();\r
 \r
+  class  PrivateDeclContext : public antlr4::ParserRuleContext {\r
+  public:\r
+    PrivateDeclContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
+    virtual size_t getRuleIndex() const override;\r
+\r
+   \r
+  };\r
+\r
+  PrivateDeclContext* privateDecl();\r
+\r
+  class  GenericDeclContext : public antlr4::ParserRuleContext {\r
+  public:\r
+    GenericDeclContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
+    virtual size_t getRuleIndex() const override;\r
+    std::vector<TypeNameContext *> typeName();\r
+    TypeNameContext* typeName(size_t i);\r
+\r
+   \r
+  };\r
+\r
+  GenericDeclContext* genericDecl();\r
+\r
   class  StmtContext : public antlr4::ParserRuleContext {\r
   public:\r
     StmtContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
@@ -310,8 +339,6 @@ public:
     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
@@ -321,18 +348,40 @@ public:
   public:\r
     IfStmtContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
     virtual size_t getRuleIndex() const override;\r
-    std::vector<ExprContext *> expr();\r
-    ExprContext* expr(size_t i);\r
-    std::vector<BodyContext *> body();\r
-    BodyContext* body(size_t i);\r
+    ExprContext *expr();\r
+    BodyContext *body();\r
+    std::vector<ElseIfStmtContext *> elseIfStmt();\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
   IfStmtContext* ifStmt();\r
 \r
+  class  ElseIfStmtContext : public antlr4::ParserRuleContext {\r
+  public:\r
+    ElseIfStmtContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
+    virtual size_t getRuleIndex() const override;\r
+    ExprContext *expr();\r
+    BodyContext *body();\r
+\r
+   \r
+  };\r
+\r
+  ElseIfStmtContext* elseIfStmt();\r
+\r
+  class  ElseStmtContext : public antlr4::ParserRuleContext {\r
+  public:\r
+    ElseStmtContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
+    virtual size_t getRuleIndex() const override;\r
+    BodyContext *body();\r
+\r
+   \r
+  };\r
+\r
+  ElseStmtContext* elseStmt();\r
+\r
   class  SwitchStmtContext : public antlr4::ParserRuleContext {\r
   public:\r
     SwitchStmtContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
@@ -340,8 +389,6 @@ public:
     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
@@ -351,18 +398,26 @@ public:
   public:\r
     SwitchBodyContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
     virtual size_t getRuleIndex() const override;\r
-    std::vector<ExprContext *> expr();\r
-    ExprContext* expr(size_t i);\r
-    std::vector<BodyContext *> body();\r
-    BodyContext* body(size_t i);\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
   SwitchBodyContext* switchBody();\r
 \r
+  class  SwitchCaseContext : public antlr4::ParserRuleContext {\r
+  public:\r
+    SwitchCaseContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
+    virtual size_t getRuleIndex() const override;\r
+    ExprContext *expr();\r
+    BodyContext *body();\r
+\r
+   \r
+  };\r
+\r
+  SwitchCaseContext* switchCase();\r
+\r
   class  ForStmtContext : public antlr4::ParserRuleContext {\r
   public:\r
     ForStmtContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
@@ -373,8 +428,6 @@ public:
     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
@@ -387,8 +440,6 @@ public:
     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
@@ -401,8 +452,6 @@ public:
     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
@@ -414,8 +463,6 @@ public:
     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
@@ -432,8 +479,6 @@ public:
     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
@@ -449,8 +494,6 @@ public:
     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
@@ -464,8 +507,6 @@ public:
     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
@@ -479,8 +520,6 @@ public:
     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
@@ -495,8 +534,6 @@ public:
     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
@@ -508,11 +545,9 @@ public:
     virtual size_t getRuleIndex() const override;\r
     std::vector<NonOpExprContext *> nonOpExpr();\r
     NonOpExprContext* nonOpExpr(size_t i);\r
-    std::vector<antlr4::tree::TerminalNode *> BINARY_OP();\r
-    antlr4::tree::TerminalNode* BINARY_OP(size_t i);\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
@@ -522,11 +557,9 @@ public:
   public:\r
     PrefixOpContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
     virtual size_t getRuleIndex() const override;\r
-    antlr4::tree::TerminalNode *PREFIX_OP();\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
@@ -537,10 +570,8 @@ public:
     PostfixOpContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
     virtual size_t getRuleIndex() const override;\r
     NonOpExprContext *nonOpExpr();\r
-    antlr4::tree::TerminalNode *POSTFIX_OP();\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
@@ -554,8 +585,6 @@ public:
     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
@@ -567,8 +596,6 @@ public:
     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
@@ -583,8 +610,6 @@ public:
     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
@@ -595,26 +620,54 @@ public:
     AccessExprContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
     virtual size_t getRuleIndex() const override;\r
     NonAccessExprContext *nonAccessExpr();\r
-    std::vector<IdentifierExprContext *> identifierExpr();\r
-    IdentifierExprContext* identifierExpr(size_t i);\r
-    std::vector<ExprContext *> expr();\r
-    ExprContext* expr(size_t i);\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
   AccessExprContext* accessExpr();\r
 \r
+  class  AccessSubExprContext : public antlr4::ParserRuleContext {\r
+  public:\r
+    AccessSubExprContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
+    virtual size_t getRuleIndex() const override;\r
+    AccessMemberContext *accessMember();\r
+    AccessBracketsContext *accessBrackets();\r
+\r
+   \r
+  };\r
+\r
+  AccessSubExprContext* accessSubExpr();\r
+\r
+  class  AccessMemberContext : public antlr4::ParserRuleContext {\r
+  public:\r
+    AccessMemberContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
+    virtual size_t getRuleIndex() const override;\r
+    IdentifierExprContext *identifierExpr();\r
+\r
+   \r
+  };\r
+\r
+  AccessMemberContext* accessMember();\r
+\r
+  class  AccessBracketsContext : public antlr4::ParserRuleContext {\r
+  public:\r
+    AccessBracketsContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
+    virtual size_t getRuleIndex() const override;\r
+    ExprContext *expr();\r
+\r
+   \r
+  };\r
+\r
+  AccessBracketsContext* accessBrackets();\r
+\r
   class  ParenExprContext : public antlr4::ParserRuleContext {\r
   public:\r
     ParenExprContext(antlr4::ParserRuleContext *parent, size_t invokingState);\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
@@ -626,8 +679,6 @@ public:
     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
@@ -639,8 +690,6 @@ public:
     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
@@ -652,8 +701,6 @@ public:
     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
@@ -665,13 +712,42 @@ public:
     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
   StructNameContext* structName();\r
 \r
+  class  Postfix_opContext : public antlr4::ParserRuleContext {\r
+  public:\r
+    Postfix_opContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
+    virtual size_t getRuleIndex() const override;\r
+\r
+   \r
+  };\r
+\r
+  Postfix_opContext* postfix_op();\r
+\r
+  class  Prefix_opContext : public antlr4::ParserRuleContext {\r
+  public:\r
+    Prefix_opContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
+    virtual size_t getRuleIndex() const override;\r
+    Postfix_opContext *postfix_op();\r
+\r
+   \r
+  };\r
+\r
+  Prefix_opContext* prefix_op();\r
+\r
+  class  Binary_opContext : public antlr4::ParserRuleContext {\r
+  public:\r
+    Binary_opContext(antlr4::ParserRuleContext *parent, size_t invokingState);\r
+    virtual size_t getRuleIndex() const override;\r
+\r
+   \r
+  };\r
+\r
+  Binary_opContext* binary_op();\r
+\r
 \r
 private:\r
   static std::vector<antlr4::dfa::DFA> _decisionToDFA;\r