\r
funcDecl: 'func' func;\r
func: funcName '(' parameter ')' (':' type) body;\r
-parameter: (firstParameter (additionalParameter)*)?;\r
-firstParameter: var;\r
-additionalParameter: ',' var;\r
+parameter: (var (',' var)*)?;\r
\r
body: '{' stmt* '}';\r
\r
| parenExpr;\r
\r
nonSubscriptExpr: funcCall\r
+ | literal\r
| identifier\r
| memberAccess\r
| parenExpr;\r
\r
+nonAccessExpr: funcCall\r
+ | literal\r
+ | identifier\r
+ | subscript\r
+ | parenExpr\r
+ | operatorExpr;\r
+\r
funcCall: funcName '(' (expr (',' expr)*)? ')';\r
\r
operatorExpr: binaryOperator;\r