public Expression declaration_initializer()
{
Expression e;
e = null;
try { // for error handling
bool synPredMatched178 = false;
if (((tokenSet_34_.member(LA(1))) && (tokenSet_67_.member(LA(2)))))
{
int _m178 = mark();
synPredMatched178 = true;
inputState.guessing++;
try {
{
slicing_expression();
{
switch ( LA(1) )
{
case COLON:
{
match(COLON);
break;
}
case DO:
{
match(DO);
break;
}
case DEF:
{
match(DEF);
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
}
}
catch (RecognitionException)
{
synPredMatched178 = false;
}
rewind(_m178);
inputState.guessing--;
}
if ( synPredMatched178 )
{
{
e=slicing_expression();
e=method_invocation_block(e);
}
}
else if ((tokenSet_68_.member(LA(1))) && (tokenSet_69_.member(LA(2)))) {
{
e=array_or_expression();
eos();
}
}
else if ((LA(1)==DEF||LA(1)==DO||LA(1)==COLON)) {
{
e=callable_expression();
}
}
else
{
throw new NoViableAltException(LT(1), getFilename());
}
}
catch (RecognitionException ex)
{
if (0 == inputState.guessing)
{
reportError(ex, "declaration_initializer");
recover(ex,tokenSet_22_);
}
else
{
throw ex;
}
}
return e;
}