diff options
Diffstat (limited to 'grammar.ebnf')
-rw-r--r-- | grammar.ebnf | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/grammar.ebnf b/grammar.ebnf index eee1103..aaa0e78 100644 --- a/grammar.ebnf +++ b/grammar.ebnf @@ -12,13 +12,14 @@ ReturnStatement ::= RETURN Expression FunctionArguments ::= Expression ("," Expression)* -Expression ::= AdditiveExpression | FunctionDefinition +Expression ::= EqualityExpression | AdditiveExpression | FunctionDefinition -AdditiveExpression ::= PrimaryExpression (("+" | "-") AdditiveExpression) +EqualityExpression ::= AdditiveExpression "==" AdditiveExpression + +AdditiveExpression ::= PrimaryExpression (("+" | "-") AdditiveExpression)? PrimaryExpression ::= NUMBER | BOOLEAN | IDENTIFIER | FunctionCallStatement FunctionDefinition ::= LPAREN FunctionParamters? RPAREN ARROW LBRACE Statement* ReturnStatement SEMICOLON RBRACE FunctionParameters ::= IDENTIFIER ("," IDENTIFIER)* - |