\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
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 ExprContext;\r
class NonOpExprContext;\r
class NonSubscriptExprContext;\r
+ class NonAccessExprContext;\r
class FuncCallContext;\r
class OperatorExprContext;\r
class BinaryOperatorContext;\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
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
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
\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