diff options
Diffstat (limited to 'grammar.ebnf')
| -rw-r--r-- | grammar.ebnf | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/grammar.ebnf b/grammar.ebnf index a169199..ed87d7f 100644 --- a/grammar.ebnf +++ b/grammar.ebnf @@ -28,4 +28,10 @@ PrimaryExpression ::= NUMBER | BOOLEAN | IDENTIFIER | FunctionCallStatement | Fu FunctionDefinition ::= LPAREN FunctionParameters? RPAREN ARROW IDENTIFIER LBRACE Statement* ReturnStatement SEMICOLON RBRACE -FunctionParameters ::= IDENTIFIER ":" IDENTIFIER ("," IDENTIFIER ":" IDENTIFIER)* +FunctionParameters ::= IDENTIFIER ":" Type ("," IDENTIFIER ":" Type)* + +Type ::= IDENTIFIER | FunctionType + +FunctionType ::= LPAREN (Type ("," Type)*)? RPAREN ARROW Type + +ParameterTypes ::= Type ("," Type)* |