You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by dw...@apache.org on 2008/08/21 17:49:38 UTC
svn commit: r687787 [2/3] - in
/geronimo/server/branches/2.1/repository/org/apache/tomcat: ./
catalina/6.0.18-G678601/ jasper-el/6.0.18-G678601/ jasper/6.0.18-G678601/
Added: geronimo/server/branches/2.1/repository/org/apache/tomcat/ELParser-6.0.18.patch
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.1/repository/org/apache/tomcat/ELParser-6.0.18.patch?rev=687787&view=auto
==============================================================================
--- geronimo/server/branches/2.1/repository/org/apache/tomcat/ELParser-6.0.18.patch (added)
+++ geronimo/server/branches/2.1/repository/org/apache/tomcat/ELParser-6.0.18.patch Thu Aug 21 08:49:36 2008
@@ -0,0 +1,3988 @@
+Index: java/org/apache/el/parser/ELParser.html
+===================================================================
+--- java/org/apache/el/parser/ELParser.html (revision 685950)
++++ java/org/apache/el/parser/ELParser.html (working copy)
+@@ -51,7 +51,7 @@
+ <TR>
+ <TD ALIGN=RIGHT VALIGN=BASELINE><A NAME="prod6">Choice</A></TD>
+ <TD ALIGN=CENTER VALIGN=BASELINE>::=</TD>
+-<TD ALIGN=LEFT VALIGN=BASELINE><A HREF="#prod7">Or</A> ( <QUESTIONMARK> <A HREF="#prod6">Choice</A> <COLON> <A HREF="#prod6">Choice</A> )*</TD>
++<TD ALIGN=LEFT VALIGN=BASELINE><A HREF="#prod7">Or</A> ( <QUESTIONMARK> <A HREF="#prod7">Or</A> <COLON> <A HREF="#prod6">Choice</A> )*</TD>
+ </TR>
+ <TR>
+ <TD ALIGN=RIGHT VALIGN=BASELINE><A NAME="prod7">Or</A></TD>
+Index: java/org/apache/el/parser/ELParserTokenManager.java
+===================================================================
+--- java/org/apache/el/parser/ELParserTokenManager.java (revision 685950)
++++ java/org/apache/el/parser/ELParserTokenManager.java (working copy)
+@@ -16,1398 +16,1404 @@
+ */
+ /* Generated By:JJTree&JavaCC: Do not edit this line. ELParserTokenManager.java */
+ package org.apache.el.parser;
+-import java.io.StringReader;
+-import javax.el.ELException;
+
+-public class ELParserTokenManager implements ELParserConstants
+-{
+- public java.io.PrintStream debugStream = System.out;
+- public void setDebugStream(java.io.PrintStream ds) { debugStream = ds; }
+-private final int jjStopStringLiteralDfa_0(int pos, long active0)
+-{
+- switch (pos)
+- {
+- case 0:
+- if ((active0 & 0x10L) != 0L)
+- return 2;
+- if ((active0 & 0x4L) != 0L)
+- {
+- jjmatchedKind = 1;
+- return 4;
+- }
+- if ((active0 & 0x8L) != 0L)
+- {
+- jjmatchedKind = 1;
+- return 6;
+- }
+- return -1;
+- default :
+- return -1;
+- }
+-}
+-private final int jjStartNfa_0(int pos, long active0)
+-{
+- return jjMoveNfa_0(jjStopStringLiteralDfa_0(pos, active0), pos + 1);
+-}
+-private final int jjStopAtPos(int pos, int kind)
+-{
+- jjmatchedKind = kind;
+- jjmatchedPos = pos;
+- return pos + 1;
+-}
+-private final int jjStartNfaWithStates_0(int pos, int kind, int state)
+-{
+- jjmatchedKind = kind;
+- jjmatchedPos = pos;
+- try { curChar = input_stream.readChar(); }
+- catch(java.io.IOException e) { return pos + 1; }
+- return jjMoveNfa_0(state, pos + 1);
+-}
+-private final int jjMoveStringLiteralDfa0_0()
+-{
+- switch(curChar)
+- {
+- case 35:
+- return jjMoveStringLiteralDfa1_0(0x8L);
+- case 36:
+- return jjMoveStringLiteralDfa1_0(0x4L);
+- case 92:
+- return jjStartNfaWithStates_0(0, 4, 2);
+- default :
+- return jjMoveNfa_0(7, 0);
+- }
+-}
+-private final int jjMoveStringLiteralDfa1_0(long active0)
+-{
+- try { curChar = input_stream.readChar(); }
+- catch(java.io.IOException e) {
+- jjStopStringLiteralDfa_0(0, active0);
+- return 1;
+- }
+- switch(curChar)
+- {
+- case 123:
+- if ((active0 & 0x4L) != 0L)
+- return jjStopAtPos(1, 2);
+- else if ((active0 & 0x8L) != 0L)
+- return jjStopAtPos(1, 3);
+- break;
+- default :
+- break;
+- }
+- return jjStartNfa_0(0, active0);
+-}
+-private final void jjCheckNAdd(int state)
+-{
+- if (jjrounds[state] != jjround)
+- {
+- jjstateSet[jjnewStateCnt++] = state;
+- jjrounds[state] = jjround;
+- }
+-}
+-private final void jjAddStates(int start, int end)
+-{
+- do {
+- jjstateSet[jjnewStateCnt++] = jjnextStates[start];
+- } while (start++ != end);
+-}
+-private final void jjCheckNAddTwoStates(int state1, int state2)
+-{
+- jjCheckNAdd(state1);
+- jjCheckNAdd(state2);
+-}
+-private final void jjCheckNAddStates(int start, int end)
+-{
+- do {
+- jjCheckNAdd(jjnextStates[start]);
+- } while (start++ != end);
+-}
+-private final void jjCheckNAddStates(int start)
+-{
+- jjCheckNAdd(jjnextStates[start]);
+- jjCheckNAdd(jjnextStates[start + 1]);
+-}
+-static final long[] jjbitVec0 = {
+- 0xfffffffffffffffeL, 0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffffffffffffffL
+-};
+-static final long[] jjbitVec2 = {
+- 0x0L, 0x0L, 0xffffffffffffffffL, 0xffffffffffffffffL
+-};
+-private final int jjMoveNfa_0(int startState, int curPos)
+-{
+- int[] nextStates;
+- int startsAt = 0;
+- jjnewStateCnt = 8;
+- int i = 1;
+- jjstateSet[0] = startState;
+- int j, kind = 0x7fffffff;
+- for (;;)
+- {
+- if (++jjround == 0x7fffffff)
+- ReInitRounds();
+- if (curChar < 64)
+- {
+- long l = 1L << curChar;
+- MatchLoop: do
+- {
+- switch(jjstateSet[--i])
+- {
+- case 7:
+- if ((0xffffffe7ffffffffL & l) != 0L)
+- {
+- if (kind > 1)
+- kind = 1;
+- jjCheckNAddStates(0, 3);
+- }
+- else if ((0x1800000000L & l) != 0L)
+- {
+- if (kind > 1)
+- kind = 1;
+- }
+- if (curChar == 35)
+- jjstateSet[jjnewStateCnt++] = 6;
+- else if (curChar == 36)
+- jjstateSet[jjnewStateCnt++] = 4;
+- break;
+- case 0:
+- if ((0xffffffe7ffffffffL & l) == 0L)
+- break;
+- if (kind > 1)
+- kind = 1;
+- jjCheckNAddStates(0, 3);
+- break;
+- case 2:
+- if ((0x1800000000L & l) == 0L)
+- break;
+- if (kind > 1)
+- kind = 1;
+- jjCheckNAddStates(0, 3);
+- break;
+- case 3:
+- if (curChar == 36)
+- jjstateSet[jjnewStateCnt++] = 4;
+- break;
+- case 4:
+- if ((0xffffffefffffffffL & l) == 0L)
+- break;
+- if (kind > 1)
+- kind = 1;
+- jjCheckNAddStates(0, 3);
+- break;
+- case 5:
+- if (curChar == 35)
+- jjstateSet[jjnewStateCnt++] = 6;
+- break;
+- case 6:
+- if ((0xfffffff7ffffffffL & l) == 0L)
+- break;
+- if (kind > 1)
+- kind = 1;
+- jjCheckNAddStates(0, 3);
+- break;
+- default : break;
+- }
+- } while(i != startsAt);
+- }
+- else if (curChar < 128)
+- {
+- long l = 1L << (curChar & 077);
+- MatchLoop: do
+- {
+- switch(jjstateSet[--i])
+- {
+- case 7:
+- if ((0xffffffffefffffffL & l) != 0L)
+- {
+- if (kind > 1)
+- kind = 1;
+- jjCheckNAddStates(0, 3);
+- }
+- else if (curChar == 92)
+- jjstateSet[jjnewStateCnt++] = 2;
+- break;
+- case 0:
+- if ((0xffffffffefffffffL & l) == 0L)
+- break;
+- if (kind > 1)
+- kind = 1;
+- jjCheckNAddStates(0, 3);
+- break;
+- case 1:
+- if (curChar == 92)
+- jjstateSet[jjnewStateCnt++] = 2;
+- break;
+- case 2:
+- if (curChar != 92)
+- break;
+- if (kind > 1)
+- kind = 1;
+- jjCheckNAddStates(0, 3);
+- break;
+- case 4:
+- case 6:
+- if ((0xf7ffffffffffffffL & l) == 0L)
+- break;
+- if (kind > 1)
+- kind = 1;
+- jjCheckNAddStates(0, 3);
+- 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);
+- MatchLoop: do
+- {
+- switch(jjstateSet[--i])
+- {
+- case 7:
+- case 0:
+- case 4:
+- case 6:
+- if (!jjCanMove_0(hiByte, i1, i2, l1, l2))
+- break;
+- if (kind > 1)
+- kind = 1;
+- jjCheckNAddStates(0, 3);
+- break;
+- default : break;
+- }
+- } while(i != startsAt);
+- }
+- if (kind != 0x7fffffff)
+- {
+- jjmatchedKind = kind;
+- jjmatchedPos = curPos;
+- kind = 0x7fffffff;
+- }
+- ++curPos;
+- if ((i = jjnewStateCnt) == (startsAt = 8 - (jjnewStateCnt = startsAt)))
+- return curPos;
+- try { curChar = input_stream.readChar(); }
+- catch(java.io.IOException e) { return curPos; }
+- }
+-}
+-private final int jjStopStringLiteralDfa_1(int pos, long active0)
+-{
+- switch (pos)
+- {
+- case 0:
+- if ((active0 & 0x141d555401c000L) != 0L)
+- {
+- jjmatchedKind = 53;
+- return 42;
+- }
+- if ((active0 & 0x40000L) != 0L)
+- return 1;
+- return -1;
+- case 1:
+- if ((active0 & 0x41554000000L) != 0L)
+- return 42;
+- if ((active0 & 0x1419400001c000L) != 0L)
+- {
+- jjmatchedKind = 53;
+- jjmatchedPos = 1;
+- return 42;
+- }
+- return -1;
+- case 2:
+- if ((active0 & 0x18000001c000L) != 0L)
+- {
+- jjmatchedKind = 53;
+- jjmatchedPos = 2;
+- return 42;
+- }
+- if ((active0 & 0x14014000000000L) != 0L)
+- return 42;
+- return -1;
+- case 3:
+- if ((active0 & 0x180000008000L) != 0L)
+- {
+- jjmatchedKind = 53;
+- jjmatchedPos = 3;
+- return 42;
+- }
+- if ((active0 & 0x14000L) != 0L)
+- return 42;
+- return -1;
+- case 4:
+- if ((active0 & 0x80000008000L) != 0L)
+- return 42;
+- if ((active0 & 0x100000000000L) != 0L)
+- {
+- jjmatchedKind = 53;
+- jjmatchedPos = 4;
+- return 42;
+- }
+- return -1;
+- case 5:
+- if ((active0 & 0x100000000000L) != 0L)
+- {
+- jjmatchedKind = 53;
+- jjmatchedPos = 5;
+- return 42;
+- }
+- return -1;
+- case 6:
+- if ((active0 & 0x100000000000L) != 0L)
+- {
+- jjmatchedKind = 53;
+- jjmatchedPos = 6;
+- return 42;
+- }
+- return -1;
+- case 7:
+- if ((active0 & 0x100000000000L) != 0L)
+- {
+- jjmatchedKind = 53;
+- jjmatchedPos = 7;
+- return 42;
+- }
+- return -1;
+- case 8:
+- if ((active0 & 0x100000000000L) != 0L)
+- {
+- jjmatchedKind = 53;
+- jjmatchedPos = 8;
+- return 42;
+- }
+- return -1;
+- default :
+- return -1;
+- }
+-}
+-private final int jjStartNfa_1(int pos, long active0)
+-{
+- return jjMoveNfa_1(jjStopStringLiteralDfa_1(pos, active0), pos + 1);
+-}
+-private final int jjStartNfaWithStates_1(int pos, int kind, int state)
+-{
+- jjmatchedKind = kind;
+- jjmatchedPos = pos;
+- try { curChar = input_stream.readChar(); }
+- catch(java.io.IOException e) { return pos + 1; }
+- return jjMoveNfa_1(state, pos + 1);
+-}
+-private final int jjMoveStringLiteralDfa0_1()
+-{
+- switch(curChar)
+- {
+- case 33:
+- jjmatchedKind = 37;
+- return jjMoveStringLiteralDfa1_1(0x800000000L);
+- case 37:
+- return jjStopAtPos(0, 51);
+- case 38:
+- return jjMoveStringLiteralDfa1_1(0x8000000000L);
+- case 40:
+- return jjStopAtPos(0, 19);
+- case 41:
+- return jjStopAtPos(0, 20);
+- case 42:
+- return jjStopAtPos(0, 45);
+- case 43:
+- return jjStopAtPos(0, 46);
+- case 44:
+- return jjStopAtPos(0, 24);
+- case 45:
+- return jjStopAtPos(0, 47);
+- case 46:
+- return jjStartNfaWithStates_1(0, 18, 1);
+- case 47:
+- return jjStopAtPos(0, 49);
+- case 58:
+- return jjStopAtPos(0, 23);
+- case 60:
+- jjmatchedKind = 27;
+- return jjMoveStringLiteralDfa1_1(0x80000000L);
+- case 61:
+- return jjMoveStringLiteralDfa1_1(0x200000000L);
+- case 62:
+- jjmatchedKind = 25;
+- return jjMoveStringLiteralDfa1_1(0x20000000L);
+- case 63:
+- return jjStopAtPos(0, 48);
+- case 91:
+- return jjStopAtPos(0, 21);
+- case 93:
+- return jjStopAtPos(0, 22);
+- case 97:
+- return jjMoveStringLiteralDfa1_1(0x10000000000L);
+- case 100:
+- return jjMoveStringLiteralDfa1_1(0x4000000000000L);
+- case 101:
+- return jjMoveStringLiteralDfa1_1(0x80400000000L);
+- case 102:
+- return jjMoveStringLiteralDfa1_1(0x8000L);
+- case 103:
+- return jjMoveStringLiteralDfa1_1(0x44000000L);
+- case 105:
+- return jjMoveStringLiteralDfa1_1(0x100000000000L);
+- case 108:
+- return jjMoveStringLiteralDfa1_1(0x110000000L);
+- case 109:
+- return jjMoveStringLiteralDfa1_1(0x10000000000000L);
+- case 110:
+- return jjMoveStringLiteralDfa1_1(0x5000010000L);
+- case 111:
+- return jjMoveStringLiteralDfa1_1(0x40000000000L);
+- case 116:
+- return jjMoveStringLiteralDfa1_1(0x4000L);
+- case 124:
+- return jjMoveStringLiteralDfa1_1(0x20000000000L);
+- case 125:
+- return jjStopAtPos(0, 17);
+- default :
+- return jjMoveNfa_1(0, 0);
+- }
+-}
+-private final int jjMoveStringLiteralDfa1_1(long active0)
+-{
+- try { curChar = input_stream.readChar(); }
+- catch(java.io.IOException e) {
+- jjStopStringLiteralDfa_1(0, active0);
+- return 1;
+- }
+- switch(curChar)
+- {
+- case 38:
+- if ((active0 & 0x8000000000L) != 0L)
+- return jjStopAtPos(1, 39);
+- break;
+- case 61:
+- if ((active0 & 0x20000000L) != 0L)
+- return jjStopAtPos(1, 29);
+- else if ((active0 & 0x80000000L) != 0L)
+- return jjStopAtPos(1, 31);
+- else if ((active0 & 0x200000000L) != 0L)
+- return jjStopAtPos(1, 33);
+- else if ((active0 & 0x800000000L) != 0L)
+- return jjStopAtPos(1, 35);
+- break;
+- case 97:
+- return jjMoveStringLiteralDfa2_1(active0, 0x8000L);
+- case 101:
+- if ((active0 & 0x40000000L) != 0L)
+- return jjStartNfaWithStates_1(1, 30, 42);
+- else if ((active0 & 0x100000000L) != 0L)
+- return jjStartNfaWithStates_1(1, 32, 42);
+- else if ((active0 & 0x1000000000L) != 0L)
+- return jjStartNfaWithStates_1(1, 36, 42);
+- break;
+- case 105:
+- return jjMoveStringLiteralDfa2_1(active0, 0x4000000000000L);
+- case 109:
+- return jjMoveStringLiteralDfa2_1(active0, 0x80000000000L);
+- case 110:
+- return jjMoveStringLiteralDfa2_1(active0, 0x110000000000L);
+- case 111:
+- return jjMoveStringLiteralDfa2_1(active0, 0x10004000000000L);
+- case 113:
+- if ((active0 & 0x400000000L) != 0L)
+- return jjStartNfaWithStates_1(1, 34, 42);
+- break;
+- case 114:
+- if ((active0 & 0x40000000000L) != 0L)
+- return jjStartNfaWithStates_1(1, 42, 42);
+- return jjMoveStringLiteralDfa2_1(active0, 0x4000L);
+- case 116:
+- if ((active0 & 0x4000000L) != 0L)
+- return jjStartNfaWithStates_1(1, 26, 42);
+- else if ((active0 & 0x10000000L) != 0L)
+- return jjStartNfaWithStates_1(1, 28, 42);
+- break;
+- case 117:
+- return jjMoveStringLiteralDfa2_1(active0, 0x10000L);
+- case 124:
+- if ((active0 & 0x20000000000L) != 0L)
+- return jjStopAtPos(1, 41);
+- break;
+- default :
+- break;
+- }
+- return jjStartNfa_1(0, active0);
+-}
+-private final int jjMoveStringLiteralDfa2_1(long old0, long active0)
+-{
+- if (((active0 &= old0)) == 0L)
+- return jjStartNfa_1(0, old0);
+- try { curChar = input_stream.readChar(); }
+- catch(java.io.IOException e) {
+- jjStopStringLiteralDfa_1(1, active0);
+- return 2;
+- }
+- switch(curChar)
+- {
+- case 100:
+- if ((active0 & 0x10000000000L) != 0L)
+- return jjStartNfaWithStates_1(2, 40, 42);
+- else if ((active0 & 0x10000000000000L) != 0L)
+- return jjStartNfaWithStates_1(2, 52, 42);
+- break;
+- case 108:
+- return jjMoveStringLiteralDfa3_1(active0, 0x18000L);
+- case 112:
+- return jjMoveStringLiteralDfa3_1(active0, 0x80000000000L);
+- case 115:
+- return jjMoveStringLiteralDfa3_1(active0, 0x100000000000L);
+- case 116:
+- if ((active0 & 0x4000000000L) != 0L)
+- return jjStartNfaWithStates_1(2, 38, 42);
+- break;
+- case 117:
+- return jjMoveStringLiteralDfa3_1(active0, 0x4000L);
+- case 118:
+- if ((active0 & 0x4000000000000L) != 0L)
+- return jjStartNfaWithStates_1(2, 50, 42);
+- break;
+- default :
+- break;
+- }
+- return jjStartNfa_1(1, active0);
+-}
+-private final int jjMoveStringLiteralDfa3_1(long old0, long active0)
+-{
+- if (((active0 &= old0)) == 0L)
+- return jjStartNfa_1(1, old0);
+- try { curChar = input_stream.readChar(); }
+- catch(java.io.IOException e) {
+- jjStopStringLiteralDfa_1(2, active0);
+- return 3;
+- }
+- switch(curChar)
+- {
+- case 101:
+- if ((active0 & 0x4000L) != 0L)
+- return jjStartNfaWithStates_1(3, 14, 42);
+- break;
+- case 108:
+- if ((active0 & 0x10000L) != 0L)
+- return jjStartNfaWithStates_1(3, 16, 42);
+- break;
+- case 115:
+- return jjMoveStringLiteralDfa4_1(active0, 0x8000L);
+- case 116:
+- return jjMoveStringLiteralDfa4_1(active0, 0x180000000000L);
+- default :
+- break;
+- }
+- return jjStartNfa_1(2, active0);
+-}
+-private final int jjMoveStringLiteralDfa4_1(long old0, long active0)
+-{
+- if (((active0 &= old0)) == 0L)
+- return jjStartNfa_1(2, old0);
+- try { curChar = input_stream.readChar(); }
+- catch(java.io.IOException e) {
+- jjStopStringLiteralDfa_1(3, active0);
+- return 4;
+- }
+- switch(curChar)
+- {
+- case 97:
+- return jjMoveStringLiteralDfa5_1(active0, 0x100000000000L);
+- case 101:
+- if ((active0 & 0x8000L) != 0L)
+- return jjStartNfaWithStates_1(4, 15, 42);
+- break;
+- case 121:
+- if ((active0 & 0x80000000000L) != 0L)
+- return jjStartNfaWithStates_1(4, 43, 42);
+- break;
+- default :
+- break;
+- }
+- return jjStartNfa_1(3, active0);
+-}
+-private final int jjMoveStringLiteralDfa5_1(long old0, long active0)
+-{
+- if (((active0 &= old0)) == 0L)
+- return jjStartNfa_1(3, old0);
+- try { curChar = input_stream.readChar(); }
+- catch(java.io.IOException e) {
+- jjStopStringLiteralDfa_1(4, active0);
+- return 5;
+- }
+- switch(curChar)
+- {
+- case 110:
+- return jjMoveStringLiteralDfa6_1(active0, 0x100000000000L);
+- default :
+- break;
+- }
+- return jjStartNfa_1(4, active0);
+-}
+-private final int jjMoveStringLiteralDfa6_1(long old0, long active0)
+-{
+- if (((active0 &= old0)) == 0L)
+- return jjStartNfa_1(4, old0);
+- try { curChar = input_stream.readChar(); }
+- catch(java.io.IOException e) {
+- jjStopStringLiteralDfa_1(5, active0);
+- return 6;
+- }
+- switch(curChar)
+- {
+- case 99:
+- return jjMoveStringLiteralDfa7_1(active0, 0x100000000000L);
+- default :
+- break;
+- }
+- return jjStartNfa_1(5, active0);
+-}
+-private final int jjMoveStringLiteralDfa7_1(long old0, long active0)
+-{
+- if (((active0 &= old0)) == 0L)
+- return jjStartNfa_1(5, old0);
+- try { curChar = input_stream.readChar(); }
+- catch(java.io.IOException e) {
+- jjStopStringLiteralDfa_1(6, active0);
+- return 7;
+- }
+- switch(curChar)
+- {
+- case 101:
+- return jjMoveStringLiteralDfa8_1(active0, 0x100000000000L);
+- default :
+- break;
+- }
+- return jjStartNfa_1(6, active0);
+-}
+-private final int jjMoveStringLiteralDfa8_1(long old0, long active0)
+-{
+- if (((active0 &= old0)) == 0L)
+- return jjStartNfa_1(6, old0);
+- try { curChar = input_stream.readChar(); }
+- catch(java.io.IOException e) {
+- jjStopStringLiteralDfa_1(7, active0);
+- return 8;
+- }
+- switch(curChar)
+- {
+- case 111:
+- return jjMoveStringLiteralDfa9_1(active0, 0x100000000000L);
+- default :
+- break;
+- }
+- return jjStartNfa_1(7, active0);
+-}
+-private final int jjMoveStringLiteralDfa9_1(long old0, long active0)
+-{
+- if (((active0 &= old0)) == 0L)
+- return jjStartNfa_1(7, old0);
+- try { curChar = input_stream.readChar(); }
+- catch(java.io.IOException e) {
+- jjStopStringLiteralDfa_1(8, active0);
+- return 9;
+- }
+- switch(curChar)
+- {
+- case 102:
+- if ((active0 & 0x100000000000L) != 0L)
+- return jjStartNfaWithStates_1(9, 44, 42);
+- break;
+- default :
+- break;
+- }
+- return jjStartNfa_1(8, active0);
+-}
+-static final long[] jjbitVec3 = {
+- 0x1ff00000fffffffeL, 0xffffffffffffc000L, 0xffffffffL, 0x600000000000000L
+-};
+-static final long[] jjbitVec4 = {
+- 0x0L, 0x0L, 0x0L, 0xff7fffffff7fffffL
+-};
+-static final long[] jjbitVec5 = {
+- 0x0L, 0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffffffffffffffL
+-};
+-static final long[] jjbitVec6 = {
+- 0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffL, 0x0L
+-};
+-static final long[] jjbitVec7 = {
+- 0xffffffffffffffffL, 0xffffffffffffffffL, 0x0L, 0x0L
+-};
+-static final long[] jjbitVec8 = {
+- 0x3fffffffffffL, 0x0L, 0x0L, 0x0L
+-};
+-private final int jjMoveNfa_1(int startState, int curPos)
+-{
+- int[] nextStates;
+- int startsAt = 0;
+- jjnewStateCnt = 42;
+- int i = 1;
+- jjstateSet[0] = startState;
+- int j, kind = 0x7fffffff;
+- for (;;)
+- {
+- if (++jjround == 0x7fffffff)
+- ReInitRounds();
+- if (curChar < 64)
+- {
+- long l = 1L << curChar;
+- MatchLoop: do
+- {
+- switch(jjstateSet[--i])
+- {
+- case 0:
+- if ((0x3ff000000000000L & l) != 0L)
+- {
+- if (kind > 9)
+- kind = 9;
+- jjCheckNAddStates(4, 8);
+- }
+- else if ((0x1800000000L & l) != 0L)
+- {
+- if (kind > 53)
+- kind = 53;
+- jjCheckNAddStates(9, 15);
+- }
+- else if (curChar == 39)
+- jjCheckNAddStates(16, 20);
+- else if (curChar == 34)
+- jjCheckNAddStates(21, 25);
+- else if (curChar == 46)
+- jjCheckNAdd(1);
+- break;
+- case 42:
+- if ((0x3ff601000000000L & l) != 0L)
+- jjCheckNAddTwoStates(36, 37);
+- else if (curChar == 40)
+- {
+- if (kind > 56)
+- kind = 56;
+- }
+- else if (curChar == 58)
+- jjstateSet[jjnewStateCnt++] = 38;
+- if ((0x3ff001000000000L & l) != 0L)
+- {
+- if (kind > 57)
+- kind = 57;
+- jjCheckNAdd(41);
+- }
+- if ((0x3ff001000000000L & l) != 0L)
+- jjCheckNAddTwoStates(39, 40);
+- if ((0x3ff001000000000L & l) != 0L)
+- jjCheckNAddStates(26, 28);
+- if ((0x3ff001000000000L & l) != 0L)
+- {
+- if (kind > 53)
+- kind = 53;
+- jjCheckNAdd(34);
+- }
+- break;
+- case 1:
+- if ((0x3ff000000000000L & l) == 0L)
+- break;
+- if (kind > 10)
+- kind = 10;
+- jjCheckNAddTwoStates(1, 2);
+- break;
+- case 3:
+- if ((0x280000000000L & l) != 0L)
+- jjCheckNAdd(4);
+- break;
+- case 4:
+- if ((0x3ff000000000000L & l) == 0L)
+- break;
+- if (kind > 10)
+- kind = 10;
+- jjCheckNAdd(4);
+- break;
+- case 5:
+- if ((0x3ff000000000000L & l) == 0L)
+- break;
+- if (kind > 9)
+- kind = 9;
+- jjCheckNAddStates(4, 8);
+- break;
+- case 6:
+- if ((0x3ff000000000000L & l) == 0L)
+- break;
+- if (kind > 9)
+- kind = 9;
+- jjCheckNAdd(6);
+- break;
+- case 7:
+- if ((0x3ff000000000000L & l) != 0L)
+- jjCheckNAddTwoStates(7, 8);
+- break;
+- case 8:
+- if (curChar != 46)
+- break;
+- if (kind > 10)
+- kind = 10;
+- jjCheckNAddTwoStates(9, 10);
+- break;
+- case 9:
+- if ((0x3ff000000000000L & l) == 0L)
+- break;
+- if (kind > 10)
+- kind = 10;
+- jjCheckNAddTwoStates(9, 10);
+- break;
+- case 11:
+- if ((0x280000000000L & l) != 0L)
+- jjCheckNAdd(12);
+- break;
+- case 12:
+- if ((0x3ff000000000000L & l) == 0L)
+- break;
+- if (kind > 10)
+- kind = 10;
+- jjCheckNAdd(12);
+- break;
+- case 13:
+- if ((0x3ff000000000000L & l) != 0L)
+- jjCheckNAddTwoStates(13, 14);
+- break;
+- case 15:
+- if ((0x280000000000L & l) != 0L)
+- jjCheckNAdd(16);
+- break;
+- case 16:
+- if ((0x3ff000000000000L & l) == 0L)
+- break;
+- if (kind > 10)
+- kind = 10;
+- jjCheckNAdd(16);
+- break;
+- case 17:
+- if (curChar == 34)
+- jjCheckNAddStates(21, 25);
+- break;
+- case 18:
+- if ((0xfffffffbffffffffL & l) != 0L)
+- jjCheckNAddStates(29, 31);
+- break;
+- case 20:
+- if (curChar == 34)
+- jjCheckNAddStates(29, 31);
+- break;
+- case 21:
+- if (curChar == 34 && kind > 12)
+- kind = 12;
+- break;
+- case 22:
+- if ((0xfffffffbffffffffL & l) != 0L)
+- jjCheckNAddTwoStates(22, 23);
+- break;
+- case 24:
+- if ((0xfffffffbffffffffL & l) != 0L && kind > 13)
+- kind = 13;
+- break;
+- case 25:
+- if (curChar == 39)
+- jjCheckNAddStates(16, 20);
+- break;
+- case 26:
+- if ((0xffffff7fffffffffL & l) != 0L)
+- jjCheckNAddStates(32, 34);
+- break;
+- case 28:
+- if (curChar == 39)
+- jjCheckNAddStates(32, 34);
+- break;
+- case 29:
+- if (curChar == 39 && kind > 12)
+- kind = 12;
+- break;
+- case 30:
+- if ((0xffffff7fffffffffL & l) != 0L)
+- jjCheckNAddTwoStates(30, 31);
+- break;
+- case 32:
+- if ((0xffffff7fffffffffL & l) != 0L && kind > 13)
+- kind = 13;
+- break;
+- case 33:
+- if ((0x1800000000L & l) == 0L)
+- break;
+- if (kind > 53)
+- kind = 53;
+- jjCheckNAddStates(9, 15);
+- break;
+- case 34:
+- if ((0x3ff001000000000L & l) == 0L)
+- break;
+- if (kind > 53)
+- kind = 53;
+- jjCheckNAdd(34);
+- break;
+- case 35:
+- if ((0x3ff001000000000L & l) != 0L)
+- jjCheckNAddStates(26, 28);
+- break;
+- case 36:
+- if ((0x3ff601000000000L & l) != 0L)
+- jjCheckNAddTwoStates(36, 37);
+- break;
+- case 37:
+- if (curChar == 58)
+- jjstateSet[jjnewStateCnt++] = 38;
+- break;
+- case 38:
+- if ((0x1800000000L & l) != 0L)
+- jjCheckNAddTwoStates(39, 40);
+- break;
+- case 39:
+- if ((0x3ff001000000000L & l) != 0L)
+- jjCheckNAddTwoStates(39, 40);
+- break;
+- case 40:
+- if (curChar == 40 && kind > 56)
+- kind = 56;
+- break;
+- case 41:
+- if ((0x3ff001000000000L & l) == 0L)
+- break;
+- if (kind > 57)
+- kind = 57;
+- jjCheckNAdd(41);
+- break;
+- default : break;
+- }
+- } while(i != startsAt);
+- }
+- else if (curChar < 128)
+- {
+- long l = 1L << (curChar & 077);
+- MatchLoop: do
+- {
+- switch(jjstateSet[--i])
+- {
+- case 0:
+- if ((0x7fffffe87fffffeL & l) == 0L)
+- break;
+- if (kind > 53)
+- kind = 53;
+- jjCheckNAddStates(9, 15);
+- break;
+- case 42:
+- if ((0x7fffffe87fffffeL & l) != 0L)
+- {
+- if (kind > 57)
+- kind = 57;
+- jjCheckNAdd(41);
+- }
+- if ((0x7fffffe87fffffeL & l) != 0L)
+- jjCheckNAddTwoStates(39, 40);
+- if ((0x7fffffe87fffffeL & l) != 0L)
+- jjCheckNAddTwoStates(36, 37);
+- if ((0x7fffffe87fffffeL & l) != 0L)
+- jjCheckNAddStates(26, 28);
+- if ((0x7fffffe87fffffeL & l) != 0L)
+- {
+- if (kind > 53)
+- kind = 53;
+- jjCheckNAdd(34);
+- }
+- break;
+- case 2:
+- if ((0x2000000020L & l) != 0L)
+- jjAddStates(35, 36);
+- break;
+- case 10:
+- if ((0x2000000020L & l) != 0L)
+- jjAddStates(37, 38);
+- break;
+- case 14:
+- if ((0x2000000020L & l) != 0L)
+- jjAddStates(39, 40);
+- break;
+- case 18:
+- if ((0xffffffffefffffffL & l) != 0L)
+- jjCheckNAddStates(29, 31);
+- break;
+- case 19:
+- if (curChar == 92)
+- jjstateSet[jjnewStateCnt++] = 20;
+- break;
+- case 20:
+- if (curChar == 92)
+- jjCheckNAddStates(29, 31);
+- break;
+- case 22:
+- if ((0xffffffffefffffffL & l) != 0L)
+- jjAddStates(41, 42);
+- break;
+- case 23:
+- if (curChar == 92)
+- jjstateSet[jjnewStateCnt++] = 24;
+- break;
+- case 24:
+- case 32:
+- if ((0xffffffffefffffffL & l) != 0L && kind > 13)
+- kind = 13;
+- break;
+- case 26:
+- if ((0xffffffffefffffffL & l) != 0L)
+- jjCheckNAddStates(32, 34);
+- break;
+- case 27:
+- if (curChar == 92)
+- jjstateSet[jjnewStateCnt++] = 28;
+- break;
+- case 28:
+- if (curChar == 92)
+- jjCheckNAddStates(32, 34);
+- break;
+- case 30:
+- if ((0xffffffffefffffffL & l) != 0L)
+- jjAddStates(43, 44);
+- break;
+- case 31:
+- if (curChar == 92)
+- jjstateSet[jjnewStateCnt++] = 32;
+- break;
+- case 34:
+- if ((0x7fffffe87fffffeL & l) == 0L)
+- break;
+- if (kind > 53)
+- kind = 53;
+- jjCheckNAdd(34);
+- break;
+- case 35:
+- if ((0x7fffffe87fffffeL & l) != 0L)
+- jjCheckNAddStates(26, 28);
+- break;
+- case 36:
+- if ((0x7fffffe87fffffeL & l) != 0L)
+- jjCheckNAddTwoStates(36, 37);
+- break;
+- case 38:
+- if ((0x7fffffe87fffffeL & l) != 0L)
+- jjCheckNAddTwoStates(39, 40);
+- break;
+- case 39:
+- if ((0x7fffffe87fffffeL & l) != 0L)
+- jjCheckNAddTwoStates(39, 40);
+- break;
+- case 41:
+- if ((0x7fffffe87fffffeL & l) == 0L)
+- break;
+- if (kind > 57)
+- kind = 57;
+- jjCheckNAdd(41);
+- 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);
+- MatchLoop: do
+- {
+- switch(jjstateSet[--i])
+- {
+- case 0:
+- if (!jjCanMove_1(hiByte, i1, i2, l1, l2))
+- break;
+- if (kind > 53)
+- kind = 53;
+- jjCheckNAddStates(9, 15);
+- break;
+- case 42:
+- if (jjCanMove_1(hiByte, i1, i2, l1, l2))
+- {
+- if (kind > 53)
+- kind = 53;
+- jjCheckNAdd(34);
+- }
+- if (jjCanMove_1(hiByte, i1, i2, l1, l2))
+- jjCheckNAddStates(26, 28);
+- if (jjCanMove_1(hiByte, i1, i2, l1, l2))
+- jjCheckNAddTwoStates(36, 37);
+- if (jjCanMove_1(hiByte, i1, i2, l1, l2))
+- jjCheckNAddTwoStates(39, 40);
+- if (jjCanMove_1(hiByte, i1, i2, l1, l2))
+- {
+- if (kind > 57)
+- kind = 57;
+- jjCheckNAdd(41);
+- }
+- break;
+- case 18:
+- if (jjCanMove_0(hiByte, i1, i2, l1, l2))
+- jjAddStates(29, 31);
+- break;
+- case 22:
+- if (jjCanMove_0(hiByte, i1, i2, l1, l2))
+- jjAddStates(41, 42);
+- break;
+- case 24:
+- case 32:
+- if (jjCanMove_0(hiByte, i1, i2, l1, l2) && kind > 13)
+- kind = 13;
+- break;
+- case 26:
+- if (jjCanMove_0(hiByte, i1, i2, l1, l2))
+- jjAddStates(32, 34);
+- break;
+- case 30:
+- if (jjCanMove_0(hiByte, i1, i2, l1, l2))
+- jjAddStates(43, 44);
+- break;
+- case 34:
+- if (!jjCanMove_1(hiByte, i1, i2, l1, l2))
+- break;
+- if (kind > 53)
+- kind = 53;
+- jjCheckNAdd(34);
+- break;
+- case 35:
+- if (jjCanMove_1(hiByte, i1, i2, l1, l2))
+- jjCheckNAddStates(26, 28);
+- break;
+- case 36:
+- if (jjCanMove_1(hiByte, i1, i2, l1, l2))
+- jjCheckNAddTwoStates(36, 37);
+- break;
+- case 38:
+- if (jjCanMove_1(hiByte, i1, i2, l1, l2))
+- jjCheckNAddTwoStates(39, 40);
+- break;
+- case 39:
+- if (jjCanMove_1(hiByte, i1, i2, l1, l2))
+- jjCheckNAddTwoStates(39, 40);
+- break;
+- case 41:
+- if (!jjCanMove_1(hiByte, i1, i2, l1, l2))
+- break;
+- if (kind > 57)
+- kind = 57;
+- jjCheckNAdd(41);
+- break;
+- default : break;
+- }
+- } while(i != startsAt);
+- }
+- if (kind != 0x7fffffff)
+- {
+- jjmatchedKind = kind;
+- jjmatchedPos = curPos;
+- kind = 0x7fffffff;
+- }
+- ++curPos;
+- if ((i = jjnewStateCnt) == (startsAt = 42 - (jjnewStateCnt = startsAt)))
+- return curPos;
+- try { curChar = input_stream.readChar(); }
+- catch(java.io.IOException e) { return curPos; }
+- }
+-}
+-static final int[] jjnextStates = {
+- 0, 1, 3, 5, 6, 7, 8, 13, 14, 34, 35, 36, 37, 39, 40, 41,
+- 26, 27, 29, 30, 31, 18, 19, 21, 22, 23, 35, 36, 37, 18, 19, 21,
+- 26, 27, 29, 3, 4, 11, 12, 15, 16, 22, 23, 30, 31,
+-};
+-private static final boolean jjCanMove_0(int hiByte, int i1, int i2, long l1, long l2)
+-{
+- switch(hiByte)
+- {
+- case 0:
+- return ((jjbitVec2[i2] & l2) != 0L);
+- default :
+- if ((jjbitVec0[i1] & l1) != 0L)
+- return true;
+- return false;
+- }
+-}
+-private static final boolean jjCanMove_1(int hiByte, int i1, int i2, long l1, long l2)
+-{
+- switch(hiByte)
+- {
+- case 0:
+- return ((jjbitVec4[i2] & l2) != 0L);
+- case 48:
+- return ((jjbitVec5[i2] & l2) != 0L);
+- case 49:
+- return ((jjbitVec6[i2] & l2) != 0L);
+- case 51:
+- return ((jjbitVec7[i2] & l2) != 0L);
+- case 61:
+- return ((jjbitVec8[i2] & l2) != 0L);
+- default :
+- if ((jjbitVec3[i1] & l1) != 0L)
+- return true;
+- return false;
+- }
+-}
+-public static final String[] jjstrLiteralImages = {
+-"", null, "\44\173", "\43\173", null, null, null, null, null, null, null, null,
+-null, null, "\164\162\165\145", "\146\141\154\163\145", "\156\165\154\154", "\175",
+-"\56", "\50", "\51", "\133", "\135", "\72", "\54", "\76", "\147\164", "\74",
+-"\154\164", "\76\75", "\147\145", "\74\75", "\154\145", "\75\75", "\145\161", "\41\75",
+-"\156\145", "\41", "\156\157\164", "\46\46", "\141\156\144", "\174\174", "\157\162",
+-"\145\155\160\164\171", "\151\156\163\164\141\156\143\145\157\146", "\52", "\53", "\55", "\77", "\57",
+-"\144\151\166", "\45", "\155\157\144", null, null, null, null, null, null, null, null, null, };
+-public static final String[] lexStateNames = {
+- "DEFAULT",
+- "IN_EXPRESSION",
+-};
+-public static final int[] jjnewLexState = {
+- -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,
+- -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,
+- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+-};
+-static final long[] jjtoToken = {
+- 0x233ffffffffff60fL,
+-};
+-static final long[] jjtoSkip = {
+- 0x1f0L,
+-};
+-protected SimpleCharStream input_stream;
+-private final int[] jjrounds = new int[42];
+-private final int[] jjstateSet = new int[84];
+-protected char curChar;
+-public ELParserTokenManager(SimpleCharStream stream){
+- if (SimpleCharStream.staticFlag)
+- throw new Error("ERROR: Cannot use a static CharStream class with a non-static lexical analyzer.");
+- input_stream = stream;
+-}
+-public ELParserTokenManager(SimpleCharStream stream, int lexState){
+- this(stream);
+- SwitchTo(lexState);
+-}
+-public void ReInit(SimpleCharStream stream)
+-{
+- jjmatchedPos = jjnewStateCnt = 0;
+- curLexState = defaultLexState;
+- input_stream = stream;
+- ReInitRounds();
+-}
+-private final void ReInitRounds()
+-{
+- int i;
+- jjround = 0x80000001;
+- for (i = 42; i-- > 0;)
+- jjrounds[i] = 0x80000000;
+-}
+-public void ReInit(SimpleCharStream stream, int lexState)
+-{
+- ReInit(stream);
+- SwitchTo(lexState);
+-}
+-public void SwitchTo(int lexState)
+-{
+- if (lexState >= 2 || lexState < 0)
+- throw new TokenMgrError("Error: Ignoring invalid lexical state : " + lexState + ". State unchanged.", TokenMgrError.INVALID_LEXICAL_STATE);
+- else
+- curLexState = lexState;
+-}
++public class ELParserTokenManager implements ELParserConstants {
++ public java.io.PrintStream debugStream = System.out;
+
+-protected Token jjFillToken()
+-{
+- Token t = Token.newToken(jjmatchedKind);
+- t.kind = jjmatchedKind;
+- String im = jjstrLiteralImages[jjmatchedKind];
+- t.image = (im == null) ? input_stream.GetImage() : im;
+- t.beginLine = input_stream.getBeginLine();
+- t.beginColumn = input_stream.getBeginColumn();
+- t.endLine = input_stream.getEndLine();
+- t.endColumn = input_stream.getEndColumn();
+- return t;
+-}
++ public void setDebugStream(java.io.PrintStream ds) {
++ debugStream = ds;
++ }
+
+-int curLexState = 0;
+-int defaultLexState = 0;
+-int jjnewStateCnt;
+-int jjround;
+-int jjmatchedPos;
+-int jjmatchedKind;
++ private final int jjStopStringLiteralDfa_0(int pos, long active0) {
++ switch (pos) {
++ case 0:
++ if ((active0 & 0x10L) != 0L)
++ return 2;
++ if ((active0 & 0x4L) != 0L) {
++ jjmatchedKind = 1;
++ return 4;
++ }
++ if ((active0 & 0x8L) != 0L) {
++ jjmatchedKind = 1;
++ return 6;
++ }
++ return -1;
++ default:
++ return -1;
++ }
++ }
+
+-public Token getNextToken()
+-{
+- int kind;
+- Token specialToken = null;
+- Token matchedToken;
+- int curPos = 0;
++ private final int jjStartNfa_0(int pos, long active0) {
++ return jjMoveNfa_0(jjStopStringLiteralDfa_0(pos, active0), pos + 1);
++ }
+
+- EOFLoop :
+- for (;;)
+- {
+- try
+- {
+- curChar = input_stream.BeginToken();
+- }
+- catch(java.io.IOException e)
+- {
+- jjmatchedKind = 0;
+- matchedToken = jjFillToken();
+- return matchedToken;
+- }
++ private final int jjStopAtPos(int pos, int kind) {
++ jjmatchedKind = kind;
++ jjmatchedPos = pos;
++ return pos + 1;
++ }
+
+- switch(curLexState)
+- {
+- case 0:
+- jjmatchedKind = 0x7fffffff;
+- jjmatchedPos = 0;
+- curPos = jjMoveStringLiteralDfa0_0();
+- break;
+- case 1:
+- try { input_stream.backup(0);
+- while (curChar <= 32 && (0x100002600L & (1L << curChar)) != 0L)
+- curChar = input_stream.BeginToken();
+- }
+- catch (java.io.IOException e1) { continue EOFLoop; }
+- jjmatchedKind = 0x7fffffff;
+- jjmatchedPos = 0;
+- curPos = jjMoveStringLiteralDfa0_1();
+- if (jjmatchedPos == 0 && jjmatchedKind > 61)
+- {
+- jjmatchedKind = 61;
+- }
+- break;
+- }
+- if (jjmatchedKind != 0x7fffffff)
+- {
+- if (jjmatchedPos + 1 < curPos)
+- input_stream.backup(curPos - jjmatchedPos - 1);
+- if ((jjtoToken[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L)
+- {
+- matchedToken = jjFillToken();
+- if (jjnewLexState[jjmatchedKind] != -1)
+- curLexState = jjnewLexState[jjmatchedKind];
+- return matchedToken;
+- }
+- else
+- {
+- if (jjnewLexState[jjmatchedKind] != -1)
+- curLexState = jjnewLexState[jjmatchedKind];
+- continue EOFLoop;
+- }
+- }
+- int error_line = input_stream.getEndLine();
+- int error_column = input_stream.getEndColumn();
+- String error_after = null;
+- boolean EOFSeen = false;
+- try { input_stream.readChar(); input_stream.backup(1); }
+- catch (java.io.IOException e1) {
+- EOFSeen = true;
+- error_after = curPos <= 1 ? "" : input_stream.GetImage();
+- if (curChar == '\n' || curChar == '\r') {
+- error_line++;
+- error_column = 0;
+- }
+- else
+- error_column++;
+- }
+- if (!EOFSeen) {
+- input_stream.backup(1);
+- error_after = curPos <= 1 ? "" : input_stream.GetImage();
+- }
+- throw new TokenMgrError(EOFSeen, curLexState, error_line, error_column, error_after, curChar, TokenMgrError.LEXICAL_ERROR);
+- }
+-}
++ private final int jjStartNfaWithStates_0(int pos, int kind, int state) {
++ jjmatchedKind = kind;
++ jjmatchedPos = pos;
++ try {
++ curChar = input_stream.readChar();
++ } catch (java.io.IOException e) {
++ return pos + 1;
++ }
++ return jjMoveNfa_0(state, pos + 1);
++ }
+
++ private final int jjMoveStringLiteralDfa0_0() {
++ switch (curChar) {
++ case 35:
++ return jjMoveStringLiteralDfa1_0(0x8L);
++ case 36:
++ return jjMoveStringLiteralDfa1_0(0x4L);
++ case 92:
++ return jjStartNfaWithStates_0(0, 4, 2);
++ default:
++ return jjMoveNfa_0(7, 0);
++ }
++ }
++
++ private final int jjMoveStringLiteralDfa1_0(long active0) {
++ try {
++ curChar = input_stream.readChar();
++ } catch (java.io.IOException e) {
++ jjStopStringLiteralDfa_0(0, active0);
++ return 1;
++ }
++ switch (curChar) {
++ case 123:
++ if ((active0 & 0x4L) != 0L)
++ return jjStopAtPos(1, 2);
++ else if ((active0 & 0x8L) != 0L)
++ return jjStopAtPos(1, 3);
++ break;
++ default:
++ break;
++ }
++ return jjStartNfa_0(0, active0);
++ }
++
++ private final void jjCheckNAdd(int state) {
++ if (jjrounds[state] != jjround) {
++ jjstateSet[jjnewStateCnt++] = state;
++ jjrounds[state] = jjround;
++ }
++ }
++
++ private final void jjAddStates(int start, int end) {
++ do {
++ jjstateSet[jjnewStateCnt++] = jjnextStates[start];
++ } while (start++ != end);
++ }
++
++ private final void jjCheckNAddTwoStates(int state1, int state2) {
++ jjCheckNAdd(state1);
++ jjCheckNAdd(state2);
++ }
++
++ private final void jjCheckNAddStates(int start, int end) {
++ do {
++ jjCheckNAdd(jjnextStates[start]);
++ } while (start++ != end);
++ }
++
++ private final void jjCheckNAddStates(int start) {
++ jjCheckNAdd(jjnextStates[start]);
++ jjCheckNAdd(jjnextStates[start + 1]);
++ }
++
++ static final long[] jjbitVec0 = { 0xfffffffffffffffeL, 0xffffffffffffffffL,
++ 0xffffffffffffffffL, 0xffffffffffffffffL };
++
++ static final long[] jjbitVec2 = { 0x0L, 0x0L, 0xffffffffffffffffL,
++ 0xffffffffffffffffL };
++
++ private final int jjMoveNfa_0(int startState, int curPos) {
++ int[] nextStates;
++ int startsAt = 0;
++ jjnewStateCnt = 8;
++ int i = 1;
++ jjstateSet[0] = startState;
++ int j, kind = 0x7fffffff;
++ for (;;) {
++ if (++jjround == 0x7fffffff)
++ ReInitRounds();
++ if (curChar < 64) {
++ long l = 1L << curChar;
++ MatchLoop: do {
++ switch (jjstateSet[--i]) {
++ case 7:
++ if ((0xffffffe7ffffffffL & l) != 0L) {
++ if (kind > 1)
++ kind = 1;
++ jjCheckNAddStates(0, 3);
++ } else if ((0x1800000000L & l) != 0L) {
++ if (kind > 1)
++ kind = 1;
++ }
++ if (curChar == 35)
++ jjstateSet[jjnewStateCnt++] = 6;
++ else if (curChar == 36)
++ jjstateSet[jjnewStateCnt++] = 4;
++ break;
++ case 0:
++ if ((0xffffffe7ffffffffL & l) == 0L)
++ break;
++ if (kind > 1)
++ kind = 1;
++ jjCheckNAddStates(0, 3);
++ break;
++ case 2:
++ if ((0x1800000000L & l) == 0L)
++ break;
++ if (kind > 1)
++ kind = 1;
++ jjCheckNAddStates(0, 3);
++ break;
++ case 3:
++ if (curChar == 36)
++ jjstateSet[jjnewStateCnt++] = 4;
++ break;
++ case 4:
++ if ((0xffffffefffffffffL & l) == 0L)
++ break;
++ if (kind > 1)
++ kind = 1;
++ jjCheckNAddStates(0, 3);
++ break;
++ case 5:
++ if (curChar == 35)
++ jjstateSet[jjnewStateCnt++] = 6;
++ break;
++ case 6:
++ if ((0xfffffff7ffffffffL & l) == 0L)
++ break;
++ if (kind > 1)
++ kind = 1;
++ jjCheckNAddStates(0, 3);
++ break;
++ default:
++ break;
++ }
++ } while (i != startsAt);
++ } else if (curChar < 128) {
++ long l = 1L << (curChar & 077);
++ MatchLoop: do {
++ switch (jjstateSet[--i]) {
++ case 7:
++ if ((0xffffffffefffffffL & l) != 0L) {
++ if (kind > 1)
++ kind = 1;
++ jjCheckNAddStates(0, 3);
++ } else if (curChar == 92)
++ jjstateSet[jjnewStateCnt++] = 2;
++ break;
++ case 0:
++ if ((0xffffffffefffffffL & l) == 0L)
++ break;
++ if (kind > 1)
++ kind = 1;
++ jjCheckNAddStates(0, 3);
++ break;
++ case 1:
++ if (curChar == 92)
++ jjstateSet[jjnewStateCnt++] = 2;
++ break;
++ case 2:
++ if (curChar != 92)
++ break;
++ if (kind > 1)
++ kind = 1;
++ jjCheckNAddStates(0, 3);
++ break;
++ case 4:
++ case 6:
++ if ((0xf7ffffffffffffffL & l) == 0L)
++ break;
++ if (kind > 1)
++ kind = 1;
++ jjCheckNAddStates(0, 3);
++ 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);
++ MatchLoop: do {
++ switch (jjstateSet[--i]) {
++ case 7:
++ case 0:
++ case 4:
++ case 6:
++ if (!jjCanMove_0(hiByte, i1, i2, l1, l2))
++ break;
++ if (kind > 1)
++ kind = 1;
++ jjCheckNAddStates(0, 3);
++ break;
++ default:
++ break;
++ }
++ } while (i != startsAt);
++ }
++ if (kind != 0x7fffffff) {
++ jjmatchedKind = kind;
++ jjmatchedPos = curPos;
++ kind = 0x7fffffff;
++ }
++ ++curPos;
++ if ((i = jjnewStateCnt) == (startsAt = 8 - (jjnewStateCnt = startsAt)))
++ return curPos;
++ try {
++ curChar = input_stream.readChar();
++ } catch (java.io.IOException e) {
++ return curPos;
++ }
++ }
++ }
++
++ private final int jjStopStringLiteralDfa_1(int pos, long active0) {
++ switch (pos) {
++ case 0:
++ if ((active0 & 0x141d555401c000L) != 0L) {
++ jjmatchedKind = 53;
++ return 41;
++ }
++ if ((active0 & 0x40000L) != 0L)
++ return 1;
++ return -1;
++ case 1:
++ if ((active0 & 0x41554000000L) != 0L)
++ return 42;
++ if ((active0 & 0x1419400001c000L) != 0L) {
++ jjmatchedKind = 53;
++ jjmatchedPos = 1;
++ return 42;
++ }
++ return -1;
++ case 2:
++ if ((active0 & 0x14014000000000L) != 0L)
++ return 42;
++ if ((active0 & 0x18000001c000L) != 0L) {
++ jjmatchedKind = 53;
++ jjmatchedPos = 2;
++ return 42;
++ }
++ return -1;
++ case 3:
++ if ((active0 & 0x14000L) != 0L)
++ return 42;
++ if ((active0 & 0x180000008000L) != 0L) {
++ jjmatchedKind = 53;
++ jjmatchedPos = 3;
++ return 42;
++ }
++ return -1;
++ case 4:
++ if ((active0 & 0x80000008000L) != 0L)
++ return 42;
++ if ((active0 & 0x100000000000L) != 0L) {
++ jjmatchedKind = 53;
++ jjmatchedPos = 4;
++ return 42;
++ }
++ return -1;
++ case 5:
++ if ((active0 & 0x100000000000L) != 0L) {
++ jjmatchedKind = 53;
++ jjmatchedPos = 5;
++ return 42;
++ }
++ return -1;
++ case 6:
++ if ((active0 & 0x100000000000L) != 0L) {
++ jjmatchedKind = 53;
++ jjmatchedPos = 6;
++ return 42;
++ }
++ return -1;
++ case 7:
++ if ((active0 & 0x100000000000L) != 0L) {
++ jjmatchedKind = 53;
++ jjmatchedPos = 7;
++ return 42;
++ }
++ return -1;
++ case 8:
++ if ((active0 & 0x100000000000L) != 0L) {
++ jjmatchedKind = 53;
++ jjmatchedPos = 8;
++ return 42;
++ }
++ return -1;
++ default:
++ return -1;
++ }
++ }
++
++ private final int jjStartNfa_1(int pos, long active0) {
++ return jjMoveNfa_1(jjStopStringLiteralDfa_1(pos, active0), pos + 1);
++ }
++
++ private final int jjStartNfaWithStates_1(int pos, int kind, int state) {
++ jjmatchedKind = kind;
++ jjmatchedPos = pos;
++ try {
++ curChar = input_stream.readChar();
++ } catch (java.io.IOException e) {
++ return pos + 1;
++ }
++ return jjMoveNfa_1(state, pos + 1);
++ }
++
++ private final int jjMoveStringLiteralDfa0_1() {
++ switch (curChar) {
++ case 33:
++ jjmatchedKind = 37;
++ return jjMoveStringLiteralDfa1_1(0x800000000L);
++ case 37:
++ return jjStopAtPos(0, 51);
++ case 38:
++ return jjMoveStringLiteralDfa1_1(0x8000000000L);
++ case 40:
++ return jjStopAtPos(0, 19);
++ case 41:
++ return jjStopAtPos(0, 20);
++ case 42:
++ return jjStopAtPos(0, 45);
++ case 43:
++ return jjStopAtPos(0, 46);
++ case 44:
++ return jjStopAtPos(0, 24);
++ case 45:
++ return jjStopAtPos(0, 47);
++ case 46:
++ return jjStartNfaWithStates_1(0, 18, 1);
++ case 47:
++ return jjStopAtPos(0, 49);
++ case 58:
++ return jjStopAtPos(0, 23);
++ case 60:
++ jjmatchedKind = 27;
++ return jjMoveStringLiteralDfa1_1(0x80000000L);
++ case 61:
++ return jjMoveStringLiteralDfa1_1(0x200000000L);
++ case 62:
++ jjmatchedKind = 25;
++ return jjMoveStringLiteralDfa1_1(0x20000000L);
++ case 63:
++ return jjStopAtPos(0, 48);
++ case 91:
++ return jjStopAtPos(0, 21);
++ case 93:
++ return jjStopAtPos(0, 22);
++ case 97:
++ return jjMoveStringLiteralDfa1_1(0x10000000000L);
++ case 100:
++ return jjMoveStringLiteralDfa1_1(0x4000000000000L);
++ case 101:
++ return jjMoveStringLiteralDfa1_1(0x80400000000L);
++ case 102:
++ return jjMoveStringLiteralDfa1_1(0x8000L);
++ case 103:
++ return jjMoveStringLiteralDfa1_1(0x44000000L);
++ case 105:
++ return jjMoveStringLiteralDfa1_1(0x100000000000L);
++ case 108:
++ return jjMoveStringLiteralDfa1_1(0x110000000L);
++ case 109:
++ return jjMoveStringLiteralDfa1_1(0x10000000000000L);
++ case 110:
++ return jjMoveStringLiteralDfa1_1(0x5000010000L);
++ case 111:
++ return jjMoveStringLiteralDfa1_1(0x40000000000L);
++ case 116:
++ return jjMoveStringLiteralDfa1_1(0x4000L);
++ case 124:
++ return jjMoveStringLiteralDfa1_1(0x20000000000L);
++ case 125:
++ return jjStopAtPos(0, 17);
++ default:
++ return jjMoveNfa_1(0, 0);
++ }
++ }
++
++ private final int jjMoveStringLiteralDfa1_1(long active0) {
++ try {
++ curChar = input_stream.readChar();
++ } catch (java.io.IOException e) {
++ jjStopStringLiteralDfa_1(0, active0);
++ return 1;
++ }
++ switch (curChar) {
++ case 38:
++ if ((active0 & 0x8000000000L) != 0L)
++ return jjStopAtPos(1, 39);
++ break;
++ case 61:
++ if ((active0 & 0x20000000L) != 0L)
++ return jjStopAtPos(1, 29);
++ else if ((active0 & 0x80000000L) != 0L)
++ return jjStopAtPos(1, 31);
++ else if ((active0 & 0x200000000L) != 0L)
++ return jjStopAtPos(1, 33);
++ else if ((active0 & 0x800000000L) != 0L)
++ return jjStopAtPos(1, 35);
++ break;
++ case 97:
++ return jjMoveStringLiteralDfa2_1(active0, 0x8000L);
++ case 101:
++ if ((active0 & 0x40000000L) != 0L)
++ return jjStartNfaWithStates_1(1, 30, 42);
++ else if ((active0 & 0x100000000L) != 0L)
++ return jjStartNfaWithStates_1(1, 32, 42);
++ else if ((active0 & 0x1000000000L) != 0L)
++ return jjStartNfaWithStates_1(1, 36, 42);
++ break;
++ case 105:
++ return jjMoveStringLiteralDfa2_1(active0, 0x4000000000000L);
++ case 109:
++ return jjMoveStringLiteralDfa2_1(active0, 0x80000000000L);
++ case 110:
++ return jjMoveStringLiteralDfa2_1(active0, 0x110000000000L);
++ case 111:
++ return jjMoveStringLiteralDfa2_1(active0, 0x10004000000000L);
++ case 113:
++ if ((active0 & 0x400000000L) != 0L)
++ return jjStartNfaWithStates_1(1, 34, 42);
++ break;
++ case 114:
++ if ((active0 & 0x40000000000L) != 0L)
++ return jjStartNfaWithStates_1(1, 42, 42);
++ return jjMoveStringLiteralDfa2_1(active0, 0x4000L);
++ case 116:
++ if ((active0 & 0x4000000L) != 0L)
++ return jjStartNfaWithStates_1(1, 26, 42);
++ else if ((active0 & 0x10000000L) != 0L)
++ return jjStartNfaWithStates_1(1, 28, 42);
++ break;
++ case 117:
++ return jjMoveStringLiteralDfa2_1(active0, 0x10000L);
++ case 124:
++ if ((active0 & 0x20000000000L) != 0L)
++ return jjStopAtPos(1, 41);
++ break;
++ default:
++ break;
++ }
++ return jjStartNfa_1(0, active0);
++ }
++
++ private final int jjMoveStringLiteralDfa2_1(long old0, long active0) {
++ if (((active0 &= old0)) == 0L)
++ return jjStartNfa_1(0, old0);
++ try {
++ curChar = input_stream.readChar();
++ } catch (java.io.IOException e) {
++ jjStopStringLiteralDfa_1(1, active0);
++ return 2;
++ }
++ switch (curChar) {
++ case 100:
++ if ((active0 & 0x10000000000L) != 0L)
++ return jjStartNfaWithStates_1(2, 40, 42);
++ else if ((active0 & 0x10000000000000L) != 0L)
++ return jjStartNfaWithStates_1(2, 52, 42);
++ break;
++ case 108:
++ return jjMoveStringLiteralDfa3_1(active0, 0x18000L);
++ case 112:
++ return jjMoveStringLiteralDfa3_1(active0, 0x80000000000L);
++ case 115:
++ return jjMoveStringLiteralDfa3_1(active0, 0x100000000000L);
++ case 116:
++ if ((active0 & 0x4000000000L) != 0L)
++ return jjStartNfaWithStates_1(2, 38, 42);
++ break;
++ case 117:
++ return jjMoveStringLiteralDfa3_1(active0, 0x4000L);
++ case 118:
++ if ((active0 & 0x4000000000000L) != 0L)
++ return jjStartNfaWithStates_1(2, 50, 42);
++ break;
++ default:
++ break;
++ }
++ return jjStartNfa_1(1, active0);
++ }
++
++ private final int jjMoveStringLiteralDfa3_1(long old0, long active0) {
++ if (((active0 &= old0)) == 0L)
++ return jjStartNfa_1(1, old0);
++ try {
++ curChar = input_stream.readChar();
++ } catch (java.io.IOException e) {
++ jjStopStringLiteralDfa_1(2, active0);
++ return 3;
++ }
++ switch (curChar) {
++ case 101:
++ if ((active0 & 0x4000L) != 0L)
++ return jjStartNfaWithStates_1(3, 14, 42);
++ break;
++ case 108:
++ if ((active0 & 0x10000L) != 0L)
++ return jjStartNfaWithStates_1(3, 16, 42);
++ break;
++ case 115:
++ return jjMoveStringLiteralDfa4_1(active0, 0x8000L);
++ case 116:
++ return jjMoveStringLiteralDfa4_1(active0, 0x180000000000L);
++ default:
++ break;
++ }
++ return jjStartNfa_1(2, active0);
++ }
++
++ private final int jjMoveStringLiteralDfa4_1(long old0, long active0) {
++ if (((active0 &= old0)) == 0L)
++ return jjStartNfa_1(2, old0);
++ try {
++ curChar = input_stream.readChar();
++ } catch (java.io.IOException e) {
++ jjStopStringLiteralDfa_1(3, active0);
++ return 4;
++ }
++ switch (curChar) {
++ case 97:
++ return jjMoveStringLiteralDfa5_1(active0, 0x100000000000L);
++ case 101:
++ if ((active0 & 0x8000L) != 0L)
++ return jjStartNfaWithStates_1(4, 15, 42);
++ break;
++ case 121:
++ if ((active0 & 0x80000000000L) != 0L)
++ return jjStartNfaWithStates_1(4, 43, 42);
++ break;
++ default:
++ break;
++ }
++ return jjStartNfa_1(3, active0);
++ }
++
++ private final int jjMoveStringLiteralDfa5_1(long old0, long active0) {
++ if (((active0 &= old0)) == 0L)
++ return jjStartNfa_1(3, old0);
++ try {
++ curChar = input_stream.readChar();
++ } catch (java.io.IOException e) {
++ jjStopStringLiteralDfa_1(4, active0);
++ return 5;
++ }
++ switch (curChar) {
++ case 110:
++ return jjMoveStringLiteralDfa6_1(active0, 0x100000000000L);
++ default:
++ break;
++ }
++ return jjStartNfa_1(4, active0);
++ }
++
++ private final int jjMoveStringLiteralDfa6_1(long old0, long active0) {
++ if (((active0 &= old0)) == 0L)
++ return jjStartNfa_1(4, old0);
++ try {
++ curChar = input_stream.readChar();
++ } catch (java.io.IOException e) {
++ jjStopStringLiteralDfa_1(5, active0);
++ return 6;
++ }
++ switch (curChar) {
++ case 99:
++ return jjMoveStringLiteralDfa7_1(active0, 0x100000000000L);
++ default:
++ break;
++ }
++ return jjStartNfa_1(5, active0);
++ }
++
++ private final int jjMoveStringLiteralDfa7_1(long old0, long active0) {
++ if (((active0 &= old0)) == 0L)
++ return jjStartNfa_1(5, old0);
++ try {
++ curChar = input_stream.readChar();
++ } catch (java.io.IOException e) {
++ jjStopStringLiteralDfa_1(6, active0);
++ return 7;
++ }
++ switch (curChar) {
++ case 101:
++ return jjMoveStringLiteralDfa8_1(active0, 0x100000000000L);
++ default:
++ break;
++ }
++ return jjStartNfa_1(6, active0);
++ }
++
++ private final int jjMoveStringLiteralDfa8_1(long old0, long active0) {
++ if (((active0 &= old0)) == 0L)
++ return jjStartNfa_1(6, old0);
++ try {
++ curChar = input_stream.readChar();
++ } catch (java.io.IOException e) {
++ jjStopStringLiteralDfa_1(7, active0);
++ return 8;
++ }
++ switch (curChar) {
++ case 111:
++ return jjMoveStringLiteralDfa9_1(active0, 0x100000000000L);
++ default:
++ break;
++ }
++ return jjStartNfa_1(7, active0);
++ }
++
++ private final int jjMoveStringLiteralDfa9_1(long old0, long active0) {
++ if (((active0 &= old0)) == 0L)
++ return jjStartNfa_1(7, old0);
++ try {
++ curChar = input_stream.readChar();
++ } catch (java.io.IOException e) {
++ jjStopStringLiteralDfa_1(8, active0);
++ return 9;
++ }
++ switch (curChar) {
++ case 102:
++ if ((active0 & 0x100000000000L) != 0L)
++ return jjStartNfaWithStates_1(9, 44, 42);
++ break;
++ default:
++ break;
++ }
++ return jjStartNfa_1(8, active0);
++ }
++
++ static final long[] jjbitVec3 = { 0x1ff00000fffffffeL, 0xffffffffffffc000L,
++ 0xffffffffL, 0x600000000000000L };
++
++ static final long[] jjbitVec4 = { 0x0L, 0x0L, 0x0L, 0xff7fffffff7fffffL };
++
++ static final long[] jjbitVec5 = { 0x0L, 0xffffffffffffffffL,
++ 0xffffffffffffffffL, 0xffffffffffffffffL };
++
++ static final long[] jjbitVec6 = { 0xffffffffffffffffL, 0xffffffffffffffffL,
++ 0xffffL, 0x0L };
++
++ static final long[] jjbitVec7 = { 0xffffffffffffffffL, 0xffffffffffffffffL,
++ 0x0L, 0x0L };
++
++ static final long[] jjbitVec8 = { 0x3fffffffffffL, 0x0L, 0x0L, 0x0L };
++
++ private final int jjMoveNfa_1(int startState, int curPos) {
++ int[] nextStates;
++ int startsAt = 0;
++ jjnewStateCnt = 41;
++ int i = 1;
++ jjstateSet[0] = startState;
++ int j, kind = 0x7fffffff;
++ for (;;) {
++ if (++jjround == 0x7fffffff)
++ ReInitRounds();
++ if (curChar < 64) {
++ long l = 1L << curChar;
++ MatchLoop: do {
++ switch (jjstateSet[--i]) {
++ case 41:
++ if ((0x3ff001000000000L & l) != 0L) {
++ if (kind > 55)
++ kind = 55;
++ jjCheckNAdd(40);
++ } else if ((0x600000000000L & l) != 0L)
++ jjCheckNAddStates(4, 6);
++ else if (curChar == 58) {
++ if (kind > 54)
++ kind = 54;
++ }
++ if ((0x3ff001000000000L & l) != 0L)
++ jjCheckNAddStates(7, 10);
++ if ((0x3ff001000000000L & l) != 0L) {
++ if (kind > 53)
++ kind = 53;
++ jjCheckNAdd(34);
++ }
++ if ((0x1800000000L & l) != 0L)
++ jjCheckNAddStates(11, 14);
++ break;
++ case 0:
++ if ((0x3ff000000000000L & l) != 0L) {
++ if (kind > 9)
++ kind = 9;
++ jjCheckNAddStates(15, 19);
++ } else if ((0x1800000000L & l) != 0L) {
++ if (kind > 53)
++ kind = 53;
++ jjCheckNAddStates(20, 25);
++ } else if (curChar == 39)
++ jjCheckNAddStates(26, 30);
++ else if (curChar == 34)
++ jjCheckNAddStates(31, 35);
++ else if (curChar == 46)
++ jjCheckNAdd(1);
++ break;
++ case 42:
++ if ((0x3ff001000000000L & l) != 0L) {
++ if (kind > 55)
++ kind = 55;
++ jjCheckNAdd(40);
++ } else if ((0x600000000000L & l) != 0L)
++ jjCheckNAddStates(4, 6);
++ else if (curChar == 58) {
++ if (kind > 54)
++ kind = 54;
++ }
++ if ((0x3ff001000000000L & l) != 0L)
++ jjCheckNAddStates(11, 14);
++ if ((0x3ff001000000000L & l) != 0L)
++ jjCheckNAddStates(7, 10);
++ if ((0x3ff001000000000L & l) != 0L) {
++ if (kind > 53)
++ kind = 53;
++ jjCheckNAdd(34);
++ }
++ if ((0x1800000000L & l) != 0L)
++ jjCheckNAddStates(11, 14);
++ break;
++ case 1:
++ if ((0x3ff000000000000L & l) == 0L)
++ break;
++ if (kind > 10)
++ kind = 10;
++ jjCheckNAddTwoStates(1, 2);
++ break;
++ case 3:
++ if ((0x280000000000L & l) != 0L)
++ jjCheckNAdd(4);
++ break;
++ case 4:
++ if ((0x3ff000000000000L & l) == 0L)
++ break;
++ if (kind > 10)
++ kind = 10;
++ jjCheckNAdd(4);
++ break;
++ case 5:
++ if ((0x3ff000000000000L & l) == 0L)
++ break;
++ if (kind > 9)
++ kind = 9;
++ jjCheckNAddStates(15, 19);
++ break;
++ case 6:
++ if ((0x3ff000000000000L & l) == 0L)
++ break;
++ if (kind > 9)
++ kind = 9;
++ jjCheckNAdd(6);
++ break;
++ case 7:
++ if ((0x3ff000000000000L & l) != 0L)
++ jjCheckNAddTwoStates(7, 8);
++ break;
++ case 8:
++ if (curChar != 46)
++ break;
++ if (kind > 10)
++ kind = 10;
++ jjCheckNAddTwoStates(9, 10);
++ break;
++ case 9:
++ if ((0x3ff000000000000L & l) == 0L)
++ break;
++ if (kind > 10)
++ kind = 10;
++ jjCheckNAddTwoStates(9, 10);
++ break;
++ case 11:
++ if ((0x280000000000L & l) != 0L)
++ jjCheckNAdd(12);
++ break;
++ case 12:
++ if ((0x3ff000000000000L & l) == 0L)
++ break;
++ if (kind > 10)
++ kind = 10;
++ jjCheckNAdd(12);
++ break;
++ case 13:
++ if ((0x3ff000000000000L & l) != 0L)
++ jjCheckNAddTwoStates(13, 14);
++ break;
++ case 15:
++ if ((0x280000000000L & l) != 0L)
++ jjCheckNAdd(16);
++ break;
++ case 16:
++ if ((0x3ff000000000000L & l) == 0L)
++ break;
++ if (kind > 10)
++ kind = 10;
++ jjCheckNAdd(16);
++ break;
++ case 17:
++ if (curChar == 34)
++ jjCheckNAddStates(31, 35);
++ break;
++ case 18:
++ if ((0xfffffffbffffffffL & l) != 0L)
++ jjCheckNAddStates(36, 38);
++ break;
++ case 20:
++ if (curChar == 34)
++ jjCheckNAddStates(36, 38);
++ break;
++ case 21:
++ if (curChar == 34 && kind > 12)
++ kind = 12;
++ break;
++ case 22:
++ if ((0xfffffffbffffffffL & l) != 0L)
++ jjCheckNAddTwoStates(22, 23);
++ break;
++ case 24:
++ if ((0xfffffffbffffffffL & l) != 0L && kind > 13)
++ kind = 13;
++ break;
++ case 25:
++ if (curChar == 39)
++ jjCheckNAddStates(26, 30);
++ break;
++ case 26:
++ if ((0xffffff7fffffffffL & l) != 0L)
++ jjCheckNAddStates(39, 41);
++ break;
++ case 28:
++ if (curChar == 39)
++ jjCheckNAddStates(39, 41);
++ break;
++ case 29:
++ if (curChar == 39 && kind > 12)
++ kind = 12;
++ break;
++ case 30:
++ if ((0xffffff7fffffffffL & l) != 0L)
++ jjCheckNAddTwoStates(30, 31);
++ break;
++ case 32:
++ if ((0xffffff7fffffffffL & l) != 0L && kind > 13)
++ kind = 13;
++ break;
++ case 33:
++ if ((0x1800000000L & l) == 0L)
++ break;
++ if (kind > 53)
++ kind = 53;
++ jjCheckNAddStates(20, 25);
++ break;
++ case 34:
++ if ((0x3ff001000000000L & l) == 0L)
++ break;
++ if (kind > 53)
++ kind = 53;
++ jjCheckNAdd(34);
++ break;
++ case 35:
++ if ((0x3ff001000000000L & l) != 0L)
++ jjCheckNAddStates(7, 10);
++ break;
++ case 36:
++ if ((0x1800000000L & l) != 0L)
++ jjCheckNAddStates(11, 14);
++ break;
++ case 37:
++ if ((0x3ff001000000000L & l) != 0L)
++ jjCheckNAddStates(11, 14);
++ break;
++ case 38:
++ if ((0x600000000000L & l) != 0L)
++ jjCheckNAddStates(4, 6);
++ break;
++ case 39:
++ if (curChar == 58 && kind > 54)
++ kind = 54;
++ break;
++ case 40:
++ if ((0x3ff001000000000L & l) == 0L)
++ break;
++ if (kind > 55)
++ kind = 55;
++ jjCheckNAdd(40);
++ break;
++ default:
++ break;
++ }
++ } while (i != startsAt);
++ } else if (curChar < 128) {
++ long l = 1L << (curChar & 077);
++ MatchLoop: do {
++ switch (jjstateSet[--i]) {
++ case 41:
++ if ((0x7fffffe87fffffeL & l) != 0L) {
++ if (kind > 55)
++ kind = 55;
++ jjCheckNAdd(40);
++ }
++ if ((0x7fffffe87fffffeL & l) != 0L)
++ jjCheckNAddStates(11, 14);
++ if ((0x7fffffe87fffffeL & l) != 0L)
++ jjCheckNAddStates(7, 10);
++ if ((0x7fffffe87fffffeL & l) != 0L) {
++ if (kind > 53)
++ kind = 53;
++ jjCheckNAdd(34);
++ }
++ break;
++ case 0:
++ if ((0x7fffffe87fffffeL & l) == 0L)
++ break;
++ if (kind > 53)
++ kind = 53;
++ jjCheckNAddStates(20, 25);
++ break;
++ case 42:
++ if ((0x7fffffe87fffffeL & l) != 0L) {
++ if (kind > 55)
++ kind = 55;
++ jjCheckNAdd(40);
++ }
++ if ((0x7fffffe87fffffeL & l) != 0L)
++ jjCheckNAddStates(11, 14);
++ if ((0x7fffffe87fffffeL & l) != 0L)
++ jjCheckNAddStates(11, 14);
++ if ((0x7fffffe87fffffeL & l) != 0L)
++ jjCheckNAddStates(7, 10);
++ if ((0x7fffffe87fffffeL & l) != 0L) {
++ if (kind > 53)
++ kind = 53;
++ jjCheckNAdd(34);
++ }
++ break;
++ case 2:
++ if ((0x2000000020L & l) != 0L)
++ jjAddStates(42, 43);
++ break;
++ case 10:
++ if ((0x2000000020L & l) != 0L)
++ jjAddStates(44, 45);
++ break;
++ case 14:
++ if ((0x2000000020L & l) != 0L)
++ jjAddStates(46, 47);
++ break;
++ case 18:
++ if ((0xffffffffefffffffL & l) != 0L)
++ jjCheckNAddStates(36, 38);
++ break;
++ case 19:
++ if (curChar == 92)
++ jjstateSet[jjnewStateCnt++] = 20;
++ break;
++ case 20:
++ if (curChar == 92)
++ jjCheckNAddStates(36, 38);
++ break;
++ case 22:
++ if ((0xffffffffefffffffL & l) != 0L)
++ jjAddStates(48, 49);
++ break;
++ case 23:
++ if (curChar == 92)
++ jjstateSet[jjnewStateCnt++] = 24;
++ break;
++ case 24:
++ case 32:
++ if ((0xffffffffefffffffL & l) != 0L && kind > 13)
++ kind = 13;
++ break;
++ case 26:
++ if ((0xffffffffefffffffL & l) != 0L)
++ jjCheckNAddStates(39, 41);
++ break;
++ case 27:
++ if (curChar == 92)
++ jjstateSet[jjnewStateCnt++] = 28;
++ break;
++ case 28:
++ if (curChar == 92)
++ jjCheckNAddStates(39, 41);
++ break;
++ case 30:
++ if ((0xffffffffefffffffL & l) != 0L)
++ jjAddStates(50, 51);
++ break;
++ case 31:
++ if (curChar == 92)
++ jjstateSet[jjnewStateCnt++] = 32;
++ break;
++ case 34:
++ if ((0x7fffffe87fffffeL & l) == 0L)
++ break;
++ if (kind > 53)
++ kind = 53;
++ jjCheckNAdd(34);
++ break;
++ case 35:
++ if ((0x7fffffe87fffffeL & l) != 0L)
++ jjCheckNAddStates(7, 10);
++ break;
++ case 36:
++ if ((0x7fffffe87fffffeL & l) != 0L)
++ jjCheckNAddStates(11, 14);
++ break;
++ case 37:
++ if ((0x7fffffe87fffffeL & l) != 0L)
++ jjCheckNAddStates(11, 14);
++ break;
++ case 40:
++ if ((0x7fffffe87fffffeL & l) == 0L)
++ break;
++ if (kind > 55)
++ kind = 55;
++ jjCheckNAdd(40);
++ 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);
++ MatchLoop: do {
++ switch (jjstateSet[--i]) {
++ case 41:
++ if (jjCanMove_1(hiByte, i1, i2, l1, l2)) {
++ if (kind > 53)
++ kind = 53;
++ jjCheckNAdd(34);
++ }
++ if (jjCanMove_1(hiByte, i1, i2, l1, l2))
++ jjCheckNAddStates(7, 10);
++ if (jjCanMove_1(hiByte, i1, i2, l1, l2))
++ jjCheckNAddStates(11, 14);
++ if (jjCanMove_1(hiByte, i1, i2, l1, l2)) {
++ if (kind > 55)
++ kind = 55;
++ jjCheckNAdd(40);
++ }
++ break;
++ case 0:
++ if (!jjCanMove_1(hiByte, i1, i2, l1, l2))
++ break;
++ if (kind > 53)
++ kind = 53;
++ jjCheckNAddStates(20, 25);
++ break;
++ case 42:
++ if (jjCanMove_1(hiByte, i1, i2, l1, l2)) {
++ if (kind > 53)
++ kind = 53;
++ jjCheckNAdd(34);
++ }
++ if (jjCanMove_1(hiByte, i1, i2, l1, l2))
++ jjCheckNAddStates(7, 10);
++ if (jjCanMove_1(hiByte, i1, i2, l1, l2))
++ jjCheckNAddStates(11, 14);
++ if (jjCanMove_1(hiByte, i1, i2, l1, l2))
++ jjCheckNAddStates(11, 14);
++ if (jjCanMove_1(hiByte, i1, i2, l1, l2)) {
++ if (kind > 55)
++ kind = 55;
++ jjCheckNAdd(40);
++ }
++ break;
++ case 18:
++ if (jjCanMove_0(hiByte, i1, i2, l1, l2))
++ jjAddStates(36, 38);
++ break;
++ case 22:
++ if (jjCanMove_0(hiByte, i1, i2, l1, l2))
++ jjAddStates(48, 49);
++ break;
++ case 24:
++ case 32:
++ if (jjCanMove_0(hiByte, i1, i2, l1, l2) && kind > 13)
++ kind = 13;
++ break;
++ case 26:
++ if (jjCanMove_0(hiByte, i1, i2, l1, l2))
++ jjAddStates(39, 41);
++ break;
++ case 30:
++ if (jjCanMove_0(hiByte, i1, i2, l1, l2))
++ jjAddStates(50, 51);
++ break;
++ case 34:
++ if (!jjCanMove_1(hiByte, i1, i2, l1, l2))
++ break;
++ if (kind > 53)
++ kind = 53;
++ jjCheckNAdd(34);
++ break;
++ case 35:
++ if (jjCanMove_1(hiByte, i1, i2, l1, l2))
++ jjCheckNAddStates(7, 10);
++ break;
++ case 36:
++ if (jjCanMove_1(hiByte, i1, i2, l1, l2))
++ jjCheckNAddStates(11, 14);
++ break;
++ case 37:
++ if (jjCanMove_1(hiByte, i1, i2, l1, l2))
++ jjCheckNAddStates(11, 14);
++ break;
++ case 40:
++ if (!jjCanMove_1(hiByte, i1, i2, l1, l2))
++ break;
++ if (kind > 55)
++ kind = 55;
++ jjCheckNAdd(40);
++ break;
++ default:
++ break;
++ }
++ } while (i != startsAt);
++ }
++ if (kind != 0x7fffffff) {
++ jjmatchedKind = kind;
++ jjmatchedPos = curPos;
++ kind = 0x7fffffff;
++ }
++ ++curPos;
++ if ((i = jjnewStateCnt) == (startsAt = 41 - (jjnewStateCnt = startsAt)))
++ return curPos;
++ try {
++ curChar = input_stream.readChar();
++ } catch (java.io.IOException e) {
++ return curPos;
++ }
++ }
++ }
++
++ static final int[] jjnextStates = { 0, 1, 3, 5, 36, 38, 39, 35, 36, 38, 39,
++ 36, 37, 38, 39, 6, 7, 8, 13, 14, 34, 35, 36, 38, 39, 40, 26, 27,
++ 29, 30, 31, 18, 19, 21, 22, 23, 18, 19, 21, 26, 27, 29, 3, 4, 11,
++ 12, 15, 16, 22, 23, 30, 31, };
++
++ private static final boolean jjCanMove_0(int hiByte, int i1, int i2,
++ long l1, long l2) {
++ switch (hiByte) {
++ case 0:
++ return ((jjbitVec2[i2] & l2) != 0L);
++ default:
++ if ((jjbitVec0[i1] & l1) != 0L)
++ return true;
++ return false;
++ }
++ }
++
++ private static final boolean jjCanMove_1(int hiByte, int i1, int i2,
++ long l1, long l2) {
++ switch (hiByte) {
++ case 0:
++ return ((jjbitVec4[i2] & l2) != 0L);
++ case 48:
++ return ((jjbitVec5[i2] & l2) != 0L);
++ case 49:
++ return ((jjbitVec6[i2] & l2) != 0L);
++ case 51:
++ return ((jjbitVec7[i2] & l2) != 0L);
++ case 61:
++ return ((jjbitVec8[i2] & l2) != 0L);
++ default:
++ if ((jjbitVec3[i1] & l1) != 0L)
++ return true;
++ return false;
++ }
++ }
++
++ public static final String[] jjstrLiteralImages = { "", null, "\44\173",
++ "\43\173", null, null, null, null, null, null, null, null, null,
++ null, "\164\162\165\145", "\146\141\154\163\145",
++ "\156\165\154\154", "\175", "\56", "\50", "\51", "\133", "\135",
++ "\72", "\54", "\76", "\147\164", "\74", "\154\164", "\76\75",
++ "\147\145", "\74\75", "\154\145", "\75\75", "\145\161", "\41\75",
++ "\156\145", "\41", "\156\157\164", "\46\46", "\141\156\144",
++ "\174\174", "\157\162", "\145\155\160\164\171",
++ "\151\156\163\164\141\156\143\145\157\146", "\52", "\53", "\55",
++ "\77", "\57", "\144\151\166", "\45", "\155\157\144", null, null,
++ null, null, null, null, null, };
++
++ public static final String[] lexStateNames = { "DEFAULT", "IN_EXPRESSION", };
++
++ public static final int[] jjnewLexState = { -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,
++ -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, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, };
++
++ static final long[] jjtoToken = { 0x8fffffffffff60fL, };
++
++ static final long[] jjtoSkip = { 0x1f0L, };
++
++ protected SimpleCharStream input_stream;
++
++ private final int[] jjrounds = new int[41];
++
++ private final int[] jjstateSet = new int[82];
++
++ protected char curChar;
++
++ public ELParserTokenManager(SimpleCharStream stream) {
++ if (SimpleCharStream.staticFlag)
++ throw new Error(
++ "ERROR: Cannot use a static CharStream class with a non-static lexical analyzer.");
++ input_stream = stream;
++ }
++
++ public ELParserTokenManager(SimpleCharStream stream, int lexState) {
++ this(stream);
++ SwitchTo(lexState);
++ }
++
++ public void ReInit(SimpleCharStream stream) {
++ jjmatchedPos = jjnewStateCnt = 0;
++ curLexState = defaultLexState;
++ input_stream = stream;
++ ReInitRounds();
++ }
++
++ private final void ReInitRounds() {
++ int i;
++ jjround = 0x80000001;
++ for (i = 41; i-- > 0;)
++ jjrounds[i] = 0x80000000;
++ }
++
++ public void ReInit(SimpleCharStream stream, int lexState) {
++ ReInit(stream);
++ SwitchTo(lexState);
++ }
++
++ public void SwitchTo(int lexState) {
++ if (lexState >= 2 || lexState < 0)
++ throw new TokenMgrError("Error: Ignoring invalid lexical state : "
++ + lexState + ". State unchanged.",
++ TokenMgrError.INVALID_LEXICAL_STATE);
++ else
++ curLexState = lexState;
++ }
++
++ protected Token jjFillToken() {
++ Token t = Token.newToken(jjmatchedKind);
++ t.kind = jjmatchedKind;
++ String im = jjstrLiteralImages[jjmatchedKind];
++ t.image = (im == null) ? input_stream.GetImage() : im;
++ t.beginLine = input_stream.getBeginLine();
++ t.beginColumn = input_stream.getBeginColumn();
++ t.endLine = input_stream.getEndLine();
++ t.endColumn = input_stream.getEndColumn();
++ return t;
++ }
++
++ int curLexState = 0;
++
++ int defaultLexState = 0;
++
++ int jjnewStateCnt;
++
++ int jjround;
++
++ int jjmatchedPos;
++
++ int jjmatchedKind;
++
++ public Token getNextToken() {
++ int kind;
++ Token specialToken = null;
++ Token matchedToken;
++ int curPos = 0;
++
++ EOFLoop: for (;;) {
++ try {
++ curChar = input_stream.BeginToken();
++ } catch (java.io.IOException e) {
++ jjmatchedKind = 0;
++ matchedToken = jjFillToken();
++ return matchedToken;
++ }
++
++ switch (curLexState) {
++ case 0:
++ jjmatchedKind = 0x7fffffff;
++ jjmatchedPos = 0;
++ curPos = jjMoveStringLiteralDfa0_0();
++ break;
++ case 1:
++ try {
++ input_stream.backup(0);
++ while (curChar <= 32
++ && (0x100002600L & (1L << curChar)) != 0L)
++ curChar = input_stream.BeginToken();
++ } catch (java.io.IOException e1) {
++ continue EOFLoop;
++ }
++ jjmatchedKind = 0x7fffffff;
++ jjmatchedPos = 0;
++ curPos = jjMoveStringLiteralDfa0_1();
++ if (jjmatchedPos == 0 && jjmatchedKind > 59) {
++ jjmatchedKind = 59;
++ }
++ break;
++ }
++ if (jjmatchedKind != 0x7fffffff) {
++ if (jjmatchedPos + 1 < curPos)
++ input_stream.backup(curPos - jjmatchedPos - 1);
++ if ((jjtoToken[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L) {
++ matchedToken = jjFillToken();
++ if (jjnewLexState[jjmatchedKind] != -1)
++ curLexState = jjnewLexState[jjmatchedKind];
++ return matchedToken;
++ } else {
++ if (jjnewLexState[jjmatchedKind] != -1)
++ curLexState = jjnewLexState[jjmatchedKind];
++ continue EOFLoop;
++ }
++ }
++ int error_line = input_stream.getEndLine();
++ int error_column = input_stream.getEndColumn();
++ String error_after = null;
++ boolean EOFSeen = false;
++ try {
++ input_stream.readChar();
++ input_stream.backup(1);
++ } catch (java.io.IOException e1) {
++ EOFSeen = true;
++ error_after = curPos <= 1 ? "" : input_stream.GetImage();
++ if (curChar == '\n' || curChar == '\r') {
++ error_line++;
++ error_column = 0;
++ } else
++ error_column++;
++ }
++ if (!EOFSeen) {
++ input_stream.backup(1);
++ error_after = curPos <= 1 ? "" : input_stream.GetImage();
++ }
++ throw new TokenMgrError(EOFSeen, curLexState, error_line,
++ error_column, error_after, curChar,
++ TokenMgrError.LEXICAL_ERROR);
++ }
++ }
++
+ }
+Index: java/org/apache/el/parser/ELParserConstants.java
+===================================================================
+--- java/org/apache/el/parser/ELParserConstants.java (revision 685950)
++++ java/org/apache/el/parser/ELParserConstants.java (working copy)
+@@ -19,130 +19,131 @@
+
+ public interface ELParserConstants {
+
+- int EOF = 0;
+- int LITERAL_EXPRESSION = 1;
+- int START_DYNAMIC_EXPRESSION = 2;
+- int START_DEFERRED_EXPRESSION = 3;
+- int INTEGER_LITERAL = 9;
+- int FLOATING_POINT_LITERAL = 10;
+- int EXPONENT = 11;
+- int STRING_LITERAL = 12;
+- int BADLY_ESCAPED_STRING_LITERAL = 13;
+- int TRUE = 14;
+- int FALSE = 15;
+- int NULL = 16;
+- int END_EXPRESSION = 17;
+- int DOT = 18;
+- int LPAREN = 19;
+- int RPAREN = 20;
+- int LBRACK = 21;
+- int RBRACK = 22;
+- int COLON = 23;
+- int COMMA = 24;
+- int GT0 = 25;
+- int GT1 = 26;
+- int LT0 = 27;
+- int LT1 = 28;
+- int GE0 = 29;
+- int GE1 = 30;
+- int LE0 = 31;
+- int LE1 = 32;
+- int EQ0 = 33;
+- int EQ1 = 34;
+- int NE0 = 35;
+- int NE1 = 36;
+- int NOT0 = 37;
+- int NOT1 = 38;
+- int AND0 = 39;
+- int AND1 = 40;
+- int OR0 = 41;
+- int OR1 = 42;
+- int EMPTY = 43;
+- int INSTANCEOF = 44;
+- int MULT = 45;
+- int PLUS = 46;
+- int MINUS = 47;
+- int QUESTIONMARK = 48;
+- int DIV0 = 49;
+- int DIV1 = 50;
+- int MOD0 = 51;
+- int MOD1 = 52;
+- int IDENTIFIER = 53;
+- int NAMESPACE = 54;
+- int NAMESPACE_NAME = 55;
+- int FUNCTION_CALL = 56;
+- int FUNCTIONSUFFIX = 57;
+- int IMPL_OBJ_START = 58;
+- int LETTER = 59;
+- int DIGIT = 60;
+- int ILLEGAL_CHARACTER = 61;
++ int EOF = 0;
+
+- int DEFAULT = 0;
+- int IN_EXPRESSION = 1;
++ int LITERAL_EXPRESSION = 1;
+
+- String[] tokenImage = {
+- "<EOF>",
+- "<LITERAL_EXPRESSION>",
+- "\"${\"",
+- "\"#{\"",
+- "\"\\\\\"",
+- "\" \"",
+- "\"\\t\"",
+- "\"\\n\"",
+- "\"\\r\"",
+- "<INTEGER_LITERAL>",
+- "<FLOATING_POINT_LITERAL>",
+- "<EXPONENT>",
+- "<STRING_LITERAL>",
+- "<BADLY_ESCAPED_STRING_LITERAL>",
+- "\"true\"",
+- "\"false\"",
+- "\"null\"",
+- "\"}\"",
+- "\".\"",
+- "\"(\"",
+- "\")\"",
+- "\"[\"",
+- "\"]\"",
+- "\":\"",
+- "\",\"",
+- "\">\"",
+- "\"gt\"",
+- "\"<\"",
+- "\"lt\"",
+- "\">=\"",
+- "\"ge\"",
+- "\"<=\"",
+- "\"le\"",
+- "\"==\"",
+- "\"eq\"",
+- "\"!=\"",
+- "\"ne\"",
+- "\"!\"",
+- "\"not\"",
+- "\"&&\"",
+- "\"and\"",
+- "\"||\"",
+- "\"or\"",
+- "\"empty\"",
+- "\"instanceof\"",
+- "\"*\"",
+- "\"+\"",
+- "\"-\"",
+- "\"?\"",
+- "\"/\"",
+- "\"div\"",
+- "\"%\"",
+- "\"mod\"",
+- "<IDENTIFIER>",
+- "<NAMESPACE>",
+- "<NAMESPACE_NAME>",
+- "<FUNCTION_CALL>",
+- "<FUNCTIONSUFFIX>",
+- "\"#\"",
+- "<LETTER>",
+- "<DIGIT>",
+- "<ILLEGAL_CHARACTER>",
+- };
++ int START_DYNAMIC_EXPRESSION = 2;
+
++ int START_DEFERRED_EXPRESSION = 3;
++
++ int INTEGER_LITERAL = 9;
++
++ int FLOATING_POINT_LITERAL = 10;
++
++ int EXPONENT = 11;
++
++ int STRING_LITERAL = 12;
++
++ int BADLY_ESCAPED_STRING_LITERAL = 13;
++
++ int TRUE = 14;
++
++ int FALSE = 15;
++
++ int NULL = 16;
++
++ int END_EXPRESSION = 17;
++
++ int DOT = 18;
++
++ int LPAREN = 19;
++
++ int RPAREN = 20;
++
++ int LBRACK = 21;
++
++ int RBRACK = 22;
++
++ int COLON = 23;
++
++ int COMMA = 24;
++
++ int GT0 = 25;
++
++ int GT1 = 26;
++
++ int LT0 = 27;
++
++ int LT1 = 28;
++
++ int GE0 = 29;
++
++ int GE1 = 30;
++
++ int LE0 = 31;
++
++ int LE1 = 32;
++
++ int EQ0 = 33;
++
++ int EQ1 = 34;
++
++ int NE0 = 35;
++
++ int NE1 = 36;
++
++ int NOT0 = 37;
++
++ int NOT1 = 38;
++
++ int AND0 = 39;
++
++ int AND1 = 40;
++
++ int OR0 = 41;
++
++ int OR1 = 42;
++
++ int EMPTY = 43;
++
++ int INSTANCEOF = 44;
++
++ int MULT = 45;
++
++ int PLUS = 46;
++
++ int MINUS = 47;
++
++ int QUESTIONMARK = 48;
++
++ int DIV0 = 49;
++
++ int DIV1 = 50;
++
++ int MOD0 = 51;
++
++ int MOD1 = 52;
++
++ int IDENTIFIER = 53;
++
++ int NAMESPACE = 54;
++
++ int FUNCTIONSUFFIX = 55;
++
++ int IMPL_OBJ_START = 56;
++
++ int LETTER = 57;
++
++ int DIGIT = 58;
++
++ int ILLEGAL_CHARACTER = 59;
++
++ int DEFAULT = 0;
++
++ int IN_EXPRESSION = 1;
++
++ String[] tokenImage = { "<EOF>", "<LITERAL_EXPRESSION>", "\"${\"",
++ "\"#{\"", "\"\\\\\"", "\" \"", "\"\\t\"", "\"\\n\"", "\"\\r\"",
++ "<INTEGER_LITERAL>", "<FLOATING_POINT_LITERAL>", "<EXPONENT>",
++ "<STRING_LITERAL>", "<BADLY_ESCAPED_STRING_LITERAL>", "\"true\"",
++ "\"false\"", "\"null\"", "\"}\"", "\".\"", "\"(\"", "\")\"",
++ "\"[\"", "\"]\"", "\":\"", "\",\"", "\">\"", "\"gt\"", "\"<\"",
++ "\"lt\"", "\">=\"", "\"ge\"", "\"<=\"", "\"le\"", "\"==\"",
++ "\"eq\"", "\"!=\"", "\"ne\"", "\"!\"", "\"not\"", "\"&&\"",
++ "\"and\"", "\"||\"", "\"or\"", "\"empty\"", "\"instanceof\"",
++ "\"*\"", "\"+\"", "\"-\"", "\"?\"", "\"/\"", "\"div\"", "\"%\"",
[... 925 lines stripped ...]