term method
Implementation
Parser<ExpressionNode> term() => ref0(factor)
.plusSeparated(
[
ref1(token, '*'),
ref1(token, '/'),
ref1(token, 'div'),
ref1(token, 'mod'),
ref1(token, 'and'),
].toChoiceParser(),
)
.map((sep) {
final factors = sep.elements;
final operators = sep.separators;
var result = factors.first;
for (var i = 0; i < operators.length; i++) {
result = BinaryExpressionNode(
operator: operators[i],
left: result,
right: factors[i + 1],
);
}
return result;
});