http://git-wip-us.apache.org/repos/asf/cayenne/blob/c1272b17/cayenne-server/src/main/java/org/apache/cayenne/exp/parser/ExpressionParserTokenManager.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/main/java/org/apache/cayenne/exp/parser/ExpressionParserTokenManager.java
 
b/cayenne-server/src/main/java/org/apache/cayenne/exp/parser/ExpressionParserTokenManager.java
index ca71544..c7f8a2f 100644
--- 
a/cayenne-server/src/main/java/org/apache/cayenne/exp/parser/ExpressionParserTokenManager.java
+++ 
b/cayenne-server/src/main/java/org/apache/cayenne/exp/parser/ExpressionParserTokenManager.java
@@ -23,2595 +23,2717 @@ package org.apache.cayenne.exp.parser;
 import java.math.BigDecimal;
 import java.math.BigInteger;
 import org.apache.cayenne.exp.Expression;
+import org.apache.cayenne.exp.parser.ExpressionUtils;
 
 /** Token Manager. */
 public class ExpressionParserTokenManager implements ExpressionParserConstants
 {
-      /** Holds the last value computed by a constant token. */
-    Object literalValue;
+   /** Holds the last value computed by a constant token. */
+   Object literalValue;
 
-      /** Holds the last string literal parsed. */
-    private StringBuffer stringBuffer;
+   /** 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 '\u005cn';
-            case 'r':   return '\u005cr';
-            case 't':   return '\u005ct';
-            case 'b':   return '\u005cb';
-            case 'f':   return '\u005cf';
-            case '\u005c\u005c':  return '\u005c\u005c';
-            case '\u005c'':  return '\u005c'';
-            case '\u005c"':  return '\u005c"';
-        }
+   /** Converts an escape sequence into a character value. */
+   private char escapeChar()
+   {
+      int ofs = image.length() - 1;
+      switch ( image.charAt(ofs) ) {
+         case 'n':   return '\u005cn';
+         case 'r':   return '\u005cr';
+         case 't':   return '\u005ct';
+         case 'b':   return '\u005cb';
+         case 'f':   return '\u005cf';
+         case '\u005c\u005c':  return '\u005c\u005c';
+         case '\u005c'':  return '\u005c'';
+         case '\u005c"':  return '\u005c"';
+      }
 
-          // Otherwise, it's an octal number.  Find the backslash and convert.
-        while ( image.charAt(--ofs) != '\u005c\u005c' )
-          {}
-        int value = 0;
-        while ( ++ofs < image.length() )
-            value = (value << 3) | (image.charAt(ofs) - '0');
-        return (char) value;
-    }
+      // Otherwise, it's an octal number.  Find the backslash and convert.
+      while ( image.charAt(--ofs) != '\u005c\u005c' )
+      {}
+      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;
+   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;
+      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;
+         case 'h': case 'H':
+            result = new BigInteger( s.substring(0,s.length()-1), base );
+            break;
 
-            default:
-                result = Integer.valueOf( s, base );
-                break;
-        }
-        return result;
-    }
+         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 );
+   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 'b': case 'B':
+            return new BigDecimal( s.substring(0,s.length()-1) );
 
-            case 'd': case 'D':
-            default:
-                return Double.valueOf( s );
-        }
-    }
+         case 'd': case 'D':
+         default:
+            return Double.valueOf( s );
+      }
+   }
 
-  /** Debug output. */
-  public  java.io.PrintStream debugStream = System.out;
-  /** Set debug output. */
-  public  void setDebugStream(java.io.PrintStream ds) { debugStream = ds; }
-private final int jjStopStringLiteralDfa_0(int pos, long active0, long active1)
-{
-   switch (pos)
+   /** Debug output. */
+   public  java.io.PrintStream debugStream = System.out;
+   /** Set debug output. */
+   public  void setDebugStream(java.io.PrintStream ds) { debugStream = ds; }
+   private final int jjStopStringLiteralDfa_0(int pos, long active0, long 
active1)
    {
-      case 0:
-         if ((active0 & 0x30050000000000L) != 0L)
-         {
-            jjmatchedKind = 70;
-            return 36;
-         }
-         if ((active0 & 0x8L) != 0L)
-         {
-            jjmatchedKind = 70;
-            return 63;
-         }
-         if ((active0 & 0x100000000000L) != 0L)
-         {
-            jjmatchedKind = 70;
-            return 6;
-         }
-         if ((active0 & 0xff8feaf00004e006L) != 0L || (active1 & 0x1dL) != 0L)
-         {
-            jjmatchedKind = 70;
-            return 74;
-         }
-         return -1;
-      case 1:
-         if ((active0 & 0x8002L) != 0L)
-            return 74;
-         if ((active0 & 0x100000000000L) != 0L)
-         {
-            jjmatchedKind = 70;
-            jjmatchedPos = 1;
-            return 5;
-         }
-         if ((active0 & 0x8L) != 0L)
-         {
-            jjmatchedKind = 70;
-            jjmatchedPos = 1;
-            return 64;
-         }
-         if ((active0 & 0x30000000000000L) != 0L)
-         {
-            jjmatchedKind = 70;
-            jjmatchedPos = 1;
-            return 35;
-         }
-         if ((active0 & 0xff8feff000046004L) != 0L || (active1 & 0x1dL) != 0L)
-         {
-            jjmatchedKind = 70;
-            jjmatchedPos = 1;
-            return 74;
-         }
-         return -1;
-      case 2:
-         if ((active0 & 0xbc0a00f00000000cL) != 0L)
-            return 74;
-         if ((active0 & 0x30000000000000L) != 0L)
-         {
-            if (jjmatchedPos != 2)
+      switch (pos)
+      {
+         case 0:
+            if ((active0 & 0xff8feaf00004e006L) != 0L || (active1 & 0x1dL) != 
0L)
             {
                jjmatchedKind = 70;
-               jjmatchedPos = 2;
+               return 83;
             }
-            return 34;
-         }
-         if ((active0 & 0x4385ff0000046000L) != 0L || (active1 & 0x15L) != 0L)
-         {
-            if (jjmatchedPos != 2)
+            if ((active0 & 0x30050000000000L) != 0L)
             {
                jjmatchedKind = 70;
-               jjmatchedPos = 2;
+               return 36;
             }
-            return 74;
-         }
-         return -1;
-      case 3:
-         if ((active0 & 0x4284100000006000L) != 0L)
-            return 74;
-         if ((active0 & 0x30000000000000L) != 0L)
-         {
-            if (jjmatchedPos != 3)
+            if ((active0 & 0x8L) != 0L)
             {
                jjmatchedKind = 70;
-               jjmatchedPos = 3;
+               return 63;
             }
-            return 33;
-         }
-         if ((active0 & 0xb501ef0000040000L) != 0L || (active1 & 0x11L) != 0L)
-         {
-            if (jjmatchedPos != 3)
+            if ((active0 & 0x100000000000L) != 0L)
             {
                jjmatchedKind = 70;
-               jjmatchedPos = 3;
+               return 6;
             }
-            return 74;
-         }
-         return -1;
-      case 4:
-         if ((active0 & 0x100610000000000L) != 0L)
-            return 74;
-         if ((active0 & 0x30000000000000L) != 0L)
-         {
-            jjmatchedKind = 70;
-            jjmatchedPos = 4;
-            return 32;
-         }
-         if ((active0 & 0xb4018e0000044000L) != 0L || (active1 & 0x1L) != 0L)
-         {
-            jjmatchedKind = 70;
-            jjmatchedPos = 4;
-            return 74;
-         }
-         return -1;
-      case 5:
-         if ((active0 & 0x30000000000000L) != 0L)
-         {
-            jjmatchedKind = 70;
-            jjmatchedPos = 5;
-            return 31;
-         }
-         if ((active0 & 0x8001840000000000L) != 0L || (active1 & 0x1L) != 0L)
-            return 74;
-         if ((active0 & 0x34000a0000044000L) != 0L)
-         {
-            jjmatchedKind = 70;
-            jjmatchedPos = 5;
-            return 74;
-         }
-         return -1;
-      case 6:
-         if ((active0 & 0x30000000000000L) != 0L)
-         {
-            jjmatchedKind = 70;
-            jjmatchedPos = 6;
-            return 30;
-         }
-         if ((active0 & 0x40000L) != 0L)
-            return 74;
-         if ((active0 & 0x34000a0000004000L) != 0L)
-         {
-            jjmatchedKind = 70;
-            jjmatchedPos = 6;
-            return 74;
-         }
-         return -1;
-      case 7:
-         if ((active0 & 0x20000000000L) != 0L)
-            return 74;
-         if ((active0 & 0x20000000000000L) != 0L)
-         {
-            jjmatchedKind = 70;
-            jjmatchedPos = 7;
-            return 29;
-         }
-         if ((active0 & 0x3410080000004000L) != 0L)
-         {
-            jjmatchedKind = 70;
-            jjmatchedPos = 7;
-            return 74;
-         }
-         return -1;
-      case 8:
-         if ((active0 & 0x20000000000000L) != 0L)
-         {
-            jjmatchedKind = 70;
-            jjmatchedPos = 8;
-            return 28;
-         }
-         if ((active0 & 0x2400080000000000L) != 0L)
-            return 74;
-         if ((active0 & 0x1010000000004000L) != 0L)
-         {
-            jjmatchedKind = 70;
-            jjmatchedPos = 8;
-            return 74;
-         }
-         return -1;
-      case 9:
-         if ((active0 & 0x1000000000000000L) != 0L)
-            return 74;
-         if ((active0 & 0x20000000000000L) != 0L)
-         {
-            jjmatchedKind = 70;
-            jjmatchedPos = 9;
-            return 27;
-         }
-         if ((active0 & 0x10000000004000L) != 0L)
-         {
-            jjmatchedKind = 70;
-            jjmatchedPos = 9;
-            return 74;
-         }
-         return -1;
-      case 10:
-         if ((active0 & 0x20000000000000L) != 0L)
-            return 26;
-         if ((active0 & 0x10000000000000L) != 0L)
-            return 74;
-         if ((active0 & 0x4000L) != 0L)
-         {
-            jjmatchedKind = 70;
-            jjmatchedPos = 10;
-            return 74;
-         }
-         return -1;
-      case 11:
-         if ((active0 & 0x4000L) != 0L)
-         {
-            jjmatchedKind = 70;
-            jjmatchedPos = 11;
-            return 74;
-         }
-         return -1;
-      case 12:
-         if ((active0 & 0x4000L) != 0L)
-         {
-            jjmatchedKind = 70;
-            jjmatchedPos = 12;
-            return 74;
-         }
-         return -1;
-      default :
-         return -1;
+            return -1;
+         case 1:
+            if ((active0 & 0x8002L) != 0L)
+               return 83;
+            if ((active0 & 0x100000000000L) != 0L)
+            {
+               jjmatchedKind = 70;
+               jjmatchedPos = 1;
+               return 5;
+            }
+            if ((active0 & 0xff8feff000046004L) != 0L || (active1 & 0x1dL) != 
0L)
+            {
+               jjmatchedKind = 70;
+               jjmatchedPos = 1;
+               return 83;
+            }
+            if ((active0 & 0x30000000000000L) != 0L)
+            {
+               jjmatchedKind = 70;
+               jjmatchedPos = 1;
+               return 35;
+            }
+            if ((active0 & 0x8L) != 0L)
+            {
+               jjmatchedKind = 70;
+               jjmatchedPos = 1;
+               return 64;
+            }
+            return -1;
+         case 2:
+            if ((active0 & 0xbc0a00f00000000cL) != 0L)
+               return 83;
+            if ((active0 & 0x30000000000000L) != 0L)
+            {
+               if (jjmatchedPos != 2)
+               {
+                  jjmatchedKind = 70;
+                  jjmatchedPos = 2;
+               }
+               return 34;
+            }
+            if ((active0 & 0x4385ff0000046000L) != 0L || (active1 & 0x15L) != 
0L)
+            {
+               if (jjmatchedPos != 2)
+               {
+                  jjmatchedKind = 70;
+                  jjmatchedPos = 2;
+               }
+               return 83;
+            }
+            return -1;
+         case 3:
+            if ((active0 & 0x30000000000000L) != 0L)
+            {
+               if (jjmatchedPos != 3)
+               {
+                  jjmatchedKind = 70;
+                  jjmatchedPos = 3;
+               }
+               return 33;
+            }
+            if ((active0 & 0x4284100000006000L) != 0L)
+               return 83;
+            if ((active0 & 0xb501ef0000040000L) != 0L || (active1 & 0x11L) != 
0L)
+            {
+               if (jjmatchedPos != 3)
+               {
+                  jjmatchedKind = 70;
+                  jjmatchedPos = 3;
+               }
+               return 83;
+            }
+            return -1;
+         case 4:
+            if ((active0 & 0x100610000000000L) != 0L)
+               return 83;
+            if ((active0 & 0x30000000000000L) != 0L)
+            {
+               jjmatchedKind = 70;
+               jjmatchedPos = 4;
+               return 32;
+            }
+            if ((active0 & 0xb4018e0000044000L) != 0L || (active1 & 0x1L) != 
0L)
+            {
+               jjmatchedKind = 70;
+               jjmatchedPos = 4;
+               return 83;
+            }
+            return -1;
+         case 5:
+            if ((active0 & 0x30000000000000L) != 0L)
+            {
+               jjmatchedKind = 70;
+               jjmatchedPos = 5;
+               return 31;
+            }
+            if ((active0 & 0x8001840000000000L) != 0L || (active1 & 0x1L) != 
0L)
+               return 83;
+            if ((active0 & 0x34000a0000044000L) != 0L)
+            {
+               jjmatchedKind = 70;
+               jjmatchedPos = 5;
+               return 83;
+            }
+            return -1;
+         case 6:
+            if ((active0 & 0x40000L) != 0L)
+               return 83;
+            if ((active0 & 0x34000a0000004000L) != 0L)
+            {
+               jjmatchedKind = 70;
+               jjmatchedPos = 6;
+               return 83;
+            }
+            if ((active0 & 0x30000000000000L) != 0L)
+            {
+               jjmatchedKind = 70;
+               jjmatchedPos = 6;
+               return 30;
+            }
+            return -1;
+         case 7:
+            if ((active0 & 0x20000000000L) != 0L)
+               return 83;
+            if ((active0 & 0x20000000000000L) != 0L)
+            {
+               jjmatchedKind = 70;
+               jjmatchedPos = 7;
+               return 29;
+            }
+            if ((active0 & 0x3410080000004000L) != 0L)
+            {
+               jjmatchedKind = 70;
+               jjmatchedPos = 7;
+               return 83;
+            }
+            return -1;
+         case 8:
+            if ((active0 & 0x2400080000000000L) != 0L)
+               return 83;
+            if ((active0 & 0x1010000000004000L) != 0L)
+            {
+               jjmatchedKind = 70;
+               jjmatchedPos = 8;
+               return 83;
+            }
+            if ((active0 & 0x20000000000000L) != 0L)
+            {
+               jjmatchedKind = 70;
+               jjmatchedPos = 8;
+               return 28;
+            }
+            return -1;
+         case 9:
+            if ((active0 & 0x1000000000000000L) != 0L)
+               return 83;
+            if ((active0 & 0x20000000000000L) != 0L)
+            {
+               jjmatchedKind = 70;
+               jjmatchedPos = 9;
+               return 27;
+            }
+            if ((active0 & 0x10000000004000L) != 0L)
+            {
+               jjmatchedKind = 70;
+               jjmatchedPos = 9;
+               return 83;
+            }
+            return -1;
+         case 10:
+            if ((active0 & 0x10000000000000L) != 0L)
+               return 83;
+            if ((active0 & 0x20000000000000L) != 0L)
+               return 26;
+            if ((active0 & 0x4000L) != 0L)
+            {
+               jjmatchedKind = 70;
+               jjmatchedPos = 10;
+               return 83;
+            }
+            return -1;
+         case 11:
+            if ((active0 & 0x4000L) != 0L)
+            {
+               jjmatchedKind = 70;
+               jjmatchedPos = 11;
+               return 83;
+            }
+            return -1;
+         case 12:
+            if ((active0 & 0x4000L) != 0L)
+            {
+               jjmatchedKind = 70;
+               jjmatchedPos = 12;
+               return 83;
+            }
+            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 int jjStopAtPos(int pos, int kind)
-{
-   jjmatchedKind = kind;
-   jjmatchedPos = pos;
-   return pos + 1;
-}
-private int jjMoveStringLiteralDfa0_0()
-{
-   switch(curChar)
+   private final int jjStartNfa_0(int pos, long active0, long active1)
    {
-      case 33:
-         jjmatchedKind = 4;
-         return jjMoveStringLiteralDfa1_0(0x80L, 0x0L);
-      case 34:
-         return jjStopAtPos(0, 75);
-      case 36:
-         return jjStopAtPos(0, 65);
-      case 38:
-         return jjStopAtPos(0, 22);
-      case 39:
-         return jjStopAtPos(0, 74);
-      case 40:
-         return jjStopAtPos(0, 16);
-      case 41:
-         return jjStopAtPos(0, 17);
-      case 42:
-         return jjStopAtPos(0, 69);
-      case 43:
-         return jjStopAtPos(0, 25);
-      case 44:
-         return jjStopAtPos(0, 19);
-      case 45:
-         return jjStopAtPos(0, 26);
-      case 47:
-         return jjStopAtPos(0, 27);
-      case 60:
-         jjmatchedKind = 10;
-         return jjMoveStringLiteralDfa1_0(0x800300L, 0x0L);
-      case 61:
-         jjmatchedKind = 5;
-         return jjMoveStringLiteralDfa1_0(0x40L, 0x0L);
-      case 62:
-         jjmatchedKind = 11;
-         return jjMoveStringLiteralDfa1_0(0x1001000L, 0x0L);
-      case 94:
-         return jjStopAtPos(0, 21);
-      case 97:
-         return jjMoveStringLiteralDfa1_0(0x2001000000004L, 0x0L);
-      case 98:
-         return jjMoveStringLiteralDfa1_0(0x40000L, 0x0L);
-      case 99:
-         return jjMoveStringLiteralDfa1_0(0x30050000000000L, 0x0L);
-      case 100:
-         return jjMoveStringLiteralDfa1_0(0x3c00020000000000L, 0x8L);
-      case 101:
-         return jjMoveStringLiteralDfa1_0(0x0L, 0x10L);
-      case 104:
-         return jjMoveStringLiteralDfa1_0(0x4000000000000000L, 0x0L);
-      case 105:
-         return jjMoveStringLiteralDfa1_0(0x8000L, 0x0L);
-      case 108:
-         return jjMoveStringLiteralDfa1_0(0x1a00000006000L, 0x0L);
-      case 109:
-         return jjMoveStringLiteralDfa1_0(0x8108006000000000L, 0x0L);
-      case 110:
-         return jjMoveStringLiteralDfa1_0(0x8L, 0x0L);
-      case 111:
-         return jjMoveStringLiteralDfa1_0(0x2L, 0x4L);
-      case 115:
-         return jjMoveStringLiteralDfa1_0(0x4088000000000L, 0x1L);
-      case 116:
-         return jjMoveStringLiteralDfa1_0(0x100000000000L, 0x0L);
-      case 117:
-         return jjMoveStringLiteralDfa1_0(0x400000000000L, 0x0L);
-      case 119:
-         return jjMoveStringLiteralDfa1_0(0x200000000000000L, 0x0L);
-      case 121:
-         return jjMoveStringLiteralDfa1_0(0x80000000000000L, 0x0L);
-      case 124:
-         return jjStopAtPos(0, 20);
-      case 126:
-         return jjStopAtPos(0, 28);
-      default :
-         return jjMoveNfa_0(3, 0);
-   }
-}
-private int jjMoveStringLiteralDfa1_0(long active0, long active1)
-{
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_0(0, active0, active1);
-      return 1;
+      return jjMoveNfa_0(jjStopStringLiteralDfa_0(pos, active0, active1), pos 
+ 1);
    }
-   switch(curChar)
+   private int jjStopAtPos(int pos, int kind)
    {
-      case 60:
-         if ((active0 & 0x800000L) != 0L)
-            return jjStopAtPos(1, 23);
-         break;
-      case 61:
-         if ((active0 & 0x40L) != 0L)
-            return jjStopAtPos(1, 6);
-         else if ((active0 & 0x80L) != 0L)
-            return jjStopAtPos(1, 7);
-         else if ((active0 & 0x200L) != 0L)
-            return jjStopAtPos(1, 9);
-         else if ((active0 & 0x1000L) != 0L)
-            return jjStopAtPos(1, 12);
-         break;
-      case 62:
-         if ((active0 & 0x100L) != 0L)
-            return jjStopAtPos(1, 8);
-         else if ((active0 & 0x1000000L) != 0L)
-            return jjStopAtPos(1, 24);
-         break;
-      case 97:
-         return jjMoveStringLiteralDfa2_0(active0, 0x3c00004000000000L, 
active1, 0L);
-      case 98:
-         return jjMoveStringLiteralDfa2_0(active0, 0x2000000000000L, active1, 
0xcL);
-      case 101:
-         return jjMoveStringLiteralDfa2_0(active0, 0x280800000040000L, 
active1, 0x1L);
-      case 105:
-         return jjMoveStringLiteralDfa2_0(active0, 0x8000022000006000L, 
active1, 0L);
-      case 110:
-         if ((active0 & 0x8000L) != 0L)
-            return jjStartNfaWithStates_0(1, 15, 74);
-         return jjMoveStringLiteralDfa2_0(active0, 0x4L, active1, 0x10L);
-      case 111:
-         return jjMoveStringLiteralDfa2_0(active0, 0x4109250000000008L, 
active1, 0L);
-      case 112:
-         return jjMoveStringLiteralDfa2_0(active0, 0x400000000000L, active1, 
0L);
-      case 113:
-         return jjMoveStringLiteralDfa2_0(active0, 0x4000000000000L, active1, 
0L);
-      case 114:
-         if ((active0 & 0x2L) != 0L)
-            return jjStartNfaWithStates_0(1, 1, 74);
-         return jjMoveStringLiteralDfa2_0(active0, 0x100000000000L, active1, 
0L);
-      case 117:
-         return jjMoveStringLiteralDfa2_0(active0, 0x30088000000000L, active1, 
0L);
-      case 118:
-         return jjMoveStringLiteralDfa2_0(active0, 0x1000000000L, active1, 0L);
-      default :
-         break;
+      jjmatchedKind = kind;
+      jjmatchedPos = pos;
+      return pos + 1;
    }
-   return jjStartNfa_0(0, active0, active1);
-}
-private int jjMoveStringLiteralDfa2_0(long old0, long active0, long old1, long 
active1)
-{
-   if (((active0 &= old0) | (active1 &= old1)) == 0L)
-      return jjStartNfa_0(0, old0, old1);
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_0(1, active0, active1);
-      return 2;
-   }
-   switch(curChar)
+   private int jjMoveStringLiteralDfa0_0()
    {
-      case 58:
-         if ((active1 & 0x8L) != 0L)
-            return jjStopAtPos(2, 67);
-         break;
-      case 97:
-         return jjMoveStringLiteralDfa3_0(active0, 0x80000000000000L, active1, 
0L);
-      case 98:
-         return jjMoveStringLiteralDfa3_0(active0, 0x80000000000L, active1, 
0L);
-      case 99:
-         return jjMoveStringLiteralDfa3_0(active0, 0x1000000000000L, active1, 
0x1L);
-      case 100:
-         if ((active0 & 0x4L) != 0L)
-            return jjStartNfaWithStates_0(2, 2, 74);
-         else if ((active0 & 0x8000000000000L) != 0L)
-            return jjStartNfaWithStates_0(2, 51, 74);
-         break;
-      case 101:
-         return jjMoveStringLiteralDfa3_0(active0, 0x200000000000000L, 
active1, 0L);
-      case 103:
-         if ((active0 & 0x1000000000L) != 0L)
-            return jjStartNfaWithStates_0(2, 36, 74);
-         break;
-      case 105:
-         return jjMoveStringLiteralDfa3_0(active0, 0x100000000000L, active1, 
0L);
-      case 106:
-         return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x4L);
-      case 107:
-         return jjMoveStringLiteralDfa3_0(active0, 0x6000L, active1, 0L);
-      case 109:
-         if ((active0 & 0x8000000000L) != 0L)
-            return jjStartNfaWithStates_0(2, 39, 74);
-         break;
-      case 110:
-         if ((active0 & 0x2000000000L) != 0L)
-         {
-            jjmatchedKind = 37;
-            jjmatchedPos = 2;
-         }
-         return jjMoveStringLiteralDfa3_0(active0, 0x8100840000000000L, 
active1, 0L);
-      case 112:
-         return jjMoveStringLiteralDfa3_0(active0, 0x400000000000L, active1, 
0L);
-      case 114:
-         return jjMoveStringLiteralDfa3_0(active0, 0x34000000000000L, active1, 
0L);
-      case 115:
-         if ((active0 & 0x2000000000000L) != 0L)
-            return jjStartNfaWithStates_0(2, 49, 74);
-         return jjMoveStringLiteralDfa3_0(active0, 0x20000000000L, active1, 
0L);
-      case 116:
-         if ((active0 & 0x8L) != 0L)
-            return jjStartNfaWithStates_0(2, 3, 74);
-         return jjMoveStringLiteralDfa3_0(active0, 0x40000L, active1, 0L);
-      case 117:
-         return jjMoveStringLiteralDfa3_0(active0, 0x4000010000000000L, 
active1, 0x10L);
-      case 119:
-         return jjMoveStringLiteralDfa3_0(active0, 0x200000000000L, active1, 
0L);
-      case 120:
-         if ((active0 & 0x4000000000L) != 0L)
-            return jjStartNfaWithStates_0(2, 38, 74);
-         break;
-      case 121:
-         if ((active0 & 0x800000000000000L) != 0L)
-         {
-            jjmatchedKind = 59;
-            jjmatchedPos = 2;
-         }
-         return jjMoveStringLiteralDfa3_0(active0, 0x3400000000000000L, 
active1, 0L);
-      default :
-         break;
-   }
-   return jjStartNfa_0(1, active0, active1);
-}
-private int jjMoveStringLiteralDfa3_0(long old0, long active0, long old1, long 
active1)
-{
-   if (((active0 &= old0) | (active1 &= old1)) == 0L)
-      return jjStartNfa_0(1, old0, old1);
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_0(2, active0, active1);
-      return 3;
+      switch(curChar)
+      {
+         case 33:
+            jjmatchedKind = 4;
+            return jjMoveStringLiteralDfa1_0(0x80L, 0x0L);
+         case 34:
+            return jjStopAtPos(0, 75);
+         case 36:
+            return jjStopAtPos(0, 65);
+         case 38:
+            return jjStopAtPos(0, 22);
+         case 39:
+            return jjStopAtPos(0, 74);
+         case 40:
+            return jjStopAtPos(0, 16);
+         case 41:
+            return jjStopAtPos(0, 17);
+         case 42:
+            return jjStopAtPos(0, 69);
+         case 43:
+            return jjStopAtPos(0, 25);
+         case 44:
+            return jjStopAtPos(0, 19);
+         case 45:
+            return jjStopAtPos(0, 26);
+         case 47:
+            return jjStopAtPos(0, 27);
+         case 60:
+            jjmatchedKind = 10;
+            return jjMoveStringLiteralDfa1_0(0x800300L, 0x0L);
+         case 61:
+            jjmatchedKind = 5;
+            return jjMoveStringLiteralDfa1_0(0x40L, 0x0L);
+         case 62:
+            jjmatchedKind = 11;
+            return jjMoveStringLiteralDfa1_0(0x1001000L, 0x0L);
+         case 94:
+            return jjStopAtPos(0, 21);
+         case 97:
+            return jjMoveStringLiteralDfa1_0(0x2001000000004L, 0x0L);
+         case 98:
+            return jjMoveStringLiteralDfa1_0(0x40000L, 0x0L);
+         case 99:
+            return jjMoveStringLiteralDfa1_0(0x30050000000000L, 0x0L);
+         case 100:
+            return jjMoveStringLiteralDfa1_0(0x3c00020000000000L, 0x8L);
+         case 101:
+            return jjMoveStringLiteralDfa1_0(0x0L, 0x10L);
+         case 104:
+            return jjMoveStringLiteralDfa1_0(0x4000000000000000L, 0x0L);
+         case 105:
+            return jjMoveStringLiteralDfa1_0(0x8000L, 0x0L);
+         case 108:
+            return jjMoveStringLiteralDfa1_0(0x1a00000006000L, 0x0L);
+         case 109:
+            return jjMoveStringLiteralDfa1_0(0x8108006000000000L, 0x0L);
+         case 110:
+            return jjMoveStringLiteralDfa1_0(0x8L, 0x0L);
+         case 111:
+            return jjMoveStringLiteralDfa1_0(0x2L, 0x4L);
+         case 115:
+            return jjMoveStringLiteralDfa1_0(0x4088000000000L, 0x1L);
+         case 116:
+            return jjMoveStringLiteralDfa1_0(0x100000000000L, 0x0L);
+         case 117:
+            return jjMoveStringLiteralDfa1_0(0x400000000000L, 0x0L);
+         case 119:
+            return jjMoveStringLiteralDfa1_0(0x200000000000000L, 0x0L);
+         case 121:
+            return jjMoveStringLiteralDfa1_0(0x80000000000000L, 0x0L);
+         case 124:
+            return jjStopAtPos(0, 20);
+         case 126:
+            return jjStopAtPos(0, 28);
+         default :
+            return jjMoveNfa_0(3, 0);
+      }
    }
-   switch(curChar)
+   private int jjMoveStringLiteralDfa1_0(long active0, long active1)
    {
-      case 58:
-         if ((active1 & 0x4L) != 0L)
-            return jjStopAtPos(3, 66);
-         break;
-      case 79:
-         return jjMoveStringLiteralDfa4_0(active0, 0x3400000000000000L, 
active1, 0L);
-      case 97:
-         return jjMoveStringLiteralDfa4_0(active0, 0x1000000000000L, active1, 
0L);
-      case 99:
-         return jjMoveStringLiteralDfa4_0(active0, 0x40000000000L, active1, 
0L);
-      case 101:
-         if ((active0 & 0x2000L) != 0L)
-         {
-            jjmatchedKind = 13;
-            jjmatchedPos = 3;
-         }
-         return jjMoveStringLiteralDfa4_0(active0, 0x600000004000L, active1, 
0L);
-      case 103:
-         return jjMoveStringLiteralDfa4_0(active0, 0x800000000000L, active1, 
0L);
-      case 107:
-         if ((active0 & 0x200000000000000L) != 0L)
-            return jjStartNfaWithStates_0(3, 57, 74);
-         break;
-      case 109:
-         if ((active0 & 0x100000000000L) != 0L)
-            return jjStartNfaWithStates_0(3, 44, 74);
-         return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x10L);
-      case 110:
-         return jjMoveStringLiteralDfa4_0(active0, 0x10000000000L, active1, 
0L);
-      case 111:
-         return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x1L);
-      case 114:
-         if ((active0 & 0x80000000000000L) != 0L)
-            return jjStartNfaWithStates_0(3, 55, 74);
-         else if ((active0 & 0x4000000000000000L) != 0L)
-            return jjStartNfaWithStates_0(3, 62, 74);
-         return jjMoveStringLiteralDfa4_0(active0, 0x30000000000000L, active1, 
0L);
-      case 115:
-         return jjMoveStringLiteralDfa4_0(active0, 0x80000000000L, active1, 
0L);
-      case 116:
-         if ((active0 & 0x4000000000000L) != 0L)
-            return jjStartNfaWithStates_0(3, 50, 74);
-         return jjMoveStringLiteralDfa4_0(active0, 0x100020000000000L, 
active1, 0L);
-      case 117:
-         return jjMoveStringLiteralDfa4_0(active0, 0x8000000000000000L, 
active1, 0L);
-      case 119:
-         return jjMoveStringLiteralDfa4_0(active0, 0x40000L, active1, 0L);
-      default :
-         break;
-   }
-   return jjStartNfa_0(2, active0, active1);
-}
-private int jjMoveStringLiteralDfa4_0(long old0, long active0, long old1, long 
active1)
-{
-   if (((active0 &= old0) | (active1 &= old1)) == 0L)
-      return jjStartNfa_0(2, old0, old1);
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_0(3, active0, active1);
-      return 4;
+      try { curChar = input_stream.readChar(); }
+      catch(java.io.IOException e) {
+         jjStopStringLiteralDfa_0(0, active0, active1);
+         return 1;
+      }
+      switch(curChar)
+      {
+         case 60:
+            if ((active0 & 0x800000L) != 0L)
+               return jjStopAtPos(1, 23);
+            break;
+         case 61:
+            if ((active0 & 0x40L) != 0L)
+               return jjStopAtPos(1, 6);
+            else if ((active0 & 0x80L) != 0L)
+               return jjStopAtPos(1, 7);
+            else if ((active0 & 0x200L) != 0L)
+               return jjStopAtPos(1, 9);
+            else if ((active0 & 0x1000L) != 0L)
+               return jjStopAtPos(1, 12);
+            break;
+         case 62:
+            if ((active0 & 0x100L) != 0L)
+               return jjStopAtPos(1, 8);
+            else if ((active0 & 0x1000000L) != 0L)
+               return jjStopAtPos(1, 24);
+            break;
+         case 97:
+            return jjMoveStringLiteralDfa2_0(active0, 0x3c00004000000000L, 
active1, 0L);
+         case 98:
+            return jjMoveStringLiteralDfa2_0(active0, 0x2000000000000L, 
active1, 0xcL);
+         case 101:
+            return jjMoveStringLiteralDfa2_0(active0, 0x280800000040000L, 
active1, 0x1L);
+         case 105:
+            return jjMoveStringLiteralDfa2_0(active0, 0x8000022000006000L, 
active1, 0L);
+         case 110:
+            if ((active0 & 0x8000L) != 0L)
+               return jjStartNfaWithStates_0(1, 15, 83);
+            return jjMoveStringLiteralDfa2_0(active0, 0x4L, active1, 0x10L);
+         case 111:
+            return jjMoveStringLiteralDfa2_0(active0, 0x4109250000000008L, 
active1, 0L);
+         case 112:
+            return jjMoveStringLiteralDfa2_0(active0, 0x400000000000L, 
active1, 0L);
+         case 113:
+            return jjMoveStringLiteralDfa2_0(active0, 0x4000000000000L, 
active1, 0L);
+         case 114:
+            if ((active0 & 0x2L) != 0L)
+               return jjStartNfaWithStates_0(1, 1, 83);
+            return jjMoveStringLiteralDfa2_0(active0, 0x100000000000L, 
active1, 0L);
+         case 117:
+            return jjMoveStringLiteralDfa2_0(active0, 0x30088000000000L, 
active1, 0L);
+         case 118:
+            return jjMoveStringLiteralDfa2_0(active0, 0x1000000000L, active1, 
0L);
+         default :
+            break;
+      }
+      return jjStartNfa_0(0, active0, active1);
    }
-   switch(curChar)
+   private int jjMoveStringLiteralDfa2_0(long old0, long active0, long old1, 
long active1)
    {
-      case 58:
-         if ((active1 & 0x10L) != 0L)
-            return jjStopAtPos(4, 68);
-         break;
-      case 73:
-         return jjMoveStringLiteralDfa5_0(active0, 0x4000L, active1, 0L);
-      case 97:
-         return jjMoveStringLiteralDfa5_0(active0, 0x40000000000L, active1, 
0L);
-      case 101:
-         return jjMoveStringLiteralDfa5_0(active0, 0x30000000040000L, active1, 
0L);
-      case 102:
-         return jjMoveStringLiteralDfa5_0(active0, 0x3400000000000000L, 
active1, 0L);
-      case 104:
-         if ((active0 & 0x100000000000000L) != 0L)
-            return jjStartNfaWithStates_0(4, 56, 74);
-         break;
-      case 105:
-         return jjMoveStringLiteralDfa5_0(active0, 0x20000000000L, active1, 
0L);
-      case 110:
-         return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x1L);
-      case 114:
-         if ((active0 & 0x200000000000L) != 0L)
-            return jjStartNfaWithStates_0(4, 45, 74);
-         else if ((active0 & 0x400000000000L) != 0L)
-            return jjStartNfaWithStates_0(4, 46, 74);
-         break;
-      case 116:
-         if ((active0 & 0x10000000000L) != 0L)
-            return jjStartNfaWithStates_0(4, 40, 74);
-         return jjMoveStringLiteralDfa5_0(active0, 0x8001880000000000L, 
active1, 0L);
-      default :
-         break;
-   }
-   return jjStartNfa_0(3, active0, active1);
-}
-private int jjMoveStringLiteralDfa5_0(long old0, long active0, long old1, long 
active1)
-{
-   if (((active0 &= old0) | (active1 &= old1)) == 0L)
-      return jjStartNfa_0(3, old0, old1);
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_0(4, active0, active1);
-      return 5;
+      if (((active0 &= old0) | (active1 &= old1)) == 0L)
+         return jjStartNfa_0(0, old0, old1);
+      try { curChar = input_stream.readChar(); }
+      catch(java.io.IOException e) {
+         jjStopStringLiteralDfa_0(1, active0, active1);
+         return 2;
+      }
+      switch(curChar)
+      {
+         case 58:
+            if ((active1 & 0x8L) != 0L)
+               return jjStopAtPos(2, 67);
+            break;
+         case 97:
+            return jjMoveStringLiteralDfa3_0(active0, 0x80000000000000L, 
active1, 0L);
+         case 98:
+            return jjMoveStringLiteralDfa3_0(active0, 0x80000000000L, active1, 
0L);
+         case 99:
+            return jjMoveStringLiteralDfa3_0(active0, 0x1000000000000L, 
active1, 0x1L);
+         case 100:
+            if ((active0 & 0x4L) != 0L)
+               return jjStartNfaWithStates_0(2, 2, 83);
+            else if ((active0 & 0x8000000000000L) != 0L)
+               return jjStartNfaWithStates_0(2, 51, 83);
+            break;
+         case 101:
+            return jjMoveStringLiteralDfa3_0(active0, 0x200000000000000L, 
active1, 0L);
+         case 103:
+            if ((active0 & 0x1000000000L) != 0L)
+               return jjStartNfaWithStates_0(2, 36, 83);
+            break;
+         case 105:
+            return jjMoveStringLiteralDfa3_0(active0, 0x100000000000L, 
active1, 0L);
+         case 106:
+            return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x4L);
+         case 107:
+            return jjMoveStringLiteralDfa3_0(active0, 0x6000L, active1, 0L);
+         case 109:
+            if ((active0 & 0x8000000000L) != 0L)
+               return jjStartNfaWithStates_0(2, 39, 83);
+            break;
+         case 110:
+            if ((active0 & 0x2000000000L) != 0L)
+            {
+               jjmatchedKind = 37;
+               jjmatchedPos = 2;
+            }
+            return jjMoveStringLiteralDfa3_0(active0, 0x8100840000000000L, 
active1, 0L);
+         case 112:
+            return jjMoveStringLiteralDfa3_0(active0, 0x400000000000L, 
active1, 0L);
+         case 114:
+            return jjMoveStringLiteralDfa3_0(active0, 0x34000000000000L, 
active1, 0L);
+         case 115:
+            if ((active0 & 0x2000000000000L) != 0L)
+               return jjStartNfaWithStates_0(2, 49, 83);
+            return jjMoveStringLiteralDfa3_0(active0, 0x20000000000L, active1, 
0L);
+         case 116:
+            if ((active0 & 0x8L) != 0L)
+               return jjStartNfaWithStates_0(2, 3, 83);
+            return jjMoveStringLiteralDfa3_0(active0, 0x40000L, active1, 0L);
+         case 117:
+            return jjMoveStringLiteralDfa3_0(active0, 0x4000010000000000L, 
active1, 0x10L);
+         case 119:
+            return jjMoveStringLiteralDfa3_0(active0, 0x200000000000L, 
active1, 0L);
+         case 120:
+            if ((active0 & 0x4000000000L) != 0L)
+               return jjStartNfaWithStates_0(2, 38, 83);
+            break;
+         case 121:
+            if ((active0 & 0x800000000000000L) != 0L)
+            {
+               jjmatchedKind = 59;
+               jjmatchedPos = 2;
+            }
+            return jjMoveStringLiteralDfa3_0(active0, 0x3400000000000000L, 
active1, 0L);
+         default :
+            break;
+      }
+      return jjStartNfa_0(1, active0, active1);
    }
-   switch(curChar)
+   private int jjMoveStringLiteralDfa3_0(long old0, long active0, long old1, 
long active1)
    {
-      case 77:
-         return jjMoveStringLiteralDfa6_0(active0, 0x1000000000000000L, 
active1, 0L);
-      case 87:
-         return jjMoveStringLiteralDfa6_0(active0, 0x2000000000000000L, 
active1, 0L);
-      case 89:
-         return jjMoveStringLiteralDfa6_0(active0, 0x400000000000000L, 
active1, 0L);
-      case 100:
-         if ((active1 & 0x1L) != 0L)
-            return jjStartNfaWithStates_0(5, 64, 74);
-         break;
-      case 101:
-         if ((active0 & 0x1000000000000L) != 0L)
-            return jjStartNfaWithStates_0(5, 48, 74);
-         else if ((active0 & 0x8000000000000000L) != 0L)
-            return jjStartNfaWithStates_0(5, 63, 74);
-         return jjMoveStringLiteralDfa6_0(active0, 0x40000L, active1, 0L);
-      case 103:
-         return jjMoveStringLiteralDfa6_0(active0, 0x4000L, active1, 0L);
-      case 104:
-         if ((active0 & 0x800000000000L) != 0L)
-            return jjStartNfaWithStates_0(5, 47, 74);
-         break;
-      case 110:
-         return jjMoveStringLiteralDfa6_0(active0, 0x30020000000000L, active1, 
0L);
-      case 114:
-         return jjMoveStringLiteralDfa6_0(active0, 0x80000000000L, active1, 
0L);
-      case 116:
-         if ((active0 & 0x40000000000L) != 0L)
-            return jjStartNfaWithStates_0(5, 42, 74);
-         break;
-      default :
-         break;
-   }
-   return jjStartNfa_0(4, active0, active1);
-}
-private int jjMoveStringLiteralDfa6_0(long old0, long active0, long old1, long 
active1)
-{
-   if (((active0 &= old0) | (active1 &= old1)) == 0L)
-      return jjStartNfa_0(4, old0, old1);
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_0(5, active0, 0L);
-      return 6;
+      if (((active0 &= old0) | (active1 &= old1)) == 0L)
+         return jjStartNfa_0(1, old0, old1);
+      try { curChar = input_stream.readChar(); }
+      catch(java.io.IOException e) {
+         jjStopStringLiteralDfa_0(2, active0, active1);
+         return 3;
+      }
+      switch(curChar)
+      {
+         case 58:
+            if ((active1 & 0x4L) != 0L)
+               return jjStopAtPos(3, 66);
+            break;
+         case 79:
+            return jjMoveStringLiteralDfa4_0(active0, 0x3400000000000000L, 
active1, 0L);
+         case 97:
+            return jjMoveStringLiteralDfa4_0(active0, 0x1000000000000L, 
active1, 0L);
+         case 99:
+            return jjMoveStringLiteralDfa4_0(active0, 0x40000000000L, active1, 
0L);
+         case 101:
+            if ((active0 & 0x2000L) != 0L)
+            {
+               jjmatchedKind = 13;
+               jjmatchedPos = 3;
+            }
+            return jjMoveStringLiteralDfa4_0(active0, 0x600000004000L, 
active1, 0L);
+         case 103:
+            return jjMoveStringLiteralDfa4_0(active0, 0x800000000000L, 
active1, 0L);
+         case 107:
+            if ((active0 & 0x200000000000000L) != 0L)
+               return jjStartNfaWithStates_0(3, 57, 83);
+            break;
+         case 109:
+            if ((active0 & 0x100000000000L) != 0L)
+               return jjStartNfaWithStates_0(3, 44, 83);
+            return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x10L);
+         case 110:
+            return jjMoveStringLiteralDfa4_0(active0, 0x10000000000L, active1, 
0L);
+         case 111:
+            return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x1L);
+         case 114:
+            if ((active0 & 0x80000000000000L) != 0L)
+               return jjStartNfaWithStates_0(3, 55, 83);
+            else if ((active0 & 0x4000000000000000L) != 0L)
+               return jjStartNfaWithStates_0(3, 62, 83);
+            return jjMoveStringLiteralDfa4_0(active0, 0x30000000000000L, 
active1, 0L);
+         case 115:
+            return jjMoveStringLiteralDfa4_0(active0, 0x80000000000L, active1, 
0L);
+         case 116:
+            if ((active0 & 0x4000000000000L) != 0L)
+               return jjStartNfaWithStates_0(3, 50, 83);
+            return jjMoveStringLiteralDfa4_0(active0, 0x100020000000000L, 
active1, 0L);
+         case 117:
+            return jjMoveStringLiteralDfa4_0(active0, 0x8000000000000000L, 
active1, 0L);
+         case 119:
+            return jjMoveStringLiteralDfa4_0(active0, 0x40000L, active1, 0L);
+         default :
+            break;
+      }
+      return jjStartNfa_0(2, active0, active1);
    }
-   switch(curChar)
+   private int jjMoveStringLiteralDfa4_0(long old0, long active0, long old1, 
long active1)
    {
-      case 99:
-         return jjMoveStringLiteralDfa7_0(active0, 0x20000000000L);
-      case 101:
-         return jjMoveStringLiteralDfa7_0(active0, 0x2400000000000000L);
-      case 105:
-         return jjMoveStringLiteralDfa7_0(active0, 0x80000000000L);
-      case 110:
-         if ((active0 & 0x40000L) != 0L)
-            return jjStartNfaWithStates_0(6, 18, 74);
-         return jjMoveStringLiteralDfa7_0(active0, 0x4000L);
-      case 111:
-         return jjMoveStringLiteralDfa7_0(active0, 0x1000000000000000L);
-      case 116:
-         return jjMoveStringLiteralDfa7_0(active0, 0x30000000000000L);
-      default :
-         break;
-   }
-   return jjStartNfa_0(5, active0, 0L);
-}
-private 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;
+      if (((active0 &= old0) | (active1 &= old1)) == 0L)
+         return jjStartNfa_0(2, old0, old1);
+      try { curChar = input_stream.readChar(); }
+      catch(java.io.IOException e) {
+         jjStopStringLiteralDfa_0(3, active0, active1);
+         return 4;
+      }
+      switch(curChar)
+      {
+         case 58:
+            if ((active1 & 0x10L) != 0L)
+               return jjStopAtPos(4, 68);
+            break;
+         case 73:
+            return jjMoveStringLiteralDfa5_0(active0, 0x4000L, active1, 0L);
+         case 97:
+            return jjMoveStringLiteralDfa5_0(active0, 0x40000000000L, active1, 
0L);
+         case 101:
+            return jjMoveStringLiteralDfa5_0(active0, 0x30000000040000L, 
active1, 0L);
+         case 102:
+            return jjMoveStringLiteralDfa5_0(active0, 0x3400000000000000L, 
active1, 0L);
+         case 104:
+            if ((active0 & 0x100000000000000L) != 0L)
+               return jjStartNfaWithStates_0(4, 56, 83);
+            break;
+         case 105:
+            return jjMoveStringLiteralDfa5_0(active0, 0x20000000000L, active1, 
0L);
+         case 110:
+            return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x1L);
+         case 114:
+            if ((active0 & 0x200000000000L) != 0L)
+               return jjStartNfaWithStates_0(4, 45, 83);
+            else if ((active0 & 0x400000000000L) != 0L)
+               return jjStartNfaWithStates_0(4, 46, 83);
+            break;
+         case 116:
+            if ((active0 & 0x10000000000L) != 0L)
+               return jjStartNfaWithStates_0(4, 40, 83);
+            return jjMoveStringLiteralDfa5_0(active0, 0x8001880000000000L, 
active1, 0L);
+         default :
+            break;
+      }
+      return jjStartNfa_0(3, active0, active1);
    }
-   switch(curChar)
+   private int jjMoveStringLiteralDfa5_0(long old0, long active0, long old1, 
long active1)
    {
-      case 68:
-         return jjMoveStringLiteralDfa8_0(active0, 0x10000000000000L);
-      case 84:
-         return jjMoveStringLiteralDfa8_0(active0, 0x20000000000000L);
-      case 97:
-         return jjMoveStringLiteralDfa8_0(active0, 0x400000000000000L);
-      case 101:
-         return jjMoveStringLiteralDfa8_0(active0, 0x2000000000000000L);
-      case 110:
-         return jjMoveStringLiteralDfa8_0(active0, 0x1000080000000000L);
-      case 111:
-         return jjMoveStringLiteralDfa8_0(active0, 0x4000L);
-      case 116:
-         if ((active0 & 0x20000000000L) != 0L)
-            return jjStartNfaWithStates_0(7, 41, 74);
-         break;
-      default :
-         break;
-   }
-   return jjStartNfa_0(6, active0, 0L);
-}
-private 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;
+      if (((active0 &= old0) | (active1 &= old1)) == 0L)
+         return jjStartNfa_0(3, old0, old1);
+      try { curChar = input_stream.readChar(); }
+      catch(java.io.IOException e) {
+         jjStopStringLiteralDfa_0(4, active0, active1);
+         return 5;
+      }
+      switch(curChar)
+      {
+         case 77:
+            return jjMoveStringLiteralDfa6_0(active0, 0x1000000000000000L, 
active1, 0L);
+         case 87:
+            return jjMoveStringLiteralDfa6_0(active0, 0x2000000000000000L, 
active1, 0L);
+         case 89:
+            return jjMoveStringLiteralDfa6_0(active0, 0x400000000000000L, 
active1, 0L);
+         case 100:
+            if ((active1 & 0x1L) != 0L)
+               return jjStartNfaWithStates_0(5, 64, 83);
+            break;
+         case 101:
+            if ((active0 & 0x1000000000000L) != 0L)
+               return jjStartNfaWithStates_0(5, 48, 83);
+            else if ((active0 & 0x8000000000000000L) != 0L)
+               return jjStartNfaWithStates_0(5, 63, 83);
+            return jjMoveStringLiteralDfa6_0(active0, 0x40000L, active1, 0L);
+         case 103:
+            return jjMoveStringLiteralDfa6_0(active0, 0x4000L, active1, 0L);
+         case 104:
+            if ((active0 & 0x800000000000L) != 0L)
+               return jjStartNfaWithStates_0(5, 47, 83);
+            break;
+         case 110:
+            return jjMoveStringLiteralDfa6_0(active0, 0x30020000000000L, 
active1, 0L);
+         case 114:
+            return jjMoveStringLiteralDfa6_0(active0, 0x80000000000L, active1, 
0L);
+         case 116:
+            if ((active0 & 0x40000000000L) != 0L)
+               return jjStartNfaWithStates_0(5, 42, 83);
+            break;
+         default :
+            break;
+      }
+      return jjStartNfa_0(4, active0, active1);
    }
-   switch(curChar)
+   private int jjMoveStringLiteralDfa6_0(long old0, long active0, long old1, 
long active1)
    {
-      case 97:
-         return jjMoveStringLiteralDfa9_0(active0, 0x10000000000000L);
-      case 103:
-         if ((active0 & 0x80000000000L) != 0L)
-            return jjStartNfaWithStates_0(8, 43, 74);
-         break;
-      case 105:
-         return jjMoveStringLiteralDfa9_0(active0, 0x20000000000000L);
-      case 107:
-         if ((active0 & 0x2000000000000000L) != 0L)
-            return jjStartNfaWithStates_0(8, 61, 74);
-         break;
-      case 114:
-         if ((active0 & 0x400000000000000L) != 0L)
-            return jjStartNfaWithStates_0(8, 58, 74);
-         return jjMoveStringLiteralDfa9_0(active0, 0x4000L);
-      case 116:
-         return jjMoveStringLiteralDfa9_0(active0, 0x1000000000000000L);
-      default :
-         break;
-   }
-   return jjStartNfa_0(7, active0, 0L);
-}
-private 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;
+      if (((active0 &= old0) | (active1 &= old1)) == 0L)
+         return jjStartNfa_0(4, old0, old1);
+      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, 0x20000000000L);
+         case 101:
+            return jjMoveStringLiteralDfa7_0(active0, 0x2400000000000000L);
+         case 105:
+            return jjMoveStringLiteralDfa7_0(active0, 0x80000000000L);
+         case 110:
+            if ((active0 & 0x40000L) != 0L)
+               return jjStartNfaWithStates_0(6, 18, 83);
+            return jjMoveStringLiteralDfa7_0(active0, 0x4000L);
+         case 111:
+            return jjMoveStringLiteralDfa7_0(active0, 0x1000000000000000L);
+         case 116:
+            return jjMoveStringLiteralDfa7_0(active0, 0x30000000000000L);
+         default :
+            break;
+      }
+      return jjStartNfa_0(5, active0, 0L);
    }
-   switch(curChar)
+   private int jjMoveStringLiteralDfa7_0(long old0, long active0)
    {
-      case 101:
-         return jjMoveStringLiteralDfa10_0(active0, 0x4000L);
-      case 104:
-         if ((active0 & 0x1000000000000000L) != 0L)
-            return jjStartNfaWithStates_0(9, 60, 74);
-         break;
-      case 109:
-         return jjMoveStringLiteralDfa10_0(active0, 0x20000000000000L);
-      case 116:
-         return jjMoveStringLiteralDfa10_0(active0, 0x10000000000000L);
-      default :
-         break;
-   }
-   return jjStartNfa_0(8, active0, 0L);
-}
-private int jjMoveStringLiteralDfa10_0(long old0, long active0)
-{
-   if (((active0 &= old0)) == 0L)
-      return jjStartNfa_0(8, old0, 0L);
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_0(9, active0, 0L);
-      return 10;
+      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 68:
+            return jjMoveStringLiteralDfa8_0(active0, 0x10000000000000L);
+         case 84:
+            return jjMoveStringLiteralDfa8_0(active0, 0x20000000000000L);
+         case 97:
+            return jjMoveStringLiteralDfa8_0(active0, 0x400000000000000L);
+         case 101:
+            return jjMoveStringLiteralDfa8_0(active0, 0x2000000000000000L);
+         case 110:
+            return jjMoveStringLiteralDfa8_0(active0, 0x1000080000000000L);
+         case 111:
+            return jjMoveStringLiteralDfa8_0(active0, 0x4000L);
+         case 116:
+            if ((active0 & 0x20000000000L) != 0L)
+               return jjStartNfaWithStates_0(7, 41, 83);
+            break;
+         default :
+            break;
+      }
+      return jjStartNfa_0(6, active0, 0L);
    }
-   switch(curChar)
+   private int jjMoveStringLiteralDfa8_0(long old0, long active0)
    {
-      case 67:
-         return jjMoveStringLiteralDfa11_0(active0, 0x4000L);
-      case 101:
-         if ((active0 & 0x10000000000000L) != 0L)
-            return jjStartNfaWithStates_0(10, 52, 74);
-         else if ((active0 & 0x20000000000000L) != 0L)
-            return jjStartNfaWithStates_0(10, 53, 26);
-         break;
-      default :
-         break;
+      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 97:
+            return jjMoveStringLiteralDfa9_0(active0, 0x10000000000000L);
+         case 103:
+            if ((active0 & 0x80000000000L) != 0L)
+               return jjStartNfaWithStates_0(8, 43, 83);
+            break;
+         case 105:
+            return jjMoveStringLiteralDfa9_0(active0, 0x20000000000000L);
+         case 107:
+            if ((active0 & 0x2000000000000000L) != 0L)
+               return jjStartNfaWithStates_0(8, 61, 83);
+            break;
+         case 114:
+            if ((active0 & 0x400000000000000L) != 0L)
+               return jjStartNfaWithStates_0(8, 58, 83);
+            return jjMoveStringLiteralDfa9_0(active0, 0x4000L);
+         case 116:
+            return jjMoveStringLiteralDfa9_0(active0, 0x1000000000000000L);
+         default :
+            break;
+      }
+      return jjStartNfa_0(7, active0, 0L);
    }
-   return jjStartNfa_0(9, active0, 0L);
-}
-private int jjMoveStringLiteralDfa11_0(long old0, long active0)
-{
-   if (((active0 &= old0)) == 0L)
-      return jjStartNfa_0(9, old0, 0L);
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_0(10, active0, 0L);
-      return 11;
+   private 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 101:
+            return jjMoveStringLiteralDfa10_0(active0, 0x4000L);
+         case 104:
+            if ((active0 & 0x1000000000000000L) != 0L)
+               return jjStartNfaWithStates_0(9, 60, 83);
+            break;
+         case 109:
+            return jjMoveStringLiteralDfa10_0(active0, 0x20000000000000L);
+         case 116:
+            return jjMoveStringLiteralDfa10_0(active0, 0x10000000000000L);
+         default :
+            break;
+      }
+      return jjStartNfa_0(8, active0, 0L);
    }
-   switch(curChar)
+   private int jjMoveStringLiteralDfa10_0(long old0, long active0)
    {
-      case 97:
-         return jjMoveStringLiteralDfa12_0(active0, 0x4000L);
-      default :
-         break;
+      if (((active0 &= old0)) == 0L)
+         return jjStartNfa_0(8, old0, 0L);
+      try { curChar = input_stream.readChar(); }
+      catch(java.io.IOException e) {
+         jjStopStringLiteralDfa_0(9, active0, 0L);
+         return 10;
+      }
+      switch(curChar)
+      {
+         case 67:
+            return jjMoveStringLiteralDfa11_0(active0, 0x4000L);
+         case 101:
+            if ((active0 & 0x10000000000000L) != 0L)
+               return jjStartNfaWithStates_0(10, 52, 83);
+            else if ((active0 & 0x20000000000000L) != 0L)
+               return jjStartNfaWithStates_0(10, 53, 26);
+            break;
+         default :
+            break;
+      }
+      return jjStartNfa_0(9, active0, 0L);
    }
-   return jjStartNfa_0(10, active0, 0L);
-}
-private int jjMoveStringLiteralDfa12_0(long old0, long active0)
-{
-   if (((active0 &= old0)) == 0L)
-      return jjStartNfa_0(10, old0, 0L);
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_0(11, active0, 0L);
-      return 12;
+   private int jjMoveStringLiteralDfa11_0(long old0, long active0)
+   {
+      if (((active0 &= old0)) == 0L)
+         return jjStartNfa_0(9, old0, 0L);
+      try { curChar = input_stream.readChar(); }
+      catch(java.io.IOException e) {
+         jjStopStringLiteralDfa_0(10, active0, 0L);
+         return 11;
+      }
+      switch(curChar)
+      {
+         case 97:
+            return jjMoveStringLiteralDfa12_0(active0, 0x4000L);
+         default :
+            break;
+      }
+      return jjStartNfa_0(10, active0, 0L);
    }
-   switch(curChar)
+   private int jjMoveStringLiteralDfa12_0(long old0, long active0)
    {
-      case 115:
-         return jjMoveStringLiteralDfa13_0(active0, 0x4000L);
-      default :
-         break;
+      if (((active0 &= old0)) == 0L)
+         return jjStartNfa_0(10, old0, 0L);
+      try { curChar = input_stream.readChar(); }
+      catch(java.io.IOException e) {
+         jjStopStringLiteralDfa_0(11, active0, 0L);
+         return 12;
+      }
+      switch(curChar)
+      {
+         case 115:
+            return jjMoveStringLiteralDfa13_0(active0, 0x4000L);
+         default :
+            break;
+      }
+      return jjStartNfa_0(11, active0, 0L);
    }
-   return jjStartNfa_0(11, active0, 0L);
-}
-private int jjMoveStringLiteralDfa13_0(long old0, long active0)
-{
-   if (((active0 &= old0)) == 0L)
-      return jjStartNfa_0(11, old0, 0L);
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_0(12, active0, 0L);
-      return 13;
+   private int jjMoveStringLiteralDfa13_0(long old0, long active0)
+   {
+      if (((active0 &= old0)) == 0L)
+         return jjStartNfa_0(11, old0, 0L);
+      try { curChar = input_stream.readChar(); }
+      catch(java.io.IOException e) {
+         jjStopStringLiteralDfa_0(12, active0, 0L);
+         return 13;
+      }
+      switch(curChar)
+      {
+         case 101:
+            if ((active0 & 0x4000L) != 0L)
+               return jjStartNfaWithStates_0(13, 14, 83);
+            break;
+         default :
+            break;
+      }
+      return jjStartNfa_0(12, active0, 0L);
    }
-   switch(curChar)
+   private int jjStartNfaWithStates_0(int pos, int kind, int state)
    {
-      case 101:
-         if ((active0 & 0x4000L) != 0L)
-            return jjStartNfaWithStates_0(13, 14, 74);
-         break;
-      default :
-         break;
+      jjmatchedKind = kind;
+      jjmatchedPos = pos;
+      try { curChar = input_stream.readChar(); }
+      catch(java.io.IOException e) { return pos + 1; }
+      return jjMoveNfa_0(state, pos + 1);
    }
-   return jjStartNfa_0(12, active0, 0L);
-}
-private 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 int jjMoveNfa_0(int startState, int curPos)
-{
-   int startsAt = 0;
-   jjnewStateCnt = 74;
-   int i = 1;
-   jjstateSet[0] = startState;
-   int kind = 0x7fffffff;
-   for (;;)
+   private int jjMoveNfa_0(int startState, int curPos)
    {
-      if (++jjround == 0x7fffffff)
-         ReInitRounds();
-      if (curChar < 64)
+      int startsAt = 0;
+      jjnewStateCnt = 83;
+      int i = 1;
+      jjstateSet[0] = startState;
+      int kind = 0x7fffffff;
+      for (;;)
       {
-         long l = 1L << curChar;
-         do
+         if (++jjround == 0x7fffffff)
+            ReInitRounds();
+         if (curChar < 64)
          {
-            switch(jjstateSet[--i])
+            long l = 1L << curChar;
+            do
             {
-               case 26:
-                  if ((0x3ff000000000000L & l) != 0L)
-                  {
-                     if (kind > 71)
-                        kind = 71;
-                     jjCheckNAddTwoStates(72, 73);
-                  }
-                  else if (curChar == 43)
-                  {
-                     if (kind > 71)
-                        kind = 71;
-                  }
-                  else if (curChar == 46)
-                     jjstateSet[jjnewStateCnt++] = 70;
-                  if ((0x3ff000000000000L & l) != 0L)
-                  {
-                     if (kind > 70)
-                        kind = 70;
-                     jjCheckNAddStates(0, 2);
-                  }
-                  else if (curChar == 43)
-                  {
-                     if (kind > 70)
-                        kind = 70;
-                     jjCheckNAdd(69);
-                  }
-                  break;
-               case 32:
-                  if ((0x3ff000000000000L & l) != 0L)
-                  {
-                     if (kind > 71)
-                        kind = 71;
-                     jjCheckNAddTwoStates(72, 73);
-                  }
-                  else if (curChar == 43)
-                  {
-                     if (kind > 71)
-                        kind = 71;
-                  }
-                  else if (curChar == 46)
-                     jjstateSet[jjnewStateCnt++] = 70;
-                  if ((0x3ff000000000000L & l) != 0L)
-                  {
-                     if (kind > 70)
-                        kind = 70;
-                     jjCheckNAddStates(0, 2);
-                  }
-                  else if (curChar == 43)
-                  {
-                     if (kind > 70)
-                        kind = 70;
-                     jjCheckNAdd(69);
-                  }
-                  break;
-               case 63:
-                  if ((0x3ff000000000000L & l) != 0L)
-                  {
-                     if (kind > 71)
-                        kind = 71;
-                     jjCheckNAddTwoStates(72, 73);
-                  }
-                  else if (curChar == 43)
-                  {
-                     if (kind > 71)
-                        kind = 71;
-                  }
-                  else if (curChar == 46)
-                     jjstateSet[jjnewStateCnt++] = 70;
-                  if ((0x3ff000000000000L & l) != 0L)
-                  {
-                     if (kind > 70)
-                        kind = 70;
-                     jjCheckNAddStates(0, 2);
-                  }
-                  else if (curChar == 43)
-                  {
-                     if (kind > 70)
-                        kind = 70;
-                     jjCheckNAdd(69);
-                  }
-                  break;
-               case 5:
-                  if ((0x3ff000000000000L & l) != 0L)
-                  {
-                     if (kind > 71)
-                        kind = 71;
-                     jjCheckNAddTwoStates(72, 73);
-                  }
-                  else if (curChar == 43)
-                  {
-                     if (kind > 71)
-                        kind = 71;
-                  }
-                  else if (curChar == 46)
-                     jjstateSet[jjnewStateCnt++] = 70;
-                  if ((0x3ff000000000000L & l) != 0L)
-                  {
-                     if (kind > 70)
-                        kind = 70;
-                     jjCheckNAddStates(0, 2);
-                  }
-                  else if (curChar == 43)
-                  {
-                     if (kind > 70)
-                        kind = 70;
-                     jjCheckNAdd(69);
-                  }
-                  break;
-               case 64:
-                  if ((0x3ff000000000000L & l) != 0L)
-                  {
-                     if (kind > 71)
-                        kind = 71;
-                     jjCheckNAddTwoStates(72, 73);
-                  }
-                  else if (curChar == 43)
-                  {
-                     if (kind > 71)
-                        kind = 71;
-                  }
-                  else if (curChar == 46)
-                     jjstateSet[jjnewStateCnt++] = 70;
-                  if ((0x3ff000000000000L & l) != 0L)
-                  {
-                     if (kind > 70)
-                        kind = 70;
-                     jjCheckNAddStates(0, 2);
-                  }
-                  else if (curChar == 43)
-                  {
-                     if (kind > 70)
-                        kind = 70;
-                     jjCheckNAdd(69);
-                  }
-                  break;
-               case 30:
-                  if ((0x3ff000000000000L & l) != 0L)
-                  {
-                     if (kind > 71)
-                        kind = 71;
-                     jjCheckNAddTwoStates(72, 73);
-                  }
-                  else if (curChar == 43)
-                  {
-                     if (kind > 71)
-                        kind = 71;
-                  }
-                  else if (curChar == 46)
-                     jjstateSet[jjnewStateCnt++] = 70;
-                  if ((0x3ff000000000000L & l) != 0L)
-                  {
-                     if (kind > 70)
-                        kind = 70;
-                     jjCheckNAddStates(0, 2);
-                  }
-                  else if (curChar == 43)
-                  {
-                     if (kind > 70)
-                        kind = 70;
-                     jjCheckNAdd(69);
-                  }
-                  break;
-               case 29:
-                  if ((0x3ff000000000000L & l) != 0L)
-                  {
-                     if (kind > 71)
-                        kind = 71;
-                     jjCheckNAddTwoStates(72, 73);
-                  }
-                  else if (curChar == 43)
-                  {
-                     if (kind > 71)
-                        kind = 71;
-                  }
-                  else if (curChar == 46)
-                     jjstateSet[jjnewStateCnt++] = 70;
-                  if ((0x3ff000000000000L & l) != 0L)
-                  {
-                     if (kind > 70)
-                        kind = 70;
-                     jjCheckNAddStates(0, 2);
-                  }
-                  else if (curChar == 43)
-                  {
-                     if (kind > 70)
-                        kind = 70;
-                     jjCheckNAdd(69);
-                  }
-                  break;
-               case 35:
-                  if ((0x3ff000000000000L & l) != 0L)
-                  {
-                     if (kind > 71)
-                        kind = 71;
-                     jjCheckNAddTwoStates(72, 73);
-                  }
-                  else if (curChar == 43)
-                  {
-                     if (kind > 71)
-                        kind = 71;
-                  }
-                  else if (curChar == 46)
-                     jjstateSet[jjnewStateCnt++] = 70;
-                  if ((0x3ff000000000000L & l) != 0L)
-                  {
-                     if (kind > 70)
-                        kind = 70;
-                     jjCheckNAddStates(0, 2);
-                  }
-                  else if (curChar == 43)
-                  {
-                     if (kind > 70)
-                        kind = 70;
-                     jjCheckNAdd(69);
-                  }
-                  break;
-               case 27:
-                  if ((0x3ff000000000000L & l) != 0L)
-                  {
-                     if (kind > 71)
-                        kind = 71;
-                     jjCheckNAddTwoStates(72, 73);
-                  }
-                  else if (curChar == 43)
-                  {
-                     if (kind > 71)
-                        kind = 71;
-                  }
-                  else if (curChar == 46)
-                     jjstateSet[jjnewStateCnt++] = 70;
-                  if ((0x3ff000000000000L & l) != 0L)
-                  {
-                     if (kind > 70)
-                        kind = 70;
-                     jjCheckNAddStates(0, 2);
-                  }
-                  else if (curChar == 43)
-                  {
-                     if (kind > 70)
-                        kind = 70;
-                     jjCheckNAdd(69);
-                  }
-                  break;
-               case 33:
-                  if ((0x3ff000000000000L & l) != 0L)
-                  {
-                     if (kind > 71)
-                        kind = 71;
-                     jjCheckNAddTwoStates(72, 73);
-                  }
-                  else if (curChar == 43)
-                  {
-                     if (kind > 71)
-                        kind = 71;
-                  }
-                  else if (curChar == 46)
-                     jjstateSet[jjnewStateCnt++] = 70;
-                  if ((0x3ff000000000000L & l) != 0L)
-                  {
-                     if (kind > 70)
-                        kind = 70;
-                     jjCheckNAddStates(0, 2);
-                  }
-                  else if (curChar == 43)
-                  {
-                     if (kind > 70)
-                        kind = 70;
-                     jjCheckNAdd(69);
-                  }
-                  break;
-               case 6:
-                  if ((0x3ff000000000000L & l) != 0L)
-                  {
-                     if (kind > 71)
-                        kind = 71;
-                     jjCheckNAddTwoStates(72, 73);
-                  }
-                  else if (curChar == 43)
-                  {
-                     if (kind > 71)
-                        kind = 71;
-                  }
-                  else if (curChar == 46)
-                     jjstateSet[jjnewStateCnt++] = 70;
-                  if ((0x3ff000000000000L & l) != 0L)
-                  {
-                     if (kind > 70)
-                        kind = 70;
-                     jjCheckNAddStates(0, 2);
-                  }
-                  else if (curChar == 43)
-                  {
-                     if (kind > 70)
-                        kind = 70;
-                     jjCheckNAdd(69);
-                  }
-                  break;
-               case 74:
-                  if ((0x3ff000000000000L & l) != 0L)
-                  {
-                     if (kind > 71)
-                        kind = 71;
-                     jjCheckNAddTwoStates(72, 73);
-                  }
-                  else if (curChar == 43)
-                  {
-                     if (kind > 71)
-                        kind = 71;
-                  }
-                  else if (curChar == 46)
-                     jjstateSet[jjnewStateCnt++] = 70;
-                  if ((0x3ff000000000000L & l) != 0L)
-                  {
-                     if (kind > 70)
-                        kind = 70;
-                     jjCheckNAddStates(0, 2);
-                  }
-                  else if (curChar == 43)
-                  {
-                     if (kind > 70)
-                        kind = 70;
-                     jjCheckNAdd(69);
-                  }
-                  break;
-               case 3:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjCheckNAddStates(3, 8);
-                  else if (curChar == 46)
-                     jjCheckNAdd(42);
-                  if ((0x3fe000000000000L & l) != 0L)
-                  {
+               switch(jjstateSet[--i])
+               {
+                  case 35:
+                     if ((0x3ff000000000000L & l) != 0L)
+                     {
+                        if (kind > 71)
+                           kind = 71;
+                        jjCheckNAddStates(0, 2);
+                     }
+                     else if (curChar == 43)
+                     {
+                        if (kind > 71)
+                           kind = 71;
+                     }
+                     else if (curChar == 35)
+                        jjstateSet[jjnewStateCnt++] = 80;
+                     else if (curChar == 46)
+                        jjstateSet[jjnewStateCnt++] = 73;
+                     if ((0x3ff000000000000L & l) != 0L)
+                     {
+                        if (kind > 70)
+                           kind = 70;
+                        jjCheckNAddStates(3, 6);
+                     }
+                     else if (curChar == 43)
+                     {
+                        if (kind > 70)
+                           kind = 70;
+                        jjCheckNAdd(72);
+                     }
+                     else if (curChar == 35)
+                        jjstateSet[jjnewStateCnt++] = 69;
+                     break;
+                  case 27:
+                     if ((0x3ff000000000000L & l) != 0L)
+                     {
+                        if (kind > 71)
+                           kind = 71;
+                        jjCheckNAddStates(0, 2);
+                     }
+                     else if (curChar == 43)
+                     {
+                        if (kind > 71)
+                           kind = 71;
+                     }
+                     else if (curChar == 35)
+                        jjstateSet[jjnewStateCnt++] = 80;
+                     else if (curChar == 46)
+                        jjstateSet[jjnewStateCnt++] = 73;
+                     if ((0x3ff000000000000L & l) != 0L)
+                     {
+                        if (kind > 70)
+                           kind = 70;
+                        jjCheckNAddStates(3, 6);
+                     }
+                     else if (curChar == 43)
+                     {
+                        if (kind > 70)
+                           kind = 70;
+                        jjCheckNAdd(72);
+                     }
+                     else if (curChar == 35)
+                        jjstateSet[jjnewStateCnt++] = 69;
+                     break;
+                  case 83:
+                     if ((0x3ff000000000000L & l) != 0L)
+                     {
+                        if (kind > 71)
+                           kind = 71;
+                        jjCheckNAddStates(0, 2);
+                     }
+                     else if (curChar == 43)
+                     {
+                        if (kind > 71)
+                           kind = 71;
+                     }
+                     else if (curChar == 35)
+                        jjstateSet[jjnewStateCnt++] = 80;
+                     else if (curChar == 46)
+                        jjstateSet[jjnewStateCnt++] = 73;
+                     if ((0x3ff000000000000L & l) != 0L)
+                     {
+                        if (kind > 70)
+                           kind = 70;
+                        jjCheckNAddStates(3, 6);
+                     }
+                     else if (curChar == 43)
+                     {
+                        if (kind > 70)
+                           kind = 70;
+                        jjCheckNAdd(72);
+                     }
+                     else if (curChar == 35)
+                        jjstateSet[jjnewStateCnt++] = 69;
+                     break;
+                  case 34:
+                     if ((0x3ff000000000000L & l) != 0L)
+                     {
+                        if (kind > 71)
+                           kind = 71;
+                        jjCheckNAddStates(0, 2);
+                     }
+                     else if (curChar == 43)
+                     {
+                        if (kind > 71)
+                           kind = 71;
+                     }
+                     else if (curChar == 35)
+                        jjstateSet[jjnewStateCnt++] = 80;
+                     else if (curChar == 46)
+                        jjstateSet[jjnewStateCnt++] = 73;
+                     if ((0x3ff000000000000L & l) != 0L)
+                     {
+                        if (kind > 70)
+                           kind = 70;
+                        jjCheckNAddStates(3, 6);
+                     }
+                     else if (curChar == 43)
+                     {
+                        if (kind > 70)
+                           kind = 70;
+                        jjCheckNAdd(72);
+                     }
+                     else if (curChar == 35)
+                        jjstateSet[jjnewStateCnt++] = 69;
+                     break;
+                  case 26:
+                     if ((0x3ff000000000000L & l) != 0L)
+                     {
+                        if (kind > 71)
+                           kind = 71;
+                        jjCheckNAddStates(0, 2);
+                     }
+                     else if (curChar == 43)
+                     {
+                        if (kind > 71)
+                           kind = 71;
+                     }
+                     else if (curChar == 35)
+                        jjstateSet[jjnewStateCnt++] = 80;
+                     else if (curChar == 46)
+                        jjstateSet[jjnewStateCnt++] = 73;
+                     if ((0x3ff000000000000L & l) != 0L)
+                     {
+                        if (kind > 70)
+                           kind = 70;
+                        jjCheckNAddStates(3, 6);
+                     }
+                     else if (curChar == 43)
+                     {
+                        if (kind > 70)
+                           kind = 70;
+                        jjCheckNAdd(72);
+                     }
+                     else if (curChar == 35)
+                        jjstateSet[jjnewStateCnt++] = 69;
+                     break;
+                  case 33:
+                     if ((0x3ff000000000000L & l) != 0L)
+                     {
+                        if (kind > 71)
+                           kind = 71;
+                        jjCheckNAddStates(0, 2);
+                     }
+                     else if (curChar == 43)
+                     {
+                        if (kind > 71)
+                           kind = 71;
+                     }
+                     else if (curChar == 35)
+                        jjstateSet[jjnewStateCnt++] = 80;
+                     else if (curChar == 46)
+                        jjstateSet[jjnewStateCnt++] = 73;
+                     if ((0x3ff000000000000L & l) != 0L)
+                     {
+                        if (kind > 70)
+                           kind = 70;
+                        jjCheckNAddStates(3, 6);
+                     }
+                     else if (curChar == 43)
+                     {
+                        if (kind > 70)
+                           kind = 70;
+                        jjCheckNAdd(72);
+                     }
+                     else if (curChar == 35)
+                        jjstateSet[jjnewStateCnt++] = 69;
+                     break;
+                  case 6:
+                     if ((0x3ff000000000000L & l) != 0L)
+                     {
+                        if (kind > 71)
+                           kind = 71;
+                        jjCheckNAddStates(0, 2);
+                     }
+                     else if (curChar == 43)
+                     {
+                        if (kind > 71)
+                           kind = 71;
+                     }
+                     else if (curChar == 35)
+                        jjstateSet[jjnewStateCnt++] = 80;
+                     else if (curChar == 46)
+                        jjstateSet[jjnewStateCnt++] = 73;
+                     if ((0x3ff000000000000L & l) != 0L)
+                     {
+                        if (kind > 70)
+                           kind = 70;
+                        jjCheckNAddStates(3, 6);
+                     }
+                     else if (curChar == 43)
+                     {
+                        if (kind > 70)
+                           kind = 70;
+                        jjCheckNAdd(72);
+                     }
+                     else if (curChar == 35)
+                        jjstateSet[jjnewStateCnt++] = 69;
+                     break;
+                  case 64:
+                     if ((0x3ff000000000000L & l) != 0L)
+                     {
+                        if (kind > 71)
+                           kind = 71;
+                        jjCheckNAddStates(0, 2);
+                     }
+                     else if (curChar == 43)
+                     {
+                        if (kind > 71)
+                           kind = 71;
+                     }
+                     else if (curChar == 35)
+                        jjstateSet[jjnewStateCnt++] = 80;
+                     else if (curChar == 46)
+                        jjstateSet[jjnewStateCnt++] = 73;
+                     if ((0x3ff000000000000L & l) != 0L)
+                     {
+                        if (kind > 70)
+                           kind = 70;
+                        jjCheckNAddStates(3, 6);
+                     }
+                     else if (curChar == 43)
+                     {
+                        if (kind > 70)
+                           kind = 70;
+                        jjCheckNAdd(72);
+                     }
+                     else if (curChar == 35)
+                        jjstateSet[jjnewStateCnt++] = 69;
+                     break;
+                  case 32:
+                     if ((0x3ff000000000000L & l) != 0L)
+                     {
+                        if (kind > 71)
+                           kind = 71;
+                        jjCheckNAddStates(0, 2);
+                     }
+                     else if (curChar == 43)
+                     {
+                        if (kind > 71)
+                           kind = 71;
+                     }
+                     else if (curChar == 35)
+                        jjstateSet[jjnewStateCnt++] = 80;
+                     else if (curChar == 46)
+                        jjstateSet[jjnewStateCnt++] = 73;
+                     if ((0x3ff000000000000L & l) != 0L)
+                     {
+                        if (kind > 70)
+                           kind = 70;
+                        jjCheckNAddStates(3, 6);
+                     }
+                     else if (curChar == 43)
+                     {
+                        if (kind > 70)
+                           kind = 70;
+                        jjCheckNAdd(72);
+                     }
+                     else if (curChar == 35)
+                        jjstateSet[jjnewStateCnt++] = 69;
+                     break;
+                  case 5:
+                     if ((0x3ff000000000000L & l) != 0L)
+                     {
+                        if (kind > 71)
+                           kind = 71;
+                        jjCheckNAddStates(0, 2);
+                     }
+                     else if (curChar == 43)
+                     {
+                        if (kind > 71)
+                           kind = 71;
+                     }
+                     else if (curChar == 35)
+                        jjstateSet[jjnewStateCnt++] = 80;
+                     else if (curChar == 46)
+                        jjstateSet[jjnewStateCnt++] = 73;
+                     if ((0x3ff000000000000L & l) != 0L)
+                     {
+                        if (kind > 70)
+                           kind = 70;
+                        jjCheckNAddStates(3, 6);
+                     }
+                     else if (curChar == 43)
+                     {
+                        if (kind > 70)
+                           kind = 70;
+                        jjCheckNAdd(72);
+                     }
+                     else if (curChar == 35)
+                        jjstateSet[jjnewStateCnt++] = 69;
+                     break;
+                  case 3:
+                     if ((0x3ff000000000000L & l) != 0L)
+                        jjCheckNAddStates(7, 12);
+                     else if (curChar == 46)
+                        jjCheckNAdd(42);
+                     if ((0x3fe000000000000L & l) != 0L)
+                     {
+                        if (kind > 82)
+                           kind = 82;
+                        jjCheckNAddTwoStates(39, 40);
+                     }
+                     else if (curChar == 48)
+                     {
+                        if (kind > 82)
+                           kind = 82;
+                        jjCheckNAddStates(13, 15);
+                     }
+                     break;
+                  case 63:
+                     if ((0x3ff000000000000L & l) != 0L)
+                     {
+                        if (kind > 71)
+                           kind = 71;
+                        jjCheckNAddStates(0, 2);
+                     }
+                     else if (curChar == 43)
+                     {
+                        if (kind > 71)
+                           kind = 71;
+                     }
+                     else if (curChar == 35)
+                        jjstateSet[jjnewStateCnt++] = 80;
+                     else if (curChar == 46)
+                        jjstateSet[jjnewStateCnt++] = 73;
+                     if ((0x3ff000000000000L & l) != 0L)
+                     {
+                        if (kind > 70)
+                           kind = 70;
+                        jjCheckNAddStates(3, 6);
+                     }
+                     else if (curChar == 43)
+                     {
+                        if (kind > 70)
+                           kind = 70;
+                        jjCheckNAdd(72);
+                     }
+                     else if (curChar == 35)
+                        jjstateSet[jjnewStateCnt++] = 69;
+                     break;
+                  case 29:
+                     if ((0x3ff000000000000L & l) != 0L)
+                     {
+                        if (kind > 71)
+                           kind = 71;
+                        jjCheckNAddStates(0, 2);
+                     }
+                     else if (curChar == 43)
+                     {
+                        if (kind > 71)
+                           kind = 71;
+                     }
+                     else if (curChar == 35)
+                        jjstateSet[jjnewStateCnt++] = 80;
+                    

<TRUNCATED>

Reply via email to