]> gerrit.simantics Code Review - simantics/sysdyn.git/commitdiff
Allow variables starting and ending with ' characters in Sysdyn ExpressionParser...
authormiettinen <miettinen@ac1ea38d-2e2b-0410-8846-a27921b304fc>
Fri, 14 Feb 2014 13:01:30 +0000 (13:01 +0000)
committermiettinen <miettinen@ac1ea38d-2e2b-0410-8846-a27921b304fc>
Fri, 14 Feb 2014 13:01:30 +0000 (13:01 +0000)
git-svn-id: https://www.simantics.org/svn/simantics/sysdyn/trunk@28846 ac1ea38d-2e2b-0410-8846-a27921b304fc

org.simantics.sysdyn/src/org/simantics/sysdyn/expressionParser/ExpressionParser.java
org.simantics.sysdyn/src/org/simantics/sysdyn/expressionParser/ExpressionParser.jj
org.simantics.sysdyn/src/org/simantics/sysdyn/expressionParser/ExpressionParserConstants.java
org.simantics.sysdyn/src/org/simantics/sysdyn/expressionParser/ExpressionParserTokenManager.java

index a369e706e8aa9619437c1937c6ed757150cd3b9c..bcb3d09e804a66dec1a1a60615ed2fb3bf3c6419 100644 (file)
@@ -86,6 +86,7 @@ public class ExpressionParser implements ExpressionParserConstants {
     case 78:\r
     case 79:\r
     case IDENT:\r
+    case QIDENT:\r
     case STRING:\r
     case UNSIGNED_INTEGER:\r
     case UNSIGNED_NUMBER:\r
@@ -139,6 +140,7 @@ public class ExpressionParser implements ExpressionParserConstants {
     case 78:\r
     case 79:\r
     case IDENT:\r
+    case QIDENT:\r
     case STRING:\r
     case UNSIGNED_INTEGER:\r
     case UNSIGNED_NUMBER:\r
@@ -433,6 +435,7 @@ public class ExpressionParser implements ExpressionParserConstants {
       } else {\r
         switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {\r
         case IDENT:\r
+        case QIDENT:\r
           component_reference(null);\r
           break;\r
         case 60:\r
@@ -479,11 +482,14 @@ public class ExpressionParser implements ExpressionParserConstants {
   Token concatToken = null;\r
   Token continuationToken = null;\r
   String fullStr = null;\r
-    jj_consume_token(IDENT);\r
-    concatToken = token;\r
     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {\r
     case IDENT:\r
-      continuationToken = ident();\r
+      jj_consume_token(IDENT);\r
+    concatToken = token;\r
+      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {\r
+      case IDENT:\r
+      case QIDENT:\r
+        continuationToken = ident();\r
     fullStr = new String("");\r
     // Replace whitespace sequence with a single space character.\r
     fullStr += concatToken.image + " " + continuationToken.image;\r
@@ -494,12 +500,22 @@ public class ExpressionParser implements ExpressionParserConstants {
     tempToken.endLine = token.endLine;\r
     tempToken.endColumn = token.endColumn;\r
         concatToken = tempToken;\r
+        break;\r
+      default:\r
+        jj_la1[21] = jj_gen;\r
+        ;\r
+      }\r
+    {if (true) return concatToken;}\r
+      break;\r
+    case QIDENT:\r
+      jj_consume_token(QIDENT);\r
+    {if (true) return token;}\r
       break;\r
     default:\r
-      jj_la1[21] = jj_gen;\r
-      ;\r
+      jj_la1[22] = jj_gen;\r
+      jj_consume_token(-1);\r
+      throw new ParseException();\r
     }\r
-    {if (true) return concatToken;}\r
     throw new Error("Missing return statement in function");\r
   }\r
 \r
@@ -516,7 +532,7 @@ public class ExpressionParser implements ExpressionParserConstants {
       name();\r
       break;\r
     default:\r
-      jj_la1[22] = jj_gen;\r
+      jj_la1[23] = jj_gen;\r
       ;\r
     }\r
   }\r
@@ -564,7 +580,7 @@ public class ExpressionParser implements ExpressionParserConstants {
       array_subscripts(identToken);\r
       break;\r
     default:\r
-      jj_la1[23] = jj_gen;\r
+      jj_la1[24] = jj_gen;\r
       ;\r
     }\r
     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {\r
@@ -573,7 +589,7 @@ public class ExpressionParser implements ExpressionParserConstants {
       component_reference(name);\r
       break;\r
     default:\r
-      jj_la1[24] = jj_gen;\r
+      jj_la1[25] = jj_gen;\r
       ;\r
     }\r
   }\r
@@ -594,13 +610,14 @@ public class ExpressionParser implements ExpressionParserConstants {
     case 78:\r
     case 79:\r
     case IDENT:\r
+    case QIDENT:\r
     case STRING:\r
     case UNSIGNED_INTEGER:\r
     case UNSIGNED_NUMBER:\r
       function_arguments();\r
       break;\r
     default:\r
-      jj_la1[25] = jj_gen;\r
+      jj_la1[26] = jj_gen;\r
       ;\r
     }\r
     jj_consume_token(61);\r
@@ -619,7 +636,7 @@ public class ExpressionParser implements ExpressionParserConstants {
         function_arguments();\r
         break;\r
       default:\r
-        jj_la1[26] = jj_gen;\r
+        jj_la1[27] = jj_gen;\r
         ;\r
       }\r
     } else {\r
@@ -637,6 +654,7 @@ public class ExpressionParser implements ExpressionParserConstants {
       case 78:\r
       case 79:\r
       case IDENT:\r
+      case QIDENT:\r
       case STRING:\r
       case UNSIGNED_INTEGER:\r
       case UNSIGNED_NUMBER:\r
@@ -654,18 +672,18 @@ public class ExpressionParser implements ExpressionParserConstants {
             for_indices();\r
             break;\r
           default:\r
-            jj_la1[27] = jj_gen;\r
+            jj_la1[28] = jj_gen;\r
             jj_consume_token(-1);\r
             throw new ParseException();\r
           }\r
           break;\r
         default:\r
-          jj_la1[28] = jj_gen;\r
+          jj_la1[29] = jj_gen;\r
           ;\r
         }\r
         break;\r
       default:\r
-        jj_la1[29] = jj_gen;\r
+        jj_la1[30] = jj_gen;\r
         jj_consume_token(-1);\r
         throw new ParseException();\r
       }\r
@@ -681,7 +699,7 @@ public class ExpressionParser implements ExpressionParserConstants {
         ;\r
         break;\r
       default:\r
-        jj_la1[30] = jj_gen;\r
+        jj_la1[31] = jj_gen;\r
         break label_8;\r
       }\r
       jj_consume_token(69);\r
@@ -706,7 +724,7 @@ public class ExpressionParser implements ExpressionParserConstants {
                   forRanges.add(forRange);\r
       break;\r
     default:\r
-      jj_la1[31] = jj_gen;\r
+      jj_la1[32] = jj_gen;\r
       ;\r
     }\r
                 forIndex = false;\r
@@ -739,13 +757,14 @@ void named_arguments() : {
     case 78:\r
     case 79:\r
     case IDENT:\r
+    case QIDENT:\r
     case STRING:\r
     case UNSIGNED_INTEGER:\r
     case UNSIGNED_NUMBER:\r
       expression();\r
       break;\r
     default:\r
-      jj_la1[32] = jj_gen;\r
+      jj_la1[33] = jj_gen;\r
       ;\r
     }\r
     label_9:\r
@@ -755,7 +774,7 @@ void named_arguments() : {
         ;\r
         break;\r
       default:\r
-        jj_la1[33] = jj_gen;\r
+        jj_la1[34] = jj_gen;\r
         break label_9;\r
       }\r
       jj_consume_token(69);\r
@@ -773,13 +792,14 @@ void named_arguments() : {
       case 78:\r
       case 79:\r
       case IDENT:\r
+      case QIDENT:\r
       case STRING:\r
       case UNSIGNED_INTEGER:\r
       case UNSIGNED_NUMBER:\r
         expression();\r
         break;\r
       default:\r
-        jj_la1[34] = jj_gen;\r
+        jj_la1[35] = jj_gen;\r
         ;\r
       }\r
     }\r
@@ -794,7 +814,7 @@ void named_arguments() : {
         ;\r
         break;\r
       default:\r
-        jj_la1[35] = jj_gen;\r
+        jj_la1[36] = jj_gen;\r
         break label_10;\r
       }\r
       jj_consume_token(69);\r
@@ -817,7 +837,7 @@ void named_arguments() : {
         ;\r
         break;\r
       default:\r
-        jj_la1[36] = jj_gen;\r
+        jj_la1[37] = jj_gen;\r
         break label_11;\r
       }\r
       jj_consume_token(69);\r
@@ -837,7 +857,7 @@ void named_arguments() : {
             currentRange.add(token);\r
       break;\r
     default:\r
-      jj_la1[38] = jj_gen;\r
+      jj_la1[39] = jj_gen;\r
       if (jj_2_3(2147483647)) {\r
         functionCall = null;\r
         name();\r
@@ -850,6 +870,7 @@ void named_arguments() : {
       } else {\r
         switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {\r
         case IDENT:\r
+        case QIDENT:\r
         case UNSIGNED_INTEGER:\r
           rangeIndex(rangeToken, true);\r
           switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {\r
@@ -858,7 +879,7 @@ void named_arguments() : {
             rangeIndex(rangeToken, false);\r
             break;\r
           default:\r
-            jj_la1[37] = jj_gen;\r
+            jj_la1[38] = jj_gen;\r
             ;\r
           }\r
             rangeToken.endColumn = token.endColumn;\r
@@ -866,7 +887,7 @@ void named_arguments() : {
                 currentRange.add(rangeToken);\r
           break;\r
         default:\r
-          jj_la1[39] = jj_gen;\r
+          jj_la1[40] = jj_gen;\r
           jj_consume_token(-1);\r
           throw new ParseException();\r
         }\r
@@ -884,11 +905,12 @@ void named_arguments() : {
                 rangeToken.image = rangeToken.image + token.image;\r
       break;\r
     case IDENT:\r
+    case QIDENT:\r
       identToken = ident();\r
                 rangeToken.image = rangeToken.image + identToken;\r
       break;\r
     default:\r
-      jj_la1[40] = jj_gen;\r
+      jj_la1[41] = jj_gen;\r
       jj_consume_token(-1);\r
       throw new ParseException();\r
     }\r
@@ -915,59 +937,24 @@ void named_arguments() : {
     finally { jj_save(2, xla); }\r
   }\r
 \r
-  private boolean jj_3R_13() {\r
-    if (jj_3R_14()) return true;\r
-    if (jj_scan_token(86)) return true;\r
-    if (jj_3R_16()) return true;\r
-    return false;\r
-  }\r
-\r
-  private boolean jj_3R_66() {\r
-    if (jj_scan_token(21)) return true;\r
-    if (jj_3R_70()) return true;\r
-    return false;\r
-  }\r
-\r
-  private boolean jj_3R_36() {\r
-    Token xsp;\r
-    xsp = jj_scanpos;\r
-    if (jj_scan_token(76)) {\r
-    jj_scanpos = xsp;\r
-    if (jj_scan_token(77)) {\r
-    jj_scanpos = xsp;\r
-    if (jj_scan_token(78)) {\r
-    jj_scanpos = xsp;\r
-    if (jj_scan_token(79)) return true;\r
-    }\r
-    }\r
-    }\r
-    return false;\r
-  }\r
-\r
-  private boolean jj_3R_28() {\r
-    if (jj_scan_token(9)) return true;\r
-    if (jj_3R_27()) return true;\r
+  private boolean jj_3R_34() {\r
+    if (jj_3R_38()) return true;\r
     return false;\r
   }\r
 \r
   private boolean jj_3R_32() {\r
-    if (jj_3R_36()) return true;\r
-    return false;\r
-  }\r
-\r
-  private boolean jj_3R_30() {\r
     Token xsp;\r
     xsp = jj_scanpos;\r
-    if (jj_3R_32()) jj_scanpos = xsp;\r
-    if (jj_3R_33()) return true;\r
+    if (jj_3R_34()) jj_scanpos = xsp;\r
+    if (jj_3R_35()) return true;\r
     while (true) {\r
       xsp = jj_scanpos;\r
-      if (jj_3R_34()) { jj_scanpos = xsp; break; }\r
+      if (jj_3R_36()) { jj_scanpos = xsp; break; }\r
     }\r
     return false;\r
   }\r
 \r
-  private boolean jj_3R_35() {\r
+  private boolean jj_3R_37() {\r
     Token xsp;\r
     xsp = jj_scanpos;\r
     if (jj_scan_token(70)) {\r
@@ -989,72 +976,52 @@ void named_arguments() : {
     return false;\r
   }\r
 \r
-  private boolean jj_3R_50() {\r
-    if (jj_3R_14()) return true;\r
-    Token xsp;\r
-    xsp = jj_scanpos;\r
-    if (jj_3R_55()) jj_scanpos = xsp;\r
-    xsp = jj_scanpos;\r
-    if (jj_3R_56()) jj_scanpos = xsp;\r
+  private boolean jj_3R_15() {\r
+    if (jj_scan_token(66)) return true;\r
+    if (jj_3R_12()) return true;\r
     return false;\r
   }\r
 \r
-  private boolean jj_3R_23() {\r
+  private boolean jj_3R_74() {\r
     if (jj_scan_token(67)) return true;\r
-    if (jj_3R_22()) return true;\r
-    Token xsp;\r
-    xsp = jj_scanpos;\r
-    if (jj_3R_26()) jj_scanpos = xsp;\r
+    if (jj_3R_73()) return true;\r
     return false;\r
   }\r
 \r
   private boolean jj_3R_25() {\r
-    if (jj_scan_token(22)) return true;\r
+    if (jj_scan_token(67)) return true;\r
     if (jj_3R_24()) return true;\r
-    return false;\r
-  }\r
-\r
-  private boolean jj_3R_29() {\r
-    if (jj_3R_30()) return true;\r
     Token xsp;\r
     xsp = jj_scanpos;\r
-    if (jj_3R_31()) jj_scanpos = xsp;\r
+    if (jj_3R_28()) jj_scanpos = xsp;\r
     return false;\r
   }\r
 \r
-  private boolean jj_3R_15() {\r
-    if (jj_scan_token(66)) return true;\r
-    if (jj_3R_12()) return true;\r
-    return false;\r
-  }\r
-\r
-  private boolean jj_3R_72() {\r
-    if (jj_scan_token(67)) return true;\r
-    if (jj_3R_71()) return true;\r
+  private boolean jj_3R_27() {\r
+    if (jj_scan_token(22)) return true;\r
+    if (jj_3R_26()) return true;\r
     return false;\r
   }\r
 \r
-  private boolean jj_3R_77() {\r
+  private boolean jj_3R_79() {\r
     if (jj_scan_token(41)) return true;\r
     if (jj_3R_16()) return true;\r
     return false;\r
   }\r
 \r
-  private boolean jj_3R_27() {\r
+  private boolean jj_3R_31() {\r
+    if (jj_3R_32()) return true;\r
     Token xsp;\r
     xsp = jj_scanpos;\r
-    if (jj_scan_token(12)) jj_scanpos = xsp;\r
-    if (jj_3R_29()) return true;\r
+    if (jj_3R_33()) jj_scanpos = xsp;\r
     return false;\r
   }\r
 \r
-  private boolean jj_3R_24() {\r
-    if (jj_3R_27()) return true;\r
+  private boolean jj_3R_29() {\r
     Token xsp;\r
-    while (true) {\r
-      xsp = jj_scanpos;\r
-      if (jj_3R_28()) { jj_scanpos = xsp; break; }\r
-    }\r
+    xsp = jj_scanpos;\r
+    if (jj_scan_token(12)) jj_scanpos = xsp;\r
+    if (jj_3R_31()) return true;\r
     return false;\r
   }\r
 \r
@@ -1066,142 +1033,157 @@ void named_arguments() : {
     return false;\r
   }\r
 \r
-  private boolean jj_3R_74() {\r
+  private boolean jj_3R_76() {\r
     if (jj_scan_token(69)) return true;\r
-    if (jj_3R_73()) return true;\r
+    if (jj_3R_75()) return true;\r
     return false;\r
   }\r
 \r
-  private boolean jj_3R_22() {\r
-    if (jj_3R_24()) return true;\r
+  private boolean jj_3R_26() {\r
+    if (jj_3R_29()) return true;\r
     Token xsp;\r
     while (true) {\r
       xsp = jj_scanpos;\r
-      if (jj_3R_25()) { jj_scanpos = xsp; break; }\r
+      if (jj_3R_30()) { jj_scanpos = xsp; break; }\r
     }\r
     return false;\r
   }\r
 \r
-  private boolean jj_3R_65() {\r
+  private boolean jj_3R_67() {\r
     if (jj_scan_token(69)) return true;\r
-    if (jj_3R_53()) return true;\r
+    if (jj_3R_55()) return true;\r
     return false;\r
   }\r
 \r
-  private boolean jj_3R_62() {\r
+  private boolean jj_3R_64() {\r
     Token xsp;\r
     xsp = jj_scanpos;\r
-    if (jj_3R_65()) {\r
+    if (jj_3R_67()) {\r
     jj_scanpos = xsp;\r
-    if (jj_3R_66()) return true;\r
+    if (jj_3R_68()) return true;\r
     }\r
     return false;\r
   }\r
 \r
-  private boolean jj_3R_56() {\r
+  private boolean jj_3R_58() {\r
     if (jj_scan_token(66)) return true;\r
-    if (jj_3R_50()) return true;\r
+    if (jj_3R_52()) return true;\r
     return false;\r
   }\r
 \r
-  private boolean jj_3R_76() {\r
+  private boolean jj_3R_78() {\r
     if (jj_3R_14()) return true;\r
     return false;\r
   }\r
 \r
-  private boolean jj_3R_73() {\r
+  private boolean jj_3R_75() {\r
     if (jj_3R_14()) return true;\r
     Token xsp;\r
     xsp = jj_scanpos;\r
-    if (jj_3R_77()) jj_scanpos = xsp;\r
+    if (jj_3R_79()) jj_scanpos = xsp;\r
     return false;\r
   }\r
 \r
-  private boolean jj_3R_20() {\r
-    if (jj_3R_22()) return true;\r
+  private boolean jj_3R_24() {\r
+    if (jj_3R_26()) return true;\r
     Token xsp;\r
-    xsp = jj_scanpos;\r
-    if (jj_3R_23()) jj_scanpos = xsp;\r
+    while (true) {\r
+      xsp = jj_scanpos;\r
+      if (jj_3R_27()) { jj_scanpos = xsp; break; }\r
+    }\r
     return false;\r
   }\r
 \r
-  private boolean jj_3R_75() {\r
+  private boolean jj_3R_77() {\r
     if (jj_scan_token(UNSIGNED_INTEGER)) return true;\r
     return false;\r
   }\r
 \r
-  private boolean jj_3R_71() {\r
+  private boolean jj_3R_73() {\r
     Token xsp;\r
     xsp = jj_scanpos;\r
-    if (jj_3R_75()) {\r
+    if (jj_3R_77()) {\r
     jj_scanpos = xsp;\r
-    if (jj_3R_76()) return true;\r
+    if (jj_3R_78()) return true;\r
     }\r
     return false;\r
   }\r
 \r
-  private boolean jj_3R_52() {\r
-    if (jj_scan_token(68)) return true;\r
-    if (jj_3R_51()) return true;\r
+  private boolean jj_3_2() {\r
+    if (jj_3R_13()) return true;\r
     return false;\r
   }\r
 \r
-  private boolean jj_3R_19() {\r
-    if (jj_scan_token(31)) return true;\r
-    if (jj_3R_16()) return true;\r
-    if (jj_scan_token(28)) return true;\r
-    if (jj_3R_16()) return true;\r
+  private boolean jj_3R_22() {\r
+    if (jj_3R_24()) return true;\r
     Token xsp;\r
-    while (true) {\r
-      xsp = jj_scanpos;\r
-      if (jj_3R_21()) { jj_scanpos = xsp; break; }\r
-    }\r
-    if (jj_scan_token(15)) return true;\r
-    if (jj_3R_16()) return true;\r
+    xsp = jj_scanpos;\r
+    if (jj_3R_25()) jj_scanpos = xsp;\r
     return false;\r
   }\r
 \r
-  private boolean jj_3_2() {\r
-    if (jj_3R_13()) return true;\r
+  private boolean jj_3R_18() {\r
+    if (jj_scan_token(QIDENT)) return true;\r
     return false;\r
   }\r
 \r
-  private boolean jj_3R_70() {\r
-    if (jj_3R_73()) return true;\r
+  private boolean jj_3R_72() {\r
+    if (jj_3R_75()) return true;\r
     Token xsp;\r
     while (true) {\r
       xsp = jj_scanpos;\r
-      if (jj_3R_74()) { jj_scanpos = xsp; break; }\r
+      if (jj_3R_76()) { jj_scanpos = xsp; break; }\r
     }\r
     return false;\r
   }\r
 \r
-  private boolean jj_3R_18() {\r
-    if (jj_3R_20()) return true;\r
+  private boolean jj_3R_54() {\r
+    if (jj_scan_token(68)) return true;\r
+    if (jj_3R_53()) return true;\r
     return false;\r
   }\r
 \r
-  private boolean jj_3R_16() {\r
+  private boolean jj_3R_20() {\r
+    if (jj_scan_token(31)) return true;\r
+    if (jj_3R_16()) return true;\r
+    if (jj_scan_token(28)) return true;\r
+    if (jj_3R_16()) return true;\r
     Token xsp;\r
-    xsp = jj_scanpos;\r
-    if (jj_3R_18()) {\r
-    jj_scanpos = xsp;\r
-    if (jj_3R_19()) return true;\r
+    while (true) {\r
+      xsp = jj_scanpos;\r
+      if (jj_3R_23()) { jj_scanpos = xsp; break; }\r
     }\r
+    if (jj_scan_token(15)) return true;\r
+    if (jj_3R_16()) return true;\r
     return false;\r
   }\r
 \r
-  private boolean jj_3R_59() {\r
+  private boolean jj_3R_61() {\r
     if (jj_3R_16()) return true;\r
     Token xsp;\r
     xsp = jj_scanpos;\r
-    if (jj_3R_62()) jj_scanpos = xsp;\r
+    if (jj_3R_64()) jj_scanpos = xsp;\r
     return false;\r
   }\r
 \r
-  private boolean jj_3R_64() {\r
+  private boolean jj_3R_66() {\r
     if (jj_scan_token(69)) return true;\r
-    if (jj_3R_63()) return true;\r
+    if (jj_3R_65()) return true;\r
+    return false;\r
+  }\r
+\r
+  private boolean jj_3R_19() {\r
+    if (jj_3R_22()) return true;\r
+    return false;\r
+  }\r
+\r
+  private boolean jj_3R_16() {\r
+    Token xsp;\r
+    xsp = jj_scanpos;\r
+    if (jj_3R_19()) {\r
+    jj_scanpos = xsp;\r
+    if (jj_3R_20()) return true;\r
+    }\r
     return false;\r
   }\r
 \r
@@ -1211,176 +1193,204 @@ void named_arguments() : {
     return false;\r
   }\r
 \r
-  private boolean jj_3R_69() {\r
-    if (jj_3R_71()) return true;\r
+  private boolean jj_3R_71() {\r
+    if (jj_3R_73()) return true;\r
     Token xsp;\r
     xsp = jj_scanpos;\r
-    if (jj_3R_72()) jj_scanpos = xsp;\r
+    if (jj_3R_74()) jj_scanpos = xsp;\r
     return false;\r
   }\r
 \r
-  private boolean jj_3R_58() {\r
+  private boolean jj_3R_60() {\r
     if (jj_3R_13()) return true;\r
     Token xsp;\r
     xsp = jj_scanpos;\r
-    if (jj_3R_61()) jj_scanpos = xsp;\r
+    if (jj_3R_63()) jj_scanpos = xsp;\r
     return false;\r
   }\r
 \r
-  private boolean jj_3R_53() {\r
+  private boolean jj_3R_55() {\r
     Token xsp;\r
     xsp = jj_scanpos;\r
-    if (jj_3R_58()) {\r
+    if (jj_3R_60()) {\r
     jj_scanpos = xsp;\r
-    if (jj_3R_59()) return true;\r
+    if (jj_3R_61()) return true;\r
     }\r
     return false;\r
   }\r
 \r
-  private boolean jj_3R_17() {\r
+  private boolean jj_3R_56() {\r
+    if (jj_3R_55()) return true;\r
+    return false;\r
+  }\r
+\r
+  private boolean jj_3R_21() {\r
     if (jj_3R_14()) return true;\r
     return false;\r
   }\r
 \r
-  private boolean jj_3R_14() {\r
+  private boolean jj_3R_70() {\r
+    if (jj_3R_12()) return true;\r
+    if (jj_3R_51()) return true;\r
+    return false;\r
+  }\r
+\r
+  private boolean jj_3R_17() {\r
     if (jj_scan_token(IDENT)) return true;\r
     Token xsp;\r
     xsp = jj_scanpos;\r
-    if (jj_3R_17()) jj_scanpos = xsp;\r
+    if (jj_3R_21()) jj_scanpos = xsp;\r
     return false;\r
   }\r
 \r
-  private boolean jj_3R_54() {\r
-    if (jj_3R_53()) return true;\r
+  private boolean jj_3R_14() {\r
+    Token xsp;\r
+    xsp = jj_scanpos;\r
+    if (jj_3R_17()) {\r
+    jj_scanpos = xsp;\r
+    if (jj_3R_18()) return true;\r
+    }\r
     return false;\r
   }\r
 \r
-  private boolean jj_3R_48() {\r
+  private boolean jj_3R_51() {\r
+    if (jj_scan_token(60)) return true;\r
+    Token xsp;\r
+    xsp = jj_scanpos;\r
+    if (jj_3R_56()) jj_scanpos = xsp;\r
+    if (jj_scan_token(61)) return true;\r
+    return false;\r
+  }\r
+\r
+  private boolean jj_3R_50() {\r
     if (jj_scan_token(85)) return true;\r
-    if (jj_3R_39()) return true;\r
+    if (jj_3R_41()) return true;\r
     return false;\r
   }\r
 \r
-  private boolean jj_3R_68() {\r
-    if (jj_3R_12()) return true;\r
-    if (jj_3R_49()) return true;\r
+  private boolean jj_3R_57() {\r
+    if (jj_3R_62()) return true;\r
     return false;\r
   }\r
 \r
-  private boolean jj_3_1() {\r
-    if (jj_3R_12()) return true;\r
-    if (jj_scan_token(60)) return true;\r
+  private boolean jj_3R_69() {\r
+    if (jj_scan_token(67)) return true;\r
     return false;\r
   }\r
 \r
-  private boolean jj_3R_49() {\r
-    if (jj_scan_token(60)) return true;\r
+  private boolean jj_3R_65() {\r
     Token xsp;\r
     xsp = jj_scanpos;\r
-    if (jj_3R_54()) jj_scanpos = xsp;\r
-    if (jj_scan_token(61)) return true;\r
+    if (jj_3R_69()) {\r
+    jj_scanpos = xsp;\r
+    if (jj_3R_70()) {\r
+    jj_scanpos = xsp;\r
+    if (jj_3R_71()) return true;\r
+    }\r
+    }\r
     return false;\r
   }\r
 \r
-  private boolean jj_3R_46() {\r
+  private boolean jj_3_1() {\r
+    if (jj_3R_12()) return true;\r
+    if (jj_scan_token(60)) return true;\r
+    return false;\r
+  }\r
+\r
+  private boolean jj_3R_48() {\r
     if (jj_scan_token(62)) return true;\r
-    if (jj_3R_53()) return true;\r
+    if (jj_3R_55()) return true;\r
     if (jj_scan_token(63)) return true;\r
     return false;\r
   }\r
 \r
-  private boolean jj_3R_45() {\r
+  private boolean jj_3R_47() {\r
     if (jj_scan_token(64)) return true;\r
-    if (jj_3R_51()) return true;\r
+    if (jj_3R_53()) return true;\r
     Token xsp;\r
     while (true) {\r
       xsp = jj_scanpos;\r
-      if (jj_3R_52()) { jj_scanpos = xsp; break; }\r
+      if (jj_3R_54()) { jj_scanpos = xsp; break; }\r
     }\r
     if (jj_scan_token(65)) return true;\r
     return false;\r
   }\r
 \r
-  private boolean jj_3R_44() {\r
+  private boolean jj_3R_46() {\r
     if (jj_scan_token(60)) return true;\r
     if (jj_3R_16()) return true;\r
     if (jj_scan_token(61)) return true;\r
     return false;\r
   }\r
 \r
-  private boolean jj_3R_55() {\r
-    if (jj_3R_60()) return true;\r
+  private boolean jj_3R_45() {\r
+    if (jj_3R_52()) return true;\r
     return false;\r
   }\r
 \r
-  private boolean jj_3R_67() {\r
-    if (jj_scan_token(67)) return true;\r
+  private boolean jj_3R_59() {\r
+    if (jj_scan_token(69)) return true;\r
+    if (jj_3R_16()) return true;\r
     return false;\r
   }\r
 \r
-  private boolean jj_3R_63() {\r
+  private boolean jj_3R_62() {\r
+    if (jj_scan_token(64)) return true;\r
+    if (jj_3R_65()) return true;\r
     Token xsp;\r
-    xsp = jj_scanpos;\r
-    if (jj_3R_67()) {\r
-    jj_scanpos = xsp;\r
-    if (jj_3R_68()) {\r
-    jj_scanpos = xsp;\r
-    if (jj_3R_69()) return true;\r
-    }\r
+    while (true) {\r
+      xsp = jj_scanpos;\r
+      if (jj_3R_66()) { jj_scanpos = xsp; break; }\r
     }\r
+    if (jj_scan_token(65)) return true;\r
     return false;\r
   }\r
 \r
-  private boolean jj_3R_43() {\r
-    if (jj_3R_50()) return true;\r
-    return false;\r
-  }\r
-\r
-  private boolean jj_3R_42() {\r
+  private boolean jj_3R_44() {\r
     if (jj_3R_12()) return true;\r
-    if (jj_3R_49()) return true;\r
+    if (jj_3R_51()) return true;\r
     return false;\r
   }\r
 \r
-  private boolean jj_3R_47() {\r
+  private boolean jj_3R_49() {\r
     if (jj_scan_token(84)) return true;\r
-    if (jj_3R_39()) return true;\r
+    if (jj_3R_41()) return true;\r
     return false;\r
   }\r
 \r
-  private boolean jj_3R_40() {\r
+  private boolean jj_3R_42() {\r
     Token xsp;\r
     xsp = jj_scanpos;\r
-    if (jj_3R_47()) {\r
+    if (jj_3R_49()) {\r
     jj_scanpos = xsp;\r
-    if (jj_3R_48()) return true;\r
+    if (jj_3R_50()) return true;\r
     }\r
     return false;\r
   }\r
 \r
-  private boolean jj_3R_39() {\r
+  private boolean jj_3R_41() {\r
     Token xsp;\r
     xsp = jj_scanpos;\r
+    if (jj_scan_token(92)) {\r
+    jj_scanpos = xsp;\r
     if (jj_scan_token(91)) {\r
     jj_scanpos = xsp;\r
     if (jj_scan_token(90)) {\r
     jj_scanpos = xsp;\r
-    if (jj_scan_token(89)) {\r
-    jj_scanpos = xsp;\r
     if (jj_scan_token(6)) {\r
     jj_scanpos = xsp;\r
     if (jj_scan_token(33)) {\r
     jj_scanpos = xsp;\r
-    if (jj_3R_42()) {\r
-    jj_scanpos = xsp;\r
-    if (jj_3R_43()) {\r
-    jj_scanpos = xsp;\r
     if (jj_3R_44()) {\r
     jj_scanpos = xsp;\r
     if (jj_3R_45()) {\r
     jj_scanpos = xsp;\r
     if (jj_3R_46()) {\r
     jj_scanpos = xsp;\r
+    if (jj_3R_47()) {\r
+    jj_scanpos = xsp;\r
+    if (jj_3R_48()) {\r
+    jj_scanpos = xsp;\r
     if (jj_scan_token(35)) return true;\r
     }\r
     }\r
@@ -1395,49 +1405,31 @@ void named_arguments() : {
     return false;\r
   }\r
 \r
-  private boolean jj_3R_57() {\r
-    if (jj_scan_token(69)) return true;\r
-    if (jj_3R_16()) return true;\r
-    return false;\r
-  }\r
-\r
-  private boolean jj_3R_60() {\r
-    if (jj_scan_token(64)) return true;\r
-    if (jj_3R_63()) return true;\r
-    Token xsp;\r
-    while (true) {\r
-      xsp = jj_scanpos;\r
-      if (jj_3R_64()) { jj_scanpos = xsp; break; }\r
-    }\r
-    if (jj_scan_token(65)) return true;\r
+  private boolean jj_3R_28() {\r
+    if (jj_scan_token(67)) return true;\r
+    if (jj_3R_24()) return true;\r
     return false;\r
   }\r
 \r
-  private boolean jj_3R_26() {\r
-    if (jj_scan_token(67)) return true;\r
-    if (jj_3R_22()) return true;\r
+  private boolean jj_3R_40() {\r
+    if (jj_3R_43()) return true;\r
+    if (jj_3R_39()) return true;\r
     return false;\r
   }\r
 \r
-  private boolean jj_3R_38() {\r
-    if (jj_3R_41()) return true;\r
+  private boolean jj_3R_33() {\r
     if (jj_3R_37()) return true;\r
+    if (jj_3R_32()) return true;\r
     return false;\r
   }\r
 \r
-  private boolean jj_3R_31() {\r
+  private boolean jj_3R_36() {\r
+    if (jj_3R_38()) return true;\r
     if (jj_3R_35()) return true;\r
-    if (jj_3R_30()) return true;\r
     return false;\r
   }\r
 \r
-  private boolean jj_3R_34() {\r
-    if (jj_3R_36()) return true;\r
-    if (jj_3R_33()) return true;\r
-    return false;\r
-  }\r
-\r
-  private boolean jj_3R_41() {\r
+  private boolean jj_3R_43() {\r
     Token xsp;\r
     xsp = jj_scanpos;\r
     if (jj_scan_token(80)) {\r
@@ -1453,25 +1445,44 @@ void named_arguments() : {
     return false;\r
   }\r
 \r
-  private boolean jj_3R_37() {\r
-    if (jj_3R_39()) return true;\r
+  private boolean jj_3R_39() {\r
+    if (jj_3R_41()) return true;\r
     Token xsp;\r
     xsp = jj_scanpos;\r
-    if (jj_3R_40()) jj_scanpos = xsp;\r
+    if (jj_3R_42()) jj_scanpos = xsp;\r
     return false;\r
   }\r
 \r
-  private boolean jj_3R_51() {\r
+  private boolean jj_3R_53() {\r
     if (jj_3R_16()) return true;\r
     Token xsp;\r
     while (true) {\r
       xsp = jj_scanpos;\r
-      if (jj_3R_57()) { jj_scanpos = xsp; break; }\r
+      if (jj_3R_59()) { jj_scanpos = xsp; break; }\r
     }\r
     return false;\r
   }\r
 \r
-  private boolean jj_3R_21() {\r
+  private boolean jj_3R_63() {\r
+    if (jj_scan_token(69)) return true;\r
+    if (jj_3R_55()) return true;\r
+    return false;\r
+  }\r
+\r
+  private boolean jj_3R_13() {\r
+    if (jj_3R_14()) return true;\r
+    if (jj_scan_token(86)) return true;\r
+    if (jj_3R_16()) return true;\r
+    return false;\r
+  }\r
+\r
+  private boolean jj_3R_68() {\r
+    if (jj_scan_token(21)) return true;\r
+    if (jj_3R_72()) return true;\r
+    return false;\r
+  }\r
+\r
+  private boolean jj_3R_23() {\r
     if (jj_scan_token(20)) return true;\r
     if (jj_3R_16()) return true;\r
     if (jj_scan_token(28)) return true;\r
@@ -1479,19 +1490,45 @@ void named_arguments() : {
     return false;\r
   }\r
 \r
-  private boolean jj_3R_33() {\r
-    if (jj_3R_37()) return true;\r
+  private boolean jj_3R_35() {\r
+    if (jj_3R_39()) return true;\r
     Token xsp;\r
     while (true) {\r
       xsp = jj_scanpos;\r
-      if (jj_3R_38()) { jj_scanpos = xsp; break; }\r
+      if (jj_3R_40()) { jj_scanpos = xsp; break; }\r
     }\r
     return false;\r
   }\r
 \r
-  private boolean jj_3R_61() {\r
-    if (jj_scan_token(69)) return true;\r
-    if (jj_3R_53()) return true;\r
+  private boolean jj_3R_38() {\r
+    Token xsp;\r
+    xsp = jj_scanpos;\r
+    if (jj_scan_token(76)) {\r
+    jj_scanpos = xsp;\r
+    if (jj_scan_token(77)) {\r
+    jj_scanpos = xsp;\r
+    if (jj_scan_token(78)) {\r
+    jj_scanpos = xsp;\r
+    if (jj_scan_token(79)) return true;\r
+    }\r
+    }\r
+    }\r
+    return false;\r
+  }\r
+\r
+  private boolean jj_3R_52() {\r
+    if (jj_3R_14()) return true;\r
+    Token xsp;\r
+    xsp = jj_scanpos;\r
+    if (jj_3R_57()) jj_scanpos = xsp;\r
+    xsp = jj_scanpos;\r
+    if (jj_3R_58()) jj_scanpos = xsp;\r
+    return false;\r
+  }\r
+\r
+  private boolean jj_3R_30() {\r
+    if (jj_scan_token(9)) return true;\r
+    if (jj_3R_29()) return true;\r
     return false;\r
   }\r
 \r
@@ -1506,7 +1543,7 @@ void named_arguments() : {
   private Token jj_scanpos, jj_lastpos;\r
   private int jj_la;\r
   private int jj_gen;\r
-  final private int[] jj_la1 = new int[41];\r
+  final private int[] jj_la1 = new int[42];\r
   static private int[] jj_la1_0;\r
   static private int[] jj_la1_1;\r
   static private int[] jj_la1_2;\r
@@ -1516,13 +1553,13 @@ void named_arguments() : {
       jj_la1_init_2();\r
    }\r
    private static void jj_la1_init_0() {\r
-      jj_la1_0 = new int[] {0x100000,0x80001040,0x100000,0x80001040,0x0,0x0,0x400000,0x200,0x1000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x0,0x0,0x0,0x0,0x0,0x80001040,0x0,0x200000,0x200000,0x80001040,0x0,0x0,0x80001040,0x0,0x80001040,0x0,0x0,0x0,0x0,0x0,0x0,};\r
+      jj_la1_0 = new int[] {0x100000,0x80001040,0x100000,0x80001040,0x0,0x0,0x400000,0x200,0x1000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x80001040,0x0,0x200000,0x200000,0x80001040,0x0,0x0,0x80001040,0x0,0x80001040,0x0,0x0,0x0,0x0,0x0,0x0,};\r
    }\r
    private static void jj_la1_init_1() {\r
-      jj_la1_1 = new int[] {0x0,0x5000000a,0x0,0x5000000a,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2,0x50000008,0x0,0x0,0x0,0x0,0x5000000a,0x0,0x0,0x0,0x5000000a,0x0,0x200,0x5000000a,0x0,0x5000000a,0x0,0x0,0x0,0x0,0x0,0x0,};\r
+      jj_la1_1 = new int[] {0x0,0x5000000a,0x0,0x5000000a,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2,0x50000008,0x0,0x0,0x0,0x0,0x0,0x5000000a,0x0,0x0,0x0,0x5000000a,0x0,0x200,0x5000000a,0x0,0x5000000a,0x0,0x0,0x0,0x0,0x0,0x0,};\r
    }\r
    private static void jj_la1_init_2() {\r
-      jj_la1_2 = new int[] {0x0,0xf00f001,0x0,0xf00f001,0x8,0x8,0x0,0x0,0x0,0xfc0,0xfc0,0xf000,0xf000,0xf000,0xf0000,0x300000,0x300000,0xf0000,0x10,0xe000000,0x1000001,0x1000000,0x4,0x1,0x4,0xf00f001,0x20,0x20,0x20,0xf00f001,0x20,0x0,0xf00f001,0x20,0xf00f001,0x20,0x20,0x8,0x8,0x5000000,0x5000000,};\r
+      jj_la1_2 = new int[] {0x0,0x1f00f001,0x0,0x1f00f001,0x8,0x8,0x0,0x0,0x0,0xfc0,0xfc0,0xf000,0xf000,0xf000,0xf0000,0x300000,0x300000,0xf0000,0x10,0x1c000000,0x3000001,0x3000000,0x3000000,0x4,0x1,0x4,0x1f00f001,0x20,0x20,0x20,0x1f00f001,0x20,0x0,0x1f00f001,0x20,0x1f00f001,0x20,0x20,0x8,0x8,0xb000000,0xb000000,};\r
    }\r
   final private JJCalls[] jj_2_rtns = new JJCalls[3];\r
   private boolean jj_rescan = false;\r
@@ -1539,7 +1576,7 @@ void named_arguments() : {
     token = new Token();\r
     jj_ntk = -1;\r
     jj_gen = 0;\r
-    for (int i = 0; i < 41; i++) jj_la1[i] = -1;\r
+    for (int i = 0; i < 42; i++) jj_la1[i] = -1;\r
     for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();\r
   }\r
 \r
@@ -1554,7 +1591,7 @@ void named_arguments() : {
     token = new Token();\r
     jj_ntk = -1;\r
     jj_gen = 0;\r
-    for (int i = 0; i < 41; i++) jj_la1[i] = -1;\r
+    for (int i = 0; i < 42; i++) jj_la1[i] = -1;\r
     for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();\r
   }\r
 \r
@@ -1565,7 +1602,7 @@ void named_arguments() : {
     token = new Token();\r
     jj_ntk = -1;\r
     jj_gen = 0;\r
-    for (int i = 0; i < 41; i++) jj_la1[i] = -1;\r
+    for (int i = 0; i < 42; i++) jj_la1[i] = -1;\r
     for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();\r
   }\r
 \r
@@ -1576,7 +1613,7 @@ void named_arguments() : {
     token = new Token();\r
     jj_ntk = -1;\r
     jj_gen = 0;\r
-    for (int i = 0; i < 41; i++) jj_la1[i] = -1;\r
+    for (int i = 0; i < 42; i++) jj_la1[i] = -1;\r
     for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();\r
   }\r
 \r
@@ -1586,7 +1623,7 @@ void named_arguments() : {
     token = new Token();\r
     jj_ntk = -1;\r
     jj_gen = 0;\r
-    for (int i = 0; i < 41; i++) jj_la1[i] = -1;\r
+    for (int i = 0; i < 42; i++) jj_la1[i] = -1;\r
     for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();\r
   }\r
 \r
@@ -1596,7 +1633,7 @@ void named_arguments() : {
     token = new Token();\r
     jj_ntk = -1;\r
     jj_gen = 0;\r
-    for (int i = 0; i < 41; i++) jj_la1[i] = -1;\r
+    for (int i = 0; i < 42; i++) jj_la1[i] = -1;\r
     for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();\r
   }\r
 \r
@@ -1708,12 +1745,12 @@ void named_arguments() : {
   /** Generate ParseException. */\r
   public ParseException generateParseException() {\r
     jj_expentries.clear();\r
-    boolean[] la1tokens = new boolean[92];\r
+    boolean[] la1tokens = new boolean[93];\r
     if (jj_kind >= 0) {\r
       la1tokens[jj_kind] = true;\r
       jj_kind = -1;\r
     }\r
-    for (int i = 0; i < 41; i++) {\r
+    for (int i = 0; i < 42; i++) {\r
       if (jj_la1[i] == jj_gen) {\r
         for (int j = 0; j < 32; j++) {\r
           if ((jj_la1_0[i] & (1<<j)) != 0) {\r
@@ -1728,7 +1765,7 @@ void named_arguments() : {
         }\r
       }\r
     }\r
-    for (int i = 0; i < 92; i++) {\r
+    for (int i = 0; i < 93; i++) {\r
       if (la1tokens[i]) {\r
         jj_expentry = new int[1];\r
         jj_expentry[0] = i;\r
index da252cd6bbcf2785550fa1d00085e96b0c75edf2..5e8c3c2b003d0a3b3837289f76648754f54dffdf 100644 (file)
@@ -100,6 +100,11 @@ TOKEN:
 | "^" | ".^"\r
 | "=" | ":=" \r
 | <IDENT: ["a"-"z","A"-"Z","_"] (["a"-"z","A"-"Z","_","0"-"9"])* >\r
+| <QIDENT: "'" (["a"-"z","A"-"Z","_","0"-"9","!","*","+",",",\r
+ "-",".","/",":",";","=","?","@","^","~"," ","\'","\\","\b","\f"])* "'" >\r
+ /* Excluded "#","$","%","&","(",")","<",">","[","]","{","}","|", and "\"" because of Sysdyn */\r
+ /* Excluded "\?", "\a", and "\v" because of JavaCC */\r
+ /* Excluded "\n","\r", and "\t" just in case */\r
 | <STRING: "\"" (~["\"", "\\", "\n"] | "\\" ~["\n"])* "\"">\r
     { matchedToken.image = matchedToken.image.substring(1,matchedToken.image.length()-1); }\r
 | <UNSIGNED_INTEGER: (["0"-"9"])+ >\r
@@ -235,7 +240,13 @@ Token ident() : {
   }\r
   )?\r
   {\r    return concatToken;\r
-  }\r}\r\r
+  }\r
+  |\r
+  <QIDENT>\r
+  {\r
+    return token;\r
+  }\r
+}\r\r
 void name() : {\r
   Token identToken = null;\r
 } {\r
index 59c2d075f73bf6e878f36e5d86658961bb107a6e..62dfa364fefbf10173ab9fd4058d716df3616cbd 100644 (file)
@@ -19,11 +19,13 @@ public interface ExpressionParserConstants {
   /** RegularExpression Id. */\r
   int IDENT = 88;\r
   /** RegularExpression Id. */\r
-  int STRING = 89;\r
+  int QIDENT = 89;\r
   /** RegularExpression Id. */\r
-  int UNSIGNED_INTEGER = 90;\r
+  int STRING = 90;\r
   /** RegularExpression Id. */\r
-  int UNSIGNED_NUMBER = 91;\r
+  int UNSIGNED_INTEGER = 91;\r
+  /** RegularExpression Id. */\r
+  int UNSIGNED_NUMBER = 92;\r
 \r
   /** Lexical state. */\r
   int DEFAULT = 0;\r
@@ -119,6 +121,7 @@ public interface ExpressionParserConstants {
     "\"=\"",\r
     "\":=\"",\r
     "<IDENT>",\r
+    "<QIDENT>",\r
     "<STRING>",\r
     "<UNSIGNED_INTEGER>",\r
     "<UNSIGNED_NUMBER>",\r
index 7c7a5cfc9be151db201cb012850c77d650791e1a..011bc205ad1a481537141b33546ee59ce75bd95c 100644 (file)
@@ -19,15 +19,15 @@ private final int jjStopStringLiteralDfa_0(int pos, long active0, long active1)
    switch (pos)
    {\r
       case 0:\r
+         if ((active1 & 0x2cc004L) != 0L)\r
+            return 12;\r
          if ((active0 & 0xffffffffffffff0L) != 0L)\r
          {\r
             jjmatchedKind = 88;\r
             return 2;\r
          }\r
          if ((active1 & 0x20000L) != 0L)\r
-            return 13;\r
-         if ((active1 & 0x2cc004L) != 0L)\r
-            return 9;\r
+            return 16;\r
          return -1;\r
       case 1:\r
          if ((active0 & 0x84020080400000L) != 0L)\r
@@ -182,7 +182,7 @@ private int jjMoveStringLiteralDfa0_0()
          jjmatchedKind = 66;\r
          return jjMoveStringLiteralDfa1_0(0x0L, 0x2cc000L);\r
       case 47:\r
-         return jjStartNfaWithStates_0(0, 81, 13);\r
+         return jjStartNfaWithStates_0(0, 81, 16);\r
       case 58:\r
          jjmatchedKind = 67;\r
          return jjMoveStringLiteralDfa1_0(0x0L, 0x800000L);\r
@@ -830,7 +830,7 @@ static final long[] jjbitVec0 = {
 private int jjMoveNfa_0(int startState, int curPos)\r
 {\r
    int startsAt = 0;\r
-   jjnewStateCnt = 31;\r
+   jjnewStateCnt = 34;\r
    int i = 1;\r
    jjstateSet[0] = startState;\r
    int kind = 0x7fffffff;\r
@@ -845,22 +845,12 @@ private int jjMoveNfa_0(int startState, int curPos)
          {\r
             switch(jjstateSet[--i])\r
             {\r
-               case 13:\r
-                  if (curChar == 47)\r
-                  {\r
-                     if (kind > 3)\r
-                        kind = 3;\r
-                     jjCheckNAdd(20);\r
-                  }\r
-                  else if (curChar == 42)\r
-                     jjCheckNAddStates(0, 2);\r
-                  break;\r
                case 0:\r
                   if ((0x3ff000000000000L & l) != 0L)\r
                   {\r
-                     if (kind > 90)\r
-                        kind = 90;\r
-                     jjCheckNAddStates(3, 7);\r
+                     if (kind > 91)\r
+                        kind = 91;\r
+                     jjCheckNAddStates(0, 4);\r
                   }\r
                   else if ((0x100002600L & l) != 0L)\r
                   {\r
@@ -868,10 +858,22 @@ private int jjMoveNfa_0(int startState, int curPos)
                         kind = 1;\r
                   }\r
                   else if (curChar == 47)\r
-                     jjAddStates(8, 9);\r
+                     jjAddStates(5, 6);\r
                   else if (curChar == 46)\r
-                     jjCheckNAdd(9);\r
+                     jjCheckNAdd(12);\r
                   else if (curChar == 34)\r
+                     jjCheckNAddStates(7, 9);\r
+                  else if (curChar == 39)\r
+                     jjCheckNAddTwoStates(4, 5);\r
+                  break;\r
+               case 16:\r
+                  if (curChar == 47)\r
+                  {\r
+                     if (kind > 3)\r
+                        kind = 3;\r
+                     jjCheckNAdd(23);\r
+                  }\r
+                  else if (curChar == 42)\r
                      jjCheckNAddStates(10, 12);\r
                   break;\r
                case 2:\r
@@ -882,126 +884,138 @@ private int jjMoveNfa_0(int startState, int curPos)
                   jjstateSet[jjnewStateCnt++] = 2;\r
                   break;\r
                case 3:\r
-                  if (curChar == 34)\r
-                     jjCheckNAddStates(10, 12);\r
+                  if (curChar == 39)\r
+                     jjCheckNAddTwoStates(4, 5);\r
                   break;\r
                case 4:\r
-                  if ((0xfffffffbfffffbffL & l) != 0L)\r
-                     jjCheckNAddStates(10, 12);\r
+                  if ((0xaffffc8300001100L & l) != 0L)\r
+                     jjCheckNAddTwoStates(4, 5);\r
+                  break;\r
+               case 5:\r
+                  if (curChar == 39 && kind > 89)\r
+                     kind = 89;\r
                   break;\r
                case 6:\r
-                  if ((0xfffffffffffffbffL & l) != 0L)\r
-                     jjCheckNAddStates(10, 12);\r
+                  if (curChar == 34)\r
+                     jjCheckNAddStates(7, 9);\r
                   break;\r
                case 7:\r
-                  if (curChar == 34 && kind > 89)\r
-                     kind = 89;\r
+                  if ((0xfffffffbfffffbffL & l) != 0L)\r
+                     jjCheckNAddStates(7, 9);\r
                   break;\r
-               case 8:\r
+               case 9:\r
+                  if ((0xfffffffffffffbffL & l) != 0L)\r
+                     jjCheckNAddStates(7, 9);\r
+                  break;\r
+               case 10:\r
+                  if (curChar == 34 && kind > 90)\r
+                     kind = 90;\r
+                  break;\r
+               case 11:\r
                   if (curChar == 46)\r
-                     jjCheckNAdd(9);\r
+                     jjCheckNAdd(12);\r
                   break;\r
-               case 9:\r
+               case 12:\r
                   if ((0x3ff000000000000L & l) == 0L)\r
                      break;\r
-                  if (kind > 91)\r
-                     kind = 91;\r
-                  jjCheckNAddTwoStates(9, 10);\r
+                  if (kind > 92)\r
+                     kind = 92;\r
+                  jjCheckNAddTwoStates(12, 13);\r
                   break;\r
-               case 11:\r
+               case 14:\r
                   if ((0x3ff000000000000L & l) == 0L)\r
                      break;\r
-                  if (kind > 91)\r
-                     kind = 91;\r
-                  jjstateSet[jjnewStateCnt++] = 11;\r
+                  if (kind > 92)\r
+                     kind = 92;\r
+                  jjstateSet[jjnewStateCnt++] = 14;\r
                   break;\r
-               case 12:\r
+               case 15:\r
                   if (curChar == 47)\r
-                     jjAddStates(8, 9);\r
+                     jjAddStates(5, 6);\r
                   break;\r
-               case 14:\r
+               case 17:\r
                   if ((0xfffffbffffffffffL & l) != 0L)\r
-                     jjCheckNAddStates(0, 2);\r
+                     jjCheckNAddStates(10, 12);\r
                   break;\r
-               case 15:\r
+               case 18:\r
                   if (curChar == 42)\r
-                     jjstateSet[jjnewStateCnt++] = 16;\r
+                     jjstateSet[jjnewStateCnt++] = 19;\r
                   break;\r
-               case 16:\r
+               case 19:\r
                   if ((0xffff7fffffffffffL & l) != 0L)\r
-                     jjCheckNAddStates(0, 2);\r
+                     jjCheckNAddStates(10, 12);\r
                   break;\r
-               case 17:\r
+               case 20:\r
                   if (curChar == 47 && kind > 2)\r
                      kind = 2;\r
                   break;\r
-               case 18:\r
+               case 21:\r
                   if (curChar == 42)\r
-                     jjstateSet[jjnewStateCnt++] = 17;\r
+                     jjstateSet[jjnewStateCnt++] = 20;\r
                   break;\r
-               case 19:\r
+               case 22:\r
                   if (curChar != 47)\r
                      break;\r
                   if (kind > 3)\r
                      kind = 3;\r
-                  jjCheckNAdd(20);\r
+                  jjCheckNAdd(23);\r
                   break;\r
-               case 20:\r
+               case 23:\r
                   if ((0xfffffffffffffbffL & l) == 0L)\r
                      break;\r
                   if (kind > 3)\r
                      kind = 3;\r
-                  jjCheckNAdd(20);\r
+                  jjCheckNAdd(23);\r
                   break;\r
-               case 21:\r
+               case 24:\r
                   if ((0x3ff000000000000L & l) == 0L)\r
                      break;\r
-                  if (kind > 90)\r
-                     kind = 90;\r
-                  jjCheckNAddStates(3, 7);\r
+                  if (kind > 91)\r
+                     kind = 91;\r
+                  jjCheckNAddStates(0, 4);\r
                   break;\r
-               case 22:\r
+               case 25:\r
                   if ((0x3ff000000000000L & l) == 0L)\r
                      break;\r
-                  if (kind > 90)\r
-                     kind = 90;\r
-                  jjCheckNAdd(22);\r
+                  if (kind > 91)\r
+                     kind = 91;\r
+                  jjCheckNAdd(25);\r
                   break;\r
-               case 23:\r
+               case 26:\r
                   if ((0x3ff000000000000L & l) != 0L)\r
-                     jjCheckNAddTwoStates(23, 24);\r
+                     jjCheckNAddTwoStates(26, 27);\r
                   break;\r
-               case 24:\r
+               case 27:\r
                   if (curChar != 46)\r
                      break;\r
-                  if (kind > 91)\r
-                     kind = 91;\r
-                  jjCheckNAddTwoStates(25, 26);\r
+                  if (kind > 92)\r
+                     kind = 92;\r
+                  jjCheckNAddTwoStates(28, 29);\r
                   break;\r
-               case 25:\r
+               case 28:\r
                   if ((0x3ff000000000000L & l) == 0L)\r
                      break;\r
-                  if (kind > 91)\r
-                     kind = 91;\r
-                  jjCheckNAddTwoStates(25, 26);\r
+                  if (kind > 92)\r
+                     kind = 92;\r
+                  jjCheckNAddTwoStates(28, 29);\r
                   break;\r
-               case 27:\r
+               case 30:\r
                   if ((0x3ff000000000000L & l) == 0L)\r
                      break;\r
-                  if (kind > 91)\r
-                     kind = 91;\r
-                  jjstateSet[jjnewStateCnt++] = 27;\r
+                  if (kind > 92)\r
+                     kind = 92;\r
+                  jjstateSet[jjnewStateCnt++] = 30;\r
                   break;\r
-               case 28:\r
+               case 31:\r
                   if ((0x3ff000000000000L & l) != 0L)\r
-                     jjCheckNAddTwoStates(28, 29);\r
+                     jjCheckNAddTwoStates(31, 32);\r
                   break;\r
-               case 30:\r
+               case 33:\r
                   if ((0x3ff000000000000L & l) == 0L)\r
                      break;\r
-                  if (kind > 91)\r
-                     kind = 91;\r
-                  jjstateSet[jjnewStateCnt++] = 30;\r
+                  if (kind > 92)\r
+                     kind = 92;\r
+                  jjstateSet[jjnewStateCnt++] = 33;\r
                   break;\r
                default : break;\r
             }\r
@@ -1023,37 +1037,41 @@ private int jjMoveNfa_0(int startState, int curPos)
                   jjCheckNAdd(2);\r
                   break;\r
                case 4:\r
+                  if ((0x47fffffed7ffffffL & l) != 0L)\r
+                     jjAddStates(13, 14);\r
+                  break;\r
+               case 7:\r
                   if ((0xffffffffefffffffL & l) != 0L)\r
-                     jjCheckNAddStates(10, 12);\r
+                     jjCheckNAddStates(7, 9);\r
                   break;\r
-               case 5:\r
+               case 8:\r
                   if (curChar == 92)\r
-                     jjstateSet[jjnewStateCnt++] = 6;\r
+                     jjstateSet[jjnewStateCnt++] = 9;\r
                   break;\r
-               case 6:\r
-                  jjCheckNAddStates(10, 12);\r
+               case 9:\r
+                  jjCheckNAddStates(7, 9);\r
                   break;\r
-               case 10:\r
+               case 13:\r
                   if ((0x2000000020L & l) != 0L)\r
-                     jjstateSet[jjnewStateCnt++] = 11;\r
+                     jjstateSet[jjnewStateCnt++] = 14;\r
                   break;\r
-               case 14:\r
-               case 16:\r
-                  jjCheckNAddStates(0, 2);\r
+               case 17:\r
+               case 19:\r
+                  jjCheckNAddStates(10, 12);\r
                   break;\r
-               case 20:\r
+               case 23:\r
                   if (kind > 3)\r
                      kind = 3;\r
-                  jjstateSet[jjnewStateCnt++] = 20;\r
-                  break;\r
-               case 26:\r
-                  if ((0x2000000020L & l) != 0L)\r
-                     jjstateSet[jjnewStateCnt++] = 27;\r
+                  jjstateSet[jjnewStateCnt++] = 23;\r
                   break;\r
                case 29:\r
                   if ((0x2000000020L & l) != 0L)\r
                      jjstateSet[jjnewStateCnt++] = 30;\r
                   break;\r
+               case 32:\r
+                  if ((0x2000000020L & l) != 0L)\r
+                     jjstateSet[jjnewStateCnt++] = 33;\r
+                  break;\r
                default : break;\r
             }\r
          } while(i != startsAt);\r
@@ -1066,22 +1084,22 @@ private int jjMoveNfa_0(int startState, int curPos)
          {\r
             switch(jjstateSet[--i])\r
             {\r
-               case 4:\r
-               case 6:\r
+               case 7:\r
+               case 9:\r
                   if ((jjbitVec0[i2] & l2) != 0L)\r
-                     jjCheckNAddStates(10, 12);\r
+                     jjCheckNAddStates(7, 9);\r
                   break;\r
-               case 14:\r
-               case 16:\r
+               case 17:\r
+               case 19:\r
                   if ((jjbitVec0[i2] & l2) != 0L)\r
-                     jjCheckNAddStates(0, 2);\r
+                     jjCheckNAddStates(10, 12);\r
                   break;\r
-               case 20:\r
+               case 23:\r
                   if ((jjbitVec0[i2] & l2) == 0L)\r
                      break;\r
                   if (kind > 3)\r
                      kind = 3;\r
-                  jjstateSet[jjnewStateCnt++] = 20;\r
+                  jjstateSet[jjnewStateCnt++] = 23;\r
                   break;\r
                default : break;\r
             }\r
@@ -1094,14 +1112,14 @@ private int jjMoveNfa_0(int startState, int curPos)
          kind = 0x7fffffff;\r
       }\r
       ++curPos;\r
-      if ((i = jjnewStateCnt) == (startsAt = 31 - (jjnewStateCnt = startsAt)))\r
+      if ((i = jjnewStateCnt) == (startsAt = 34 - (jjnewStateCnt = startsAt)))\r
          return curPos;\r
       try { curChar = input_stream.readChar(); }\r
       catch(java.io.IOException e) { return curPos; }\r
    }\r
 }\r
 static final int[] jjnextStates = {
-   14, 15, 18, 22, 23, 24, 28, 29, 13, 19, 4, 5, 7
+   25, 26, 27, 31, 32, 16, 22, 7, 8, 10, 17, 18, 21, 4, 5
 };\r
 \r
 /** Token literal values. */\r
@@ -1126,21 +1144,21 @@ public static final String[] jjstrLiteralImages = {
 "\145\170\164\145\162\156\141\154", "\154\157\157\160", "\162\145\143\157\162\144", "\50", "\51", "\173", "\175", \r
 "\133", "\135", "\56", "\72", "\73", "\54", "\74", "\74\75", "\76", "\76\75", \r
 "\75\75", "\74\76", "\53", "\55", "\56\53", "\56\55", "\52", "\57", "\56\52", "\56\57", \r
-"\136", "\56\136", "\75", "\72\75", null, null, null, null, };\r
+"\136", "\56\136", "\75", "\72\75", null, null, null, null, null, };\r
 \r
 /** Lexer state names. */\r
 public static final String[] lexStateNames = {\r
    "DEFAULT",\r
 };\r
 static final long[] jjtoToken = {
-   0xfffffffffffffff1L, 0xfffffffL, 
+   0xfffffffffffffff1L, 0x1fffffffL, 
 };\r
 static final long[] jjtoSkip = {
    0xeL, 0x0L, 
 };\r
 protected SimpleCharStream input_stream;\r
-private final int[] jjrounds = new int[31];\r
-private final int[] jjstateSet = new int[62];\r
+private final int[] jjrounds = new int[34];\r
+private final int[] jjstateSet = new int[68];\r
 private final StringBuilder jjimage = new StringBuilder();\r
 private StringBuilder image = jjimage;\r
 private int jjimageLen;\r
@@ -1171,7 +1189,7 @@ private void ReInitRounds()
 {\r
    int i;\r
    jjround = 0x80000001;\r
-   for (i = 31; i-- > 0;)\r
+   for (i = 34; i-- > 0;)\r
       jjrounds[i] = 0x80000000;\r
 }\r
 \r
@@ -1292,7 +1310,7 @@ void TokenLexicalActions(Token matchedToken)
 {\r
    switch(jjmatchedKind)\r
    {\r
-      case 89 :\r
+      case 90 :\r
         image.append(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1)));\r
       matchedToken.image = matchedToken.image.substring(1,matchedToken.image.length()-1);\r
          break;\r