📄 htmlparsertokenmanager.java
字号:
package com.laoer.bbscs.lucene.html;import java.io.*;/** * <p>Title: 天乙社区V5.0</p> * <p>Description: BBS-CS天乙社区V5.0</p> * <p>Copyright: Copyright (c) 2003</p> * <p>Company: laoer.com</p> * @author 龚天乙 * @version 5.0 */public class HTMLParserTokenManager implements HTMLParserConstants { public java.io.PrintStream debugStream = System.out; public void setDebugStream(java.io.PrintStream ds) { debugStream = ds; } private final int jjStopStringLiteralDfa_0(int pos, long active0) { switch (pos) { case 0: if ( (active0 & 0x18L) != 0L) { return 17; } return -1; case 1: if ( (active0 & 0x18L) != 0L) { return 22; } return -1; default: return -1; } } private final int jjStartNfa_0(int pos, long active0) { return jjMoveNfa_0(jjStopStringLiteralDfa_0(pos, active0), pos + 1); } private final int jjStopAtPos(int pos, int kind) { jjmatchedKind = kind; jjmatchedPos = pos; return pos + 1; } private final int jjStartNfaWithStates_0(int pos, int kind, int state) { jjmatchedKind = kind; jjmatchedPos = pos; try { curChar = input_stream.readChar(); } catch (java.io.IOException e) { return pos + 1; } return jjMoveNfa_0(state, pos + 1); } private final int jjMoveStringLiteralDfa0_0() { switch (curChar) { case 60: return jjMoveStringLiteralDfa1_0(0x18L); default: return jjMoveNfa_0(11, 0); } } private final int jjMoveStringLiteralDfa1_0(long active0) { try { curChar = input_stream.readChar(); } catch (java.io.IOException e) { jjStopStringLiteralDfa_0(0, active0); return 1; } switch (curChar) { case 33: if ( (active0 & 0x10L) != 0L) { jjmatchedKind = 4; jjmatchedPos = 1; } return jjMoveStringLiteralDfa2_0(active0, 0x8L); default: break; } return jjStartNfa_0(0, active0); } private final int jjMoveStringLiteralDfa2_0(long old0, long active0) { if ( ( (active0 &= old0)) == 0L) { return jjStartNfa_0(0, old0); } try { curChar = input_stream.readChar(); } catch (java.io.IOException e) { jjStopStringLiteralDfa_0(1, active0); return 2; } switch (curChar) { case 45: return jjMoveStringLiteralDfa3_0(active0, 0x8L); default: break; } return jjStartNfa_0(1, active0); } private final int jjMoveStringLiteralDfa3_0(long old0, long active0) { if ( ( (active0 &= old0)) == 0L) { return jjStartNfa_0(1, old0); } try { curChar = input_stream.readChar(); } catch (java.io.IOException e) { jjStopStringLiteralDfa_0(2, active0); return 3; } switch (curChar) { case 45: if ( (active0 & 0x8L) != 0L) { return jjStopAtPos(3, 3); } break; default: break; } return jjStartNfa_0(2, active0); } private final void jjCheckNAdd(int state) { if (jjrounds[state] != jjround) { jjstateSet[jjnewStateCnt++] = state; jjrounds[state] = jjround; } } private final void jjAddStates(int start, int end) { do { jjstateSet[jjnewStateCnt++] = jjnextStates[start]; } while (start++ != end); } private final void jjCheckNAddTwoStates(int state1, int state2) { jjCheckNAdd(state1); jjCheckNAdd(state2); } private final void jjCheckNAddStates(int start, int end) { do { jjCheckNAdd(jjnextStates[start]); } while (start++ != end); } private final void jjCheckNAddStates(int start) { jjCheckNAdd(jjnextStates[start]); jjCheckNAdd(jjnextStates[start + 1]); } static final long[] jjbitVec0 = { 0x0L, 0x0L, 0xffffffffffffffffL, 0xffffffffffffffffL }; private final int jjMoveNfa_0(int startState, int curPos) { int[] nextStates; int startsAt = 0; jjnewStateCnt = 25; int i = 1; jjstateSet[0] = startState; int j, kind = 0x7fffffff; for (; ; ) { if (++jjround == 0x7fffffff) { ReInitRounds(); } if (curChar < 64) { long l = 1L << curChar; MatchLoop:do { switch (jjstateSet[--i]) { case 11: if ( (0x3ff000000000000L & l) != 0L) { jjCheckNAddTwoStates(7, 2); } else if ( (0x100002600L & l) != 0L) { if (kind > 9) { kind = 9; } jjCheckNAdd(10); } else if (curChar == 60) { jjCheckNAddStates(0, 2); } else if (curChar == 38) { jjAddStates(3, 4); } else if (curChar == 36) { jjstateSet[jjnewStateCnt++] = 1; } if ( (0x3ff000000000000L & l) != 0L) { if (kind > 5) { kind = 5; } jjCheckNAddStates(5, 9); } break; case 17: if (curChar == 33) { jjstateSet[jjnewStateCnt++] = 22; } else if (curChar == 47) { jjCheckNAdd(18); } break; case 0: if (curChar == 36) { jjstateSet[jjnewStateCnt++] = 1; } break; case 1: if ( (0x3ff000000000000L & l) != 0L) { jjCheckNAdd(2); } break; case 2: if ( (0x500000000000L & l) != 0L) { jjstateSet[jjnewStateCnt++] = 3; } break; case 3: case 9: if ( (0x3ff000000000000L & l) == 0L) { break; } if (kind > 5) { kind = 5; } jjCheckNAddStates(10, 12); break; case 4: if ( (0x3ff000000000000L & l) == 0L) { break; } if (kind > 5) { kind = 5; } jjCheckNAddStates(5, 9); break; case 5: if ( (0x880000000000L & l) == 0L) { break; } if (kind > 5) { kind = 5; } jjCheckNAddStates(13, 16); break; case 6: if ( (0x3ff000000000000L & l) != 0L) { jjCheckNAddTwoStates(7, 2); } break; case 7: if (curChar != 34) { break; } if (kind > 5) { kind = 5; } jjCheckNAddStates(10, 12); break; case 8: if ( (0x208000000000L & l) != 0L) { jjstateSet[jjnewStateCnt++] = 9; } break; case 10: if ( (0x100002600L & l) == 0L) { break; } kind = 9; jjCheckNAdd(10); break; case 13: if (curChar == 59 && kind > 8) { kind = 8; } break; case 14: if (curChar == 35) { jjCheckNAdd(15); } break; case 15: if ( (0x3ff000000000000L & l) == 0L) { break; } if (kind > 8) { kind = 8; } jjCheckNAddTwoStates(15, 13); break; case 16: if (curChar == 60) { jjCheckNAddStates(0, 2); } break; case 19: if ( (0x9fffff7affffd9ffL & l) == 0L) { break; } if (kind > 1) { kind = 1; } jjCheckNAdd(20); break; case 20: if ( (0x9ffffffeffffd9ffL & l) == 0L) { break; } if (kind > 1) { kind = 1; } jjCheckNAdd(20); break; case 21: if (curChar == 33) { jjstateSet[jjnewStateCnt++] = 22; } break; case 23: if ( (0x9fffff7affffd9ffL & l) == 0L) { break; } if (kind > 2) { kind = 2; } jjCheckNAdd(24); break; case 24: if ( (0x9ffffffeffffd9ffL & l) == 0L) { break; } if (kind > 2) { kind = 2; } jjCheckNAdd(24); break; default: break; } } while (i != startsAt); } else if (curChar < 128) { long l = 1L << (curChar & 077); MatchLoop:do { switch (jjstateSet[--i]) { case 11: case 4: if ( (0x7fffffe07fffffeL & l) == 0L) { break; } if (kind > 5) { kind = 5; } jjCheckNAddStates(5, 9); break; case 17: case 18: if ( (0x7fffffe07fffffeL & l) == 0L) { break; } if (kind > 1) { kind = 1; } jjstateSet[jjnewStateCnt++] = 19; break; case 9: if ( (0x7fffffe07fffffeL & l) == 0L) { break; } if (kind > 5) { kind = 5; } jjCheckNAddStates(10, 12); break; case 12: if ( (0x7fffffe07fffffeL & l) == 0L) { break; } if (kind > 8) { kind = 8; } jjAddStates(17, 18); break; case 19: case 20: if (kind > 1) { kind = 1; } jjCheckNAdd(20); break; case 22: if ( (0x7fffffe07fffffeL & l) == 0L) { break; } if (kind > 2) { kind = 2; } jjstateSet[jjnewStateCnt++] = 23; break; case 23: case 24: if (kind > 2) { kind = 2; } jjCheckNAdd(24); break; default: break; } } while (i != startsAt); } else { int i2 = (curChar & 0xff) >> 6; long l2 = 1L << (curChar & 077); MatchLoop:do { switch (jjstateSet[--i]) { case 19: case 20: if ( (jjbitVec0[i2] & l2) == 0L) { break; } if (kind > 1) { kind = 1; } jjCheckNAdd(20); break; case 23: case 24: if ( (jjbitVec0[i2] & l2) == 0L) { break; } if (kind > 2) { kind = 2; } jjCheckNAdd(24); break; default: break; } } while (i != startsAt); } if (kind != 0x7fffffff) { jjmatchedKind = kind; jjmatchedPos = curPos; kind = 0x7fffffff; } ++curPos; if ( (i = jjnewStateCnt) == (startsAt = 25 - (jjnewStateCnt = startsAt))) { return curPos; } try { curChar = input_stream.readChar(); } catch (java.io.IOException e) { return curPos; } } } private final int jjMoveStringLiteralDfa0_4() { return jjMoveNfa_4(1, 0); } private final int jjMoveNfa_4(int startState, int curPos) { int[] nextStates; int startsAt = 0; jjnewStateCnt = 2; int i = 1; jjstateSet[0] = startState; int j, kind = 0x7fffffff; for (; ; ) { if (++jjround == 0x7fffffff) { ReInitRounds(); }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -