public final RestrictedContext restricted() throws RecognitionException {
		RestrictedContext _localctx = new RestrictedContext(_ctx, getState());
		enterRule(_localctx, 118, RULE_restricted);
		int _la;
		try {
			enterOuterAlt(_localctx, 1);
			{
			setState(677);
			_la = _input.LA(1);
			if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ACTION) | (1L << ADD) | (1L << ALTER) | (1L << ASC) | (1L << AUTO_INC) | (1L << BIGINT) | (1L << BINARY) | (1L << BIT) | (1L << BTREE) | (1L << CASCADE) | (1L << CHARACTER) | (1L << CHAR) | (1L << CHECK) | (1L << COLLATE) | (1L << COL_FORMAT) | (1L << COMMIT) | (1L << CREATE) | (1L << DATABASE) | (1L << DECIMAL) | (1L << DELETE) | (1L << DESC) | (1L << DISK) | (1L << DOUBLE) | (1L << DYNAMIC) | (1L << END) | (1L << ENUM) | (1L << EXISTS) | (1L << FIXED) | (1L << FOREIGN))) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & ((1L << (FULLTEXT - 64)) | (1L << (FUNCTION - 64)) | (1L << (HASH - 64)) | (1L << (IF - 64)) | (1L << (IGNORE - 64)) | (1L << (INSERT - 64)) | (1L << (INTEGER - 64)) | (1L << (INTO - 64)) | (1L << (IS - 64)) | (1L << (NUMERIC - 64)) | (1L << (REAL - 64)) | (1L << (REFERENCES - 64)) | (1L << (REPLACE - 64)) | (1L << (RESTRICT - 64)) | (1L << (SCHEMA - 64)) | (1L << (SET - 64)) | (1L << (SMALLINT - 64)) | (1L << (SPATIAL - 64)) | (1L << (STORAGE - 64)) | (1L << (TABLE - 64)) | (1L << (TEMPORARY - 64)) | (1L << (UNSIGNED - 64)) | (1L << (UPDATE - 64)) | (1L << (USE - 64)) | (1L << (USING - 64)) | (1L << (VALUES - 64)) | (1L << (VARBINARY - 64)) | (1L << (VARCHAR - 64)) | (1L << (YEAR - 64)) | (1L << (ZEROFILL - 64)))) != 0)) ) {
			_errHandler.recoverInline(this);
			}
			consume();
			}
		}
		catch (RecognitionException re) {
			_localctx.exception = re;
			_errHandler.reportError(this, re);
			_errHandler.recover(this, re);
		}
		finally {
			exitRule();
		}
		return _localctx;
	}