private IExpression LogicalOrExpression()
{
LogicalOrExpression or = null;
for (var expr = LogicalXORExpression();;)
{
switch (lexer.Token())
{
case MySqlToken.OpLogicalOr:
case MySqlToken.KwOr:
{
lexer.NextToken();
if (or == null)
{
or = new LogicalOrExpression();
or.SetCacheEvalRst(cacheEvalRst);
or.AppendOperand(expr);
expr = or;
}
var newExpr = LogicalXORExpression();
or.AppendOperand(newExpr);
break;
}
default:
{
return expr;
}
}
}
}