KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > sun > el > parser > ELParserTokenManager


1 /*
2  * The contents of this file are subject to the terms
3  * of the Common Development and Distribution License
4  * (the "License"). You may not use this file except
5  * in compliance with the License.
6  *
7  * You can obtain a copy of the license at
8  * glassfish/bootstrap/legal/CDDLv1.0.txt or
9  * https://glassfish.dev.java.net/public/CDDLv1.0.html.
10  * See the License for the specific language governing
11  * permissions and limitations under the License.
12  *
13  * When distributing Covered Code, include this CDDL
14  * HEADER in each file and include the License file at
15  * glassfish/bootstrap/legal/CDDLv1.0.txt. If applicable,
16  * add the following below this CDDL HEADER, with the
17  * fields enclosed by brackets "[]" replaced with your
18  * own identifying information: Portions Copyright [yyyy]
19  * [name of copyright owner]
20  *
21  * Copyright 2005 Sun Microsystems, Inc. All rights reserved.
22  */
/* Generated By:JJTree&JavaCC: Do not edit this line. ELParserTokenManager.java */
23 package com.sun.el.parser;
24 import java.io.StringReader JavaDoc;
25 import javax.el.ELException;
26
27 public class ELParserTokenManager implements ELParserConstants
28 {
29   public java.io.PrintStream JavaDoc debugStream = System.out;
30   public void setDebugStream(java.io.PrintStream JavaDoc ds) { debugStream = ds; }
31 private final int jjStopStringLiteralDfa_0(int pos, long active0)
32 {
33    switch (pos)
34    {
35       case 0:
36          if ((active0 & 0x10L) != 0L)
37             return 2;
38          if ((active0 & 0x4L) != 0L)
39          {
40             jjmatchedKind = 1;
41             return 4;
42          }
43          if ((active0 & 0x8L) != 0L)
44          {
45             jjmatchedKind = 1;
46             return 6;
47          }
48          return -1;
49       default :
50          return -1;
51    }
52 }
53 private final int jjStartNfa_0(int pos, long active0)
54 {
55    return jjMoveNfa_0(jjStopStringLiteralDfa_0(pos, active0), pos + 1);
56 }
57 private final int jjStopAtPos(int pos, int kind)
58 {
59    jjmatchedKind = kind;
60    jjmatchedPos = pos;
61    return pos + 1;
62 }
63 private final int jjStartNfaWithStates_0(int pos, int kind, int state)
64 {
65    jjmatchedKind = kind;
66    jjmatchedPos = pos;
67    try { curChar = input_stream.readChar(); }
68    catch(java.io.IOException JavaDoc e) { return pos + 1; }
69    return jjMoveNfa_0(state, pos + 1);
70 }
71 private final int jjMoveStringLiteralDfa0_0()
72 {
73    switch(curChar)
74    {
75       case 35:
76          return jjMoveStringLiteralDfa1_0(0x8L);
77       case 36:
78          return jjMoveStringLiteralDfa1_0(0x4L);
79       case 92:
80          return jjStartNfaWithStates_0(0, 4, 2);
81       default :
82          return jjMoveNfa_0(7, 0);
83    }
84 }
85 private final int jjMoveStringLiteralDfa1_0(long active0)
86 {
87    try { curChar = input_stream.readChar(); }
88    catch(java.io.IOException JavaDoc e) {
89       jjStopStringLiteralDfa_0(0, active0);
90       return 1;
91    }
92    switch(curChar)
93    {
94       case 123:
95          if ((active0 & 0x4L) != 0L)
96             return jjStopAtPos(1, 2);
97          else if ((active0 & 0x8L) != 0L)
98             return jjStopAtPos(1, 3);
99          break;
100       default :
101          break;
102    }
103    return jjStartNfa_0(0, active0);
104 }
105 private final void jjCheckNAdd(int state)
106 {
107    if (jjrounds[state] != jjround)
108    {
109       jjstateSet[jjnewStateCnt++] = state;
110       jjrounds[state] = jjround;
111    }
112 }
113 private final void jjAddStates(int start, int end)
114 {
115    do {
116       jjstateSet[jjnewStateCnt++] = jjnextStates[start];
117    } while (start++ != end);
118 }
119 private final void jjCheckNAddTwoStates(int state1, int state2)
120 {
121    jjCheckNAdd(state1);
122    jjCheckNAdd(state2);
123 }
124 private final void jjCheckNAddStates(int start, int end)
125 {
126    do {
127       jjCheckNAdd(jjnextStates[start]);
128    } while (start++ != end);
129 }
130 private final void jjCheckNAddStates(int start)
131 {
132    jjCheckNAdd(jjnextStates[start]);
133    jjCheckNAdd(jjnextStates[start + 1]);
134 }
135 static final long[] jjbitVec0 = {
136    0xfffffffffffffffeL, 0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffffffffffffffL
137 };
138 static final long[] jjbitVec2 = {
139    0x0L, 0x0L, 0xffffffffffffffffL, 0xffffffffffffffffL
140 };
141 private final int jjMoveNfa_0(int startState, int curPos)
142 {
143    int[] nextStates;
144    int startsAt = 0;
145    jjnewStateCnt = 8;
146    int i = 1;
147    jjstateSet[0] = startState;
148    int j, kind = 0x7fffffff;
149    for (;;)
150    {
151       if (++jjround == 0x7fffffff)
152          ReInitRounds();
153       if (curChar < 64)
154       {
155          long l = 1L << curChar;
156          MatchLoop: do
157          {
158             switch(jjstateSet[--i])
159             {
160                case 7:
161                   if ((0xffffffe7ffffffffL & l) != 0L)
162                   {
163                      if (kind > 1)
164                         kind = 1;
165                      jjCheckNAddStates(0, 3);
166                   }
167                   else if ((0x1800000000L & l) != 0L)
168                   {
169                      if (kind > 1)
170                         kind = 1;
171                   }
172                   if (curChar == 35)
173                      jjstateSet[jjnewStateCnt++] = 6;
174                   else if (curChar == 36)
175                      jjstateSet[jjnewStateCnt++] = 4;
176                   break;
177                case 0:
178                   if ((0xffffffe7ffffffffL & l) == 0L)
179                      break;
180                   if (kind > 1)
181                      kind = 1;
182                   jjCheckNAddStates(0, 3);
183                   break;
184                case 2:
185                   if ((0x1800000000L & l) == 0L)
186                      break;
187                   if (kind > 1)
188                      kind = 1;
189                   jjCheckNAddStates(0, 3);
190                   break;
191                case 3:
192                   if (curChar == 36)
193                      jjstateSet[jjnewStateCnt++] = 4;
194                   break;
195                case 4:
196                   if ((0xffffffefffffffffL & l) == 0L)
197                      break;
198                   if (kind > 1)
199                      kind = 1;
200                   jjCheckNAddStates(0, 3);
201                   break;
202                case 5:
203                   if (curChar == 35)
204                      jjstateSet[jjnewStateCnt++] = 6;
205                   break;
206                case 6:
207                   if ((0xfffffff7ffffffffL & l) == 0L)
208                      break;
209                   if (kind > 1)
210                      kind = 1;
211                   jjCheckNAddStates(0, 3);
212                   break;
213                default : break;
214             }
215          } while(i != startsAt);
216       }
217       else if (curChar < 128)
218       {
219          long l = 1L << (curChar & 077);
220          MatchLoop: do
221          {
222             switch(jjstateSet[--i])
223             {
224                case 7:
225                   if ((0xffffffffefffffffL & l) != 0L)
226                   {
227                      if (kind > 1)
228                         kind = 1;
229                      jjCheckNAddStates(0, 3);
230                   }
231                   else if (curChar == 92)
232                      jjstateSet[jjnewStateCnt++] = 2;
233                   break;
234                case 0:
235                   if ((0xffffffffefffffffL & l) == 0L)
236                      break;
237                   if (kind > 1)
238                      kind = 1;
239                   jjCheckNAddStates(0, 3);
240                   break;
241                case 1:
242                   if (curChar == 92)
243                      jjstateSet[jjnewStateCnt++] = 2;
244                   break;
245                case 2:
246                   if (curChar != 92)
247                      break;
248                   if (kind > 1)
249                      kind = 1;
250                   jjCheckNAddStates(0, 3);
251                   break;
252                case 4:
253                case 6:
254                   if ((0xf7ffffffffffffffL & l) == 0L)
255                      break;
256                   if (kind > 1)
257                      kind = 1;
258                   jjCheckNAddStates(0, 3);
259                   break;
260                default : break;
261             }
262          } while(i != startsAt);
263       }
264       else
265       {
266          int hiByte = (int)(curChar >> 8);
267          int i1 = hiByte >> 6;
268          long l1 = 1L << (hiByte & 077);
269          int i2 = (curChar & 0xff) >> 6;
270          long l2 = 1L << (curChar & 077);
271          MatchLoop: do
272          {
273             switch(jjstateSet[--i])
274             {
275                case 7:
276                case 0:
277                case 4:
278                case 6:
279                   if (!jjCanMove_0(hiByte, i1, i2, l1, l2))
280                      break;
281                   if (kind > 1)
282                      kind = 1;
283                   jjCheckNAddStates(0, 3);
284                   break;
285                default : break;
286             }
287          } while(i != startsAt);
288       }
289       if (kind != 0x7fffffff)
290       {
291          jjmatchedKind = kind;
292          jjmatchedPos = curPos;
293          kind = 0x7fffffff;
294       }
295       ++curPos;
296       if ((i = jjnewStateCnt) == (startsAt = 8 - (jjnewStateCnt = startsAt)))
297          return curPos;
298       try { curChar = input_stream.readChar(); }
299       catch(java.io.IOException JavaDoc e) { return curPos; }
300    }
301 }
302 private final int jjStopStringLiteralDfa_1(int pos, long active0)
303 {
304    switch (pos)
305    {
306       case 0:
307          if ((active0 & 0x800000L) != 0L)
308             return 8;
309          if ((active0 & 0x40000L) != 0L)
310             return 1;
311          if ((active0 & 0x141d555401c000L) != 0L)
312          {
313             jjmatchedKind = 53;
314             return 6;
315          }
316          return -1;
317       case 1:
318          if ((active0 & 0x41554000000L) != 0L)
319             return 6;
320          if ((active0 & 0x1419400001c000L) != 0L)
321          {
322             jjmatchedKind = 53;
323             jjmatchedPos = 1;
324             return 6;
325          }
326          return -1;
327       case 2:
328          if ((active0 & 0x14014000000000L) != 0L)
329             return 6;
330          if ((active0 & 0x18000001c000L) != 0L)
331          {
332             jjmatchedKind = 53;
333             jjmatchedPos = 2;
334             return 6;
335          }
336          return -1;
337       case 3:
338          if ((active0 & 0x14000L) != 0L)
339             return 6;
340          if ((active0 & 0x180000008000L) != 0L)
341          {
342             jjmatchedKind = 53;
343             jjmatchedPos = 3;
344             return 6;
345          }
346          return -1;
347       case 4:
348          if ((active0 & 0x80000008000L) != 0L)
349             return 6;
350          if ((active0 & 0x100000000000L) != 0L)
351          {
352             jjmatchedKind = 53;
353             jjmatchedPos = 4;
354             return 6;
355          }
356          return -1;
357       case 5:
358          if ((active0 & 0x100000000000L) != 0L)
359          {
360             jjmatchedKind = 53;
361             jjmatchedPos = 5;
362             return 6;
363          }
364          return -1;
365       case 6:
366          if ((active0 & 0x100000000000L) != 0L)
367          {
368             jjmatchedKind = 53;
369             jjmatchedPos = 6;
370             return 6;
371          }
372          return -1;
373       case 7:
374          if ((active0 & 0x100000000000L) != 0L)
375          {
376             jjmatchedKind = 53;
377             jjmatchedPos = 7;
378             return 6;
379          }
380          return -1;
381       case 8:
382          if ((active0 & 0x100000000000L) != 0L)
383          {
384             jjmatchedKind = 53;
385             jjmatchedPos = 8;
386             return 6;
387          }
388          return -1;
389       default :
390          return -1;
391    }
392 }
393 private final int jjStartNfa_1(int pos, long active0)
394 {
395    return jjMoveNfa_1(jjStopStringLiteralDfa_1(pos, active0), pos + 1);
396 }
397 private final int jjStartNfaWithStates_1(int pos, int kind, int state)
398 {
399    jjmatchedKind = kind;
400    jjmatchedPos = pos;
401    try { curChar = input_stream.readChar(); }
402    catch(java.io.IOException JavaDoc e) { return pos + 1; }
403    return jjMoveNfa_1(state, pos + 1);
404 }
405 private final int jjMoveStringLiteralDfa0_1()
406 {
407    switch(curChar)
408    {
409       case 33:
410          jjmatchedKind = 37;
411          return jjMoveStringLiteralDfa1_1(0x800000000L);
412       case 37:
413          return jjStopAtPos(0, 51);
414       case 38:
415          return jjMoveStringLiteralDfa1_1(0x8000000000L);
416       case 40:
417          return jjStopAtPos(0, 19);
418       case 41:
419          return jjStopAtPos(0, 20);
420       case 42:
421          return jjStopAtPos(0, 45);
422       case 43:
423          return jjStopAtPos(0, 46);
424       case 44:
425          return jjStopAtPos(0, 24);
426       case 45:
427          return jjStopAtPos(0, 47);
428       case 46:
429          return jjStartNfaWithStates_1(0, 18, 1);
430       case 47:
431          return jjStopAtPos(0, 49);
432       case 58:
433          return jjStartNfaWithStates_1(0, 23, 8);
434       case 60:
435          jjmatchedKind = 27;
436          return jjMoveStringLiteralDfa1_1(0x80000000L);
437       case 61:
438          return jjMoveStringLiteralDfa1_1(0x200000000L);
439       case 62:
440          jjmatchedKind = 25;
441          return jjMoveStringLiteralDfa1_1(0x20000000L);
442       case 63:
443          return jjStopAtPos(0, 48);
444       case 91:
445          return jjStopAtPos(0, 21);
446       case 93:
447          return jjStopAtPos(0, 22);
448       case 97:
449          return jjMoveStringLiteralDfa1_1(0x10000000000L);
450       case 100:
451          return jjMoveStringLiteralDfa1_1(0x4000000000000L);
452       case 101:
453          return jjMoveStringLiteralDfa1_1(0x80400000000L);
454       case 102:
455          return jjMoveStringLiteralDfa1_1(0x8000L);
456       case 103:
457          return jjMoveStringLiteralDfa1_1(0x44000000L);
458       case 105:
459          return jjMoveStringLiteralDfa1_1(0x100000000000L);
460       case 108:
461          return jjMoveStringLiteralDfa1_1(0x110000000L);
462       case 109:
463          return jjMoveStringLiteralDfa1_1(0x10000000000000L);
464       case 110:
465          return jjMoveStringLiteralDfa1_1(0x5000010000L);
466       case 111:
467          return jjMoveStringLiteralDfa1_1(0x40000000000L);
468       case 116:
469          return jjMoveStringLiteralDfa1_1(0x4000L);
470       case 124:
471          return jjMoveStringLiteralDfa1_1(0x20000000000L);
472       case 125:
473          return jjStopAtPos(0, 17);
474       default :
475          return jjMoveNfa_1(0, 0);
476    }
477 }
478 private final int jjMoveStringLiteralDfa1_1(long active0)
479 {
480    try { curChar = input_stream.readChar(); }
481    catch(java.io.IOException JavaDoc e) {
482       jjStopStringLiteralDfa_1(0, active0);
483       return 1;
484    }
485    switch(curChar)
486    {
487       case 38:
488          if ((active0 & 0x8000000000L) != 0L)
489             return jjStopAtPos(1, 39);
490          break;
491       case 61:
492          if ((active0 & 0x20000000L) != 0L)
493             return jjStopAtPos(1, 29);
494          else if ((active0 & 0x80000000L) != 0L)
495             return jjStopAtPos(1, 31);
496          else if ((active0 & 0x200000000L) != 0L)
497             return jjStopAtPos(1, 33);
498          else if ((active0 & 0x800000000L) != 0L)
499             return jjStopAtPos(1, 35);
500          break;
501       case 97:
502          return jjMoveStringLiteralDfa2_1(active0, 0x8000L);
503       case 101:
504          if ((active0 & 0x40000000L) != 0L)
505             return jjStartNfaWithStates_1(1, 30, 6);
506          else if ((active0 & 0x100000000L) != 0L)
507             return jjStartNfaWithStates_1(1, 32, 6);
508          else if ((active0 & 0x1000000000L) != 0L)
509             return jjStartNfaWithStates_1(1, 36, 6);
510          break;
511       case 105:
512          return jjMoveStringLiteralDfa2_1(active0, 0x4000000000000L);
513       case 109:
514          return jjMoveStringLiteralDfa2_1(active0, 0x80000000000L);
515       case 110:
516          return jjMoveStringLiteralDfa2_1(active0, 0x110000000000L);
517       case 111:
518          return jjMoveStringLiteralDfa2_1(active0, 0x10004000000000L);
519       case 113:
520          if ((active0 & 0x400000000L) != 0L)
521             return jjStartNfaWithStates_1(1, 34, 6);
522          break;
523       case 114:
524          if ((active0 & 0x40000000000L) != 0L)
525             return jjStartNfaWithStates_1(1, 42, 6);
526          return jjMoveStringLiteralDfa2_1(active0, 0x4000L);
527       case 116:
528          if ((active0 & 0x4000000L) != 0L)
529             return jjStartNfaWithStates_1(1, 26, 6);
530          else if ((active0 & 0x10000000L) != 0L)
531             return jjStartNfaWithStates_1(1, 28, 6);
532          break;
533       case 117:
534          return jjMoveStringLiteralDfa2_1(active0, 0x10000L);
535       case 124:
536          if ((active0 & 0x20000000000L) != 0L)
537             return jjStopAtPos(1, 41);
538          break;
539       default :
540          break;
541    }
542    return jjStartNfa_1(0, active0);
543 }
544 private final int jjMoveStringLiteralDfa2_1(long old0, long active0)
545 {
546    if (((active0 &= old0)) == 0L)
547       return jjStartNfa_1(0, old0);
548    try { curChar = input_stream.readChar(); }
549    catch(java.io.IOException JavaDoc e) {
550       jjStopStringLiteralDfa_1(1, active0);
551       return 2;
552    }
553    switch(curChar)
554    {
555       case 100:
556          if ((active0 & 0x10000000000L) != 0L)
557             return jjStartNfaWithStates_1(2, 40, 6);
558          else if ((active0 & 0x10000000000000L) != 0L)
559             return jjStartNfaWithStates_1(2, 52, 6);
560          break;
561       case 108:
562          return jjMoveStringLiteralDfa3_1(active0, 0x18000L);
563       case 112:
564          return jjMoveStringLiteralDfa3_1(active0, 0x80000000000L);
565       case 115:
566          return jjMoveStringLiteralDfa3_1(active0, 0x100000000000L);
567       case 116:
568          if ((active0 & 0x4000000000L) != 0L)
569             return jjStartNfaWithStates_1(2, 38, 6);
570          break;
571       case 117:
572          return jjMoveStringLiteralDfa3_1(active0, 0x4000L);
573       case 118:
574          if ((active0 & 0x4000000000000L) != 0L)
575             return jjStartNfaWithStates_1(2, 50, 6);
576          break;
577       default :
578          break;
579    }
580    return jjStartNfa_1(1, active0);
581 }
582 private final int jjMoveStringLiteralDfa3_1(long old0, long active0)
583 {
584    if (((active0 &= old0)) == 0L)
585       return jjStartNfa_1(1, old0);
586    try { curChar = input_stream.readChar(); }
587    catch(java.io.IOException JavaDoc e) {
588       jjStopStringLiteralDfa_1(2, active0);
589       return 3;
590    }
591    switch(curChar)
592    {
593       case 101:
594          if ((active0 & 0x4000L) != 0L)
595             return jjStartNfaWithStates_1(3, 14, 6);
596          break;
597       case 108:
598          if ((active0 & 0x10000L) != 0L)
599             return jjStartNfaWithStates_1(3, 16, 6);
600          break;
601       case 115:
602          return jjMoveStringLiteralDfa4_1(active0, 0x8000L);
603       case 116:
604          return jjMoveStringLiteralDfa4_1(active0, 0x180000000000L);
605       default :
606          break;
607    }
608    return jjStartNfa_1(2, active0);
609 }
610 private final int jjMoveStringLiteralDfa4_1(long old0, long active0)
611 {
612    if (((active0 &= old0)) == 0L)
613       return jjStartNfa_1(2, old0);
614    try { curChar = input_stream.readChar(); }
615    catch(java.io.IOException JavaDoc e) {
616       jjStopStringLiteralDfa_1(3, active0);
617       return 4;
618    }
619    switch(curChar)
620    {
621       case 97:
622          return jjMoveStringLiteralDfa5_1(active0, 0x100000000000L);
623       case 101:
624          if ((active0 & 0x8000L) != 0L)
625             return jjStartNfaWithStates_1(4, 15, 6);
626          break;
627       case 121:
628          if ((active0 & 0x80000000000L) != 0L)
629             return jjStartNfaWithStates_1(4, 43, 6);
630          break;
631       default :
632          break;
633    }
634    return jjStartNfa_1(3, active0);
635 }
636 private final int jjMoveStringLiteralDfa5_1(long old0, long active0)
637 {
638    if (((active0 &= old0)) == 0L)
639       return jjStartNfa_1(3, old0);
640    try { curChar = input_stream.readChar(); }
641    catch(java.io.IOException JavaDoc e) {
642       jjStopStringLiteralDfa_1(4, active0);
643       return 5;
644    }
645    switch(curChar)
646    {
647       case 110:
648          return jjMoveStringLiteralDfa6_1(active0, 0x100000000000L);
649       default :
650          break;
651    }
652    return jjStartNfa_1(4, active0);
653 }
654 private final int jjMoveStringLiteralDfa6_1(long old0, long active0)
655 {
656    if (((active0 &= old0)) == 0L)
657       return jjStartNfa_1(4, old0);
658    try { curChar = input_stream.readChar(); }
659    catch(java.io.IOException JavaDoc e) {
660       jjStopStringLiteralDfa_1(5, active0);
661       return 6;
662    }
663    switch(curChar)
664    {
665       case 99:
666          return jjMoveStringLiteralDfa7_1(active0, 0x100000000000L);
667       default :
668          break;
669    }
670    return jjStartNfa_1(5, active0);
671 }
672 private final int jjMoveStringLiteralDfa7_1(long old0, long active0)
673 {
674    if (((active0 &= old0)) == 0L)
675       return jjStartNfa_1(5, old0);
676    try { curChar = input_stream.readChar(); }
677    catch(java.io.IOException JavaDoc e) {
678       jjStopStringLiteralDfa_1(6, active0);
679       return 7;
680    }
681    switch(curChar)
682    {
683       case 101:
684          return jjMoveStringLiteralDfa8_1(active0, 0x100000000000L);
685       default :
686          break;
687    }
688    return jjStartNfa_1(6, active0);
689 }
690 private final int jjMoveStringLiteralDfa8_1(long old0, long active0)
691 {
692    if (((active0 &= old0)) == 0L)
693       return jjStartNfa_1(6, old0);
694    try { curChar = input_stream.readChar(); }
695    catch(java.io.IOException JavaDoc e) {
696       jjStopStringLiteralDfa_1(7, active0);
697       return 8;
698    }
699    switch(curChar)
700    {
701       case 111:
702          return jjMoveStringLiteralDfa9_1(active0, 0x100000000000L);
703       default :
704          break;
705    }
706    return jjStartNfa_1(7, active0);
707 }
708 private final int jjMoveStringLiteralDfa9_1(long old0, long active0)
709 {
710    if (((active0 &= old0)) == 0L)
711       return jjStartNfa_1(7, old0);
712    try { curChar = input_stream.readChar(); }
713    catch(java.io.IOException JavaDoc e) {
714       jjStopStringLiteralDfa_1(8, active0);
715       return 9;
716    }
717    switch(curChar)
718    {
719       case 102:
720          if ((active0 & 0x100000000000L) != 0L)
721             return jjStartNfaWithStates_1(9, 44, 6);
722          break;
723       default :
724          break;
725    }
726    return jjStartNfa_1(8, active0);
727 }
728 static final long[] jjbitVec3 = {
729    0x1ff00000fffffffeL, 0xffffffffffffc000L, 0xffffffffL, 0x600000000000000L
730 };
731 static final long[] jjbitVec4 = {
732    0x0L, 0x0L, 0x0L, 0xff7fffffff7fffffL
733 };
734 static final long[] jjbitVec5 = {
735    0x0L, 0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffffffffffffffL
736 };
737 static final long[] jjbitVec6 = {
738    0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffL, 0x0L
739 };
740 static final long[] jjbitVec7 = {
741    0xffffffffffffffffL, 0xffffffffffffffffL, 0x0L, 0x0L
742 };
743 static final long[] jjbitVec8 = {
744    0x3fffffffffffL, 0x0L, 0x0L, 0x0L
745 };
746 private final int jjMoveNfa_1(int startState, int curPos)
747 {
748    int[] nextStates;
749    int startsAt = 0;
750    jjnewStateCnt = 38;
751    int i = 1;
752    jjstateSet[0] = startState;
753    int j, kind = 0x7fffffff;
754    for (;;)
755    {
756       if (++jjround == 0x7fffffff)
757          ReInitRounds();
758       if (curChar < 64)
759       {
760          long l = 1L << curChar;
761          MatchLoop: do
762          {
763             switch(jjstateSet[--i])
764             {
765                case 0:
766                   if ((0x3ff000000000000L & l) != 0L)
767                   {
768                      if (kind > 9)
769                         kind = 9;
770                      jjCheckNAddStates(4, 8);
771                   }
772                   else if ((0x1800000000L & l) != 0L)
773                   {
774                      if (kind > 53)
775                         kind = 53;
776                      jjCheckNAdd(6);
777                   }
778                   else if (curChar == 39)
779                      jjCheckNAddStates(9, 13);
780                   else if (curChar == 34)
781                      jjCheckNAddStates(14, 18);
782                   else if (curChar == 58)
783                      jjstateSet[jjnewStateCnt++] = 8;
784                   else if (curChar == 46)
785                      jjCheckNAdd(1);
786                   break;
787                case 1:
788                   if ((0x3ff000000000000L & l) == 0L)
789                      break;
790                   if (kind > 10)
791                      kind = 10;
792                   jjCheckNAddTwoStates(1, 2);
793                   break;
794                case 3:
795                   if ((0x280000000000L & l) != 0L)
796                      jjCheckNAdd(4);
797                   break;
798                case 4:
799                   if ((0x3ff000000000000L & l) == 0L)
800                      break;
801                   if (kind > 10)
802                      kind = 10;
803                   jjCheckNAdd(4);
804                   break;
805                case 5:
806                   if ((0x1800000000L & l) == 0L)
807                      break;
808                   if (kind > 53)
809                      kind = 53;
810                   jjCheckNAdd(6);
811                   break;
812                case 6:
813                   if ((0x3ff001000000000L & l) == 0L)
814                      break;
815                   if (kind > 53)
816                      kind = 53;
817                   jjCheckNAdd(6);
818                   break;
819                case 7:
820                   if (curChar == 58)
821                      jjstateSet[jjnewStateCnt++] = 8;
822                   break;
823                case 8:
824                   if ((0x1800000000L & l) == 0L)
825                      break;
826                   if (kind > 54)
827                      kind = 54;
828                   jjCheckNAdd(9);
829                   break;
830                case 9:
831                   if ((0x3ff001000000000L & l) == 0L)
832                      break;
833                   if (kind > 54)
834                      kind = 54;
835                   jjCheckNAdd(9);
836                   break;
837                case 10:
838                   if ((0x3ff000000000000L & l) == 0L)
839                      break;
840                   if (kind > 9)
841                      kind = 9;
842                   jjCheckNAddStates(4, 8);
843                   break;
844                case 11:
845                   if ((0x3ff000000000000L & l) == 0L)
846                      break;
847                   if (kind > 9)
848                      kind = 9;
849                   jjCheckNAdd(11);
850                   break;
851                case 12:
852                   if ((0x3ff000000000000L & l) != 0L)
853                      jjCheckNAddTwoStates(12, 13);
854                   break;
855                case 13:
856                   if (curChar != 46)
857                      break;
858                   if (kind > 10)
859                      kind = 10;
860                   jjCheckNAddTwoStates(14, 15);
861                   break;
862                case 14:
863                   if ((0x3ff000000000000L & l) == 0L)
864                      break;
865                   if (kind > 10)
866                      kind = 10;
867                   jjCheckNAddTwoStates(14, 15);
868                   break;
869                case 16:
870                   if ((0x280000000000L & l) != 0L)
871                      jjCheckNAdd(17);
872                   break;
873                case 17:
874                   if ((0x3ff000000000000L & l) == 0L)
875                      break;
876                   if (kind > 10)
877                      kind = 10;
878                   jjCheckNAdd(17);
879                   break;
880                case 18:
881                   if ((0x3ff000000000000L & l) != 0L)
882                      jjCheckNAddTwoStates(18, 19);
883                   break;
884                case 20:
885                   if ((0x280000000000L & l) != 0L)
886                      jjCheckNAdd(21);
887                   break;
888                case 21:
889                   if ((0x3ff000000000000L & l) == 0L)
890                      break;
891                   if (kind > 10)
892                      kind = 10;
893                   jjCheckNAdd(21);
894                   break;
895                case 22:
896                   if (curChar == 34)
897                      jjCheckNAddStates(14, 18);
898                   break;
899                case 23:
900                   if ((0xfffffffbffffffffL & l) != 0L)
901                      jjCheckNAddStates(19, 21);
902                   break;
903                case 25:
904                   if (curChar == 34)
905                      jjCheckNAddStates(19, 21);
906                   break;
907                case 26:
908                   if (curChar == 34 && kind > 12)
909                      kind = 12;
910                   break;
911                case 27:
912                   if ((0xfffffffbffffffffL & l) != 0L)
913                      jjCheckNAddTwoStates(27, 28);
914                   break;
915                case 29:
916                   if ((0xfffffffbffffffffL & l) != 0L && kind > 13)
917                      kind = 13;
918                   break;
919                case 30:
920                   if (curChar == 39)
921                      jjCheckNAddStates(9, 13);
922                   break;
923                case 31:
924                   if ((0xffffff7fffffffffL & l) != 0L)
925                      jjCheckNAddStates(22, 24);
926                   break;
927                case 33:
928                   if (curChar == 39)
929                      jjCheckNAddStates(22, 24);
930                   break;
931                case 34:
932                   if (curChar == 39 && kind > 12)
933                      kind = 12;
934                   break;
935                case 35:
936                   if ((0xffffff7fffffffffL & l) != 0L)
937                      jjCheckNAddTwoStates(35, 36);
938                   break;
939                case 37:
940                   if ((0xffffff7fffffffffL & l) != 0L && kind > 13)
941                      kind = 13;
942                   break;
943                default : break;
944             }
945          } while(i != startsAt);
946       }
947       else if (curChar < 128)
948       {
949          long l = 1L << (curChar & 077);
950          MatchLoop: do
951          {
952             switch(jjstateSet[--i])
953             {
954                case 0:
955                case 6:
956                   if ((0x7fffffe87fffffeL & l) == 0L)
957                      break;
958                   if (kind > 53)
959                      kind = 53;
960                   jjCheckNAdd(6);
961                   break;
962                case 2:
963                   if ((0x2000000020L & l) != 0L)
964                      jjAddStates(25, 26);
965                   break;
966                case 8:
967                case 9:
968                   if ((0x7fffffe87fffffeL & l) == 0L)
969                      break;
970                   if (kind > 54)
971                      kind = 54;
972                   jjCheckNAdd(9);
973                   break;
974                case 15:
975                   if ((0x2000000020L & l) != 0L)
976                      jjAddStates(27, 28);
977                   break;
978                case 19:
979                   if ((0x2000000020L & l) != 0L)
980                      jjAddStates(29, 30);
981                   break;
982                case 23:
983                   if ((0xffffffffefffffffL & l) != 0L)
984                      jjCheckNAddStates(19, 21);
985                   break;
986                case 24:
987                   if (curChar == 92)
988                      jjstateSet[jjnewStateCnt++] = 25;
989                   break;
990                case 25:
991                   if (curChar == 92)
992                      jjCheckNAddStates(19, 21);
993                   break;
994                case 27:
995                   if ((0xffffffffefffffffL & l) != 0L)
996                      jjAddStates(31, 32);
997                   break;
998                case 28:
999                   if (curChar == 92)
1000                     jjstateSet[jjnewStateCnt++] = 29;
1001                  break;
1002               case 29:
1003               case 37:
1004                  if ((0xffffffffefffffffL & l) != 0L && kind > 13)
1005                     kind = 13;
1006                  break;
1007               case 31:
1008                  if ((0xffffffffefffffffL & l) != 0L)
1009                     jjCheckNAddStates(22, 24);
1010                  break;
1011               case 32:
1012                  if (curChar == 92)
1013                     jjstateSet[jjnewStateCnt++] = 33;
1014                  break;
1015               case 33:
1016                  if (curChar == 92)
1017                     jjCheckNAddStates(22, 24);
1018                  break;
1019               case 35:
1020                  if ((0xffffffffefffffffL & l) != 0L)
1021                     jjAddStates(33, 34);
1022                  break;
1023               case 36:
1024                  if (curChar == 92)
1025                     jjstateSet[jjnewStateCnt++] = 37;
1026                  break;
1027               default : break;
1028            }
1029         } while(i != startsAt);
1030      }
1031      else
1032      {
1033         int hiByte = (int)(curChar >> 8);
1034         int i1 = hiByte >> 6;
1035         long l1 = 1L << (hiByte & 077);
1036         int i2 = (curChar & 0xff) >> 6;
1037         long l2 = 1L << (curChar & 077);
1038         MatchLoop: do
1039         {
1040            switch(jjstateSet[--i])
1041            {
1042               case 0:
1043               case 6:
1044                  if (!jjCanMove_1(hiByte, i1, i2, l1, l2))
1045                     break;
1046                  if (kind > 53)
1047                     kind = 53;
1048                  jjCheckNAdd(6);
1049                  break;
1050               case 8:
1051               case 9:
1052                  if (!jjCanMove_1(hiByte, i1, i2, l1, l2))
1053                     break;
1054                  if (kind > 54)
1055                     kind = 54;
1056                  jjCheckNAdd(9);
1057                  break;
1058               case 23:
1059                  if (jjCanMove_0(hiByte, i1, i2, l1, l2))
1060                     jjAddStates(19, 21);
1061                  break;
1062               case 27:
1063                  if (jjCanMove_0(hiByte, i1, i2, l1, l2))
1064                     jjAddStates(31, 32);
1065                  break;
1066               case 29:
1067               case 37:
1068                  if (jjCanMove_0(hiByte, i1, i2, l1, l2) && kind > 13)
1069                     kind = 13;
1070                  break;
1071               case 31:
1072                  if (jjCanMove_0(hiByte, i1, i2, l1, l2))
1073                     jjAddStates(22, 24);
1074                  break;
1075               case 35:
1076                  if (jjCanMove_0(hiByte, i1, i2, l1, l2))
1077                     jjAddStates(33, 34);
1078                  break;
1079               default : break;
1080            }
1081         } while(i != startsAt);
1082      }
1083      if (kind != 0x7fffffff)
1084      {
1085         jjmatchedKind = kind;
1086         jjmatchedPos = curPos;
1087         kind = 0x7fffffff;
1088      }
1089      ++curPos;
1090      if ((i = jjnewStateCnt) == (startsAt = 38 - (jjnewStateCnt = startsAt)))
1091         return curPos;
1092      try { curChar = input_stream.readChar(); }
1093      catch(java.io.IOException JavaDoc e) { return curPos; }
1094   }
1095}
1096static final int[] jjnextStates = {
1097   0, 1, 3, 5, 11, 12, 13, 18, 19, 31, 32, 34, 35, 36, 23, 24,
1098   26, 27, 28, 23, 24, 26, 31, 32, 34, 3, 4, 16, 17, 20, 21, 27,
1099   28, 35, 36,
1100};
1101private static final boolean jjCanMove_0(int hiByte, int i1, int i2, long l1, long l2)
1102{
1103   switch(hiByte)
1104   {
1105      case 0:
1106         return ((jjbitVec2[i2] & l2) != 0L);
1107      default :
1108         if ((jjbitVec0[i1] & l1) != 0L)
1109            return true;
1110         return false;
1111   }
1112}
1113private static final boolean jjCanMove_1(int hiByte, int i1, int i2, long l1, long l2)
1114{
1115   switch(hiByte)
1116   {
1117      case 0:
1118         return ((jjbitVec4[i2] & l2) != 0L);
1119      case 48:
1120         return ((jjbitVec5[i2] & l2) != 0L);
1121      case 49:
1122         return ((jjbitVec6[i2] & l2) != 0L);
1123      case 51:
1124         return ((jjbitVec7[i2] & l2) != 0L);
1125      case 61:
1126         return ((jjbitVec8[i2] & l2) != 0L);
1127      default :
1128         if ((jjbitVec3[i1] & l1) != 0L)
1129            return true;
1130         return false;
1131   }
1132}
1133public static final String JavaDoc[] jjstrLiteralImages = {
1134"", null, "\44\173", "\43\173", null, null, null, null, null, null, null, null,
1135null, null, "\164\162\165\145", "\146\141\154\163\145", "\156\165\154\154", "\175",
1136"\56", "\50", "\51", "\133", "\135", "\72", "\54", "\76", "\147\164", "\74",
1137"\154\164", "\76\75", "\147\145", "\74\75", "\154\145", "\75\75", "\145\161", "\41\75",
1138"\156\145", "\41", "\156\157\164", "\46\46", "\141\156\144", "\174\174", "\157\162",
1139"\145\155\160\164\171", "\151\156\163\164\141\156\143\145\157\146", "\52", "\53", "\55", "\77", "\57",
1140"\144\151\166", "\45", "\155\157\144", null, null, null, null, null, null, };
1141public static final String JavaDoc[] lexStateNames = {
1142   "DEFAULT",
1143   "IN_EXPRESSION",
1144};
1145public static final int[] jjnewLexState = {
1146   -1, -1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1,
1147   -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,
1148   -1, -1, -1, -1, -1, -1, -1, -1, -1,
1149};
1150static final long[] jjtoToken = {
1151   0x47ffffffffff60fL,
1152};
1153static final long[] jjtoSkip = {
1154   0x1f0L,
1155};
1156protected SimpleCharStream input_stream;
1157private final int[] jjrounds = new int[38];
1158private final int[] jjstateSet = new int[76];
1159protected char curChar;
1160public ELParserTokenManager(SimpleCharStream stream)
1161{
1162   if (SimpleCharStream.staticFlag)
1163      throw new Error JavaDoc("ERROR: Cannot use a static CharStream class with a non-static lexical analyzer.");
1164   input_stream = stream;
1165}
1166public ELParserTokenManager(SimpleCharStream stream, int lexState)
1167{
1168   this(stream);
1169   SwitchTo(lexState);
1170}
1171public void ReInit(SimpleCharStream stream)
1172{
1173   jjmatchedPos = jjnewStateCnt = 0;
1174   curLexState = defaultLexState;
1175   input_stream = stream;
1176   ReInitRounds();
1177}
1178private final void ReInitRounds()
1179{
1180   int i;
1181   jjround = 0x80000001;
1182   for (i = 38; i-- > 0;)
1183      jjrounds[i] = 0x80000000;
1184}
1185public void ReInit(SimpleCharStream stream, int lexState)
1186{
1187   ReInit(stream);
1188   SwitchTo(lexState);
1189}
1190public void SwitchTo(int lexState)
1191{
1192   if (lexState >= 2 || lexState < 0)
1193      throw new TokenMgrError("Error: Ignoring invalid lexical state : " + lexState + ". State unchanged.", TokenMgrError.INVALID_LEXICAL_STATE);
1194   else
1195      curLexState = lexState;
1196}
1197
1198protected Token jjFillToken()
1199{
1200   Token t = Token.newToken(jjmatchedKind);
1201   t.kind = jjmatchedKind;
1202   String JavaDoc im = jjstrLiteralImages[jjmatchedKind];
1203   t.image = (im == null) ? input_stream.GetImage() : im;
1204   t.beginLine = input_stream.getBeginLine();
1205   t.beginColumn = input_stream.getBeginColumn();
1206   t.endLine = input_stream.getEndLine();
1207   t.endColumn = input_stream.getEndColumn();
1208   return t;
1209}
1210
1211int curLexState = 0;
1212int defaultLexState = 0;
1213int jjnewStateCnt;
1214int jjround;
1215int jjmatchedPos;
1216int jjmatchedKind;
1217
1218public Token getNextToken()
1219{
1220  int kind;
1221  Token specialToken = null;
1222  Token matchedToken;
1223  int curPos = 0;
1224
1225  EOFLoop :
1226  for (;;)
1227  {
1228   try
1229   {
1230      curChar = input_stream.BeginToken();
1231   }
1232   catch(java.io.IOException JavaDoc e)
1233   {
1234      jjmatchedKind = 0;
1235      matchedToken = jjFillToken();
1236      return matchedToken;
1237   }
1238
1239   switch(curLexState)
1240   {
1241     case 0:
1242       jjmatchedKind = 0x7fffffff;
1243       jjmatchedPos = 0;
1244       curPos = jjMoveStringLiteralDfa0_0();
1245       break;
1246     case 1:
1247       try { input_stream.backup(0);
1248          while (curChar <= 32 && (0x100002600L & (1L << curChar)) != 0L)
1249             curChar = input_stream.BeginToken();
1250       }
1251       catch (java.io.IOException JavaDoc e1) { continue EOFLoop; }
1252       jjmatchedKind = 0x7fffffff;
1253       jjmatchedPos = 0;
1254       curPos = jjMoveStringLiteralDfa0_1();
1255       if (jjmatchedPos == 0 && jjmatchedKind > 58)
1256       {
1257          jjmatchedKind = 58;
1258       }
1259       break;
1260   }
1261     if (jjmatchedKind != 0x7fffffff)
1262     {
1263        if (jjmatchedPos + 1 < curPos)
1264           input_stream.backup(curPos - jjmatchedPos - 1);
1265        if ((jjtoToken[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L)
1266        {
1267           matchedToken = jjFillToken();
1268       if (jjnewLexState[jjmatchedKind] != -1)
1269         curLexState = jjnewLexState[jjmatchedKind];
1270           return matchedToken;
1271        }
1272        else
1273        {
1274         if (jjnewLexState[jjmatchedKind] != -1)
1275           curLexState = jjnewLexState[jjmatchedKind];
1276           continue EOFLoop;
1277        }
1278     }
1279     int error_line = input_stream.getEndLine();
1280     int error_column = input_stream.getEndColumn();
1281     String JavaDoc error_after = null;
1282     boolean EOFSeen = false;
1283     try { input_stream.readChar(); input_stream.backup(1); }
1284     catch (java.io.IOException JavaDoc e1) {
1285        EOFSeen = true;
1286        error_after = curPos <= 1 ? "" : input_stream.GetImage();
1287        if (curChar == '\n' || curChar == '\r') {
1288           error_line++;
1289           error_column = 0;
1290        }
1291        else
1292           error_column++;
1293     }
1294     if (!EOFSeen) {
1295        input_stream.backup(1);
1296        error_after = curPos <= 1 ? "" : input_stream.GetImage();
1297     }
1298     throw new TokenMgrError(EOFSeen, curLexState, error_line, error_column, error_after, curChar, TokenMgrError.LEXICAL_ERROR);
1299  }
1300}
1301
1302}
1303
Popular Tags