亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? parser.java

?? linux下編程用 編譯軟件
?? JAVA
?? 第 1 頁 / 共 3 頁
字號:
                  attrValue = buffer.toString();                  break;                // read unquoted attribute.                case NUMTOKEN :                  value = next;                  optional(WS);                  // Check maybe the opening quote is missing.                  next = getTokenAhead();                  if (bQUOTING.get(next.kind))                    {                      hTag = next;                      error("The value without opening quote is closed with '" +                            next.getImage() + "'"                           );                    }                  attrValue = value.getImage();                  break;                default :                  break attributeReading;              }            attributes.addAttribute(name.getImage(), attrValue);            optional(WS);          }        else // The '=' is missing: attribute without value.          {            noValueAttribute(element, name.getImage());          }      }  }  /**   * Return string, corresponding the given named entity.   * The name is passed with the preceeding &, but without   * the ending semicolon.   */  protected String resolveNamedEntity(final String a_tag)  {    // Discard &    if (!a_tag.startsWith("&"))      throw new AssertionError("Named entity " + a_tag +                               " must start witn '&'."                              );    String tag = a_tag.substring(1);    try      {        Entity entity = dtd.getEntity(tag);        if (entity != null)          return entity.getString();        entity = dtd.getEntity(tag.toLowerCase());        if (entity != null)          {            error("The name of this entity should be in lowercase", a_tag);            return entity.getString();          }      }    catch (IndexOutOfBoundsException ibx)      {        /* The error will be reported. */      }    error("Unknown named entity", a_tag);    return a_tag;  }  /**   * Return char, corresponding the given numeric entity.   * The name is passed with the preceeding &#, but without   * the ending semicolon.   */  protected char resolveNumericEntity(final String a_tag)  {    // Discard &#    if (!a_tag.startsWith("&#"))      throw new AssertionError("Numeric entity " + a_tag +                               " must start witn '&#'."                              );    String tag = a_tag.substring(2);    try      {        // Determine the encoding type:        char cx = tag.charAt(0);        if (cx == 'x' || cx == 'X') // Hexadecimal &#Xnnn;          return (char) Integer.parseInt(tag.substring(1), 16);        return (char) Integer.parseInt(tag);      }    /* The error will be reported. */    catch (NumberFormatException nex)      {      }    catch (IndexOutOfBoundsException ix)      {      }    error("Invalid numeric entity", a_tag);    return '?';  }  /**   * Reset all fields into the intial default state, preparing the   * parset for parsing the next document.   */  protected void restart()  {    documentTags.clear();    titleHandled = false;    titleOpen = false;    buffer.setLength(0);    title.setLength(0);    validator.restart();  }  /**   * The method is called when the HTML opening tag ((like &lt;table&gt;)   * is found or if the parser concludes that the one should be present   * in the current position. The method is called immediately before   * calling the handleStartTag.   * @param The tag   */  protected void startTag(TagElement tag)                   throws ChangedCharSetException  {  }  /**   * Handle a complete element, when the tag content is already present in the   * buffer and both starting and heading tags behind. This is called   * in the case when the tag text must not be parsed for the nested   * elements (elements STYLE and SCRIPT).   */  private void _handleCompleteElement(TagElement tag)  {    _handleStartTag(tag);    // Suppress inclusion of the SCRIPT ans STYLE texts into the title.    HTML.Tag h = tag.getHTMLTag();    if (h == HTML.Tag.SCRIPT || h == HTML.Tag.STYLE)      {        boolean tmp = titleOpen;        titleOpen = false;        _handleText();        titleOpen = tmp;      }    else      _handleText();    _handleEndTag(tag);  }  /**   * A hooks for operations, preceeding call to handleEmptyTag().   * Handle the tag with no content, like &lt;br&gt;. As no any   * nested tags are expected, the tag validator is not involved.   * @param The tag being handled.   */  private void _handleEmptyTag(TagElement tag)  {    try      {        validator.validateTag(tag, attributes);        handleEmptyTag(tag);      }    catch (ChangedCharSetException ex)      {        error("Changed charset exception:", ex.getMessage());      }  }  /**   * A hooks for operations, preceeding call to handleEndTag().   * The method is called when the HTML closing tag   * is found. Calls handleTitle after closing the 'title' tag.   * @param The tag   */  private void _handleEndTag(TagElement tag)  {    validator.closeTag(tag);    _handleEndTag_remaining(tag);  }  /**   * Actions that are also required if the closing action was   * initiated by the tag validator.   * Package-private to avoid an accessor method.   */  void _handleEndTag_remaining(TagElement tag)  {    HTML.Tag h = tag.getHTMLTag();    handleEndTag(tag);    endTag(tag.fictional());    if (h.isPreformatted())      preformatted--;    if (preformatted < 0)      preformatted = 0;    if (h == HTML.Tag.TITLE)      {        titleOpen = false;        titleHandled = true;        char[] a = new char[ title.length() ];        title.getChars(0, a.length, a, 0);        handleTitle(a);      }  }  /**   * A hooks for operations, preceeding call to handleStartTag().   * The method is called when the HTML opening tag ((like &lt;table&gt;)   * is found.   * Package-private to avoid an accessor method.   * @param The tag   */  void _handleStartTag(TagElement tag)  {    validator.openTag(tag, attributes);    startingTag(tag);    handleStartTag(tag);    HTML.Tag h = tag.getHTMLTag();    if (h.isPreformatted())      preformatted++;    if (h == HTML.Tag.TITLE)      {        if (titleHandled)          error("Repetetive <TITLE> tag");        titleOpen = true;        titleHandled = false;      }  }  /**   * Resume parsing after heavy errors in HTML tag structure.   * @throws ParseException   */  private void forciblyCloseTheTag()                            throws ParseException  {    int closeAt = 0;    buffer.setLength(0);    ahead:     for (int i = 1; i < 100; i++)      {        t = getTokenAhead(i - 1);        if (t.kind == EOF || t.kind == BEGIN)          break ahead;        if (t.kind == END)          {            /* Closing '>' found. */            closeAt = i;            break ahead;          }      }    if (closeAt > 0)      {        buffer.append("Ignoring '");        for (int i = 1; i <= closeAt; i++)          {            t = getNextToken();            append(t);          }        buffer.append('\'');        error(buffer.toString());      }  }  /**   * Handle comment in string buffer. You can avoid allocating a char   * array each time by processing your comment directly here.   */  private void handleComment()  {    char[] a = new char[ buffer.length() ];    buffer.getChars(0, a.length, a, 0);    handleComment(a);  }  private TagElement makeTagElement(String name, boolean isSupposed)  {    Element e = (Element) dtd.elementHash.get(name.toLowerCase());    if (e == null)      {        error("Unknown tag <" + name + ">");        e = dtd.getElement(name);        e.name = name.toUpperCase();        e.index = -1;      }    if (!documentTags.contains(e.name))      {        markFirstTime(e);        documentTags.add(e.name);      }    return makeTag(e, isSupposed);  }  /**   * Read till the given token, resolving entities. Consume the given   * token without adding it to buffer.   * @param till The token to read till   * @throws ParseException   */  private void readTillTokenE(int till)                       throws ParseException  {    buffer.setLength(0);    read:     while (true)      {        t = getNextToken();        if (t.kind == Constants.ENTITY)          {            resolveAndAppendEntity(t);          }        else if (t.kind == EOF)          {            error("unexpected eof", t);            break read;          }        else if (t.kind == till)          break read;        else if (t.kind == WS)          {            // Processing whitespace in accordance with CDATA rules:            String s = t.getImage();            char c;            for (int i = 0; i < s.length(); i++)              {                c = s.charAt(i);                if (c == '\r')                  buffer.append(' '); // CR replaced by space                else if (c == '\n')                  ; // LF ignored                else if (c == '\t')                  buffer.append(' '); // Tab replaced by space                else                  buffer.append(c);              }          }        else          append(t);      }  }  /**   * Resolve the entity and append it to the end of buffer.   * @param entity   */  private void resolveAndAppendEntity(Token entity)  {    switch (entity.category)      {        case ENTITY_NAMED :          buffer.append(resolveNamedEntity(entity.getImage()));          break;        case ENTITY_NUMERIC :          buffer.append(resolveNumericEntity(entity.getImage()));          break;        default :          throw new AssertionError("Invalid entity category " +                                   entity.category                                  );      }  }  /**   * Handle the remaining of HTML tags. This is a common end for   * TAG, SCRIPT and STYLE.   * @param closing True for closing tags ( &lt;/TAG&gt; ).   * @param name Name of element   * @param start Token where element has started   * @throws ParseException   */  private void restOfTag(boolean closing, Token name, Token start)                  throws ParseException  {    boolean end = false;    Token next;    optional(WS);    readAttributes(name.getImage());    optional(WS);    next = getTokenAhead();    if (next.kind == END)      {        mustBe(END);        end = true;      }    hTag = new Token(start, next);    attributes.setResolveParent(defaulter.getDefaultParameters(name.getImage()));    if (!end)      {        // The tag body contains errors. If additionally the tag        // name is not valid, this construction is treated as text.        if (dtd.elementHash.get(name.getImage().toLowerCase()) == null &&            backupMode           )          {            error("Errors in tag body and unknown tag name. " +                  "Treating the tag as a text."                 );            reset();            hTag = mustBe(BEGIN);            buffer.setLength(0);            buffer.append(hTag.getImage());            CDATA(false);            return;          }        else          {            error("Forcibly closing invalid parameter list");            forciblyCloseTheTag();          }      }    if (closing)      {        endTag(false);        _handleEndTag(makeTagElement(name.getImage(), false));      }    else      {        TagElement te = makeTagElement(name.getImage(), false);        if (te.getElement().type == DTDConstants.EMPTY)          _handleEmptyTag(te);        else          _handleStartTag(te);      }  }  /**   * This should fire additional actions in response to the   * ChangedCharSetException.  The current implementation   * does nothing.   * @param tag   */  private void startingTag(TagElement tag)  {    try      {        startTag(tag);      }    catch (ChangedCharSetException cax)      {        error("Invalid change of charset");      }  }  private void ws_error()  {    error("Whitespace here is not permitted");  }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产午夜精品一区二区三区视频| 综合欧美一区二区三区| 99久久精品情趣| 日本女优在线视频一区二区| 亚洲图片欧美激情| 精品对白一区国产伦| 欧洲国内综合视频| 国产成人a级片| 日本怡春院一区二区| 亚洲精品欧美激情| 国产欧美日韩不卡| 欧美电影免费观看高清完整版在线| 成人久久久精品乱码一区二区三区| 天天综合天天综合色| 综合激情成人伊人| 精品国产精品网麻豆系列| 欧美性一二三区| 99久久99久久免费精品蜜臀| 国内精品第一页| 亚洲午夜久久久久久久久电影网 | 美国十次综合导航| 亚洲色图20p| 国产精品久久久久久久久搜平片 | 成熟亚洲日本毛茸茸凸凹| 日本免费在线视频不卡一不卡二| 亚洲另类在线一区| 欧美国产精品一区二区三区| 日韩欧美第一区| 欧美丰满高潮xxxx喷水动漫| 欧洲一区在线观看| 欧洲激情一区二区| 欧美性生活影院| 欧美影院午夜播放| 色网站国产精品| 色天使色偷偷av一区二区| 99久久精品国产观看| 99视频精品在线| 成人永久免费视频| 国产69精品久久99不卡| 国产成人h网站| 99久久精品久久久久久清纯| 成人福利视频网站| 9色porny自拍视频一区二区| 色婷婷av久久久久久久| 欧美无人高清视频在线观看| 欧美在线综合视频| 欧美日韩三级一区| 91精品蜜臀在线一区尤物| 日韩午夜激情电影| 久久伊人蜜桃av一区二区| 久久蜜桃香蕉精品一区二区三区| 亚洲精品一区二区精华| 久久一夜天堂av一区二区三区| 日韩午夜激情视频| 国产亚洲一区字幕| 国产精品久99| 亚洲精品网站在线观看| 亚洲成人三级小说| 蜜桃av一区二区| 国产精品自拍毛片| 99国产麻豆精品| 欧美性受xxxx黑人xyx| 精品国产一区二区三区不卡 | 国产日韩av一区| 中文字幕在线一区二区三区| 亚洲精品成人精品456| 午夜精品久久久久| 另类中文字幕网| 国产精品一区久久久久| 99久久er热在这里只有精品15| 91在线国产福利| 51午夜精品国产| 久久久一区二区| 亚洲少妇30p| 日韩福利电影在线| 国产激情一区二区三区| 91成人免费电影| 精品国精品国产尤物美女| 亚洲欧洲综合另类| 青青草精品视频| 97久久精品人人做人人爽| 欧美精品第一页| 国产日韩欧美一区二区三区乱码 | 欧日韩精品视频| 日韩免费电影网站| 日韩伦理电影网| 蜜乳av一区二区| 97久久人人超碰| 日韩欧美一卡二卡| 亚洲精品高清视频在线观看| 国产一级精品在线| 欧美日韩一区三区| 中国色在线观看另类| 日韩精品欧美精品| 99精品桃花视频在线观看| 日韩免费一区二区| 亚洲精品免费在线播放| 成熟亚洲日本毛茸茸凸凹| 在线综合亚洲欧美在线视频| 亚洲视频综合在线| 久久精品99国产精品日本| 色综合网站在线| 久久精品一区二区三区四区| 婷婷丁香久久五月婷婷| 日本韩国欧美在线| 国产日韩欧美精品在线| 九九视频精品免费| 欧美日韩精品综合在线| 最近中文字幕一区二区三区| 国产精品99久久久久久久女警 | 图片区日韩欧美亚洲| 成人app网站| 久久九九国产精品| 久久精品国产一区二区| 欧美日韩一区在线观看| 亚洲精品欧美激情| aaa亚洲精品| 国产精品色眯眯| 国产一区中文字幕| 精品国产第一区二区三区观看体验| 亚洲电影激情视频网站| 色诱亚洲精品久久久久久| 中文一区一区三区高中清不卡| 奇米影视一区二区三区| 欧美裸体bbwbbwbbw| 亚洲综合清纯丝袜自拍| 99re热这里只有精品视频| 亚洲欧美自拍偷拍| 成人av电影在线| 国产农村妇女毛片精品久久麻豆| 麻豆成人91精品二区三区| 日韩一级视频免费观看在线| 日韩国产一区二| 欧美精品v国产精品v日韩精品| 亚洲女同一区二区| 色婷婷久久久亚洲一区二区三区| 国产精品久久久久久久裸模| 成年人国产精品| ...中文天堂在线一区| 91热门视频在线观看| 亚洲你懂的在线视频| 在线观看免费一区| 亚洲精品免费视频| 欧美日韩精品一区视频| 青青草国产成人av片免费| 欧美xxxxxxxx| 国产风韵犹存在线视精品| 日本一区二区动态图| 99久久免费精品高清特色大片| 国产精品天天看| 99re66热这里只有精品3直播| 中文字幕字幕中文在线中不卡视频| 成人动漫一区二区三区| 亚洲欧美激情小说另类| 欧美三日本三级三级在线播放| 一区二区三区精密机械公司| 欧美久久久久久久久| 麻豆精品视频在线观看视频| 久久亚洲欧美国产精品乐播| 成人小视频免费在线观看| 亚洲欧美一区二区久久| 欧美日韩国产三级| 久久国产精品99久久人人澡| 国产欧美一区二区精品秋霞影院| 成人自拍视频在线| 亚洲人成网站精品片在线观看| 色噜噜狠狠一区二区三区果冻| 亚洲欧美激情视频在线观看一区二区三区 | 一区二区三区精品| 91麻豆精品国产自产在线观看一区 | 亚洲欧洲日韩在线| 99国产精品国产精品毛片| 亚洲国产cao| 久久亚洲二区三区| 亚洲欧洲美洲综合色网| 免费av成人在线| 国产精品国产三级国产aⅴ中文| 国产suv精品一区二区883| 亚洲欧美日韩国产另类专区| 欧美日韩一本到| 国产精品一区二区久久不卡| 亚洲啪啪综合av一区二区三区| 在线观看一区日韩| 激情综合一区二区三区| 亚洲精品写真福利| 久久婷婷成人综合色| 欧美这里有精品| 高清不卡一区二区在线| 日韩激情av在线| 亚洲欧洲无码一区二区三区| 欧美videofree性高清杂交| 一本大道久久a久久精品综合| 美女在线一区二区| 亚洲在线观看免费| 国产片一区二区| 日韩欧美国产wwwww| 91福利在线导航| a在线播放不卡| 韩国精品主播一区二区在线观看 | 丰满少妇在线播放bd日韩电影|