1
/* Generated By:JavaCC: Do not edit this line. ELParserTokenManager.java */
2
package org.apache.commons.el.parser;
3
import org.apache.commons.el.*;
4
import java.util.ArrayList;
7
public class ELParserTokenManager implements ELParserConstants
9
public java.io.PrintStream debugStream = System.out;
10
public void setDebugStream(java.io.PrintStream ds) { debugStream = ds; }
11
private final int jjStopStringLiteralDfa_0(int pos, long active0)
16
if ((active0 & 0x4L) != 0L)
26
private final int jjStartNfa_0(int pos, long active0)
28
return jjMoveNfa_0(jjStopStringLiteralDfa_0(pos, active0), pos + 1);
30
private final int jjStopAtPos(int pos, int kind)
36
private final int jjStartNfaWithStates_0(int pos, int kind, int state)
40
try { curChar = input_stream.readChar(); }
41
catch(java.io.IOException e) { return pos + 1; }
42
return jjMoveNfa_0(state, pos + 1);
44
private final int jjMoveStringLiteralDfa0_0()
49
return jjMoveStringLiteralDfa1_0(0x4L);
51
return jjMoveNfa_0(1, 0);
54
private final int jjMoveStringLiteralDfa1_0(long active0)
56
try { curChar = input_stream.readChar(); }
57
catch(java.io.IOException e) {
58
jjStopStringLiteralDfa_0(0, active0);
64
if ((active0 & 0x4L) != 0L)
65
return jjStopAtPos(1, 2);
70
return jjStartNfa_0(0, active0);
72
private final void jjCheckNAdd(int state)
74
if (jjrounds[state] != jjround)
76
jjstateSet[jjnewStateCnt++] = state;
77
jjrounds[state] = jjround;
80
private final void jjAddStates(int start, int end)
83
jjstateSet[jjnewStateCnt++] = jjnextStates[start];
84
} while (start++ != end);
86
private final void jjCheckNAddTwoStates(int state1, int state2)
91
private final void jjCheckNAddStates(int start, int end)
94
jjCheckNAdd(jjnextStates[start]);
95
} while (start++ != end);
97
private final void jjCheckNAddStates(int start)
99
jjCheckNAdd(jjnextStates[start]);
100
jjCheckNAdd(jjnextStates[start + 1]);
102
static final long[] jjbitVec0 = {
103
0xfffffffffffffffeL, 0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffffffffffffffL
105
static final long[] jjbitVec2 = {
106
0x0L, 0x0L, 0xffffffffffffffffL, 0xffffffffffffffffL
108
private final int jjMoveNfa_0(int startState, int curPos)
114
jjstateSet[0] = startState;
115
int j, kind = 0x7fffffff;
118
if (++jjround == 0x7fffffff)
122
long l = 1L << curChar;
125
switch(jjstateSet[--i])
128
if ((0xffffffefffffffffL & l) != 0L)
134
else if (curChar == 36)
142
if ((0xffffffefffffffffL & l) == 0L)
149
if ((0xffffffefffffffffL & l) == 0L)
157
} while(i != startsAt);
159
else if (curChar < 128)
161
long l = 1L << (curChar & 077);
164
switch(jjstateSet[--i])
173
if ((0xf7ffffffffffffffL & l) == 0L)
177
jjstateSet[jjnewStateCnt++] = 2;
181
} while(i != startsAt);
185
int hiByte = (int)(curChar >> 8);
186
int i1 = hiByte >> 6;
187
long l1 = 1L << (hiByte & 077);
188
int i2 = (curChar & 0xff) >> 6;
189
long l2 = 1L << (curChar & 077);
192
switch(jjstateSet[--i])
196
if (!jjCanMove_0(hiByte, i1, i2, l1, l2))
203
if (!jjCanMove_0(hiByte, i1, i2, l1, l2))
207
jjstateSet[jjnewStateCnt++] = 2;
211
} while(i != startsAt);
213
if (kind != 0x7fffffff)
215
jjmatchedKind = kind;
216
jjmatchedPos = curPos;
220
if ((i = jjnewStateCnt) == (startsAt = 3 - (jjnewStateCnt = startsAt)))
222
try { curChar = input_stream.readChar(); }
223
catch(java.io.IOException e) { return curPos; }
226
private final int jjStopStringLiteralDfa_1(int pos, long active0)
231
if ((active0 & 0x10000L) != 0L)
233
if ((active0 & 0x1568015547000L) != 0L)
240
if ((active0 & 0x400015540000L) != 0L)
242
if ((active0 & 0x1168000007000L) != 0L)
250
if ((active0 & 0x168000000000L) != 0L)
252
if ((active0 & 0x1000000007000L) != 0L)
260
if ((active0 & 0x1000000002000L) != 0L)
266
if ((active0 & 0x5000L) != 0L)
273
private final int jjStartNfa_1(int pos, long active0)
275
return jjMoveNfa_1(jjStopStringLiteralDfa_1(pos, active0), pos + 1);
277
private final int jjStartNfaWithStates_1(int pos, int kind, int state)
279
jjmatchedKind = kind;
281
try { curChar = input_stream.readChar(); }
282
catch(java.io.IOException e) { return pos + 1; }
283
return jjMoveNfa_1(state, pos + 1);
285
private final int jjMoveStringLiteralDfa0_1()
291
return jjMoveStringLiteralDfa1_1(0x8000000L);
293
return jjStopAtPos(0, 40);
295
return jjMoveStringLiteralDfa1_1(0x200000000000L);
297
return jjStopAtPos(0, 29);
299
return jjStopAtPos(0, 30);
301
return jjStopAtPos(0, 37);
303
return jjStopAtPos(0, 35);
305
return jjStopAtPos(0, 31);
307
return jjStopAtPos(0, 36);
309
return jjStartNfaWithStates_1(0, 16, 1);
311
return jjStopAtPos(0, 38);
313
return jjStopAtPos(0, 32);
316
return jjMoveStringLiteralDfa1_1(0x800000L);
318
return jjMoveStringLiteralDfa1_1(0x200000L);
321
return jjMoveStringLiteralDfa1_1(0x2000000L);
323
return jjStopAtPos(0, 49);
325
return jjStopAtPos(0, 33);
327
return jjStopAtPos(0, 34);
329
return jjMoveStringLiteralDfa1_1(0x100000000000L);
331
return jjMoveStringLiteralDfa1_1(0x8000000000L);
333
return jjMoveStringLiteralDfa1_1(0x1000000400000L);
335
return jjMoveStringLiteralDfa1_1(0x2000L);
337
return jjMoveStringLiteralDfa1_1(0x4040000L);
339
return jjMoveStringLiteralDfa1_1(0x1100000L);
341
return jjMoveStringLiteralDfa1_1(0x20000000000L);
343
return jjMoveStringLiteralDfa1_1(0x40010004000L);
345
return jjMoveStringLiteralDfa1_1(0x400000000000L);
347
return jjMoveStringLiteralDfa1_1(0x1000L);
349
return jjMoveStringLiteralDfa1_1(0x800000000000L);
351
return jjStopAtPos(0, 15);
353
return jjMoveNfa_1(0, 0);
356
private final int jjMoveStringLiteralDfa1_1(long active0)
358
try { curChar = input_stream.readChar(); }
359
catch(java.io.IOException e) {
360
jjStopStringLiteralDfa_1(0, active0);
366
if ((active0 & 0x200000000000L) != 0L)
367
return jjStopAtPos(1, 45);
370
if ((active0 & 0x200000L) != 0L)
371
return jjStopAtPos(1, 21);
372
else if ((active0 & 0x800000L) != 0L)
373
return jjStopAtPos(1, 23);
374
else if ((active0 & 0x2000000L) != 0L)
375
return jjStopAtPos(1, 25);
376
else if ((active0 & 0x8000000L) != 0L)
377
return jjStopAtPos(1, 27);
380
return jjMoveStringLiteralDfa2_1(active0, 0x2000L);
382
if ((active0 & 0x1000000L) != 0L)
383
return jjStartNfaWithStates_1(1, 24, 6);
384
else if ((active0 & 0x4000000L) != 0L)
385
return jjStartNfaWithStates_1(1, 26, 6);
386
else if ((active0 & 0x10000000L) != 0L)
387
return jjStartNfaWithStates_1(1, 28, 6);
390
return jjMoveStringLiteralDfa2_1(active0, 0x8000000000L);
392
return jjMoveStringLiteralDfa2_1(active0, 0x1000000000000L);
394
return jjMoveStringLiteralDfa2_1(active0, 0x100000000000L);
396
return jjMoveStringLiteralDfa2_1(active0, 0x60000000000L);
398
if ((active0 & 0x400000L) != 0L)
399
return jjStartNfaWithStates_1(1, 22, 6);
402
if ((active0 & 0x400000000000L) != 0L)
403
return jjStartNfaWithStates_1(1, 46, 6);
404
return jjMoveStringLiteralDfa2_1(active0, 0x1000L);
406
if ((active0 & 0x40000L) != 0L)
407
return jjStartNfaWithStates_1(1, 18, 6);
408
else if ((active0 & 0x100000L) != 0L)
409
return jjStartNfaWithStates_1(1, 20, 6);
412
return jjMoveStringLiteralDfa2_1(active0, 0x4000L);
414
if ((active0 & 0x800000000000L) != 0L)
415
return jjStopAtPos(1, 47);
420
return jjStartNfa_1(0, active0);
422
private final int jjMoveStringLiteralDfa2_1(long old0, long active0)
424
if (((active0 &= old0)) == 0L)
425
return jjStartNfa_1(0, old0);
426
try { curChar = input_stream.readChar(); }
427
catch(java.io.IOException e) {
428
jjStopStringLiteralDfa_1(1, active0);
434
if ((active0 & 0x20000000000L) != 0L)
435
return jjStartNfaWithStates_1(2, 41, 6);
436
else if ((active0 & 0x100000000000L) != 0L)
437
return jjStartNfaWithStates_1(2, 44, 6);
440
return jjMoveStringLiteralDfa3_1(active0, 0x6000L);
442
return jjMoveStringLiteralDfa3_1(active0, 0x1000000000000L);
444
if ((active0 & 0x40000000000L) != 0L)
445
return jjStartNfaWithStates_1(2, 42, 6);
448
return jjMoveStringLiteralDfa3_1(active0, 0x1000L);
450
if ((active0 & 0x8000000000L) != 0L)
451
return jjStartNfaWithStates_1(2, 39, 6);
456
return jjStartNfa_1(1, active0);
458
private final int jjMoveStringLiteralDfa3_1(long old0, long active0)
460
if (((active0 &= old0)) == 0L)
461
return jjStartNfa_1(1, old0);
462
try { curChar = input_stream.readChar(); }
463
catch(java.io.IOException e) {
464
jjStopStringLiteralDfa_1(2, active0);
470
if ((active0 & 0x1000L) != 0L)
471
return jjStartNfaWithStates_1(3, 12, 6);
474
if ((active0 & 0x4000L) != 0L)
475
return jjStartNfaWithStates_1(3, 14, 6);
478
return jjMoveStringLiteralDfa4_1(active0, 0x2000L);
480
return jjMoveStringLiteralDfa4_1(active0, 0x1000000000000L);
484
return jjStartNfa_1(2, active0);
486
private final int jjMoveStringLiteralDfa4_1(long old0, long active0)
488
if (((active0 &= old0)) == 0L)
489
return jjStartNfa_1(2, old0);
490
try { curChar = input_stream.readChar(); }
491
catch(java.io.IOException e) {
492
jjStopStringLiteralDfa_1(3, active0);
498
if ((active0 & 0x2000L) != 0L)
499
return jjStartNfaWithStates_1(4, 13, 6);
502
if ((active0 & 0x1000000000000L) != 0L)
503
return jjStartNfaWithStates_1(4, 48, 6);
508
return jjStartNfa_1(3, active0);
510
static final long[] jjbitVec3 = {
511
0x1ff00000fffffffeL, 0xffffffffffffc000L, 0xffffffffL, 0x600000000000000L
513
static final long[] jjbitVec4 = {
514
0x0L, 0x0L, 0x0L, 0xff7fffffff7fffffL
516
static final long[] jjbitVec5 = {
517
0x0L, 0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffffffffffffffL
519
static final long[] jjbitVec6 = {
520
0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffL, 0x0L
522
static final long[] jjbitVec7 = {
523
0xffffffffffffffffL, 0xffffffffffffffffL, 0x0L, 0x0L
525
static final long[] jjbitVec8 = {
526
0x3fffffffffffL, 0x0L, 0x0L, 0x0L
528
private final int jjMoveNfa_1(int startState, int curPos)
534
jjstateSet[0] = startState;
535
int j, kind = 0x7fffffff;
538
if (++jjround == 0x7fffffff)
542
long l = 1L << curChar;
545
switch(jjstateSet[--i])
548
if ((0x3ff000000000000L & l) != 0L)
552
jjCheckNAddStates(0, 4);
554
else if ((0x1800000000L & l) != 0L)
560
else if (curChar == 39)
561
jjCheckNAddStates(5, 9);
562
else if (curChar == 34)
563
jjCheckNAddStates(10, 14);
564
else if (curChar == 46)
568
if ((0x3ff000000000000L & l) == 0L)
572
jjCheckNAddTwoStates(1, 2);
575
if ((0x280000000000L & l) != 0L)
579
if ((0x3ff000000000000L & l) == 0L)
586
if ((0x1800000000L & l) == 0L)
593
if ((0x3ff001000000000L & l) == 0L)
600
if ((0x3ff000000000000L & l) == 0L)
604
jjCheckNAddStates(0, 4);
607
if ((0x3ff000000000000L & l) == 0L)
614
if ((0x3ff000000000000L & l) != 0L)
615
jjCheckNAddTwoStates(9, 10);
622
jjCheckNAddTwoStates(11, 12);
625
if ((0x3ff000000000000L & l) == 0L)
629
jjCheckNAddTwoStates(11, 12);
632
if ((0x280000000000L & l) != 0L)
636
if ((0x3ff000000000000L & l) == 0L)
643
if ((0x3ff000000000000L & l) != 0L)
644
jjCheckNAddTwoStates(15, 16);
647
if ((0x280000000000L & l) != 0L)
651
if ((0x3ff000000000000L & l) == 0L)
659
jjCheckNAddStates(10, 14);
662
if ((0xfffffffbffffffffL & l) != 0L)
663
jjCheckNAddStates(15, 17);
667
jjCheckNAddStates(15, 17);
670
if (curChar == 34 && kind > 10)
674
if ((0xfffffffbffffffffL & l) != 0L)
675
jjCheckNAddTwoStates(24, 25);
678
if ((0xfffffffbffffffffL & l) != 0L && kind > 11)
683
jjCheckNAddStates(5, 9);
686
if ((0xffffff7fffffffffL & l) != 0L)
687
jjCheckNAddStates(18, 20);
691
jjCheckNAddStates(18, 20);
694
if (curChar == 39 && kind > 10)
698
if ((0xffffff7fffffffffL & l) != 0L)
699
jjCheckNAddTwoStates(32, 33);
702
if ((0xffffff7fffffffffL & l) != 0L && kind > 11)
707
} while(i != startsAt);
709
else if (curChar < 128)
711
long l = 1L << (curChar & 077);
714
switch(jjstateSet[--i])
718
if ((0x7fffffe87fffffeL & l) == 0L)
725
if ((0x2000000020L & l) != 0L)
729
if ((0x2000000020L & l) != 0L)
733
if ((0x2000000020L & l) != 0L)
737
if ((0xffffffffefffffffL & l) != 0L)
738
jjCheckNAddStates(15, 17);
742
jjstateSet[jjnewStateCnt++] = 22;
746
jjCheckNAddStates(15, 17);
749
if ((0xffffffffefffffffL & l) != 0L)
754
jjstateSet[jjnewStateCnt++] = 26;
758
if ((0xffffffffefffffffL & l) != 0L && kind > 11)
762
if ((0xffffffffefffffffL & l) != 0L)
763
jjCheckNAddStates(18, 20);
767
jjstateSet[jjnewStateCnt++] = 30;
771
jjCheckNAddStates(18, 20);
774
if ((0xffffffffefffffffL & l) != 0L)
779
jjstateSet[jjnewStateCnt++] = 34;
783
} while(i != startsAt);
787
int hiByte = (int)(curChar >> 8);
788
int i1 = hiByte >> 6;
789
long l1 = 1L << (hiByte & 077);
790
int i2 = (curChar & 0xff) >> 6;
791
long l2 = 1L << (curChar & 077);
794
switch(jjstateSet[--i])
798
if (!jjCanMove_1(hiByte, i1, i2, l1, l2))
805
if (jjCanMove_0(hiByte, i1, i2, l1, l2))
809
if (jjCanMove_0(hiByte, i1, i2, l1, l2))
814
if (jjCanMove_0(hiByte, i1, i2, l1, l2) && kind > 11)
818
if (jjCanMove_0(hiByte, i1, i2, l1, l2))
822
if (jjCanMove_0(hiByte, i1, i2, l1, l2))
827
} while(i != startsAt);
829
if (kind != 0x7fffffff)
831
jjmatchedKind = kind;
832
jjmatchedPos = curPos;
836
if ((i = jjnewStateCnt) == (startsAt = 35 - (jjnewStateCnt = startsAt)))
838
try { curChar = input_stream.readChar(); }
839
catch(java.io.IOException e) { return curPos; }
842
static final int[] jjnextStates = {
843
8, 9, 10, 15, 16, 28, 29, 31, 32, 33, 20, 21, 23, 24, 25, 20,
844
21, 23, 28, 29, 31, 3, 4, 13, 14, 17, 18, 24, 25, 32, 33,
846
private static final boolean jjCanMove_0(int hiByte, int i1, int i2, long l1, long l2)
851
return ((jjbitVec2[i2] & l2) != 0L);
853
if ((jjbitVec0[i1] & l1) != 0L)
858
private static final boolean jjCanMove_1(int hiByte, int i1, int i2, long l1, long l2)
863
return ((jjbitVec4[i2] & l2) != 0L);
865
return ((jjbitVec5[i2] & l2) != 0L);
867
return ((jjbitVec6[i2] & l2) != 0L);
869
return ((jjbitVec7[i2] & l2) != 0L);
871
return ((jjbitVec8[i2] & l2) != 0L);
873
if ((jjbitVec3[i1] & l1) != 0L)
878
public static final String[] jjstrLiteralImages = {
879
"", null, "\44\173", null, null, null, null, null, null, null, null, null,
880
"\164\162\165\145", "\146\141\154\163\145", "\156\165\154\154", "\175", "\56", "\76", "\147\164",
881
"\74", "\154\164", "\75\75", "\145\161", "\74\75", "\154\145", "\76\75", "\147\145",
882
"\41\75", "\156\145", "\50", "\51", "\54", "\72", "\133", "\135", "\53", "\55", "\52",
883
"\57", "\144\151\166", "\45", "\155\157\144", "\156\157\164", "\41", "\141\156\144",
884
"\46\46", "\157\162", "\174\174", "\145\155\160\164\171", "\77", null, null, null, null,
886
public static final String[] lexStateNames = {
890
public static final int[] jjnewLexState = {
891
-1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1,
892
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
895
static final long[] jjtoToken = {
898
static final long[] jjtoSkip = {
901
private SimpleCharStream input_stream;
902
private final int[] jjrounds = new int[35];
903
private final int[] jjstateSet = new int[70];
904
protected char curChar;
905
public ELParserTokenManager(SimpleCharStream stream)
907
if (SimpleCharStream.staticFlag)
908
throw new Error("ERROR: Cannot use a static CharStream class with a non-static lexical analyzer.");
909
input_stream = stream;
911
public ELParserTokenManager(SimpleCharStream stream, int lexState)
916
public void ReInit(SimpleCharStream stream)
918
jjmatchedPos = jjnewStateCnt = 0;
919
curLexState = defaultLexState;
920
input_stream = stream;
923
private final void ReInitRounds()
926
jjround = 0x80000001;
927
for (i = 35; i-- > 0;)
928
jjrounds[i] = 0x80000000;
930
public void ReInit(SimpleCharStream stream, int lexState)
935
public void SwitchTo(int lexState)
937
if (lexState >= 2 || lexState < 0)
938
throw new TokenMgrError("Error: Ignoring invalid lexical state : " + lexState + ". State unchanged.", TokenMgrError.INVALID_LEXICAL_STATE);
940
curLexState = lexState;
943
private final Token jjFillToken()
945
Token t = Token.newToken(jjmatchedKind);
946
t.kind = jjmatchedKind;
947
String im = jjstrLiteralImages[jjmatchedKind];
948
t.image = (im == null) ? input_stream.GetImage() : im;
949
t.beginLine = input_stream.getBeginLine();
950
t.beginColumn = input_stream.getBeginColumn();
951
t.endLine = input_stream.getEndLine();
952
t.endColumn = input_stream.getEndColumn();
957
int defaultLexState = 0;
963
public final Token getNextToken()
966
Token specialToken = null;
975
curChar = input_stream.BeginToken();
977
catch(java.io.IOException e)
980
matchedToken = jjFillToken();
987
jjmatchedKind = 0x7fffffff;
989
curPos = jjMoveStringLiteralDfa0_0();
992
try { input_stream.backup(0);
993
while (curChar <= 32 && (0x100002600L & (1L << curChar)) != 0L)
994
curChar = input_stream.BeginToken();
996
catch (java.io.IOException e1) { continue EOFLoop; }
997
jjmatchedKind = 0x7fffffff;
999
curPos = jjMoveStringLiteralDfa0_1();
1000
if (jjmatchedPos == 0 && jjmatchedKind > 54)
1006
if (jjmatchedKind != 0x7fffffff)
1008
if (jjmatchedPos + 1 < curPos)
1009
input_stream.backup(curPos - jjmatchedPos - 1);
1010
if ((jjtoToken[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L)
1012
matchedToken = jjFillToken();
1013
if (jjnewLexState[jjmatchedKind] != -1)
1014
curLexState = jjnewLexState[jjmatchedKind];
1015
return matchedToken;
1019
if (jjnewLexState[jjmatchedKind] != -1)
1020
curLexState = jjnewLexState[jjmatchedKind];
1024
int error_line = input_stream.getEndLine();
1025
int error_column = input_stream.getEndColumn();
1026
String error_after = null;
1027
boolean EOFSeen = false;
1028
try { input_stream.readChar(); input_stream.backup(1); }
1029
catch (java.io.IOException e1) {
1031
error_after = curPos <= 1 ? "" : input_stream.GetImage();
1032
if (curChar == '\n' || curChar == '\r') {
1040
input_stream.backup(1);
1041
error_after = curPos <= 1 ? "" : input_stream.GetImage();
1043
throw new TokenMgrError(EOFSeen, curLexState, error_line, error_column, error_after, curChar, TokenMgrError.LEXICAL_ERROR);