about summary refs log tree commit diff
path: root/grammar.ebnf
diff options
context:
space:
mode:
Diffstat (limited to 'grammar.ebnf')
-rw-r--r--grammar.ebnf8
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)*