public void statement(Block b)
{
try
{
bool flag = false;
if (tokenSet_42_.member(this.LA(1)) && tokenSet_16_.member(this.LA(2)))
{
int num = this.mark();
flag = true;
base.inputState.guessing++;
try
{
this.macro_application_test();
}
catch (RecognitionException)
{
flag = false;
}
this.rewind(num);
base.inputState.guessing--;
}
if (flag)
{
this.macro_application_block(b);
}
else if (tokenSet_43_.member(this.LA(1)) && tokenSet_14_.member(this.LA(2)))
{
this.builtin_statement(b);
}
else
{
if (this.LA(1) != 0x4d)
{
throw new NoViableAltException(this.LT(1), this.getFilename());
}
int num2 = 0;
while (true)
{
if ((this.LA(1) == 0x4d) && tokenSet_15_.member(this.LA(2)))
{
this.match(0x4d);
}
else
{
if (num2 < 1)
{
throw new NoViableAltException(this.LT(1), this.getFilename());
}
return;
}
num2++;
}
}
}
catch (RecognitionException exception2)
{
if (base.inputState.guessing != 0)
{
throw;
}
this.reportError(exception2);
this.recover(exception2, tokenSet_15_);
}
}