boolean upperInclusive = !tokens.canConsume("EXCLUSIVE");
constraint = between(left, lowerBound, upperBound, lowerInclusive, upperInclusive);
if (not) constraint = not(constraint);
} else if (tokens.matches("NOT", "LIKE")) {
tokens.consume("NOT");
Operator operator = parseComparisonOperator(tokens);
StaticOperand right = parseStaticOperand(tokens, typeSystem);
constraint = comparison(left, operator, right);
constraint = not(constraint);
} else {
Operator operator = parseComparisonOperator(tokens);
StaticOperand right = parseStaticOperand(tokens, typeSystem);
constraint = comparison(left, operator, right);
}
}
// else continue ...