private final int jjMoveNfa_0()

in core/cocoon-pipeline/cocoon-pipeline-components/src/main/java/org/apache/cocoon/components/xpointer/parser/XPointerFrameworkParserTokenManager.java [205:342]


    private final int jjMoveNfa_0(int startState, int curPos) {
        int startsAt = 0;
        jjnewStateCnt = 7;
        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 ((0x100002600L & l) != 0L)
                                kind = 8;
                            break;
                        case 2 :
                            if ((0x3ff600000000000L & l) == 0L)
                                break;
                            if (kind > 7)
                                kind = 7;
                            jjstateSet[jjnewStateCnt++] = 2;
                            break;
                        case 3 :
                            if ((0x3ff600000000000L & l) != 0L)
                                jjAddStates(0, 1);
                            break;
                        case 4 :
                            if (curChar == 58)
                                jjstateSet[jjnewStateCnt++] = 5;
                            break;
                        case 6 :
                            if ((0x3ff600000000000L & l) == 0L)
                                break;
                            if (kind > 9)
                                kind = 9;
                            jjstateSet[jjnewStateCnt++] = 6;
                            break;
                        default :
                            break;
                    }
                } while (i != startsAt);
            } else if (curChar < 128) {
                long l = 1L << (curChar & 077);
                do {
                    switch (jjstateSet[--i]) {
                        case 0 :
                            if ((0x7fffffe87fffffeL & l) == 0L)
                                break;
                            if (kind > 7)
                                kind = 7;
                            jjCheckNAddStates(2, 5);
                            break;
                        case 2 :
                            if ((0x7fffffe87fffffeL & l) == 0L)
                                break;
                            if (kind > 7)
                                kind = 7;
                            jjCheckNAdd(2);
                            break;
                        case 3 :
                            if ((0x7fffffe87fffffeL & l) != 0L)
                                jjCheckNAddTwoStates(3, 4);
                            break;
                        case 5 :
                        case 6 :
                            if ((0x7fffffe87fffffeL & l) == 0L)
                                break;
                            if (kind > 9)
                                kind = 9;
                            jjCheckNAdd(6);
                            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 :
                            if (!jjCanMove_0(hiByte, i1, i2, l1, l2))
                                break;
                            if (kind > 7)
                                kind = 7;
                            jjCheckNAddStates(2, 5);
                            break;
                        case 2 :
                            if (!jjCanMove_1(hiByte, i1, i2, l1, l2))
                                break;
                            if (kind > 7)
                                kind = 7;
                            jjCheckNAdd(2);
                            break;
                        case 3 :
                            if (jjCanMove_1(hiByte, i1, i2, l1, l2))
                                jjCheckNAddTwoStates(3, 4);
                            break;
                        case 5 :
                            if (!jjCanMove_0(hiByte, i1, i2, l1, l2))
                                break;
                            if (kind > 9)
                                kind = 9;
                            jjCheckNAdd(6);
                            break;
                        case 6 :
                            if (!jjCanMove_1(hiByte, i1, i2, l1, l2))
                                break;
                            if (kind > 9)
                                kind = 9;
                            jjCheckNAdd(6);
                            break;
                        default :
                            break;
                    }
                } while (i != startsAt);
            }
            if (kind != 0x7fffffff) {
                jjmatchedKind = kind;
                jjmatchedPos = curPos;
                kind = 0x7fffffff;
            }
            ++curPos;
            if ((i = jjnewStateCnt)
                == (startsAt = 7 - (jjnewStateCnt = startsAt)))
                return curPos;
            try {
                curChar = input_stream.readChar();
            } catch (java.io.IOException e) {
                return curPos;
            }
        }
    }