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