private int jjMoveNfa_0()

in netflix-sel/src/main/java/com/netflix/sel/ast/SelParserTokenManager.java [743:1184]


  private int jjMoveNfa_0(int startState, int curPos) {
    int startsAt = 0;
    jjnewStateCnt = 57;
    int i = 1;
    jjstateSet[0] = startState;
    int kind = 0x7fffffff;
    for (; ; ) {
      if (++jjround == 0x7fffffff) ReInitRounds();
      if (curChar < 64) {
        long l = 1L << curChar;
        do {
          switch (jjstateSet[--i]) {
            case 0:
              if ((0x3ff000000000000L & l) != 0L) {
                jjCheckNAddStates(0, 6);
              } else if (curChar == 47) {
                jjAddStates(7, 8);
              } else if (curChar == 36) {
                if (kind > 71) kind = 71;
                {
                  jjCheckNAdd(28);
                }
              } else if (curChar == 39) {
                jjCheckNAddStates(9, 11);
              } else if (curChar == 34) {
                jjCheckNAddStates(12, 14);
              } else if (curChar == 46) {
                jjCheckNAdd(4);
              }
              if ((0x3fe000000000000L & l) != 0L) {
                if (kind > 62) kind = 62;
                {
                  jjCheckNAddTwoStates(1, 2);
                }
              } else if (curChar == 48) {
                if (kind > 62) kind = 62;
                {
                  jjCheckNAddStates(15, 17);
                }
              }
              break;
            case 51:
              if (curChar == 47) {
                if (kind > 8) kind = 8;
                {
                  jjCheckNAddStates(18, 20);
                }
              } else if (curChar == 42) jjstateSet[jjnewStateCnt++] = 49;
              break;
            case 1:
              if ((0x3ff000000000000L & l) == 0L) break;
              if (kind > 62) kind = 62;
              {
                jjCheckNAddTwoStates(1, 2);
              }
              break;
            case 3:
              if (curChar == 46) {
                jjCheckNAdd(4);
              }
              break;
            case 4:
              if ((0x3ff000000000000L & l) == 0L) break;
              if (kind > 66) kind = 66;
              {
                jjCheckNAddStates(21, 23);
              }
              break;
            case 6:
              if ((0x280000000000L & l) != 0L) {
                jjCheckNAdd(7);
              }
              break;
            case 7:
              if ((0x3ff000000000000L & l) == 0L) break;
              if (kind > 66) kind = 66;
              {
                jjCheckNAddTwoStates(7, 8);
              }
              break;
            case 9:
              if (curChar == 34) {
                jjCheckNAddStates(12, 14);
              }
              break;
            case 10:
              if ((0xfffffffbffffdbffL & l) != 0L) {
                jjCheckNAddStates(12, 14);
              }
              break;
            case 12:
              if ((0x8400000000L & l) != 0L) {
                jjCheckNAddStates(12, 14);
              }
              break;
            case 13:
              if (curChar == 34 && kind > 68) kind = 68;
              break;
            case 14:
              if ((0xff000000000000L & l) != 0L) {
                jjCheckNAddStates(24, 27);
              }
              break;
            case 15:
              if ((0xff000000000000L & l) != 0L) {
                jjCheckNAddStates(12, 14);
              }
              break;
            case 16:
              if ((0xf000000000000L & l) != 0L) jjstateSet[jjnewStateCnt++] = 17;
              break;
            case 17:
              if ((0xff000000000000L & l) != 0L) {
                jjCheckNAdd(15);
              }
              break;
            case 18:
              if (curChar == 39) {
                jjCheckNAddStates(9, 11);
              }
              break;
            case 19:
              if ((0xffffff7fffffdbffL & l) != 0L) {
                jjCheckNAddStates(9, 11);
              }
              break;
            case 21:
              if ((0x8400000000L & l) != 0L) {
                jjCheckNAddStates(9, 11);
              }
              break;
            case 22:
              if (curChar == 39 && kind > 68) kind = 68;
              break;
            case 23:
              if ((0xff000000000000L & l) != 0L) {
                jjCheckNAddStates(28, 31);
              }
              break;
            case 24:
              if ((0xff000000000000L & l) != 0L) {
                jjCheckNAddStates(9, 11);
              }
              break;
            case 25:
              if ((0xf000000000000L & l) != 0L) jjstateSet[jjnewStateCnt++] = 26;
              break;
            case 26:
              if ((0xff000000000000L & l) != 0L) {
                jjCheckNAdd(24);
              }
              break;
            case 27:
              if (curChar != 36) break;
              if (kind > 71) kind = 71;
              {
                jjCheckNAdd(28);
              }
              break;
            case 28:
              if ((0x3ff001000000000L & l) == 0L) break;
              if (kind > 71) kind = 71;
              {
                jjCheckNAdd(28);
              }
              break;
            case 29:
              if ((0x3ff000000000000L & l) != 0L) {
                jjCheckNAddStates(0, 6);
              }
              break;
            case 30:
              if ((0x3ff000000000000L & l) != 0L) {
                jjCheckNAddTwoStates(30, 31);
              }
              break;
            case 31:
              if (curChar != 46) break;
              if (kind > 66) kind = 66;
              {
                jjCheckNAddStates(32, 34);
              }
              break;
            case 32:
              if ((0x3ff000000000000L & l) == 0L) break;
              if (kind > 66) kind = 66;
              {
                jjCheckNAddStates(32, 34);
              }
              break;
            case 34:
              if ((0x280000000000L & l) != 0L) {
                jjCheckNAdd(35);
              }
              break;
            case 35:
              if ((0x3ff000000000000L & l) == 0L) break;
              if (kind > 66) kind = 66;
              {
                jjCheckNAddTwoStates(35, 8);
              }
              break;
            case 36:
              if ((0x3ff000000000000L & l) != 0L) {
                jjCheckNAddTwoStates(36, 37);
              }
              break;
            case 38:
              if ((0x280000000000L & l) != 0L) {
                jjCheckNAdd(39);
              }
              break;
            case 39:
              if ((0x3ff000000000000L & l) == 0L) break;
              if (kind > 66) kind = 66;
              {
                jjCheckNAddTwoStates(39, 8);
              }
              break;
            case 40:
              if ((0x3ff000000000000L & l) != 0L) {
                jjCheckNAddStates(35, 37);
              }
              break;
            case 42:
              if ((0x280000000000L & l) != 0L) {
                jjCheckNAdd(43);
              }
              break;
            case 43:
              if ((0x3ff000000000000L & l) != 0L) {
                jjCheckNAddTwoStates(43, 8);
              }
              break;
            case 44:
              if (curChar != 48) break;
              if (kind > 62) kind = 62;
              {
                jjCheckNAddStates(15, 17);
              }
              break;
            case 46:
              if ((0x3ff000000000000L & l) == 0L) break;
              if (kind > 62) kind = 62;
              {
                jjCheckNAddTwoStates(46, 2);
              }
              break;
            case 47:
              if ((0xff000000000000L & l) == 0L) break;
              if (kind > 62) kind = 62;
              {
                jjCheckNAddTwoStates(47, 2);
              }
              break;
            case 48:
              if (curChar == 47) {
                jjAddStates(7, 8);
              }
              break;
            case 49:
              if (curChar == 42) jjstateSet[jjnewStateCnt++] = 50;
              break;
            case 50:
              if ((0xffff7fffffffffffL & l) != 0L && kind > 6) kind = 6;
              break;
            case 52:
              if (curChar != 47) break;
              if (kind > 8) kind = 8;
              {
                jjCheckNAddStates(18, 20);
              }
              break;
            case 53:
              if ((0xffffffffffffdbffL & l) == 0L) break;
              if (kind > 8) kind = 8;
              {
                jjCheckNAddStates(18, 20);
              }
              break;
            case 54:
              if ((0x2400L & l) != 0L && kind > 8) kind = 8;
              break;
            case 55:
              if (curChar == 10 && kind > 8) kind = 8;
              break;
            case 56:
              if (curChar == 13) jjstateSet[jjnewStateCnt++] = 55;
              break;
            default:
              break;
          }
        } while (i != startsAt);
      } else if (curChar < 128) {
        long l = 1L << (curChar & 077);
        do {
          switch (jjstateSet[--i]) {
            case 0:
            case 28:
              if ((0x7fffffe87fffffeL & l) == 0L) break;
              if (kind > 71) kind = 71;
              {
                jjCheckNAdd(28);
              }
              break;
            case 2:
              if ((0x100000001000L & l) != 0L && kind > 62) kind = 62;
              break;
            case 5:
              if ((0x2000000020L & l) != 0L) {
                jjAddStates(38, 39);
              }
              break;
            case 8:
              if ((0x5000000050L & l) != 0L && kind > 66) kind = 66;
              break;
            case 10:
              if ((0xffffffffefffffffL & l) != 0L) {
                jjCheckNAddStates(12, 14);
              }
              break;
            case 11:
              if (curChar == 92) {
                jjAddStates(40, 42);
              }
              break;
            case 12:
              if ((0x14404410000000L & l) != 0L) {
                jjCheckNAddStates(12, 14);
              }
              break;
            case 19:
              if ((0xffffffffefffffffL & l) != 0L) {
                jjCheckNAddStates(9, 11);
              }
              break;
            case 20:
              if (curChar == 92) {
                jjAddStates(43, 45);
              }
              break;
            case 21:
              if ((0x14404410000000L & l) != 0L) {
                jjCheckNAddStates(9, 11);
              }
              break;
            case 33:
              if ((0x2000000020L & l) != 0L) {
                jjAddStates(46, 47);
              }
              break;
            case 37:
              if ((0x2000000020L & l) != 0L) {
                jjAddStates(48, 49);
              }
              break;
            case 41:
              if ((0x2000000020L & l) != 0L) {
                jjAddStates(50, 51);
              }
              break;
            case 45:
              if ((0x100000001000000L & l) != 0L) {
                jjCheckNAdd(46);
              }
              break;
            case 46:
              if ((0x7e0000007eL & l) == 0L) break;
              if (kind > 62) kind = 62;
              {
                jjCheckNAddTwoStates(46, 2);
              }
              break;
            case 50:
              if (kind > 6) kind = 6;
              break;
            case 53:
              if (kind > 8) kind = 8;
              {
                jjAddStates(18, 20);
              }
              break;
            default:
              break;
          }
        } while (i != startsAt);
      } else {
        int hiByte = (curChar >> 8);
        int i1 = hiByte >> 6;
        long l1 = 1L << (hiByte & 077);
        int i2 = (curChar & 0xff) >> 6;
        long l2 = 1L << (curChar & 077);
        do {
          switch (jjstateSet[--i]) {
            case 0:
            case 28:
              if (!jjCanMove_1(hiByte, i1, i2, l1, l2)) break;
              if (kind > 71) kind = 71;
              {
                jjCheckNAdd(28);
              }
              break;
            case 10:
              if (jjCanMove_0(hiByte, i1, i2, l1, l2)) {
                jjAddStates(12, 14);
              }
              break;
            case 19:
              if (jjCanMove_0(hiByte, i1, i2, l1, l2)) {
                jjAddStates(9, 11);
              }
              break;
            case 50:
              if (jjCanMove_0(hiByte, i1, i2, l1, l2) && kind > 6) kind = 6;
              break;
            case 53:
              if (!jjCanMove_0(hiByte, i1, i2, l1, l2)) break;
              if (kind > 8) kind = 8;
              {
                jjAddStates(18, 20);
              }
              break;
            default:
              if (i1 == 0 || l1 == 0 || i2 == 0 || l2 == 0) break;
              else break;
          }
        } while (i != startsAt);
      }
      if (kind != 0x7fffffff) {
        jjmatchedKind = kind;
        jjmatchedPos = curPos;
        kind = 0x7fffffff;
      }
      ++curPos;
      if ((i = jjnewStateCnt) == (startsAt = 57 - (jjnewStateCnt = startsAt))) return curPos;
      try {
        curChar = input_stream.readChar();
      } catch (java.io.IOException e) {
        return curPos;
      }
    }
  }