You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by st...@apache.org on 2007/12/03 19:42:10 UTC

svn commit: r600627 - in /lucene/hadoop/trunk/src/contrib/hbase: ./ src/java/org/apache/hadoop/hbase/shell/ src/java/org/apache/hadoop/hbase/shell/generated/

Author: stack
Date: Mon Dec  3 10:42:09 2007
New Revision: 600627

URL: http://svn.apache.org/viewvc?rev=600627&view=rev
Log:
HADOOP-2332 Meta table data selection in Hbase Shell

Modified:
    lucene/hadoop/trunk/src/contrib/hbase/CHANGES.txt
    lucene/hadoop/trunk/src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/HBaseShell.jj
    lucene/hadoop/trunk/src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/SelectCommand.java
    lucene/hadoop/trunk/src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/generated/Parser.java
    lucene/hadoop/trunk/src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/generated/ParserConstants.java
    lucene/hadoop/trunk/src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/generated/ParserTokenManager.java

Modified: lucene/hadoop/trunk/src/contrib/hbase/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/hadoop/trunk/src/contrib/hbase/CHANGES.txt?rev=600627&r1=600626&r2=600627&view=diff
==============================================================================
--- lucene/hadoop/trunk/src/contrib/hbase/CHANGES.txt (original)
+++ lucene/hadoop/trunk/src/contrib/hbase/CHANGES.txt Mon Dec  3 10:42:09 2007
@@ -52,6 +52,8 @@
                test to time out
    HADOOP-2315 REST servlet doesn't treat / characters in row key correctly
                (Bryan Duxbury via Stack)
+   HADOOP-2332 Meta table data selection in Hbase Shell
+               (Edward Yoon via Stack)
 
   IMPROVEMENTS
    HADOOP-2401 Add convenience put method that takes writable

Modified: lucene/hadoop/trunk/src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/HBaseShell.jj
URL: http://svn.apache.org/viewvc/lucene/hadoop/trunk/src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/HBaseShell.jj?rev=600627&r1=600626&r2=600627&view=diff
==============================================================================
--- lucene/hadoop/trunk/src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/HBaseShell.jj (original)
+++ lucene/hadoop/trunk/src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/HBaseShell.jj Mon Dec  3 10:42:09 2007
@@ -126,6 +126,8 @@
    | <NUM_ENTRIES: "num_entries">
    | <ADD: "add">
    | <CHANGE: "change">
+   | <META_TABLE: ".META.">
+   | <ROOT_TABLE: "-ROOT-">
 }
 
 TOKEN : 
@@ -565,6 +567,7 @@
   columns = columnList()
   <FROM>
   tableName = identifier()
+  
   { 
      select.setColumns(columns);
      select.setTable(tableName);
@@ -858,7 +861,7 @@
 }
 {
   (
-     t = <ID>
+     ( t=<ID> | t=<META_TABLE> | t=<ROOT_TABLE> )
      { return t.image.toString(); }
    | ( t=<QUOTED_IDENTIFIER> | t=<STRING_LITERAL> )
      { return t.image.substring(1,t.image.toString().length() - 1); }

Modified: lucene/hadoop/trunk/src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/SelectCommand.java
URL: http://svn.apache.org/viewvc/lucene/hadoop/trunk/src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/SelectCommand.java?rev=600627&r1=600626&r2=600627&view=diff
==============================================================================
--- lucene/hadoop/trunk/src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/SelectCommand.java (original)
+++ lucene/hadoop/trunk/src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/SelectCommand.java Mon Dec  3 10:42:09 2007
@@ -81,7 +81,7 @@
     }
     try {
       HConnection conn = HConnectionManager.getConnection(conf);
-      if (!conn.tableExists(this.tableName)) {
+      if (!conn.tableExists(this.tableName) && !isMetaTable()) {
         return new ReturnMsg(0, "'" + this.tableName + "'" + TABLE_NOT_FOUND);
       }
 
@@ -98,6 +98,11 @@
       String[] msg = e.getMessage().split("[,]");
       return new ReturnMsg(0, msg[0]);
     }
+  }
+
+  private boolean isMetaTable() {
+    return (this.tableName.equals(HConstants.ROOT_TABLE_NAME)
+        || this.tableName.equals(HConstants.META_TABLE_NAME)) ? true : false;
   }
 
   private int compoundWherePrint(HTable table, HBaseAdmin admin) {

Modified: lucene/hadoop/trunk/src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/generated/Parser.java
URL: http://svn.apache.org/viewvc/lucene/hadoop/trunk/src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/generated/Parser.java?rev=600627&r1=600626&r2=600627&view=diff
==============================================================================
--- lucene/hadoop/trunk/src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/generated/Parser.java (original)
+++ lucene/hadoop/trunk/src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/generated/Parser.java Mon Dec  3 10:42:09 2007
@@ -77,7 +77,7 @@
     case DISABLE:
     case SAVE:
     case ID:
-    case 69:
+    case 71:
       switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
       case HELP:
       case ALTER:
@@ -103,7 +103,7 @@
         jj_la1[0] = jj_gen;
         ;
       }
-      jj_consume_token(69);
+      jj_consume_token(71);
       break;
     case 0:
       jj_consume_token(0);
@@ -374,6 +374,8 @@
   String argument = null;
     jj_consume_token(SHOW);
     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+    case META_TABLE:
+    case ROOT_TABLE:
     case ID:
     case QUOTED_IDENTIFIER:
     case STRING_LITERAL:
@@ -1101,8 +1103,24 @@
   final public String identifier() throws ParseException {
   Token t = null;
     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+    case META_TABLE:
+    case ROOT_TABLE:
     case ID:
-      t = jj_consume_token(ID);
+      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+      case ID:
+        t = jj_consume_token(ID);
+        break;
+      case META_TABLE:
+        t = jj_consume_token(META_TABLE);
+        break;
+      case ROOT_TABLE:
+        t = jj_consume_token(ROOT_TABLE);
+        break;
+      default:
+        jj_la1[38] = jj_gen;
+        jj_consume_token(-1);
+        throw new ParseException();
+      }
        {if (true) return t.image.toString();}
       break;
     case QUOTED_IDENTIFIER:
@@ -1115,14 +1133,14 @@
         t = jj_consume_token(STRING_LITERAL);
         break;
       default:
-        jj_la1[38] = jj_gen;
+        jj_la1[39] = jj_gen;
         jj_consume_token(-1);
         throw new ParseException();
       }
        {if (true) return t.image.substring(1,t.image.toString().length() - 1);}
       break;
     default:
-      jj_la1[39] = jj_gen;
+      jj_la1[40] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
     }
@@ -1147,7 +1165,7 @@
         ;
         break;
       default:
-        jj_la1[40] = jj_gen;
+        jj_la1[41] = jj_gen;
         break label_11;
       }
       switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
@@ -1160,7 +1178,7 @@
                 connector = " OR ";
         break;
       default:
-        jj_la1[41] = jj_gen;
+        jj_la1[42] = jj_gen;
         jj_consume_token(-1);
         throw new ParseException();
       }
@@ -1204,13 +1222,13 @@
           searchName += ".ROW";
         break;
       default:
-        jj_la1[42] = jj_gen;
+        jj_la1[43] = jj_gen;
         jj_consume_token(-1);
         throw new ParseException();
       }
       break;
     default:
-      jj_la1[43] = jj_gen;
+      jj_la1[44] = jj_gen;
       ;
     }
     comparator = getComparator();
@@ -1240,13 +1258,13 @@
             comparand += "." + joinColumn.image.toString();
           break;
         default:
-          jj_la1[44] = jj_gen;
+          jj_la1[45] = jj_gen;
           jj_consume_token(-1);
           throw new ParseException();
         }
         break;
       default:
-        jj_la1[45] = jj_gen;
+        jj_la1[46] = jj_gen;
         ;
       }
       break;
@@ -1266,7 +1284,7 @@
       }
       break;
     default:
-      jj_la1[46] = jj_gen;
+      jj_la1[47] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
     }
@@ -1295,7 +1313,7 @@
                   comparator += "=";
         break;
       default:
-        jj_la1[47] = jj_gen;
+        jj_la1[48] = jj_gen;
         ;
       }
       break;
@@ -1308,7 +1326,7 @@
                   comparator += "=";
         break;
       default:
-        jj_la1[48] = jj_gen;
+        jj_la1[49] = jj_gen;
         ;
       }
       break;
@@ -1321,7 +1339,7 @@
                  comparator = ">" + comparator;
         break;
       default:
-        jj_la1[49] = jj_gen;
+        jj_la1[50] = jj_gen;
         ;
       }
       switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
@@ -1330,7 +1348,7 @@
                  comparator = "<" + comparator;
         break;
       default:
-        jj_la1[50] = jj_gen;
+        jj_la1[51] = jj_gen;
         ;
       }
       break;
@@ -1348,7 +1366,7 @@
           comparator = "==";
       break;
     default:
-      jj_la1[51] = jj_gen;
+      jj_la1[52] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
     }
@@ -1370,11 +1388,6 @@
     finally { jj_save(0, xla); }
   }
 
-  final private boolean jj_3R_13() {
-    if (jj_scan_token(ID)) return true;
-    return false;
-  }
-
   final private boolean jj_3_1() {
     if (jj_scan_token(ADD)) return true;
     if (jj_3R_12()) return true;
@@ -1394,9 +1407,22 @@
   final private boolean jj_3R_14() {
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_scan_token(67)) {
+    if (jj_scan_token(69)) {
+    jj_scanpos = xsp;
+    if (jj_scan_token(70)) return true;
+    }
+    return false;
+  }
+
+  final private boolean jj_3R_13() {
+    Token xsp;
+    xsp = jj_scanpos;
+    if (jj_scan_token(65)) {
     jj_scanpos = xsp;
-    if (jj_scan_token(68)) return true;
+    if (jj_scan_token(60)) {
+    jj_scanpos = xsp;
+    if (jj_scan_token(61)) return true;
+    }
     }
     return false;
   }
@@ -1410,7 +1436,7 @@
   public boolean lookingAhead = false;
   private boolean jj_semLA;
   private int jj_gen;
-  final private int[] jj_la1 = new int[52];
+  final private int[] jj_la1 = new int[53];
   static private int[] jj_la1_0;
   static private int[] jj_la1_1;
   static private int[] jj_la1_2;
@@ -1420,13 +1446,13 @@
       jj_la1_2();
    }
    private static void jj_la1_0() {
-      jj_la1_0 = new int[] {0x79ffe0,0x79ffe1,0x79ffe0,0x0,0x0,0x0,0x0,0x0,0x19fbc0,0x19fbc0,0x0,0x600,0x0,0x0,0x0,0x0,0x0,0x0,0x1000,0x0,0x0,0x1800000,0x1800000,0x20000000,0x40000000,0x80000000,0x0,0x40000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4000000,0x0,0x4000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,};
+      jj_la1_0 = new int[] {0x79ffe0,0x79ffe1,0x79ffe0,0x0,0x0,0x0,0x0,0x0,0x19fbc0,0x19fbc0,0x0,0x600,0x0,0x0,0x0,0x0,0x0,0x0,0x1000,0x0,0x0,0x1800000,0x1800000,0x20000000,0x40000000,0x80000000,0x0,0x40000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4000000,0x0,0x4000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,};
    }
    private static void jj_la1_1() {
-      jj_la1_1 = new int[] {0x90000000,0x90000000,0x90000000,0x80000000,0x80000008,0x80000008,0x80000000,0x80000000,0xb0000000,0xb0000000,0x80000000,0x0,0x398e000,0x70000,0x700000,0x398e000,0x4,0x4,0xc000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xa0000000,0x80000004,0x80000000,0x80000004,0x0,0x80001000,0x0,0x80001000,0x4,0x4,0x4,0x0,0x80000000,0x3,0x3,0x80000000,0x8,0x80000000,0x8,0x80000010,0x40,0x40,0x80,0x100,0xfc0,};
+      jj_la1_1 = new int[] {0x40000000,0x40000000,0x40000000,0x0,0x8,0x8,0x0,0x0,0xc0000000,0xc0000000,0x30000000,0x0,0x398e000,0x70000,0x700000,0x398e000,0x4,0x4,0xc000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x80000000,0x4,0x0,0x4,0x0,0x1000,0x0,0x1000,0x4,0x4,0x4,0x30000000,0x0,0x30000000,0x3,0x3,0x0,0x8,0x0,0x8,0x10,0x40,0x40,0x80,0x100,0xfc0,};
    }
    private static void jj_la1_2() {
-      jj_la1_2 = new int[] {0x0,0x20,0x0,0x0,0x3,0x3,0x3,0x3,0x0,0x0,0x18,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x18,0x18,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x18,0x18,0x18,0x18,0x1,0x18,0x19,0x0,0x0,0x0,0x18,0x18,0x0,0x0,0x0,0x0,0x0,0x0,0x11,0x0,0x0,0x0,0x0,0x0,};
+      jj_la1_2 = new int[] {0x2,0x82,0x2,0x2,0xe,0xe,0xe,0xe,0x2,0x2,0x62,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x60,0x60,0x0,0x0,0x0,0x0,0x0,0x0,0x2,0x62,0x62,0x62,0x60,0x6,0x60,0x66,0x0,0x0,0x0,0x2,0x60,0x62,0x0,0x0,0x2,0x0,0x2,0x0,0x46,0x0,0x0,0x0,0x0,0x0,};
    }
   final private JJCalls[] jj_2_rtns = new JJCalls[1];
   private boolean jj_rescan = false;
@@ -1441,7 +1467,7 @@
     token = new Token();
     jj_ntk = -1;
     jj_gen = 0;
-    for (int i = 0; i < 52; i++) jj_la1[i] = -1;
+    for (int i = 0; i < 53; i++) jj_la1[i] = -1;
     for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
   }
 
@@ -1454,7 +1480,7 @@
     token = new Token();
     jj_ntk = -1;
     jj_gen = 0;
-    for (int i = 0; i < 52; i++) jj_la1[i] = -1;
+    for (int i = 0; i < 53; i++) jj_la1[i] = -1;
     for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
   }
 
@@ -1464,7 +1490,7 @@
     token = new Token();
     jj_ntk = -1;
     jj_gen = 0;
-    for (int i = 0; i < 52; i++) jj_la1[i] = -1;
+    for (int i = 0; i < 53; i++) jj_la1[i] = -1;
     for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
   }
 
@@ -1474,7 +1500,7 @@
     token = new Token();
     jj_ntk = -1;
     jj_gen = 0;
-    for (int i = 0; i < 52; i++) jj_la1[i] = -1;
+    for (int i = 0; i < 53; i++) jj_la1[i] = -1;
     for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
   }
 
@@ -1483,7 +1509,7 @@
     token = new Token();
     jj_ntk = -1;
     jj_gen = 0;
-    for (int i = 0; i < 52; i++) jj_la1[i] = -1;
+    for (int i = 0; i < 53; i++) jj_la1[i] = -1;
     for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
   }
 
@@ -1492,7 +1518,7 @@
     token = new Token();
     jj_ntk = -1;
     jj_gen = 0;
-    for (int i = 0; i < 52; i++) jj_la1[i] = -1;
+    for (int i = 0; i < 53; i++) jj_la1[i] = -1;
     for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
   }
 
@@ -1603,15 +1629,15 @@
 
   public ParseException generateParseException() {
     jj_expentries.removeAllElements();
-    boolean[] la1tokens = new boolean[70];
-    for (int i = 0; i < 70; i++) {
+    boolean[] la1tokens = new boolean[72];
+    for (int i = 0; i < 72; i++) {
       la1tokens[i] = false;
     }
     if (jj_kind >= 0) {
       la1tokens[jj_kind] = true;
       jj_kind = -1;
     }
-    for (int i = 0; i < 52; i++) {
+    for (int i = 0; i < 53; i++) {
       if (jj_la1[i] == jj_gen) {
         for (int j = 0; j < 32; j++) {
           if ((jj_la1_0[i] & (1<<j)) != 0) {
@@ -1626,7 +1652,7 @@
         }
       }
     }
-    for (int i = 0; i < 70; i++) {
+    for (int i = 0; i < 72; i++) {
       if (la1tokens[i]) {
         jj_expentry = new int[1];
         jj_expentry[0] = i;

Modified: lucene/hadoop/trunk/src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/generated/ParserConstants.java
URL: http://svn.apache.org/viewvc/lucene/hadoop/trunk/src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/generated/ParserConstants.java?rev=600627&r1=600626&r2=600627&view=diff
==============================================================================
--- lucene/hadoop/trunk/src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/generated/ParserConstants.java (original)
+++ lucene/hadoop/trunk/src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/generated/ParserConstants.java Mon Dec  3 10:42:09 2007
@@ -59,15 +59,17 @@
   int NUM_ENTRIES = 57;
   int ADD = 58;
   int CHANGE = 59;
-  int SAVE = 60;
-  int GROUP = 61;
-  int BY = 62;
-  int ID = 63;
-  int INTEGER_LITERAL = 64;
-  int FLOATING_POINT_LITERAL = 65;
-  int EXPONENT = 66;
-  int QUOTED_IDENTIFIER = 67;
-  int STRING_LITERAL = 68;
+  int META_TABLE = 60;
+  int ROOT_TABLE = 61;
+  int SAVE = 62;
+  int GROUP = 63;
+  int BY = 64;
+  int ID = 65;
+  int INTEGER_LITERAL = 66;
+  int FLOATING_POINT_LITERAL = 67;
+  int EXPONENT = 68;
+  int QUOTED_IDENTIFIER = 69;
+  int STRING_LITERAL = 70;
 
   int DEFAULT = 0;
 
@@ -132,6 +134,8 @@
     "\"num_entries\"",
     "\"add\"",
     "\"change\"",
+    "\".META.\"",
+    "\"-ROOT-\"",
     "\"save\"",
     "\"group\"",
     "\"by\"",

Modified: lucene/hadoop/trunk/src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/generated/ParserTokenManager.java
URL: http://svn.apache.org/viewvc/lucene/hadoop/trunk/src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/generated/ParserTokenManager.java?rev=600627&r1=600626&r2=600627&view=diff
==============================================================================
--- lucene/hadoop/trunk/src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/generated/ParserTokenManager.java (original)
+++ lucene/hadoop/trunk/src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/generated/ParserTokenManager.java Mon Dec  3 10:42:09 2007
@@ -40,106 +40,106 @@
    switch (pos)
    {
       case 0:
-         if ((active0 & 0x800000000L) != 0L)
-            return 3;
-         if ((active0 & 0x7fffe603ffffffe0L) != 0L)
+         if ((active0 & 0xefffe603ffffffe0L) != 0L || (active1 & 0x1L) != 0L)
          {
-            jjmatchedKind = 63;
+            jjmatchedKind = 65;
             return 1;
          }
+         if ((active0 & 0x1000000800000000L) != 0L)
+            return 3;
          return -1;
       case 1:
-         if ((active0 & 0x4008040200032000L) != 0L)
-            return 1;
-         if ((active0 & 0x3ff7e201fffcdfe0L) != 0L)
+         if ((active0 & 0xeff7e201fffcdfe0L) != 0L)
          {
             if (jjmatchedPos != 1)
             {
-               jjmatchedKind = 63;
+               jjmatchedKind = 65;
                jjmatchedPos = 1;
             }
             return 1;
          }
+         if ((active0 & 0x8040200032000L) != 0L || (active1 & 0x1L) != 0L)
+            return 1;
          return -1;
       case 2:
-         if ((active0 & 0x400020104004000L) != 0L)
-            return 1;
-         if ((active0 & 0x3bffe000fbff9fe0L) != 0L)
+         if ((active0 & 0xebffe000fbff9fe0L) != 0L)
          {
-            jjmatchedKind = 63;
+            jjmatchedKind = 65;
             jjmatchedPos = 2;
             return 1;
          }
+         if ((active0 & 0x400020104004000L) != 0L)
+            return 1;
          return -1;
       case 3:
-         if ((active0 & 0x2bfee000f9fd08c0L) != 0L)
+         if ((active0 & 0xabfee000f9fd08c0L) != 0L)
          {
             if (jjmatchedPos != 3)
             {
-               jjmatchedKind = 63;
+               jjmatchedKind = 65;
                jjmatchedPos = 3;
             }
             return 1;
          }
-         if ((active0 & 0x1001000002029720L) != 0L)
+         if ((active0 & 0x4001000002029720L) != 0L)
             return 1;
          return -1;
       case 4:
-         if ((active0 & 0xbfce00078f90a00L) != 0L)
+         if ((active0 & 0x2bfce00078f90a00L) != 0L)
          {
-            jjmatchedKind = 63;
+            jjmatchedKind = 65;
             jjmatchedPos = 4;
             return 1;
          }
-         if ((active0 & 0x20020000810400c0L) != 0L)
+         if ((active0 & 0x80020000810400c0L) != 0L)
             return 1;
          return -1;
       case 5:
          if ((active0 & 0x3f8e00070c00200L) != 0L)
          {
-            jjmatchedKind = 63;
+            jjmatchedKind = 65;
             jjmatchedPos = 5;
             return 1;
          }
-         if ((active0 & 0x804000008390800L) != 0L)
+         if ((active0 & 0x2804000008390800L) != 0L)
             return 1;
          return -1;
       case 6:
+         if ((active0 & 0x400000L) != 0L)
+            return 1;
          if ((active0 & 0x3f8e00070800200L) != 0L)
          {
-            jjmatchedKind = 63;
+            jjmatchedKind = 65;
             jjmatchedPos = 6;
             return 1;
          }
-         if ((active0 & 0x400000L) != 0L)
-            return 1;
          return -1;
       case 7:
+         if ((active0 & 0x100000000800200L) != 0L)
+            return 1;
          if ((active0 & 0x2f8e00070000000L) != 0L)
          {
-            jjmatchedKind = 63;
+            jjmatchedKind = 65;
             jjmatchedPos = 7;
             return 1;
          }
-         if ((active0 & 0x100000000800200L) != 0L)
-            return 1;
          return -1;
       case 8:
+         if ((active0 & 0x8000020000000L) != 0L)
+            return 1;
          if ((active0 & 0x2f0e00050000000L) != 0L)
          {
-            jjmatchedKind = 63;
+            jjmatchedKind = 65;
             jjmatchedPos = 8;
             return 1;
          }
-         if ((active0 & 0x8000020000000L) != 0L)
-            return 1;
          return -1;
       case 9:
          if ((active0 & 0x400000000000L) != 0L)
             return 1;
          if ((active0 & 0x2f0a00050000000L) != 0L)
          {
-            jjmatchedKind = 63;
+            jjmatchedKind = 65;
             jjmatchedPos = 9;
             return 1;
          }
@@ -149,7 +149,7 @@
             return 1;
          if ((active0 & 0x60200050000000L) != 0L)
          {
-            jjmatchedKind = 63;
+            jjmatchedKind = 65;
             jjmatchedPos = 10;
             return 1;
          }
@@ -159,7 +159,7 @@
             return 1;
          if ((active0 & 0x60000010000000L) != 0L)
          {
-            jjmatchedKind = 63;
+            jjmatchedKind = 65;
             jjmatchedPos = 11;
             return 1;
          }
@@ -167,7 +167,7 @@
       case 12:
          if ((active0 & 0x60000010000000L) != 0L)
          {
-            jjmatchedKind = 63;
+            jjmatchedKind = 65;
             jjmatchedPos = 12;
             return 1;
          }
@@ -177,7 +177,7 @@
             return 1;
          if ((active0 & 0x60000000000000L) != 0L)
          {
-            jjmatchedKind = 63;
+            jjmatchedKind = 65;
             jjmatchedPos = 13;
             return 1;
          }
@@ -185,7 +185,7 @@
       case 14:
          if ((active0 & 0x60000000000000L) != 0L)
          {
-            jjmatchedKind = 63;
+            jjmatchedKind = 65;
             jjmatchedPos = 14;
             return 1;
          }
@@ -193,7 +193,7 @@
       case 15:
          if ((active0 & 0x60000000000000L) != 0L)
          {
-            jjmatchedKind = 63;
+            jjmatchedKind = 65;
             jjmatchedPos = 15;
             return 1;
          }
@@ -201,7 +201,7 @@
       case 16:
          if ((active0 & 0x60000000000000L) != 0L)
          {
-            jjmatchedKind = 63;
+            jjmatchedKind = 65;
             jjmatchedPos = 16;
             return 1;
          }
@@ -209,7 +209,7 @@
       case 17:
          if ((active0 & 0x60000000000000L) != 0L)
          {
-            jjmatchedKind = 63;
+            jjmatchedKind = 65;
             jjmatchedPos = 17;
             return 1;
          }
@@ -217,7 +217,7 @@
       case 18:
          if ((active0 & 0x60000000000000L) != 0L)
          {
-            jjmatchedKind = 63;
+            jjmatchedKind = 65;
             jjmatchedPos = 18;
             return 1;
          }
@@ -225,7 +225,7 @@
       case 19:
          if ((active0 & 0x40000000000000L) != 0L)
          {
-            jjmatchedKind = 63;
+            jjmatchedKind = 65;
             jjmatchedPos = 19;
             return 1;
          }
@@ -259,7 +259,7 @@
    switch(curChar)
    {
       case 33:
-         return jjMoveStringLiteralDfa1_0(0x80000000000L);
+         return jjMoveStringLiteralDfa1_0(0x80000000000L, 0x0L);
       case 40:
          return jjStopAtPos(0, 36);
       case 41:
@@ -268,10 +268,13 @@
          return jjStopAtPos(0, 44);
       case 44:
          return jjStopAtPos(0, 34);
+      case 45:
+         return jjMoveStringLiteralDfa1_0(0x2000000000000000L, 0x0L);
       case 46:
-         return jjStartNfaWithStates_0(0, 35, 3);
+         jjmatchedKind = 35;
+         return jjMoveStringLiteralDfa1_0(0x1000000000000000L, 0x0L);
       case 59:
-         return jjStopAtPos(0, 69);
+         return jjStopAtPos(0, 71);
       case 60:
          return jjStopAtPos(0, 40);
       case 61:
@@ -280,70 +283,70 @@
          return jjStopAtPos(0, 39);
       case 65:
       case 97:
-         return jjMoveStringLiteralDfa1_0(0x400000100000040L);
+         return jjMoveStringLiteralDfa1_0(0x400000100000040L, 0x0L);
       case 66:
       case 98:
-         return jjMoveStringLiteralDfa1_0(0x4012000000000000L);
+         return jjMoveStringLiteralDfa1_0(0x12000000000000L, 0x1L);
       case 67:
       case 99:
-         return jjMoveStringLiteralDfa1_0(0x820800010000880L);
+         return jjMoveStringLiteralDfa1_0(0x820800010000880L, 0x0L);
       case 68:
       case 100:
-         return jjMoveStringLiteralDfa1_0(0x481600L);
+         return jjMoveStringLiteralDfa1_0(0x481600L, 0x0L);
       case 69:
       case 101:
-         return jjMoveStringLiteralDfa1_0(0x208000L);
+         return jjMoveStringLiteralDfa1_0(0x208000L, 0x0L);
       case 70:
       case 102:
-         return jjMoveStringLiteralDfa1_0(0x2002000L);
+         return jjMoveStringLiteralDfa1_0(0x2002000L, 0x0L);
       case 71:
       case 103:
-         return jjMoveStringLiteralDfa1_0(0x2000000000000000L);
+         return jjMoveStringLiteralDfa1_0(0x8000000000000000L, 0x0L);
       case 72:
       case 104:
-         return jjMoveStringLiteralDfa1_0(0x20L);
+         return jjMoveStringLiteralDfa1_0(0x20L, 0x0L);
       case 73:
       case 105:
-         return jjMoveStringLiteralDfa1_0(0x8040000030000L);
+         return jjMoveStringLiteralDfa1_0(0x8040000030000L, 0x0L);
       case 74:
       case 106:
-         return jjMoveStringLiteralDfa1_0(0x4000L);
+         return jjMoveStringLiteralDfa1_0(0x4000L, 0x0L);
       case 76:
       case 108:
-         return jjMoveStringLiteralDfa1_0(0x80000000L);
+         return jjMoveStringLiteralDfa1_0(0x80000000L, 0x0L);
       case 77:
       case 109:
-         return jjMoveStringLiteralDfa1_0(0x600000000000L);
+         return jjMoveStringLiteralDfa1_0(0x600000000000L, 0x0L);
       case 78:
       case 110:
-         return jjMoveStringLiteralDfa1_0(0x301020040000000L);
+         return jjMoveStringLiteralDfa1_0(0x301020040000000L, 0x0L);
       case 79:
       case 111:
-         return jjMoveStringLiteralDfa1_0(0x200000000L);
+         return jjMoveStringLiteralDfa1_0(0x200000000L, 0x0L);
       case 82:
       case 114:
-         return jjMoveStringLiteralDfa1_0(0x44000004000000L);
+         return jjMoveStringLiteralDfa1_0(0x44000004000000L, 0x0L);
       case 83:
       case 115:
-         return jjMoveStringLiteralDfa1_0(0x1000000000900100L);
+         return jjMoveStringLiteralDfa1_0(0x4000000000900100L, 0x0L);
       case 84:
       case 116:
-         return jjMoveStringLiteralDfa1_0(0x20040000L);
+         return jjMoveStringLiteralDfa1_0(0x20040000L, 0x0L);
       case 86:
       case 118:
-         return jjMoveStringLiteralDfa1_0(0x80000008000000L);
+         return jjMoveStringLiteralDfa1_0(0x80000008000000L, 0x0L);
       case 87:
       case 119:
-         return jjMoveStringLiteralDfa1_0(0x1000000L);
+         return jjMoveStringLiteralDfa1_0(0x1000000L, 0x0L);
       default :
          return jjMoveNfa_0(0, 0);
    }
 }
-private final int jjMoveStringLiteralDfa1_0(long active0)
+private final int jjMoveStringLiteralDfa1_0(long active0, long active1)
 {
    try { curChar = input_stream.readChar(); }
    catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_0(0, active0, 0L);
+      jjStopStringLiteralDfa_0(0, active0, active1);
       return 1;
    }
    switch(curChar)
@@ -354,22 +357,25 @@
          break;
       case 65:
       case 97:
-         return jjMoveStringLiteralDfa2_0(active0, 0x1000600008044000L);
+         return jjMoveStringLiteralDfa2_0(active0, 0x4000600008044000L, active1, 0L);
       case 68:
       case 100:
-         return jjMoveStringLiteralDfa2_0(active0, 0x400000000000000L);
+         return jjMoveStringLiteralDfa2_0(active0, 0x400000000000000L, active1, 0L);
       case 69:
       case 101:
-         return jjMoveStringLiteralDfa2_0(active0, 0xc4000000180620L);
+         return jjMoveStringLiteralDfa2_0(active0, 0xc4000000180620L, active1, 0L);
       case 72:
       case 104:
-         return jjMoveStringLiteralDfa2_0(active0, 0x800000001000100L);
+         return jjMoveStringLiteralDfa2_0(active0, 0x800000001000100L, active1, 0L);
       case 73:
       case 105:
-         return jjMoveStringLiteralDfa2_0(active0, 0xa0400000L);
+         return jjMoveStringLiteralDfa2_0(active0, 0xa0400000L, active1, 0L);
       case 76:
       case 108:
-         return jjMoveStringLiteralDfa2_0(active0, 0x120000000000c0L);
+         return jjMoveStringLiteralDfa2_0(active0, 0x120000000000c0L, active1, 0L);
+      case 77:
+      case 109:
+         return jjMoveStringLiteralDfa2_0(active0, 0x1000000000000000L, active1, 0L);
       case 78:
       case 110:
          if ((active0 & 0x40000000000L) != 0L)
@@ -377,15 +383,15 @@
             jjmatchedKind = 42;
             jjmatchedPos = 1;
          }
-         return jjMoveStringLiteralDfa2_0(active0, 0x8000100230000L);
+         return jjMoveStringLiteralDfa2_0(active0, 0x8000100230000L, active1, 0L);
       case 79:
       case 111:
-         return jjMoveStringLiteralDfa2_0(active0, 0x21820014000000L);
+         return jjMoveStringLiteralDfa2_0(active0, 0x21820014000000L, active1, 0L);
       case 82:
       case 114:
          if ((active0 & 0x200000000L) != 0L)
             return jjStartNfaWithStates_0(1, 33, 1);
-         return jjMoveStringLiteralDfa2_0(active0, 0x2000000002001800L);
+         return jjMoveStringLiteralDfa2_0(active0, 0xa000000002001800L, active1, 0L);
       case 83:
       case 115:
          if ((active0 & 0x2000L) != 0L)
@@ -393,27 +399,27 @@
          break;
       case 84:
       case 116:
-         return jjMoveStringLiteralDfa2_0(active0, 0x800000L);
+         return jjMoveStringLiteralDfa2_0(active0, 0x800000L, active1, 0L);
       case 85:
       case 117:
-         return jjMoveStringLiteralDfa2_0(active0, 0x300000040000000L);
+         return jjMoveStringLiteralDfa2_0(active0, 0x300000040000000L, active1, 0L);
       case 88:
       case 120:
-         return jjMoveStringLiteralDfa2_0(active0, 0x8000L);
+         return jjMoveStringLiteralDfa2_0(active0, 0x8000L, active1, 0L);
       case 89:
       case 121:
-         if ((active0 & 0x4000000000000000L) != 0L)
-            return jjStartNfaWithStates_0(1, 62, 1);
+         if ((active1 & 0x1L) != 0L)
+            return jjStartNfaWithStates_0(1, 64, 1);
          break;
       default :
          break;
    }
-   return jjStartNfa_0(0, active0, 0L);
+   return jjStartNfa_0(0, active0, active1);
 }
-private final int jjMoveStringLiteralDfa2_0(long old0, long active0)
+private final int jjMoveStringLiteralDfa2_0(long old0, long active0, long old1, long active1)
 {
-   if (((active0 &= old0)) == 0L)
-      return jjStartNfa_0(0, old0, 0L);
+   if (((active0 &= old0) | (active1 &= old1)) == 0L)
+      return jjStartNfa_0(0, old0, old1); 
    try { curChar = input_stream.readChar(); }
    catch(java.io.IOException e) {
       jjStopStringLiteralDfa_0(1, active0, 0L);
@@ -441,7 +447,7 @@
          break;
       case 69:
       case 101:
-         return jjMoveStringLiteralDfa3_0(active0, 0x1000880L);
+         return jjMoveStringLiteralDfa3_0(active0, 0x1000000001000880L);
       case 73:
       case 105:
          return jjMoveStringLiteralDfa3_0(active0, 0x8000L);
@@ -456,7 +462,7 @@
          return jjMoveStringLiteralDfa3_0(active0, 0x1000000000000L);
       case 79:
       case 111:
-         return jjMoveStringLiteralDfa3_0(active0, 0x2012000002001100L);
+         return jjMoveStringLiteralDfa3_0(active0, 0xa012000002001100L);
       case 82:
       case 114:
          if ((active0 & 0x4000L) != 0L)
@@ -475,7 +481,7 @@
          return jjMoveStringLiteralDfa3_0(active0, 0x20000000000000L);
       case 86:
       case 118:
-         return jjMoveStringLiteralDfa3_0(active0, 0x1000000000000000L);
+         return jjMoveStringLiteralDfa3_0(active0, 0x4000000000000000L);
       case 87:
       case 119:
          if ((active0 & 0x4000000L) != 0L)
@@ -520,8 +526,8 @@
       case 101:
          if ((active0 & 0x1000000000000L) != 0L)
             return jjStartNfaWithStates_0(3, 48, 1);
-         else if ((active0 & 0x1000000000000000L) != 0L)
-            return jjStartNfaWithStates_0(3, 60, 1);
+         else if ((active0 & 0x4000000000000000L) != 0L)
+            return jjStartNfaWithStates_0(3, 62, 1);
          return jjMoveStringLiteralDfa4_0(active0, 0x20190040L);
       case 73:
       case 105:
@@ -541,7 +547,7 @@
       case 111:
          if ((active0 & 0x20000L) != 0L)
             return jjStartNfaWithStates_0(3, 17, 1);
-         return jjMoveStringLiteralDfa4_0(active0, 0x54000000000000L);
+         return jjMoveStringLiteralDfa4_0(active0, 0x2054000000000000L);
       case 80:
       case 112:
          if ((active0 & 0x20L) != 0L)
@@ -556,10 +562,10 @@
       case 116:
          if ((active0 & 0x8000L) != 0L)
             return jjStartNfaWithStates_0(3, 15, 1);
-         return jjMoveStringLiteralDfa4_0(active0, 0x80000000000000L);
+         return jjMoveStringLiteralDfa4_0(active0, 0x1080000000000000L);
       case 85:
       case 117:
-         return jjMoveStringLiteralDfa4_0(active0, 0x2000000018000000L);
+         return jjMoveStringLiteralDfa4_0(active0, 0x8000000018000000L);
       case 87:
       case 119:
          if ((active0 & 0x100L) != 0L)
@@ -581,6 +587,9 @@
    }
    switch(curChar)
    {
+      case 65:
+      case 97:
+         return jjMoveStringLiteralDfa5_0(active0, 0x1000000000000000L);
       case 66:
       case 98:
          return jjMoveStringLiteralDfa5_0(active0, 0x400000L);
@@ -616,8 +625,8 @@
          return jjMoveStringLiteralDfa5_0(active0, 0x80000000000000L);
       case 80:
       case 112:
-         if ((active0 & 0x2000000000000000L) != 0L)
-            return jjStartNfaWithStates_0(4, 61, 1);
+         if ((active0 & 0x8000000000000000L) != 0L)
+            return jjStartNfaWithStates_0(4, 63, 1);
          break;
       case 82:
       case 114:
@@ -633,7 +642,7 @@
       case 116:
          if ((active0 & 0x80000000L) != 0L)
             return jjStartNfaWithStates_0(4, 31, 1);
-         return jjMoveStringLiteralDfa5_0(active0, 0x20000000880800L);
+         return jjMoveStringLiteralDfa5_0(active0, 0x2020000000880800L);
       case 85:
       case 117:
          return jjMoveStringLiteralDfa5_0(active0, 0x40000000000000L);
@@ -656,6 +665,14 @@
    }
    switch(curChar)
    {
+      case 45:
+         if ((active0 & 0x2000000000000000L) != 0L)
+            return jjStartNfaWithStates_0(5, 61, 1);
+         break;
+      case 46:
+         if ((active0 & 0x1000000000000000L) != 0L)
+            return jjStopAtPos(5, 60);
+         break;
       case 65:
       case 97:
          return jjMoveStringLiteralDfa6_0(active0, 0x100000000000000L);
@@ -1223,14 +1240,14 @@
                case 0:
                   if ((0x3ff000000000000L & l) != 0L)
                   {
-                     if (kind > 64)
-                        kind = 64;
+                     if (kind > 66)
+                        kind = 66;
                      jjCheckNAddStates(0, 6);
                   }
                   else if ((0x400a00000000000L & l) != 0L)
                   {
-                     if (kind > 63)
-                        kind = 63;
+                     if (kind > 65)
+                        kind = 65;
                      jjCheckNAdd(1);
                   }
                   else if (curChar == 39)
@@ -1243,8 +1260,8 @@
                case 1:
                   if ((0x7ffa00000000000L & l) == 0L)
                      break;
-                  if (kind > 63)
-                     kind = 63;
+                  if (kind > 65)
+                     kind = 65;
                   jjCheckNAdd(1);
                   break;
                case 2:
@@ -1254,8 +1271,8 @@
                case 3:
                   if ((0x3ff000000000000L & l) == 0L)
                      break;
-                  if (kind > 65)
-                     kind = 65;
+                  if (kind > 67)
+                     kind = 67;
                   jjCheckNAddTwoStates(3, 4);
                   break;
                case 5:
@@ -1265,8 +1282,8 @@
                case 6:
                   if ((0x3ff000000000000L & l) == 0L)
                      break;
-                  if (kind > 65)
-                     kind = 65;
+                  if (kind > 67)
+                     kind = 67;
                   jjCheckNAdd(6);
                   break;
                case 7:
@@ -1278,8 +1295,8 @@
                      jjCheckNAddTwoStates(8, 9);
                   break;
                case 9:
-                  if (curChar == 34 && kind > 67)
-                     kind = 67;
+                  if (curChar == 34 && kind > 69)
+                     kind = 69;
                   break;
                case 10:
                   if (curChar == 39)
@@ -1302,21 +1319,21 @@
                      jjCheckNAddStates(10, 12);
                   break;
                case 15:
-                  if (curChar == 39 && kind > 68)
-                     kind = 68;
+                  if (curChar == 39 && kind > 70)
+                     kind = 70;
                   break;
                case 16:
                   if ((0x3ff000000000000L & l) == 0L)
                      break;
-                  if (kind > 64)
-                     kind = 64;
+                  if (kind > 66)
+                     kind = 66;
                   jjCheckNAddStates(0, 6);
                   break;
                case 17:
                   if ((0x3ff000000000000L & l) == 0L)
                      break;
-                  if (kind > 64)
-                     kind = 64;
+                  if (kind > 66)
+                     kind = 66;
                   jjCheckNAdd(17);
                   break;
                case 18:
@@ -1330,8 +1347,8 @@
                case 20:
                   if ((0x3ff000000000000L & l) == 0L)
                      break;
-                  if (kind > 65)
-                     kind = 65;
+                  if (kind > 67)
+                     kind = 67;
                   jjCheckNAddTwoStates(20, 21);
                   break;
                case 22:
@@ -1341,8 +1358,8 @@
                case 23:
                   if ((0x3ff000000000000L & l) == 0L)
                      break;
-                  if (kind > 65)
-                     kind = 65;
+                  if (kind > 67)
+                     kind = 67;
                   jjCheckNAdd(23);
                   break;
                case 24:
@@ -1356,15 +1373,15 @@
                case 27:
                   if ((0x3ff000000000000L & l) == 0L)
                      break;
-                  if (kind > 65)
-                     kind = 65;
+                  if (kind > 67)
+                     kind = 67;
                   jjCheckNAdd(27);
                   break;
                case 28:
                   if ((0x3ff000000000000L & l) == 0L)
                      break;
-                  if (kind > 65)
-                     kind = 65;
+                  if (kind > 67)
+                     kind = 67;
                   jjCheckNAddTwoStates(28, 29);
                   break;
                case 30:
@@ -1374,8 +1391,8 @@
                case 31:
                   if ((0x3ff000000000000L & l) == 0L)
                      break;
-                  if (kind > 65)
-                     kind = 65;
+                  if (kind > 67)
+                     kind = 67;
                   jjCheckNAdd(31);
                   break;
                default : break;
@@ -1393,8 +1410,8 @@
                case 1:
                   if ((0x47fffffe87fffffeL & l) == 0L)
                      break;
-                  if (kind > 63)
-                     kind = 63;
+                  if (kind > 65)
+                     kind = 65;
                   jjCheckNAdd(1);
                   break;
                case 4:
@@ -1473,12 +1490,12 @@
 null, null, null, null, null, null, null, "\54", "\56", "\50", "\51", "\75", "\76", 
 "\74", null, null, "\41\75", "\52", null, null, null, null, null, null, null, null, 
 null, null, null, null, null, null, null, null, null, null, null, null, null, null, 
-null, null, "\73", };
+null, null, null, null, "\73", };
 public static final String[] lexStateNames = {
    "DEFAULT", 
 };
 static final long[] jjtoToken = {
-   0xffffffffffffffe1L, 0x3bL, 
+   0xffffffffffffffe1L, 0xefL, 
 };
 static final long[] jjtoSkip = {
    0x1eL, 0x0L,