From 2b6aff0dab0ed7fed5410dead2ed4bf15e6b1270 Mon Sep 17 00:00:00 2001 From: Tangent Wantwight Date: Sat, 18 May 2024 23:15:46 -0400 Subject: [PATCH] Fix some binding powers --- src/lib/expr.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/lib/expr.ts b/src/lib/expr.ts index 4bd6b09..00dce77 100644 --- a/src/lib/expr.ts +++ b/src/lib/expr.ts @@ -77,13 +77,13 @@ const Operators: TokenHandler[] = [ leftBindingPower: -1, token: MINUS_TOKEN, parse: (left, matched, parser) => - map(parser.parseSubExpression(0), (right) => ({value: -right})), + map(parser.parseSubExpression(99), (right) => ({value: -right})), }, makeInfixOp(PLUS_TOKEN, 10, 11, (left, right) => ({ value: left + right })), makeInfixOp(MINUS_TOKEN, 10, 11, (left, right) => ({ value: left - right })), - makeInfixOp(TIMES_TOKEN, 10, 11, (left, right) => ({ value: left * right })), - makeInfixOp(FLOOR_TOKEN, 10, 11, (left, right) => ({ value: Math.floor(left / right) })), - makeInfixOp(DIV_TOKEN, 10, 11, (left, right) => ({ value: left / right })), + makeInfixOp(TIMES_TOKEN, 20, 21, (left, right) => ({ value: left * right })), + makeInfixOp(FLOOR_TOKEN, 20, 21, (left, right) => ({ value: Math.floor(left / right) })), + makeInfixOp(DIV_TOKEN, 20, 21, (left, right) => ({ value: left / right })), ]; const ZERO = { value: 0 };