in metron-platform/metron-parsing/metron-parsers/src/main/java/org/apache/metron/parsers/ise/ISEParserTokenManager.java [243:485]
private int jjMoveNfa_0(int startState, int curPos)
{
int startsAt = 0;
jjnewStateCnt = 18;
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 18:
case 4:
if ((0xdfffeffbffffc9ffL & l) == 0L)
break;
if (kind > 9)
kind = 9;
jjCheckNAddTwoStates(4, 5);
break;
case 0:
if ((0xdfffeffbffffc9ffL & l) != 0L)
{
if (kind > 9)
kind = 9;
jjCheckNAddTwoStates(4, 5);
}
else if ((0x3400L & l) != 0L)
{
if (kind > 4)
kind = 4;
}
if (curChar == 47)
jjAddStates(0, 1);
else if (curChar == 35)
jjCheckNAddTwoStates(1, 2);
break;
case 6:
if ((0xdfffeffbffffc9ffL & l) != 0L)
{
if (kind > 9)
kind = 9;
jjCheckNAddTwoStates(4, 5);
}
if ((0x900400000000L & l) != 0L)
{
if (kind > 9)
kind = 9;
jjCheckNAddTwoStates(4, 5);
}
break;
case 1:
if ((0xffffffffffffcbffL & l) != 0L)
jjCheckNAddTwoStates(1, 2);
break;
case 2:
if ((0x3400L & l) != 0L && kind > 3)
kind = 3;
break;
case 3:
if ((0x3400L & l) != 0L && kind > 4)
kind = 4;
break;
case 8:
jjAddStates(2, 3);
break;
case 10:
if (curChar == 47)
jjAddStates(0, 1);
break;
case 11:
if (curChar == 47)
jjCheckNAddTwoStates(12, 13);
break;
case 12:
if ((0xffffffffffffcbffL & l) != 0L)
jjCheckNAddTwoStates(12, 13);
break;
case 13:
if ((0x3400L & l) != 0L && kind > 1)
kind = 1;
break;
case 14:
if (curChar == 42)
jjCheckNAddTwoStates(15, 17);
break;
case 15:
jjCheckNAddTwoStates(15, 17);
break;
case 16:
if (curChar == 47 && kind > 2)
kind = 2;
break;
case 17:
if (curChar == 42)
jjstateSet[jjnewStateCnt++] = 16;
break;
default : break;
}
} while(i != startsAt);
}
else if (curChar < 128)
{
long l = 1L << (curChar & 077);
do
{
switch(jjstateSet[--i])
{
case 18:
if (kind > 9)
kind = 9;
jjCheckNAddTwoStates(4, 5);
if (curChar == 92)
jjstateSet[jjnewStateCnt++] = 6;
break;
case 0:
if (kind > 9)
kind = 9;
jjCheckNAddTwoStates(4, 5);
if (curChar == 123)
jjCheckNAdd(8);
else if (curChar == 92)
jjstateSet[jjnewStateCnt++] = 6;
break;
case 6:
if (kind > 9)
kind = 9;
jjCheckNAddTwoStates(4, 5);
if ((0x14404410144044L & l) != 0L)
{
if (kind > 9)
kind = 9;
jjCheckNAddTwoStates(4, 5);
}
if (curChar == 92)
jjstateSet[jjnewStateCnt++] = 6;
break;
case 1:
jjAddStates(4, 5);
break;
case 4:
if (kind > 9)
kind = 9;
jjCheckNAddTwoStates(4, 5);
break;
case 5:
if (curChar == 92)
jjstateSet[jjnewStateCnt++] = 6;
break;
case 7:
if (curChar == 123)
jjCheckNAdd(8);
break;
case 8:
if ((0xd7ffffffffffffffL & l) != 0L)
jjCheckNAddTwoStates(8, 9);
break;
case 9:
if (curChar == 125 && kind > 10)
kind = 10;
break;
case 12:
jjAddStates(6, 7);
break;
case 15:
jjAddStates(8, 9);
break;
default : break;
}
} while(i != startsAt);
}
else
{
int hiByte = (int)(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 18:
case 4:
if (!jjCanMove_0(hiByte, i1, i2, l1, l2))
break;
if (kind > 9)
kind = 9;
jjCheckNAddTwoStates(4, 5);
break;
case 0:
if (!jjCanMove_0(hiByte, i1, i2, l1, l2))
break;
if (kind > 9)
kind = 9;
jjCheckNAddTwoStates(4, 5);
break;
case 6:
if (!jjCanMove_0(hiByte, i1, i2, l1, l2))
break;
if (kind > 9)
kind = 9;
jjCheckNAddTwoStates(4, 5);
break;
case 1:
if (jjCanMove_0(hiByte, i1, i2, l1, l2))
jjAddStates(4, 5);
break;
case 8:
if (jjCanMove_0(hiByte, i1, i2, l1, l2))
jjAddStates(2, 3);
break;
case 12:
if (jjCanMove_0(hiByte, i1, i2, l1, l2))
jjAddStates(6, 7);
break;
case 15:
if (jjCanMove_0(hiByte, i1, i2, l1, l2))
jjAddStates(8, 9);
break;
default : break;
}
} while(i != startsAt);
}
if (kind != 0x7fffffff)
{
jjmatchedKind = kind;
jjmatchedPos = curPos;
kind = 0x7fffffff;
}
++curPos;
if ((i = jjnewStateCnt) == (startsAt = 18 - (jjnewStateCnt = startsAt)))
return curPos;
try { curChar = input_stream.readChar(); }
catch(java.io.IOException e) { return curPos; }
}
}