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

📄 htmlparsertokenmanager.java

📁 天乙代码src_531.rar 天乙代码src_531.rar 天乙代码src_531.rar 天乙代码src_531.rar
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
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 + -