parseComparison method

Expression parseComparison()

Implementation

Expression parseComparison() {
  final left = parseSum();
  const comparisons = <String>{'<', '<=', '>', '>=', '==', '!='};
  if (!comparisons.contains(current.kind)) return left;
  final op = expectToken(current.kind, 'an operator');
  final right = parseSum();
  if (comparisons.contains(current.kind)) {
    fail('comparisons do not chain: write "a < b && b < c".', where: current);
  }
  return comparison(op, left, right);
}