tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ma...@apache.org
Subject svn commit: r658470 [2/2] - in /tomcat/tc6.0.x/trunk: ./ java/org/apache/el/parser/ webapps/docs/
Date Tue, 20 May 2008 22:39:42 GMT
Modified: tomcat/tc6.0.x/trunk/java/org/apache/el/parser/ELParserTokenManager.java
URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/el/parser/ELParserTokenManager.java?rev=658470&r1=658469&r2=658470&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/java/org/apache/el/parser/ELParserTokenManager.java (original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/el/parser/ELParserTokenManager.java Tue May 20 15:39:42 2008
@@ -16,1404 +16,1448 @@
  */
 /* 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 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;
+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 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;
+}
 
-		EOFLoop: for (;;) {
-			try {
-				curChar = input_stream.BeginToken();
-			} catch (java.io.IOException e) {
-				jjmatchedKind = 0;
-				matchedToken = jjFillToken();
-				return matchedToken;
-			}
+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;
+}
 
-			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);
-		}
-	}
+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);
+  }
+}
 
 }

Modified: tomcat/tc6.0.x/trunk/java/org/apache/el/parser/ParseException.java
URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/el/parser/ParseException.java?rev=658470&r1=658469&r2=658470&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/java/org/apache/el/parser/ParseException.java (original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/el/parser/ParseException.java Tue May 20 15:39:42 2008
@@ -114,19 +114,19 @@
     if (!specialConstructor) {
       return super.getMessage();
     }
-    String expected = "";
+    StringBuffer expected = new StringBuffer();
     int maxSize = 0;
     for (int i = 0; i < expectedTokenSequences.length; i++) {
       if (maxSize < expectedTokenSequences[i].length) {
         maxSize = expectedTokenSequences[i].length;
       }
       for (int j = 0; j < expectedTokenSequences[i].length; j++) {
-        expected += tokenImage[expectedTokenSequences[i][j]] + " ";
+        expected.append(tokenImage[expectedTokenSequences[i][j]]).append(" ");
       }
       if (expectedTokenSequences[i][expectedTokenSequences[i].length - 1] != 0) {
-        expected += "...";
+        expected.append("...");
       }
-      expected += eol + "    ";
+      expected.append(eol).append("    ");
     }
     String retval = "Encountered \"";
     Token tok = currentToken.next;
@@ -146,7 +146,7 @@
     } else {
       retval += "Was expecting one of:" + eol + "    ";
     }
-    retval += expected;
+    retval += expected.toString();
     return retval;
   }
 

Modified: tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml
URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml?rev=658470&r1=658469&r2=658470&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml Tue May 20 15:39:42 2008
@@ -265,6 +265,10 @@
         <bug>44986</bug>: Make page encoding consistency checks case-insensitive.
         (markt)
       </fix>
+      <fix>
+        <bug>44994</bug>: Enable nested conditional expressions in JSP EL. Patch
+        provided by James Manger. (markt)
+      </fix>
     </changelog>
   </subsection>
   <subsection name="Webapps">



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Mime
View raw message