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

📄 rdqlparsertokenmanager.java

📁 这是外国一个开源推理机
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
            {               case 0:                  if (!jjCanMove_1(hiByte, i1, i2, l1, l2))                     break;                  if (kind > 59)                     kind = 59;                  jjCheckNAddStates(21, 23);                  break;               case 5:                  if (jjCanMove_0(hiByte, i1, i2, l1, l2))                     jjAddStates(8, 10);                  break;               case 13:                  if (jjCanMove_0(hiByte, i1, i2, l1, l2))                     jjAddStates(26, 27);                  break;               case 15:                  if (jjCanMove_1(hiByte, i1, i2, l1, l2))                     jjCheckNAddTwoStates(16, 17);                  break;               case 16:                  if (jjCanMove_2(hiByte, i1, i2, l1, l2))                     jjCheckNAddTwoStates(16, 17);                  break;               case 18:                  if (!jjCanMove_1(hiByte, i1, i2, l1, l2))                     break;                  if (kind > 44)                     kind = 44;                  jjCheckNAdd(19);                  break;               case 19:                  if (!jjCanMove_2(hiByte, i1, i2, l1, l2))                     break;                  if (kind > 44)                     kind = 44;                  jjCheckNAdd(19);                  break;               case 42:                  if (jjCanMove_0(hiByte, i1, i2, l1, l2))                     jjAddStates(5, 7);                  break;               case 65:                  if (jjCanMove_0(hiByte, i1, i2, l1, l2))                     jjAddStates(44, 45);                  break;               case 68:                  if (!jjCanMove_1(hiByte, i1, i2, l1, l2))                     break;                  if (kind > 58)                     kind = 58;                  jjCheckNAdd(69);                  break;               case 69:                  if (!jjCanMove_2(hiByte, i1, i2, l1, l2))                     break;                  if (kind > 58)                     kind = 58;                  jjCheckNAdd(69);                  break;               case 77:                  if (!jjCanMove_0(hiByte, i1, i2, l1, l2))                     break;                  if (kind > 6)                     kind = 6;                  jjAddStates(13, 15);                  break;               case 82:                  if (jjCanMove_0(hiByte, i1, i2, l1, l2))                     jjCheckNAddTwoStates(82, 83);                  break;               case 84:               case 85:                  if (jjCanMove_0(hiByte, i1, i2, l1, l2))                     jjCheckNAddTwoStates(85, 83);                  break;               case 88:                  if (jjCanMove_2(hiByte, i1, i2, l1, l2))                     jjCheckNAddTwoStates(88, 89);                  break;               case 90:                  if (!jjCanMove_1(hiByte, i1, i2, l1, l2))                     break;                  if (kind > 57)                     kind = 57;                  jjCheckNAdd(91);                  break;               case 91:                  if (!jjCanMove_2(hiByte, i1, i2, l1, l2))                     break;                  if (kind > 57)                     kind = 57;                  jjCheckNAdd(91);                  break;               case 92:                  if (!jjCanMove_2(hiByte, i1, i2, l1, l2))                     break;                  if (kind > 59)                     kind = 59;                  jjCheckNAdd(92);                  break;               default : break;            }         } while(i != startsAt);      }      if (kind != 0x7fffffff)      {         jjmatchedKind = kind;         jjmatchedPos = curPos;         kind = 0x7fffffff;      }      ++curPos;      if ((i = jjnewStateCnt) == (startsAt = 96 - (jjnewStateCnt = startsAt)))         break;      try { curChar = input_stream.readChar(); }      catch(java.io.IOException e) { break; }   }   if (jjmatchedPos > strPos)      return curPos;   int toRet = Math.max(curPos, seenUpto);   if (curPos < toRet)      for (i = toRet - Math.min(curPos, seenUpto); i-- > 0; )         try { curChar = input_stream.readChar(); }         catch(java.io.IOException e) { throw new Error("Internal Error : Please send a bug report."); }   if (jjmatchedPos < strPos)   {      jjmatchedKind = strKind;      jjmatchedPos = strPos;   }   else if (jjmatchedPos == strPos && jjmatchedKind > strKind)      jjmatchedKind = strKind;   return toRet;}static final int[] jjnextStates = {   94, 95, 70, 76, 81, 42, 43, 44, 5, 6, 21, 16, 17, 77, 78, 80,    83, 84, 86, 88, 89, 88, 89, 92, 12, 15, 13, 14, 22, 23, 24, 25,    26, 27, 28, 37, 45, 46, 47, 48, 49, 50, 51, 60, 65, 66, 73, 74, };private static final boolean jjCanMove_0(int hiByte, int i1, int i2, long l1, long l2){   switch(hiByte)   {      case 0:         return ((jjbitVec2[i2] & l2) != 0L);      default :          if ((jjbitVec0[i1] & l1) != 0L)            return true;         return false;   }}private static final boolean jjCanMove_1(int hiByte, int i1, int i2, long l1, long l2){   switch(hiByte)   {      case 0:         return ((jjbitVec4[i2] & l2) != 0L);      case 1:         return ((jjbitVec5[i2] & l2) != 0L);      case 2:         return ((jjbitVec6[i2] & l2) != 0L);      case 3:         return ((jjbitVec7[i2] & l2) != 0L);      case 4:         return ((jjbitVec8[i2] & l2) != 0L);      case 5:         return ((jjbitVec9[i2] & l2) != 0L);      case 6:         return ((jjbitVec10[i2] & l2) != 0L);      case 9:         return ((jjbitVec11[i2] & l2) != 0L);      case 10:         return ((jjbitVec12[i2] & l2) != 0L);      case 11:         return ((jjbitVec13[i2] & l2) != 0L);      case 12:         return ((jjbitVec14[i2] & l2) != 0L);      case 13:         return ((jjbitVec15[i2] & l2) != 0L);      case 14:         return ((jjbitVec16[i2] & l2) != 0L);      case 15:         return ((jjbitVec17[i2] & l2) != 0L);      case 16:         return ((jjbitVec18[i2] & l2) != 0L);      case 17:         return ((jjbitVec19[i2] & l2) != 0L);      case 30:         return ((jjbitVec20[i2] & l2) != 0L);      case 31:         return ((jjbitVec21[i2] & l2) != 0L);      case 33:         return ((jjbitVec22[i2] & l2) != 0L);      case 48:         return ((jjbitVec23[i2] & l2) != 0L);      case 49:         return ((jjbitVec24[i2] & l2) != 0L);      case 159:         return ((jjbitVec25[i2] & l2) != 0L);      case 215:         return ((jjbitVec26[i2] & l2) != 0L);      default :          if ((jjbitVec3[i1] & l1) != 0L)            return true;         return false;   }}private static final boolean jjCanMove_2(int hiByte, int i1, int i2, long l1, long l2){   switch(hiByte)   {      case 0:         return ((jjbitVec27[i2] & l2) != 0L);      case 1:         return ((jjbitVec5[i2] & l2) != 0L);      case 2:         return ((jjbitVec28[i2] & l2) != 0L);      case 3:         return ((jjbitVec29[i2] & l2) != 0L);      case 4:         return ((jjbitVec30[i2] & l2) != 0L);      case 5:         return ((jjbitVec31[i2] & l2) != 0L);      case 6:         return ((jjbitVec32[i2] & l2) != 0L);      case 9:         return ((jjbitVec33[i2] & l2) != 0L);      case 10:         return ((jjbitVec34[i2] & l2) != 0L);      case 11:         return ((jjbitVec35[i2] & l2) != 0L);      case 12:         return ((jjbitVec36[i2] & l2) != 0L);      case 13:         return ((jjbitVec37[i2] & l2) != 0L);      case 14:         return ((jjbitVec38[i2] & l2) != 0L);      case 15:         return ((jjbitVec39[i2] & l2) != 0L);      case 16:         return ((jjbitVec18[i2] & l2) != 0L);      case 17:         return ((jjbitVec19[i2] & l2) != 0L);      case 30:         return ((jjbitVec20[i2] & l2) != 0L);      case 31:         return ((jjbitVec21[i2] & l2) != 0L);      case 32:         return ((jjbitVec40[i2] & l2) != 0L);      case 33:         return ((jjbitVec22[i2] & l2) != 0L);      case 48:         return ((jjbitVec41[i2] & l2) != 0L);      case 49:         return ((jjbitVec24[i2] & l2) != 0L);      case 159:         return ((jjbitVec25[i2] & l2) != 0L);      case 215:         return ((jjbitVec26[i2] & l2) != 0L);      default :          if ((jjbitVec3[i1] & l1) != 0L)            return true;         return false;   }}public static final String[] jjstrLiteralImages = {"", null, null, null, null, null, null, null, "\75", "\41\75", "\74", "\74\75", "\76\75", "\76", null, "\72", "\174\174", "\46\46", "\53", "\55", "\52", "\57", "\45", null, "\41\176", "\56", "\54", "\73", "\50", "\51", "\133", "\135", null, null, null, null, null, null, null, null, null, "\164\162\165\145", "\146\141\154\163\145", "\156\165\154\154", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, };public static final String[] lexStateNames = {   "DEFAULT", };static final long[] jjtoToken = {   0xf001fffffffff01L, 0x18L, };static final long[] jjtoSkip = {   0xfeL, 0x0L, };protected JavaCharStream input_stream;private final int[] jjrounds = new int[96];private final int[] jjstateSet = new int[192];protected char curChar;public RdqlParserTokenManager(JavaCharStream stream){   if (JavaCharStream.staticFlag)      throw new Error("ERROR: Cannot use a static CharStream class with a non-static lexical analyzer.");   input_stream = stream;}public RdqlParserTokenManager(JavaCharStream stream, int lexState){   this(stream);   SwitchTo(lexState);}public void ReInit(JavaCharStream stream){   jjmatchedPos = jjnewStateCnt = 0;   curLexState = defaultLexState;   input_stream = stream;   ReInitRounds();}private final void ReInitRounds(){   int i;   jjround = 0x80000001;   for (i = 96; i-- > 0;)      jjrounds[i] = 0x80000000;}public void ReInit(JavaCharStream stream, int lexState){   ReInit(stream);   SwitchTo(lexState);}public void SwitchTo(int lexState){   if (lexState >= 1 || lexState < 0)      throw new TokenMgrError("Error: Ignoring invalid lexical state : " + lexState + ". State unchanged.", TokenMgrError.INVALID_LEXICAL_STATE);   else      curLexState = lexState;}protected Token jjFillToken(){   Token t = Token.newToken(jjmatchedKind);   t.kind = jjmatchedKind;   String im = jjstrLiteralImages[jjmatchedKind];   t.image = (im == null) ? input_stream.GetImage() : im;   t.beginLine = input_stream.getBeginLine();   t.beginColumn = input_stream.getBeginColumn();   t.endLine = input_stream.getEndLine();   t.endColumn = input_stream.getEndColumn();   return t;}int curLexState = 0;int defaultLexState = 0;int jjnewStateCnt;int jjround;int jjmatchedPos;int jjmatchedKind;public Token getNextToken() {  int kind;  Token specialToken = null;  Token matchedToken;  int curPos = 0;  EOFLoop :  for (;;)  {      try      {           curChar = input_stream.BeginToken();   }        catch(java.io.IOException e)   {              jjmatchedKind = 0;      matchedToken = jjFillToken();      return matchedToken;   }   jjmatchedKind = 0x7fffffff;   jjmatchedPos = 0;   curPos = jjMoveStringLiteralDfa0_0();   if (jjmatchedKind != 0x7fffffff)   {      if (jjmatchedPos + 1 < curPos)         input_stream.backup(curPos - jjmatchedPos - 1);      if ((jjtoToken[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L)      {         matchedToken = jjFillToken();         return matchedToken;      }      else      {         continue EOFLoop;      }   }   int error_line = input_stream.getEndLine();   int error_column = input_stream.getEndColumn();   String error_after = null;   boolean EOFSeen = false;   try { input_stream.readChar(); input_stream.backup(1); }   catch (java.io.IOException e1) {      EOFSeen = true;      error_after = curPos <= 1 ? "" : input_stream.GetImage();      if (curChar == '\n' || curChar == '\r') {         error_line++;         error_column = 0;      }      else         error_column++;   }   if (!EOFSeen) {      input_stream.backup(1);      error_after = curPos <= 1 ? "" : input_stream.GetImage();   }   throw new TokenMgrError(EOFSeen, curLexState, error_line, error_column, error_after, curChar, TokenMgrError.LEXICAL_ERROR);  }}}

⌨️ 快捷键说明

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