diff options
| author | Baitinq <[email protected]> | 2025-01-23 20:36:16 +0100 |
|---|---|---|
| committer | Baitinq <[email protected]> | 2025-01-23 20:36:16 +0100 |
| commit | 2c7f904adec45c7677daae4891f67ce01f191eb8 (patch) | |
| tree | 15ba241dcd8b2909dce80049f9f124cb753a9726 | |
| parent | Examples: modify example (diff) | |
| download | pry-lang-2c7f904adec45c7677daae4891f67ce01f191eb8.tar.gz pry-lang-2c7f904adec45c7677daae4891f67ce01f191eb8.tar.bz2 pry-lang-2c7f904adec45c7677daae4891f67ce01f191eb8.zip | |
Sync grammar
| -rw-r--r-- | grammar.ebnf | 4 | ||||
| -rw-r--r-- | 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()}); |