diff options
| -rw-r--r-- | src/bootstrap/parser.pry | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/bootstrap/parser.pry b/src/bootstrap/parser.pry index 95e654e..b24ec33 100644 --- a/src/bootstrap/parser.pry +++ b/src/bootstrap/parser.pry @@ -583,6 +583,17 @@ let parser_parse_primary_expression = (p: *parser) => *Node { return stmt; }; + if parser_accept_token(p, TOKEN_LPAREN) != cast(*token, null) { + let expr = parser_parse_expression(p); + if expr == cast(*Node, null) { + return cast(*Node, null); + }; + if parser_accept_token(p, TOKEN_RPAREN) == cast(*token, null) { + return cast(*Node, null); + }; + return expr; + }; + let tok = parser_consume_token(p); if tok == cast(*token, null) { printf("NO TOK\n"); |