From 2c7f904adec45c7677daae4891f67ce01f191eb8 Mon Sep 17 00:00:00 2001 From: Baitinq Date: Thu, 23 Jan 2025 20:36:16 +0100 Subject: Sync grammar --- grammar.ebnf | 4 ++-- src/parser.zig | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/grammar.ebnf b/grammar.ebnf index af2d9ec..5aa9b54 100644 --- a/grammar.ebnf +++ b/grammar.ebnf @@ -14,7 +14,7 @@ ReturnStatement ::= RETURN Expression FunctionArguments ::= Expression ("," Expression)* -Expression ::= EqualityExpression | AdditiveExpression | FunctionDefinition +Expression ::= EqualityExpression | AdditiveExpression EqualityExpression ::= AdditiveExpression "==" AdditiveExpression @@ -24,7 +24,7 @@ MultiplicativeExpression ::= UnaryExpression (("*" | "/") UnaryExpression)* UnaryExpression ::= ("!" | "-") UnaryExpression | PrimaryExpression -PrimaryExpression ::= NUMBER | BOOLEAN | IDENTIFIER | FunctionCallStatement | LPAREN Expression RPAREN +PrimaryExpression ::= NUMBER | BOOLEAN | IDENTIFIER | FunctionCallStatement | FunctionDefinition | LPAREN Expression RPAREN FunctionDefinition ::= LPAREN FunctionParameters? RPAREN ARROW LBRACE Statement* ReturnStatement SEMICOLON RBRACE diff --git a/src/parser.zig b/src/parser.zig index 75abf77..94f5cb7 100644 --- a/src/parser.zig +++ b/src/parser.zig @@ -232,7 +232,7 @@ pub const Parser = struct { } }); } - // Expression ::= EqualityExpression | AdditiveExpression + // Expression ::= EqualityExpression | AdditiveExpression fn parse_expression(self: *Parser) ParserError!*Node { errdefer if (!self.try_context) std.debug.print("Error parsing expression {any}\n", .{self.peek_token()}); -- cgit 1.4.1