private IExpression ArithmeticTermOperatorExpression(string consumed, string consumedUp)
{
IExpression temp;
for (var expr = ArithmeticFactorOperatorExpression(consumed, consumedUp);;)
{
switch (lexer.Token())
{
case MySqlToken.OpPlus:
{
lexer.NextToken();
temp = ArithmeticFactorOperatorExpression(null, null);
expr = new ArithmeticAddExpression(expr, temp).SetCacheEvalRst(cacheEvalRst);
break;
}
case MySqlToken.OpMinus:
{
lexer.NextToken();
temp = ArithmeticFactorOperatorExpression(null, null);
expr = new ArithmeticSubtractExpression(expr, temp).SetCacheEvalRst(cacheEvalRst);
break;
}
default:
{
return expr;
}
}
}
}