comparison method
Comparison expressions with chaining: a < b <= c.
Implementation
Parser<ExpressionNode> comparison() =>
seq2(ref0(bitwiseOr), seq2(ref0(compOp), ref0(bitwiseOr)).star()).map2((
left,
rest,
) {
if (rest.isEmpty) return left;
final ops = <String>[];
final comparators = <ExpressionNode>[];
for (final pair in rest) {
ops.add(pair.$1);
comparators.add(pair.$2);
}
return CompareNode(
left: left,
operators: ops,
comparators: comparators,
);
});