mirror of
https://github.com/hi-language/transpiler.git
synced 2026-01-14 08:38:37 +00:00
Fix: Correct Chevrotain DSL for binary expressions
This commit is contained in:
@@ -139,7 +139,7 @@ class HiParser extends CstParser {
|
|||||||
$.RULE(name, () => {
|
$.RULE(name, () => {
|
||||||
$.SUBRULE(higherPrecRule, { LABEL: 'left' });
|
$.SUBRULE(higherPrecRule, { LABEL: 'left' });
|
||||||
$.MANY(() => {
|
$.MANY(() => {
|
||||||
$.CONSUME($.OR(operators));
|
$.OR(operators);
|
||||||
$.SUBRULE2(higherPrecRule, { LABEL: 'right' });
|
$.SUBRULE2(higherPrecRule, { LABEL: 'right' });
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@@ -147,15 +147,15 @@ class HiParser extends CstParser {
|
|||||||
|
|
||||||
// Define binary expressions from highest to lowest precedence.
|
// Define binary expressions from highest to lowest precedence.
|
||||||
buildBinaryExpressionRule('multiplicativeExpression', $.callExpression, [
|
buildBinaryExpressionRule('multiplicativeExpression', $.callExpression, [
|
||||||
{ ALT: () => T.Star }, { ALT: () => T.Slash }
|
{ ALT: () => $.CONSUME(T.Star) }, { ALT: () => $.CONSUME(T.Slash) }
|
||||||
]);
|
]);
|
||||||
|
|
||||||
buildBinaryExpressionRule('additiveExpression', $.multiplicativeExpression, [
|
buildBinaryExpressionRule('additiveExpression', $.multiplicativeExpression, [
|
||||||
{ ALT: () => T.Plus }, { ALT: () => T.Minus }
|
{ ALT: () => $.CONSUME(T.Plus) }, { ALT: () => $.CONSUME(T.Minus) }
|
||||||
]);
|
]);
|
||||||
|
|
||||||
buildBinaryExpressionRule('equalityExpression', $.additiveExpression, [
|
buildBinaryExpressionRule('equalityExpression', $.additiveExpression, [
|
||||||
{ ALT: () => T.EqEq }
|
{ ALT: () => $.CONSUME(T.EqEq) }
|
||||||
]);
|
]);
|
||||||
|
|
||||||
// ConditionalExpression consumes an EqualityExpression.
|
// ConditionalExpression consumes an EqualityExpression.
|
||||||
|
|||||||
Reference in New Issue
Block a user