You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by eb...@apache.org on 2009/05/29 12:23:41 UTC

svn commit: r779915 [3/3] - in /commons/proper/jxpath/trunk/src: java/org/apache/commons/jxpath/ri/ java/org/apache/commons/jxpath/ri/compiler/ java/org/apache/commons/jxpath/ri/parser/ test/org/apache/commons/jxpath/ri/ test/org/apache/commons/jxpath/...

Modified: commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/parser/XPathParserTokenManager.java
URL: http://svn.apache.org/viewvc/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/parser/XPathParserTokenManager.java?rev=779915&r1=779914&r2=779915&view=diff
==============================================================================
--- commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/parser/XPathParserTokenManager.java (original)
+++ commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/parser/XPathParserTokenManager.java Fri May 29 10:23:40 2009
@@ -12,74 +12,74 @@
    switch (pos)
    {
       case 0:
-         if ((active1 & 0xc0000L) != 0L)
+         if ((active1 & 0x180000L) != 0L)
             return 10;
-         if ((active0 & 0xfffffffff8000000L) != 0L || (active1 & 0x3fffL) != 0L)
+         if ((active0 & 0xfffffffff8000000L) != 0L || (active1 & 0x7fffL) != 0L)
          {
-            jjmatchedKind = 78;
+            jjmatchedKind = 79;
             return 12;
          }
          return -1;
       case 1:
-         if ((active0 & 0x8000008000000L) != 0L)
-            return 12;
-         if ((active0 & 0xfff7fffff0000000L) != 0L || (active1 & 0x3fffL) != 0L)
+         if ((active0 & 0xfff7fffff0000000L) != 0L || (active1 & 0x7fffL) != 0L)
          {
-            jjmatchedKind = 78;
+            jjmatchedKind = 79;
             jjmatchedPos = 1;
             return 12;
          }
+         if ((active0 & 0x8000008000000L) != 0L)
+            return 12;
          return -1;
       case 2:
-         if ((active0 & 0x10000070000000L) != 0L || (active1 & 0x208L) != 0L)
+         if ((active0 & 0x10000070000000L) != 0L || (active1 & 0x410L) != 0L)
             return 12;
-         if ((active0 & 0xffe7ffff80000000L) != 0L || (active1 & 0x3df7L) != 0L)
+         if ((active0 & 0xffe7ffff80000000L) != 0L || (active1 & 0x7befL) != 0L)
          {
-            jjmatchedKind = 78;
+            jjmatchedKind = 79;
             jjmatchedPos = 2;
             return 12;
          }
          return -1;
       case 3:
-         if ((active0 & 0xc1010180000000L) != 0L || (active1 & 0xd0L) != 0L)
+         if ((active0 & 0xc1010180000000L) != 0L || (active1 & 0x1a0L) != 0L)
             return 12;
-         if ((active0 & 0xff26fefe00000000L) != 0L || (active1 & 0x3d27L) != 0L)
+         if ((active0 & 0xff26fefe00000000L) != 0L || (active1 & 0x7a4fL) != 0L)
          {
             if (jjmatchedPos != 3)
             {
-               jjmatchedKind = 78;
+               jjmatchedKind = 79;
                jjmatchedPos = 3;
             }
             return 12;
          }
          return -1;
       case 4:
-         if ((active0 & 0xff62fff600000000L) != 0L || (active1 & 0x2907L) != 0L)
+         if ((active0 & 0xff62fff600000000L) != 0L || (active1 & 0x520fL) != 0L)
          {
-            jjmatchedKind = 78;
+            jjmatchedKind = 79;
             jjmatchedPos = 4;
             return 12;
          }
-         if ((active0 & 0x4000000000000L) != 0L || (active1 & 0x1420L) != 0L)
+         if ((active0 & 0x4000000000000L) != 0L || (active1 & 0x2840L) != 0L)
             return 12;
          if ((active0 & 0x800000000L) != 0L)
          {
             if (jjmatchedPos < 3)
             {
-               jjmatchedKind = 78;
+               jjmatchedKind = 79;
                jjmatchedPos = 3;
             }
             return -1;
          }
          return -1;
       case 5:
-         if ((active0 & 0x8300000000000000L) != 0L || (active1 & 0x100L) != 0L)
+         if ((active0 & 0x300000000000000L) != 0L || (active1 & 0x201L) != 0L)
             return 12;
-         if ((active0 & 0x7c62ffe600000000L) != 0L || (active1 & 0x2807L) != 0L)
+         if ((active0 & 0xfc62ffe600000000L) != 0L || (active1 & 0x500eL) != 0L)
          {
             if (jjmatchedPos != 5)
             {
-               jjmatchedKind = 78;
+               jjmatchedKind = 79;
                jjmatchedPos = 5;
             }
             return 12;
@@ -88,7 +88,7 @@
          {
             if (jjmatchedPos < 4)
             {
-               jjmatchedKind = 78;
+               jjmatchedKind = 79;
                jjmatchedPos = 4;
             }
             return -1;
@@ -97,20 +97,26 @@
          {
             if (jjmatchedPos < 3)
             {
-               jjmatchedKind = 78;
+               jjmatchedKind = 79;
                jjmatchedPos = 3;
             }
             return -1;
          }
          return -1;
       case 6:
-         if ((active0 & 0x200000000L) != 0L || (active1 & 0x804L) != 0L)
+         if ((active0 & 0x200000000L) != 0L || (active1 & 0x1008L) != 0L)
             return 12;
+         if ((active0 & 0xfc62ffc400000000L) != 0L || (active1 & 0x4007L) != 0L)
+         {
+            jjmatchedKind = 79;
+            jjmatchedPos = 6;
+            return 12;
+         }
          if ((active0 & 0x2000000000L) != 0L)
          {
             if (jjmatchedPos < 5)
             {
-               jjmatchedKind = 78;
+               jjmatchedKind = 79;
                jjmatchedPos = 5;
             }
             return -1;
@@ -119,57 +125,51 @@
          {
             if (jjmatchedPos < 4)
             {
-               jjmatchedKind = 78;
+               jjmatchedKind = 79;
                jjmatchedPos = 4;
             }
             return -1;
          }
-         if ((active0 & 0xfc62ffc400000000L) != 0L || (active1 & 0x2003L) != 0L)
-         {
-            jjmatchedKind = 78;
-            jjmatchedPos = 6;
-            return 12;
-         }
          return -1;
       case 7:
-         if ((active0 & 0xf460ffc400000000L) != 0L || (active1 & 0x2003L) != 0L)
-         {
-            jjmatchedKind = 78;
-            jjmatchedPos = 7;
-            return 12;
-         }
-         if ((active0 & 0x802000000000000L) != 0L)
+         if ((active0 & 0x1002000000000000L) != 0L)
             return 12;
          if ((active0 & 0x2000000000L) != 0L)
          {
             if (jjmatchedPos < 5)
             {
-               jjmatchedKind = 78;
+               jjmatchedKind = 79;
                jjmatchedPos = 5;
             }
             return -1;
          }
+         if ((active0 & 0xec60ffc400000000L) != 0L || (active1 & 0x4007L) != 0L)
+         {
+            jjmatchedKind = 79;
+            jjmatchedPos = 7;
+            return 12;
+         }
          return -1;
       case 8:
-         if ((active0 & 0x7000000000000000L) != 0L || (active1 & 0x2L) != 0L)
+         if ((active0 & 0xe800000000000000L) != 0L || (active1 & 0x4L) != 0L)
             return 12;
-         if ((active0 & 0x4000000000L) != 0L)
+         if ((active0 & 0x460ff8400000000L) != 0L || (active1 & 0x4003L) != 0L)
          {
-            if (jjmatchedPos < 7)
+            if (jjmatchedPos != 8)
             {
-               jjmatchedKind = 78;
-               jjmatchedPos = 7;
+               jjmatchedKind = 79;
+               jjmatchedPos = 8;
             }
-            return -1;
+            return 12;
          }
-         if ((active0 & 0x8460ff8400000000L) != 0L || (active1 & 0x2001L) != 0L)
+         if ((active0 & 0x4000000000L) != 0L)
          {
-            if (jjmatchedPos != 8)
+            if (jjmatchedPos < 7)
             {
-               jjmatchedKind = 78;
-               jjmatchedPos = 8;
+               jjmatchedKind = 79;
+               jjmatchedPos = 7;
             }
-            return 12;
+            return -1;
          }
          return -1;
       case 9:
@@ -179,7 +179,7 @@
          {
             if (jjmatchedPos < 8)
             {
-               jjmatchedKind = 78;
+               jjmatchedKind = 79;
                jjmatchedPos = 8;
             }
             return -1;
@@ -188,14 +188,14 @@
          {
             if (jjmatchedPos < 7)
             {
-               jjmatchedKind = 78;
+               jjmatchedKind = 79;
                jjmatchedPos = 7;
             }
             return -1;
          }
-         if ((active0 & 0xb440f80400000000L) != 0L || (active1 & 0x2001L) != 0L)
+         if ((active0 & 0x6440f80400000000L) != 0L || (active1 & 0x4003L) != 0L)
          {
-            jjmatchedKind = 78;
+            jjmatchedKind = 79;
             jjmatchedPos = 9;
             return 12;
          }
@@ -203,11 +203,17 @@
       case 10:
          if ((active0 & 0x400000000000000L) != 0L)
             return 12;
+         if ((active0 & 0x6040f00400000000L) != 0L || (active1 & 0x4003L) != 0L)
+         {
+            jjmatchedKind = 79;
+            jjmatchedPos = 10;
+            return 12;
+         }
          if ((active0 & 0x80000000000L) != 0L)
          {
             if (jjmatchedPos < 9)
             {
-               jjmatchedKind = 78;
+               jjmatchedKind = 79;
                jjmatchedPos = 9;
             }
             return -1;
@@ -216,69 +222,63 @@
          {
             if (jjmatchedPos < 8)
             {
-               jjmatchedKind = 78;
+               jjmatchedKind = 79;
                jjmatchedPos = 8;
             }
             return -1;
          }
-         if ((active0 & 0xb040f00400000000L) != 0L || (active1 & 0x2001L) != 0L)
-         {
-            jjmatchedKind = 78;
-            jjmatchedPos = 10;
-            return 12;
-         }
          return -1;
       case 11:
-         if ((active0 & 0xb040f00400000000L) != 0L || (active1 & 0x2001L) != 0L)
-         {
-            jjmatchedKind = 78;
-            jjmatchedPos = 11;
-            return 12;
-         }
          if ((active0 & 0x80000000000L) != 0L)
          {
             if (jjmatchedPos < 9)
             {
-               jjmatchedKind = 78;
+               jjmatchedKind = 79;
                jjmatchedPos = 9;
             }
             return -1;
          }
+         if ((active0 & 0x6040f00400000000L) != 0L || (active1 & 0x4003L) != 0L)
+         {
+            jjmatchedKind = 79;
+            jjmatchedPos = 11;
+            return 12;
+         }
          return -1;
       case 12:
-         if ((active0 & 0x8040000000000000L) != 0L || (active1 & 0x2000L) != 0L)
-            return 12;
-         if ((active0 & 0x3000f00400000000L) != 0L || (active1 & 0x1L) != 0L)
+         if ((active0 & 0x6000f00400000000L) != 0L || (active1 & 0x2L) != 0L)
          {
-            jjmatchedKind = 78;
+            jjmatchedKind = 79;
             jjmatchedPos = 12;
             return 12;
          }
+         if ((active0 & 0x40000000000000L) != 0L || (active1 & 0x4001L) != 0L)
+            return 12;
          return -1;
       case 13:
-         if ((active0 & 0x3000f00400000000L) != 0L || (active1 & 0x1L) != 0L)
+         if ((active0 & 0x6000f00400000000L) != 0L || (active1 & 0x2L) != 0L)
          {
-            jjmatchedKind = 78;
+            jjmatchedKind = 79;
             jjmatchedPos = 13;
             return 12;
          }
          return -1;
       case 14:
-         if ((active0 & 0x2000000000000000L) != 0L || (active1 & 0x1L) != 0L)
+         if ((active0 & 0x4000000000000000L) != 0L || (active1 & 0x2L) != 0L)
             return 12;
-         if ((active0 & 0x1000f00400000000L) != 0L)
+         if ((active0 & 0x2000f00400000000L) != 0L)
          {
-            jjmatchedKind = 78;
+            jjmatchedKind = 79;
             jjmatchedPos = 14;
             return 12;
          }
          return -1;
       case 15:
-         if ((active0 & 0x1000000000000000L) != 0L)
+         if ((active0 & 0x2000000000000000L) != 0L)
             return 12;
          if ((active0 & 0xf00400000000L) != 0L)
          {
-            jjmatchedKind = 78;
+            jjmatchedKind = 79;
             jjmatchedPos = 15;
             return 12;
          }
@@ -286,7 +286,7 @@
       case 16:
          if ((active0 & 0xe00400000000L) != 0L)
          {
-            jjmatchedKind = 78;
+            jjmatchedKind = 79;
             jjmatchedPos = 16;
             return 12;
          }
@@ -294,7 +294,7 @@
          {
             if (jjmatchedPos < 15)
             {
-               jjmatchedKind = 78;
+               jjmatchedKind = 79;
                jjmatchedPos = 15;
             }
             return -1;
@@ -305,7 +305,7 @@
          {
             if (jjmatchedPos < 16)
             {
-               jjmatchedKind = 78;
+               jjmatchedKind = 79;
                jjmatchedPos = 16;
             }
             return -1;
@@ -314,30 +314,24 @@
          {
             if (jjmatchedPos < 15)
             {
-               jjmatchedKind = 78;
+               jjmatchedKind = 79;
                jjmatchedPos = 15;
             }
             return -1;
          }
          if ((active0 & 0x800400000000L) != 0L)
          {
-            jjmatchedKind = 78;
+            jjmatchedKind = 79;
             jjmatchedPos = 17;
             return 12;
          }
          return -1;
       case 18:
-         if ((active0 & 0x400000000L) != 0L)
-         {
-            jjmatchedKind = 78;
-            jjmatchedPos = 18;
-            return 12;
-         }
          if ((active0 & 0x800000000000L) != 0L)
          {
             if (jjmatchedPos < 17)
             {
-               jjmatchedKind = 78;
+               jjmatchedKind = 79;
                jjmatchedPos = 17;
             }
             return -1;
@@ -346,16 +340,22 @@
          {
             if (jjmatchedPos < 16)
             {
-               jjmatchedKind = 78;
+               jjmatchedKind = 79;
                jjmatchedPos = 16;
             }
             return -1;
          }
+         if ((active0 & 0x400000000L) != 0L)
+         {
+            jjmatchedKind = 79;
+            jjmatchedPos = 18;
+            return 12;
+         }
          return -1;
       case 19:
          if ((active0 & 0x400000000L) != 0L)
          {
-            jjmatchedKind = 78;
+            jjmatchedKind = 79;
             jjmatchedPos = 19;
             return 12;
          }
@@ -363,7 +363,7 @@
          {
             if (jjmatchedPos < 17)
             {
-               jjmatchedKind = 78;
+               jjmatchedKind = 79;
                jjmatchedPos = 17;
             }
             return -1;
@@ -372,7 +372,7 @@
       case 20:
          if ((active0 & 0x400000000L) != 0L)
          {
-            jjmatchedKind = 78;
+            jjmatchedKind = 79;
             jjmatchedPos = 20;
             return 12;
          }
@@ -408,25 +408,25 @@
       case 36:
          return jjStopAtPos(0, 17);
       case 40:
-         return jjStopAtPos(0, 80);
-      case 41:
          return jjStopAtPos(0, 81);
+      case 41:
+         return jjStopAtPos(0, 82);
       case 42:
-         return jjStopAtPos(0, 88);
+         return jjStopAtPos(0, 89);
       case 43:
          return jjStopAtPos(0, 9);
       case 44:
-         return jjStopAtPos(0, 87);
+         return jjStopAtPos(0, 88);
       case 45:
          return jjStopAtPos(0, 10);
       case 46:
-         jjmatchedKind = 82;
-         return jjMoveStringLiteralDfa1_0(0x0L, 0x80000L);
+         jjmatchedKind = 83;
+         return jjMoveStringLiteralDfa1_0(0x0L, 0x100000L);
       case 47:
          jjmatchedKind = 6;
          return jjMoveStringLiteralDfa1_0(0x80L, 0x0L);
       case 58:
-         return jjStopAtPos(0, 79);
+         return jjStopAtPos(0, 80);
       case 60:
          jjmatchedKind = 13;
          return jjMoveStringLiteralDfa1_0(0x4000L, 0x0L);
@@ -436,41 +436,43 @@
          jjmatchedKind = 15;
          return jjMoveStringLiteralDfa1_0(0x10000L, 0x0L);
       case 64:
-         return jjStopAtPos(0, 86);
+         return jjStopAtPos(0, 87);
       case 91:
-         return jjStopAtPos(0, 84);
-      case 93:
          return jjStopAtPos(0, 85);
+      case 93:
+         return jjStopAtPos(0, 86);
       case 97:
          return jjMoveStringLiteralDfa1_0(0x10c010000000L, 0x0L);
       case 98:
-         return jjMoveStringLiteralDfa1_0(0x0L, 0x4L);
+         return jjMoveStringLiteralDfa1_0(0x0L, 0x8L);
       case 99:
-         return jjMoveStringLiteralDfa1_0(0xa04001200000000L, 0x800L);
+         return jjMoveStringLiteralDfa1_0(0x1204001200000000L, 0x1000L);
       case 100:
          return jjMoveStringLiteralDfa1_0(0x880040000000L, 0x0L);
+      case 101:
+         return jjMoveStringLiteralDfa1_0(0x800000000000000L, 0x0L);
       case 102:
-         return jjMoveStringLiteralDfa1_0(0x240000000000L, 0x2420L);
+         return jjMoveStringLiteralDfa1_0(0x240000000000L, 0x4840L);
       case 105:
          return jjMoveStringLiteralDfa1_0(0x8000000000000L, 0x0L);
       case 107:
          return jjMoveStringLiteralDfa1_0(0x10000000000000L, 0x0L);
       case 108:
-         return jjMoveStringLiteralDfa1_0(0x21000000000000L, 0x80L);
+         return jjMoveStringLiteralDfa1_0(0x21000000000000L, 0x100L);
       case 109:
          return jjMoveStringLiteralDfa1_0(0x20000000L, 0x0L);
       case 110:
-         return jjMoveStringLiteralDfa1_0(0xc0010080000000L, 0x149L);
+         return jjMoveStringLiteralDfa1_0(0xc0010080000000L, 0x292L);
       case 111:
          return jjMoveStringLiteralDfa1_0(0x8000000L, 0x0L);
       case 112:
          return jjMoveStringLiteralDfa1_0(0x2422400000000L, 0x0L);
       case 114:
-         return jjMoveStringLiteralDfa1_0(0x0L, 0x1000L);
+         return jjMoveStringLiteralDfa1_0(0x0L, 0x2000L);
       case 115:
-         return jjMoveStringLiteralDfa1_0(0xf500000800000000L, 0x200L);
+         return jjMoveStringLiteralDfa1_0(0xe500000800000000L, 0x401L);
       case 116:
-         return jjMoveStringLiteralDfa1_0(0x100000000L, 0x12L);
+         return jjMoveStringLiteralDfa1_0(0x100000000L, 0x24L);
       case 124:
          return jjStopAtPos(0, 8);
       default :
@@ -487,8 +489,8 @@
    switch(curChar)
    {
       case 46:
-         if ((active1 & 0x80000L) != 0L)
-            return jjStopAtPos(1, 83);
+         if ((active1 & 0x100000L) != 0L)
+            return jjStopAtPos(1, 84);
          break;
       case 47:
          if ((active0 & 0x80L) != 0L)
@@ -503,31 +505,31 @@
             return jjStopAtPos(1, 16);
          break;
       case 97:
-         return jjMoveStringLiteralDfa2_0(active0, 0xc1012000000000L, active1, 0xa0L);
+         return jjMoveStringLiteralDfa2_0(active0, 0xc1012000000000L, active1, 0x140L);
       case 100:
          if ((active0 & 0x8000000000000L) != 0L)
             return jjStartNfaWithStates_0(1, 51, 12);
          break;
       case 101:
-         return jjMoveStringLiteralDfa2_0(active0, 0x10880900000000L, active1, 0x800L);
+         return jjMoveStringLiteralDfa2_0(active0, 0x10880900000000L, active1, 0x1000L);
       case 104:
          return jjMoveStringLiteralDfa2_0(active0, 0x1000000000L, active1, 0L);
       case 105:
          return jjMoveStringLiteralDfa2_0(active0, 0x40000000L, active1, 0L);
       case 108:
-         return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x400L);
+         return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x800L);
       case 110:
-         return jjMoveStringLiteralDfa2_0(active0, 0x104010000000L, active1, 0L);
+         return jjMoveStringLiteralDfa2_0(active0, 0x800104010000000L, active1, 0L);
       case 111:
-         return jjMoveStringLiteralDfa2_0(active0, 0xa262402a0000000L, active1, 0x300dL);
+         return jjMoveStringLiteralDfa2_0(active0, 0x12262402a0000000L, active1, 0x601aL);
       case 114:
          if ((active0 & 0x8000000L) != 0L)
             return jjStartNfaWithStates_0(1, 27, 12);
-         return jjMoveStringLiteralDfa2_0(active0, 0x420400000000L, active1, 0x12L);
+         return jjMoveStringLiteralDfa2_0(active0, 0x420400000000L, active1, 0x24L);
       case 116:
-         return jjMoveStringLiteralDfa2_0(active0, 0x8500008000000000L, active1, 0L);
+         return jjMoveStringLiteralDfa2_0(active0, 0x500008000000000L, active1, 0x1L);
       case 117:
-         return jjMoveStringLiteralDfa2_0(active0, 0x7000000000000000L, active1, 0x340L);
+         return jjMoveStringLiteralDfa2_0(active0, 0xe000000000000000L, active1, 0x680L);
       default :
          break;
    }
@@ -536,7 +538,7 @@
 private final int jjMoveStringLiteralDfa2_0(long old0, long active0, long old1, long active1)
 {
    if (((active0 &= old0) | (active1 &= old1)) == 0L)
-      return jjStartNfa_0(0, old0, old1);
+      return jjStartNfa_0(0, old0, old1); 
    try { curChar = input_stream.readChar(); }
    catch(java.io.IOException e) {
       jjStopStringLiteralDfa_0(1, active0, active1);
@@ -545,9 +547,9 @@
    switch(curChar)
    {
       case 97:
-         return jjMoveStringLiteralDfa3_0(active0, 0x400000000000000L, active1, 0x2L);
+         return jjMoveStringLiteralDfa3_0(active0, 0x400000000000000L, active1, 0x4L);
       case 98:
-         return jjMoveStringLiteralDfa3_0(active0, 0x7000000000000000L, active1, 0L);
+         return jjMoveStringLiteralDfa3_0(active0, 0xe000000000000000L, active1, 0L);
       case 99:
          return jjMoveStringLiteralDfa3_0(active0, 0x20104000000000L, active1, 0L);
       case 100:
@@ -555,31 +557,31 @@
             return jjStartNfaWithStates_0(2, 28, 12);
          else if ((active0 & 0x20000000L) != 0L)
             return jjStartNfaWithStates_0(2, 29, 12);
-         return jjMoveStringLiteralDfa3_0(active0, 0x80000000L, active1, 0L);
+         return jjMoveStringLiteralDfa3_0(active0, 0x800000080000000L, active1, 0L);
       case 101:
          return jjMoveStringLiteralDfa3_0(active0, 0x420000000000L, active1, 0L);
       case 105:
-         return jjMoveStringLiteralDfa3_0(active0, 0x1000000000L, active1, 0x800L);
+         return jjMoveStringLiteralDfa3_0(active0, 0x1000000000L, active1, 0x1000L);
       case 108:
-         return jjMoveStringLiteralDfa3_0(active0, 0x240800000000L, active1, 0x60L);
+         return jjMoveStringLiteralDfa3_0(active0, 0x240800000000L, active1, 0xc0L);
       case 109:
-         if ((active1 & 0x200L) != 0L)
-            return jjStartNfaWithStates_0(2, 73, 12);
-         return jjMoveStringLiteralDfa3_0(active0, 0xc0010200000000L, active1, 0x100L);
+         if ((active1 & 0x400L) != 0L)
+            return jjStartNfaWithStates_0(2, 74, 12);
+         return jjMoveStringLiteralDfa3_0(active0, 0xc0010200000000L, active1, 0x200L);
       case 110:
-         return jjMoveStringLiteralDfa3_0(active0, 0xa00000000000000L, active1, 0x80L);
+         return jjMoveStringLiteralDfa3_0(active0, 0x1200000000000000L, active1, 0x100L);
       case 111:
-         return jjMoveStringLiteralDfa3_0(active0, 0x400000000L, active1, 0x404L);
+         return jjMoveStringLiteralDfa3_0(active0, 0x400000000L, active1, 0x808L);
       case 114:
-         return jjMoveStringLiteralDfa3_0(active0, 0x8100002000000000L, active1, 0x2001L);
+         return jjMoveStringLiteralDfa3_0(active0, 0x100002000000000L, active1, 0x4003L);
       case 115:
          return jjMoveStringLiteralDfa3_0(active0, 0x3880000000000L, active1, 0L);
       case 116:
-         if ((active1 & 0x8L) != 0L)
-            return jjStartNfaWithStates_0(2, 67, 12);
+         if ((active1 & 0x10L) != 0L)
+            return jjStartNfaWithStates_0(2, 68, 12);
          return jjMoveStringLiteralDfa3_0(active0, 0x8000000000L, active1, 0L);
       case 117:
-         return jjMoveStringLiteralDfa3_0(active0, 0x4000000000000L, active1, 0x1010L);
+         return jjMoveStringLiteralDfa3_0(active0, 0x4000000000000L, active1, 0x2020L);
       case 118:
          if ((active0 & 0x40000000L) != 0L)
             return jjStartNfaWithStates_0(2, 30, 12);
@@ -598,7 +600,7 @@
 private final int jjMoveStringLiteralDfa3_0(long old0, long active0, long old1, long active1)
 {
    if (((active0 &= old0) | (active1 &= old1)) == 0L)
-      return jjStartNfa_0(1, old0, old1);
+      return jjStartNfa_0(1, old0, old1); 
    try { curChar = input_stream.readChar(); }
    catch(java.io.IOException e) {
       jjStopStringLiteralDfa_0(2, active0, active1);
@@ -609,7 +611,7 @@
       case 97:
          return jjMoveStringLiteralDfa4_0(active0, 0x20000000000000L, active1, 0L);
       case 98:
-         return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x100L);
+         return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x200L);
       case 99:
          return jjMoveStringLiteralDfa4_0(active0, 0x200ca0400000000L, active1, 0L);
       case 101:
@@ -620,37 +622,37 @@
             jjmatchedKind = 55;
             jjmatchedPos = 3;
          }
-         else if ((active1 & 0x10L) != 0L)
-            return jjStartNfaWithStates_0(3, 68, 12);
+         else if ((active1 & 0x20L) != 0L)
+            return jjStartNfaWithStates_0(3, 69, 12);
          return jjMoveStringLiteralDfa4_0(active0, 0x40116000000000L, active1, 0L);
       case 102:
          return jjMoveStringLiteralDfa4_0(active0, 0x800000000L, active1, 0L);
       case 103:
-         if ((active1 & 0x80L) != 0L)
-            return jjStartNfaWithStates_0(3, 71, 12);
+         if ((active1 & 0x100L) != 0L)
+            return jjStartNfaWithStates_0(3, 72, 12);
          break;
       case 105:
-         return jjMoveStringLiteralDfa4_0(active0, 0x8102000000000000L, active1, 0L);
+         return jjMoveStringLiteralDfa4_0(active0, 0x102000000000000L, active1, 0x1L);
       case 108:
-         if ((active1 & 0x40L) != 0L)
-            return jjStartNfaWithStates_0(3, 70, 12);
-         return jjMoveStringLiteralDfa4_0(active0, 0x241000000000L, active1, 0x804L);
+         if ((active1 & 0x80L) != 0L)
+            return jjStartNfaWithStates_0(3, 71, 12);
+         return jjMoveStringLiteralDfa4_0(active0, 0x241000000000L, active1, 0x1008L);
       case 109:
-         return jjMoveStringLiteralDfa4_0(active0, 0x200000000L, active1, 0x2001L);
+         return jjMoveStringLiteralDfa4_0(active0, 0x200000000L, active1, 0x4002L);
       case 110:
-         return jjMoveStringLiteralDfa4_0(active0, 0x4000000000000L, active1, 0x1002L);
+         return jjMoveStringLiteralDfa4_0(active0, 0x4000000000000L, active1, 0x2004L);
       case 111:
-         return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x400L);
+         return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x800L);
       case 114:
          return jjMoveStringLiteralDfa4_0(active0, 0x400008000000000L, active1, 0L);
       case 115:
-         return jjMoveStringLiteralDfa4_0(active0, 0x7000000000000000L, active1, 0x20L);
+         return jjMoveStringLiteralDfa4_0(active0, 0xe800000000000000L, active1, 0x40L);
       case 116:
          if ((active0 & 0x100000000L) != 0L)
             return jjStartNfaWithStates_0(3, 32, 12);
          else if ((active0 & 0x1000000000000L) != 0L)
             return jjStartNfaWithStates_0(3, 48, 12);
-         return jjMoveStringLiteralDfa4_0(active0, 0x800000000000000L, active1, 0L);
+         return jjMoveStringLiteralDfa4_0(active0, 0x1000000000000000L, active1, 0L);
       default :
          break;
    }
@@ -659,7 +661,7 @@
 private final int jjMoveStringLiteralDfa4_0(long old0, long active0, long old1, long active1)
 {
    if (((active0 &= old0) | (active1 &= old1)) == 0L)
-      return jjStartNfa_0(2, old0, old1);
+      return jjStartNfa_0(2, old0, old1); 
    try { curChar = input_stream.readChar(); }
    catch(java.io.IOException e) {
       jjStopStringLiteralDfa_0(3, active0, active1);
@@ -667,36 +669,38 @@
    }
    switch(curChar)
    {
+      case 45:
+         return jjMoveStringLiteralDfa5_0(active0, 0x800000000000000L, active1, 0L);
       case 58:
          return jjMoveStringLiteralDfa5_0(active0, 0x800000000L, active1, 0L);
       case 97:
-         return jjMoveStringLiteralDfa5_0(active0, 0xa00000000000000L, active1, 0x2001L);
+         return jjMoveStringLiteralDfa5_0(active0, 0x1200000000000000L, active1, 0x4002L);
       case 100:
-         if ((active1 & 0x1000L) != 0L)
-            return jjStartNfaWithStates_0(4, 76, 12);
+         if ((active1 & 0x2000L) != 0L)
+            return jjStartNfaWithStates_0(4, 77, 12);
          return jjMoveStringLiteralDfa5_0(active0, 0x1000000000L, active1, 0L);
       case 101:
-         if ((active1 & 0x20L) != 0L)
-            return jjStartNfaWithStates_0(4, 69, 12);
-         return jjMoveStringLiteralDfa5_0(active0, 0xca0600000000L, active1, 0x104L);
+         if ((active1 & 0x40L) != 0L)
+            return jjStartNfaWithStates_0(4, 70, 12);
+         return jjMoveStringLiteralDfa5_0(active0, 0xca0600000000L, active1, 0x208L);
       case 105:
-         return jjMoveStringLiteralDfa5_0(active0, 0x8000000000L, active1, 0x800L);
+         return jjMoveStringLiteralDfa5_0(active0, 0x8000000000L, active1, 0x1000L);
       case 108:
          return jjMoveStringLiteralDfa5_0(active0, 0x20000000000000L, active1, 0L);
       case 110:
-         return jjMoveStringLiteralDfa5_0(active0, 0x8100002000000000L, active1, 0L);
+         return jjMoveStringLiteralDfa5_0(active0, 0x100002000000000L, active1, 0x1L);
       case 111:
          return jjMoveStringLiteralDfa5_0(active0, 0x240000000000L, active1, 0L);
       case 114:
-         if ((active1 & 0x400L) != 0L)
-            return jjStartNfaWithStates_0(4, 74, 12);
+         if ((active1 & 0x800L) != 0L)
+            return jjStartNfaWithStates_0(4, 75, 12);
          break;
       case 115:
-         return jjMoveStringLiteralDfa5_0(active0, 0x40114000000000L, active1, 0x2L);
+         return jjMoveStringLiteralDfa5_0(active0, 0x40114000000000L, active1, 0x4L);
       case 116:
          if ((active0 & 0x4000000000000L) != 0L)
             return jjStartNfaWithStates_0(4, 50, 12);
-         return jjMoveStringLiteralDfa5_0(active0, 0x7402000000000000L, active1, 0L);
+         return jjMoveStringLiteralDfa5_0(active0, 0xe402000000000000L, active1, 0L);
       default :
          break;
    }
@@ -705,7 +709,7 @@
 private final int jjMoveStringLiteralDfa5_0(long old0, long active0, long old1, long active1)
 {
    if (((active0 &= old0) | (active1 &= old1)) == 0L)
-      return jjStartNfa_0(3, old0, old1);
+      return jjStartNfa_0(3, old0, old1); 
    try { curChar = input_stream.readChar(); }
    catch(java.io.IOException e) {
       jjStopStringLiteralDfa_0(4, active0, active1);
@@ -720,7 +724,7 @@
             return jjStopAtPos(5, 35);
          return jjMoveStringLiteralDfa6_0(active0, 0x1000000000L, active1, 0L);
       case 97:
-         return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x4L);
+         return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x8L);
       case 98:
          return jjMoveStringLiteralDfa6_0(active0, 0x8000000000L, active1, 0L);
       case 100:
@@ -731,27 +735,27 @@
             jjmatchedKind = 56;
             jjmatchedPos = 5;
          }
-         return jjMoveStringLiteralDfa6_0(active0, 0x8000000000000000L, active1, 0L);
+         return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x1L);
       case 105:
-         return jjMoveStringLiteralDfa6_0(active0, 0x802000000000000L, active1, 0L);
+         return jjMoveStringLiteralDfa6_0(active0, 0x1002000000000000L, active1, 0L);
       case 108:
-         return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x3L);
+         return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x6L);
       case 110:
-         return jjMoveStringLiteralDfa6_0(active0, 0x880200000000L, active1, 0x800L);
+         return jjMoveStringLiteralDfa6_0(active0, 0x880200000000L, active1, 0x1000L);
       case 112:
          return jjMoveStringLiteralDfa6_0(active0, 0x40010000000000L, active1, 0L);
       case 114:
-         if ((active1 & 0x100L) != 0L)
-            return jjStartNfaWithStates_0(5, 72, 12);
-         return jjMoveStringLiteralDfa6_0(active0, 0x7000000000000000L, active1, 0L);
+         if ((active1 & 0x200L) != 0L)
+            return jjStartNfaWithStates_0(5, 73, 12);
+         return jjMoveStringLiteralDfa6_0(active0, 0xe000000000000000L, active1, 0L);
       case 115:
          return jjMoveStringLiteralDfa6_0(active0, 0x400000400000000L, active1, 0L);
       case 116:
          if ((active0 & 0x200000000000000L) != 0L)
             return jjStartNfaWithStates_0(5, 57, 12);
-         return jjMoveStringLiteralDfa6_0(active0, 0x106000000000L, active1, 0x2000L);
+         return jjMoveStringLiteralDfa6_0(active0, 0x106000000000L, active1, 0x4000L);
       case 119:
-         return jjMoveStringLiteralDfa6_0(active0, 0x240000000000L, active1, 0L);
+         return jjMoveStringLiteralDfa6_0(active0, 0x800240000000000L, active1, 0L);
       default :
          break;
    }
@@ -760,7 +764,7 @@
 private final int jjMoveStringLiteralDfa6_0(long old0, long active0, long old1, long active1)
 {
    if (((active0 &= old0) | (active1 &= old1)) == 0L)
-      return jjStartNfa_0(4, old0, old1);
+      return jjStartNfa_0(4, old0, old1); 
    try { curChar = input_stream.readChar(); }
    catch(java.io.IOException e) {
       jjStopStringLiteralDfa_0(5, active0, active1);
@@ -769,25 +773,25 @@
    switch(curChar)
    {
       case 45:
-         return jjMoveStringLiteralDfa7_0(active0, 0x8400000000000000L, active1, 0x2000L);
+         return jjMoveStringLiteralDfa7_0(active0, 0x400000000000000L, active1, 0x4001L);
       case 58:
          if ((active0 & 0x1000000000L) != 0L)
             return jjStopAtPos(6, 36);
          return jjMoveStringLiteralDfa7_0(active0, 0x2000000000L, active1, 0L);
       case 97:
-         return jjMoveStringLiteralDfa7_0(active0, 0x40010000000000L, active1, 0x2L);
+         return jjMoveStringLiteralDfa7_0(active0, 0x40010000000000L, active1, 0x4L);
       case 100:
          return jjMoveStringLiteralDfa7_0(active0, 0x880000000000L, active1, 0L);
       case 103:
-         if ((active1 & 0x800L) != 0L)
-            return jjStartNfaWithStates_0(6, 75, 12);
+         if ((active1 & 0x1000L) != 0L)
+            return jjStartNfaWithStates_0(6, 76, 12);
          break;
       case 105:
-         return jjMoveStringLiteralDfa7_0(active0, 0x7000660000000000L, active1, 0x1L);
+         return jjMoveStringLiteralDfa7_0(active0, 0xe800660000000000L, active1, 0x2L);
       case 110:
-         if ((active1 & 0x4L) != 0L)
-            return jjStartNfaWithStates_0(6, 66, 12);
-         return jjMoveStringLiteralDfa7_0(active0, 0x820000000000000L, active1, 0L);
+         if ((active1 & 0x8L) != 0L)
+            return jjStartNfaWithStates_0(6, 67, 12);
+         return jjMoveStringLiteralDfa7_0(active0, 0x1020000000000000L, active1, 0L);
       case 111:
          return jjMoveStringLiteralDfa7_0(active0, 0x2104000000000L, active1, 0L);
       case 115:
@@ -806,7 +810,7 @@
 private final int jjMoveStringLiteralDfa7_0(long old0, long active0, long old1, long active1)
 {
    if (((active0 &= old0) | (active1 &= old1)) == 0L)
-      return jjStartNfa_0(5, old0, old1);
+      return jjStartNfa_0(5, old0, old1); 
    try { curChar = input_stream.readChar(); }
    catch(java.io.IOException e) {
       jjStopStringLiteralDfa_0(6, active0, active1);
@@ -825,23 +829,23 @@
       case 105:
          return jjMoveStringLiteralDfa8_0(active0, 0x400000000L, active1, 0L);
       case 108:
-         return jjMoveStringLiteralDfa8_0(active0, 0x8000000000000000L, active1, 0L);
+         return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x1L);
       case 110:
          if ((active0 & 0x2000000000000L) != 0L)
             return jjStartNfaWithStates_0(7, 49, 12);
-         return jjMoveStringLiteralDfa8_0(active0, 0x7000660000000000L, active1, 0x2000L);
+         return jjMoveStringLiteralDfa8_0(active0, 0xe000660000000000L, active1, 0x4000L);
       case 114:
          return jjMoveStringLiteralDfa8_0(active0, 0x104000000000L, active1, 0L);
       case 115:
-         if ((active0 & 0x800000000000000L) != 0L)
-            return jjStartNfaWithStates_0(7, 59, 12);
+         if ((active0 & 0x1000000000000000L) != 0L)
+            return jjStartNfaWithStates_0(7, 60, 12);
          break;
       case 116:
-         return jjMoveStringLiteralDfa8_0(active0, 0x8000000000L, active1, 0x2L);
+         return jjMoveStringLiteralDfa8_0(active0, 0x800008000000000L, active1, 0x4L);
       case 119:
          return jjMoveStringLiteralDfa8_0(active0, 0x400000000000000L, active1, 0L);
       case 122:
-         return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x1L);
+         return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x2L);
       default :
          break;
    }
@@ -850,7 +854,7 @@
 private final int jjMoveStringLiteralDfa8_0(long old0, long active0, long old1, long active1)
 {
    if (((active0 &= old0) | (active1 &= old1)) == 0L)
-      return jjStartNfa_0(6, old0, old1);
+      return jjStartNfa_0(6, old0, old1); 
    try { curChar = input_stream.readChar(); }
    catch(java.io.IOException e) {
       jjStopStringLiteralDfa_0(7, active0, active1);
@@ -863,16 +867,20 @@
       case 58:
          return jjMoveStringLiteralDfa9_0(active0, 0x4000000000L, active1, 0L);
       case 101:
-         if ((active1 & 0x2L) != 0L)
-            return jjStartNfaWithStates_0(8, 65, 12);
-         return jjMoveStringLiteralDfa9_0(active0, 0x8040018000000000L, active1, 0x1L);
+         if ((active1 & 0x4L) != 0L)
+            return jjStartNfaWithStates_0(8, 66, 12);
+         return jjMoveStringLiteralDfa9_0(active0, 0x40018000000000L, active1, 0x3L);
       case 103:
-         if ((active0 & 0x4000000000000000L) != 0L)
+         if ((active0 & 0x8000000000000000L) != 0L)
          {
-            jjmatchedKind = 62;
+            jjmatchedKind = 63;
             jjmatchedPos = 8;
          }
-         return jjMoveStringLiteralDfa9_0(active0, 0x3000660000000000L, active1, 0L);
+         return jjMoveStringLiteralDfa9_0(active0, 0x6000660000000000L, active1, 0L);
+      case 104:
+         if ((active0 & 0x800000000000000L) != 0L)
+            return jjStartNfaWithStates_0(8, 59, 12);
+         break;
       case 105:
          return jjMoveStringLiteralDfa9_0(active0, 0x400000000000000L, active1, 0L);
       case 109:
@@ -880,7 +888,7 @@
       case 110:
          return jjMoveStringLiteralDfa9_0(active0, 0x880400000000L, active1, 0L);
       case 117:
-         return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0x2000L);
+         return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0x4000L);
       default :
          break;
    }
@@ -889,7 +897,7 @@
 private final int jjMoveStringLiteralDfa9_0(long old0, long active0, long old1, long active1)
 {
    if (((active0 &= old0) | (active1 &= old1)) == 0L)
-      return jjStartNfa_0(7, old0, old1);
+      return jjStartNfa_0(7, old0, old1); 
    try { curChar = input_stream.readChar(); }
    catch(java.io.IOException e) {
       jjStopStringLiteralDfa_0(8, active0, active1);
@@ -898,7 +906,7 @@
    switch(curChar)
    {
       case 45:
-         return jjMoveStringLiteralDfa10_0(active0, 0x3040600000000000L, active1, 0x1L);
+         return jjMoveStringLiteralDfa10_0(active0, 0x6040600000000000L, active1, 0x2L);
       case 58:
          if ((active0 & 0x4000000000L) != 0L)
             return jjStopAtPos(9, 38);
@@ -910,9 +918,9 @@
       case 103:
          return jjMoveStringLiteralDfa10_0(active0, 0x400000000L, active1, 0L);
       case 109:
-         return jjMoveStringLiteralDfa10_0(active0, 0L, active1, 0x2000L);
+         return jjMoveStringLiteralDfa10_0(active0, 0L, active1, 0x4000L);
       case 110:
-         return jjMoveStringLiteralDfa10_0(active0, 0x8000000000000000L, active1, 0L);
+         return jjMoveStringLiteralDfa10_0(active0, 0L, active1, 0x1L);
       case 111:
          return jjMoveStringLiteralDfa10_0(active0, 0x100000000000L, active1, 0L);
       case 116:
@@ -925,7 +933,7 @@
 private final int jjMoveStringLiteralDfa10_0(long old0, long active0, long old1, long active1)
 {
    if (((active0 &= old0) | (active1 &= old1)) == 0L)
-      return jjStartNfa_0(8, old0, old1);
+      return jjStartNfa_0(8, old0, old1); 
    try { curChar = input_stream.readChar(); }
    catch(java.io.IOException e) {
       jjStopStringLiteralDfa_0(9, active0, active1);
@@ -946,11 +954,11 @@
             return jjStopAtPos(10, 42);
          return jjMoveStringLiteralDfa11_0(active0, 0x80000000000L, active1, 0L);
       case 97:
-         return jjMoveStringLiteralDfa11_0(active0, 0x2000000000000000L, active1, 0L);
+         return jjMoveStringLiteralDfa11_0(active0, 0x4000000000000000L, active1, 0L);
       case 98:
-         return jjMoveStringLiteralDfa11_0(active0, 0x1000000000000000L, active1, 0x2000L);
+         return jjMoveStringLiteralDfa11_0(active0, 0x2000000000000000L, active1, 0x4000L);
       case 103:
-         return jjMoveStringLiteralDfa11_0(active0, 0x8000000000000000L, active1, 0L);
+         return jjMoveStringLiteralDfa11_0(active0, 0L, active1, 0x1L);
       case 104:
          if ((active0 & 0x400000000000000L) != 0L)
             return jjStartNfaWithStates_0(10, 58, 12);
@@ -958,7 +966,7 @@
       case 114:
          return jjMoveStringLiteralDfa11_0(active0, 0x100000000000L, active1, 0L);
       case 115:
-         return jjMoveStringLiteralDfa11_0(active0, 0x600000000000L, active1, 0x1L);
+         return jjMoveStringLiteralDfa11_0(active0, 0x600000000000L, active1, 0x2L);
       case 117:
          return jjMoveStringLiteralDfa11_0(active0, 0x40000000000000L, active1, 0L);
       default :
@@ -969,7 +977,7 @@
 private final int jjMoveStringLiteralDfa11_0(long old0, long active0, long old1, long active1)
 {
    if (((active0 &= old0) | (active1 &= old1)) == 0L)
-      return jjStartNfa_0(9, old0, old1);
+      return jjStartNfa_0(9, old0, old1); 
    try { curChar = input_stream.readChar(); }
    catch(java.io.IOException e) {
       jjStopStringLiteralDfa_0(10, active0, active1);
@@ -984,19 +992,19 @@
             return jjStopAtPos(11, 43);
          break;
       case 101:
-         return jjMoveStringLiteralDfa12_0(active0, 0x1000000000000000L, active1, 0x2000L);
+         return jjMoveStringLiteralDfa12_0(active0, 0x2000000000000000L, active1, 0x4000L);
       case 102:
-         return jjMoveStringLiteralDfa12_0(active0, 0x2000000000000000L, active1, 0L);
+         return jjMoveStringLiteralDfa12_0(active0, 0x4000000000000000L, active1, 0L);
       case 105:
          return jjMoveStringLiteralDfa12_0(active0, 0x600400000000L, active1, 0L);
       case 111:
          return jjMoveStringLiteralDfa12_0(active0, 0x800000000000L, active1, 0L);
       case 112:
-         return jjMoveStringLiteralDfa12_0(active0, 0L, active1, 0x1L);
+         return jjMoveStringLiteralDfa12_0(active0, 0L, active1, 0x2L);
       case 114:
          return jjMoveStringLiteralDfa12_0(active0, 0x40000000000000L, active1, 0L);
       case 116:
-         return jjMoveStringLiteralDfa12_0(active0, 0x8000000000000000L, active1, 0L);
+         return jjMoveStringLiteralDfa12_0(active0, 0L, active1, 0x1L);
       default :
          break;
    }
@@ -1005,7 +1013,7 @@
 private final int jjMoveStringLiteralDfa12_0(long old0, long active0, long old1, long active1)
 {
    if (((active0 &= old0) | (active1 &= old1)) == 0L)
-      return jjStartNfa_0(10, old0, old1);
+      return jjStartNfa_0(10, old0, old1); 
    try { curChar = input_stream.readChar(); }
    catch(java.io.IOException e) {
       jjStopStringLiteralDfa_0(11, active0, active1);
@@ -1014,14 +1022,14 @@
    switch(curChar)
    {
       case 97:
-         return jjMoveStringLiteralDfa13_0(active0, 0L, active1, 0x1L);
+         return jjMoveStringLiteralDfa13_0(active0, 0L, active1, 0x2L);
       case 98:
          return jjMoveStringLiteralDfa13_0(active0, 0x600000000000L, active1, 0L);
       case 102:
-         return jjMoveStringLiteralDfa13_0(active0, 0x1000000000000000L, active1, 0L);
+         return jjMoveStringLiteralDfa13_0(active0, 0x2000000000000000L, active1, 0L);
       case 104:
-         if ((active0 & 0x8000000000000000L) != 0L)
-            return jjStartNfaWithStates_0(12, 63, 12);
+         if ((active1 & 0x1L) != 0L)
+            return jjStartNfaWithStates_0(12, 64, 12);
          break;
       case 105:
          if ((active0 & 0x40000000000000L) != 0L)
@@ -1030,13 +1038,13 @@
       case 110:
          return jjMoveStringLiteralDfa13_0(active0, 0x400000000L, active1, 0L);
       case 114:
-         if ((active1 & 0x2000L) != 0L)
-            return jjStartNfaWithStates_0(12, 77, 12);
+         if ((active1 & 0x4000L) != 0L)
+            return jjStartNfaWithStates_0(12, 78, 12);
          return jjMoveStringLiteralDfa13_0(active0, 0x800000000000L, active1, 0L);
       case 115:
          return jjMoveStringLiteralDfa13_0(active0, 0x100000000000L, active1, 0L);
       case 116:
-         return jjMoveStringLiteralDfa13_0(active0, 0x2000000000000000L, active1, 0L);
+         return jjMoveStringLiteralDfa13_0(active0, 0x4000000000000000L, active1, 0L);
       default :
          break;
    }
@@ -1045,7 +1053,7 @@
 private final int jjMoveStringLiteralDfa13_0(long old0, long active0, long old1, long active1)
 {
    if (((active0 &= old0) | (active1 &= old1)) == 0L)
-      return jjStartNfa_0(11, old0, old1);
+      return jjStartNfa_0(11, old0, old1); 
    try { curChar = input_stream.readChar(); }
    catch(java.io.IOException e) {
       jjStopStringLiteralDfa_0(12, active0, active1);
@@ -1056,13 +1064,13 @@
       case 45:
          return jjMoveStringLiteralDfa14_0(active0, 0x800000000000L, active1, 0L);
       case 99:
-         return jjMoveStringLiteralDfa14_0(active0, 0L, active1, 0x1L);
+         return jjMoveStringLiteralDfa14_0(active0, 0L, active1, 0x2L);
       case 101:
-         return jjMoveStringLiteralDfa14_0(active0, 0x2000100000000000L, active1, 0L);
+         return jjMoveStringLiteralDfa14_0(active0, 0x4000100000000000L, active1, 0L);
       case 108:
          return jjMoveStringLiteralDfa14_0(active0, 0x600000000000L, active1, 0L);
       case 111:
-         return jjMoveStringLiteralDfa14_0(active0, 0x1000000000000000L, active1, 0L);
+         return jjMoveStringLiteralDfa14_0(active0, 0x2000000000000000L, active1, 0L);
       case 115:
          return jjMoveStringLiteralDfa14_0(active0, 0x400000000L, active1, 0L);
       default :
@@ -1073,7 +1081,7 @@
 private final int jjMoveStringLiteralDfa14_0(long old0, long active0, long old1, long active1)
 {
    if (((active0 &= old0) | (active1 &= old1)) == 0L)
-      return jjStartNfa_0(12, old0, old1);
+      return jjStartNfa_0(12, old0, old1); 
    try { curChar = input_stream.readChar(); }
    catch(java.io.IOException e) {
       jjStopStringLiteralDfa_0(13, active0, active1);
@@ -1082,17 +1090,17 @@
    switch(curChar)
    {
       case 101:
-         if ((active1 & 0x1L) != 0L)
-            return jjStartNfaWithStates_0(14, 64, 12);
+         if ((active1 & 0x2L) != 0L)
+            return jjStartNfaWithStates_0(14, 65, 12);
          break;
       case 105:
          return jjMoveStringLiteralDfa15_0(active0, 0x600000000000L, active1, 0L);
       case 108:
          return jjMoveStringLiteralDfa15_0(active0, 0x100000000000L, active1, 0L);
       case 114:
-         if ((active0 & 0x2000000000000000L) != 0L)
-            return jjStartNfaWithStates_0(14, 61, 12);
-         return jjMoveStringLiteralDfa15_0(active0, 0x1000000000000000L, active1, 0L);
+         if ((active0 & 0x4000000000000000L) != 0L)
+            return jjStartNfaWithStates_0(14, 62, 12);
+         return jjMoveStringLiteralDfa15_0(active0, 0x2000000000000000L, active1, 0L);
       case 115:
          return jjMoveStringLiteralDfa15_0(active0, 0x800000000000L, active1, 0L);
       case 116:
@@ -1105,7 +1113,7 @@
 private final int jjMoveStringLiteralDfa15_0(long old0, long active0, long old1, long active1)
 {
    if (((active0 &= old0) | (active1 &= old1)) == 0L)
-      return jjStartNfa_0(13, old0, old1);
+      return jjStartNfa_0(13, old0, old1); 
    try { curChar = input_stream.readChar(); }
    catch(java.io.IOException e) {
       jjStopStringLiteralDfa_0(14, active0, 0L);
@@ -1114,8 +1122,8 @@
    switch(curChar)
    {
       case 101:
-         if ((active0 & 0x1000000000000000L) != 0L)
-            return jjStartNfaWithStates_0(15, 60, 12);
+         if ((active0 & 0x2000000000000000L) != 0L)
+            return jjStartNfaWithStates_0(15, 61, 12);
          return jjMoveStringLiteralDfa16_0(active0, 0x800000000000L);
       case 102:
          return jjMoveStringLiteralDfa16_0(active0, 0x100000000000L);
@@ -1501,8 +1509,8 @@
                case 12:
                   if ((0x3ff600000000000L & l) == 0L)
                      break;
-                  if (kind > 78)
-                     kind = 78;
+                  if (kind > 79)
+                     kind = 79;
                   jjstateSet[jjnewStateCnt++] = 12;
                   break;
                default : break;
@@ -1520,8 +1528,8 @@
                case 12:
                   if ((0x7fffffe87fffffeL & l) == 0L)
                      break;
-                  if (kind > 78)
-                     kind = 78;
+                  if (kind > 79)
+                     kind = 79;
                   jjCheckNAdd(12);
                   break;
                case 1:
@@ -1548,8 +1556,8 @@
                case 0:
                   if (!jjCanMove_1(hiByte, i1, i2, l1, l2))
                      break;
-                  if (kind > 78)
-                     kind = 78;
+                  if (kind > 79)
+                     kind = 79;
                   jjCheckNAdd(12);
                   break;
                case 1:
@@ -1563,8 +1571,8 @@
                case 12:
                   if (!jjCanMove_2(hiByte, i1, i2, l1, l2))
                      break;
-                  if (kind > 78)
-                     kind = 78;
+                  if (kind > 79)
+                     kind = 79;
                   jjCheckNAdd(12);
                   break;
                default : break;
@@ -1585,7 +1593,7 @@
    }
 }
 static final int[] jjnextStates = {
-   1, 2, 4, 5,
+   1, 2, 4, 5, 
 };
 private static final boolean jjCanMove_0(int hiByte, int i1, int i2, long l1, long l2)
 {
@@ -1593,7 +1601,7 @@
    {
       case 0:
          return ((jjbitVec2[i2] & l2) != 0L);
-      default :
+      default : 
          if ((jjbitVec0[i1] & l1) != 0L)
             return true;
          return false;
@@ -1649,7 +1657,7 @@
          return ((jjbitVec25[i2] & l2) != 0L);
       case 215:
          return ((jjbitVec26[i2] & l2) != 0L);
-      default :
+      default : 
          if ((jjbitVec3[i1] & l1) != 0L)
             return true;
          return false;
@@ -1707,42 +1715,42 @@
          return ((jjbitVec25[i2] & l2) != 0L);
       case 215:
          return ((jjbitVec26[i2] & l2) != 0L);
-      default :
+      default : 
          if ((jjbitVec3[i1] & l1) != 0L)
             return true;
          return false;
    }
 }
 public static final String[] jjstrLiteralImages = {
-"", null, null, null, null, null, "\57", "\57\57", "\174", "\53", "\55",
-"\75", "\41\75", "\74", "\74\75", "\76", "\76\75", "\44", null, null, null, null,
-null, null, null, null, null, "\157\162", "\141\156\144", "\155\157\144",
-"\144\151\166", "\156\157\144\145", "\164\145\170\164", "\143\157\155\155\145\156\164",
-"\160\162\157\143\145\163\163\151\156\147\55\151\156\163\164\162\165\143\164\151\157\156", "\163\145\154\146\72\72", "\143\150\151\154\144\72\72",
-"\160\141\162\145\156\164\72\72", "\141\156\143\145\163\164\157\162\72\72",
-"\141\164\164\162\151\142\165\164\145\72\72", "\156\141\155\145\163\160\141\143\145\72\72",
-"\160\162\145\143\145\144\151\156\147\72\72", "\146\157\154\154\157\167\151\156\147\72\72",
-"\144\145\163\143\145\156\144\141\156\164\72\72", "\141\156\143\145\163\164\157\162\55\157\162\55\163\145\154\146\72\72",
-"\146\157\154\154\157\167\151\156\147\55\163\151\142\154\151\156\147\72\72", "\160\162\145\143\145\144\151\156\147\55\163\151\142\154\151\156\147\72\72",
-"\144\145\163\143\145\156\144\141\156\164\55\157\162\55\163\145\154\146\72\72", "\154\141\163\164", "\160\157\163\151\164\151\157\156",
-"\143\157\165\156\164", "\151\144", "\153\145\171", "\154\157\143\141\154\55\156\141\155\145",
-"\156\141\155\145\163\160\141\143\145\55\165\162\151", "\156\141\155\145", "\163\164\162\151\156\147", "\143\157\156\143\141\164",
-"\163\164\141\162\164\163\55\167\151\164\150", "\143\157\156\164\141\151\156\163",
-"\163\165\142\163\164\162\151\156\147\55\142\145\146\157\162\145", "\163\165\142\163\164\162\151\156\147\55\141\146\164\145\162",
-"\163\165\142\163\164\162\151\156\147", "\163\164\162\151\156\147\55\154\145\156\147\164\150",
-"\156\157\162\155\141\154\151\172\145\55\163\160\141\143\145", "\164\162\141\156\163\154\141\164\145", "\142\157\157\154\145\141\156",
-"\156\157\164", "\164\162\165\145", "\146\141\154\163\145", "\156\165\154\154",
-"\154\141\156\147", "\156\165\155\142\145\162", "\163\165\155", "\146\154\157\157\162",
-"\143\145\151\154\151\156\147", "\162\157\165\156\144", "\146\157\162\155\141\164\55\156\165\155\142\145\162",
+"", null, null, null, null, null, "\57", "\57\57", "\174", "\53", "\55", 
+"\75", "\41\75", "\74", "\74\75", "\76", "\76\75", "\44", null, null, null, null, 
+null, null, null, null, null, "\157\162", "\141\156\144", "\155\157\144", 
+"\144\151\166", "\156\157\144\145", "\164\145\170\164", "\143\157\155\155\145\156\164", 
+"\160\162\157\143\145\163\163\151\156\147\55\151\156\163\164\162\165\143\164\151\157\156", "\163\145\154\146\72\72", "\143\150\151\154\144\72\72", 
+"\160\141\162\145\156\164\72\72", "\141\156\143\145\163\164\157\162\72\72", 
+"\141\164\164\162\151\142\165\164\145\72\72", "\156\141\155\145\163\160\141\143\145\72\72", 
+"\160\162\145\143\145\144\151\156\147\72\72", "\146\157\154\154\157\167\151\156\147\72\72", 
+"\144\145\163\143\145\156\144\141\156\164\72\72", "\141\156\143\145\163\164\157\162\55\157\162\55\163\145\154\146\72\72", 
+"\146\157\154\154\157\167\151\156\147\55\163\151\142\154\151\156\147\72\72", "\160\162\145\143\145\144\151\156\147\55\163\151\142\154\151\156\147\72\72", 
+"\144\145\163\143\145\156\144\141\156\164\55\157\162\55\163\145\154\146\72\72", "\154\141\163\164", "\160\157\163\151\164\151\157\156", 
+"\143\157\165\156\164", "\151\144", "\153\145\171", "\154\157\143\141\154\55\156\141\155\145", 
+"\156\141\155\145\163\160\141\143\145\55\165\162\151", "\156\141\155\145", "\163\164\162\151\156\147", "\143\157\156\143\141\164", 
+"\163\164\141\162\164\163\55\167\151\164\150", "\145\156\144\163\55\167\151\164\150", "\143\157\156\164\141\151\156\163", 
+"\163\165\142\163\164\162\151\156\147\55\142\145\146\157\162\145", "\163\165\142\163\164\162\151\156\147\55\141\146\164\145\162", 
+"\163\165\142\163\164\162\151\156\147", "\163\164\162\151\156\147\55\154\145\156\147\164\150", 
+"\156\157\162\155\141\154\151\172\145\55\163\160\141\143\145", "\164\162\141\156\163\154\141\164\145", "\142\157\157\154\145\141\156", 
+"\156\157\164", "\164\162\165\145", "\146\141\154\163\145", "\156\165\154\154", 
+"\154\141\156\147", "\156\165\155\142\145\162", "\163\165\155", "\146\154\157\157\162", 
+"\143\145\151\154\151\156\147", "\162\157\165\156\144", "\146\157\162\155\141\164\55\156\165\155\142\145\162", 
 null, "\72", "\50", "\51", "\56", "\56\56", "\133", "\135", "\100", "\54", "\52", };
 public static final String[] lexStateNames = {
-   "DEFAULT",
+   "DEFAULT", 
 };
 static final long[] jjtoToken = {
-   0xfffffffff817ffc1L, 0x1ffffffL,
+   0xfffffffff817ffc1L, 0x3ffffffL, 
 };
 static final long[] jjtoSkip = {
-   0x3eL, 0x0L,
+   0x3eL, 0x0L, 
 };
 protected SimpleCharStream input_stream;
 private final int[] jjrounds = new int[13];
@@ -1806,7 +1814,7 @@
 int jjmatchedPos;
 int jjmatchedKind;
 
-public Token getNextToken()
+public Token getNextToken() 
 {
   int kind;
   Token specialToken = null;
@@ -1815,13 +1823,13 @@
 
   EOFLoop :
   for (;;)
-  {
-   try
-   {
+  {   
+   try   
+   {     
       curChar = input_stream.BeginToken();
-   }
+   }     
    catch(java.io.IOException e)
-   {
+   {        
       jjmatchedKind = 0;
       matchedToken = jjFillToken();
       return matchedToken;

Modified: commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/parser/jcc.bat
URL: http://svn.apache.org/viewvc/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/parser/jcc.bat?rev=779915&r1=779914&r2=779915&view=diff
==============================================================================
--- commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/parser/jcc.bat (original)
+++ commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/parser/jcc.bat Fri May 29 10:23:40 2009
@@ -1,3 +1,5 @@
+@echo off
+
 rem * Licensed to the Apache Software Foundation (ASF) under one or more
 rem * contributor license agreements.  See the NOTICE file distributed with
 rem * this work for additional information regarding copyright ownership.
@@ -13,9 +15,7 @@
 rem * See the License for the specific language governing permissions and
 rem * limitations under the License.
 
-@echo off
-
 set JAVACC_HOME=c:\tools\javacc-3.0
 
 call %JAVACC_HOME%\bin\javacc.bat XPath.jj
-call %JAVACC_HOME%\bin\jjdoc.bat  XPath.jj
\ No newline at end of file
+call %JAVACC_HOME%\bin\jjdoc.bat  XPath.jj

Modified: commons/proper/jxpath/trunk/src/test/org/apache/commons/jxpath/ri/JXPathCompiledExpressionTest.java
URL: http://svn.apache.org/viewvc/commons/proper/jxpath/trunk/src/test/org/apache/commons/jxpath/ri/JXPathCompiledExpressionTest.java?rev=779915&r1=779914&r2=779915&view=diff
==============================================================================
--- commons/proper/jxpath/trunk/src/test/org/apache/commons/jxpath/ri/JXPathCompiledExpressionTest.java (original)
+++ commons/proper/jxpath/trunk/src/test/org/apache/commons/jxpath/ri/JXPathCompiledExpressionTest.java Fri May 29 10:23:40 2009
@@ -70,6 +70,7 @@
         assertXPathExpression("string(3)", CoreFunction.class);
         assertXPathExpression("concat('a', 'b')", CoreFunction.class);
         assertXPathExpression("starts-with('a', 'b')", CoreFunction.class);
+        assertXPathExpression("ends-with('a', 'b')", CoreFunction.class);
         assertXPathExpression("contains('a', 'b')", CoreFunction.class);
         assertXPathExpression("substring-before('a', 1)", CoreFunction.class);
         assertXPathExpression("substring-after('a', 2)", CoreFunction.class);

Modified: commons/proper/jxpath/trunk/src/test/org/apache/commons/jxpath/ri/compiler/CoreFunctionTest.java
URL: http://svn.apache.org/viewvc/commons/proper/jxpath/trunk/src/test/org/apache/commons/jxpath/ri/compiler/CoreFunctionTest.java?rev=779915&r1=779914&r2=779915&view=diff
==============================================================================
--- commons/proper/jxpath/trunk/src/test/org/apache/commons/jxpath/ri/compiler/CoreFunctionTest.java (original)
+++ commons/proper/jxpath/trunk/src/test/org/apache/commons/jxpath/ri/compiler/CoreFunctionTest.java Fri May 29 10:23:40 2009
@@ -59,6 +59,8 @@
         assertXPathValue(context, "concat('a', 'b', 'c')", "abc");
         assertXPathValue(context, "starts-with('abc', 'ab')", Boolean.TRUE);
         assertXPathValue(context, "starts-with('xabc', 'ab')", Boolean.FALSE);
+        assertXPathValue(context, "ends-with('abc', 'bc')", Boolean.TRUE);
+        assertXPathValue(context, "ends-with('xabc', 'ab')", Boolean.FALSE);
         assertXPathValue(context, "contains('xabc', 'ab')", Boolean.TRUE);
         assertXPathValue(context, "contains('xabc', 'ba')", Boolean.FALSE);
         assertXPathValue(