public void generator_expression_body(
GeneratorExpression ge
)
{
StatementModifier filter = null;
Expression iterator = null;
DeclarationCollection declarations = null == ge ? null : ge.Declarations;
try { // for error handling
declaration_list(declarations);
match(IN);
iterator=boolean_expression();
if (0==inputState.guessing)
{
ge.Iterator = iterator;
}
{
if ((LA(1)==IF||LA(1)==UNLESS||LA(1)==WHILE) && (tokenSet_5_.member(LA(2))))
{
filter=stmt_modifier();
if (0==inputState.guessing)
{
ge.Filter = filter;
}
}
else if ((tokenSet_14_.member(LA(1))) && (tokenSet_15_.member(LA(2)))) {
}
else
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
catch (RecognitionException ex)
{
if (0 == inputState.guessing)
{
reportError(ex, "generator_expression_body");
recover(ex,tokenSet_14_);
}
else
{
throw ex;
}
}
}