protected Expression boolean_term()
{
Expression e;
IToken at = null;
e = null;
Expression r = null;
try { // for error handling
e=not_expression();
{ // ( ... )*
for (;;)
{
if ((LA(1)==AND))
{
at = LT(1);
match(AND);
r=not_expression();
if (0==inputState.guessing)
{
BinaryExpression be = new BinaryExpression(ToLexicalInfo(at));
be.Operator = BinaryOperatorType.And;
be.Left = e;
be.Right = r;
e = be;
}
}
else
{
goto _loop442_breakloop;
}
}
_loop442_breakloop: ;
} // ( ... )*
}
catch (RecognitionException ex)
{
if (0 == inputState.guessing)
{
reportError(ex, "boolean_term");
recover(ex,tokenSet_107_);
}
else
{
throw ex;
}
}
return e;
}