📄 htmlparser.java
字号:
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 + -