From b85d128186e8f9c50f5a87bc3ef20a719426a5a3 Mon Sep 17 00:00:00 2001 From: multipleof4 Date: Fri, 26 Sep 2025 08:43:06 -0700 Subject: [PATCH] Fix: Correct Chevrotain DSL for binary expressions --- src/parser.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/parser.js b/src/parser.js index bc9851a..a0b4784 100644 --- a/src/parser.js +++ b/src/parser.js @@ -139,7 +139,7 @@ class HiParser extends CstParser { $.RULE(name, () => { $.SUBRULE(higherPrecRule, { LABEL: 'left' }); $.MANY(() => { - $.CONSUME($.OR(operators)); + $.OR(operators); $.SUBRULE2(higherPrecRule, { LABEL: 'right' }); }); }); @@ -147,15 +147,15 @@ class HiParser extends CstParser { // Define binary expressions from highest to lowest precedence. buildBinaryExpressionRule('multiplicativeExpression', $.callExpression, [ - { ALT: () => T.Star }, { ALT: () => T.Slash } + { ALT: () => $.CONSUME(T.Star) }, { ALT: () => $.CONSUME(T.Slash) } ]); buildBinaryExpressionRule('additiveExpression', $.multiplicativeExpression, [ - { ALT: () => T.Plus }, { ALT: () => T.Minus } + { ALT: () => $.CONSUME(T.Plus) }, { ALT: () => $.CONSUME(T.Minus) } ]); buildBinaryExpressionRule('equalityExpression', $.additiveExpression, [ - { ALT: () => T.EqEq } + { ALT: () => $.CONSUME(T.EqEq) } ]); // ConditionalExpression consumes an EqualityExpression.