in lib/src/parser.dart [81:102]
Node _simpleExpression() {
var token = _scanner.next();
switch (token.type) {
case TokenType.not:
var child = _simpleExpression();
return NotNode(child, token.span.expand(child.span!));
case TokenType.leftParen:
var child = _conditional();
if (!_scanner.scan(TokenType.rightParen)) {
throw SourceSpanFormatException(
'Expected ")".', _scanner.peek().span);
}
return child;
case TokenType.identifier:
return VariableNode((token as IdentifierToken).name, token.span);
default:
throw SourceSpanFormatException('Expected expression.', token.span);
}
}