You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ibatis.apache.org by cb...@apache.org on 2008/08/10 08:00:22 UTC
svn commit: r684410 [8/16] - in /ibatis/trunk/java/ibatis-3: ./
ibatis-3-core/src/main/java/org/apache/ibatis/ognl/
ibatis-3-core/src/test/java/org/apache/ibatis/ognl/
ibatis-3-core/src/test/java/org/apache/ibatis/ognl/objects/
ibatis-3-core/src/test/j...
Added: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/ognl/OgnlParserConstants.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/ognl/OgnlParserConstants.java?rev=684410&view=auto
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/ognl/OgnlParserConstants.java (added)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/ognl/OgnlParserConstants.java Sat Aug 9 23:00:18 2008
@@ -0,0 +1,118 @@
+/* Generated By:JJTree&JavaCC: Do not edit this line. OgnlParserConstants.java */
+package org.apache.ibatis.ognl;
+
+public interface OgnlParserConstants {
+
+ int EOF = 0;
+ int IDENT = 64;
+ int LETTER = 65;
+ int DIGIT = 66;
+ int DYNAMIC_SUBSCRIPT = 67;
+ int ESC = 71;
+ int CHAR_LITERAL = 73;
+ int BACK_CHAR_ESC = 74;
+ int BACK_CHAR_LITERAL = 76;
+ int STRING_ESC = 77;
+ int STRING_LITERAL = 79;
+ int INT_LITERAL = 80;
+ int FLT_LITERAL = 81;
+ int DEC_FLT = 82;
+ int DEC_DIGITS = 83;
+ int EXPONENT = 84;
+ int FLT_SUFF = 85;
+
+ int DEFAULT = 0;
+ int WithinCharLiteral = 1;
+ int WithinBackCharLiteral = 2;
+ int WithinStringLiteral = 3;
+
+ String[] tokenImage = {
+ "<EOF>",
+ "\",\"",
+ "\"=\"",
+ "\"?\"",
+ "\":\"",
+ "\"||\"",
+ "\"or\"",
+ "\"&&\"",
+ "\"and\"",
+ "\"|\"",
+ "\"bor\"",
+ "\"^\"",
+ "\"xor\"",
+ "\"&\"",
+ "\"band\"",
+ "\"==\"",
+ "\"eq\"",
+ "\"!=\"",
+ "\"neq\"",
+ "\"<\"",
+ "\"lt\"",
+ "\">\"",
+ "\"gt\"",
+ "\"<=\"",
+ "\"lte\"",
+ "\">=\"",
+ "\"gte\"",
+ "\"in\"",
+ "\"not\"",
+ "\"<<\"",
+ "\"shl\"",
+ "\">>\"",
+ "\"shr\"",
+ "\">>>\"",
+ "\"ushr\"",
+ "\"+\"",
+ "\"-\"",
+ "\"*\"",
+ "\"/\"",
+ "\"%\"",
+ "\"~\"",
+ "\"!\"",
+ "\"instanceof\"",
+ "\".\"",
+ "\"(\"",
+ "\")\"",
+ "\"true\"",
+ "\"false\"",
+ "\"null\"",
+ "\"#this\"",
+ "\"#root\"",
+ "\"#\"",
+ "\"[\"",
+ "\"]\"",
+ "\"{\"",
+ "\"}\"",
+ "\"@\"",
+ "\"new\"",
+ "\"$\"",
+ "\" \"",
+ "\"\\t\"",
+ "\"\\f\"",
+ "\"\\r\"",
+ "\"\\n\"",
+ "<IDENT>",
+ "<LETTER>",
+ "<DIGIT>",
+ "<DYNAMIC_SUBSCRIPT>",
+ "\"`\"",
+ "\"\\\'\"",
+ "\"\\\"\"",
+ "<ESC>",
+ "<token of kind 72>",
+ "\"\\\'\"",
+ "<BACK_CHAR_ESC>",
+ "<token of kind 75>",
+ "\"`\"",
+ "<STRING_ESC>",
+ "<token of kind 78>",
+ "\"\\\"\"",
+ "<INT_LITERAL>",
+ "<FLT_LITERAL>",
+ "<DEC_FLT>",
+ "<DEC_DIGITS>",
+ "<EXPONENT>",
+ "<FLT_SUFF>",
+ };
+
+}
Added: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/ognl/OgnlParserTokenManager.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/ognl/OgnlParserTokenManager.java?rev=684410&view=auto
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/ognl/OgnlParserTokenManager.java (added)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/ognl/OgnlParserTokenManager.java Sat Aug 9 23:00:18 2008
@@ -0,0 +1,1698 @@
+/* Generated By:JJTree&JavaCC: Do not edit this line. OgnlParserTokenManager.java */
+package org.apache.ibatis.ognl;
+import java.math.*;
+
+public class OgnlParserTokenManager implements OgnlParserConstants
+{
+ /** Holds the last value computed by a constant token. */
+ Object literalValue;
+ /** Holds the last character escaped or in a character literal. */
+ private char charValue;
+ /** Holds char literal start token. */
+ private char charLiteralStartQuote;
+ /** Holds the last string literal parsed. */
+ private StringBuffer stringBuffer;
+
+ /** Converts an escape sequence into a character value. */
+ private char escapeChar()
+ {
+ int ofs = image.length() - 1;
+ switch ( image.charAt(ofs) ) {
+ case 'n': return '\n';
+ case 'r': return '\r';
+ case 't': return '\t';
+ case 'b': return '\b';
+ case 'f': return '\f';
+ case '\\': return '\\';
+ case '\'': return '\'';
+ case '\"': return '\"';
+ }
+
+ // Otherwise, it's an octal number. Find the backslash and convert.
+ while ( image.charAt(--ofs) != '\\' )
+ {}
+ int value = 0;
+ while ( ++ofs < image.length() )
+ value = (value << 3) | (image.charAt(ofs) - '0');
+ return (char) value;
+ }
+
+ private Object makeInt()
+ {
+ Object result;
+ String s = image.toString();
+ int base = 10;
+
+ if ( s.charAt(0) == '0' )
+ base = (s.length() > 1 && (s.charAt(1) == 'x' || s.charAt(1) == 'X'))? 16 : 8;
+ if ( base == 16 )
+ s = s.substring(2); // Trim the 0x off the front
+ switch ( s.charAt(s.length()-1) ) {
+ case 'l': case 'L':
+ result = Long.valueOf( s.substring(0,s.length()-1), base );
+ break;
+
+ case 'h': case 'H':
+ result = new BigInteger( s.substring(0,s.length()-1), base );
+ break;
+
+ default:
+ result = Integer.valueOf( s, base );
+ break;
+ }
+ return result;
+ }
+
+ private Object makeFloat()
+ {
+ String s = image.toString();
+ switch ( s.charAt(s.length()-1) ) {
+ case 'f': case 'F':
+ return Float.valueOf( s );
+
+ case 'b': case 'B':
+ return new BigDecimal( s.substring(0,s.length()-1) );
+
+ case 'd': case 'D':
+ default:
+ return Double.valueOf( s );
+ }
+ }
+ 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, long active1)
+{
+ switch (pos)
+ {
+ case 0:
+ if ((active0 & 0x201c4055d555540L) != 0L)
+ {
+ jjmatchedKind = 64;
+ return 1;
+ }
+ if ((active0 & 0x400000000000000L) != 0L)
+ return 1;
+ if ((active0 & 0x10000000000000L) != 0L)
+ return 3;
+ if ((active0 & 0x80000000000L) != 0L)
+ return 9;
+ return -1;
+ case 1:
+ if ((active0 & 0x201c00550045500L) != 0L)
+ {
+ if (jjmatchedPos != 1)
+ {
+ jjmatchedKind = 64;
+ jjmatchedPos = 1;
+ }
+ return 1;
+ }
+ if ((active0 & 0x4000d510040L) != 0L)
+ return 1;
+ return -1;
+ case 2:
+ if ((active0 & 0x1c40400004000L) != 0L)
+ {
+ jjmatchedKind = 64;
+ jjmatchedPos = 2;
+ return 1;
+ }
+ if ((active0 & 0x200000155041500L) != 0L)
+ return 1;
+ return -1;
+ case 3:
+ if ((active0 & 0x1400400004000L) != 0L)
+ return 1;
+ if ((active0 & 0x840000000000L) != 0L)
+ {
+ jjmatchedKind = 64;
+ jjmatchedPos = 3;
+ return 1;
+ }
+ return -1;
+ case 4:
+ if ((active0 & 0x800000000000L) != 0L)
+ return 1;
+ if ((active0 & 0x40000000000L) != 0L)
+ {
+ jjmatchedKind = 64;
+ jjmatchedPos = 4;
+ return 1;
+ }
+ return -1;
+ case 5:
+ if ((active0 & 0x40000000000L) != 0L)
+ {
+ jjmatchedKind = 64;
+ jjmatchedPos = 5;
+ return 1;
+ }
+ return -1;
+ case 6:
+ if ((active0 & 0x40000000000L) != 0L)
+ {
+ jjmatchedKind = 64;
+ jjmatchedPos = 6;
+ return 1;
+ }
+ return -1;
+ case 7:
+ if ((active0 & 0x40000000000L) != 0L)
+ {
+ jjmatchedKind = 64;
+ jjmatchedPos = 7;
+ return 1;
+ }
+ return -1;
+ case 8:
+ if ((active0 & 0x40000000000L) != 0L)
+ {
+ jjmatchedKind = 64;
+ jjmatchedPos = 8;
+ return 1;
+ }
+ return -1;
+ default :
+ return -1;
+ }
+}
+private final int jjStartNfa_0(int pos, long active0, long active1)
+{
+ return jjMoveNfa_0(jjStopStringLiteralDfa_0(pos, active0, active1), 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 33:
+ jjmatchedKind = 41;
+ return jjMoveStringLiteralDfa1_0(0x20000L);
+ case 34:
+ return jjStopAtPos(0, 70);
+ case 35:
+ jjmatchedKind = 51;
+ return jjMoveStringLiteralDfa1_0(0x6000000000000L);
+ case 36:
+ return jjStartNfaWithStates_0(0, 58, 1);
+ case 37:
+ return jjStopAtPos(0, 39);
+ case 38:
+ jjmatchedKind = 13;
+ return jjMoveStringLiteralDfa1_0(0x80L);
+ case 39:
+ return jjStopAtPos(0, 69);
+ case 40:
+ return jjStopAtPos(0, 44);
+ case 41:
+ return jjStopAtPos(0, 45);
+ case 42:
+ return jjStopAtPos(0, 37);
+ case 43:
+ return jjStopAtPos(0, 35);
+ case 44:
+ return jjStopAtPos(0, 1);
+ case 45:
+ return jjStopAtPos(0, 36);
+ case 46:
+ return jjStartNfaWithStates_0(0, 43, 9);
+ case 47:
+ return jjStopAtPos(0, 38);
+ case 58:
+ return jjStopAtPos(0, 4);
+ case 60:
+ jjmatchedKind = 19;
+ return jjMoveStringLiteralDfa1_0(0x20800000L);
+ case 61:
+ jjmatchedKind = 2;
+ return jjMoveStringLiteralDfa1_0(0x8000L);
+ case 62:
+ jjmatchedKind = 21;
+ return jjMoveStringLiteralDfa1_0(0x282000000L);
+ case 63:
+ return jjStopAtPos(0, 3);
+ case 64:
+ return jjStopAtPos(0, 56);
+ case 91:
+ return jjStartNfaWithStates_0(0, 52, 3);
+ case 93:
+ return jjStopAtPos(0, 53);
+ case 94:
+ return jjStopAtPos(0, 11);
+ case 96:
+ return jjStopAtPos(0, 68);
+ case 97:
+ return jjMoveStringLiteralDfa1_0(0x100L);
+ case 98:
+ return jjMoveStringLiteralDfa1_0(0x4400L);
+ case 101:
+ return jjMoveStringLiteralDfa1_0(0x10000L);
+ case 102:
+ return jjMoveStringLiteralDfa1_0(0x800000000000L);
+ case 103:
+ return jjMoveStringLiteralDfa1_0(0x4400000L);
+ case 105:
+ return jjMoveStringLiteralDfa1_0(0x40008000000L);
+ case 108:
+ return jjMoveStringLiteralDfa1_0(0x1100000L);
+ case 110:
+ return jjMoveStringLiteralDfa1_0(0x201000010040000L);
+ case 111:
+ return jjMoveStringLiteralDfa1_0(0x40L);
+ case 115:
+ return jjMoveStringLiteralDfa1_0(0x140000000L);
+ case 116:
+ return jjMoveStringLiteralDfa1_0(0x400000000000L);
+ case 117:
+ return jjMoveStringLiteralDfa1_0(0x400000000L);
+ case 120:
+ return jjMoveStringLiteralDfa1_0(0x1000L);
+ case 123:
+ return jjStopAtPos(0, 54);
+ case 124:
+ jjmatchedKind = 9;
+ return jjMoveStringLiteralDfa1_0(0x20L);
+ case 125:
+ return jjStopAtPos(0, 55);
+ case 126:
+ return jjStopAtPos(0, 40);
+ default :
+ return jjMoveNfa_0(0, 0);
+ }
+}
+private final int jjMoveStringLiteralDfa1_0(long active0)
+{
+ try { curChar = input_stream.readChar(); }
+ catch(java.io.IOException e) {
+ jjStopStringLiteralDfa_0(0, active0, 0L);
+ return 1;
+ }
+ switch(curChar)
+ {
+ case 38:
+ if ((active0 & 0x80L) != 0L)
+ return jjStopAtPos(1, 7);
+ break;
+ case 60:
+ if ((active0 & 0x20000000L) != 0L)
+ return jjStopAtPos(1, 29);
+ break;
+ case 61:
+ if ((active0 & 0x8000L) != 0L)
+ return jjStopAtPos(1, 15);
+ else if ((active0 & 0x20000L) != 0L)
+ return jjStopAtPos(1, 17);
+ else if ((active0 & 0x800000L) != 0L)
+ return jjStopAtPos(1, 23);
+ else if ((active0 & 0x2000000L) != 0L)
+ return jjStopAtPos(1, 25);
+ break;
+ case 62:
+ if ((active0 & 0x80000000L) != 0L)
+ {
+ jjmatchedKind = 31;
+ jjmatchedPos = 1;
+ }
+ return jjMoveStringLiteralDfa2_0(active0, 0x200000000L);
+ case 97:
+ return jjMoveStringLiteralDfa2_0(active0, 0x800000004000L);
+ case 101:
+ return jjMoveStringLiteralDfa2_0(active0, 0x200000000040000L);
+ case 104:
+ return jjMoveStringLiteralDfa2_0(active0, 0x140000000L);
+ case 110:
+ if ((active0 & 0x8000000L) != 0L)
+ {
+ jjmatchedKind = 27;
+ jjmatchedPos = 1;
+ }
+ return jjMoveStringLiteralDfa2_0(active0, 0x40000000100L);
+ case 111:
+ return jjMoveStringLiteralDfa2_0(active0, 0x10001400L);
+ case 113:
+ if ((active0 & 0x10000L) != 0L)
+ return jjStartNfaWithStates_0(1, 16, 1);
+ break;
+ case 114:
+ if ((active0 & 0x40L) != 0L)
+ return jjStartNfaWithStates_0(1, 6, 1);
+ return jjMoveStringLiteralDfa2_0(active0, 0x4400000000000L);
+ case 115:
+ return jjMoveStringLiteralDfa2_0(active0, 0x400000000L);
+ case 116:
+ if ((active0 & 0x100000L) != 0L)
+ {
+ jjmatchedKind = 20;
+ jjmatchedPos = 1;
+ }
+ else if ((active0 & 0x400000L) != 0L)
+ {
+ jjmatchedKind = 22;
+ jjmatchedPos = 1;
+ }
+ return jjMoveStringLiteralDfa2_0(active0, 0x2000005000000L);
+ case 117:
+ return jjMoveStringLiteralDfa2_0(active0, 0x1000000000000L);
+ case 124:
+ if ((active0 & 0x20L) != 0L)
+ return jjStopAtPos(1, 5);
+ break;
+ default :
+ break;
+ }
+ return jjStartNfa_0(0, active0, 0L);
+}
+private final int jjMoveStringLiteralDfa2_0(long old0, long active0)
+{
+ if (((active0 &= old0)) == 0L)
+ return jjStartNfa_0(0, old0, 0L);
+ try { curChar = input_stream.readChar(); }
+ catch(java.io.IOException e) {
+ jjStopStringLiteralDfa_0(1, active0, 0L);
+ return 2;
+ }
+ switch(curChar)
+ {
+ case 62:
+ if ((active0 & 0x200000000L) != 0L)
+ return jjStopAtPos(2, 33);
+ break;
+ case 100:
+ if ((active0 & 0x100L) != 0L)
+ return jjStartNfaWithStates_0(2, 8, 1);
+ break;
+ case 101:
+ if ((active0 & 0x1000000L) != 0L)
+ return jjStartNfaWithStates_0(2, 24, 1);
+ else if ((active0 & 0x4000000L) != 0L)
+ return jjStartNfaWithStates_0(2, 26, 1);
+ break;
+ case 104:
+ return jjMoveStringLiteralDfa3_0(active0, 0x2000400000000L);
+ case 108:
+ if ((active0 & 0x40000000L) != 0L)
+ return jjStartNfaWithStates_0(2, 30, 1);
+ return jjMoveStringLiteralDfa3_0(active0, 0x1800000000000L);
+ case 110:
+ return jjMoveStringLiteralDfa3_0(active0, 0x4000L);
+ case 111:
+ return jjMoveStringLiteralDfa3_0(active0, 0x4000000000000L);
+ case 113:
+ if ((active0 & 0x40000L) != 0L)
+ return jjStartNfaWithStates_0(2, 18, 1);
+ break;
+ case 114:
+ if ((active0 & 0x400L) != 0L)
+ return jjStartNfaWithStates_0(2, 10, 1);
+ else if ((active0 & 0x1000L) != 0L)
+ return jjStartNfaWithStates_0(2, 12, 1);
+ else if ((active0 & 0x100000000L) != 0L)
+ return jjStartNfaWithStates_0(2, 32, 1);
+ break;
+ case 115:
+ return jjMoveStringLiteralDfa3_0(active0, 0x40000000000L);
+ case 116:
+ if ((active0 & 0x10000000L) != 0L)
+ return jjStartNfaWithStates_0(2, 28, 1);
+ break;
+ case 117:
+ return jjMoveStringLiteralDfa3_0(active0, 0x400000000000L);
+ case 119:
+ if ((active0 & 0x200000000000000L) != 0L)
+ return jjStartNfaWithStates_0(2, 57, 1);
+ break;
+ default :
+ break;
+ }
+ return jjStartNfa_0(1, active0, 0L);
+}
+private final int jjMoveStringLiteralDfa3_0(long old0, long active0)
+{
+ if (((active0 &= old0)) == 0L)
+ return jjStartNfa_0(1, old0, 0L);
+ try { curChar = input_stream.readChar(); }
+ catch(java.io.IOException e) {
+ jjStopStringLiteralDfa_0(2, active0, 0L);
+ return 3;
+ }
+ switch(curChar)
+ {
+ case 100:
+ if ((active0 & 0x4000L) != 0L)
+ return jjStartNfaWithStates_0(3, 14, 1);
+ break;
+ case 101:
+ if ((active0 & 0x400000000000L) != 0L)
+ return jjStartNfaWithStates_0(3, 46, 1);
+ break;
+ case 105:
+ return jjMoveStringLiteralDfa4_0(active0, 0x2000000000000L);
+ case 108:
+ if ((active0 & 0x1000000000000L) != 0L)
+ return jjStartNfaWithStates_0(3, 48, 1);
+ break;
+ case 111:
+ return jjMoveStringLiteralDfa4_0(active0, 0x4000000000000L);
+ case 114:
+ if ((active0 & 0x400000000L) != 0L)
+ return jjStartNfaWithStates_0(3, 34, 1);
+ break;
+ case 115:
+ return jjMoveStringLiteralDfa4_0(active0, 0x800000000000L);
+ case 116:
+ return jjMoveStringLiteralDfa4_0(active0, 0x40000000000L);
+ default :
+ break;
+ }
+ return jjStartNfa_0(2, active0, 0L);
+}
+private final int jjMoveStringLiteralDfa4_0(long old0, long active0)
+{
+ if (((active0 &= old0)) == 0L)
+ return jjStartNfa_0(2, old0, 0L);
+ try { curChar = input_stream.readChar(); }
+ catch(java.io.IOException e) {
+ jjStopStringLiteralDfa_0(3, active0, 0L);
+ return 4;
+ }
+ switch(curChar)
+ {
+ case 97:
+ return jjMoveStringLiteralDfa5_0(active0, 0x40000000000L);
+ case 101:
+ if ((active0 & 0x800000000000L) != 0L)
+ return jjStartNfaWithStates_0(4, 47, 1);
+ break;
+ case 115:
+ if ((active0 & 0x2000000000000L) != 0L)
+ return jjStopAtPos(4, 49);
+ break;
+ case 116:
+ if ((active0 & 0x4000000000000L) != 0L)
+ return jjStopAtPos(4, 50);
+ break;
+ default :
+ break;
+ }
+ return jjStartNfa_0(3, active0, 0L);
+}
+private final int jjMoveStringLiteralDfa5_0(long old0, long active0)
+{
+ if (((active0 &= old0)) == 0L)
+ return jjStartNfa_0(3, old0, 0L);
+ try { curChar = input_stream.readChar(); }
+ catch(java.io.IOException e) {
+ jjStopStringLiteralDfa_0(4, active0, 0L);
+ return 5;
+ }
+ switch(curChar)
+ {
+ case 110:
+ return jjMoveStringLiteralDfa6_0(active0, 0x40000000000L);
+ default :
+ break;
+ }
+ return jjStartNfa_0(4, active0, 0L);
+}
+private final int jjMoveStringLiteralDfa6_0(long old0, long active0)
+{
+ if (((active0 &= old0)) == 0L)
+ return jjStartNfa_0(4, old0, 0L);
+ try { curChar = input_stream.readChar(); }
+ catch(java.io.IOException e) {
+ jjStopStringLiteralDfa_0(5, active0, 0L);
+ return 6;
+ }
+ switch(curChar)
+ {
+ case 99:
+ return jjMoveStringLiteralDfa7_0(active0, 0x40000000000L);
+ default :
+ break;
+ }
+ return jjStartNfa_0(5, active0, 0L);
+}
+private final int jjMoveStringLiteralDfa7_0(long old0, long active0)
+{
+ if (((active0 &= old0)) == 0L)
+ return jjStartNfa_0(5, old0, 0L);
+ try { curChar = input_stream.readChar(); }
+ catch(java.io.IOException e) {
+ jjStopStringLiteralDfa_0(6, active0, 0L);
+ return 7;
+ }
+ switch(curChar)
+ {
+ case 101:
+ return jjMoveStringLiteralDfa8_0(active0, 0x40000000000L);
+ default :
+ break;
+ }
+ return jjStartNfa_0(6, active0, 0L);
+}
+private final int jjMoveStringLiteralDfa8_0(long old0, long active0)
+{
+ if (((active0 &= old0)) == 0L)
+ return jjStartNfa_0(6, old0, 0L);
+ try { curChar = input_stream.readChar(); }
+ catch(java.io.IOException e) {
+ jjStopStringLiteralDfa_0(7, active0, 0L);
+ return 8;
+ }
+ switch(curChar)
+ {
+ case 111:
+ return jjMoveStringLiteralDfa9_0(active0, 0x40000000000L);
+ default :
+ break;
+ }
+ return jjStartNfa_0(7, active0, 0L);
+}
+private final int jjMoveStringLiteralDfa9_0(long old0, long active0)
+{
+ if (((active0 &= old0)) == 0L)
+ return jjStartNfa_0(7, old0, 0L);
+ try { curChar = input_stream.readChar(); }
+ catch(java.io.IOException e) {
+ jjStopStringLiteralDfa_0(8, active0, 0L);
+ return 9;
+ }
+ switch(curChar)
+ {
+ case 102:
+ if ((active0 & 0x40000000000L) != 0L)
+ return jjStartNfaWithStates_0(9, 42, 1);
+ break;
+ default :
+ break;
+ }
+ return jjStartNfa_0(8, active0, 0L);
+}
+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 = {
+ 0x1ff00000fffffffeL, 0xffffffffffffc000L, 0xffffffffL, 0x600000000000000L
+};
+static final long[] jjbitVec2 = {
+ 0x0L, 0x0L, 0x0L, 0xff7fffffff7fffffL
+};
+static final long[] jjbitVec3 = {
+ 0x0L, 0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffffffffffffffL
+};
+static final long[] jjbitVec4 = {
+ 0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffL, 0x0L
+};
+static final long[] jjbitVec5 = {
+ 0xffffffffffffffffL, 0xffffffffffffffffL, 0x0L, 0x0L
+};
+static final long[] jjbitVec6 = {
+ 0x3fffffffffffL, 0x0L, 0x0L, 0x0L
+};
+private final int jjMoveNfa_0(int startState, int curPos)
+{
+ int[] nextStates;
+ int startsAt = 0;
+ jjnewStateCnt = 27;
+ 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)
+ jjCheckNAddStates(0, 5);
+ else if (curChar == 46)
+ jjCheckNAdd(9);
+ else if (curChar == 36)
+ {
+ if (kind > 64)
+ kind = 64;
+ jjCheckNAdd(1);
+ }
+ if ((0x3fe000000000000L & l) != 0L)
+ {
+ if (kind > 80)
+ kind = 80;
+ jjCheckNAddTwoStates(6, 7);
+ }
+ else if (curChar == 48)
+ {
+ if (kind > 80)
+ kind = 80;
+ jjCheckNAddStates(6, 8);
+ }
+ break;
+ case 1:
+ if ((0x3ff001000000000L & l) == 0L)
+ break;
+ if (kind > 64)
+ kind = 64;
+ jjCheckNAdd(1);
+ break;
+ case 3:
+ if ((0x41000000000L & l) != 0L)
+ jjstateSet[jjnewStateCnt++] = 4;
+ break;
+ case 5:
+ if ((0x3fe000000000000L & l) == 0L)
+ break;
+ if (kind > 80)
+ kind = 80;
+ jjCheckNAddTwoStates(6, 7);
+ break;
+ case 6:
+ if ((0x3ff000000000000L & l) == 0L)
+ break;
+ if (kind > 80)
+ kind = 80;
+ jjCheckNAddTwoStates(6, 7);
+ break;
+ case 8:
+ if (curChar == 46)
+ jjCheckNAdd(9);
+ break;
+ case 9:
+ if ((0x3ff000000000000L & l) == 0L)
+ break;
+ if (kind > 81)
+ kind = 81;
+ jjCheckNAddStates(9, 11);
+ break;
+ case 11:
+ if ((0x280000000000L & l) != 0L)
+ jjCheckNAdd(12);
+ break;
+ case 12:
+ if ((0x3ff000000000000L & l) == 0L)
+ break;
+ if (kind > 81)
+ kind = 81;
+ jjCheckNAddTwoStates(12, 13);
+ break;
+ case 14:
+ if ((0x3ff000000000000L & l) != 0L)
+ jjCheckNAddStates(0, 5);
+ break;
+ case 15:
+ if ((0x3ff000000000000L & l) != 0L)
+ jjCheckNAddTwoStates(15, 16);
+ break;
+ case 16:
+ if (curChar != 46)
+ break;
+ if (kind > 81)
+ kind = 81;
+ jjCheckNAddStates(12, 14);
+ break;
+ case 17:
+ if ((0x3ff000000000000L & l) == 0L)
+ break;
+ if (kind > 81)
+ kind = 81;
+ jjCheckNAddStates(12, 14);
+ break;
+ case 18:
+ if ((0x3ff000000000000L & l) != 0L)
+ jjCheckNAddTwoStates(18, 19);
+ break;
+ case 20:
+ if ((0x280000000000L & l) != 0L)
+ jjCheckNAdd(21);
+ break;
+ case 21:
+ if ((0x3ff000000000000L & l) == 0L)
+ break;
+ if (kind > 81)
+ kind = 81;
+ jjCheckNAddTwoStates(21, 13);
+ break;
+ case 22:
+ if ((0x3ff000000000000L & l) != 0L)
+ jjCheckNAddTwoStates(22, 13);
+ break;
+ case 23:
+ if (curChar != 48)
+ break;
+ if (kind > 80)
+ kind = 80;
+ jjCheckNAddStates(6, 8);
+ break;
+ case 24:
+ if ((0xff000000000000L & l) == 0L)
+ break;
+ if (kind > 80)
+ kind = 80;
+ jjCheckNAddTwoStates(24, 7);
+ break;
+ case 26:
+ if ((0x3ff000000000000L & l) == 0L)
+ break;
+ if (kind > 80)
+ kind = 80;
+ jjCheckNAddTwoStates(26, 7);
+ 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)
+ {
+ if (kind > 64)
+ kind = 64;
+ jjCheckNAdd(1);
+ }
+ else if (curChar == 91)
+ jjstateSet[jjnewStateCnt++] = 3;
+ break;
+ case 1:
+ if ((0x7fffffe87fffffeL & l) == 0L)
+ break;
+ if (kind > 64)
+ kind = 64;
+ jjCheckNAdd(1);
+ break;
+ case 2:
+ if (curChar == 91)
+ jjstateSet[jjnewStateCnt++] = 3;
+ break;
+ case 3:
+ if ((0x1000000040000000L & l) != 0L)
+ jjstateSet[jjnewStateCnt++] = 4;
+ break;
+ case 4:
+ if (curChar == 93)
+ kind = 67;
+ break;
+ case 7:
+ if ((0x110000001100L & l) != 0L && kind > 80)
+ kind = 80;
+ break;
+ case 10:
+ if ((0x2000000020L & l) != 0L)
+ jjAddStates(15, 16);
+ break;
+ case 13:
+ if ((0x5400000054L & l) != 0L && kind > 81)
+ kind = 81;
+ break;
+ case 19:
+ if ((0x2000000020L & l) != 0L)
+ jjAddStates(17, 18);
+ break;
+ case 25:
+ if ((0x100000001000000L & l) != 0L)
+ jjCheckNAdd(26);
+ break;
+ case 26:
+ if ((0x7e0000007eL & l) == 0L)
+ break;
+ if (kind > 80)
+ kind = 80;
+ jjCheckNAddTwoStates(26, 7);
+ 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:
+ case 1:
+ if (!jjCanMove_0(hiByte, i1, i2, l1, l2))
+ break;
+ if (kind > 64)
+ kind = 64;
+ jjCheckNAdd(1);
+ break;
+ default : break;
+ }
+ } while(i != startsAt);
+ }
+ if (kind != 0x7fffffff)
+ {
+ jjmatchedKind = kind;
+ jjmatchedPos = curPos;
+ kind = 0x7fffffff;
+ }
+ ++curPos;
+ if ((i = jjnewStateCnt) == (startsAt = 27 - (jjnewStateCnt = startsAt)))
+ return curPos;
+ try { curChar = input_stream.readChar(); }
+ catch(java.io.IOException e) { return curPos; }
+ }
+}
+private final int jjStopStringLiteralDfa_2(int pos, long active0, long active1)
+{
+ switch (pos)
+ {
+ default :
+ return -1;
+ }
+}
+private final int jjStartNfa_2(int pos, long active0, long active1)
+{
+ return jjMoveNfa_2(jjStopStringLiteralDfa_2(pos, active0, active1), pos + 1);
+}
+private final int jjStartNfaWithStates_2(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_2(state, pos + 1);
+}
+private final int jjMoveStringLiteralDfa0_2()
+{
+ switch(curChar)
+ {
+ case 96:
+ return jjStopAtPos(0, 76);
+ default :
+ return jjMoveNfa_2(0, 0);
+ }
+}
+static final long[] jjbitVec7 = {
+ 0xfffffffffffffffeL, 0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffffffffffffffL
+};
+static final long[] jjbitVec8 = {
+ 0x0L, 0x0L, 0xffffffffffffffffL, 0xffffffffffffffffL
+};
+private final int jjMoveNfa_2(int startState, int curPos)
+{
+ int[] nextStates;
+ int startsAt = 0;
+ jjnewStateCnt = 6;
+ 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 (kind > 75)
+ kind = 75;
+ break;
+ case 1:
+ if ((0x8400000000L & l) != 0L && kind > 74)
+ kind = 74;
+ break;
+ case 2:
+ if ((0xf000000000000L & l) != 0L)
+ jjstateSet[jjnewStateCnt++] = 3;
+ break;
+ case 3:
+ if ((0xff000000000000L & l) == 0L)
+ break;
+ if (kind > 74)
+ kind = 74;
+ jjstateSet[jjnewStateCnt++] = 4;
+ break;
+ case 4:
+ if ((0xff000000000000L & l) != 0L && kind > 74)
+ kind = 74;
+ break;
+ default : break;
+ }
+ } while(i != startsAt);
+ }
+ else if (curChar < 128)
+ {
+ long l = 1L << (curChar & 077);
+ MatchLoop: do
+ {
+ switch(jjstateSet[--i])
+ {
+ case 0:
+ if ((0xfffffffeefffffffL & l) != 0L)
+ {
+ if (kind > 75)
+ kind = 75;
+ }
+ else if (curChar == 92)
+ jjAddStates(19, 21);
+ break;
+ case 1:
+ if ((0x14404510000000L & l) != 0L && kind > 74)
+ kind = 74;
+ break;
+ case 5:
+ if ((0xfffffffeefffffffL & l) != 0L && kind > 75)
+ kind = 75;
+ 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) && kind > 75)
+ kind = 75;
+ break;
+ default : break;
+ }
+ } while(i != startsAt);
+ }
+ if (kind != 0x7fffffff)
+ {
+ jjmatchedKind = kind;
+ jjmatchedPos = curPos;
+ kind = 0x7fffffff;
+ }
+ ++curPos;
+ if ((i = jjnewStateCnt) == (startsAt = 6 - (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, long active1)
+{
+ switch (pos)
+ {
+ default :
+ return -1;
+ }
+}
+private final int jjStartNfa_1(int pos, long active0, long active1)
+{
+ return jjMoveNfa_1(jjStopStringLiteralDfa_1(pos, active0, active1), 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 39:
+ return jjStopAtPos(0, 73);
+ default :
+ return jjMoveNfa_1(0, 0);
+ }
+}
+private final int jjMoveNfa_1(int startState, int curPos)
+{
+ int[] nextStates;
+ int startsAt = 0;
+ jjnewStateCnt = 6;
+ 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 ((0xffffff7fffffffffL & l) != 0L && kind > 72)
+ kind = 72;
+ break;
+ case 1:
+ if ((0x8400000000L & l) != 0L && kind > 71)
+ kind = 71;
+ break;
+ case 2:
+ if ((0xf000000000000L & l) != 0L)
+ jjstateSet[jjnewStateCnt++] = 3;
+ break;
+ case 3:
+ if ((0xff000000000000L & l) == 0L)
+ break;
+ if (kind > 71)
+ kind = 71;
+ jjstateSet[jjnewStateCnt++] = 4;
+ break;
+ case 4:
+ if ((0xff000000000000L & l) != 0L && kind > 71)
+ kind = 71;
+ break;
+ default : break;
+ }
+ } while(i != startsAt);
+ }
+ else if (curChar < 128)
+ {
+ long l = 1L << (curChar & 077);
+ MatchLoop: do
+ {
+ switch(jjstateSet[--i])
+ {
+ case 0:
+ if ((0xffffffffefffffffL & l) != 0L)
+ {
+ if (kind > 72)
+ kind = 72;
+ }
+ else if (curChar == 92)
+ jjAddStates(19, 21);
+ break;
+ case 1:
+ if ((0x14404510000000L & l) != 0L && kind > 71)
+ kind = 71;
+ break;
+ case 5:
+ if ((0xffffffffefffffffL & l) != 0L && kind > 72)
+ kind = 72;
+ 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) && kind > 72)
+ kind = 72;
+ break;
+ default : break;
+ }
+ } while(i != startsAt);
+ }
+ if (kind != 0x7fffffff)
+ {
+ jjmatchedKind = kind;
+ jjmatchedPos = curPos;
+ kind = 0x7fffffff;
+ }
+ ++curPos;
+ if ((i = jjnewStateCnt) == (startsAt = 6 - (jjnewStateCnt = startsAt)))
+ return curPos;
+ try { curChar = input_stream.readChar(); }
+ catch(java.io.IOException e) { return curPos; }
+ }
+}
+private final int jjStopStringLiteralDfa_3(int pos, long active0, long active1)
+{
+ switch (pos)
+ {
+ default :
+ return -1;
+ }
+}
+private final int jjStartNfa_3(int pos, long active0, long active1)
+{
+ return jjMoveNfa_3(jjStopStringLiteralDfa_3(pos, active0, active1), pos + 1);
+}
+private final int jjStartNfaWithStates_3(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_3(state, pos + 1);
+}
+private final int jjMoveStringLiteralDfa0_3()
+{
+ switch(curChar)
+ {
+ case 34:
+ return jjStopAtPos(0, 79);
+ default :
+ return jjMoveNfa_3(0, 0);
+ }
+}
+private final int jjMoveNfa_3(int startState, int curPos)
+{
+ int[] nextStates;
+ int startsAt = 0;
+ jjnewStateCnt = 6;
+ 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 ((0xfffffffbffffffffL & l) != 0L && kind > 78)
+ kind = 78;
+ break;
+ case 1:
+ if ((0x8400000000L & l) != 0L && kind > 77)
+ kind = 77;
+ break;
+ case 2:
+ if ((0xf000000000000L & l) != 0L)
+ jjstateSet[jjnewStateCnt++] = 3;
+ break;
+ case 3:
+ if ((0xff000000000000L & l) == 0L)
+ break;
+ if (kind > 77)
+ kind = 77;
+ jjstateSet[jjnewStateCnt++] = 4;
+ break;
+ case 4:
+ if ((0xff000000000000L & l) != 0L && kind > 77)
+ kind = 77;
+ break;
+ default : break;
+ }
+ } while(i != startsAt);
+ }
+ else if (curChar < 128)
+ {
+ long l = 1L << (curChar & 077);
+ MatchLoop: do
+ {
+ switch(jjstateSet[--i])
+ {
+ case 0:
+ if ((0xffffffffefffffffL & l) != 0L)
+ {
+ if (kind > 78)
+ kind = 78;
+ }
+ else if (curChar == 92)
+ jjAddStates(19, 21);
+ break;
+ case 1:
+ if ((0x14404510000000L & l) != 0L && kind > 77)
+ kind = 77;
+ break;
+ case 5:
+ if ((0xffffffffefffffffL & l) != 0L && kind > 78)
+ kind = 78;
+ 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) && kind > 78)
+ kind = 78;
+ break;
+ default : break;
+ }
+ } while(i != startsAt);
+ }
+ if (kind != 0x7fffffff)
+ {
+ jjmatchedKind = kind;
+ jjmatchedPos = curPos;
+ kind = 0x7fffffff;
+ }
+ ++curPos;
+ if ((i = jjnewStateCnt) == (startsAt = 6 - (jjnewStateCnt = startsAt)))
+ return curPos;
+ try { curChar = input_stream.readChar(); }
+ catch(java.io.IOException e) { return curPos; }
+ }
+}
+static final int[] jjnextStates = {
+ 15, 16, 18, 19, 22, 13, 24, 25, 7, 9, 10, 13, 17, 10, 13, 11,
+ 12, 20, 21, 1, 2, 3,
+};
+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);
+ case 48:
+ return ((jjbitVec3[i2] & l2) != 0L);
+ case 49:
+ return ((jjbitVec4[i2] & l2) != 0L);
+ case 51:
+ return ((jjbitVec5[i2] & l2) != 0L);
+ case 61:
+ return ((jjbitVec6[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 ((jjbitVec8[i2] & l2) != 0L);
+ default :
+ if ((jjbitVec7[i1] & l1) != 0L)
+ return true;
+ return false;
+ }
+}
+public static final String[] jjstrLiteralImages = {
+"", "\54", "\75", "\77", "\72", "\174\174", "\157\162", "\46\46",
+"\141\156\144", "\174", "\142\157\162", "\136", "\170\157\162", "\46", "\142\141\156\144",
+"\75\75", "\145\161", "\41\75", "\156\145\161", "\74", "\154\164", "\76", "\147\164",
+"\74\75", "\154\164\145", "\76\75", "\147\164\145", "\151\156", "\156\157\164",
+"\74\74", "\163\150\154", "\76\76", "\163\150\162", "\76\76\76", "\165\163\150\162",
+"\53", "\55", "\52", "\57", "\45", "\176", "\41",
+"\151\156\163\164\141\156\143\145\157\146", "\56", "\50", "\51", "\164\162\165\145", "\146\141\154\163\145",
+"\156\165\154\154", "\43\164\150\151\163", "\43\162\157\157\164", "\43", "\133", "\135", "\173",
+"\175", "\100", "\156\145\167", "\44", null, null, null, null, null, null, null, null,
+null, null, null, null, null, null, null, null, null, null, null, null, null, null,
+null, null, null, null, null, };
+public static final String[] lexStateNames = {
+ "DEFAULT",
+ "WithinCharLiteral",
+ "WithinBackCharLiteral",
+ "WithinStringLiteral",
+};
+public static final int[] jjnewLexState = {
+ -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, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2, 1, 3, -1, -1, 0, -1,
+ -1, 0, -1, -1, 0, -1, -1, -1, -1, -1, -1,
+};
+static final long[] jjtoToken = {
+ 0x7ffffffffffffffL, 0x39209L,
+};
+static final long[] jjtoSkip = {
+ 0xf800000000000000L, 0x0L,
+};
+static final long[] jjtoMore = {
+ 0x0L, 0x6df0L,
+};
+protected JavaCharStream input_stream;
+private final int[] jjrounds = new int[27];
+private final int[] jjstateSet = new int[54];
+StringBuffer image;
+int jjimageLen;
+int lengthOfMatch;
+protected char curChar;
+public OgnlParserTokenManager(JavaCharStream stream)
+{
+ if (JavaCharStream.staticFlag)
+ throw new Error("ERROR: Cannot use a static CharStream class with a non-static lexical analyzer.");
+ input_stream = stream;
+}
+public OgnlParserTokenManager(JavaCharStream stream, int lexState)
+{
+ this(stream);
+ SwitchTo(lexState);
+}
+public void ReInit(JavaCharStream stream)
+{
+ jjmatchedPos = jjnewStateCnt = 0;
+ curLexState = defaultLexState;
+ input_stream = stream;
+ ReInitRounds();
+}
+private final void ReInitRounds()
+{
+ int i;
+ jjround = 0x80000001;
+ for (i = 27; i-- > 0;)
+ jjrounds[i] = 0x80000000;
+}
+public void ReInit(JavaCharStream stream, int lexState)
+{
+ ReInit(stream);
+ SwitchTo(lexState);
+}
+public void SwitchTo(int lexState)
+{
+ if (lexState >= 4 || 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;
+ }
+ image = null;
+ jjimageLen = 0;
+
+ for (;;)
+ {
+ switch(curLexState)
+ {
+ case 0:
+ try { input_stream.backup(0);
+ while (curChar <= 32 && (0x100003600L & (1L << curChar)) != 0L)
+ curChar = input_stream.BeginToken();
+ }
+ catch (java.io.IOException e1) { continue EOFLoop; }
+ jjmatchedKind = 0x7fffffff;
+ jjmatchedPos = 0;
+ curPos = jjMoveStringLiteralDfa0_0();
+ break;
+ case 1:
+ jjmatchedKind = 0x7fffffff;
+ jjmatchedPos = 0;
+ curPos = jjMoveStringLiteralDfa0_1();
+ break;
+ case 2:
+ jjmatchedKind = 0x7fffffff;
+ jjmatchedPos = 0;
+ curPos = jjMoveStringLiteralDfa0_2();
+ break;
+ case 3:
+ jjmatchedKind = 0x7fffffff;
+ jjmatchedPos = 0;
+ curPos = jjMoveStringLiteralDfa0_3();
+ break;
+ }
+ if (jjmatchedKind != 0x7fffffff)
+ {
+ if (jjmatchedPos + 1 < curPos)
+ input_stream.backup(curPos - jjmatchedPos - 1);
+ if ((jjtoToken[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L)
+ {
+ matchedToken = jjFillToken();
+ TokenLexicalActions(matchedToken);
+ if (jjnewLexState[jjmatchedKind] != -1)
+ curLexState = jjnewLexState[jjmatchedKind];
+ return matchedToken;
+ }
+ else if ((jjtoSkip[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L)
+ {
+ if (jjnewLexState[jjmatchedKind] != -1)
+ curLexState = jjnewLexState[jjmatchedKind];
+ continue EOFLoop;
+ }
+ MoreLexicalActions();
+ if (jjnewLexState[jjmatchedKind] != -1)
+ curLexState = jjnewLexState[jjmatchedKind];
+ curPos = 0;
+ jjmatchedKind = 0x7fffffff;
+ try {
+ curChar = input_stream.readChar();
+ continue;
+ }
+ catch (java.io.IOException e1) { }
+ }
+ 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);
+ }
+ }
+}
+
+void MoreLexicalActions()
+{
+ jjimageLen += (lengthOfMatch = jjmatchedPos + 1);
+ switch(jjmatchedKind)
+ {
+ case 69 :
+ if (image == null)
+ image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen)));
+ else
+ image.append(input_stream.GetSuffix(jjimageLen));
+ jjimageLen = 0;
+ stringBuffer = new StringBuffer();
+ break;
+ case 70 :
+ if (image == null)
+ image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen)));
+ else
+ image.append(input_stream.GetSuffix(jjimageLen));
+ jjimageLen = 0;
+ stringBuffer = new StringBuffer();
+ break;
+ case 71 :
+ if (image == null)
+ image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen)));
+ else
+ image.append(input_stream.GetSuffix(jjimageLen));
+ jjimageLen = 0;
+ charValue = escapeChar(); stringBuffer.append(charValue);
+ break;
+ case 72 :
+ if (image == null)
+ image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen)));
+ else
+ image.append(input_stream.GetSuffix(jjimageLen));
+ jjimageLen = 0;
+ charValue = image.charAt( image.length()-1 ); stringBuffer.append(charValue);
+ break;
+ case 74 :
+ if (image == null)
+ image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen)));
+ else
+ image.append(input_stream.GetSuffix(jjimageLen));
+ jjimageLen = 0;
+ charValue = escapeChar();
+ break;
+ case 75 :
+ if (image == null)
+ image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen)));
+ else
+ image.append(input_stream.GetSuffix(jjimageLen));
+ jjimageLen = 0;
+ charValue = image.charAt( image.length()-1 );
+ break;
+ case 77 :
+ if (image == null)
+ image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen)));
+ else
+ image.append(input_stream.GetSuffix(jjimageLen));
+ jjimageLen = 0;
+ stringBuffer.append( escapeChar() );
+ break;
+ case 78 :
+ if (image == null)
+ image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen)));
+ else
+ image.append(input_stream.GetSuffix(jjimageLen));
+ jjimageLen = 0;
+ stringBuffer.append( image.charAt(image.length()-1) );
+ break;
+ default :
+ break;
+ }
+}
+void TokenLexicalActions(Token matchedToken)
+{
+ switch(jjmatchedKind)
+ {
+ case 67 :
+ if (image == null)
+ image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
+ else
+ image.append(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1)));
+ switch (image.charAt(1)) {
+ case '^': literalValue = DynamicSubscript.first; break;
+ case '|': literalValue = DynamicSubscript.mid; break;
+ case '$': literalValue = DynamicSubscript.last; break;
+ case '*': literalValue = DynamicSubscript.all; break;
+ }
+ break;
+ case 73 :
+ if (image == null)
+ image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
+ else
+ image.append(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1)));
+ if (stringBuffer.length() == 1) {
+ literalValue = new Character( charValue );
+ } else {
+ literalValue = new String( stringBuffer );
+ }
+ break;
+ case 76 :
+ if (image == null)
+ image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
+ else
+ image.append(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1)));
+ literalValue = new Character( charValue );
+ break;
+ case 79 :
+ if (image == null)
+ image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
+ else
+ image.append(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1)));
+ literalValue = new String( stringBuffer );
+ break;
+ case 80 :
+ if (image == null)
+ image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
+ else
+ image.append(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1)));
+ literalValue =
+ makeInt();
+ break;
+ case 81 :
+ if (image == null)
+ image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1))));
+ else
+ image.append(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1)));
+ literalValue = makeFloat();
+ break;
+ default :
+ break;
+ }
+}
+}
Added: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/ognl/OgnlParserTreeConstants.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/ognl/OgnlParserTreeConstants.java?rev=684410&view=auto
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/ognl/OgnlParserTreeConstants.java (added)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/ognl/OgnlParserTreeConstants.java Sat Aug 9 23:00:18 2008
@@ -0,0 +1,105 @@
+/* Generated By:JJTree: Do not edit this line. src/java/ognl\OgnlParserTreeConstants.java */
+
+package org.apache.ibatis.ognl;
+
+public interface OgnlParserTreeConstants
+{
+ public int JJTVOID = 0;
+ public int JJTSEQUENCE = 1;
+ public int JJTASSIGN = 2;
+ public int JJTTEST = 3;
+ public int JJTOR = 4;
+ public int JJTAND = 5;
+ public int JJTBITOR = 6;
+ public int JJTXOR = 7;
+ public int JJTBITAND = 8;
+ public int JJTEQ = 9;
+ public int JJTNOTEQ = 10;
+ public int JJTLESS = 11;
+ public int JJTGREATER = 12;
+ public int JJTLESSEQ = 13;
+ public int JJTGREATEREQ = 14;
+ public int JJTIN = 15;
+ public int JJTNOTIN = 16;
+ public int JJTSHIFTLEFT = 17;
+ public int JJTSHIFTRIGHT = 18;
+ public int JJTUNSIGNEDSHIFTRIGHT = 19;
+ public int JJTADD = 20;
+ public int JJTSUBTRACT = 21;
+ public int JJTMULTIPLY = 22;
+ public int JJTDIVIDE = 23;
+ public int JJTREMAINDER = 24;
+ public int JJTNEGATE = 25;
+ public int JJTBITNEGATE = 26;
+ public int JJTNOT = 27;
+ public int JJTINSTANCEOF = 28;
+ public int JJTCHAIN = 29;
+ public int JJTEVAL = 30;
+ public int JJTCONST = 31;
+ public int JJTTHISVARREF = 32;
+ public int JJTROOTVARREF = 33;
+ public int JJTVARREF = 34;
+ public int JJTLIST = 35;
+ public int JJTMAP = 36;
+ public int JJTKEYVALUE = 37;
+ public int JJTSTATICFIELD = 38;
+ public int JJTCTOR = 39;
+ public int JJTPROPERTY = 40;
+ public int JJTSTATICMETHOD = 41;
+ public int JJTMETHOD = 42;
+ public int JJTPROJECT = 43;
+ public int JJTSELECT = 44;
+ public int JJTSELECTFIRST = 45;
+ public int JJTSELECTLAST = 46;
+
+
+ public String[] jjtNodeName = {
+ "void",
+ "Sequence",
+ "Assign",
+ "Test",
+ "Or",
+ "And",
+ "BitOr",
+ "Xor",
+ "BitAnd",
+ "Eq",
+ "NotEq",
+ "Less",
+ "Greater",
+ "LessEq",
+ "GreaterEq",
+ "In",
+ "NotIn",
+ "ShiftLeft",
+ "ShiftRight",
+ "UnsignedShiftRight",
+ "Add",
+ "Subtract",
+ "Multiply",
+ "Divide",
+ "Remainder",
+ "Negate",
+ "BitNegate",
+ "Not",
+ "Instanceof",
+ "Chain",
+ "Eval",
+ "Const",
+ "ThisVarRef",
+ "RootVarRef",
+ "VarRef",
+ "List",
+ "Map",
+ "KeyValue",
+ "StaticField",
+ "Ctor",
+ "Property",
+ "StaticMethod",
+ "Method",
+ "Project",
+ "Select",
+ "SelectFirst",
+ "SelectLast",
+ };
+}