protected IToken type_name()
{
IToken id;
IToken c = null;
IToken ch = null;
id = null;
try { // for error handling
switch ( LA(1) )
{
case THEN:
case ID:
{
id=identifier();
break;
}
case CALLABLE:
{
c = LT(1);
match(CALLABLE);
if (0==inputState.guessing)
{
id=c;
}
break;
}
case CHAR:
{
ch = LT(1);
match(CHAR);
if (0==inputState.guessing)
{
id=ch;
}
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
catch (RecognitionException ex)
{
if (0 == inputState.guessing)
{
reportError(ex, "type_name");
recover(ex,tokenSet_41_);
}
else
{
throw ex;
}
}
return id;
}