[jboss-cvs] JBossAS SVN: r59940 - in projects/aop/trunk/aop: src/main/org/jboss/aop/pointcut/ast and 2 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Jan 23 10:32:02 EST 2007


Author: kabir.khan at jboss.com
Date: 2007-01-23 10:32:02 -0500 (Tue, 23 Jan 2007)
New Revision: 59940

Added:
   projects/aop/trunk/aop/docs/examples/implements/Driver.java
   projects/aop/trunk/aop/docs/examples/implements/ImplementingInterface.java
   projects/aop/trunk/aop/docs/examples/implements/ImplementingSuperInterface.java
   projects/aop/trunk/aop/docs/examples/implements/ImplementsInterface.java
   projects/aop/trunk/aop/docs/examples/implements/ImplementsSuperInterface.java
   projects/aop/trunk/aop/docs/examples/implements/POJO.java
   projects/aop/trunk/aop/docs/examples/implements/TestInterceptor.java
   projects/aop/trunk/aop/src/test/org/jboss/test/aop/pointcut/
   projects/aop/trunk/aop/src/test/org/jboss/test/aop/pointcut/EmptyPointcutVisitor.java
   projects/aop/trunk/aop/src/test/org/jboss/test/aop/pointcut/PointcutTester.java
Modified:
   projects/aop/trunk/aop/docs/examples/implements/jboss-aop.xml
   projects/aop/trunk/aop/src/main/org/jboss/aop/pointcut/ast/PointcutExpressionParserTokenManager.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/pointcut/ast/PointcutExpressionParserTreeConstants.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/pointcut/ast/PointcutExpressionParserVisitor.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/pointcut/ast/PointcutParserTester.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/pointcut/ast/TypeExpressionParserTreeConstants.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/pointcut/ast/TypeExpressionParserVisitor.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/pointcut/ast/pointcut.jjt
Log:
[JBAOP-349] $implements/$implementing do not work for interfaces in the default package

Added: projects/aop/trunk/aop/docs/examples/implements/Driver.java
===================================================================
--- projects/aop/trunk/aop/docs/examples/implements/Driver.java	                        (rev 0)
+++ projects/aop/trunk/aop/docs/examples/implements/Driver.java	2007-01-23 15:32:02 UTC (rev 59940)
@@ -0,0 +1,35 @@
+/*
+ * JBoss, the OpenSource J2EE webOS
+ *
+ * Distributable under LGPL license.
+ * See terms of license at gnu.org.
+ */
+
+/**
+ *
+ * @author <a href="mailto:kabir.khan at jboss.org">Kabir Khan</a>
+ * @version $Revision: 44138 $
+ */
+public class Driver
+{
+   public static void main(String[] args) throws Exception
+   {
+      System.out.println("--- POJO ---");
+      POJO pojo = new POJO();
+
+      System.out.println("--- POJO.methodFromImplements ---");
+   	  pojo.methodFromImplements();
+
+      System.out.println("--- POJO.methodFromImplementingSuper (should not intercept) ---");
+   	  pojo.methodFromImplementsSuper();
+
+      System.out.println("--- POJO.methodFromImplementing ---");
+   	  pojo.methodFromImplementing();
+
+      System.out.println("--- POJO.methodFromImplementingSuper ---");
+   	  pojo.methodFromImplementingSuper();
+
+      System.out.println("--- POJO.ownMethod (should not intercept) ---");
+   	  pojo.ownMethod();
+   }
+}

Added: projects/aop/trunk/aop/docs/examples/implements/ImplementingInterface.java
===================================================================
--- projects/aop/trunk/aop/docs/examples/implements/ImplementingInterface.java	                        (rev 0)
+++ projects/aop/trunk/aop/docs/examples/implements/ImplementingInterface.java	2007-01-23 15:32:02 UTC (rev 59940)
@@ -0,0 +1,19 @@
+/*
+ * JBoss, the OpenSource J2EE webOS
+ *
+ * Distributable under LGPL license.
+ * See terms of license at gnu.org.
+ */
+
+/**
+ *
+ * @author <a href="mailto:kabir.khan at jboss.org">Kabir Khan</a>
+ * @version $Revision: 44138 $
+ */
+public interface ImplementingInterface extends ImplementingSuperInterface
+{
+   void methodFromImplementing();
+}
+
+
+

Added: projects/aop/trunk/aop/docs/examples/implements/ImplementingSuperInterface.java
===================================================================
--- projects/aop/trunk/aop/docs/examples/implements/ImplementingSuperInterface.java	                        (rev 0)
+++ projects/aop/trunk/aop/docs/examples/implements/ImplementingSuperInterface.java	2007-01-23 15:32:02 UTC (rev 59940)
@@ -0,0 +1,19 @@
+/*
+ * JBoss, the OpenSource J2EE webOS
+ *
+ * Distributable under LGPL license.
+ * See terms of license at gnu.org.
+ */
+
+/**
+ *
+ * @author <a href="mailto:kabir.khan at jboss.org">Kabir Khan</a>
+ * @version $Revision: 44138 $
+ */
+public interface ImplementingSuperInterface
+{
+   void methodFromImplementingSuper();
+}
+
+
+

Added: projects/aop/trunk/aop/docs/examples/implements/ImplementsInterface.java
===================================================================
--- projects/aop/trunk/aop/docs/examples/implements/ImplementsInterface.java	                        (rev 0)
+++ projects/aop/trunk/aop/docs/examples/implements/ImplementsInterface.java	2007-01-23 15:32:02 UTC (rev 59940)
@@ -0,0 +1,19 @@
+/*
+ * JBoss, the OpenSource J2EE webOS
+ *
+ * Distributable under LGPL license.
+ * See terms of license at gnu.org.
+ */
+
+/**
+ *
+ * @author <a href="mailto:kabir.khan at jboss.org">Kabir Khan</a>
+ * @version $Revision: 44138 $
+ */
+public interface ImplementsInterface extends ImplementsSuperInterface
+{
+	void methodFromImplements();
+}
+
+
+

Added: projects/aop/trunk/aop/docs/examples/implements/ImplementsSuperInterface.java
===================================================================
--- projects/aop/trunk/aop/docs/examples/implements/ImplementsSuperInterface.java	                        (rev 0)
+++ projects/aop/trunk/aop/docs/examples/implements/ImplementsSuperInterface.java	2007-01-23 15:32:02 UTC (rev 59940)
@@ -0,0 +1,19 @@
+/*
+ * JBoss, the OpenSource J2EE webOS
+ *
+ * Distributable under LGPL license.
+ * See terms of license at gnu.org.
+ */
+
+/**
+ *
+ * @author <a href="mailto:kabir.khan at jboss.org">Kabir Khan</a>
+ * @version $Revision: 44138 $
+ */
+public interface ImplementsSuperInterface
+{
+	void methodFromImplementsSuper();
+}
+
+
+

Added: projects/aop/trunk/aop/docs/examples/implements/POJO.java
===================================================================
--- projects/aop/trunk/aop/docs/examples/implements/POJO.java	                        (rev 0)
+++ projects/aop/trunk/aop/docs/examples/implements/POJO.java	2007-01-23 15:32:02 UTC (rev 59940)
@@ -0,0 +1,41 @@
+/*
+ * JBoss, the OpenSource J2EE webOS
+ *
+ * Distributable under LGPL license.
+ * See terms of license at gnu.org.
+ */
+/**
+ *
+ * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
+ * @version $Revision: 44138 $
+ */
+public class POJO implements ImplementsInterface, ImplementingInterface
+{
+   public POJO() {}
+   public void methodFromImplementing()
+   {
+	   System.out.println("*** POJO methodFromImplementing");
+   }
+   public void methodFromImplements()
+   {
+	   System.out.println("*** POJO methodFromImplements");
+   }
+
+   public void methodFromImplementingSuper()
+   {
+	   System.out.println("*** POJO methodFromImplementingSuper");
+   }
+
+   public void methodFromImplementsSuper()
+   {
+	   System.out.println("*** POJO methodFromImplementsSuper");
+   }
+
+   public void ownMethod()
+   {
+	   System.out.println("*** POJO ownMethod");
+   }
+}
+
+
+

Added: projects/aop/trunk/aop/docs/examples/implements/TestInterceptor.java
===================================================================
--- projects/aop/trunk/aop/docs/examples/implements/TestInterceptor.java	                        (rev 0)
+++ projects/aop/trunk/aop/docs/examples/implements/TestInterceptor.java	2007-01-23 15:32:02 UTC (rev 59940)
@@ -0,0 +1,32 @@
+/*
+ * JBoss, the OpenSource J2EE webOS
+ *
+ * Distributable under LGPL license.
+ * See terms of license at gnu.org.
+ */
+import org.jboss.aop.joinpoint.Invocation;
+import org.jboss.aop.advice.Interceptor;
+/**
+ *
+ * @author <a href="mailto:kabir.khan at jboss.org">Kabir Khan</a>
+ * @version $Revision: 44138 $
+ */
+public class TestInterceptor implements Interceptor
+{
+   public String getName() { return "TestInterceptor"; }
+
+
+   public Object invoke(Invocation invocation) throws Throwable
+   {
+      try
+      {
+         System.out.println("<<< TestInterceptor intercepting");
+         invocation.resolveClassAnnotation(ImplementingInterface.class);
+         return invocation.invokeNext();
+      }
+      finally
+      {
+         System.out.println(">>> Leaving Trace");
+      }
+   }
+}

Modified: projects/aop/trunk/aop/docs/examples/implements/jboss-aop.xml
===================================================================
--- projects/aop/trunk/aop/docs/examples/implements/jboss-aop.xml	2007-01-23 15:11:24 UTC (rev 59939)
+++ projects/aop/trunk/aop/docs/examples/implements/jboss-aop.xml	2007-01-23 15:32:02 UTC (rev 59940)
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <aop>
    <interceptor class="implementz.TestInterceptor"/>
-   <bind pointcut="execution(void $instanceof{implementz.ImplementsInterface}->$implements{implementz.ImplementsInterface}(..))">
+   <bind pointcut="execution(void $instanceof{ImplementsInterface}->$implements{ImplementsInterface}(..))">
       <interceptor-ref name="implementz.TestInterceptor"/>
    </bind>
-   <bind pointcut="execution(void $instanceof{implementz.ImplementingInterface}->$implementing{implementz.ImplementingInterface}(..))">
+   <bind pointcut="execution(void $instanceof{ImplementingInterface}->$implementing{ImplementingInterface}(..))">
       <interceptor-ref name="implementz.TestInterceptor"/>
    </bind>
 </aop>

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/pointcut/ast/PointcutExpressionParserTokenManager.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/pointcut/ast/PointcutExpressionParserTokenManager.java	2007-01-23 15:11:24 UTC (rev 59939)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/pointcut/ast/PointcutExpressionParserTokenManager.java	2007-01-23 15:32:02 UTC (rev 59940)
@@ -1,3220 +1,3253 @@
-/* Generated By:JJTree&JavaCC: Do not edit this line. PointcutExpressionParserTokenManager.java */
-package org.jboss.aop.pointcut.ast;
-import java.lang.reflect.Modifier;
-
-public class PointcutExpressionParserTokenManager implements PointcutExpressionParserConstants
-{
-  public  java.io.PrintStream debugStream = System.out;
-  public  void setDebugStream(java.io.PrintStream ds) { debugStream = ds; }
+/* Generated By:JJTree&JavaCC: Do not edit this line. PointcutExpressionParserTokenManager.java */
+package org.jboss.aop.pointcut.ast;
+import java.lang.reflect.Modifier;
+
+public class PointcutExpressionParserTokenManager implements PointcutExpressionParserConstants
+{
+  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 & 0x40L) != 0L)
-         {
-            jjmatchedKind = 16;
-            return 1;
-         }
-         if ((active0 & 0xffa0L) != 0L)
-         {
-            jjmatchedKind = 16;
-            return 10;
-         }
-         return -1;
-      case 1:
-         if ((active0 & 0xffe0L) != 0L)
-         {
-            jjmatchedKind = 16;
-            jjmatchedPos = 1;
-            return 10;
-         }
-         return -1;
-      case 2:
-         if ((active0 & 0xffe0L) != 0L)
-         {
-            jjmatchedKind = 16;
-            jjmatchedPos = 2;
-            return 10;
-         }
-         return -1;
-      case 3:
-         if ((active0 & 0xe5a0L) != 0L)
-         {
-            jjmatchedKind = 16;
-            jjmatchedPos = 3;
-            return 10;
-         }
-         return -1;
-      case 4:
-         if ((active0 & 0xe580L) != 0L)
-         {
-            jjmatchedKind = 16;
-            jjmatchedPos = 4;
-            return 10;
-         }
-         return -1;
-      case 5:
-         if ((active0 & 0xc580L) != 0L)
-         {
-            jjmatchedKind = 16;
-            jjmatchedPos = 5;
-            return 10;
-         }
-         return -1;
-      case 6:
-         if ((active0 & 0x8580L) != 0L)
-         {
-            jjmatchedKind = 16;
-            jjmatchedPos = 6;
-            return 10;
-         }
-         return -1;
-      case 7:
-         if ((active0 & 0x8580L) != 0L)
-         {
-            jjmatchedKind = 16;
-            jjmatchedPos = 7;
-            return 10;
-         }
-         return -1;
-      case 8:
-         if ((active0 & 0x8180L) != 0L)
-         {
-            jjmatchedKind = 16;
-            jjmatchedPos = 8;
-            return 10;
-         }
-         return -1;
-      case 9:
-         if ((active0 & 0x8100L) != 0L)
-         {
-            jjmatchedKind = 16;
-            jjmatchedPos = 9;
-            return 10;
-         }
-         return -1;
-      case 10:
-         if ((active0 & 0x100L) != 0L)
-         {
-            jjmatchedKind = 16;
-            jjmatchedPos = 10;
-            return 10;
-         }
-         return -1;
-      case 11:
-         if ((active0 & 0x100L) != 0L)
-         {
-            jjmatchedKind = 16;
-            jjmatchedPos = 11;
-            return 10;
-         }
-         return -1;
-      default :
-         return -1;
-   }
-}
+   {
+      case 0:
+         if ((active0 & 0x40L) != 0L)
+         {
+            jjmatchedKind = 16;
+            return 1;
+         }
+         if ((active0 & 0xffa0L) != 0L)
+         {
+            jjmatchedKind = 16;
+            return 10;
+         }
+         return -1;
+      case 1:
+         if ((active0 & 0xffe0L) != 0L)
+         {
+            jjmatchedKind = 16;
+            jjmatchedPos = 1;
+            return 10;
+         }
+         return -1;
+      case 2:
+         if ((active0 & 0xffe0L) != 0L)
+         {
+            jjmatchedKind = 16;
+            jjmatchedPos = 2;
+            return 10;
+         }
+         return -1;
+      case 3:
+         if ((active0 & 0xe5a0L) != 0L)
+         {
+            jjmatchedKind = 16;
+            jjmatchedPos = 3;
+            return 10;
+         }
+         return -1;
+      case 4:
+         if ((active0 & 0xe580L) != 0L)
+         {
+            jjmatchedKind = 16;
+            jjmatchedPos = 4;
+            return 10;
+         }
+         return -1;
+      case 5:
+         if ((active0 & 0xc580L) != 0L)
+         {
+            jjmatchedKind = 16;
+            jjmatchedPos = 5;
+            return 10;
+         }
+         return -1;
+      case 6:
+         if ((active0 & 0x8580L) != 0L)
+         {
+            jjmatchedKind = 16;
+            jjmatchedPos = 6;
+            return 10;
+         }
+         return -1;
+      case 7:
+         if ((active0 & 0x8580L) != 0L)
+         {
+            jjmatchedKind = 16;
+            jjmatchedPos = 7;
+            return 10;
+         }
+         return -1;
+      case 8:
+         if ((active0 & 0x8180L) != 0L)
+         {
+            jjmatchedKind = 16;
+            jjmatchedPos = 8;
+            return 10;
+         }
+         return -1;
+      case 9:
+         if ((active0 & 0x8100L) != 0L)
+         {
+            jjmatchedKind = 16;
+            jjmatchedPos = 9;
+            return 10;
+         }
+         return -1;
+      case 10:
+         if ((active0 & 0x100L) != 0L)
+         {
+            jjmatchedKind = 16;
+            jjmatchedPos = 10;
+            return 10;
+         }
+         return -1;
+      case 11:
+         if ((active0 & 0x100L) != 0L)
+         {
+            jjmatchedKind = 16;
+            jjmatchedPos = 11;
+            return 10;
+         }
+         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:
-         return jjStopAtPos(0, 20);
-      case 40:
-         return jjStopAtPos(0, 86);
-      case 41:
-         return jjStopAtPos(0, 87);
-      case 97:
-         return jjMoveStringLiteralDfa1_0(0x40L);
-      case 99:
-         return jjMoveStringLiteralDfa1_0(0x120L);
-      case 101:
-         return jjMoveStringLiteralDfa1_0(0x80L);
-      case 102:
-         return jjMoveStringLiteralDfa1_0(0x2000L);
-      case 103:
-         return jjMoveStringLiteralDfa1_0(0x800L);
-      case 104:
-         return jjMoveStringLiteralDfa1_0(0x600L);
-      case 115:
-         return jjMoveStringLiteralDfa1_0(0x1000L);
-      case 119:
-         return jjMoveStringLiteralDfa1_0(0xc000L);
-      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 97:
-         return jjMoveStringLiteralDfa2_0(active0, 0x620L);
-      case 101:
-         return jjMoveStringLiteralDfa2_0(active0, 0x1800L);
-      case 105:
-         return jjMoveStringLiteralDfa2_0(active0, 0xe000L);
-      case 108:
-         return jjMoveStringLiteralDfa2_0(active0, 0x40L);
-      case 111:
-         return jjMoveStringLiteralDfa2_0(active0, 0x100L);
-      case 120:
-         return jjMoveStringLiteralDfa2_0(active0, 0x80L);
-      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 101:
-         return jjMoveStringLiteralDfa3_0(active0, 0x2080L);
-      case 108:
-         return jjMoveStringLiteralDfa3_0(active0, 0x60L);
-      case 110:
-         return jjMoveStringLiteralDfa3_0(active0, 0x100L);
-      case 115:
-         return jjMoveStringLiteralDfa3_0(active0, 0x600L);
-      case 116:
-         return jjMoveStringLiteralDfa3_0(active0, 0xd800L);
-      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 40:
-         if ((active0 & 0x40L) != 0L)
-            return jjStopAtPos(3, 6);
-         else if ((active0 & 0x200L) != 0L)
-            return jjStopAtPos(3, 9);
-         else if ((active0 & 0x800L) != 0L)
-            return jjStopAtPos(3, 11);
-         else if ((active0 & 0x1000L) != 0L)
-            return jjStopAtPos(3, 12);
-         break;
-      case 99:
-         return jjMoveStringLiteralDfa4_0(active0, 0x80L);
-      case 102:
-         return jjMoveStringLiteralDfa4_0(active0, 0x400L);
-      case 104:
-         return jjMoveStringLiteralDfa4_0(active0, 0xc000L);
-      case 108:
-         return jjMoveStringLiteralDfa4_0(active0, 0x2020L);
-      case 115:
-         return jjMoveStringLiteralDfa4_0(active0, 0x100L);
-      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 40:
-         if ((active0 & 0x20L) != 0L)
-            return jjStopAtPos(4, 5);
-         break;
-      case 100:
-         return jjMoveStringLiteralDfa5_0(active0, 0x2000L);
-      case 105:
-         return jjMoveStringLiteralDfa5_0(active0, 0xc400L);
-      case 116:
-         return jjMoveStringLiteralDfa5_0(active0, 0x100L);
-      case 117:
-         return jjMoveStringLiteralDfa5_0(active0, 0x80L);
-      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 40:
-         if ((active0 & 0x2000L) != 0L)
-            return jjStopAtPos(5, 13);
-         break;
-      case 101:
-         return jjMoveStringLiteralDfa6_0(active0, 0x400L);
-      case 110:
-         return jjMoveStringLiteralDfa6_0(active0, 0xc000L);
-      case 114:
-         return jjMoveStringLiteralDfa6_0(active0, 0x100L);
-      case 116:
-         return jjMoveStringLiteralDfa6_0(active0, 0x80L);
-      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 40:
-         if ((active0 & 0x4000L) != 0L)
-            return jjStopAtPos(6, 14);
-         break;
-      case 99:
-         return jjMoveStringLiteralDfa7_0(active0, 0x8000L);
-      case 105:
-         return jjMoveStringLiteralDfa7_0(active0, 0x80L);
-      case 108:
-         return jjMoveStringLiteralDfa7_0(active0, 0x400L);
-      case 117:
-         return jjMoveStringLiteralDfa7_0(active0, 0x100L);
-      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 99:
-         return jjMoveStringLiteralDfa8_0(active0, 0x100L);
-      case 100:
-         return jjMoveStringLiteralDfa8_0(active0, 0x400L);
-      case 111:
-         return jjMoveStringLiteralDfa8_0(active0, 0x8080L);
-      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 40:
-         if ((active0 & 0x400L) != 0L)
-            return jjStopAtPos(8, 10);
-         break;
-      case 100:
-         return jjMoveStringLiteralDfa9_0(active0, 0x8000L);
-      case 110:
-         return jjMoveStringLiteralDfa9_0(active0, 0x80L);
-      case 116:
-         return jjMoveStringLiteralDfa9_0(active0, 0x100L);
-      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 40:
-         if ((active0 & 0x80L) != 0L)
-            return jjStopAtPos(9, 7);
-         break;
-      case 101:
-         return jjMoveStringLiteralDfa10_0(active0, 0x8000L);
-      case 105:
-         return jjMoveStringLiteralDfa10_0(active0, 0x100L);
-      default :
-         break;
-   }
-   return jjStartNfa_0(8, active0, 0L);
-}
-private final 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;
-   }
-   switch(curChar)
-   {
-      case 40:
-         if ((active0 & 0x8000L) != 0L)
-            return jjStopAtPos(10, 15);
-         break;
-      case 111:
-         return jjMoveStringLiteralDfa11_0(active0, 0x100L);
-      default :
-         break;
-   }
-   return jjStartNfa_0(9, active0, 0L);
-}
-private final 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 110:
-         return jjMoveStringLiteralDfa12_0(active0, 0x100L);
-      default :
-         break;
-   }
-   return jjStartNfa_0(10, active0, 0L);
-}
-private final 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;
-   }
-   switch(curChar)
-   {
-      case 40:
-         if ((active0 & 0x100L) != 0L)
-            return jjStopAtPos(12, 8);
-         break;
-      default :
-         break;
-   }
-   return jjStartNfa_0(11, 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]);
-}
-private final int jjMoveNfa_0(int startState, int curPos)
-{
-   int[] nextStates;
-   int startsAt = 0;
-   jjnewStateCnt = 10;
-   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 10:
-                  if ((0x3ff000000000000L & l) != 0L)
-                  {
-                     if (kind > 17)
-                        kind = 17;
-                     jjCheckNAdd(9);
-                  }
-                  else if (curChar == 46)
-                     jjCheckNAdd(8);
-                  if ((0x3ff000000000000L & l) != 0L)
-                  {
-                     if (kind > 16)
-                        kind = 16;
-                     jjCheckNAddTwoStates(6, 7);
-                  }
-                  break;
-               case 0:
-                  if ((0x3ff000000000000L & l) == 0L)
-                     break;
-                  if (kind > 16)
-                     kind = 16;
-                  jjCheckNAddStates(0, 2);
-                  break;
-               case 1:
-                  if ((0x3ff000000000000L & l) != 0L)
-                  {
-                     if (kind > 17)
-                        kind = 17;
-                     jjCheckNAdd(9);
-                  }
-                  else if (curChar == 46)
-                     jjCheckNAdd(8);
-                  if ((0x3ff000000000000L & l) != 0L)
-                  {
-                     if (kind > 16)
-                        kind = 16;
-                     jjCheckNAddTwoStates(6, 7);
-                  }
-                  break;
-               case 6:
-                  if ((0x3ff000000000000L & l) == 0L)
-                     break;
-                  if (kind > 16)
-                     kind = 16;
-                  jjCheckNAddTwoStates(6, 7);
-                  break;
-               case 7:
-                  if (curChar == 46)
-                     jjCheckNAdd(8);
-                  break;
-               case 8:
-                  if ((0x3ff000000000000L & l) == 0L)
-                     break;
-                  if (kind > 16)
-                     kind = 16;
-                  jjCheckNAddTwoStates(7, 8);
-                  break;
-               case 9:
-                  if ((0x3ff000000000000L & l) == 0L)
-                     break;
-                  if (kind > 17)
-                     kind = 17;
-                  jjCheckNAdd(9);
-                  break;
-               default : break;
-            }
-         } while(i != startsAt);
-      }
-      else if (curChar < 128)
-      {
-         long l = 1L << (curChar & 077);
-         MatchLoop: do
-         {
-            switch(jjstateSet[--i])
-            {
-               case 10:
-                  if ((0x7fffffe87fffffeL & l) != 0L)
-                  {
-                     if (kind > 17)
-                        kind = 17;
-                     jjCheckNAdd(9);
-                  }
-                  if ((0x7fffffe87fffffeL & l) != 0L)
-                  {
-                     if (kind > 16)
-                        kind = 16;
-                     jjCheckNAddTwoStates(6, 7);
-                  }
-                  break;
-               case 0:
-                  if ((0x7fffffe87fffffeL & l) != 0L)
-                  {
-                     if (kind > 16)
-                        kind = 16;
-                     jjCheckNAddStates(0, 2);
-                  }
-                  if ((0x800000008000L & l) != 0L)
-                     jjstateSet[jjnewStateCnt++] = 4;
-                  else if ((0x200000002L & l) != 0L)
-                     jjstateSet[jjnewStateCnt++] = 1;
-                  break;
-               case 1:
-                  if ((0x7fffffe87fffffeL & l) != 0L)
-                  {
-                     if (kind > 17)
-                        kind = 17;
-                     jjCheckNAdd(9);
-                  }
-                  if ((0x7fffffe87fffffeL & l) != 0L)
-                  {
-                     if (kind > 16)
-                        kind = 16;
-                     jjCheckNAddTwoStates(6, 7);
-                  }
-                  if ((0x400000004000L & l) != 0L)
-                     jjstateSet[jjnewStateCnt++] = 2;
-                  break;
-               case 2:
-                  if ((0x1000000010L & l) != 0L && kind > 3)
-                     kind = 3;
-                  break;
-               case 3:
-                  if ((0x800000008000L & l) != 0L)
-                     jjstateSet[jjnewStateCnt++] = 4;
-                  break;
-               case 4:
-                  if ((0x4000000040000L & l) != 0L && kind > 4)
-                     kind = 4;
-                  break;
-               case 5:
-                  if ((0x7fffffe87fffffeL & l) == 0L)
-                     break;
-                  if (kind > 16)
-                     kind = 16;
-                  jjCheckNAddStates(0, 2);
-                  break;
-               case 6:
-                  if ((0x7fffffe87fffffeL & l) == 0L)
-                     break;
-                  if (kind > 16)
-                     kind = 16;
-                  jjCheckNAddTwoStates(6, 7);
-                  break;
-               case 8:
-                  if ((0x7fffffe87fffffeL & l) == 0L)
-                     break;
-                  if (kind > 16)
-                     kind = 16;
-                  jjCheckNAddTwoStates(7, 8);
-                  break;
-               case 9:
-                  if ((0x7fffffe87fffffeL & l) == 0L)
-                     break;
-                  if (kind > 17)
-                     kind = 17;
-                  jjCheckNAdd(9);
-                  break;
-               default : break;
-            }
-         } while(i != startsAt);
-      }
-      else
-      {
-         int i2 = (curChar & 0xff) >> 6;
-         long l2 = 1L << (curChar & 077);
-         MatchLoop: do
-         {
-            switch(jjstateSet[--i])
-            {
-               default : break;
-            }
-         } while(i != startsAt);
-      }
-      if (kind != 0x7fffffff)
-      {
-         jjmatchedKind = kind;
-         jjmatchedPos = curPos;
-         kind = 0x7fffffff;
-      }
-      ++curPos;
-      if ((i = jjnewStateCnt) == (startsAt = 10 - (jjnewStateCnt = startsAt)))
-         return curPos;
-      try { curChar = input_stream.readChar(); }
-      catch(java.io.IOException e) { return curPos; }
-   }
-}
+{
+   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:
+         return jjStopAtPos(0, 20);
+      case 40:
+         return jjStopAtPos(0, 86);
+      case 41:
+         return jjStopAtPos(0, 87);
+      case 97:
+         return jjMoveStringLiteralDfa1_0(0x40L);
+      case 99:
+         return jjMoveStringLiteralDfa1_0(0x120L);
+      case 101:
+         return jjMoveStringLiteralDfa1_0(0x80L);
+      case 102:
+         return jjMoveStringLiteralDfa1_0(0x2000L);
+      case 103:
+         return jjMoveStringLiteralDfa1_0(0x800L);
+      case 104:
+         return jjMoveStringLiteralDfa1_0(0x600L);
+      case 115:
+         return jjMoveStringLiteralDfa1_0(0x1000L);
+      case 119:
+         return jjMoveStringLiteralDfa1_0(0xc000L);
+      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 97:
+         return jjMoveStringLiteralDfa2_0(active0, 0x620L);
+      case 101:
+         return jjMoveStringLiteralDfa2_0(active0, 0x1800L);
+      case 105:
+         return jjMoveStringLiteralDfa2_0(active0, 0xe000L);
+      case 108:
+         return jjMoveStringLiteralDfa2_0(active0, 0x40L);
+      case 111:
+         return jjMoveStringLiteralDfa2_0(active0, 0x100L);
+      case 120:
+         return jjMoveStringLiteralDfa2_0(active0, 0x80L);
+      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 101:
+         return jjMoveStringLiteralDfa3_0(active0, 0x2080L);
+      case 108:
+         return jjMoveStringLiteralDfa3_0(active0, 0x60L);
+      case 110:
+         return jjMoveStringLiteralDfa3_0(active0, 0x100L);
+      case 115:
+         return jjMoveStringLiteralDfa3_0(active0, 0x600L);
+      case 116:
+         return jjMoveStringLiteralDfa3_0(active0, 0xd800L);
+      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 40:
+         if ((active0 & 0x40L) != 0L)
+            return jjStopAtPos(3, 6);
+         else if ((active0 & 0x200L) != 0L)
+            return jjStopAtPos(3, 9);
+         else if ((active0 & 0x800L) != 0L)
+            return jjStopAtPos(3, 11);
+         else if ((active0 & 0x1000L) != 0L)
+            return jjStopAtPos(3, 12);
+         break;
+      case 99:
+         return jjMoveStringLiteralDfa4_0(active0, 0x80L);
+      case 102:
+         return jjMoveStringLiteralDfa4_0(active0, 0x400L);
+      case 104:
+         return jjMoveStringLiteralDfa4_0(active0, 0xc000L);
+      case 108:
+         return jjMoveStringLiteralDfa4_0(active0, 0x2020L);
+      case 115:
+         return jjMoveStringLiteralDfa4_0(active0, 0x100L);
+      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 40:
+         if ((active0 & 0x20L) != 0L)
+            return jjStopAtPos(4, 5);
+         break;
+      case 100:
+         return jjMoveStringLiteralDfa5_0(active0, 0x2000L);
+      case 105:
+         return jjMoveStringLiteralDfa5_0(active0, 0xc400L);
+      case 116:
+         return jjMoveStringLiteralDfa5_0(active0, 0x100L);
+      case 117:
+         return jjMoveStringLiteralDfa5_0(active0, 0x80L);
+      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 40:
+         if ((active0 & 0x2000L) != 0L)
+            return jjStopAtPos(5, 13);
+         break;
+      case 101:
+         return jjMoveStringLiteralDfa6_0(active0, 0x400L);
+      case 110:
+         return jjMoveStringLiteralDfa6_0(active0, 0xc000L);
+      case 114:
+         return jjMoveStringLiteralDfa6_0(active0, 0x100L);
+      case 116:
+         return jjMoveStringLiteralDfa6_0(active0, 0x80L);
+      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 40:
+         if ((active0 & 0x4000L) != 0L)
+            return jjStopAtPos(6, 14);
+         break;
+      case 99:
+         return jjMoveStringLiteralDfa7_0(active0, 0x8000L);
+      case 105:
+         return jjMoveStringLiteralDfa7_0(active0, 0x80L);
+      case 108:
+         return jjMoveStringLiteralDfa7_0(active0, 0x400L);
+      case 117:
+         return jjMoveStringLiteralDfa7_0(active0, 0x100L);
+      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 99:
+         return jjMoveStringLiteralDfa8_0(active0, 0x100L);
+      case 100:
+         return jjMoveStringLiteralDfa8_0(active0, 0x400L);
+      case 111:
+         return jjMoveStringLiteralDfa8_0(active0, 0x8080L);
+      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 40:
+         if ((active0 & 0x400L) != 0L)
+            return jjStopAtPos(8, 10);
+         break;
+      case 100:
+         return jjMoveStringLiteralDfa9_0(active0, 0x8000L);
+      case 110:
+         return jjMoveStringLiteralDfa9_0(active0, 0x80L);
+      case 116:
+         return jjMoveStringLiteralDfa9_0(active0, 0x100L);
+      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 40:
+         if ((active0 & 0x80L) != 0L)
+            return jjStopAtPos(9, 7);
+         break;
+      case 101:
+         return jjMoveStringLiteralDfa10_0(active0, 0x8000L);
+      case 105:
+         return jjMoveStringLiteralDfa10_0(active0, 0x100L);
+      default :
+         break;
+   }
+   return jjStartNfa_0(8, active0, 0L);
+}
+private final 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;
+   }
+   switch(curChar)
+   {
+      case 40:
+         if ((active0 & 0x8000L) != 0L)
+            return jjStopAtPos(10, 15);
+         break;
+      case 111:
+         return jjMoveStringLiteralDfa11_0(active0, 0x100L);
+      default :
+         break;
+   }
+   return jjStartNfa_0(9, active0, 0L);
+}
+private final 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 110:
+         return jjMoveStringLiteralDfa12_0(active0, 0x100L);
+      default :
+         break;
+   }
+   return jjStartNfa_0(10, active0, 0L);
+}
+private final 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;
+   }
+   switch(curChar)
+   {
+      case 40:
+         if ((active0 & 0x100L) != 0L)
+            return jjStopAtPos(12, 8);
+         break;
+      default :
+         break;
+   }
+   return jjStartNfa_0(11, 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]);
+}
+private final int jjMoveNfa_0(int startState, int curPos)
+{
+   int[] nextStates;
+   int startsAt = 0;
+   jjnewStateCnt = 10;
+   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 10:
+                  if ((0x3ff000000000000L & l) != 0L)
+                  {
+                     if (kind > 17)
+                        kind = 17;
+                     jjCheckNAdd(9);
+                  }
+                  else if (curChar == 46)
+                     jjCheckNAdd(8);
+                  if ((0x3ff000000000000L & l) != 0L)
+                  {
+                     if (kind > 16)
+                        kind = 16;
+                     jjCheckNAddTwoStates(6, 7);
+                  }
+                  break;
+               case 0:
+                  if ((0x3ff000000000000L & l) == 0L)
+                     break;
+                  if (kind > 16)
+                     kind = 16;
+                  jjCheckNAddStates(0, 2);
+                  break;
+               case 1:
+                  if ((0x3ff000000000000L & l) != 0L)
+                  {
+                     if (kind > 17)
+                        kind = 17;
+                     jjCheckNAdd(9);
+                  }
+                  else if (curChar == 46)
+                     jjCheckNAdd(8);
+                  if ((0x3ff000000000000L & l) != 0L)
+                  {
+                     if (kind > 16)
+                        kind = 16;
+                     jjCheckNAddTwoStates(6, 7);
+                  }
+                  break;
+               case 6:
+                  if ((0x3ff000000000000L & l) == 0L)
+                     break;
+                  if (kind > 16)
+                     kind = 16;
+                  jjCheckNAddTwoStates(6, 7);
+                  break;
+               case 7:
+                  if (curChar == 46)
+                     jjCheckNAdd(8);
+                  break;
+               case 8:
+                  if ((0x3ff000000000000L & l) == 0L)
+                     break;
+                  if (kind > 16)
+                     kind = 16;
+                  jjCheckNAddTwoStates(7, 8);
+                  break;
+               case 9:
+                  if ((0x3ff000000000000L & l) == 0L)
+                     break;
+                  if (kind > 17)
+                     kind = 17;
+                  jjCheckNAdd(9);
+                  break;
+               default : break;
+            }
+         } while(i != startsAt);
+      }
+      else if (curChar < 128)
+      {
+         long l = 1L << (curChar & 077);
+         MatchLoop: do
+         {
+            switch(jjstateSet[--i])
+            {
+               case 10:
+                  if ((0x7fffffe87fffffeL & l) != 0L)
+                  {
+                     if (kind > 17)
+                        kind = 17;
+                     jjCheckNAdd(9);
+                  }
+                  if ((0x7fffffe87fffffeL & l) != 0L)
+                  {
+                     if (kind > 16)
+                        kind = 16;
+                     jjCheckNAddTwoStates(6, 7);
+                  }
+                  break;
+               case 0:
+                  if ((0x7fffffe87fffffeL & l) != 0L)
+                  {
+                     if (kind > 16)
+                        kind = 16;
+                     jjCheckNAddStates(0, 2);
+                  }
+                  if ((0x800000008000L & l) != 0L)
+                     jjstateSet[jjnewStateCnt++] = 4;
+                  else if ((0x200000002L & l) != 0L)
+                     jjstateSet[jjnewStateCnt++] = 1;
+                  break;
+               case 1:
+                  if ((0x7fffffe87fffffeL & l) != 0L)
+                  {
+                     if (kind > 17)
+                        kind = 17;
+                     jjCheckNAdd(9);
+                  }
+                  if ((0x7fffffe87fffffeL & l) != 0L)
+                  {
+                     if (kind > 16)
+                        kind = 16;
+                     jjCheckNAddTwoStates(6, 7);
+                  }
+                  if ((0x400000004000L & l) != 0L)
+                     jjstateSet[jjnewStateCnt++] = 2;
+                  break;
+               case 2:
+                  if ((0x1000000010L & l) != 0L && kind > 3)
+                     kind = 3;
+                  break;
+               case 3:
+                  if ((0x800000008000L & l) != 0L)
+                     jjstateSet[jjnewStateCnt++] = 4;
+                  break;
+               case 4:
+                  if ((0x4000000040000L & l) != 0L && kind > 4)
+                     kind = 4;
+                  break;
+               case 5:
+                  if ((0x7fffffe87fffffeL & l) == 0L)
+                     break;
+                  if (kind > 16)
+                     kind = 16;
+                  jjCheckNAddStates(0, 2);
+                  break;
+               case 6:
+                  if ((0x7fffffe87fffffeL & l) == 0L)
+                     break;
+                  if (kind > 16)
+                     kind = 16;
+                  jjCheckNAddTwoStates(6, 7);
+                  break;
+               case 8:
+                  if ((0x7fffffe87fffffeL & l) == 0L)
+                     break;
+                  if (kind > 16)
+                     kind = 16;
+                  jjCheckNAddTwoStates(7, 8);
+                  break;
+               case 9:
+                  if ((0x7fffffe87fffffeL & l) == 0L)
+                     break;
+                  if (kind > 17)
+                     kind = 17;
+                  jjCheckNAdd(9);
+                  break;
+               default : break;
+            }
+         } while(i != startsAt);
+      }
+      else
+      {
+         int i2 = (curChar & 0xff) >> 6;
+         long l2 = 1L << (curChar & 077);
+         MatchLoop: do
+         {
+            switch(jjstateSet[--i])
+            {
+               default : break;
+            }
+         } while(i != startsAt);
+      }
+      if (kind != 0x7fffffff)
+      {
+         jjmatchedKind = kind;
+         jjmatchedPos = curPos;
+         kind = 0x7fffffff;
+      }
+      ++curPos;
+      if ((i = jjnewStateCnt) == (startsAt = 10 - (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)
-{
+{
    switch (pos)
-   {
-      case 0:
-         if ((active0 & 0x7fe000000000L) != 0L)
-         {
-            jjmatchedKind = 55;
-            return 94;
-         }
-         return -1;
-      case 1:
-         if ((active0 & 0x7fe000000000L) != 0L)
-         {
-            jjmatchedKind = 55;
-            jjmatchedPos = 1;
-            return 94;
-         }
-         return -1;
-      case 2:
-         if ((active0 & 0x200000000000L) != 0L)
-            return 94;
-         if ((active0 & 0x5fe000000000L) != 0L)
-         {
-            jjmatchedKind = 55;
-            jjmatchedPos = 2;
-            return 94;
-         }
-         return -1;
-      case 3:
-         if ((active0 & 0x5fe000000000L) != 0L)
-         {
-            jjmatchedKind = 55;
-            jjmatchedPos = 3;
-            return 94;
-         }
-         return -1;
-      case 4:
-         if ((active0 & 0x4000000000L) != 0L)
-            return 94;
-         if ((active0 & 0x5fa000000000L) != 0L)
-         {
-            jjmatchedKind = 55;
-            jjmatchedPos = 4;
-            return 94;
-         }
-         return -1;
-      case 5:
-         if ((active0 & 0x11a000000000L) != 0L)
-         {
-            jjmatchedKind = 55;
-            jjmatchedPos = 5;
-            return 94;
-         }
-         if ((active0 & 0x4e0000000000L) != 0L)
-            return 94;
-         return -1;
-      case 6:
-         if ((active0 & 0x8000000000L) != 0L)
-            return 94;
-         if ((active0 & 0x112000000000L) != 0L)
-         {
-            jjmatchedKind = 55;
-            jjmatchedPos = 6;
-            return 94;
-         }
-         return -1;
-      case 7:
-         if ((active0 & 0x110000000000L) != 0L)
-         {
-            jjmatchedKind = 55;
-            jjmatchedPos = 7;
-            return 94;
-         }
-         if ((active0 & 0x2000000000L) != 0L)
-            return 94;
-         return -1;
-      case 8:
-         if ((active0 & 0x100000000000L) != 0L)
-         {
-            jjmatchedKind = 55;
-            jjmatchedPos = 8;
-            return 94;
-         }
-         if ((active0 & 0x10000000000L) != 0L)
-            return 94;
-         return -1;
-      case 9:
-         if ((active0 & 0x100000000000L) != 0L)
-         {
-            jjmatchedKind = 55;
-            jjmatchedPos = 9;
-            return 94;
-         }
-         return -1;
-      case 10:
-         if ((active0 & 0x100000000000L) != 0L)
-         {
-            jjmatchedKind = 55;
-            jjmatchedPos = 10;
-            return 94;
-         }
-         return -1;
-      default :
-         return -1;
-   }
-}
+   {
+      case 0:
+         if ((active0 & 0x7fe000000000L) != 0L)
+         {
+            jjmatchedKind = 55;
+            return 98;
+         }
+         return -1;
+      case 1:
+         if ((active0 & 0x7fe000000000L) != 0L)
+         {
+            jjmatchedKind = 55;
+            jjmatchedPos = 1;
+            return 98;
+         }
+         return -1;
+      case 2:
+         if ((active0 & 0x200000000000L) != 0L)
+            return 98;
+         if ((active0 & 0x5fe000000000L) != 0L)
+         {
+            jjmatchedKind = 55;
+            jjmatchedPos = 2;
+            return 98;
+         }
+         return -1;
+      case 3:
+         if ((active0 & 0x5fe000000000L) != 0L)
+         {
+            jjmatchedKind = 55;
+            jjmatchedPos = 3;
+            return 98;
+         }
+         return -1;
+      case 4:
+         if ((active0 & 0x4000000000L) != 0L)
+            return 98;
+         if ((active0 & 0x5fa000000000L) != 0L)
+         {
+            jjmatchedKind = 55;
+            jjmatchedPos = 4;
+            return 98;
+         }
+         return -1;
+      case 5:
+         if ((active0 & 0x4e0000000000L) != 0L)
+            return 98;
+         if ((active0 & 0x11a000000000L) != 0L)
+         {
+            jjmatchedKind = 55;
+            jjmatchedPos = 5;
+            return 98;
+         }
+         return -1;
+      case 6:
+         if ((active0 & 0x8000000000L) != 0L)
+            return 98;
+         if ((active0 & 0x112000000000L) != 0L)
+         {
+            jjmatchedKind = 55;
+            jjmatchedPos = 6;
+            return 98;
+         }
+         return -1;
+      case 7:
+         if ((active0 & 0x2000000000L) != 0L)
+            return 98;
+         if ((active0 & 0x110000000000L) != 0L)
+         {
+            jjmatchedKind = 55;
+            jjmatchedPos = 7;
+            return 98;
+         }
+         return -1;
+      case 8:
+         if ((active0 & 0x100000000000L) != 0L)
+         {
+            jjmatchedKind = 55;
+            jjmatchedPos = 8;
+            return 98;
+         }
+         if ((active0 & 0x10000000000L) != 0L)
+            return 98;
+         return -1;
+      case 9:
+         if ((active0 & 0x100000000000L) != 0L)
+         {
+            jjmatchedKind = 55;
+            jjmatchedPos = 9;
+            return 98;
+         }
+         return -1;
+      case 10:
+         if ((active0 & 0x100000000000L) != 0L)
+         {
+            jjmatchedKind = 55;
+            jjmatchedPos = 10;
+            return 98;
+         }
+         return -1;
+      default :
+         return -1;
+   }
+}
 private final int jjStartNfa_2(int pos, long active0)
-{
-   return jjMoveNfa_2(jjStopStringLiteralDfa_2(pos, active0), 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 33:
-         return jjStopAtPos(0, 60);
-      case 40:
-         return jjStopAtPos(0, 61);
-      case 41:
-         return jjStopAtPos(0, 62);
-      case 44:
-         return jjStopAtPos(0, 50);
-      case 45:
-         return jjMoveStringLiteralDfa1_2(0x800000000000000L);
-      case 97:
-         return jjMoveStringLiteralDfa1_2(0x2000000000L);
-      case 102:
-         return jjMoveStringLiteralDfa1_2(0x4000000000L);
-      case 110:
-         return jjMoveStringLiteralDfa1_2(0x280000000000L);
-      case 112:
-         return jjMoveStringLiteralDfa1_2(0x38000000000L);
-      case 115:
-         return jjMoveStringLiteralDfa1_2(0x140000000000L);
-      case 116:
-         return jjMoveStringLiteralDfa1_2(0x400000000000L);
-      default :
-         return jjMoveNfa_2(0, 0);
-   }
-}
-private final int jjMoveStringLiteralDfa1_2(long active0)
-{
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_2(0, active0);
-      return 1;
-   }
-   switch(curChar)
-   {
-      case 62:
-         if ((active0 & 0x800000000000000L) != 0L)
-            return jjStopAtPos(1, 59);
-         break;
-      case 97:
-         return jjMoveStringLiteralDfa2_2(active0, 0x80000000000L);
-      case 98:
-         return jjMoveStringLiteralDfa2_2(active0, 0x2000000000L);
-      case 101:
-         return jjMoveStringLiteralDfa2_2(active0, 0x200000000000L);
-      case 104:
-         return jjMoveStringLiteralDfa2_2(active0, 0x400000000000L);
-      case 105:
-         return jjMoveStringLiteralDfa2_2(active0, 0x4000000000L);
-      case 114:
-         return jjMoveStringLiteralDfa2_2(active0, 0x18000000000L);
-      case 116:
-         return jjMoveStringLiteralDfa2_2(active0, 0x40000000000L);
-      case 117:
-         return jjMoveStringLiteralDfa2_2(active0, 0x20000000000L);
-      case 121:
-         return jjMoveStringLiteralDfa2_2(active0, 0x100000000000L);
-      default :
-         break;
-   }
-   return jjStartNfa_2(0, active0);
-}
-private final int jjMoveStringLiteralDfa2_2(long old0, long active0)
-{
-   if (((active0 &= old0)) == 0L)
-      return jjStartNfa_2(0, old0); 
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_2(1, active0);
-      return 2;
-   }
-   switch(curChar)
-   {
-      case 97:
-         return jjMoveStringLiteralDfa3_2(active0, 0x40000000000L);
-      case 98:
-         return jjMoveStringLiteralDfa3_2(active0, 0x20000000000L);
-      case 105:
-         return jjMoveStringLiteralDfa3_2(active0, 0x8000000000L);
-      case 110:
-         return jjMoveStringLiteralDfa3_2(active0, 0x104000000000L);
-      case 111:
-         return jjMoveStringLiteralDfa3_2(active0, 0x10000000000L);
-      case 114:
-         return jjMoveStringLiteralDfa3_2(active0, 0x400000000000L);
-      case 115:
-         return jjMoveStringLiteralDfa3_2(active0, 0x2000000000L);
-      case 116:
-         return jjMoveStringLiteralDfa3_2(active0, 0x80000000000L);
-      case 119:
-         if ((active0 & 0x200000000000L) != 0L)
-            return jjStartNfaWithStates_2(2, 45, 94);
-         break;
-      default :
-         break;
-   }
-   return jjStartNfa_2(1, active0);
-}
-private final int jjMoveStringLiteralDfa3_2(long old0, long active0)
-{
-   if (((active0 &= old0)) == 0L)
-      return jjStartNfa_2(1, old0); 
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_2(2, active0);
-      return 3;
-   }
-   switch(curChar)
-   {
-      case 97:
-         return jjMoveStringLiteralDfa4_2(active0, 0x4000000000L);
-      case 99:
-         return jjMoveStringLiteralDfa4_2(active0, 0x100000000000L);
-      case 105:
-         return jjMoveStringLiteralDfa4_2(active0, 0x80000000000L);
-      case 108:
-         return jjMoveStringLiteralDfa4_2(active0, 0x20000000000L);
-      case 111:
-         return jjMoveStringLiteralDfa4_2(active0, 0x400000000000L);
-      case 116:
-         return jjMoveStringLiteralDfa4_2(active0, 0x52000000000L);
-      case 118:
-         return jjMoveStringLiteralDfa4_2(active0, 0x8000000000L);
-      default :
-         break;
-   }
-   return jjStartNfa_2(2, active0);
-}
-private final int jjMoveStringLiteralDfa4_2(long old0, long active0)
-{
-   if (((active0 &= old0)) == 0L)
-      return jjStartNfa_2(2, old0); 
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_2(3, active0);
-      return 4;
-   }
-   switch(curChar)
-   {
-      case 97:
-         return jjMoveStringLiteralDfa5_2(active0, 0x8000000000L);
-      case 101:
-         return jjMoveStringLiteralDfa5_2(active0, 0x10000000000L);
-      case 104:
-         return jjMoveStringLiteralDfa5_2(active0, 0x100000000000L);
-      case 105:
-         return jjMoveStringLiteralDfa5_2(active0, 0x60000000000L);
-      case 108:
-         if ((active0 & 0x4000000000L) != 0L)
-            return jjStartNfaWithStates_2(4, 38, 94);
-         break;
-      case 114:
-         return jjMoveStringLiteralDfa5_2(active0, 0x2000000000L);
-      case 118:
-         return jjMoveStringLiteralDfa5_2(active0, 0x80000000000L);
-      case 119:
-         return jjMoveStringLiteralDfa5_2(active0, 0x400000000000L);
-      default :
-         break;
-   }
-   return jjStartNfa_2(3, active0);
-}
-private final int jjMoveStringLiteralDfa5_2(long old0, long active0)
-{
-   if (((active0 &= old0)) == 0L)
-      return jjStartNfa_2(3, old0); 
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_2(4, active0);
-      return 5;
-   }
-   switch(curChar)
-   {
-      case 97:
-         return jjMoveStringLiteralDfa6_2(active0, 0x2000000000L);
-      case 99:
-         if ((active0 & 0x20000000000L) != 0L)
-            return jjStartNfaWithStates_2(5, 41, 94);
-         else if ((active0 & 0x40000000000L) != 0L)
-            return jjStartNfaWithStates_2(5, 42, 94);
-         return jjMoveStringLiteralDfa6_2(active0, 0x10000000000L);
-      case 101:
-         if ((active0 & 0x80000000000L) != 0L)
-            return jjStartNfaWithStates_2(5, 43, 94);
-         break;
-      case 114:
-         return jjMoveStringLiteralDfa6_2(active0, 0x100000000000L);
-      case 115:
-         if ((active0 & 0x400000000000L) != 0L)
-            return jjStartNfaWithStates_2(5, 46, 94);
-         break;
-      case 116:
-         return jjMoveStringLiteralDfa6_2(active0, 0x8000000000L);
-      default :
-         break;
-   }
-   return jjStartNfa_2(4, active0);
-}
-private final int jjMoveStringLiteralDfa6_2(long old0, long active0)
-{
-   if (((active0 &= old0)) == 0L)
-      return jjStartNfa_2(4, old0); 
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_2(5, active0);
-      return 6;
-   }
-   switch(curChar)
-   {
-      case 99:
-         return jjMoveStringLiteralDfa7_2(active0, 0x2000000000L);
-      case 101:
-         if ((active0 & 0x8000000000L) != 0L)
-            return jjStartNfaWithStates_2(6, 39, 94);
-         break;
-      case 111:
-         return jjMoveStringLiteralDfa7_2(active0, 0x100000000000L);
-      case 116:
-         return jjMoveStringLiteralDfa7_2(active0, 0x10000000000L);
-      default :
-         break;
-   }
-   return jjStartNfa_2(5, active0);
-}
-private final int jjMoveStringLiteralDfa7_2(long old0, long active0)
-{
-   if (((active0 &= old0)) == 0L)
-      return jjStartNfa_2(5, old0); 
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_2(6, active0);
-      return 7;
-   }
-   switch(curChar)
-   {
-      case 101:
-         return jjMoveStringLiteralDfa8_2(active0, 0x10000000000L);
-      case 110:
-         return jjMoveStringLiteralDfa8_2(active0, 0x100000000000L);
-      case 116:
-         if ((active0 & 0x2000000000L) != 0L)
-            return jjStartNfaWithStates_2(7, 37, 94);
-         break;
-      default :
-         break;
-   }
-   return jjStartNfa_2(6, active0);
-}
-private final int jjMoveStringLiteralDfa8_2(long old0, long active0)
-{
-   if (((active0 &= old0)) == 0L)
-      return jjStartNfa_2(6, old0); 
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_2(7, active0);
-      return 8;
-   }
-   switch(curChar)
-   {
-      case 100:
-         if ((active0 & 0x10000000000L) != 0L)
-            return jjStartNfaWithStates_2(8, 40, 94);
-         break;
-      case 105:
-         return jjMoveStringLiteralDfa9_2(active0, 0x100000000000L);
-      default :
-         break;
-   }
-   return jjStartNfa_2(7, active0);
-}
-private final int jjMoveStringLiteralDfa9_2(long old0, long active0)
-{
-   if (((active0 &= old0)) == 0L)
-      return jjStartNfa_2(7, old0); 
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_2(8, active0);
-      return 9;
-   }
-   switch(curChar)
-   {
-      case 122:
-         return jjMoveStringLiteralDfa10_2(active0, 0x100000000000L);
-      default :
-         break;
-   }
-   return jjStartNfa_2(8, active0);
-}
-private final int jjMoveStringLiteralDfa10_2(long old0, long active0)
-{
-   if (((active0 &= old0)) == 0L)
-      return jjStartNfa_2(8, old0); 
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_2(9, active0);
-      return 10;
-   }
-   switch(curChar)
-   {
-      case 101:
-         return jjMoveStringLiteralDfa11_2(active0, 0x100000000000L);
-      default :
-         break;
-   }
-   return jjStartNfa_2(9, active0);
-}
-private final int jjMoveStringLiteralDfa11_2(long old0, long active0)
-{
-   if (((active0 &= old0)) == 0L)
-      return jjStartNfa_2(9, old0); 
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_2(10, active0);
-      return 11;
-   }
-   switch(curChar)
-   {
-      case 100:
-         if ((active0 & 0x100000000000L) != 0L)
-            return jjStartNfaWithStates_2(11, 44, 94);
-         break;
-      default :
-         break;
-   }
-   return jjStartNfa_2(10, active0);
-}
-private final int jjMoveNfa_2(int startState, int curPos)
-{
-   int[] nextStates;
-   int startsAt = 0;
-   jjnewStateCnt = 94;
-   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 ((0x3ff041000000000L & l) != 0L)
-                  {
-                     if (kind > 55)
-                        kind = 55;
-                     jjCheckNAddStates(3, 7);
-                  }
-                  if (curChar == 36)
-                     jjAddStates(8, 11);
-                  break;
-               case 94:
-                  if ((0x3ff041000000000L & l) != 0L)
-                  {
-                     if (kind > 55)
-                        kind = 55;
-                     jjCheckNAdd(93);
-                  }
-                  else if (curChar == 46)
-                     jjCheckNAdd(87);
-                  if ((0x3ff041000000000L & l) != 0L)
-                     jjCheckNAddTwoStates(90, 92);
-                  if ((0x3ff041000000000L & l) != 0L)
-                     jjCheckNAddTwoStates(85, 86);
-                  break;
-               case 1:
-                  if ((0x3ff041000000000L & l) == 0L)
-                     break;
-                  if (kind > 52)
-                     kind = 52;
-                  jjCheckNAddTwoStates(1, 2);
-                  break;
-               case 2:
-                  if (curChar == 46)
-                     jjCheckNAdd(3);
-                  break;
-               case 3:
-                  if ((0x3ff041000000000L & l) == 0L)
-                     break;
-                  if (kind > 52)
-                     kind = 52;
-                  jjCheckNAddTwoStates(2, 3);
-                  break;
-               case 4:
-                  if (curChar == 36)
-                     jjAddStates(8, 11);
-                  break;
-               case 7:
-                  if ((0x3ff041000000000L & l) != 0L)
-                     jjCheckNAddStates(12, 14);
-                  break;
-               case 8:
-                  if (curChar == 46)
-                     jjCheckNAdd(9);
-                  break;
-               case 9:
-                  if ((0x3ff041000000000L & l) != 0L)
-                     jjCheckNAddStates(15, 17);
-                  break;
-               case 11:
-                  if ((0x3ff041000000000L & l) != 0L)
-                     jjCheckNAddStates(18, 21);
-                  break;
-               case 12:
-                  if ((0x3ff041000000000L & l) != 0L)
-                     jjCheckNAddTwoStates(12, 10);
-                  break;
-               case 13:
-                  if ((0x3ff041000000000L & l) != 0L)
-                     jjCheckNAddTwoStates(13, 14);
-                  break;
-               case 14:
-                  if (curChar == 46)
-                     jjCheckNAdd(15);
-                  break;
-               case 15:
-                  if ((0x3ff041000000000L & l) != 0L)
-                     jjCheckNAddStates(22, 25);
-                  break;
-               case 29:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjCheckNAddStates(26, 28);
-                  break;
-               case 30:
-                  if (curChar == 46)
-                     jjCheckNAdd(31);
-                  break;
-               case 31:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjCheckNAddStates(29, 31);
-                  break;
-               case 41:
-                  if ((0x3ff041000000000L & l) != 0L)
-                     jjCheckNAddTwoStates(41, 42);
-                  break;
-               case 42:
-                  if (curChar == 46)
-                     jjCheckNAdd(43);
-                  break;
-               case 43:
-                  if ((0x3ff041000000000L & l) != 0L)
-                     jjCheckNAddStates(32, 35);
-                  break;
-               case 48:
-                  if ((0x3ff041000000000L & l) != 0L)
-                     jjCheckNAddStates(36, 38);
-                  break;
-               case 49:
-                  if (curChar == 46)
-                     jjCheckNAdd(50);
-                  break;
-               case 50:
-                  if ((0x3ff041000000000L & l) != 0L)
-                     jjCheckNAddStates(39, 41);
-                  break;
-               case 62:
-                  if ((0x3ff041000000000L & l) != 0L)
-                     jjCheckNAddTwoStates(62, 63);
-                  break;
-               case 63:
-                  if (curChar == 46)
-                     jjCheckNAdd(64);
-                  break;
-               case 64:
-                  if ((0x3ff041000000000L & l) != 0L)
-                     jjCheckNAddStates(42, 45);
-                  break;
-               case 69:
-                  if ((0x3ff041000000000L & l) != 0L)
-                     jjCheckNAddStates(46, 48);
-                  break;
-               case 70:
-                  if (curChar == 46)
-                     jjCheckNAdd(71);
-                  break;
-               case 71:
-                  if ((0x3ff041000000000L & l) != 0L)
-                     jjCheckNAddStates(49, 51);
-                  break;
-               case 84:
-                  if ((0x3ff041000000000L & l) == 0L)
-                     break;
-                  if (kind > 55)
-                     kind = 55;
-                  jjCheckNAddStates(3, 7);
-                  break;
-               case 85:
-                  if ((0x3ff041000000000L & l) != 0L)
-                     jjCheckNAddTwoStates(85, 86);
-                  break;
-               case 86:
-                  if (curChar == 46)
-                     jjCheckNAdd(87);
-                  break;
-               case 87:
-                  if ((0x3ff041000000000L & l) == 0L)
-                     break;
-                  if (kind > 49)
-                     kind = 49;
-                  jjCheckNAddStates(52, 54);
-                  break;
-               case 90:
-                  if ((0x3ff041000000000L & l) != 0L)
-                     jjCheckNAddTwoStates(90, 92);
-                  break;
-               case 93:
-                  if ((0x3ff041000000000L & l) == 0L)
-                     break;
-                  if (kind > 55)
-                     kind = 55;
-                  jjCheckNAdd(93);
-                  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 > 55)
-                        kind = 55;
-                     jjCheckNAddStates(3, 7);
-                  }
-                  else if (curChar == 64)
-                     jjCheckNAdd(1);
-                  break;
-               case 94:
-                  if ((0x7fffffe87fffffeL & l) != 0L)
-                  {
-                     if (kind > 55)
-                        kind = 55;
-                     jjCheckNAdd(93);
-                  }
-                  else if (curChar == 91)
-                     jjstateSet[jjnewStateCnt++] = 91;
-                  if ((0x7fffffe87fffffeL & l) != 0L)
-                     jjCheckNAddTwoStates(90, 92);
-                  if ((0x7fffffe87fffffeL & l) != 0L)
-                     jjCheckNAddTwoStates(85, 86);
-                  break;
-               case 1:
-                  if ((0x7fffffe87fffffeL & l) == 0L)
-                     break;
-                  if (kind > 52)
-                     kind = 52;
-                  jjCheckNAddTwoStates(1, 2);
-                  break;
-               case 3:
-                  if ((0x7fffffe87fffffeL & l) == 0L)
-                     break;
-                  if (kind > 52)
-                     kind = 52;
-                  jjCheckNAddTwoStates(2, 3);
-                  break;
-               case 5:
-                  if (curChar == 123)
-                     jjAddStates(55, 56);
-                  break;
-               case 6:
-                  if (curChar == 64)
-                     jjCheckNAdd(7);
-                  break;
-               case 7:
-                  if ((0x7fffffe87fffffeL & l) != 0L)
-                     jjCheckNAddStates(12, 14);
-                  break;
-               case 9:
-                  if ((0x7fffffe87fffffeL & l) != 0L)
-                     jjCheckNAddStates(15, 17);
-                  break;
-               case 10:
-                  if (curChar == 125 && kind > 47)
-                     kind = 47;
-                  break;
-               case 11:
-                  if ((0x7fffffe87fffffeL & l) != 0L)
-                     jjCheckNAddStates(18, 21);
-                  break;
-               case 12:
-                  if ((0x7fffffe87fffffeL & l) != 0L)
-                     jjCheckNAddTwoStates(12, 10);
-                  break;
-               case 13:
-                  if ((0x7fffffe87fffffeL & l) != 0L)
-                     jjCheckNAddTwoStates(13, 14);
-                  break;
-               case 15:
-                  if ((0x7fffffe87fffffeL & l) != 0L)
-                     jjCheckNAddStates(22, 25);
-                  break;
-               case 16:
-                  if (curChar == 93)
-                     jjCheckNAddTwoStates(17, 10);
-                  break;
-               case 17:
-                  if (curChar == 91)
-                     jjstateSet[jjnewStateCnt++] = 16;
-                  break;
-               case 18:
-                  if (curChar == 102)
-                     jjstateSet[jjnewStateCnt++] = 5;
-                  break;
-               case 19:
-                  if (curChar == 111)
-                     jjstateSet[jjnewStateCnt++] = 18;
-                  break;
-               case 20:
-                  if (curChar == 101)
-                     jjstateSet[jjnewStateCnt++] = 19;
-                  break;
-               case 21:
-                  if (curChar == 99)
-                     jjstateSet[jjnewStateCnt++] = 20;
-                  break;
-               case 22:
-                  if (curChar == 110)
-                     jjstateSet[jjnewStateCnt++] = 21;
-                  break;
-               case 23:
-                  if (curChar == 97)
-                     jjstateSet[jjnewStateCnt++] = 22;
-                  break;
-               case 24:
-                  if (curChar == 116)
-                     jjstateSet[jjnewStateCnt++] = 23;
-                  break;
-               case 25:
-                  if (curChar == 115)
-                     jjstateSet[jjnewStateCnt++] = 24;
-                  break;
-               case 26:
-                  if (curChar == 110)
-                     jjstateSet[jjnewStateCnt++] = 25;
-                  break;
-               case 27:
-                  if (curChar == 105)
-                     jjstateSet[jjnewStateCnt++] = 26;
-                  break;
-               case 28:
-                  if (curChar == 123)
-                     jjCheckNAdd(29);
-                  break;
-               case 29:
-                  if ((0x7fffffe87fffffeL & l) != 0L)
-                     jjCheckNAddStates(26, 28);
-                  break;
-               case 31:
-                  if ((0x7fffffe87fffffeL & l) != 0L)
-                     jjCheckNAddStates(29, 31);
-                  break;
-               case 32:
-                  if (curChar == 125 && kind > 48)
-                     kind = 48;
-                  break;
-               case 33:
-                  if (curChar == 102)
-                     jjstateSet[jjnewStateCnt++] = 28;
-                  break;
-               case 34:
-                  if (curChar == 101)
-                     jjstateSet[jjnewStateCnt++] = 33;
-                  break;
-               case 35:
-                  if (curChar == 100)
-                     jjstateSet[jjnewStateCnt++] = 34;
-                  break;
-               case 36:
-                  if (curChar == 101)
-                     jjstateSet[jjnewStateCnt++] = 35;
-                  break;
-               case 37:
-                  if (curChar == 112)
-                     jjstateSet[jjnewStateCnt++] = 36;
-                  break;
-               case 38:
-                  if (curChar == 121)
-                     jjstateSet[jjnewStateCnt++] = 37;
-                  break;
-               case 39:
-                  if (curChar == 116)
-                     jjstateSet[jjnewStateCnt++] = 38;
-                  break;
-               case 40:
-                  if (curChar == 123)
-                     jjCheckNAddTwoStates(41, 47);
-                  break;
-               case 41:
-                  if ((0x7fffffe87fffffeL & l) != 0L)
-                     jjCheckNAddTwoStates(41, 42);
-                  break;
-               case 43:
-                  if ((0x7fffffe87fffffeL & l) != 0L)
-                     jjCheckNAddStates(32, 35);
-                  break;
-               case 44:
-                  if (curChar == 93)
-                     jjCheckNAddTwoStates(45, 46);
-                  break;
-               case 45:
-                  if (curChar == 91)
-                     jjstateSet[jjnewStateCnt++] = 44;
-                  break;
-               case 46:
-                  if (curChar == 125 && kind > 53)
-                     kind = 53;
-                  break;
-               case 47:
-                  if (curChar == 64)
-                     jjCheckNAdd(48);
-                  break;
-               case 48:
-                  if ((0x7fffffe87fffffeL & l) != 0L)
-                     jjCheckNAddStates(36, 38);
-                  break;
-               case 50:
-                  if ((0x7fffffe87fffffeL & l) != 0L)
-                     jjCheckNAddStates(39, 41);
-                  break;
-               case 51:
-                  if (curChar == 115)
-                     jjstateSet[jjnewStateCnt++] = 40;
-                  break;
-               case 52:
-                  if (curChar == 116)
-                     jjstateSet[jjnewStateCnt++] = 51;
-                  break;
-               case 53:
-                  if (curChar == 110)
-                     jjstateSet[jjnewStateCnt++] = 52;
-                  break;
-               case 54:
-                  if (curChar == 101)
-                     jjstateSet[jjnewStateCnt++] = 53;
-                  break;
-               case 55:
-                  if (curChar == 109)
-                     jjstateSet[jjnewStateCnt++] = 54;
-                  break;
-               case 56:
-                  if (curChar == 101)
-                     jjstateSet[jjnewStateCnt++] = 55;
-                  break;
-               case 57:
-                  if (curChar == 108)
-                     jjstateSet[jjnewStateCnt++] = 56;
-                  break;
-               case 58:
-                  if (curChar == 112)
-                     jjstateSet[jjnewStateCnt++] = 57;
-                  break;
-               case 59:
-                  if (curChar == 109)
-                     jjstateSet[jjnewStateCnt++] = 58;
-                  break;
-               case 60:
-                  if (curChar == 105)
-                     jjstateSet[jjnewStateCnt++] = 59;
-                  break;
-               case 61:
-                  if (curChar == 123)
-                     jjCheckNAddTwoStates(62, 68);
-                  break;
-               case 62:
-                  if ((0x7fffffe87fffffeL & l) != 0L)
-                     jjCheckNAddTwoStates(62, 63);
-                  break;
-               case 64:
-                  if ((0x7fffffe87fffffeL & l) != 0L)
-                     jjCheckNAddStates(42, 45);
-                  break;
-               case 65:
-                  if (curChar == 93)
-                     jjCheckNAddTwoStates(66, 67);
-                  break;
-               case 66:
-                  if (curChar == 91)
-                     jjstateSet[jjnewStateCnt++] = 65;
-                  break;
-               case 67:
-                  if (curChar == 125 && kind > 54)
-                     kind = 54;
-                  break;
-               case 68:
-                  if (curChar == 64)
-                     jjCheckNAdd(69);
-                  break;
-               case 69:
-                  if ((0x7fffffe87fffffeL & l) != 0L)
-                     jjCheckNAddStates(46, 48);
-                  break;
-               case 71:
-                  if ((0x7fffffe87fffffeL & l) != 0L)
-                     jjCheckNAddStates(49, 51);
-                  break;
-               case 72:
-                  if (curChar == 103)
-                     jjstateSet[jjnewStateCnt++] = 61;
-                  break;
-               case 73:
-                  if (curChar == 110)
-                     jjstateSet[jjnewStateCnt++] = 72;
-                  break;
-               case 74:
-                  if (curChar == 105)
-                     jjstateSet[jjnewStateCnt++] = 73;
-                  break;
-               case 75:
-                  if (curChar == 116)
-                     jjstateSet[jjnewStateCnt++] = 74;
-                  break;
-               case 76:
-                  if (curChar == 110)
-                     jjstateSet[jjnewStateCnt++] = 75;
-                  break;
-               case 77:
-                  if (curChar == 101)
-                     jjstateSet[jjnewStateCnt++] = 76;
-                  break;
-               case 78:
-                  if (curChar == 109)
-                     jjstateSet[jjnewStateCnt++] = 77;
-                  break;
-               case 79:
-                  if (curChar == 101)
-                     jjstateSet[jjnewStateCnt++] = 78;
-                  break;
-               case 80:
-                  if (curChar == 108)
-                     jjstateSet[jjnewStateCnt++] = 79;
-                  break;
-               case 81:
-                  if (curChar == 112)
-                     jjstateSet[jjnewStateCnt++] = 80;
-                  break;
-               case 82:
-                  if (curChar == 109)
-                     jjstateSet[jjnewStateCnt++] = 81;
-                  break;
-               case 83:
-                  if (curChar == 105)
-                     jjstateSet[jjnewStateCnt++] = 82;
-                  break;
-               case 84:
-                  if ((0x7fffffe87fffffeL & l) == 0L)
-                     break;
-                  if (kind > 55)
-                     kind = 55;
-                  jjCheckNAddStates(3, 7);
-                  break;
-               case 85:
-                  if ((0x7fffffe87fffffeL & l) != 0L)
-                     jjCheckNAddTwoStates(85, 86);
-                  break;
-               case 87:
-                  if ((0x7fffffe87fffffeL & l) == 0L)
-                     break;
-                  if (kind > 49)
-                     kind = 49;
-                  jjCheckNAddStates(52, 54);
-                  break;
-               case 88:
-                  if (curChar != 93)
-                     break;
-                  if (kind > 49)
-                     kind = 49;
-                  jjCheckNAdd(89);
-                  break;
-               case 89:
-                  if (curChar == 91)
-                     jjstateSet[jjnewStateCnt++] = 88;
-                  break;
-               case 90:
-                  if ((0x7fffffe87fffffeL & l) != 0L)
-                     jjCheckNAddTwoStates(90, 92);
-                  break;
-               case 91:
-                  if (curChar != 93)
-                     break;
-                  if (kind > 51)
-                     kind = 51;
-                  jjCheckNAdd(92);
-                  break;
-               case 92:
-                  if (curChar == 91)
-                     jjstateSet[jjnewStateCnt++] = 91;
-                  break;
-               case 93:
-                  if ((0x7fffffe87fffffeL & l) == 0L)
-                     break;
-                  if (kind > 55)
-                     kind = 55;
-                  jjCheckNAdd(93);
-                  break;
-               default : break;
-            }
-         } while(i != startsAt);
-      }
-      else
-      {
-         int i2 = (curChar & 0xff) >> 6;
-         long l2 = 1L << (curChar & 077);
-         MatchLoop: do
-         {
-            switch(jjstateSet[--i])
-            {
-               default : break;
-            }
-         } while(i != startsAt);
-      }
-      if (kind != 0x7fffffff)
-      {
-         jjmatchedKind = kind;
-         jjmatchedPos = curPos;
-         kind = 0x7fffffff;
-      }
-      ++curPos;
-      if ((i = jjnewStateCnt) == (startsAt = 94 - (jjnewStateCnt = startsAt)))
-         return curPos;
-      try { curChar = input_stream.readChar(); }
-      catch(java.io.IOException e) { return curPos; }
-   }
-}
+{
+   return jjMoveNfa_2(jjStopStringLiteralDfa_2(pos, active0), 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 33:
+         return jjStopAtPos(0, 60);
+      case 40:
+         return jjStopAtPos(0, 61);
+      case 41:
+         return jjStopAtPos(0, 62);
+      case 44:
+         return jjStopAtPos(0, 50);
+      case 45:
+         return jjMoveStringLiteralDfa1_2(0x800000000000000L);
+      case 97:
+         return jjMoveStringLiteralDfa1_2(0x2000000000L);
+      case 102:
+         return jjMoveStringLiteralDfa1_2(0x4000000000L);
+      case 110:
+         return jjMoveStringLiteralDfa1_2(0x280000000000L);
+      case 112:
+         return jjMoveStringLiteralDfa1_2(0x38000000000L);
+      case 115:
+         return jjMoveStringLiteralDfa1_2(0x140000000000L);
+      case 116:
+         return jjMoveStringLiteralDfa1_2(0x400000000000L);
+      default :
+         return jjMoveNfa_2(0, 0);
+   }
+}
+private final int jjMoveStringLiteralDfa1_2(long active0)
+{
+   try { curChar = input_stream.readChar(); }
+   catch(java.io.IOException e) {
+      jjStopStringLiteralDfa_2(0, active0);
+      return 1;
+   }
+   switch(curChar)
+   {
+      case 62:
+         if ((active0 & 0x800000000000000L) != 0L)
+            return jjStopAtPos(1, 59);
+         break;
+      case 97:
+         return jjMoveStringLiteralDfa2_2(active0, 0x80000000000L);
+      case 98:
+         return jjMoveStringLiteralDfa2_2(active0, 0x2000000000L);
+      case 101:
+         return jjMoveStringLiteralDfa2_2(active0, 0x200000000000L);
+      case 104:
+         return jjMoveStringLiteralDfa2_2(active0, 0x400000000000L);
+      case 105:
+         return jjMoveStringLiteralDfa2_2(active0, 0x4000000000L);
+      case 114:
+         return jjMoveStringLiteralDfa2_2(active0, 0x18000000000L);
+      case 116:
+         return jjMoveStringLiteralDfa2_2(active0, 0x40000000000L);
+      case 117:
+         return jjMoveStringLiteralDfa2_2(active0, 0x20000000000L);
+      case 121:
+         return jjMoveStringLiteralDfa2_2(active0, 0x100000000000L);
+      default :
+         break;
+   }
+   return jjStartNfa_2(0, active0);
+}
+private final int jjMoveStringLiteralDfa2_2(long old0, long active0)
+{
+   if (((active0 &= old0)) == 0L)
+      return jjStartNfa_2(0, old0);
+   try { curChar = input_stream.readChar(); }
+   catch(java.io.IOException e) {
+      jjStopStringLiteralDfa_2(1, active0);
+      return 2;
+   }
+   switch(curChar)
+   {
+      case 97:
+         return jjMoveStringLiteralDfa3_2(active0, 0x40000000000L);
+      case 98:
+         return jjMoveStringLiteralDfa3_2(active0, 0x20000000000L);
+      case 105:
+         return jjMoveStringLiteralDfa3_2(active0, 0x8000000000L);
+      case 110:
+         return jjMoveStringLiteralDfa3_2(active0, 0x104000000000L);
+      case 111:
+         return jjMoveStringLiteralDfa3_2(active0, 0x10000000000L);
+      case 114:
+         return jjMoveStringLiteralDfa3_2(active0, 0x400000000000L);
+      case 115:
+         return jjMoveStringLiteralDfa3_2(active0, 0x2000000000L);
+      case 116:
+         return jjMoveStringLiteralDfa3_2(active0, 0x80000000000L);
+      case 119:
+         if ((active0 & 0x200000000000L) != 0L)
+            return jjStartNfaWithStates_2(2, 45, 98);
+         break;
+      default :
+         break;
+   }
+   return jjStartNfa_2(1, active0);
+}
+private final int jjMoveStringLiteralDfa3_2(long old0, long active0)
+{
+   if (((active0 &= old0)) == 0L)
+      return jjStartNfa_2(1, old0);
+   try { curChar = input_stream.readChar(); }
+   catch(java.io.IOException e) {
+      jjStopStringLiteralDfa_2(2, active0);
+      return 3;
+   }
+   switch(curChar)
+   {
+      case 97:
+         return jjMoveStringLiteralDfa4_2(active0, 0x4000000000L);
+      case 99:
+         return jjMoveStringLiteralDfa4_2(active0, 0x100000000000L);
+      case 105:
+         return jjMoveStringLiteralDfa4_2(active0, 0x80000000000L);
+      case 108:
+         return jjMoveStringLiteralDfa4_2(active0, 0x20000000000L);
+      case 111:
+         return jjMoveStringLiteralDfa4_2(active0, 0x400000000000L);
+      case 116:
+         return jjMoveStringLiteralDfa4_2(active0, 0x52000000000L);
+      case 118:
+         return jjMoveStringLiteralDfa4_2(active0, 0x8000000000L);
+      default :
+         break;
+   }
+   return jjStartNfa_2(2, active0);
+}
+private final int jjMoveStringLiteralDfa4_2(long old0, long active0)
+{
+   if (((active0 &= old0)) == 0L)
+      return jjStartNfa_2(2, old0);
+   try { curChar = input_stream.readChar(); }
+   catch(java.io.IOException e) {
+      jjStopStringLiteralDfa_2(3, active0);
+      return 4;
+   }
+   switch(curChar)
+   {
+      case 97:
+         return jjMoveStringLiteralDfa5_2(active0, 0x8000000000L);
+      case 101:
+         return jjMoveStringLiteralDfa5_2(active0, 0x10000000000L);
+      case 104:
+         return jjMoveStringLiteralDfa5_2(active0, 0x100000000000L);
+      case 105:
+         return jjMoveStringLiteralDfa5_2(active0, 0x60000000000L);
+      case 108:
+         if ((active0 & 0x4000000000L) != 0L)
+            return jjStartNfaWithStates_2(4, 38, 98);
+         break;
+      case 114:
+         return jjMoveStringLiteralDfa5_2(active0, 0x2000000000L);
+      case 118:
+         return jjMoveStringLiteralDfa5_2(active0, 0x80000000000L);
+      case 119:
+         return jjMoveStringLiteralDfa5_2(active0, 0x400000000000L);
+      default :
+         break;
+   }
+   return jjStartNfa_2(3, active0);
+}
+private final int jjMoveStringLiteralDfa5_2(long old0, long active0)
+{
+   if (((active0 &= old0)) == 0L)
+      return jjStartNfa_2(3, old0);
+   try { curChar = input_stream.readChar(); }
+   catch(java.io.IOException e) {
+      jjStopStringLiteralDfa_2(4, active0);
+      return 5;
+   }
+   switch(curChar)
+   {
+      case 97:
+         return jjMoveStringLiteralDfa6_2(active0, 0x2000000000L);
+      case 99:
+         if ((active0 & 0x20000000000L) != 0L)
+            return jjStartNfaWithStates_2(5, 41, 98);
+         else if ((active0 & 0x40000000000L) != 0L)
+            return jjStartNfaWithStates_2(5, 42, 98);
+         return jjMoveStringLiteralDfa6_2(active0, 0x10000000000L);
+      case 101:
+         if ((active0 & 0x80000000000L) != 0L)
+            return jjStartNfaWithStates_2(5, 43, 98);
+         break;
+      case 114:
+         return jjMoveStringLiteralDfa6_2(active0, 0x100000000000L);
+      case 115:
+         if ((active0 & 0x400000000000L) != 0L)
+            return jjStartNfaWithStates_2(5, 46, 98);
+         break;
+      case 116:
+         return jjMoveStringLiteralDfa6_2(active0, 0x8000000000L);
+      default :
+         break;
+   }
+   return jjStartNfa_2(4, active0);
+}
+private final int jjMoveStringLiteralDfa6_2(long old0, long active0)
+{
+   if (((active0 &= old0)) == 0L)
+      return jjStartNfa_2(4, old0);
+   try { curChar = input_stream.readChar(); }
+   catch(java.io.IOException e) {
+      jjStopStringLiteralDfa_2(5, active0);
+      return 6;
+   }
+   switch(curChar)
+   {
+      case 99:
+         return jjMoveStringLiteralDfa7_2(active0, 0x2000000000L);
+      case 101:
+         if ((active0 & 0x8000000000L) != 0L)
+            return jjStartNfaWithStates_2(6, 39, 98);
+         break;
+      case 111:
+         return jjMoveStringLiteralDfa7_2(active0, 0x100000000000L);
+      case 116:
+         return jjMoveStringLiteralDfa7_2(active0, 0x10000000000L);
+      default :
+         break;
+   }
+   return jjStartNfa_2(5, active0);
+}
+private final int jjMoveStringLiteralDfa7_2(long old0, long active0)
+{
+   if (((active0 &= old0)) == 0L)
+      return jjStartNfa_2(5, old0);
+   try { curChar = input_stream.readChar(); }
+   catch(java.io.IOException e) {
+      jjStopStringLiteralDfa_2(6, active0);
+      return 7;
+   }
+   switch(curChar)
+   {
+      case 101:
+         return jjMoveStringLiteralDfa8_2(active0, 0x10000000000L);
+      case 110:
+         return jjMoveStringLiteralDfa8_2(active0, 0x100000000000L);
+      case 116:
+         if ((active0 & 0x2000000000L) != 0L)
+            return jjStartNfaWithStates_2(7, 37, 98);
+         break;
+      default :
+         break;
+   }
+   return jjStartNfa_2(6, active0);
+}
+private final int jjMoveStringLiteralDfa8_2(long old0, long active0)
+{
+   if (((active0 &= old0)) == 0L)
+      return jjStartNfa_2(6, old0);
+   try { curChar = input_stream.readChar(); }
+   catch(java.io.IOException e) {
+      jjStopStringLiteralDfa_2(7, active0);
+      return 8;
+   }
+   switch(curChar)
+   {
+      case 100:
+         if ((active0 & 0x10000000000L) != 0L)
+            return jjStartNfaWithStates_2(8, 40, 98);
+         break;
+      case 105:
+         return jjMoveStringLiteralDfa9_2(active0, 0x100000000000L);
+      default :
+         break;
+   }
+   return jjStartNfa_2(7, active0);
+}
+private final int jjMoveStringLiteralDfa9_2(long old0, long active0)
+{
+   if (((active0 &= old0)) == 0L)
+      return jjStartNfa_2(7, old0);
+   try { curChar = input_stream.readChar(); }
+   catch(java.io.IOException e) {
+      jjStopStringLiteralDfa_2(8, active0);
+      return 9;
+   }
+   switch(curChar)
+   {
+      case 122:
+         return jjMoveStringLiteralDfa10_2(active0, 0x100000000000L);
+      default :
+         break;
+   }
+   return jjStartNfa_2(8, active0);
+}
+private final int jjMoveStringLiteralDfa10_2(long old0, long active0)
+{
+   if (((active0 &= old0)) == 0L)
+      return jjStartNfa_2(8, old0);
+   try { curChar = input_stream.readChar(); }
+   catch(java.io.IOException e) {
+      jjStopStringLiteralDfa_2(9, active0);
+      return 10;
+   }
+   switch(curChar)
+   {
+      case 101:
+         return jjMoveStringLiteralDfa11_2(active0, 0x100000000000L);
+      default :
+         break;
+   }
+   return jjStartNfa_2(9, active0);
+}
+private final int jjMoveStringLiteralDfa11_2(long old0, long active0)
+{
+   if (((active0 &= old0)) == 0L)
+      return jjStartNfa_2(9, old0);
+   try { curChar = input_stream.readChar(); }
+   catch(java.io.IOException e) {
+      jjStopStringLiteralDfa_2(10, active0);
+      return 11;
+   }
+   switch(curChar)
+   {
+      case 100:
+         if ((active0 & 0x100000000000L) != 0L)
+            return jjStartNfaWithStates_2(11, 44, 98);
+         break;
+      default :
+         break;
+   }
+   return jjStartNfa_2(10, active0);
+}
+private final int jjMoveNfa_2(int startState, int curPos)
+{
+   int[] nextStates;
+   int startsAt = 0;
+   jjnewStateCnt = 98;
+   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 98:
+                  if ((0x3ff041000000000L & l) != 0L)
+                  {
+                     if (kind > 55)
+                        kind = 55;
+                     jjCheckNAdd(97);
+                  }
+                  else if (curChar == 46)
+                     jjCheckNAdd(91);
+                  if ((0x3ff041000000000L & l) != 0L)
+                     jjCheckNAddTwoStates(94, 96);
+                  if ((0x3ff041000000000L & l) != 0L)
+                     jjCheckNAddTwoStates(89, 90);
+                  break;
+               case 0:
+                  if ((0x3ff041000000000L & l) != 0L)
+                  {
+                     if (kind > 55)
+                        kind = 55;
+                     jjCheckNAddStates(3, 7);
+                  }
+                  if (curChar == 36)
+                     jjAddStates(8, 11);
+                  break;
+               case 1:
+                  if ((0x3ff041000000000L & l) == 0L)
+                     break;
+                  if (kind > 52)
+                     kind = 52;
+                  jjCheckNAddTwoStates(1, 2);
+                  break;
+               case 2:
+                  if (curChar == 46)
+                     jjCheckNAdd(3);
+                  break;
+               case 3:
+                  if ((0x3ff041000000000L & l) == 0L)
+                     break;
+                  if (kind > 52)
+                     kind = 52;
+                  jjCheckNAddTwoStates(2, 3);
+                  break;
+               case 4:
+                  if (curChar == 36)
+                     jjAddStates(8, 11);
+                  break;
+               case 7:
+                  if ((0x3ff041000000000L & l) != 0L)
+                     jjCheckNAddStates(12, 14);
+                  break;
+               case 8:
+                  if (curChar == 46)
+                     jjCheckNAdd(9);
+                  break;
+               case 9:
+                  if ((0x3ff041000000000L & l) != 0L)
+                     jjCheckNAddStates(15, 17);
+                  break;
+               case 11:
+                  if ((0x3ff041000000000L & l) != 0L)
+                     jjCheckNAddStates(18, 21);
+                  break;
+               case 12:
+                  if ((0x3ff041000000000L & l) != 0L)
+                     jjCheckNAddTwoStates(12, 10);
+                  break;
+               case 13:
+                  if ((0x3ff041000000000L & l) != 0L)
+                     jjCheckNAddTwoStates(13, 14);
+                  break;
+               case 14:
+                  if (curChar == 46)
+                     jjCheckNAdd(15);
+                  break;
+               case 15:
+                  if ((0x3ff041000000000L & l) != 0L)
+                     jjCheckNAddStates(22, 25);
+                  break;
+               case 29:
+                  if ((0x3ff000000000000L & l) != 0L)
+                     jjCheckNAddStates(26, 28);
+                  break;
+               case 30:
+                  if (curChar == 46)
+                     jjCheckNAdd(31);
+                  break;
+               case 31:
+                  if ((0x3ff000000000000L & l) != 0L)
+                     jjCheckNAddStates(29, 31);
+                  break;
+               case 42:
+                  if ((0x3ff041000000000L & l) != 0L)
+                     jjCheckNAddStates(32, 34);
+                  break;
+               case 43:
+                  if (curChar == 46)
+                     jjCheckNAdd(44);
+                  break;
+               case 44:
+                  if ((0x3ff041000000000L & l) != 0L)
+                     jjCheckNAddStates(35, 37);
+                  break;
+               case 46:
+                  if ((0x3ff041000000000L & l) != 0L)
+                     jjCheckNAddStates(38, 41);
+                  break;
+               case 47:
+                  if ((0x3ff041000000000L & l) != 0L)
+                     jjCheckNAddTwoStates(47, 45);
+                  break;
+               case 48:
+                  if ((0x3ff041000000000L & l) != 0L)
+                     jjCheckNAddTwoStates(48, 49);
+                  break;
+               case 49:
+                  if (curChar == 46)
+                     jjCheckNAdd(50);
+                  break;
+               case 50:
+                  if ((0x3ff041000000000L & l) != 0L)
+                     jjCheckNAddStates(42, 45);
+                  break;
+               case 65:
+                  if ((0x3ff041000000000L & l) != 0L)
+                     jjCheckNAddStates(46, 48);
+                  break;
+               case 66:
+                  if (curChar == 46)
+                     jjCheckNAdd(67);
+                  break;
+               case 67:
+                  if ((0x3ff041000000000L & l) != 0L)
+                     jjCheckNAddStates(49, 51);
+                  break;
+               case 69:
+                  if ((0x3ff041000000000L & l) != 0L)
+                     jjCheckNAddStates(52, 55);
+                  break;
+               case 70:
+                  if ((0x3ff041000000000L & l) != 0L)
+                     jjCheckNAddTwoStates(70, 68);
+                  break;
+               case 71:
+                  if ((0x3ff041000000000L & l) != 0L)
+                     jjCheckNAddTwoStates(71, 72);
+                  break;
+               case 72:
+                  if (curChar == 46)
+                     jjCheckNAdd(73);
+                  break;
+               case 73:
+                  if ((0x3ff041000000000L & l) != 0L)
+                     jjCheckNAddStates(56, 59);
+                  break;
+               case 88:
+                  if ((0x3ff041000000000L & l) == 0L)
+                     break;
+                  if (kind > 55)
+                     kind = 55;
+                  jjCheckNAddStates(3, 7);
+                  break;
+               case 89:
+                  if ((0x3ff041000000000L & l) != 0L)
+                     jjCheckNAddTwoStates(89, 90);
+                  break;
+               case 90:
+                  if (curChar == 46)
+                     jjCheckNAdd(91);
+                  break;
+               case 91:
+                  if ((0x3ff041000000000L & l) == 0L)
+                     break;
+                  if (kind > 49)
+                     kind = 49;
+                  jjCheckNAddStates(60, 62);
+                  break;
+               case 94:
+                  if ((0x3ff041000000000L & l) != 0L)
+                     jjCheckNAddTwoStates(94, 96);
+                  break;
+               case 97:
+                  if ((0x3ff041000000000L & l) == 0L)
+                     break;
+                  if (kind > 55)
+                     kind = 55;
+                  jjCheckNAdd(97);
+                  break;
+               default : break;
+            }
+         } while(i != startsAt);
+      }
+      else if (curChar < 128)
+      {
+         long l = 1L << (curChar & 077);
+         MatchLoop: do
+         {
+            switch(jjstateSet[--i])
+            {
+               case 98:
+                  if ((0x7fffffe87fffffeL & l) != 0L)
+                  {
+                     if (kind > 55)
+                        kind = 55;
+                     jjCheckNAdd(97);
+                  }
+                  else if (curChar == 91)
+                     jjstateSet[jjnewStateCnt++] = 95;
+                  if ((0x7fffffe87fffffeL & l) != 0L)
+                     jjCheckNAddTwoStates(94, 96);
+                  if ((0x7fffffe87fffffeL & l) != 0L)
+                     jjCheckNAddTwoStates(89, 90);
+                  break;
+               case 0:
+                  if ((0x7fffffe87fffffeL & l) != 0L)
+                  {
+                     if (kind > 55)
+                        kind = 55;
+                     jjCheckNAddStates(3, 7);
+                  }
+                  else if (curChar == 64)
+                     jjCheckNAdd(1);
+                  break;
+               case 1:
+                  if ((0x7fffffe87fffffeL & l) == 0L)
+                     break;
+                  if (kind > 52)
+                     kind = 52;
+                  jjCheckNAddTwoStates(1, 2);
+                  break;
+               case 3:
+                  if ((0x7fffffe87fffffeL & l) == 0L)
+                     break;
+                  if (kind > 52)
+                     kind = 52;
+                  jjCheckNAddTwoStates(2, 3);
+                  break;
+               case 5:
+                  if (curChar == 123)
+                     jjAddStates(63, 64);
+                  break;
+               case 6:
+                  if (curChar == 64)
+                     jjCheckNAdd(7);
+                  break;
+               case 7:
+                  if ((0x7fffffe87fffffeL & l) != 0L)
+                     jjCheckNAddStates(12, 14);
+                  break;
+               case 9:
+                  if ((0x7fffffe87fffffeL & l) != 0L)
+                     jjCheckNAddStates(15, 17);
+                  break;
+               case 10:
+                  if (curChar == 125 && kind > 47)
+                     kind = 47;
+                  break;
+               case 11:
+                  if ((0x7fffffe87fffffeL & l) != 0L)
+                     jjCheckNAddStates(18, 21);
+                  break;
+               case 12:
+                  if ((0x7fffffe87fffffeL & l) != 0L)
+                     jjCheckNAddTwoStates(12, 10);
+                  break;
+               case 13:
+                  if ((0x7fffffe87fffffeL & l) != 0L)
+                     jjCheckNAddTwoStates(13, 14);
+                  break;
+               case 15:
+                  if ((0x7fffffe87fffffeL & l) != 0L)
+                     jjCheckNAddStates(22, 25);
+                  break;
+               case 16:
+                  if (curChar == 93)
+                     jjCheckNAddTwoStates(17, 10);
+                  break;
+               case 17:
+                  if (curChar == 91)
+                     jjstateSet[jjnewStateCnt++] = 16;
+                  break;
+               case 18:
+                  if (curChar == 102)
+                     jjstateSet[jjnewStateCnt++] = 5;
+                  break;
+               case 19:
+                  if (curChar == 111)
+                     jjstateSet[jjnewStateCnt++] = 18;
+                  break;
+               case 20:
+                  if (curChar == 101)
+                     jjstateSet[jjnewStateCnt++] = 19;
+                  break;
+               case 21:
+                  if (curChar == 99)
+                     jjstateSet[jjnewStateCnt++] = 20;
+                  break;
+               case 22:
+                  if (curChar == 110)
+                     jjstateSet[jjnewStateCnt++] = 21;
+                  break;
+               case 23:
+                  if (curChar == 97)
+                     jjstateSet[jjnewStateCnt++] = 22;
+                  break;
+               case 24:
+                  if (curChar == 116)
+                     jjstateSet[jjnewStateCnt++] = 23;
+                  break;
+               case 25:
+                  if (curChar == 115)
+                     jjstateSet[jjnewStateCnt++] = 24;
+                  break;
+               case 26:
+                  if (curChar == 110)
+                     jjstateSet[jjnewStateCnt++] = 25;
+                  break;
+               case 27:
+                  if (curChar == 105)
+                     jjstateSet[jjnewStateCnt++] = 26;
+                  break;
+               case 28:
+                  if (curChar == 123)
+                     jjCheckNAdd(29);
+                  break;
+               case 29:
+                  if ((0x7fffffe87fffffeL & l) != 0L)
+                     jjCheckNAddStates(26, 28);
+                  break;
+               case 31:
+                  if ((0x7fffffe87fffffeL & l) != 0L)
+                     jjCheckNAddStates(29, 31);
+                  break;
+               case 32:
+                  if (curChar == 125 && kind > 48)
+                     kind = 48;
+                  break;
+               case 33:
+                  if (curChar == 102)
+                     jjstateSet[jjnewStateCnt++] = 28;
+                  break;
+               case 34:
+                  if (curChar == 101)
+                     jjstateSet[jjnewStateCnt++] = 33;
+                  break;
+               case 35:
+                  if (curChar == 100)
+                     jjstateSet[jjnewStateCnt++] = 34;
+                  break;
+               case 36:
+                  if (curChar == 101)
+                     jjstateSet[jjnewStateCnt++] = 35;
+                  break;
+               case 37:
+                  if (curChar == 112)
+                     jjstateSet[jjnewStateCnt++] = 36;
+                  break;
+               case 38:
+                  if (curChar == 121)
+                     jjstateSet[jjnewStateCnt++] = 37;
+                  break;
+               case 39:
+                  if (curChar == 116)
+                     jjstateSet[jjnewStateCnt++] = 38;
+                  break;
+               case 40:
+                  if (curChar == 123)
+                     jjAddStates(65, 66);
+                  break;
+               case 41:
+                  if (curChar == 64)
+                     jjCheckNAdd(42);
+                  break;
+               case 42:
+                  if ((0x7fffffe87fffffeL & l) != 0L)
+                     jjCheckNAddStates(32, 34);
+                  break;
+               case 44:
+                  if ((0x7fffffe87fffffeL & l) != 0L)
+                     jjCheckNAddStates(35, 37);
+                  break;
+               case 45:
+                  if (curChar == 125 && kind > 53)
+                     kind = 53;
+                  break;
+               case 46:
+                  if ((0x7fffffe87fffffeL & l) != 0L)
+                     jjCheckNAddStates(38, 41);
+                  break;
+               case 47:
+                  if ((0x7fffffe87fffffeL & l) != 0L)
+                     jjCheckNAddTwoStates(47, 45);
+                  break;
+               case 48:
+                  if ((0x7fffffe87fffffeL & l) != 0L)
+                     jjCheckNAddTwoStates(48, 49);
+                  break;
+               case 50:
+                  if ((0x7fffffe87fffffeL & l) != 0L)
+                     jjCheckNAddStates(42, 45);
+                  break;
+               case 51:
+                  if (curChar == 93)
+                     jjCheckNAddTwoStates(52, 45);
+                  break;
+               case 52:
+                  if (curChar == 91)
+                     jjstateSet[jjnewStateCnt++] = 51;
+                  break;
+               case 53:
+                  if (curChar == 115)
+                     jjstateSet[jjnewStateCnt++] = 40;
+                  break;
+               case 54:
+                  if (curChar == 116)
+                     jjstateSet[jjnewStateCnt++] = 53;
+                  break;
+               case 55:
+                  if (curChar == 110)
+                     jjstateSet[jjnewStateCnt++] = 54;
+                  break;
+               case 56:
+                  if (curChar == 101)
+                     jjstateSet[jjnewStateCnt++] = 55;
+                  break;
+               case 57:
+                  if (curChar == 109)
+                     jjstateSet[jjnewStateCnt++] = 56;
+                  break;
+               case 58:
+                  if (curChar == 101)
+                     jjstateSet[jjnewStateCnt++] = 57;
+                  break;
+               case 59:
+                  if (curChar == 108)
+                     jjstateSet[jjnewStateCnt++] = 58;
+                  break;
+               case 60:
+                  if (curChar == 112)
+                     jjstateSet[jjnewStateCnt++] = 59;
+                  break;
+               case 61:
+                  if (curChar == 109)
+                     jjstateSet[jjnewStateCnt++] = 60;
+                  break;
+               case 62:
+                  if (curChar == 105)
+                     jjstateSet[jjnewStateCnt++] = 61;
+                  break;
+               case 63:
+                  if (curChar == 123)
+                     jjAddStates(67, 68);
+                  break;
+               case 64:
+                  if (curChar == 64)
+                     jjCheckNAdd(65);
+                  break;
+               case 65:
+                  if ((0x7fffffe87fffffeL & l) != 0L)
+                     jjCheckNAddStates(46, 48);
+                  break;
+               case 67:
+                  if ((0x7fffffe87fffffeL & l) != 0L)
+                     jjCheckNAddStates(49, 51);
+                  break;
+               case 68:
+                  if (curChar == 125 && kind > 54)
+                     kind = 54;
+                  break;
+               case 69:
+                  if ((0x7fffffe87fffffeL & l) != 0L)
+                     jjCheckNAddStates(52, 55);
+                  break;
+               case 70:
+                  if ((0x7fffffe87fffffeL & l) != 0L)
+                     jjCheckNAddTwoStates(70, 68);
+                  break;
+               case 71:
+                  if ((0x7fffffe87fffffeL & l) != 0L)
+                     jjCheckNAddTwoStates(71, 72);
+                  break;
+               case 73:
+                  if ((0x7fffffe87fffffeL & l) != 0L)
+                     jjCheckNAddStates(56, 59);
+                  break;
+               case 74:
+                  if (curChar == 93)
+                     jjCheckNAddTwoStates(75, 68);
+                  break;
+               case 75:
+                  if (curChar == 91)
+                     jjstateSet[jjnewStateCnt++] = 74;
+                  break;
+               case 76:
+                  if (curChar == 103)
+                     jjstateSet[jjnewStateCnt++] = 63;
+                  break;
+               case 77:
+                  if (curChar == 110)
+                     jjstateSet[jjnewStateCnt++] = 76;
+                  break;
+               case 78:
+                  if (curChar == 105)
+                     jjstateSet[jjnewStateCnt++] = 77;
+                  break;
+               case 79:
+                  if (curChar == 116)
+                     jjstateSet[jjnewStateCnt++] = 78;
+                  break;
+               case 80:
+                  if (curChar == 110)
+                     jjstateSet[jjnewStateCnt++] = 79;
+                  break;
+               case 81:
+                  if (curChar == 101)
+                     jjstateSet[jjnewStateCnt++] = 80;
+                  break;
+               case 82:
+                  if (curChar == 109)
+                     jjstateSet[jjnewStateCnt++] = 81;
+                  break;
+               case 83:
+                  if (curChar == 101)
+                     jjstateSet[jjnewStateCnt++] = 82;
+                  break;
+               case 84:
+                  if (curChar == 108)
+                     jjstateSet[jjnewStateCnt++] = 83;
+                  break;
+               case 85:
+                  if (curChar == 112)
+                     jjstateSet[jjnewStateCnt++] = 84;
+                  break;
+               case 86:
+                  if (curChar == 109)
+                     jjstateSet[jjnewStateCnt++] = 85;
+                  break;
+               case 87:
+                  if (curChar == 105)
+                     jjstateSet[jjnewStateCnt++] = 86;
+                  break;
+               case 88:
+                  if ((0x7fffffe87fffffeL & l) == 0L)
+                     break;
+                  if (kind > 55)
+                     kind = 55;
+                  jjCheckNAddStates(3, 7);
+                  break;
+               case 89:
+                  if ((0x7fffffe87fffffeL & l) != 0L)
+                     jjCheckNAddTwoStates(89, 90);
+                  break;
+               case 91:
+                  if ((0x7fffffe87fffffeL & l) == 0L)
+                     break;
+                  if (kind > 49)
+                     kind = 49;
+                  jjCheckNAddStates(60, 62);
+                  break;
+               case 92:
+                  if (curChar != 93)
+                     break;
+                  if (kind > 49)
+                     kind = 49;
+                  jjCheckNAdd(93);
+                  break;
+               case 93:
+                  if (curChar == 91)
+                     jjstateSet[jjnewStateCnt++] = 92;
+                  break;
+               case 94:
+                  if ((0x7fffffe87fffffeL & l) != 0L)
+                     jjCheckNAddTwoStates(94, 96);
+                  break;
+               case 95:
+                  if (curChar != 93)
+                     break;
+                  if (kind > 51)
+                     kind = 51;
+                  jjCheckNAdd(96);
+                  break;
+               case 96:
+                  if (curChar == 91)
+                     jjstateSet[jjnewStateCnt++] = 95;
+                  break;
+               case 97:
+                  if ((0x7fffffe87fffffeL & l) == 0L)
+                     break;
+                  if (kind > 55)
+                     kind = 55;
+                  jjCheckNAdd(97);
+                  break;
+               default : break;
+            }
+         } while(i != startsAt);
+      }
+      else
+      {
+         int i2 = (curChar & 0xff) >> 6;
+         long l2 = 1L << (curChar & 077);
+         MatchLoop: do
+         {
+            switch(jjstateSet[--i])
+            {
+               default : break;
+            }
+         } while(i != startsAt);
+      }
+      if (kind != 0x7fffffff)
+      {
+         jjmatchedKind = kind;
+         jjmatchedPos = curPos;
+         kind = 0x7fffffff;
+      }
+      ++curPos;
+      if ((i = jjnewStateCnt) == (startsAt = 98 - (jjnewStateCnt = startsAt)))
+         return curPos;
+      try { curChar = input_stream.readChar(); }
+      catch(java.io.IOException e) { return curPos; }
+   }
+}
 private final int jjStopStringLiteralDfa_1(int pos, long active0)
-{
+{
    switch (pos)
-   {
-      default :
-         return -1;
-   }
-}
+   {
+      default :
+         return -1;
+   }
+}
 private final int jjStartNfa_1(int pos, long active0)
-{
-   return jjMoveNfa_1(jjStopStringLiteralDfa_1(pos, active0), pos + 1);
-}
-private final int jjStartNfaWithStates_1(int pos, int kind, int state)
-{
-   jjmatchedKind = kind;
-   jjmatchedPos = pos;
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) { return pos + 1; }
-   return jjMoveNfa_1(state, pos + 1);
-}
-private final int jjMoveStringLiteralDfa0_1()
-{
-   switch(curChar)
-   {
-      case 41:
-         return jjStopAtPos(0, 34);
-      case 44:
-         return jjStopAtPos(0, 30);
-      case 46:
-         return jjMoveStringLiteralDfa1_1(0x800000L);
-      default :
-         return jjMoveNfa_1(0, 0);
-   }
-}
-private final int jjMoveStringLiteralDfa1_1(long active0)
-{
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_1(0, active0);
-      return 1;
-   }
-   switch(curChar)
-   {
-      case 46:
-         if ((active0 & 0x800000L) != 0L)
-            return jjStopAtPos(1, 23);
-         break;
-      default :
-         break;
-   }
-   return jjStartNfa_1(0, active0);
-}
-private final int jjMoveNfa_1(int startState, int curPos)
-{
-   int[] nextStates;
-   int startsAt = 0;
-   jjnewStateCnt = 50;
-   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 ((0x3ff041000000000L & l) != 0L)
-                  {
-                     if (kind > 29)
-                        kind = 29;
-                     jjCheckNAddStates(57, 61);
-                  }
-                  if (curChar == 36)
-                     jjAddStates(62, 63);
-                  break;
-               case 1:
-                  if ((0x3ff041000000000L & l) != 0L)
-                     jjCheckNAddTwoStates(1, 2);
-                  break;
-               case 2:
-                  if (curChar == 46)
-                     jjCheckNAdd(3);
-                  break;
-               case 3:
-                  if ((0x3ff041000000000L & l) == 0L)
-                     break;
-                  if (kind > 26)
-                     kind = 26;
-                  jjCheckNAddTwoStates(2, 3);
-                  break;
-               case 4:
-                  if ((0x3ff041000000000L & l) == 0L)
-                     break;
-                  if (kind > 29)
-                     kind = 29;
-                  jjCheckNAddStates(57, 61);
-                  break;
-               case 5:
-                  if ((0x3ff041000000000L & l) != 0L)
-                     jjCheckNAddTwoStates(5, 6);
-                  break;
-               case 6:
-                  if (curChar == 46)
-                     jjCheckNAdd(7);
-                  break;
-               case 7:
-                  if ((0x3ff041000000000L & l) == 0L)
-                     break;
-                  if (kind > 24)
-                     kind = 24;
-                  jjCheckNAddStates(0, 2);
-                  break;
-               case 10:
-                  if ((0x3ff041000000000L & l) != 0L)
-                     jjCheckNAddTwoStates(10, 12);
-                  break;
-               case 13:
-                  if ((0x3ff041000000000L & l) == 0L)
-                     break;
-                  if (kind > 29)
-                     kind = 29;
-                  jjCheckNAdd(13);
-                  break;
-               case 14:
-                  if (curChar == 36)
-                     jjAddStates(62, 63);
-                  break;
-               case 17:
-                  if ((0x3ff041000000000L & l) != 0L)
-                     jjCheckNAddTwoStates(17, 18);
-                  break;
-               case 18:
-                  if (curChar == 46)
-                     jjCheckNAdd(19);
-                  break;
-               case 19:
-                  if ((0x3ff041000000000L & l) != 0L)
-                     jjCheckNAddStates(64, 66);
-                  break;
-               case 21:
-                  if ((0x3ff041000000000L & l) != 0L)
-                     jjCheckNAddStates(67, 70);
-                  break;
-               case 22:
-                  if ((0x3ff041000000000L & l) != 0L)
-                     jjCheckNAddTwoStates(22, 20);
-                  break;
-               case 23:
-                  if ((0x3ff041000000000L & l) != 0L)
-                     jjCheckNAddTwoStates(23, 24);
-                  break;
-               case 24:
-                  if (curChar == 46)
-                     jjCheckNAdd(25);
-                  break;
-               case 25:
-                  if ((0x3ff041000000000L & l) != 0L)
-                     jjCheckNAddStates(71, 74);
-                  break;
-               case 39:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjCheckNAddStates(75, 77);
-                  break;
-               case 40:
-                  if (curChar == 46)
-                     jjCheckNAdd(41);
-                  break;
-               case 41:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjCheckNAddStates(78, 80);
-                  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 > 29)
-                        kind = 29;
-                     jjCheckNAddStates(57, 61);
-                  }
-                  else if (curChar == 64)
-                     jjCheckNAdd(1);
-                  break;
-               case 1:
-                  if ((0x7fffffe87fffffeL & l) != 0L)
-                     jjCheckNAddTwoStates(1, 2);
-                  break;
-               case 3:
-                  if ((0x7fffffe87fffffeL & l) == 0L)
-                     break;
-                  if (kind > 26)
-                     kind = 26;
-                  jjCheckNAddTwoStates(2, 3);
-                  break;
-               case 4:
-                  if ((0x7fffffe87fffffeL & l) == 0L)
-                     break;
-                  if (kind > 29)
-                     kind = 29;
-                  jjCheckNAddStates(57, 61);
-                  break;
-               case 5:
-                  if ((0x7fffffe87fffffeL & l) != 0L)
-                     jjCheckNAddTwoStates(5, 6);
-                  break;
-               case 7:
-                  if ((0x7fffffe87fffffeL & l) == 0L)
-                     break;
-                  if (kind > 24)
-                     kind = 24;
-                  jjCheckNAddStates(0, 2);
-                  break;
-               case 8:
-                  if (curChar != 93)
-                     break;
-                  if (kind > 24)
-                     kind = 24;
-                  jjCheckNAdd(9);
-                  break;
-               case 9:
-                  if (curChar == 91)
-                     jjstateSet[jjnewStateCnt++] = 8;
-                  break;
-               case 10:
-                  if ((0x7fffffe87fffffeL & l) != 0L)
-                     jjCheckNAddTwoStates(10, 12);
-                  break;
-               case 11:
-                  if (curChar != 93)
-                     break;
-                  if (kind > 25)
-                     kind = 25;
-                  jjCheckNAdd(12);
-                  break;
-               case 12:
-                  if (curChar == 91)
-                     jjstateSet[jjnewStateCnt++] = 11;
-                  break;
-               case 13:
-                  if ((0x7fffffe87fffffeL & l) == 0L)
-                     break;
-                  if (kind > 29)
-                     kind = 29;
-                  jjCheckNAdd(13);
-                  break;
-               case 15:
-                  if (curChar == 123)
-                     jjAddStates(81, 82);
-                  break;
-               case 16:
-                  if (curChar == 64)
-                     jjCheckNAdd(17);
-                  break;
-               case 17:
-                  if ((0x7fffffe87fffffeL & l) != 0L)
-                     jjCheckNAddTwoStates(17, 18);
-                  break;
-               case 19:
-                  if ((0x7fffffe87fffffeL & l) != 0L)
-                     jjCheckNAddStates(64, 66);
-                  break;
-               case 20:
-                  if (curChar == 125 && kind > 27)
-                     kind = 27;
-                  break;
-               case 21:
-                  if ((0x7fffffe87fffffeL & l) != 0L)
-                     jjCheckNAddStates(67, 70);
-                  break;
-               case 22:
-                  if ((0x7fffffe87fffffeL & l) != 0L)
-                     jjCheckNAddTwoStates(22, 20);
-                  break;
-               case 23:
-                  if ((0x7fffffe87fffffeL & l) != 0L)
-                     jjCheckNAddTwoStates(23, 24);
-                  break;
-               case 25:
-                  if ((0x7fffffe87fffffeL & l) != 0L)
-                     jjCheckNAddStates(71, 74);
-                  break;
-               case 26:
-                  if (curChar == 93)
-                     jjCheckNAddTwoStates(27, 20);
-                  break;
-               case 27:
-                  if (curChar == 91)
-                     jjstateSet[jjnewStateCnt++] = 26;
-                  break;
-               case 28:
-                  if (curChar == 102)
-                     jjstateSet[jjnewStateCnt++] = 15;
-                  break;
-               case 29:
-                  if (curChar == 111)
-                     jjstateSet[jjnewStateCnt++] = 28;
-                  break;
-               case 30:
-                  if (curChar == 101)
-                     jjstateSet[jjnewStateCnt++] = 29;
-                  break;
-               case 31:
-                  if (curChar == 99)
-                     jjstateSet[jjnewStateCnt++] = 30;
-                  break;
-               case 32:
-                  if (curChar == 110)
-                     jjstateSet[jjnewStateCnt++] = 31;
-                  break;
-               case 33:
-                  if (curChar == 97)
-                     jjstateSet[jjnewStateCnt++] = 32;
-                  break;
-               case 34:
-                  if (curChar == 116)
-                     jjstateSet[jjnewStateCnt++] = 33;
-                  break;
-               case 35:
-                  if (curChar == 115)
-                     jjstateSet[jjnewStateCnt++] = 34;
-                  break;
-               case 36:
-                  if (curChar == 110)
-                     jjstateSet[jjnewStateCnt++] = 35;
-                  break;
-               case 37:
-                  if (curChar == 105)
-                     jjstateSet[jjnewStateCnt++] = 36;
-                  break;
-               case 38:
-                  if (curChar == 123)
-                     jjCheckNAdd(39);
-                  break;
-               case 39:
-                  if ((0x7fffffe87fffffeL & l) != 0L)
-                     jjCheckNAddStates(75, 77);
-                  break;
-               case 41:
-                  if ((0x7fffffe87fffffeL & l) != 0L)
-                     jjCheckNAddStates(78, 80);
-                  break;
-               case 42:
-                  if (curChar == 125 && kind > 28)
-                     kind = 28;
-                  break;
-               case 43:
-                  if (curChar == 102)
-                     jjstateSet[jjnewStateCnt++] = 38;
-                  break;
-               case 44:
-                  if (curChar == 101)
-                     jjstateSet[jjnewStateCnt++] = 43;
-                  break;
-               case 45:
-                  if (curChar == 100)
-                     jjstateSet[jjnewStateCnt++] = 44;
-                  break;
-               case 46:
-                  if (curChar == 101)
-                     jjstateSet[jjnewStateCnt++] = 45;
-                  break;
-               case 47:
-                  if (curChar == 112)
-                     jjstateSet[jjnewStateCnt++] = 46;
-                  break;
-               case 48:
-                  if (curChar == 121)
-                     jjstateSet[jjnewStateCnt++] = 47;
-                  break;
-               case 49:
-                  if (curChar == 116)
-                     jjstateSet[jjnewStateCnt++] = 48;
-                  break;
-               default : break;
-            }
-         } while(i != startsAt);
-      }
-      else
-      {
-         int i2 = (curChar & 0xff) >> 6;
-         long l2 = 1L << (curChar & 077);
-         MatchLoop: do
-         {
-            switch(jjstateSet[--i])
-            {
-               default : break;
-            }
-         } while(i != startsAt);
-      }
-      if (kind != 0x7fffffff)
-      {
-         jjmatchedKind = kind;
-         jjmatchedPos = curPos;
-         kind = 0x7fffffff;
-      }
-      ++curPos;
-      if ((i = jjnewStateCnt) == (startsAt = 50 - (jjnewStateCnt = startsAt)))
-         return curPos;
-      try { curChar = input_stream.readChar(); }
-      catch(java.io.IOException e) { return curPos; }
-   }
-}
+{
+   return jjMoveNfa_1(jjStopStringLiteralDfa_1(pos, active0), pos + 1);
+}
+private final int jjStartNfaWithStates_1(int pos, int kind, int state)
+{
+   jjmatchedKind = kind;
+   jjmatchedPos = pos;
+   try { curChar = input_stream.readChar(); }
+   catch(java.io.IOException e) { return pos + 1; }
+   return jjMoveNfa_1(state, pos + 1);
+}
+private final int jjMoveStringLiteralDfa0_1()
+{
+   switch(curChar)
+   {
+      case 41:
+         return jjStopAtPos(0, 34);
+      case 44:
+         return jjStopAtPos(0, 30);
+      case 46:
+         return jjMoveStringLiteralDfa1_1(0x800000L);
+      default :
+         return jjMoveNfa_1(0, 0);
+   }
+}
+private final int jjMoveStringLiteralDfa1_1(long active0)
+{
+   try { curChar = input_stream.readChar(); }
+   catch(java.io.IOException e) {
+      jjStopStringLiteralDfa_1(0, active0);
+      return 1;
+   }
+   switch(curChar)
+   {
+      case 46:
+         if ((active0 & 0x800000L) != 0L)
+            return jjStopAtPos(1, 23);
+         break;
+      default :
+         break;
+   }
+   return jjStartNfa_1(0, active0);
+}
+private final int jjMoveNfa_1(int startState, int curPos)
+{
+   int[] nextStates;
+   int startsAt = 0;
+   jjnewStateCnt = 50;
+   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 ((0x3ff041000000000L & l) != 0L)
+                  {
+                     if (kind > 29)
+                        kind = 29;
+                     jjCheckNAddStates(69, 73);
+                  }
+                  if (curChar == 36)
+                     jjAddStates(74, 75);
+                  break;
+               case 1:
+                  if ((0x3ff041000000000L & l) != 0L)
+                     jjCheckNAddTwoStates(1, 2);
+                  break;
+               case 2:
+                  if (curChar == 46)
+                     jjCheckNAdd(3);
+                  break;
+               case 3:
+                  if ((0x3ff041000000000L & l) == 0L)
+                     break;
+                  if (kind > 26)
+                     kind = 26;
+                  jjCheckNAddTwoStates(2, 3);
+                  break;
+               case 4:
+                  if ((0x3ff041000000000L & l) == 0L)
+                     break;
+                  if (kind > 29)
+                     kind = 29;
+                  jjCheckNAddStates(69, 73);
+                  break;
+               case 5:
+                  if ((0x3ff041000000000L & l) != 0L)
+                     jjCheckNAddTwoStates(5, 6);
+                  break;
+               case 6:
+                  if (curChar == 46)
+                     jjCheckNAdd(7);
+                  break;
+               case 7:
+                  if ((0x3ff041000000000L & l) == 0L)
+                     break;
+                  if (kind > 24)
+                     kind = 24;
+                  jjCheckNAddStates(0, 2);
+                  break;
+               case 10:
+                  if ((0x3ff041000000000L & l) != 0L)
+                     jjCheckNAddTwoStates(10, 12);
+                  break;
+               case 13:
+                  if ((0x3ff041000000000L & l) == 0L)
+                     break;
+                  if (kind > 29)
+                     kind = 29;
+                  jjCheckNAdd(13);
+                  break;
+               case 14:
+                  if (curChar == 36)
+                     jjAddStates(74, 75);
+                  break;
+               case 17:
+                  if ((0x3ff041000000000L & l) != 0L)
+                     jjCheckNAddTwoStates(17, 18);
+                  break;
+               case 18:
+                  if (curChar == 46)
+                     jjCheckNAdd(19);
+                  break;
+               case 19:
+                  if ((0x3ff041000000000L & l) != 0L)
+                     jjCheckNAddStates(76, 78);
+                  break;
+               case 21:
+                  if ((0x3ff041000000000L & l) != 0L)
+                     jjCheckNAddStates(79, 82);
+                  break;
+               case 22:
+                  if ((0x3ff041000000000L & l) != 0L)
+                     jjCheckNAddTwoStates(22, 20);
+                  break;
+               case 23:
+                  if ((0x3ff041000000000L & l) != 0L)
+                     jjCheckNAddTwoStates(23, 24);
+                  break;
+               case 24:
+                  if (curChar == 46)
+                     jjCheckNAdd(25);
+                  break;
+               case 25:
+                  if ((0x3ff041000000000L & l) != 0L)
+                     jjCheckNAddStates(83, 86);
+                  break;
+               case 39:
+                  if ((0x3ff000000000000L & l) != 0L)
+                     jjCheckNAddStates(87, 89);
+                  break;
+               case 40:
+                  if (curChar == 46)
+                     jjCheckNAdd(41);
+                  break;
+               case 41:
+                  if ((0x3ff000000000000L & l) != 0L)
+                     jjCheckNAddStates(90, 92);
+                  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 > 29)
+                        kind = 29;
+                     jjCheckNAddStates(69, 73);
+                  }
+                  else if (curChar == 64)
+                     jjCheckNAdd(1);
+                  break;
+               case 1:
+                  if ((0x7fffffe87fffffeL & l) != 0L)
+                     jjCheckNAddTwoStates(1, 2);
+                  break;
+               case 3:
+                  if ((0x7fffffe87fffffeL & l) == 0L)
+                     break;
+                  if (kind > 26)
+                     kind = 26;
+                  jjCheckNAddTwoStates(2, 3);
+                  break;
+               case 4:
+                  if ((0x7fffffe87fffffeL & l) == 0L)
+                     break;
+                  if (kind > 29)
+                     kind = 29;
+                  jjCheckNAddStates(69, 73);
+                  break;
+               case 5:
+                  if ((0x7fffffe87fffffeL & l) != 0L)
+                     jjCheckNAddTwoStates(5, 6);
+                  break;
+               case 7:
+                  if ((0x7fffffe87fffffeL & l) == 0L)
+                     break;
+                  if (kind > 24)
+                     kind = 24;
+                  jjCheckNAddStates(0, 2);
+                  break;
+               case 8:
+                  if (curChar != 93)
+                     break;
+                  if (kind > 24)
+                     kind = 24;
+                  jjCheckNAdd(9);
+                  break;
+               case 9:
+                  if (curChar == 91)
+                     jjstateSet[jjnewStateCnt++] = 8;
+                  break;
+               case 10:
+                  if ((0x7fffffe87fffffeL & l) != 0L)
+                     jjCheckNAddTwoStates(10, 12);
+                  break;
+               case 11:
+                  if (curChar != 93)
+                     break;
+                  if (kind > 25)
+                     kind = 25;
+                  jjCheckNAdd(12);
+                  break;
+               case 12:
+                  if (curChar == 91)
+                     jjstateSet[jjnewStateCnt++] = 11;
+                  break;
+               case 13:
+                  if ((0x7fffffe87fffffeL & l) == 0L)
+                     break;
+                  if (kind > 29)
+                     kind = 29;
+                  jjCheckNAdd(13);
+                  break;
+               case 15:
+                  if (curChar == 123)
+                     jjAddStates(93, 94);
+                  break;
+               case 16:
+                  if (curChar == 64)
+                     jjCheckNAdd(17);
+                  break;
+               case 17:
+                  if ((0x7fffffe87fffffeL & l) != 0L)
+                     jjCheckNAddTwoStates(17, 18);
+                  break;
+               case 19:
+                  if ((0x7fffffe87fffffeL & l) != 0L)
+                     jjCheckNAddStates(76, 78);
+                  break;
+               case 20:
+                  if (curChar == 125 && kind > 27)
+                     kind = 27;
+                  break;
+               case 21:
+                  if ((0x7fffffe87fffffeL & l) != 0L)
+                     jjCheckNAddStates(79, 82);
+                  break;
+               case 22:
+                  if ((0x7fffffe87fffffeL & l) != 0L)
+                     jjCheckNAddTwoStates(22, 20);
+                  break;
+               case 23:
+                  if ((0x7fffffe87fffffeL & l) != 0L)
+                     jjCheckNAddTwoStates(23, 24);
+                  break;
+               case 25:
+                  if ((0x7fffffe87fffffeL & l) != 0L)
+                     jjCheckNAddStates(83, 86);
+                  break;
+               case 26:
+                  if (curChar == 93)
+                     jjCheckNAddTwoStates(27, 20);
+                  break;
+               case 27:
+                  if (curChar == 91)
+                     jjstateSet[jjnewStateCnt++] = 26;
+                  break;
+               case 28:
+                  if (curChar == 102)
+                     jjstateSet[jjnewStateCnt++] = 15;
+                  break;
+               case 29:
+                  if (curChar == 111)
+                     jjstateSet[jjnewStateCnt++] = 28;
+                  break;
+               case 30:
+                  if (curChar == 101)
+                     jjstateSet[jjnewStateCnt++] = 29;
+                  break;
+               case 31:
+                  if (curChar == 99)
+                     jjstateSet[jjnewStateCnt++] = 30;
+                  break;
+               case 32:
+                  if (curChar == 110)
+                     jjstateSet[jjnewStateCnt++] = 31;
+                  break;
+               case 33:
+                  if (curChar == 97)
+                     jjstateSet[jjnewStateCnt++] = 32;
+                  break;
+               case 34:
+                  if (curChar == 116)
+                     jjstateSet[jjnewStateCnt++] = 33;
+                  break;
+               case 35:
+                  if (curChar == 115)
+                     jjstateSet[jjnewStateCnt++] = 34;
+                  break;
+               case 36:
+                  if (curChar == 110)
+                     jjstateSet[jjnewStateCnt++] = 35;
+                  break;
+               case 37:
+                  if (curChar == 105)
+                     jjstateSet[jjnewStateCnt++] = 36;
+                  break;
+               case 38:
+                  if (curChar == 123)
+                     jjCheckNAdd(39);
+                  break;
+               case 39:
+                  if ((0x7fffffe87fffffeL & l) != 0L)
+                     jjCheckNAddStates(87, 89);
+                  break;
+               case 41:
+                  if ((0x7fffffe87fffffeL & l) != 0L)
+                     jjCheckNAddStates(90, 92);
+                  break;
+               case 42:
+                  if (curChar == 125 && kind > 28)
+                     kind = 28;
+                  break;
+               case 43:
+                  if (curChar == 102)
+                     jjstateSet[jjnewStateCnt++] = 38;
+                  break;
+               case 44:
+                  if (curChar == 101)
+                     jjstateSet[jjnewStateCnt++] = 43;
+                  break;
+               case 45:
+                  if (curChar == 100)
+                     jjstateSet[jjnewStateCnt++] = 44;
+                  break;
+               case 46:
+                  if (curChar == 101)
+                     jjstateSet[jjnewStateCnt++] = 45;
+                  break;
+               case 47:
+                  if (curChar == 112)
+                     jjstateSet[jjnewStateCnt++] = 46;
+                  break;
+               case 48:
+                  if (curChar == 121)
+                     jjstateSet[jjnewStateCnt++] = 47;
+                  break;
+               case 49:
+                  if (curChar == 116)
+                     jjstateSet[jjnewStateCnt++] = 48;
+                  break;
+               default : break;
+            }
+         } while(i != startsAt);
+      }
+      else
+      {
+         int i2 = (curChar & 0xff) >> 6;
+         long l2 = 1L << (curChar & 077);
+         MatchLoop: do
+         {
+            switch(jjstateSet[--i])
+            {
+               default : break;
+            }
+         } while(i != startsAt);
+      }
+      if (kind != 0x7fffffff)
+      {
+         jjmatchedKind = kind;
+         jjmatchedPos = curPos;
+         kind = 0x7fffffff;
+      }
+      ++curPos;
+      if ((i = jjnewStateCnt) == (startsAt = 50 - (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)
-   {
-      case 0:
-         if ((active1 & 0x3feL) != 0L)
-         {
-            jjmatchedKind = 79;
-            return 50;
-         }
-         return -1;
-      case 1:
-         if ((active1 & 0x3feL) != 0L)
-         {
-            jjmatchedKind = 79;
-            jjmatchedPos = 1;
-            return 50;
-         }
-         return -1;
-      case 2:
-         if ((active1 & 0x3feL) != 0L)
-         {
-            jjmatchedKind = 79;
-            jjmatchedPos = 2;
-            return 50;
-         }
-         return -1;
-      case 3:
-         if ((active1 & 0x3feL) != 0L)
-         {
-            jjmatchedKind = 79;
-            jjmatchedPos = 3;
-            return 50;
-         }
-         return -1;
-      case 4:
-         if ((active1 & 0x3faL) != 0L)
-         {
-            jjmatchedKind = 79;
-            jjmatchedPos = 4;
-            return 50;
-         }
-         if ((active1 & 0x4L) != 0L)
-            return 50;
-         return -1;
-      case 5:
-         if ((active1 & 0x160L) != 0L)
-            return 50;
-         if ((active1 & 0x29aL) != 0L)
-         {
-            jjmatchedKind = 79;
-            jjmatchedPos = 5;
-            return 50;
-         }
-         return -1;
-      case 6:
-         if ((active1 & 0x292L) != 0L)
-         {
-            jjmatchedKind = 79;
-            jjmatchedPos = 6;
-            return 50;
-         }
-         if ((active1 & 0x8L) != 0L)
-            return 50;
-         return -1;
-      case 7:
-         if ((active1 & 0x2L) != 0L)
-            return 50;
-         if ((active1 & 0x290L) != 0L)
-         {
-            jjmatchedKind = 79;
-            jjmatchedPos = 7;
-            return 50;
-         }
-         return -1;
-      case 8:
-         if ((active1 & 0x200L) != 0L)
-         {
-            jjmatchedKind = 79;
-            jjmatchedPos = 8;
-            return 50;
-         }
-         if ((active1 & 0x90L) != 0L)
-            return 50;
-         return -1;
-      case 9:
-         if ((active1 & 0x200L) != 0L)
-         {
-            jjmatchedKind = 79;
-            jjmatchedPos = 9;
-            return 50;
-         }
-         return -1;
-      case 10:
-         if ((active1 & 0x200L) != 0L)
-         {
-            jjmatchedKind = 79;
-            jjmatchedPos = 10;
-            return 50;
-         }
-         return -1;
-      default :
-         return -1;
-   }
-}
+   {
+      case 0:
+         if ((active1 & 0x3feL) != 0L)
+         {
+            jjmatchedKind = 79;
+            return 50;
+         }
+         return -1;
+      case 1:
+         if ((active1 & 0x3feL) != 0L)
+         {
+            jjmatchedKind = 79;
+            jjmatchedPos = 1;
+            return 50;
+         }
+         return -1;
+      case 2:
+         if ((active1 & 0x3feL) != 0L)
+         {
+            jjmatchedKind = 79;
+            jjmatchedPos = 2;
+            return 50;
+         }
+         return -1;
+      case 3:
+         if ((active1 & 0x3feL) != 0L)
+         {
+            jjmatchedKind = 79;
+            jjmatchedPos = 3;
+            return 50;
+         }
+         return -1;
+      case 4:
+         if ((active1 & 0x3faL) != 0L)
+         {
+            jjmatchedKind = 79;
+            jjmatchedPos = 4;
+            return 50;
+         }
+         if ((active1 & 0x4L) != 0L)
+            return 50;
+         return -1;
+      case 5:
+         if ((active1 & 0x160L) != 0L)
+            return 50;
+         if ((active1 & 0x29aL) != 0L)
+         {
+            jjmatchedKind = 79;
+            jjmatchedPos = 5;
+            return 50;
+         }
+         return -1;
+      case 6:
+         if ((active1 & 0x292L) != 0L)
+         {
+            jjmatchedKind = 79;
+            jjmatchedPos = 6;
+            return 50;
+         }
+         if ((active1 & 0x8L) != 0L)
+            return 50;
+         return -1;
+      case 7:
+         if ((active1 & 0x2L) != 0L)
+            return 50;
+         if ((active1 & 0x290L) != 0L)
+         {
+            jjmatchedKind = 79;
+            jjmatchedPos = 7;
+            return 50;
+         }
+         return -1;
+      case 8:
+         if ((active1 & 0x200L) != 0L)
+         {
+            jjmatchedKind = 79;
+            jjmatchedPos = 8;
+            return 50;
+         }
+         if ((active1 & 0x90L) != 0L)
+            return 50;
+         return -1;
+      case 9:
+         if ((active1 & 0x200L) != 0L)
+         {
+            jjmatchedKind = 79;
+            jjmatchedPos = 9;
+            return 50;
+         }
+         return -1;
+      case 10:
+         if ((active1 & 0x200L) != 0L)
+         {
+            jjmatchedKind = 79;
+            jjmatchedPos = 10;
+            return 50;
+         }
+         return -1;
+      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 33:
-         return jjStopAtPos(0, 84);
-      case 41:
-         return jjStopAtPos(0, 85);
-      case 45:
-         return jjMoveStringLiteralDfa1_3(0x80000L);
-      case 97:
-         return jjMoveStringLiteralDfa1_3(0x2L);
-      case 102:
-         return jjMoveStringLiteralDfa1_3(0x4L);
-      case 110:
-         return jjMoveStringLiteralDfa1_3(0x100L);
-      case 112:
-         return jjMoveStringLiteralDfa1_3(0x38L);
-      case 115:
-         return jjMoveStringLiteralDfa1_3(0x240L);
-      case 116:
-         return jjMoveStringLiteralDfa1_3(0x80L);
-      default :
-         return jjMoveNfa_3(0, 0);
-   }
-}
-private final int jjMoveStringLiteralDfa1_3(long active1)
-{
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_3(0, 0L, active1);
-      return 1;
-   }
-   switch(curChar)
-   {
-      case 62:
-         if ((active1 & 0x80000L) != 0L)
-            return jjStopAtPos(1, 83);
-         break;
-      case 97:
-         return jjMoveStringLiteralDfa2_3(active1, 0x100L);
-      case 98:
-         return jjMoveStringLiteralDfa2_3(active1, 0x2L);
-      case 105:
-         return jjMoveStringLiteralDfa2_3(active1, 0x4L);
-      case 114:
-         return jjMoveStringLiteralDfa2_3(active1, 0x98L);
-      case 116:
-         return jjMoveStringLiteralDfa2_3(active1, 0x40L);
-      case 117:
-         return jjMoveStringLiteralDfa2_3(active1, 0x20L);
-      case 121:
-         return jjMoveStringLiteralDfa2_3(active1, 0x200L);
-      default :
-         break;
-   }
-   return jjStartNfa_3(0, 0L, active1);
-}
-private final int jjMoveStringLiteralDfa2_3(long old1, long active1)
-{
-   if (((active1 &= old1)) == 0L)
-      return jjStartNfa_3(0, 0L, old1); 
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_3(1, 0L, active1);
-      return 2;
-   }
-   switch(curChar)
-   {
-      case 97:
-         return jjMoveStringLiteralDfa3_3(active1, 0xc0L);
-      case 98:
-         return jjMoveStringLiteralDfa3_3(active1, 0x20L);
-      case 105:
-         return jjMoveStringLiteralDfa3_3(active1, 0x8L);
-      case 110:
-         return jjMoveStringLiteralDfa3_3(active1, 0x204L);
-      case 111:
-         return jjMoveStringLiteralDfa3_3(active1, 0x10L);
-      case 115:
-         return jjMoveStringLiteralDfa3_3(active1, 0x2L);
-      case 116:
-         return jjMoveStringLiteralDfa3_3(active1, 0x100L);
-      default :
-         break;
-   }
-   return jjStartNfa_3(1, 0L, active1);
-}
-private final int jjMoveStringLiteralDfa3_3(long old1, long active1)
-{
-   if (((active1 &= old1)) == 0L)
-      return jjStartNfa_3(1, 0L, old1); 
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_3(2, 0L, active1);
-      return 3;
-   }
-   switch(curChar)
-   {
-      case 97:
-         return jjMoveStringLiteralDfa4_3(active1, 0x4L);
-      case 99:
-         return jjMoveStringLiteralDfa4_3(active1, 0x200L);
-      case 105:
-         return jjMoveStringLiteralDfa4_3(active1, 0x100L);
-      case 108:
-         return jjMoveStringLiteralDfa4_3(active1, 0x20L);
-      case 110:
-         return jjMoveStringLiteralDfa4_3(active1, 0x80L);
-      case 116:
-         return jjMoveStringLiteralDfa4_3(active1, 0x52L);
-      case 118:
-         return jjMoveStringLiteralDfa4_3(active1, 0x8L);
-      default :
-         break;
-   }
-   return jjStartNfa_3(2, 0L, active1);
-}
-private final int jjMoveStringLiteralDfa4_3(long old1, long active1)
-{
-   if (((active1 &= old1)) == 0L)
-      return jjStartNfa_3(2, 0L, old1); 
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_3(3, 0L, active1);
-      return 4;
-   }
-   switch(curChar)
-   {
-      case 97:
-         return jjMoveStringLiteralDfa5_3(active1, 0x8L);
-      case 101:
-         return jjMoveStringLiteralDfa5_3(active1, 0x10L);
-      case 104:
-         return jjMoveStringLiteralDfa5_3(active1, 0x200L);
-      case 105:
-         return jjMoveStringLiteralDfa5_3(active1, 0x60L);
-      case 108:
-         if ((active1 & 0x4L) != 0L)
-            return jjStartNfaWithStates_3(4, 66, 50);
-         break;
-      case 114:
-         return jjMoveStringLiteralDfa5_3(active1, 0x2L);
-      case 115:
-         return jjMoveStringLiteralDfa5_3(active1, 0x80L);
-      case 118:
-         return jjMoveStringLiteralDfa5_3(active1, 0x100L);
-      default :
-         break;
-   }
-   return jjStartNfa_3(3, 0L, active1);
-}
-private final int jjMoveStringLiteralDfa5_3(long old1, long active1)
-{
-   if (((active1 &= old1)) == 0L)
-      return jjStartNfa_3(3, 0L, old1); 
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_3(4, 0L, active1);
-      return 5;
-   }
-   switch(curChar)
-   {
-      case 97:
-         return jjMoveStringLiteralDfa6_3(active1, 0x2L);
-      case 99:
-         if ((active1 & 0x20L) != 0L)
-            return jjStartNfaWithStates_3(5, 69, 50);
-         else if ((active1 & 0x40L) != 0L)
-            return jjStartNfaWithStates_3(5, 70, 50);
-         return jjMoveStringLiteralDfa6_3(active1, 0x10L);
-      case 101:
-         if ((active1 & 0x100L) != 0L)
-            return jjStartNfaWithStates_3(5, 72, 50);
-         break;
-      case 105:
-         return jjMoveStringLiteralDfa6_3(active1, 0x80L);
-      case 114:
-         return jjMoveStringLiteralDfa6_3(active1, 0x200L);
-      case 116:
-         return jjMoveStringLiteralDfa6_3(active1, 0x8L);
-      default :
-         break;
-   }
-   return jjStartNfa_3(4, 0L, active1);
-}
-private final int jjMoveStringLiteralDfa6_3(long old1, long active1)
-{
-   if (((active1 &= old1)) == 0L)
-      return jjStartNfa_3(4, 0L, old1); 
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_3(5, 0L, active1);
-      return 6;
-   }
-   switch(curChar)
-   {
-      case 99:
-         return jjMoveStringLiteralDfa7_3(active1, 0x2L);
-      case 101:
-         if ((active1 & 0x8L) != 0L)
-            return jjStartNfaWithStates_3(6, 67, 50);
-         return jjMoveStringLiteralDfa7_3(active1, 0x80L);
-      case 111:
-         return jjMoveStringLiteralDfa7_3(active1, 0x200L);
-      case 116:
-         return jjMoveStringLiteralDfa7_3(active1, 0x10L);
-      default :
-         break;
-   }
-   return jjStartNfa_3(5, 0L, active1);
-}
-private final int jjMoveStringLiteralDfa7_3(long old1, long active1)
-{
-   if (((active1 &= old1)) == 0L)
-      return jjStartNfa_3(5, 0L, old1); 
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_3(6, 0L, active1);
-      return 7;
-   }
-   switch(curChar)
-   {
-      case 101:
-         return jjMoveStringLiteralDfa8_3(active1, 0x10L);
-      case 110:
-         return jjMoveStringLiteralDfa8_3(active1, 0x280L);
-      case 116:
-         if ((active1 & 0x2L) != 0L)
-            return jjStartNfaWithStates_3(7, 65, 50);
-         break;
-      default :
-         break;
-   }
-   return jjStartNfa_3(6, 0L, active1);
-}
-private final int jjMoveStringLiteralDfa8_3(long old1, long active1)
-{
-   if (((active1 &= old1)) == 0L)
-      return jjStartNfa_3(6, 0L, old1); 
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_3(7, 0L, active1);
-      return 8;
-   }
-   switch(curChar)
-   {
-      case 100:
-         if ((active1 & 0x10L) != 0L)
-            return jjStartNfaWithStates_3(8, 68, 50);
-         break;
-      case 105:
-         return jjMoveStringLiteralDfa9_3(active1, 0x200L);
-      case 116:
-         if ((active1 & 0x80L) != 0L)
-            return jjStartNfaWithStates_3(8, 71, 50);
-         break;
-      default :
-         break;
-   }
-   return jjStartNfa_3(7, 0L, active1);
-}
-private final int jjMoveStringLiteralDfa9_3(long old1, long active1)
-{
-   if (((active1 &= old1)) == 0L)
-      return jjStartNfa_3(7, 0L, old1); 
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_3(8, 0L, active1);
-      return 9;
-   }
-   switch(curChar)
-   {
-      case 122:
-         return jjMoveStringLiteralDfa10_3(active1, 0x200L);
-      default :
-         break;
-   }
-   return jjStartNfa_3(8, 0L, active1);
-}
-private final int jjMoveStringLiteralDfa10_3(long old1, long active1)
-{
-   if (((active1 &= old1)) == 0L)
-      return jjStartNfa_3(8, 0L, old1); 
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_3(9, 0L, active1);
-      return 10;
-   }
-   switch(curChar)
-   {
-      case 101:
-         return jjMoveStringLiteralDfa11_3(active1, 0x200L);
-      default :
-         break;
-   }
-   return jjStartNfa_3(9, 0L, active1);
-}
-private final int jjMoveStringLiteralDfa11_3(long old1, long active1)
-{
-   if (((active1 &= old1)) == 0L)
-      return jjStartNfa_3(9, 0L, old1); 
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_3(10, 0L, active1);
-      return 11;
-   }
-   switch(curChar)
-   {
-      case 100:
-         if ((active1 & 0x200L) != 0L)
-            return jjStartNfaWithStates_3(11, 73, 50);
-         break;
-      default :
-         break;
-   }
-   return jjStartNfa_3(10, 0L, active1);
-}
-private final int jjMoveNfa_3(int startState, int curPos)
-{
-   int[] nextStates;
-   int startsAt = 0;
-   jjnewStateCnt = 50;
-   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 ((0x3ff041000000000L & l) != 0L)
-                  {
-                     if (kind > 79)
-                        kind = 79;
-                     jjCheckNAddStates(83, 87);
-                  }
-                  if (curChar == 36)
-                     jjAddStates(88, 89);
-                  break;
-               case 50:
-                  if ((0x3ff041000000000L & l) != 0L)
-                  {
-                     if (kind > 79)
-                        kind = 79;
-                     jjCheckNAdd(49);
-                  }
-                  else if (curChar == 46)
-                     jjCheckNAdd(43);
-                  if ((0x3ff041000000000L & l) != 0L)
-                     jjCheckNAddTwoStates(46, 48);
-                  if ((0x3ff041000000000L & l) != 0L)
-                     jjCheckNAddTwoStates(41, 42);
-                  break;
-               case 1:
-                  if ((0x3ff041000000000L & l) == 0L)
-                     break;
-                  if (kind > 78)
-                     kind = 78;
-                  jjCheckNAddTwoStates(1, 2);
-                  break;
-               case 2:
-                  if (curChar == 46)
-                     jjCheckNAdd(3);
-                  break;
-               case 3:
-                  if ((0x3ff041000000000L & l) == 0L)
-                     break;
-                  if (kind > 78)
-                     kind = 78;
-                  jjCheckNAddTwoStates(2, 3);
-                  break;
-               case 4:
-                  if (curChar == 36)
-                     jjAddStates(88, 89);
-                  break;
-               case 7:
-                  if ((0x3ff041000000000L & l) != 0L)
-                     jjCheckNAddStates(12, 14);
-                  break;
-               case 8:
-                  if (curChar == 46)
-                     jjCheckNAdd(9);
-                  break;
-               case 9:
-                  if ((0x3ff041000000000L & l) != 0L)
-                     jjCheckNAddStates(15, 17);
-                  break;
-               case 11:
-                  if ((0x3ff041000000000L & l) != 0L)
-                     jjCheckNAddStates(18, 21);
-                  break;
-               case 12:
-                  if ((0x3ff041000000000L & l) != 0L)
-                     jjCheckNAddTwoStates(12, 10);
-                  break;
-               case 13:
-                  if ((0x3ff041000000000L & l) != 0L)
-                     jjCheckNAddTwoStates(13, 14);
-                  break;
-               case 14:
-                  if (curChar == 46)
-                     jjCheckNAdd(15);
-                  break;
-               case 15:
-                  if ((0x3ff041000000000L & l) != 0L)
-                     jjCheckNAddStates(22, 25);
-                  break;
-               case 29:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjCheckNAddStates(26, 28);
-                  break;
-               case 30:
-                  if (curChar == 46)
-                     jjCheckNAdd(31);
-                  break;
-               case 31:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjCheckNAddStates(29, 31);
-                  break;
-               case 40:
-                  if ((0x3ff041000000000L & l) == 0L)
-                     break;
-                  if (kind > 79)
-                     kind = 79;
-                  jjCheckNAddStates(83, 87);
-                  break;
-               case 41:
-                  if ((0x3ff041000000000L & l) != 0L)
-                     jjCheckNAddTwoStates(41, 42);
-                  break;
-               case 42:
-                  if (curChar == 46)
-                     jjCheckNAdd(43);
-                  break;
-               case 43:
-                  if ((0x3ff041000000000L & l) == 0L)
-                     break;
-                  if (kind > 76)
-                     kind = 76;
-                  jjCheckNAddStates(90, 92);
-                  break;
-               case 46:
-                  if ((0x3ff041000000000L & l) != 0L)
-                     jjCheckNAddTwoStates(46, 48);
-                  break;
-               case 49:
-                  if ((0x3ff041000000000L & l) == 0L)
-                     break;
-                  if (kind > 79)
-                     kind = 79;
-                  jjCheckNAdd(49);
-                  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 > 79)
-                        kind = 79;
-                     jjCheckNAddStates(83, 87);
-                  }
-                  else if (curChar == 64)
-                     jjCheckNAdd(1);
-                  break;
-               case 50:
-                  if ((0x7fffffe87fffffeL & l) != 0L)
-                  {
-                     if (kind > 79)
-                        kind = 79;
-                     jjCheckNAdd(49);
-                  }
-                  else if (curChar == 91)
-                     jjstateSet[jjnewStateCnt++] = 47;
-                  if ((0x7fffffe87fffffeL & l) != 0L)
-                     jjCheckNAddTwoStates(46, 48);
-                  if ((0x7fffffe87fffffeL & l) != 0L)
-                     jjCheckNAddTwoStates(41, 42);
-                  break;
-               case 1:
-                  if ((0x7fffffe87fffffeL & l) == 0L)
-                     break;
-                  if (kind > 78)
-                     kind = 78;
-                  jjCheckNAddTwoStates(1, 2);
-                  break;
-               case 3:
-                  if ((0x7fffffe87fffffeL & l) == 0L)
-                     break;
-                  if (kind > 78)
-                     kind = 78;
-                  jjCheckNAddTwoStates(2, 3);
-                  break;
-               case 5:
-                  if (curChar == 123)
-                     jjAddStates(55, 56);
-                  break;
-               case 6:
-                  if (curChar == 64)
-                     jjCheckNAdd(7);
-                  break;
-               case 7:
-                  if ((0x7fffffe87fffffeL & l) != 0L)
-                     jjCheckNAddStates(12, 14);
-                  break;
-               case 9:
-                  if ((0x7fffffe87fffffeL & l) != 0L)
-                     jjCheckNAddStates(15, 17);
-                  break;
-               case 10:
-                  if (curChar == 125 && kind > 74)
-                     kind = 74;
-                  break;
-               case 11:
-                  if ((0x7fffffe87fffffeL & l) != 0L)
-                     jjCheckNAddStates(18, 21);
-                  break;
-               case 12:
-                  if ((0x7fffffe87fffffeL & l) != 0L)
-                     jjCheckNAddTwoStates(12, 10);
-                  break;
-               case 13:
-                  if ((0x7fffffe87fffffeL & l) != 0L)
-                     jjCheckNAddTwoStates(13, 14);
-                  break;
-               case 15:
-                  if ((0x7fffffe87fffffeL & l) != 0L)
-                     jjCheckNAddStates(22, 25);
-                  break;
-               case 16:
-                  if (curChar == 93)
-                     jjCheckNAddTwoStates(17, 10);
-                  break;
-               case 17:
-                  if (curChar == 91)
-                     jjstateSet[jjnewStateCnt++] = 16;
-                  break;
-               case 18:
-                  if (curChar == 102)
-                     jjstateSet[jjnewStateCnt++] = 5;
-                  break;
-               case 19:
-                  if (curChar == 111)
-                     jjstateSet[jjnewStateCnt++] = 18;
-                  break;
-               case 20:
-                  if (curChar == 101)
-                     jjstateSet[jjnewStateCnt++] = 19;
-                  break;
-               case 21:
-                  if (curChar == 99)
-                     jjstateSet[jjnewStateCnt++] = 20;
-                  break;
-               case 22:
-                  if (curChar == 110)
-                     jjstateSet[jjnewStateCnt++] = 21;
-                  break;
-               case 23:
-                  if (curChar == 97)
-                     jjstateSet[jjnewStateCnt++] = 22;
-                  break;
-               case 24:
-                  if (curChar == 116)
-                     jjstateSet[jjnewStateCnt++] = 23;
-                  break;
-               case 25:
-                  if (curChar == 115)
-                     jjstateSet[jjnewStateCnt++] = 24;
-                  break;
-               case 26:
-                  if (curChar == 110)
-                     jjstateSet[jjnewStateCnt++] = 25;
-                  break;
-               case 27:
-                  if (curChar == 105)
-                     jjstateSet[jjnewStateCnt++] = 26;
-                  break;
-               case 28:
-                  if (curChar == 123)
-                     jjCheckNAdd(29);
-                  break;
-               case 29:
-                  if ((0x7fffffe87fffffeL & l) != 0L)
-                     jjCheckNAddStates(26, 28);
-                  break;
-               case 31:
-                  if ((0x7fffffe87fffffeL & l) != 0L)
-                     jjCheckNAddStates(29, 31);
-                  break;
-               case 32:
-                  if (curChar == 125 && kind > 75)
-                     kind = 75;
-                  break;
-               case 33:
-                  if (curChar == 102)
-                     jjstateSet[jjnewStateCnt++] = 28;
-                  break;
-               case 34:
-                  if (curChar == 101)
-                     jjstateSet[jjnewStateCnt++] = 33;
-                  break;
-               case 35:
-                  if (curChar == 100)
-                     jjstateSet[jjnewStateCnt++] = 34;
-                  break;
-               case 36:
-                  if (curChar == 101)
-                     jjstateSet[jjnewStateCnt++] = 35;
-                  break;
-               case 37:
-                  if (curChar == 112)
-                     jjstateSet[jjnewStateCnt++] = 36;
-                  break;
-               case 38:
-                  if (curChar == 121)
-                     jjstateSet[jjnewStateCnt++] = 37;
-                  break;
-               case 39:
-                  if (curChar == 116)
-                     jjstateSet[jjnewStateCnt++] = 38;
-                  break;
-               case 40:
-                  if ((0x7fffffe87fffffeL & l) == 0L)
-                     break;
-                  if (kind > 79)
-                     kind = 79;
-                  jjCheckNAddStates(83, 87);
-                  break;
-               case 41:
-                  if ((0x7fffffe87fffffeL & l) != 0L)
-                     jjCheckNAddTwoStates(41, 42);
-                  break;
-               case 43:
-                  if ((0x7fffffe87fffffeL & l) == 0L)
-                     break;
-                  if (kind > 76)
-                     kind = 76;
-                  jjCheckNAddStates(90, 92);
-                  break;
-               case 44:
-                  if (curChar != 93)
-                     break;
-                  if (kind > 76)
-                     kind = 76;
-                  jjCheckNAdd(45);
-                  break;
-               case 45:
-                  if (curChar == 91)
-                     jjstateSet[jjnewStateCnt++] = 44;
-                  break;
-               case 46:
-                  if ((0x7fffffe87fffffeL & l) != 0L)
-                     jjCheckNAddTwoStates(46, 48);
-                  break;
-               case 47:
-                  if (curChar != 93)
-                     break;
-                  if (kind > 77)
-                     kind = 77;
-                  jjCheckNAdd(48);
-                  break;
-               case 48:
-                  if (curChar == 91)
-                     jjstateSet[jjnewStateCnt++] = 47;
-                  break;
-               case 49:
-                  if ((0x7fffffe87fffffeL & l) == 0L)
-                     break;
-                  if (kind > 79)
-                     kind = 79;
-                  jjCheckNAdd(49);
-                  break;
-               default : break;
-            }
-         } while(i != startsAt);
-      }
-      else
-      {
-         int i2 = (curChar & 0xff) >> 6;
-         long l2 = 1L << (curChar & 077);
-         MatchLoop: do
-         {
-            switch(jjstateSet[--i])
-            {
-               default : break;
-            }
-         } while(i != startsAt);
-      }
-      if (kind != 0x7fffffff)
-      {
-         jjmatchedKind = kind;
-         jjmatchedPos = curPos;
-         kind = 0x7fffffff;
-      }
-      ++curPos;
-      if ((i = jjnewStateCnt) == (startsAt = 50 - (jjnewStateCnt = startsAt)))
-         return curPos;
-      try { curChar = input_stream.readChar(); }
-      catch(java.io.IOException e) { return curPos; }
-   }
-}
+{
+   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 33:
+         return jjStopAtPos(0, 84);
+      case 41:
+         return jjStopAtPos(0, 85);
+      case 45:
+         return jjMoveStringLiteralDfa1_3(0x80000L);
+      case 97:
+         return jjMoveStringLiteralDfa1_3(0x2L);
+      case 102:
+         return jjMoveStringLiteralDfa1_3(0x4L);
+      case 110:
+         return jjMoveStringLiteralDfa1_3(0x100L);
+      case 112:
+         return jjMoveStringLiteralDfa1_3(0x38L);
+      case 115:
+         return jjMoveStringLiteralDfa1_3(0x240L);
+      case 116:
+         return jjMoveStringLiteralDfa1_3(0x80L);
+      default :
+         return jjMoveNfa_3(0, 0);
+   }
+}
+private final int jjMoveStringLiteralDfa1_3(long active1)
+{
+   try { curChar = input_stream.readChar(); }
+   catch(java.io.IOException e) {
+      jjStopStringLiteralDfa_3(0, 0L, active1);
+      return 1;
+   }
+   switch(curChar)
+   {
+      case 62:
+         if ((active1 & 0x80000L) != 0L)
+            return jjStopAtPos(1, 83);
+         break;
+      case 97:
+         return jjMoveStringLiteralDfa2_3(active1, 0x100L);
+      case 98:
+         return jjMoveStringLiteralDfa2_3(active1, 0x2L);
+      case 105:
+         return jjMoveStringLiteralDfa2_3(active1, 0x4L);
+      case 114:
+         return jjMoveStringLiteralDfa2_3(active1, 0x98L);
+      case 116:
+         return jjMoveStringLiteralDfa2_3(active1, 0x40L);
+      case 117:
+         return jjMoveStringLiteralDfa2_3(active1, 0x20L);
+      case 121:
+         return jjMoveStringLiteralDfa2_3(active1, 0x200L);
+      default :
+         break;
+   }
+   return jjStartNfa_3(0, 0L, active1);
+}
+private final int jjMoveStringLiteralDfa2_3(long old1, long active1)
+{
+   if (((active1 &= old1)) == 0L)
+      return jjStartNfa_3(0, 0L, old1);
+   try { curChar = input_stream.readChar(); }
+   catch(java.io.IOException e) {
+      jjStopStringLiteralDfa_3(1, 0L, active1);
+      return 2;
+   }
+   switch(curChar)
+   {
+      case 97:
+         return jjMoveStringLiteralDfa3_3(active1, 0xc0L);
+      case 98:
+         return jjMoveStringLiteralDfa3_3(active1, 0x20L);
+      case 105:
+         return jjMoveStringLiteralDfa3_3(active1, 0x8L);
+      case 110:
+         return jjMoveStringLiteralDfa3_3(active1, 0x204L);
+      case 111:
+         return jjMoveStringLiteralDfa3_3(active1, 0x10L);
+      case 115:
+         return jjMoveStringLiteralDfa3_3(active1, 0x2L);
+      case 116:
+         return jjMoveStringLiteralDfa3_3(active1, 0x100L);
+      default :
+         break;
+   }
+   return jjStartNfa_3(1, 0L, active1);
+}
+private final int jjMoveStringLiteralDfa3_3(long old1, long active1)
+{
+   if (((active1 &= old1)) == 0L)
+      return jjStartNfa_3(1, 0L, old1);
+   try { curChar = input_stream.readChar(); }
+   catch(java.io.IOException e) {
+      jjStopStringLiteralDfa_3(2, 0L, active1);
+      return 3;
+   }
+   switch(curChar)
+   {
+      case 97:
+         return jjMoveStringLiteralDfa4_3(active1, 0x4L);
+      case 99:
+         return jjMoveStringLiteralDfa4_3(active1, 0x200L);
+      case 105:
+         return jjMoveStringLiteralDfa4_3(active1, 0x100L);
+      case 108:
+         return jjMoveStringLiteralDfa4_3(active1, 0x20L);
+      case 110:
+         return jjMoveStringLiteralDfa4_3(active1, 0x80L);
+      case 116:
+         return jjMoveStringLiteralDfa4_3(active1, 0x52L);
+      case 118:
+         return jjMoveStringLiteralDfa4_3(active1, 0x8L);
+      default :
+         break;
+   }
+   return jjStartNfa_3(2, 0L, active1);
+}
+private final int jjMoveStringLiteralDfa4_3(long old1, long active1)
+{
+   if (((active1 &= old1)) == 0L)
+      return jjStartNfa_3(2, 0L, old1);
+   try { curChar = input_stream.readChar(); }
+   catch(java.io.IOException e) {
+      jjStopStringLiteralDfa_3(3, 0L, active1);
+      return 4;
+   }
+   switch(curChar)
+   {
+      case 97:
+         return jjMoveStringLiteralDfa5_3(active1, 0x8L);
+      case 101:
+         return jjMoveStringLiteralDfa5_3(active1, 0x10L);
+      case 104:
+         return jjMoveStringLiteralDfa5_3(active1, 0x200L);
+      case 105:
+         return jjMoveStringLiteralDfa5_3(active1, 0x60L);
+      case 108:
+         if ((active1 & 0x4L) != 0L)
+            return jjStartNfaWithStates_3(4, 66, 50);
+         break;
+      case 114:
+         return jjMoveStringLiteralDfa5_3(active1, 0x2L);
+      case 115:
+         return jjMoveStringLiteralDfa5_3(active1, 0x80L);
+      case 118:
+         return jjMoveStringLiteralDfa5_3(active1, 0x100L);
+      default :
+         break;
+   }
+   return jjStartNfa_3(3, 0L, active1);
+}
+private final int jjMoveStringLiteralDfa5_3(long old1, long active1)
+{
+   if (((active1 &= old1)) == 0L)
+      return jjStartNfa_3(3, 0L, old1);
+   try { curChar = input_stream.readChar(); }
+   catch(java.io.IOException e) {
+      jjStopStringLiteralDfa_3(4, 0L, active1);
+      return 5;
+   }
+   switch(curChar)
+   {
+      case 97:
+         return jjMoveStringLiteralDfa6_3(active1, 0x2L);
+      case 99:
+         if ((active1 & 0x20L) != 0L)
+            return jjStartNfaWithStates_3(5, 69, 50);
+         else if ((active1 & 0x40L) != 0L)
+            return jjStartNfaWithStates_3(5, 70, 50);
+         return jjMoveStringLiteralDfa6_3(active1, 0x10L);
+      case 101:
+         if ((active1 & 0x100L) != 0L)
+            return jjStartNfaWithStates_3(5, 72, 50);
+         break;
+      case 105:
+         return jjMoveStringLiteralDfa6_3(active1, 0x80L);
+      case 114:
+         return jjMoveStringLiteralDfa6_3(active1, 0x200L);
+      case 116:
+         return jjMoveStringLiteralDfa6_3(active1, 0x8L);
+      default :
+         break;
+   }
+   return jjStartNfa_3(4, 0L, active1);
+}
+private final int jjMoveStringLiteralDfa6_3(long old1, long active1)
+{
+   if (((active1 &= old1)) == 0L)
+      return jjStartNfa_3(4, 0L, old1);
+   try { curChar = input_stream.readChar(); }
+   catch(java.io.IOException e) {
+      jjStopStringLiteralDfa_3(5, 0L, active1);
+      return 6;
+   }
+   switch(curChar)
+   {
+      case 99:
+         return jjMoveStringLiteralDfa7_3(active1, 0x2L);
+      case 101:
+         if ((active1 & 0x8L) != 0L)
+            return jjStartNfaWithStates_3(6, 67, 50);
+         return jjMoveStringLiteralDfa7_3(active1, 0x80L);
+      case 111:
+         return jjMoveStringLiteralDfa7_3(active1, 0x200L);
+      case 116:
+         return jjMoveStringLiteralDfa7_3(active1, 0x10L);
+      default :
+         break;
+   }
+   return jjStartNfa_3(5, 0L, active1);
+}
+private final int jjMoveStringLiteralDfa7_3(long old1, long active1)
+{
+   if (((active1 &= old1)) == 0L)
+      return jjStartNfa_3(5, 0L, old1);
+   try { curChar = input_stream.readChar(); }
+   catch(java.io.IOException e) {
+      jjStopStringLiteralDfa_3(6, 0L, active1);
+      return 7;
+   }
+   switch(curChar)
+   {
+      case 101:
+         return jjMoveStringLiteralDfa8_3(active1, 0x10L);
+      case 110:
+         return jjMoveStringLiteralDfa8_3(active1, 0x280L);
+      case 116:
+         if ((active1 & 0x2L) != 0L)
+            return jjStartNfaWithStates_3(7, 65, 50);
+         break;
+      default :
+         break;
+   }
+   return jjStartNfa_3(6, 0L, active1);
+}
+private final int jjMoveStringLiteralDfa8_3(long old1, long active1)
+{
+   if (((active1 &= old1)) == 0L)
+      return jjStartNfa_3(6, 0L, old1);
+   try { curChar = input_stream.readChar(); }
+   catch(java.io.IOException e) {
+      jjStopStringLiteralDfa_3(7, 0L, active1);
+      return 8;
+   }
+   switch(curChar)
+   {
+      case 100:
+         if ((active1 & 0x10L) != 0L)
+            return jjStartNfaWithStates_3(8, 68, 50);
+         break;
+      case 105:
+         return jjMoveStringLiteralDfa9_3(active1, 0x200L);
+      case 116:
+         if ((active1 & 0x80L) != 0L)
+            return jjStartNfaWithStates_3(8, 71, 50);
+         break;
+      default :
+         break;
+   }
+   return jjStartNfa_3(7, 0L, active1);
+}
+private final int jjMoveStringLiteralDfa9_3(long old1, long active1)
+{
+   if (((active1 &= old1)) == 0L)
+      return jjStartNfa_3(7, 0L, old1);
+   try { curChar = input_stream.readChar(); }
+   catch(java.io.IOException e) {
+      jjStopStringLiteralDfa_3(8, 0L, active1);
+      return 9;
+   }
+   switch(curChar)
+   {
+      case 122:
+         return jjMoveStringLiteralDfa10_3(active1, 0x200L);
+      default :
+         break;
+   }
+   return jjStartNfa_3(8, 0L, active1);
+}
+private final int jjMoveStringLiteralDfa10_3(long old1, long active1)
+{
+   if (((active1 &= old1)) == 0L)
+      return jjStartNfa_3(8, 0L, old1);
+   try { curChar = input_stream.readChar(); }
+   catch(java.io.IOException e) {
+      jjStopStringLiteralDfa_3(9, 0L, active1);
+      return 10;
+   }
+   switch(curChar)
+   {
+      case 101:
+         return jjMoveStringLiteralDfa11_3(active1, 0x200L);
+      default :
+         break;
+   }
+   return jjStartNfa_3(9, 0L, active1);
+}
+private final int jjMoveStringLiteralDfa11_3(long old1, long active1)
+{
+   if (((active1 &= old1)) == 0L)
+      return jjStartNfa_3(9, 0L, old1);
+   try { curChar = input_stream.readChar(); }
+   catch(java.io.IOException e) {
+      jjStopStringLiteralDfa_3(10, 0L, active1);
+      return 11;
+   }
+   switch(curChar)
+   {
+      case 100:
+         if ((active1 & 0x200L) != 0L)
+            return jjStartNfaWithStates_3(11, 73, 50);
+         break;
+      default :
+         break;
+   }
+   return jjStartNfa_3(10, 0L, active1);
+}
+private final int jjMoveNfa_3(int startState, int curPos)
+{
+   int[] nextStates;
+   int startsAt = 0;
+   jjnewStateCnt = 50;
+   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 ((0x3ff041000000000L & l) != 0L)
+                  {
+                     if (kind > 79)
+                        kind = 79;
+                     jjCheckNAddStates(95, 99);
+                  }
+                  if (curChar == 36)
+                     jjAddStates(100, 101);
+                  break;
+               case 50:
+                  if ((0x3ff041000000000L & l) != 0L)
+                  {
+                     if (kind > 79)
+                        kind = 79;
+                     jjCheckNAdd(49);
+                  }
+                  else if (curChar == 46)
+                     jjCheckNAdd(43);
+                  if ((0x3ff041000000000L & l) != 0L)
+                     jjCheckNAddTwoStates(46, 48);
+                  if ((0x3ff041000000000L & l) != 0L)
+                     jjCheckNAddTwoStates(41, 42);
+                  break;
+               case 1:
+                  if ((0x3ff041000000000L & l) == 0L)
+                     break;
+                  if (kind > 78)
+                     kind = 78;
+                  jjCheckNAddTwoStates(1, 2);
+                  break;
+               case 2:
+                  if (curChar == 46)
+                     jjCheckNAdd(3);
+                  break;
+               case 3:
+                  if ((0x3ff041000000000L & l) == 0L)
+                     break;
+                  if (kind > 78)
+                     kind = 78;
+                  jjCheckNAddTwoStates(2, 3);
+                  break;
+               case 4:
+                  if (curChar == 36)
+                     jjAddStates(100, 101);
+                  break;
+               case 7:
+                  if ((0x3ff041000000000L & l) != 0L)
+                     jjCheckNAddStates(12, 14);
+                  break;
+               case 8:
+                  if (curChar == 46)
+                     jjCheckNAdd(9);
+                  break;
+               case 9:
+                  if ((0x3ff041000000000L & l) != 0L)
+                     jjCheckNAddStates(15, 17);
+                  break;
+               case 11:
+                  if ((0x3ff041000000000L & l) != 0L)
+                     jjCheckNAddStates(18, 21);
+                  break;
+               case 12:
+                  if ((0x3ff041000000000L & l) != 0L)
+                     jjCheckNAddTwoStates(12, 10);
+                  break;
+               case 13:
+                  if ((0x3ff041000000000L & l) != 0L)
+                     jjCheckNAddTwoStates(13, 14);
+                  break;
+               case 14:
+                  if (curChar == 46)
+                     jjCheckNAdd(15);
+                  break;
+               case 15:
+                  if ((0x3ff041000000000L & l) != 0L)
+                     jjCheckNAddStates(22, 25);
+                  break;
+               case 29:
+                  if ((0x3ff000000000000L & l) != 0L)
+                     jjCheckNAddStates(26, 28);
+                  break;
+               case 30:
+                  if (curChar == 46)
+                     jjCheckNAdd(31);
+                  break;
+               case 31:
+                  if ((0x3ff000000000000L & l) != 0L)
+                     jjCheckNAddStates(29, 31);
+                  break;
+               case 40:
+                  if ((0x3ff041000000000L & l) == 0L)
+                     break;
+                  if (kind > 79)
+                     kind = 79;
+                  jjCheckNAddStates(95, 99);
+                  break;
+               case 41:
+                  if ((0x3ff041000000000L & l) != 0L)
+                     jjCheckNAddTwoStates(41, 42);
+                  break;
+               case 42:
+                  if (curChar == 46)
+                     jjCheckNAdd(43);
+                  break;
+               case 43:
+                  if ((0x3ff041000000000L & l) == 0L)
+                     break;
+                  if (kind > 76)
+                     kind = 76;
+                  jjCheckNAddStates(32, 34);
+                  break;
+               case 46:
+                  if ((0x3ff041000000000L & l) != 0L)
+                     jjCheckNAddTwoStates(46, 48);
+                  break;
+               case 49:
+                  if ((0x3ff041000000000L & l) == 0L)
+                     break;
+                  if (kind > 79)
+                     kind = 79;
+                  jjCheckNAdd(49);
+                  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 > 79)
+                        kind = 79;
+                     jjCheckNAddStates(95, 99);
+                  }
+                  else if (curChar == 64)
+                     jjCheckNAdd(1);
+                  break;
+               case 50:
+                  if ((0x7fffffe87fffffeL & l) != 0L)
+                  {
+                     if (kind > 79)
+                        kind = 79;
+                     jjCheckNAdd(49);
+                  }
+                  else if (curChar == 91)
+                     jjstateSet[jjnewStateCnt++] = 47;
+                  if ((0x7fffffe87fffffeL & l) != 0L)
+                     jjCheckNAddTwoStates(46, 48);
+                  if ((0x7fffffe87fffffeL & l) != 0L)
+                     jjCheckNAddTwoStates(41, 42);
+                  break;
+               case 1:
+                  if ((0x7fffffe87fffffeL & l) == 0L)
+                     break;
+                  if (kind > 78)
+                     kind = 78;
+                  jjCheckNAddTwoStates(1, 2);
+                  break;
+               case 3:
+                  if ((0x7fffffe87fffffeL & l) == 0L)
+                     break;
+                  if (kind > 78)
+                     kind = 78;
+                  jjCheckNAddTwoStates(2, 3);
+                  break;
+               case 5:
+                  if (curChar == 123)
+                     jjAddStates(63, 64);
+                  break;
+               case 6:
+                  if (curChar == 64)
+                     jjCheckNAdd(7);
+                  break;
+               case 7:
+                  if ((0x7fffffe87fffffeL & l) != 0L)
+                     jjCheckNAddStates(12, 14);
+                  break;
+               case 9:
+                  if ((0x7fffffe87fffffeL & l) != 0L)
+                     jjCheckNAddStates(15, 17);
+                  break;
+               case 10:
+                  if (curChar == 125 && kind > 74)
+                     kind = 74;
+                  break;
+               case 11:
+                  if ((0x7fffffe87fffffeL & l) != 0L)
+                     jjCheckNAddStates(18, 21);
+                  break;
+               case 12:
+                  if ((0x7fffffe87fffffeL & l) != 0L)
+                     jjCheckNAddTwoStates(12, 10);
+                  break;
+               case 13:
+                  if ((0x7fffffe87fffffeL & l) != 0L)
+                     jjCheckNAddTwoStates(13, 14);
+                  break;
+               case 15:
+                  if ((0x7fffffe87fffffeL & l) != 0L)
+                     jjCheckNAddStates(22, 25);
+                  break;
+               case 16:
+                  if (curChar == 93)
+                     jjCheckNAddTwoStates(17, 10);
+                  break;
+               case 17:
+                  if (curChar == 91)
+                     jjstateSet[jjnewStateCnt++] = 16;
+                  break;
+               case 18:
+                  if (curChar == 102)
+                     jjstateSet[jjnewStateCnt++] = 5;
+                  break;
+               case 19:
+                  if (curChar == 111)
+                     jjstateSet[jjnewStateCnt++] = 18;
+                  break;
+               case 20:
+                  if (curChar == 101)
+                     jjstateSet[jjnewStateCnt++] = 19;
+                  break;
+               case 21:
+                  if (curChar == 99)
+                     jjstateSet[jjnewStateCnt++] = 20;
+                  break;
+               case 22:
+                  if (curChar == 110)
+                     jjstateSet[jjnewStateCnt++] = 21;
+                  break;
+               case 23:
+                  if (curChar == 97)
+                     jjstateSet[jjnewStateCnt++] = 22;
+                  break;
+               case 24:
+                  if (curChar == 116)
+                     jjstateSet[jjnewStateCnt++] = 23;
+                  break;
+               case 25:
+                  if (curChar == 115)
+                     jjstateSet[jjnewStateCnt++] = 24;
+                  break;
+               case 26:
+                  if (curChar == 110)
+                     jjstateSet[jjnewStateCnt++] = 25;
+                  break;
+               case 27:
+                  if (curChar == 105)
+                     jjstateSet[jjnewStateCnt++] = 26;
+                  break;
+               case 28:
+                  if (curChar == 123)
+                     jjCheckNAdd(29);
+                  break;
+               case 29:
+                  if ((0x7fffffe87fffffeL & l) != 0L)
+                     jjCheckNAddStates(26, 28);
+                  break;
+               case 31:
+                  if ((0x7fffffe87fffffeL & l) != 0L)
+                     jjCheckNAddStates(29, 31);
+                  break;
+               case 32:
+                  if (curChar == 125 && kind > 75)
+                     kind = 75;
+                  break;
+               case 33:
+                  if (curChar == 102)
+                     jjstateSet[jjnewStateCnt++] = 28;
+                  break;
+               case 34:
+                  if (curChar == 101)
+                     jjstateSet[jjnewStateCnt++] = 33;
+                  break;
+               case 35:
+                  if (curChar == 100)
+                     jjstateSet[jjnewStateCnt++] = 34;
+                  break;
+               case 36:
+                  if (curChar == 101)
+                     jjstateSet[jjnewStateCnt++] = 35;
+                  break;
+               case 37:
+                  if (curChar == 112)
+                     jjstateSet[jjnewStateCnt++] = 36;
+                  break;
+               case 38:
+                  if (curChar == 121)
+                     jjstateSet[jjnewStateCnt++] = 37;
+                  break;
+               case 39:
+                  if (curChar == 116)
+                     jjstateSet[jjnewStateCnt++] = 38;
+                  break;
+               case 40:
+                  if ((0x7fffffe87fffffeL & l) == 0L)
+                     break;
+                  if (kind > 79)
+                     kind = 79;
+                  jjCheckNAddStates(95, 99);
+                  break;
+               case 41:
+                  if ((0x7fffffe87fffffeL & l) != 0L)
+                     jjCheckNAddTwoStates(41, 42);
+                  break;
+               case 43:
+                  if ((0x7fffffe87fffffeL & l) == 0L)
+                     break;
+                  if (kind > 76)
+                     kind = 76;
+                  jjCheckNAddStates(32, 34);
+                  break;
+               case 44:
+                  if (curChar != 93)
+                     break;
+                  if (kind > 76)
+                     kind = 76;
+                  jjCheckNAdd(45);
+                  break;
+               case 45:
+                  if (curChar == 91)
+                     jjstateSet[jjnewStateCnt++] = 44;
+                  break;
+               case 46:
+                  if ((0x7fffffe87fffffeL & l) != 0L)
+                     jjCheckNAddTwoStates(46, 48);
+                  break;
+               case 47:
+                  if (curChar != 93)
+                     break;
+                  if (kind > 77)
+                     kind = 77;
+                  jjCheckNAdd(48);
+                  break;
+               case 48:
+                  if (curChar == 91)
+                     jjstateSet[jjnewStateCnt++] = 47;
+                  break;
+               case 49:
+                  if ((0x7fffffe87fffffeL & l) == 0L)
+                     break;
+                  if (kind > 79)
+                     kind = 79;
+                  jjCheckNAdd(49);
+                  break;
+               default : break;
+            }
+         } while(i != startsAt);
+      }
+      else
+      {
+         int i2 = (curChar & 0xff) >> 6;
+         long l2 = 1L << (curChar & 077);
+         MatchLoop: do
+         {
+            switch(jjstateSet[--i])
+            {
+               default : break;
+            }
+         } while(i != startsAt);
+      }
+      if (kind != 0x7fffffff)
+      {
+         jjmatchedKind = kind;
+         jjmatchedPos = curPos;
+         kind = 0x7fffffff;
+      }
+      ++curPos;
+      if ((i = jjnewStateCnt) == (startsAt = 50 - (jjnewStateCnt = startsAt)))
+         return curPos;
+      try { curChar = input_stream.readChar(); }
+      catch(java.io.IOException e) { return curPos; }
+   }
+}
 static final int[] jjnextStates = {
-   6, 7, 9, 85, 86, 90, 92, 93, 27, 39, 60, 83, 7, 8, 10, 8, 
-   9, 10, 12, 13, 14, 10, 14, 15, 17, 10, 29, 30, 32, 30, 31, 32, 
-   42, 43, 45, 46, 48, 49, 46, 49, 50, 46, 63, 64, 66, 67, 69, 70, 
-   67, 70, 71, 67, 86, 87, 89, 6, 11, 5, 6, 10, 12, 13, 37, 49, 
-   18, 19, 20, 22, 23, 24, 20, 24, 25, 27, 20, 39, 40, 42, 40, 41, 
-   42, 16, 21, 41, 42, 46, 48, 49, 27, 39, 42, 43, 45, 
-};
-public static final String[] jjstrLiteralImages = {
-"", null, null, null, null, "\143\141\154\154\50", "\141\154\154\50", 
-"\145\170\145\143\165\164\151\157\156\50", "\143\157\156\163\164\162\165\143\164\151\157\156\50", "\150\141\163\50", 
-"\150\141\163\146\151\145\154\144\50", "\147\145\164\50", "\163\145\164\50", "\146\151\145\154\144\50", 
-"\167\151\164\150\151\156\50", "\167\151\164\150\151\156\143\157\144\145\50", null, null, null, null, "\41", 
-null, null, "\56\56", null, null, null, null, null, null, "\54", null, null, null, 
-"\51", null, null, "\141\142\163\164\162\141\143\164", "\146\151\156\141\154", 
-"\160\162\151\166\141\164\145", "\160\162\157\164\145\143\164\145\144", "\160\165\142\154\151\143", 
-"\163\164\141\164\151\143", "\156\141\164\151\166\145", 
-"\163\171\156\143\150\162\157\156\151\172\145\144", "\156\145\167", "\164\150\162\157\167\163", null, null, null, "\54", null, 
-null, null, null, null, null, null, null, "\55\76", "\41", "\50", "\51", null, null, 
-"\141\142\163\164\162\141\143\164", "\146\151\156\141\154", "\160\162\151\166\141\164\145", 
-"\160\162\157\164\145\143\164\145\144", "\160\165\142\154\151\143", "\163\164\141\164\151\143", 
-"\164\162\141\156\163\151\145\156\164", "\156\141\164\151\166\145", 
-"\163\171\156\143\150\162\157\156\151\172\145\144", null, null, null, null, null, null, null, null, null, "\55\76", "\41", "\51", 
-"\50", "\51", };
-public static final String[] lexStateNames = {
-   "DEFAULT", 
-   "PARAMS", 
-   "BEHAVIOR", 
-   "FIELD_DECLARATION", 
-};
+   6, 7, 9, 89, 90, 94, 96, 97, 27, 39, 62, 87, 7, 8, 10, 8,
+   9, 10, 12, 13, 14, 10, 14, 15, 17, 10, 29, 30, 32, 30, 31, 32,
+   42, 43, 45, 43, 44, 45, 47, 48, 49, 45, 49, 50, 52, 45, 65, 66,
+   68, 66, 67, 68, 70, 71, 72, 68, 72, 73, 75, 68, 90, 91, 93, 6,
+   11, 41, 46, 64, 69, 5, 6, 10, 12, 13, 37, 49, 18, 19, 20, 22,
+   23, 24, 20, 24, 25, 27, 20, 39, 40, 42, 40, 41, 42, 16, 21, 41,
+   42, 46, 48, 49, 27, 39,
+};
+public static final String[] jjstrLiteralImages = {
+"", null, null, null, null, "\143\141\154\154\50", "\141\154\154\50",
+"\145\170\145\143\165\164\151\157\156\50", "\143\157\156\163\164\162\165\143\164\151\157\156\50", "\150\141\163\50",
+"\150\141\163\146\151\145\154\144\50", "\147\145\164\50", "\163\145\164\50", "\146\151\145\154\144\50",
+"\167\151\164\150\151\156\50", "\167\151\164\150\151\156\143\157\144\145\50", null, null, null, null, "\41",
+null, null, "\56\56", null, null, null, null, null, null, "\54", null, null, null,
+"\51", null, null, "\141\142\163\164\162\141\143\164", "\146\151\156\141\154",
+"\160\162\151\166\141\164\145", "\160\162\157\164\145\143\164\145\144", "\160\165\142\154\151\143",
+"\163\164\141\164\151\143", "\156\141\164\151\166\145",
+"\163\171\156\143\150\162\157\156\151\172\145\144", "\156\145\167", "\164\150\162\157\167\163", null, null, null, "\54", null,
+null, null, null, null, null, null, null, "\55\76", "\41", "\50", "\51", null, null,
+"\141\142\163\164\162\141\143\164", "\146\151\156\141\154", "\160\162\151\166\141\164\145",
+"\160\162\157\164\145\143\164\145\144", "\160\165\142\154\151\143", "\163\164\141\164\151\143",
+"\164\162\141\156\163\151\145\156\164", "\156\141\164\151\166\145",
+"\163\171\156\143\150\162\157\156\151\172\145\144", null, null, null, null, null, null, null, null, null, "\55\76", "\41", "\51",
+"\50", "\51", };
+public static final String[] lexStateNames = {
+   "DEFAULT",
+   "PARAMS",
+   "BEHAVIOR",
+   "FIELD_DECLARATION",
+};
 public static final int[] jjnewLexState = {
-   -1, -1, -1, -1, -1, 2, 3, 2, 2, 2, 3, 3, 3, 3, 3, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-   -1, -1, -1, -1, -1, -1, -1, -1, -1, 2, -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, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-   -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, 
-};
+   -1, -1, -1, -1, -1, 2, 3, 2, 2, 2, 3, 3, 3, 3, 3, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+   -1, -1, -1, -1, -1, -1, -1, -1, -1, 2, -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, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+   -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1,
+};
 static final long[] jjtoToken = {
-   0x78ffffe47f93fff9L, 0xf8fffeL, 
-};
+   0x78ffffe47f93fff9L, 0xf8fffeL,
+};
 static final long[] jjtoSkip = {
-   0x8000001800600006L, 0x1L, 
-};
-protected SimpleCharStream input_stream;
-private final int[] jjrounds = new int[94];
-private final int[] jjstateSet = new int[188];
-protected char curChar;
-public PointcutExpressionParserTokenManager(SimpleCharStream stream)
-{
-   if (SimpleCharStream.staticFlag)
-      throw new Error("ERROR: Cannot use a static CharStream class with a non-static lexical analyzer.");
-   input_stream = stream;
-}
-public PointcutExpressionParserTokenManager(SimpleCharStream stream, int lexState)
-{
-   this(stream);
-   SwitchTo(lexState);
-}
-public void ReInit(SimpleCharStream stream)
-{
-   jjmatchedPos = jjnewStateCnt = 0;
-   curLexState = defaultLexState;
-   input_stream = stream;
-   ReInitRounds();
-}
-private final void ReInitRounds()
-{
-   int i;
-   jjround = 0x80000001;
-   for (i = 94; i-- > 0;)
-      jjrounds[i] = 0x80000000;
-}
-public void ReInit(SimpleCharStream 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;
-
+   0x8000001800600006L, 0x1L,
+};
+protected SimpleCharStream input_stream;
+private final int[] jjrounds = new int[98];
+private final int[] jjstateSet = new int[196];
+protected char curChar;
+public PointcutExpressionParserTokenManager(SimpleCharStream stream)
+{
+   if (SimpleCharStream.staticFlag)
+      throw new Error("ERROR: Cannot use a static CharStream class with a non-static lexical analyzer.");
+   input_stream = stream;
+}
+public PointcutExpressionParserTokenManager(SimpleCharStream stream, int lexState)
+{
+   this(stream);
+   SwitchTo(lexState);
+}
+public void ReInit(SimpleCharStream stream)
+{
+   jjmatchedPos = jjnewStateCnt = 0;
+   curLexState = defaultLexState;
+   input_stream = stream;
+   ReInitRounds();
+}
+private final void ReInitRounds()
+{
+   int i;
+   jjround = 0x80000001;
+   for (i = 98; i-- > 0;)
+      jjrounds[i] = 0x80000000;
+}
+public void ReInit(SimpleCharStream 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;
-   }
-
-   switch(curLexState)
-   {
-     case 0:
-       try { input_stream.backup(0);
-          while (curChar <= 32 && (0x100000200L & (1L << curChar)) != 0L)
-             curChar = input_stream.BeginToken();
-       }
-       catch (java.io.IOException e1) { continue EOFLoop; }
-       jjmatchedKind = 0x7fffffff;
-       jjmatchedPos = 0;
-       curPos = jjMoveStringLiteralDfa0_0();
-       break;
-     case 1:
-       try { input_stream.backup(0);
-          while (curChar <= 32 && (0x100000200L & (1L << curChar)) != 0L)
-             curChar = input_stream.BeginToken();
-       }
-       catch (java.io.IOException e1) { continue EOFLoop; }
-       jjmatchedKind = 0x7fffffff;
-       jjmatchedPos = 0;
-       curPos = jjMoveStringLiteralDfa0_1();
-       break;
-     case 2:
-       try { input_stream.backup(0);
-          while (curChar <= 32 && (0x100000200L & (1L << curChar)) != 0L)
-             curChar = input_stream.BeginToken();
-       }
-       catch (java.io.IOException e1) { continue EOFLoop; }
-       jjmatchedKind = 0x7fffffff;
-       jjmatchedPos = 0;
-       curPos = jjMoveStringLiteralDfa0_2();
-       break;
-     case 3:
-       try { input_stream.backup(0);
-          while (curChar <= 32 && (0x100000200L & (1L << curChar)) != 0L)
-             curChar = input_stream.BeginToken();
-       }
-       catch (java.io.IOException e1) { continue EOFLoop; }
-       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();
-       if (jjnewLexState[jjmatchedKind] != -1)
-         curLexState = jjnewLexState[jjmatchedKind];
-           return matchedToken;
-        }
-        else
-        {
-         if (jjnewLexState[jjmatchedKind] != -1)
-           curLexState = jjnewLexState[jjmatchedKind];
-           continue EOFLoop;
-        }
-     }
-     int error_line = input_stream.getEndLine();
-     int error_column = input_stream.getEndColumn();
-     String error_after = null;
-     boolean EOFSeen = false;
-     try { input_stream.readChar(); input_stream.backup(1); }
-     catch (java.io.IOException e1) {
-        EOFSeen = true;
-        error_after = curPos <= 1 ? "" : input_stream.GetImage();
-        if (curChar == '\n' || curChar == '\r') {
-           error_line++;
-           error_column = 0;
-        }
-        else
-           error_column++;
-     }
-     if (!EOFSeen) {
-        input_stream.backup(1);
-        error_after = curPos <= 1 ? "" : input_stream.GetImage();
-     }
-     throw new TokenMgrError(EOFSeen, curLexState, error_line, error_column, error_after, curChar, TokenMgrError.LEXICAL_ERROR);
-  }
-}
-
-}
+  for (;;)
+  {
+   try
+   {
+      curChar = input_stream.BeginToken();
+   }
+   catch(java.io.IOException e)
+   {
+      jjmatchedKind = 0;
+      matchedToken = jjFillToken();
+      return matchedToken;
+   }
+
+   switch(curLexState)
+   {
+     case 0:
+       try { input_stream.backup(0);
+          while (curChar <= 32 && (0x100000200L & (1L << curChar)) != 0L)
+             curChar = input_stream.BeginToken();
+       }
+       catch (java.io.IOException e1) { continue EOFLoop; }
+       jjmatchedKind = 0x7fffffff;
+       jjmatchedPos = 0;
+       curPos = jjMoveStringLiteralDfa0_0();
+       break;
+     case 1:
+       try { input_stream.backup(0);
+          while (curChar <= 32 && (0x100000200L & (1L << curChar)) != 0L)
+             curChar = input_stream.BeginToken();
+       }
+       catch (java.io.IOException e1) { continue EOFLoop; }
+       jjmatchedKind = 0x7fffffff;
+       jjmatchedPos = 0;
+       curPos = jjMoveStringLiteralDfa0_1();
+       break;
+     case 2:
+       try { input_stream.backup(0);
+          while (curChar <= 32 && (0x100000200L & (1L << curChar)) != 0L)
+             curChar = input_stream.BeginToken();
+       }
+       catch (java.io.IOException e1) { continue EOFLoop; }
+       jjmatchedKind = 0x7fffffff;
+       jjmatchedPos = 0;
+       curPos = jjMoveStringLiteralDfa0_2();
+       break;
+     case 3:
+       try { input_stream.backup(0);
+          while (curChar <= 32 && (0x100000200L & (1L << curChar)) != 0L)
+             curChar = input_stream.BeginToken();
+       }
+       catch (java.io.IOException e1) { continue EOFLoop; }
+       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();
+       if (jjnewLexState[jjmatchedKind] != -1)
+         curLexState = jjnewLexState[jjmatchedKind];
+           return matchedToken;
+        }
+        else
+        {
+         if (jjnewLexState[jjmatchedKind] != -1)
+           curLexState = jjnewLexState[jjmatchedKind];
+           continue EOFLoop;
+        }
+     }
+     int error_line = input_stream.getEndLine();
+     int error_column = input_stream.getEndColumn();
+     String error_after = null;
+     boolean EOFSeen = false;
+     try { input_stream.readChar(); input_stream.backup(1); }
+     catch (java.io.IOException e1) {
+        EOFSeen = true;
+        error_after = curPos <= 1 ? "" : input_stream.GetImage();
+        if (curChar == '\n' || curChar == '\r') {
+           error_line++;
+           error_column = 0;
+        }
+        else
+           error_column++;
+     }
+     if (!EOFSeen) {
+        input_stream.backup(1);
+        error_after = curPos <= 1 ? "" : input_stream.GetImage();
+     }
+     throw new TokenMgrError(EOFSeen, curLexState, error_line, error_column, error_after, curChar, TokenMgrError.LEXICAL_ERROR);
+  }
+}
+
+}


Property changes on: projects/aop/trunk/aop/src/main/org/jboss/aop/pointcut/ast/PointcutExpressionParserTokenManager.java
___________________________________________________________________
Name: svn:eol-style
   - native

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/pointcut/ast/PointcutExpressionParserTreeConstants.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/pointcut/ast/PointcutExpressionParserTreeConstants.java	2007-01-23 15:11:24 UTC (rev 59939)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/pointcut/ast/PointcutExpressionParserTreeConstants.java	2007-01-23 15:32:02 UTC (rev 59940)
@@ -1,4 +1,4 @@
-/* Generated By:JJTree: Do not edit this line. C:/cygwin/home/Kabir/cvs/jboss-head/aop/src/main/org/jboss/aop/pointcut/ast\PointcutExpressionParserTreeConstants.java */
+/* Generated By:JJTree: Do not edit this line. C:/cygwin/home/Kabir/sourcecontrol/jboss-aop/aop/src/main/org/jboss/aop/pointcut/ast\PointcutExpressionParserTreeConstants.java */
 
 package org.jboss.aop.pointcut.ast;
 

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/pointcut/ast/PointcutExpressionParserVisitor.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/pointcut/ast/PointcutExpressionParserVisitor.java	2007-01-23 15:11:24 UTC (rev 59939)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/pointcut/ast/PointcutExpressionParserVisitor.java	2007-01-23 15:32:02 UTC (rev 59940)
@@ -1,4 +1,4 @@
-/* Generated By:JJTree: Do not edit this line. C:/cygwin/home/Kabir/cvs/jboss-head/aop/src/main/org/jboss/aop/pointcut/ast\PointcutExpressionParserVisitor.java */
+/* Generated By:JJTree: Do not edit this line. C:/cygwin/home/Kabir/sourcecontrol/jboss-aop/aop/src/main/org/jboss/aop/pointcut/ast\PointcutExpressionParserVisitor.java */
 
 package org.jboss.aop.pointcut.ast;
 

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/pointcut/ast/PointcutParserTester.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/pointcut/ast/PointcutParserTester.java	2007-01-23 15:11:24 UTC (rev 59939)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/pointcut/ast/PointcutParserTester.java	2007-01-23 15:32:02 UTC (rev 59940)
@@ -391,6 +391,8 @@
 
    public static void main(String args[])
    {
+      args = new String[1];
+      args[0] = "execution(* $instanceof{com.blah.Test}->$implements{@IF}(..) throws Exception)";
       System.out.println("----" + args[0]);
       StringReader reader = new StringReader(args[0]);
       PointcutExpressionParser t = new PointcutExpressionParser(reader);

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/pointcut/ast/TypeExpressionParserTreeConstants.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/pointcut/ast/TypeExpressionParserTreeConstants.java	2007-01-23 15:11:24 UTC (rev 59939)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/pointcut/ast/TypeExpressionParserTreeConstants.java	2007-01-23 15:32:02 UTC (rev 59940)
@@ -1,4 +1,4 @@
-/* Generated By:JJTree: Do not edit this line. C:/cygwin/home/Kabir/cvs/jboss-head/aop/src/main/org/jboss/aop/pointcut/ast\TypeExpressionParserTreeConstants.java */
+/* Generated By:JJTree: Do not edit this line. C:/cygwin/home/Kabir/sourcecontrol/jboss-aop/aop/src/main/org/jboss/aop/pointcut/ast\TypeExpressionParserTreeConstants.java */
 
 package org.jboss.aop.pointcut.ast;
 

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/pointcut/ast/TypeExpressionParserVisitor.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/pointcut/ast/TypeExpressionParserVisitor.java	2007-01-23 15:11:24 UTC (rev 59939)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/pointcut/ast/TypeExpressionParserVisitor.java	2007-01-23 15:32:02 UTC (rev 59940)
@@ -1,4 +1,4 @@
-/* Generated By:JJTree: Do not edit this line. C:/cygwin/home/Kabir/cvs/jboss-head/aop/src/main/org/jboss/aop/pointcut/ast\TypeExpressionParserVisitor.java */
+/* Generated By:JJTree: Do not edit this line. C:/cygwin/home/Kabir/sourcecontrol/jboss-aop/aop/src/main/org/jboss/aop/pointcut/ast\TypeExpressionParserVisitor.java */
 
 package org.jboss.aop.pointcut.ast;
 

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/pointcut/ast/pointcut.jjt
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/pointcut/ast/pointcut.jjt	2007-01-23 15:11:24 UTC (rev 59939)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/pointcut/ast/pointcut.jjt	2007-01-23 15:32:02 UTC (rev 59940)
@@ -126,9 +126,9 @@
 |
   < ANNOTATION: "@" <IDENTIFIER> (<DOT> <IDENTIFIER>)*>
 |
-  <IMPLEMENTS: "$implements{" (<CLASS> | <ANNOTATION>) "}">
+  <IMPLEMENTS: "$implements{" (<IDENTIFIER> | <CLASS> | <ANNOTATION>) "}">
 |
-  <IMPLEMENTING: "$implementing{" (<CLASS> | <ANNOTATION>) "}">
+  <IMPLEMENTING: "$implementing{" (<IDENTIFIER> | <CLASS> | <ANNOTATION>) "}">
 |
   < IDENTIFIER: (<WILD_LETTER>)+ >
 |

Added: projects/aop/trunk/aop/src/test/org/jboss/test/aop/pointcut/EmptyPointcutVisitor.java
===================================================================
--- projects/aop/trunk/aop/src/test/org/jboss/test/aop/pointcut/EmptyPointcutVisitor.java	                        (rev 0)
+++ projects/aop/trunk/aop/src/test/org/jboss/test/aop/pointcut/EmptyPointcutVisitor.java	2007-01-23 15:32:02 UTC (rev 59940)
@@ -0,0 +1,249 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file in the
+* distribution for a full listing of individual contributors. 
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/ 
+package org.jboss.test.aop.pointcut;
+
+import org.jboss.aop.pointcut.ast.ASTAll;
+import org.jboss.aop.pointcut.ast.ASTAllParameter;
+import org.jboss.aop.pointcut.ast.ASTAnd;
+import org.jboss.aop.pointcut.ast.ASTAndCFlow;
+import org.jboss.aop.pointcut.ast.ASTAttribute;
+import org.jboss.aop.pointcut.ast.ASTBoolean;
+import org.jboss.aop.pointcut.ast.ASTCFlow;
+import org.jboss.aop.pointcut.ast.ASTCFlowBoolean;
+import org.jboss.aop.pointcut.ast.ASTCFlowExpression;
+import org.jboss.aop.pointcut.ast.ASTCall;
+import org.jboss.aop.pointcut.ast.ASTComposite;
+import org.jboss.aop.pointcut.ast.ASTCompositeCFlow;
+import org.jboss.aop.pointcut.ast.ASTConstruction;
+import org.jboss.aop.pointcut.ast.ASTConstructor;
+import org.jboss.aop.pointcut.ast.ASTException;
+import org.jboss.aop.pointcut.ast.ASTExecution;
+import org.jboss.aop.pointcut.ast.ASTExecutionOnly;
+import org.jboss.aop.pointcut.ast.ASTField;
+import org.jboss.aop.pointcut.ast.ASTFieldExecution;
+import org.jboss.aop.pointcut.ast.ASTGet;
+import org.jboss.aop.pointcut.ast.ASTHas;
+import org.jboss.aop.pointcut.ast.ASTHasField;
+import org.jboss.aop.pointcut.ast.ASTMethod;
+import org.jboss.aop.pointcut.ast.ASTNot;
+import org.jboss.aop.pointcut.ast.ASTNotCFlow;
+import org.jboss.aop.pointcut.ast.ASTOr;
+import org.jboss.aop.pointcut.ast.ASTOrCFlow;
+import org.jboss.aop.pointcut.ast.ASTParameter;
+import org.jboss.aop.pointcut.ast.ASTPointcut;
+import org.jboss.aop.pointcut.ast.ASTSet;
+import org.jboss.aop.pointcut.ast.ASTStart;
+import org.jboss.aop.pointcut.ast.ASTSub;
+import org.jboss.aop.pointcut.ast.ASTSubCFlow;
+import org.jboss.aop.pointcut.ast.ASTWithin;
+import org.jboss.aop.pointcut.ast.ASTWithincode;
+import org.jboss.aop.pointcut.ast.PointcutExpressionParserVisitor;
+import org.jboss.aop.pointcut.ast.SimpleNode;
+
+/**
+ * 
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class EmptyPointcutVisitor implements PointcutExpressionParserVisitor
+{
+   public Object visit(SimpleNode node, Object data)
+   {
+      return node.childrenAccept(this, data);
+   }
+
+   public Object visit(ASTStart node, Object data)
+   {
+      return node.childrenAccept(this, data);
+   }
+
+   public Object visit(ASTExecutionOnly node, Object data)
+   {
+      return node.childrenAccept(this, data);
+   }
+
+   public Object visit(ASTBoolean node, Object data)
+   {
+      return node.childrenAccept(this, data);
+   }
+
+   public Object visit(ASTComposite node, Object data)
+   {
+      return node.childrenAccept(this, data);
+   }
+
+   public Object visit(ASTNot node, Object data)
+   {
+      return node.childrenAccept(this, data);
+   }
+
+   public Object visit(ASTSub node, Object data)
+   {
+      return node.childrenAccept(this, data);
+   }
+
+   public Object visit(ASTAnd node, Object data)
+   {
+      return node.childrenAccept(this, data);
+   }
+
+   public Object visit(ASTOr node, Object data)
+   {
+      return node.childrenAccept(this, data);
+   }
+
+   public Object visit(ASTCFlowExpression node, Object data)
+   {
+      return node.childrenAccept(this, data);
+   }
+
+   public Object visit(ASTCFlowBoolean node, Object data)
+   {
+      return node.childrenAccept(this, data);
+   }
+
+   public Object visit(ASTNotCFlow node, Object data)
+   {
+      return node.childrenAccept(this, data);
+   }
+
+   public Object visit(ASTCompositeCFlow node, Object data)
+   {
+      return node.childrenAccept(this, data);
+   }
+
+   public Object visit(ASTSubCFlow node, Object data)
+   {
+      return node.childrenAccept(this, data);
+   }
+
+   public Object visit(ASTAndCFlow node, Object data)
+   {
+      return node.childrenAccept(this, data);
+   }
+
+   public Object visit(ASTOrCFlow node, Object data)
+   {
+      return node.childrenAccept(this, data);
+   }
+
+   public Object visit(ASTPointcut node, Object data)
+   {
+      return node.childrenAccept(this, data);
+   }
+
+   public Object visit(ASTCFlow node, Object data)
+   {
+      return node.childrenAccept(this, data);
+   }
+
+   public Object visit(ASTAll node, Object data)
+   {
+      return node.childrenAccept(this, data);
+   }
+
+   public Object visit(ASTCall node, Object data)
+   {
+      return node.childrenAccept(this, data);
+   }
+
+   public Object visit(ASTWithin node, Object data)
+   {
+      return node.childrenAccept(this, data);
+   }
+
+   public Object visit(ASTWithincode node, Object data)
+   {
+      return node.childrenAccept(this, data);
+   }
+
+   public Object visit(ASTExecution node, Object data)
+   {
+      return node.childrenAccept(this, data);
+   }
+
+   public Object visit(ASTConstruction node, Object data)
+   {
+      return node.childrenAccept(this, data);
+   }
+
+   public Object visit(ASTHas node, Object data)
+   {
+      return node.childrenAccept(this, data);
+   }
+
+   public Object visit(ASTHasField node, Object data)
+   {
+      return node.childrenAccept(this, data);
+   }
+
+   public Object visit(ASTGet node, Object data)
+   {
+      return node.childrenAccept(this, data);
+   }
+
+   public Object visit(ASTSet node, Object data)
+   {
+      return node.childrenAccept(this, data);
+   }
+
+   public Object visit(ASTFieldExecution node, Object data)
+   {
+      return node.childrenAccept(this, data);
+   }
+
+   public Object visit(ASTMethod node, Object data)
+   {
+      return node.childrenAccept(this, data);
+   }
+
+   public Object visit(ASTException node, Object data)
+   {
+      return node.childrenAccept(this, data);
+   }
+
+   public Object visit(ASTAttribute node, Object data)
+   {
+      return node.childrenAccept(this, data);
+   }
+
+   public Object visit(ASTConstructor node, Object data)
+   {
+      return node.childrenAccept(this, data);
+   }
+
+   public Object visit(ASTParameter node, Object data)
+   {
+      return node.childrenAccept(this, data);
+   }
+
+   public Object visit(ASTAllParameter node, Object data)
+   {
+      return node.childrenAccept(this, data);
+   }
+
+   public Object visit(ASTField node, Object data)
+   {
+      return node.childrenAccept(this, data);
+   } 
+
+}

Added: projects/aop/trunk/aop/src/test/org/jboss/test/aop/pointcut/PointcutTester.java
===================================================================
--- projects/aop/trunk/aop/src/test/org/jboss/test/aop/pointcut/PointcutTester.java	                        (rev 0)
+++ projects/aop/trunk/aop/src/test/org/jboss/test/aop/pointcut/PointcutTester.java	2007-01-23 15:32:02 UTC (rev 59940)
@@ -0,0 +1,133 @@
+/*
+  * JBoss, Home of Professional Open Source
+  * Copyright 2005, JBoss Inc., and individual contributors as indicated
+  * by the @authors tag. See the copyright.txt in the distribution for a
+  * full listing of individual contributors.
+  *
+  * This is free software; you can redistribute it and/or modify it
+  * under the terms of the GNU Lesser General Public License as
+  * published by the Free Software Foundation; either version 2.1 of
+  * the License, or (at your option) any later version.
+  *
+  * This software is distributed in the hope that it will be useful,
+  * but WITHOUT ANY WARRANTY; without even the implied warranty of
+  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  * Lesser General Public License for more details.
+  *
+  * You should have received a copy of the GNU Lesser General Public
+  * License along with this software; if not, write to the Free
+  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  */
+package org.jboss.test.aop.pointcut;
+
+
+import java.io.StringReader;
+import java.util.ArrayList;
+import java.util.Iterator;
+
+import org.jboss.aop.pointcut.ast.ASTStart;
+import org.jboss.aop.pointcut.ast.PointcutExpressionParser;
+import org.jboss.aop.pointcut.ast.PointcutExpressionParserVisitor;
+import org.jboss.test.aop.AOPTestWithSetup;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+/**
+ * Tests an annotated introduction
+ *
+ * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
+ * @version $Revision: 45977 $
+ */
+public class PointcutTester extends AOPTestWithSetup
+{
+   public static Test suite()
+   {
+      TestSuite suite = new TestSuite("PointcutTester");
+      suite.addTestSuite(PointcutTester.class);
+      return suite;
+   }
+
+   public PointcutTester(String name)
+   {
+      super(name);
+   }
+
+   public void testPassingPointcuts() throws Exception
+   {
+      Executor e = new Executor();
+      e.parseGoodPointcut("execution(public * *->*())");
+      e.parseGoodPointcut("execution(* *->*())");
+      e.parseGoodPointcut("execution(* $instanceof{a}->$implements{a}())");
+      e.parseGoodPointcut("execution(* $instanceof{a.b}->$implements{a.b}())");
+      e.parseGoodPointcut("execution(* $instanceof{@a.b}->$implements{@a.b}())");
+      e.parseGoodPointcut("execution(* $instanceof{a}->$implementing{a}())");
+      e.parseGoodPointcut("execution(* $instanceof{a.b}->$implementing{a.b}())");
+      e.parseGoodPointcut("execution(* $instanceof{@a.b}->$implementing{@a.b}())");
+      checkFailures(e.failures);
+   }
+   
+   public void testBadPointcuts() throws Exception
+   {
+      Executor e = new Executor();
+      e.parseBadPointcut("execution(*->*()");
+      checkFailures(e.failures);
+   }
+   
+   private void checkFailures(ArrayList failures)
+   {
+      StringBuffer buf = new StringBuffer();
+      if (failures.size() > 0)
+      {
+         buf.append("======= Did not pass validation ===========\n\n");
+         for (Iterator it = failures.iterator() ; it.hasNext() ; )
+         {
+            buf.append((String)it.next());
+            buf.append("\n");
+         }
+         
+         fail(buf.toString());
+      }
+   }
+   
+   private static class Executor
+   {
+      ArrayList failures = new ArrayList();
+
+      private void parseGoodPointcut(String pointcut) throws Exception
+      {
+         parsePointcut(pointcut, false);
+      }
+
+      private void parseBadPointcut(String pointcut) throws Exception
+      {
+         parsePointcut(pointcut, true);
+      }
+
+      private void parsePointcut(String pointcut, boolean expectFailure) throws Exception
+      {
+         StringReader reader = new StringReader(pointcut);
+         PointcutExpressionParser t = new PointcutExpressionParser(reader);
+   
+         try
+         {
+            ASTStart n = t.Start();
+            PointcutExpressionParserVisitor v = new EmptyPointcutVisitor();
+            n.jjtAccept(v, null);
+            if (expectFailure)
+            {
+               failures.add("- Should not have passed: " + pointcut);
+            }
+         }
+         catch (Exception e)
+         {
+            if (!expectFailure)
+            {
+               failures.add("+ Should have passed: " + pointcut);
+            }
+         }
+      }
+   }
+}
+




More information about the jboss-cvs-commits mailing list