From 3b1500313c824c39584a94e98ef70d036f5d7e80 Mon Sep 17 00:00:00 2001 From: Robert Bendun Date: Sun, 4 Sep 2022 12:04:19 +0200 Subject: [PATCH] Operators associate to the left now This should be default behaviour but somehow we missed it. --- src/parser.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/parser.cc b/src/parser.cc index 4cbb831..2d8fd7a 100644 --- a/src/parser.cc +++ b/src/parser.cc @@ -161,7 +161,7 @@ Result Parser::parse_rhs_of_infix_expression(Ast lhs) assert(not expect(Token::Type::Operator, "."), "This should be handled by parse_index_expression"); auto op = consume(); - if (precedense(lhs.token.source) > precedense(op.source)) { + if (precedense(lhs.token.source) >= precedense(op.source)) { lhs.arguments.emplace_back(std::move(rhs)); Ast ast; ast.location = op.location;