case SEMI: { match(SEMI); if ( inputState.guessing==0 ) { reportTrouble(new CWarning(sourceRef, KjcMessages.STRAY_SEMICOLON, null)); } break;
if ( inputState.guessing==0 ) { context.addTypeDeclaration(decl);
	private final void jTypeDefinition(		CParseCompilationUnitContext context	) throws RecognitionException, TokenStreamException {						int			mods = 0;		JTypeDeclaration	decl = null;		TokenReference	sourceRef = buildTokenReference();						switch ( LA(1)) {		case LITERAL_abstract:		case LITERAL_class:		case LITERAL_final:		case LITERAL_interface:		case LITERAL_native:		case LITERAL_private:		case LITERAL_protected:		case LITERAL_public:		case LITERAL_static:		case LITERAL_strictfp:		case LITERAL_synchronized:		case LITERAL_transient:		case LITERAL_volatile:		{			mods=jModifiers();			{			switch ( LA(1)) {			case LITERAL_class:			{				decl=jClassDefinition(mods);				break;			}			case LITERAL_interface:			{				decl=jInterfaceDefinition(mods);				break;			}			default:			{				throw new NoViableAltException(LT(1), getFilename());			}			}			}			if ( inputState.guessing==0 ) {				context.addTypeDeclaration(decl);			}			break;		}		case SEMI:		{			match(SEMI);			if ( inputState.guessing==0 ) {				reportTrouble(new CWarning(sourceRef, KjcMessages.STRAY_SEMICOLON, null));			}			break;		}		default:		{			throw new NoViableAltException(LT(1), getFilename());		}		}	}