expression method
Implementation
Parser<ExpressionNode> expression() =>
seq2(
ref0(simpleExpression),
seq2(
[
ref1(token, '<='),
ref1(token, '<>'),
ref1(token, '<'),
ref1(token, '>='),
ref1(token, '>'),
ref1(token, '='),
ref1(token, 'in'),
].toChoiceParser(),
ref0(simpleExpression),
).optional(),
).map2((left, rightPart) {
if (rightPart == null) return left;
return BinaryExpressionNode(
operator: rightPart.$1,
left: left,
right: rightPart.$2,
);
});