⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 htmlparser.java

📁 反ajax原代码
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
        case 5: // '\005'
            jj_consume_token(5);
label1:
            do
                switch(jj_ntk != -1 ? jj_ntk : jj_ntk())
                {
                default:
                    jj_la1[11] = jj_gen;
                    break label1;

                case 28: // '\034'
                    jj_consume_token(28);
                    break;
                }
            while(true);
            jj_consume_token(29);
            break;

        default:
            jj_la1[12] = jj_gen;
            jj_consume_token(-1);
            throw new ParseException();
        }
    }

    public final void ScriptTag()
        throws ParseException
    {
        jj_consume_token(1);
label0:
        do
            switch(jj_ntk != -1 ? jj_ntk : jj_ntk())
            {
            default:
                jj_la1[13] = jj_gen;
                break label0;

            case 13: // '\r'
                jj_consume_token(13);
                break;
            }
        while(true);
        jj_consume_token(14);
    }

    private final boolean jj_2_1(int xla)
    {
        jj_la = xla;
        jj_lastpos = jj_scanpos = token;
        boolean flag = !jj_3_1();
        jj_save(0, xla);
        return flag;
        LookaheadSuccess ls;
        ls;
        boolean flag1 = true;
        jj_save(0, xla);
        return flag1;
        Exception exception;
        exception;
        jj_save(0, xla);
        throw exception;
    }

    private final boolean jj_2_2(int xla)
    {
        jj_la = xla;
        jj_lastpos = jj_scanpos = token;
        boolean flag = !jj_3_2();
        jj_save(1, xla);
        return flag;
        LookaheadSuccess ls;
        ls;
        boolean flag1 = true;
        jj_save(1, xla);
        return flag1;
        Exception exception;
        exception;
        jj_save(1, xla);
        throw exception;
    }

    private final boolean jj_3_1()
    {
        if(jj_scan_token(19))
            return true;
        return jj_scan_token(23);
    }

    private final boolean jj_3_2()
    {
        if(jj_scan_token(20))
            return true;
        return jj_scan_token(25);
    }

    private static void jj_la1_0()
    {
        jj_la1_0 = (new int[] {
            5758, 5758, 32768, 0x1c0000, 0x10000, 0x40000, 0x80000, 0x100000, 0x1d8000, 0x1d8000, 
            0x4000000, 0x10000000, 48, 8192
        });
    }

    public HTMLParser(InputStream stream)
    {
        title = new StringBuffer(SUMMARY_LENGTH);
        summary = new StringBuffer(SUMMARY_LENGTH * 2);
        metaTags = new Properties();
        currentMetaTag = null;
        currentMetaContent = null;
        length = 0;
        titleComplete = false;
        inTitle = false;
        inMetaTag = false;
        inStyle = false;
        afterTag = false;
        afterSpace = false;
        eol = System.getProperty("line.separator");
        pipeIn = null;
        pipeInStream = null;
        pipeOutStream = null;
        lookingAhead = false;
        jj_la1 = new int[14];
        jj_2_rtns = new JJCalls[2];
        jj_rescan = false;
        jj_gc = 0;
        jj_ls = new LookaheadSuccess(null);
        jj_expentries = new Vector();
        jj_kind = -1;
        jj_lasttokens = new int[100];
        try
        {
            Reader reader = new InputStreamReader(stream, Constant.CHARSET);
            jj_input_stream = new SimpleCharStream(reader, 1, 1);
        }
        catch(UnsupportedEncodingException ex)
        {
            jj_input_stream = new SimpleCharStream(stream, 1, 1);
        }
        token_source = new HTMLParserTokenManager(jj_input_stream);
        token = new Token();
        jj_ntk = -1;
        jj_gen = 0;
        for(int i = 0; i < 14; i++)
            jj_la1[i] = -1;

        for(int i = 0; i < jj_2_rtns.length; i++)
            jj_2_rtns[i] = new JJCalls();

    }

    public void ReInit(InputStream stream)
    {
        jj_input_stream.ReInit(stream, 1, 1);
        token_source.ReInit(jj_input_stream);
        token = new Token();
        jj_ntk = -1;
        jj_gen = 0;
        for(int i = 0; i < 14; i++)
            jj_la1[i] = -1;

        for(int i = 0; i < jj_2_rtns.length; i++)
            jj_2_rtns[i] = new JJCalls();

    }

    public HTMLParser(Reader stream)
    {
        title = new StringBuffer(SUMMARY_LENGTH);
        summary = new StringBuffer(SUMMARY_LENGTH * 2);
        metaTags = new Properties();
        currentMetaTag = null;
        currentMetaContent = null;
        length = 0;
        titleComplete = false;
        inTitle = false;
        inMetaTag = false;
        inStyle = false;
        afterTag = false;
        afterSpace = false;
        eol = System.getProperty("line.separator");
        pipeIn = null;
        pipeInStream = null;
        pipeOutStream = null;
        lookingAhead = false;
        jj_la1 = new int[14];
        jj_2_rtns = new JJCalls[2];
        jj_rescan = false;
        jj_gc = 0;
        jj_ls = new LookaheadSuccess(null);
        jj_expentries = new Vector();
        jj_kind = -1;
        jj_lasttokens = new int[100];
        jj_input_stream = new SimpleCharStream(stream, 1, 1);
        token_source = new HTMLParserTokenManager(jj_input_stream);
        token = new Token();
        jj_ntk = -1;
        jj_gen = 0;
        for(int i = 0; i < 14; i++)
            jj_la1[i] = -1;

        for(int i = 0; i < jj_2_rtns.length; i++)
            jj_2_rtns[i] = new JJCalls();

    }

    public void ReInit(Reader stream)
    {
        jj_input_stream.ReInit(stream, 1, 1);
        token_source.ReInit(jj_input_stream);
        token = new Token();
        jj_ntk = -1;
        jj_gen = 0;
        for(int i = 0; i < 14; i++)
            jj_la1[i] = -1;

        for(int i = 0; i < jj_2_rtns.length; i++)
            jj_2_rtns[i] = new JJCalls();

    }

    public HTMLParser(HTMLParserTokenManager tm)
    {
        title = new StringBuffer(SUMMARY_LENGTH);
        summary = new StringBuffer(SUMMARY_LENGTH * 2);
        metaTags = new Properties();
        currentMetaTag = null;
        currentMetaContent = null;
        length = 0;
        titleComplete = false;
        inTitle = false;
        inMetaTag = false;
        inStyle = false;
        afterTag = false;
        afterSpace = false;
        eol = System.getProperty("line.separator");
        pipeIn = null;
        pipeInStream = null;
        pipeOutStream = null;
        lookingAhead = false;
        jj_la1 = new int[14];
        jj_2_rtns = new JJCalls[2];
        jj_rescan = false;
        jj_gc = 0;
        jj_ls = new LookaheadSuccess(null);
        jj_expentries = new Vector();
        jj_kind = -1;
        jj_lasttokens = new int[100];
        token_source = tm;
        token = new Token();
        jj_ntk = -1;
        jj_gen = 0;
        for(int i = 0; i < 14; i++)
            jj_la1[i] = -1;

        for(int i = 0; i < jj_2_rtns.length; i++)
            jj_2_rtns[i] = new JJCalls();

    }

    public void ReInit(HTMLParserTokenManager tm)
    {
        token_source = tm;
        token = new Token();
        jj_ntk = -1;
        jj_gen = 0;
        for(int i = 0; i < 14; i++)
            jj_la1[i] = -1;

        for(int i = 0; i < jj_2_rtns.length; i++)
            jj_2_rtns[i] = new JJCalls();

    }

    private final Token jj_consume_token(int kind)
        throws ParseException
    {
        Token oldToken;
        if((oldToken = token).next != null)
            token = token.next;
        else
            token = token.next = token_source.getNextToken();
        jj_ntk = -1;
        if(token.kind == kind)
        {
            jj_gen++;
            if(++jj_gc > 100)
            {
                jj_gc = 0;
                for(int i = 0; i < jj_2_rtns.length; i++)
                {
                    for(JJCalls c = jj_2_rtns[i]; c != null; c = c.next)
                        if(c.gen < jj_gen)
                            c.first = null;

                }

            }
            return token;
        } else
        {
            token = oldToken;
            jj_kind = kind;
            throw generateParseException();
        }
    }

    private final boolean jj_scan_token(int kind)
    {
        if(jj_scanpos == jj_lastpos)
        {
            jj_la--;
            if(jj_scanpos.next == null)
                jj_lastpos = jj_scanpos = jj_scanpos.next = token_source.getNextToken();
            else
                jj_lastpos = jj_scanpos = jj_scanpos.next;
        } else
        {
            jj_scanpos = jj_scanpos.next;
        }
        if(jj_rescan)
        {
            int i = 0;
            Token tok;
            for(tok = token; tok != null && tok != jj_scanpos; tok = tok.next)
                i++;

            if(tok != null)
                jj_add_error_token(kind, i);
        }
        if(jj_scanpos.kind != kind)
            return true;
        if(jj_la == 0 && jj_scanpos == jj_lastpos)
            throw jj_ls;
        else
            return false;
    }

    public final Token getNextToken()
    {
        if(token.next != null)
            token = token.next;
        else
            token = token.next = token_source.getNextToken();
        jj_ntk = -1;
        jj_gen++;
        return token;
    }

    public final Token getToken(int index)
    {
        Token t = lookingAhead ? jj_scanpos : token;
        for(int i = 0; i < index; i++)
            if(t.next != null)
                t = t.next;
            else
                t = t.next = token_source.getNextToken();

        return t;
    }

    private final int jj_ntk()
    {
        if((jj_nt = token.next) == null)
            return jj_ntk = (token.next = token_source.getNextToken()).kind;
        else
            return jj_ntk = jj_nt.kind;
    }

    private void jj_add_error_token(int kind, int pos)
    {
        if(pos >= 100)
            return;
        if(pos == jj_endpos + 1)
            jj_lasttokens[jj_endpos++] = kind;
        else
        if(jj_endpos != 0)
        {
            jj_expentry = new int[jj_endpos];
            for(int i = 0; i < jj_endpos; i++)
                jj_expentry[i] = jj_lasttokens[i];

            boolean exists = false;
            Enumeration e = jj_expentries.elements();
label0:
            do
            {
                int oldentry[];
                do
                {
                    if(!e.hasMoreElements())
                        break label0;
                    oldentry = (int[])(int[])e.nextElement();
                } while(oldentry.length != jj_expentry.length);
                exists = true;
                int i = 0;
                do
                {
                    if(i >= jj_expentry.length)
                        break;
                    if(oldentry[i] != jj_expentry[i])
                    {
                        exists = false;
                        break;
                    }
                    i++;
                } while(true);
            } while(!exists);
            if(!exists)
                jj_expentries.addElement(jj_expentry);
            if(pos != 0)
                jj_lasttokens[(jj_endpos = pos) - 1] = kind;
        }
    }

    public ParseException generateParseException()
    {
        jj_expentries.removeAllElements();
        boolean la1tokens[] = new boolean[30];
        for(int i = 0; i < 30; i++)
            la1tokens[i] = false;

        if(jj_kind >= 0)
        {
            la1tokens[jj_kind] = true;
            jj_kind = -1;
        }
        for(int i = 0; i < 14; i++)
        {
            if(jj_la1[i] != jj_gen)
                continue;
            for(int j = 0; j < 32; j++)
                if((jj_la1_0[i] & 1 << j) != 0)
                    la1tokens[j] = true;

        }

        for(int i = 0; i < 30; i++)
            if(la1tokens[i])
            {
                jj_expentry = new int[1];
                jj_expentry[0] = i;
                jj_expentries.addElement(jj_expentry);
            }

        jj_endpos = 0;
        jj_rescan_token();
        jj_add_error_token(0, 0);
        int exptokseq[][] = new int[jj_expentries.size()][];
        for(int i = 0; i < jj_expentries.size(); i++)
            exptokseq[i] = (int[])(int[])jj_expentries.elementAt(i);

        return new ParseException(token, exptokseq, HTMLParserConstants.tokenImage);
    }

    public final void enable_tracing()
    {
    }

    public final void disable_tracing()
    {
    }

    private final void jj_rescan_token()
    {
        jj_rescan = true;
        for(int i = 0; i < 2; i++)
        {
            JJCalls p = jj_2_rtns[i];
            do
            {
                if(p.gen > jj_gen)
                {
                    jj_la = p.arg;
                    jj_lastpos = jj_scanpos = p.first;
                    switch(i)
                    {
                    case 0: // '\0'
                        jj_3_1();
                        break;

                    case 1: // '\001'
                        jj_3_2();
                        break;
                    }
                }
                p = p.next;
            } while(p != null);
        }

        jj_rescan = false;
    }

    private final void jj_save(int index, int xla)
    {
        JJCalls p = jj_2_rtns[index];
        do
        {
            if(p.gen <= jj_gen)
                break;
            if(p.next == null)
            {
                p = p.next = new JJCalls();
                break;
            }
            p = p.next;
        } while(true);
        p.gen = (jj_gen + xla) - jj_la;
        p.first = token;
        p.arg = xla;
    }

    static 
    {
        jj_la1_0();
    }

// Unreferenced inner classes:

/* anonymous class */
    static class _cls0
    {
    }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -