jvanzyl     00/11/05 17:20:38

  Modified:    src/java/org/apache/velocity/runtime/parser Parser.java
                        Parser.jj ParserTokenManager.java
  Log:
  - allow integers to be arguments to methods.
  
  Revision  Changes    Path
  1.24      +343 -329  
jakarta-velocity/src/java/org/apache/velocity/runtime/parser/Parser.java
  
  Index: Parser.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-velocity/src/java/org/apache/velocity/runtime/parser/Parser.java,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- Parser.java       2000/11/05 19:20:37     1.23
  +++ Parser.java       2000/11/06 01:20:36     1.24
  @@ -18,7 +18,7 @@
    *
    * @author <a href="mailto:[EMAIL PROTECTED]">Jason van Zyl</a>
    * @author <a href="mailto:[EMAIL PROTECTED]">Geir Magnusson Jr.</a>
  - * @version $Id: Parser.java,v 1.23 2000/11/05 19:20:37 geirm Exp $ 
  + * @version $Id: Parser.java,v 1.24 2000/11/06 01:20:36 jvanzyl Exp $ 
   */
   public class Parser/*@bgen(jjtree)*/implements ParserTreeConstants, ParserConstants 
{/*@bgen(jjtree)*/
     protected JJTParserState jjtree = new JJTParserState();
  @@ -152,12 +152,12 @@
        } else {
          jjtree.popNode();
        }
  -     if (jjte000 instanceof ParseException) {
  -       {if (true) throw (ParseException)jjte000;}
  -     }
        if (jjte000 instanceof RuntimeException) {
          {if (true) throw (RuntimeException)jjte000;}
        }
  +     if (jjte000 instanceof ParseException) {
  +       {if (true) throw (ParseException)jjte000;}
  +     }
        {if (true) throw (Error)jjte000;}
       } finally {
        if (jjtc000) {
  @@ -452,12 +452,12 @@
         } else {
           jjtree.popNode();
         }
  -      if (jjte001 instanceof ParseException) {
  -        {if (true) throw (ParseException)jjte001;}
  -      }
         if (jjte001 instanceof RuntimeException) {
           {if (true) throw (RuntimeException)jjte001;}
         }
  +      if (jjte001 instanceof ParseException) {
  +        {if (true) throw (ParseException)jjte001;}
  +      }
         {if (true) throw (Error)jjte001;}
         } finally {
         if (jjtc001) {
  @@ -475,12 +475,12 @@
         } else {
           jjtree.popNode();
         }
  -      if (jjte000 instanceof ParseException) {
  -        {if (true) throw (ParseException)jjte000;}
  -      }
         if (jjte000 instanceof RuntimeException) {
           {if (true) throw (RuntimeException)jjte000;}
         }
  +      if (jjte000 instanceof ParseException) {
  +        {if (true) throw (ParseException)jjte000;}
  +      }
         {if (true) throw (Error)jjte000;}
       } finally {
         if (jjtc000) {
  @@ -502,6 +502,7 @@
         case STRING_LITERAL:
         case TRUE:
         case FALSE:
  +      case NUMBER_LITERAL:
         case IDENTIFIER:
         case LCURLY:
           Parameter();
  @@ -531,12 +532,12 @@
         } else {
           jjtree.popNode();
         }
  -      if (jjte000 instanceof ParseException) {
  -        {if (true) throw (ParseException)jjte000;}
  -      }
         if (jjte000 instanceof RuntimeException) {
           {if (true) throw (RuntimeException)jjte000;}
         }
  +      if (jjte000 instanceof ParseException) {
  +        {if (true) throw (ParseException)jjte000;}
  +      }
         {if (true) throw (Error)jjte000;}
       } finally {
         if (jjtc000) {
  @@ -568,6 +569,9 @@
       case LCURLY:
         Reference();
         break;
  +    case NUMBER_LITERAL:
  +      NumberLiteral();
  +      break;
       default:
         jj_la1[8] = jj_gen;
         jj_consume_token(-1);
  @@ -593,6 +597,7 @@
         case STRING_LITERAL:
         case TRUE:
         case FALSE:
  +      case NUMBER_LITERAL:
         case IDENTIFIER:
         case LCURLY:
           Parameter();
  @@ -622,12 +627,12 @@
         } else {
           jjtree.popNode();
         }
  -      if (jjte000 instanceof ParseException) {
  -        {if (true) throw (ParseException)jjte000;}
  -      }
         if (jjte000 instanceof RuntimeException) {
           {if (true) throw (RuntimeException)jjte000;}
         }
  +      if (jjte000 instanceof ParseException) {
  +        {if (true) throw (ParseException)jjte000;}
  +      }
         {if (true) throw (Error)jjte000;}
       } finally {
         if (jjtc000) {
  @@ -696,12 +701,12 @@
         } else {
           jjtree.popNode();
         }
  -      if (jjte000 instanceof ParseException) {
  -        {if (true) throw (ParseException)jjte000;}
  -      }
         if (jjte000 instanceof RuntimeException) {
           {if (true) throw (RuntimeException)jjte000;}
         }
  +      if (jjte000 instanceof ParseException) {
  +        {if (true) throw (ParseException)jjte000;}
  +      }
         {if (true) throw (Error)jjte000;}
       } finally {
         if (jjtc000) {
  @@ -869,12 +874,12 @@
         } else {
           jjtree.popNode();
         }
  -      if (jjte001 instanceof ParseException) {
  -        {if (true) throw (ParseException)jjte001;}
  -      }
         if (jjte001 instanceof RuntimeException) {
           {if (true) throw (RuntimeException)jjte001;}
         }
  +      if (jjte001 instanceof ParseException) {
  +        {if (true) throw (ParseException)jjte001;}
  +      }
         {if (true) throw (Error)jjte001;}
         } finally {
         if (jjtc001) {
  @@ -916,12 +921,12 @@
         } else {
           jjtree.popNode();
         }
  -      if (jjte000 instanceof ParseException) {
  -        {if (true) throw (ParseException)jjte000;}
  -      }
         if (jjte000 instanceof RuntimeException) {
           {if (true) throw (RuntimeException)jjte000;}
         }
  +      if (jjte000 instanceof ParseException) {
  +        {if (true) throw (ParseException)jjte000;}
  +      }
         {if (true) throw (Error)jjte000;}
       } finally {
         if (jjtc000) {
  @@ -984,12 +989,12 @@
         } else {
           jjtree.popNode();
         }
  -      if (jjte001 instanceof ParseException) {
  -        {if (true) throw (ParseException)jjte001;}
  -      }
         if (jjte001 instanceof RuntimeException) {
           {if (true) throw (RuntimeException)jjte001;}
         }
  +      if (jjte001 instanceof ParseException) {
  +        {if (true) throw (ParseException)jjte001;}
  +      }
         {if (true) throw (Error)jjte001;}
         } finally {
         if (jjtc001) {
  @@ -1003,12 +1008,12 @@
         } else {
           jjtree.popNode();
         }
  -      if (jjte000 instanceof ParseException) {
  -        {if (true) throw (ParseException)jjte000;}
  -      }
         if (jjte000 instanceof RuntimeException) {
           {if (true) throw (RuntimeException)jjte000;}
         }
  +      if (jjte000 instanceof ParseException) {
  +        {if (true) throw (ParseException)jjte000;}
  +      }
         {if (true) throw (Error)jjte000;}
       } finally {
         if (jjtc000) {
  @@ -1074,12 +1079,12 @@
         } else {
           jjtree.popNode();
         }
  -      if (jjte001 instanceof ParseException) {
  -        {if (true) throw (ParseException)jjte001;}
  -      }
         if (jjte001 instanceof RuntimeException) {
           {if (true) throw (RuntimeException)jjte001;}
         }
  +      if (jjte001 instanceof ParseException) {
  +        {if (true) throw (ParseException)jjte001;}
  +      }
         {if (true) throw (Error)jjte001;}
         } finally {
         if (jjtc001) {
  @@ -1093,12 +1098,12 @@
         } else {
           jjtree.popNode();
         }
  -      if (jjte000 instanceof ParseException) {
  -        {if (true) throw (ParseException)jjte000;}
  -      }
         if (jjte000 instanceof RuntimeException) {
           {if (true) throw (RuntimeException)jjte000;}
         }
  +      if (jjte000 instanceof ParseException) {
  +        {if (true) throw (ParseException)jjte000;}
  +      }
         {if (true) throw (Error)jjte000;}
       } finally {
         if (jjtc000) {
  @@ -1130,12 +1135,12 @@
        } else {
          jjtree.popNode();
        }
  -     if (jjte000 instanceof ParseException) {
  -       {if (true) throw (ParseException)jjte000;}
  -     }
        if (jjte000 instanceof RuntimeException) {
          {if (true) throw (RuntimeException)jjte000;}
        }
  +     if (jjte000 instanceof ParseException) {
  +       {if (true) throw (ParseException)jjte000;}
  +     }
        {if (true) throw (Error)jjte000;}
       } finally {
        if (jjtc000) {
  @@ -1208,12 +1213,12 @@
         } else {
           jjtree.popNode();
         }
  -      if (jjte000 instanceof ParseException) {
  -        {if (true) throw (ParseException)jjte000;}
  -      }
         if (jjte000 instanceof RuntimeException) {
           {if (true) throw (RuntimeException)jjte000;}
         }
  +      if (jjte000 instanceof ParseException) {
  +        {if (true) throw (ParseException)jjte000;}
  +      }
         {if (true) throw (Error)jjte000;}
       } finally {
         if (jjtc000) {
  @@ -1238,12 +1243,12 @@
         } else {
           jjtree.popNode();
         }
  -      if (jjte000 instanceof ParseException) {
  -        {if (true) throw (ParseException)jjte000;}
  -      }
         if (jjte000 instanceof RuntimeException) {
           {if (true) throw (RuntimeException)jjte000;}
         }
  +      if (jjte000 instanceof ParseException) {
  +        {if (true) throw (ParseException)jjte000;}
  +      }
         {if (true) throw (Error)jjte000;}
       } finally {
         if (jjtc000) {
  @@ -1277,12 +1282,12 @@
                      } else {
                        jjtree.popNode();
                      }
  -                   if (jjte001 instanceof ParseException) {
  -                     {if (true) throw (ParseException)jjte001;}
  -                   }
                      if (jjte001 instanceof RuntimeException) {
                        {if (true) throw (RuntimeException)jjte001;}
                      }
  +                   if (jjte001 instanceof ParseException) {
  +                     {if (true) throw (ParseException)jjte001;}
  +                   }
                      {if (true) throw (Error)jjte001;}
         } finally {
                      if (jjtc001) {
  @@ -1317,12 +1322,12 @@
                        } else {
                          jjtree.popNode();
                        }
  -                     if (jjte001 instanceof ParseException) {
  -                       {if (true) throw (ParseException)jjte001;}
  -                     }
                        if (jjte001 instanceof RuntimeException) {
                          {if (true) throw (RuntimeException)jjte001;}
                        }
  +                     if (jjte001 instanceof ParseException) {
  +                       {if (true) throw (ParseException)jjte001;}
  +                     }
                        {if (true) throw (Error)jjte001;}
         } finally {
                        if (jjtc001) {
  @@ -1360,12 +1365,12 @@
                                } else {
                                  jjtree.popNode();
                                }
  -                             if (jjte001 instanceof ParseException) {
  -                               {if (true) throw (ParseException)jjte001;}
  -                             }
                                if (jjte001 instanceof RuntimeException) {
                                  {if (true) throw (RuntimeException)jjte001;}
                                }
  +                             if (jjte001 instanceof ParseException) {
  +                               {if (true) throw (ParseException)jjte001;}
  +                             }
                                {if (true) throw (Error)jjte001;}
           } finally {
                                if (jjtc001) {
  @@ -1387,12 +1392,12 @@
                                    } else {
                                      jjtree.popNode();
                                    }
  -                                 if (jjte002 instanceof ParseException) {
  -                                   {if (true) throw (ParseException)jjte002;}
  -                                 }
                                    if (jjte002 instanceof RuntimeException) {
                                      {if (true) throw (RuntimeException)jjte002;}
                                    }
  +                                 if (jjte002 instanceof ParseException) {
  +                                   {if (true) throw (ParseException)jjte002;}
  +                                 }
                                    {if (true) throw (Error)jjte002;}
           } finally {
                                    if (jjtc002) {
  @@ -1438,12 +1443,12 @@
                            } else {
                              jjtree.popNode();
                            }
  -                         if (jjte001 instanceof ParseException) {
  -                           {if (true) throw (ParseException)jjte001;}
  -                         }
                            if (jjte001 instanceof RuntimeException) {
                              {if (true) throw (RuntimeException)jjte001;}
                            }
  +                         if (jjte001 instanceof ParseException) {
  +                           {if (true) throw (ParseException)jjte001;}
  +                         }
                            {if (true) throw (Error)jjte001;}
           } finally {
                            if (jjtc001) {
  @@ -1465,12 +1470,12 @@
                            } else {
                              jjtree.popNode();
                            }
  -                         if (jjte002 instanceof ParseException) {
  -                           {if (true) throw (ParseException)jjte002;}
  -                         }
                            if (jjte002 instanceof RuntimeException) {
                              {if (true) throw (RuntimeException)jjte002;}
                            }
  +                         if (jjte002 instanceof ParseException) {
  +                           {if (true) throw (ParseException)jjte002;}
  +                         }
                            {if (true) throw (Error)jjte002;}
           } finally {
                            if (jjtc002) {
  @@ -1492,12 +1497,12 @@
                            } else {
                              jjtree.popNode();
                            }
  -                         if (jjte003 instanceof ParseException) {
  -                           {if (true) throw (ParseException)jjte003;}
  -                         }
                            if (jjte003 instanceof RuntimeException) {
                              {if (true) throw (RuntimeException)jjte003;}
                            }
  +                         if (jjte003 instanceof ParseException) {
  +                           {if (true) throw (ParseException)jjte003;}
  +                         }
                            {if (true) throw (Error)jjte003;}
           } finally {
                            if (jjtc003) {
  @@ -1519,12 +1524,12 @@
                            } else {
                              jjtree.popNode();
                            }
  -                         if (jjte004 instanceof ParseException) {
  -                           {if (true) throw (ParseException)jjte004;}
  -                         }
                            if (jjte004 instanceof RuntimeException) {
                              {if (true) throw (RuntimeException)jjte004;}
                            }
  +                         if (jjte004 instanceof ParseException) {
  +                           {if (true) throw (ParseException)jjte004;}
  +                         }
                            {if (true) throw (Error)jjte004;}
           } finally {
                            if (jjtc004) {
  @@ -1568,12 +1573,12 @@
                       } else {
                         jjtree.popNode();
                       }
  -                    if (jjte001 instanceof ParseException) {
  -                      {if (true) throw (ParseException)jjte001;}
  -                    }
                       if (jjte001 instanceof RuntimeException) {
                         {if (true) throw (RuntimeException)jjte001;}
                       }
  +                    if (jjte001 instanceof ParseException) {
  +                      {if (true) throw (ParseException)jjte001;}
  +                    }
                       {if (true) throw (Error)jjte001;}
           } finally {
                       if (jjtc001) {
  @@ -1595,12 +1600,12 @@
                       } else {
                         jjtree.popNode();
                       }
  -                    if (jjte002 instanceof ParseException) {
  -                      {if (true) throw (ParseException)jjte002;}
  -                    }
                       if (jjte002 instanceof RuntimeException) {
                         {if (true) throw (RuntimeException)jjte002;}
                       }
  +                    if (jjte002 instanceof ParseException) {
  +                      {if (true) throw (ParseException)jjte002;}
  +                    }
                       {if (true) throw (Error)jjte002;}
           } finally {
                       if (jjtc002) {
  @@ -1645,12 +1650,12 @@
                          } else {
                            jjtree.popNode();
                          }
  -                       if (jjte001 instanceof ParseException) {
  -                         {if (true) throw (ParseException)jjte001;}
  -                       }
                          if (jjte001 instanceof RuntimeException) {
                            {if (true) throw (RuntimeException)jjte001;}
                          }
  +                       if (jjte001 instanceof ParseException) {
  +                         {if (true) throw (ParseException)jjte001;}
  +                       }
                          {if (true) throw (Error)jjte001;}
           } finally {
                          if (jjtc001) {
  @@ -1672,12 +1677,12 @@
                          } else {
                            jjtree.popNode();
                          }
  -                       if (jjte002 instanceof ParseException) {
  -                         {if (true) throw (ParseException)jjte002;}
  -                       }
                          if (jjte002 instanceof RuntimeException) {
                            {if (true) throw (RuntimeException)jjte002;}
                          }
  +                       if (jjte002 instanceof ParseException) {
  +                         {if (true) throw (ParseException)jjte002;}
  +                       }
                          {if (true) throw (Error)jjte002;}
           } finally {
                          if (jjtc002) {
  @@ -1699,12 +1704,12 @@
                          } else {
                            jjtree.popNode();
                          }
  -                       if (jjte003 instanceof ParseException) {
  -                         {if (true) throw (ParseException)jjte003;}
  -                       }
                          if (jjte003 instanceof RuntimeException) {
                            {if (true) throw (RuntimeException)jjte003;}
                          }
  +                       if (jjte003 instanceof ParseException) {
  +                         {if (true) throw (ParseException)jjte003;}
  +                       }
                          {if (true) throw (Error)jjte003;}
           } finally {
                          if (jjtc003) {
  @@ -1736,12 +1741,12 @@
                       } else {
                         jjtree.popNode();
                       }
  -                    if (jjte001 instanceof ParseException) {
  -                      {if (true) throw (ParseException)jjte001;}
  -                    }
                       if (jjte001 instanceof RuntimeException) {
                         {if (true) throw (RuntimeException)jjte001;}
                       }
  +                    if (jjte001 instanceof ParseException) {
  +                      {if (true) throw (ParseException)jjte001;}
  +                    }
                       {if (true) throw (Error)jjte001;}
         } finally {
                       if (jjtc001) {
  @@ -1820,37 +1825,56 @@
       return retval;
     }
   
  -  final private boolean jj_3R_52() {
  -    if (jj_scan_token(LOGICAL_OR)) return true;
  +  final private boolean jj_3R_61() {
  +    if (jj_scan_token(LOGICAL_EQUALS)) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    if (jj_3R_51()) return true;
  +    if (jj_3R_57()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
   
  -  final private boolean jj_3_3() {
  -    if (jj_3R_19()) return true;
  -    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    if (jj_scan_token(EQUALS)) return true;
  +  final private boolean jj_3R_58() {
  +    Token xsp;
  +    xsp = jj_scanpos;
  +    if (jj_3R_61()) {
  +    jj_scanpos = xsp;
  +    if (jj_3R_62()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
   
  -  final private boolean jj_3R_50() {
  -    if (jj_3R_51()) return true;
  +  final private boolean jj_3R_54() {
  +    if (jj_3R_57()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       Token xsp;
       while (true) {
         xsp = jj_scanpos;
  -      if (jj_3R_52()) { jj_scanpos = xsp; break; }
  +      if (jj_3R_58()) { jj_scanpos = xsp; break; }
         if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       }
       return false;
     }
   
  -  final private boolean jj_3R_21() {
  +  final private boolean jj_3R_55() {
  +    if (jj_scan_token(LOGICAL_AND)) return true;
  +    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    if (jj_3R_54()) return true;
  +    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    return false;
  +  }
  +
  +  final private boolean jj_3R_56() {
  +    if (jj_scan_token(COMMA)) return true;
  +    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       if (jj_3R_29()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    return false;
  +  }
  +
  +  final private boolean jj_3R_52() {
  +    if (jj_3R_54()) return true;
  +    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       Token xsp;
       while (true) {
         xsp = jj_scanpos;
  @@ -1860,74 +1884,120 @@
       return false;
     }
   
  -  final private boolean jj_3R_49() {
  -    if (jj_3R_19()) return true;
  -    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    if (jj_scan_token(EQUALS)) return true;
  +  final private boolean jj_3R_53() {
  +    if (jj_scan_token(LOGICAL_OR)) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    if (jj_3R_36()) return true;
  +    if (jj_3R_52()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
   
  -  final private boolean jj_3R_35() {
  -    if (jj_scan_token(FALSE)) return true;
  +  final private boolean jj_3_3() {
  +    if (jj_3R_19()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    return false;
  -  }
  -
  -  final private boolean jj_3R_46() {
  -    if (jj_3R_50()) return true;
  +    if (jj_scan_token(EQUALS)) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
   
  -  final private boolean jj_3R_45() {
  -    if (jj_3R_49()) return true;
  +  final private boolean jj_3R_51() {
  +    if (jj_3R_52()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    Token xsp;
  +    while (true) {
  +      xsp = jj_scanpos;
  +      if (jj_3R_53()) { jj_scanpos = xsp; break; }
  +      if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    }
       return false;
     }
   
  -  final private boolean jj_3R_36() {
  -    Token xsp;
  -    xsp = jj_scanpos;
  -    if (jj_3R_45()) {
  -    jj_scanpos = xsp;
  -    if (jj_3R_46()) return true;
  +  final private boolean jj_3_2() {
  +    if (jj_3R_18()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
   
  -  final private boolean jj_3R_34() {
  -    if (jj_scan_token(TRUE)) return true;
  +  final private boolean jj_3R_50() {
  +    if (jj_3R_19()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    if (jj_scan_token(EQUALS)) return true;
  +    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    if (jj_3R_36()) return true;
  +    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
   
  -  final private boolean jj_3_1() {
  -    if (jj_scan_token(DOT)) return true;
  +  final private boolean jj_3R_21() {
  +    if (jj_3R_29()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       Token xsp;
  +    while (true) {
  +      xsp = jj_scanpos;
  +      if (jj_3R_56()) { jj_scanpos = xsp; break; }
  +      if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    }
  +    return false;
  +  }
  +
  +  final private boolean jj_3R_47() {
  +    if (jj_3R_51()) return true;
  +    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    return false;
  +  }
  +
  +  final private boolean jj_3R_36() {
  +    Token xsp;
       xsp = jj_scanpos;
  +    if (jj_3R_46()) {
  +    jj_scanpos = xsp;
  +    if (jj_3R_47()) return true;
  +    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    return false;
  +  }
  +
  +  final private boolean jj_3R_46() {
  +    if (jj_3R_50()) return true;
  +    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    return false;
  +  }
  +
  +  final private boolean jj_3R_35() {
  +    if (jj_scan_token(FALSE)) return true;
  +    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    return false;
  +  }
  +
  +  final private boolean jj_3R_34() {
  +    if (jj_scan_token(TRUE)) return true;
  +    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    return false;
  +  }
  +
  +  final private boolean jj_3_1() {
  +    if (jj_scan_token(DOT)) return true;
  +    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    Token xsp;
  +    xsp = jj_scanpos;
       if (jj_3_2()) {
       jj_scanpos = xsp;
       if (jj_3R_17()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       xsp = jj_scanpos;
  -    if (jj_3R_47()) jj_scanpos = xsp;
  +    if (jj_3R_48()) jj_scanpos = xsp;
       else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
   
  -  final private boolean jj_3R_43() {
  +  final private boolean jj_3R_44() {
       if (jj_scan_token(RCURLY)) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
   
  -  final private boolean jj_3R_42() {
  +  final private boolean jj_3R_43() {
       if (jj_scan_token(LCURLY)) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
  @@ -1936,12 +2006,12 @@
     final private boolean jj_3R_32() {
       Token xsp;
       xsp = jj_scanpos;
  -    if (jj_3R_42()) jj_scanpos = xsp;
  +    if (jj_3R_43()) jj_scanpos = xsp;
       else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       if (jj_scan_token(IDENTIFIER)) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       xsp = jj_scanpos;
  -    if (jj_3R_43()) jj_scanpos = xsp;
  +    if (jj_3R_44()) jj_scanpos = xsp;
       else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       while (true) {
         xsp = jj_scanpos;
  @@ -1951,7 +2021,7 @@
       return false;
     }
   
  -  final private boolean jj_3R_48() {
  +  final private boolean jj_3R_49() {
       if (jj_scan_token(COMMA)) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       if (jj_3R_29()) return true;
  @@ -1959,32 +2029,6 @@
       return false;
     }
   
  -  final private boolean jj_3R_18() {
  -    if (jj_3R_20()) return true;
  -    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    if (jj_scan_token(LPAREN)) return true;
  -    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    Token xsp;
  -    xsp = jj_scanpos;
  -    if (jj_3R_21()) jj_scanpos = xsp;
  -    else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    if (jj_scan_token(REFMOD2_RPAREN)) return true;
  -    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    return false;
  -  }
  -
  -  final private boolean jj_3R_20() {
  -    if (jj_scan_token(IDENTIFIER)) return true;
  -    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    return false;
  -  }
  -
  -  final private boolean jj_3R_41() {
  -    if (jj_3R_32()) return true;
  -    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    return false;
  -  }
  -
     final private boolean jj_3R_28() {
       if (jj_scan_token(LPAREN)) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  @@ -1995,32 +2039,22 @@
       return false;
     }
   
  -  final private boolean jj_3R_44() {
  -    if (jj_3R_29()) return true;
  -    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    Token xsp;
  -    while (true) {
  -      xsp = jj_scanpos;
  -      if (jj_3R_48()) { jj_scanpos = xsp; break; }
  -      if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    }
  -    return false;
  -  }
  -
  -  final private boolean jj_3R_40() {
  -    if (jj_3R_35()) return true;
  -    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    return false;
  -  }
  -
     final private boolean jj_3R_27() {
       if (jj_3R_35()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
   
  -  final private boolean jj_3R_39() {
  -    if (jj_3R_34()) return true;
  +  final private boolean jj_3R_18() {
  +    if (jj_3R_20()) return true;
  +    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    if (jj_scan_token(LPAREN)) return true;
  +    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    Token xsp;
  +    xsp = jj_scanpos;
  +    if (jj_3R_21()) jj_scanpos = xsp;
  +    else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    if (jj_scan_token(REFMOD2_RPAREN)) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
  @@ -2031,44 +2065,12 @@
       return false;
     }
   
  -  final private boolean jj_3R_38() {
  -    if (jj_3R_33()) return true;
  -    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    return false;
  -  }
  -
     final private boolean jj_3R_25() {
       if (jj_3R_33()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
   
  -  final private boolean jj_3R_37() {
  -    if (jj_3R_30()) return true;
  -    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    return false;
  -  }
  -
  -  final private boolean jj_3R_29() {
  -    Token xsp;
  -    xsp = jj_scanpos;
  -    if (jj_3R_37()) {
  -    jj_scanpos = xsp;
  -    if (jj_3R_38()) {
  -    jj_scanpos = xsp;
  -    if (jj_3R_39()) {
  -    jj_scanpos = xsp;
  -    if (jj_3R_40()) {
  -    jj_scanpos = xsp;
  -    if (jj_3R_41()) return true;
  -    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    return false;
  -  }
  -
     final private boolean jj_3R_24() {
       if (jj_3R_32()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  @@ -2113,192 +2115,263 @@
       return false;
     }
   
  -  final private boolean jj_3R_73() {
  +  final private boolean jj_3R_74() {
       if (jj_3R_19()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
   
  -  final private boolean jj_3R_76() {
  +  final private boolean jj_3R_77() {
       if (jj_scan_token(MODULUS)) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    if (jj_3R_68()) return true;
  +    if (jj_3R_69()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
   
  -  final private boolean jj_3R_72() {
  +  final private boolean jj_3R_73() {
       if (jj_scan_token(LOGICAL_NOT)) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    if (jj_3R_68()) return true;
  +    if (jj_3R_69()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
   
  -  final private boolean jj_3R_68() {
  +  final private boolean jj_3R_69() {
       Token xsp;
       xsp = jj_scanpos;
  -    if (jj_3R_72()) {
  +    if (jj_3R_73()) {
       jj_scanpos = xsp;
  -    if (jj_3R_73()) return true;
  +    if (jj_3R_74()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
   
  -  final private boolean jj_3R_75() {
  +  final private boolean jj_3R_42() {
  +    if (jj_3R_31()) return true;
  +    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    return false;
  +  }
  +
  +  final private boolean jj_3R_76() {
       if (jj_scan_token(DIVIDE)) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    if (jj_3R_68()) return true;
  +    if (jj_3R_69()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
   
  -  final private boolean jj_3R_74() {
  +  final private boolean jj_3R_41() {
  +    if (jj_3R_32()) return true;
  +    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    return false;
  +  }
  +
  +  final private boolean jj_3R_75() {
       if (jj_scan_token(MULTIPLY)) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    if (jj_3R_68()) return true;
  +    if (jj_3R_69()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
   
  -  final private boolean jj_3R_69() {
  +  final private boolean jj_3R_70() {
       Token xsp;
       xsp = jj_scanpos;
  -    if (jj_3R_74()) {
  -    jj_scanpos = xsp;
       if (jj_3R_75()) {
       jj_scanpos = xsp;
  -    if (jj_3R_76()) return true;
  +    if (jj_3R_76()) {
  +    jj_scanpos = xsp;
  +    if (jj_3R_77()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
   
  -  final private boolean jj_3R_33() {
  -    if (jj_scan_token(LBRACKET)) return true;
  +  final private boolean jj_3R_40() {
  +    if (jj_3R_35()) return true;
  +    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    return false;
  +  }
  +
  +  final private boolean jj_3R_45() {
  +    if (jj_3R_29()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       Token xsp;
  -    xsp = jj_scanpos;
  -    if (jj_3R_44()) jj_scanpos = xsp;
  -    else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    if (jj_scan_token(RBRACKET)) return true;
  +    while (true) {
  +      xsp = jj_scanpos;
  +      if (jj_3R_49()) { jj_scanpos = xsp; break; }
  +      if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    }
  +    return false;
  +  }
  +
  +  final private boolean jj_3R_39() {
  +    if (jj_3R_34()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
   
  -  final private boolean jj_3R_30() {
  -    if (jj_scan_token(STRING_LITERAL)) return true;
  +  final private boolean jj_3R_38() {
  +    if (jj_3R_33()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
   
  -  final private boolean jj_3R_31() {
  -    if (jj_scan_token(NUMBER_LITERAL)) return true;
  +  final private boolean jj_3R_20() {
  +    if (jj_scan_token(IDENTIFIER)) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
   
  -  final private boolean jj_3R_47() {
  -    if (jj_scan_token(RCURLY)) return true;
  +  final private boolean jj_3R_29() {
  +    Token xsp;
  +    xsp = jj_scanpos;
  +    if (jj_3R_37()) {
  +    jj_scanpos = xsp;
  +    if (jj_3R_38()) {
  +    jj_scanpos = xsp;
  +    if (jj_3R_39()) {
  +    jj_scanpos = xsp;
  +    if (jj_3R_40()) {
  +    jj_scanpos = xsp;
  +    if (jj_3R_41()) {
  +    jj_scanpos = xsp;
  +    if (jj_3R_42()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
   
  -  final private boolean jj_3R_71() {
  +  final private boolean jj_3R_37() {
  +    if (jj_3R_30()) return true;
  +    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    return false;
  +  }
  +
  +  final private boolean jj_3R_72() {
       if (jj_scan_token(MINUS)) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    if (jj_3R_62()) return true;
  +    if (jj_3R_63()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
   
  -  final private boolean jj_3R_62() {
  -    if (jj_3R_68()) return true;
  +  final private boolean jj_3R_63() {
  +    if (jj_3R_69()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       Token xsp;
       while (true) {
         xsp = jj_scanpos;
  -      if (jj_3R_69()) { jj_scanpos = xsp; break; }
  +      if (jj_3R_70()) { jj_scanpos = xsp; break; }
         if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       }
       return false;
     }
   
  -  final private boolean jj_3R_70() {
  +  final private boolean jj_3R_71() {
       if (jj_scan_token(PLUS)) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    if (jj_3R_62()) return true;
  +    if (jj_3R_63()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
   
  -  final private boolean jj_3R_63() {
  +  final private boolean jj_3R_64() {
       Token xsp;
       xsp = jj_scanpos;
  -    if (jj_3R_70()) {
  +    if (jj_3R_71()) {
       jj_scanpos = xsp;
  -    if (jj_3R_71()) return true;
  +    if (jj_3R_72()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
   
  -  final private boolean jj_3R_67() {
  +  final private boolean jj_3R_48() {
  +    if (jj_scan_token(RCURLY)) return true;
  +    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    return false;
  +  }
  +
  +  final private boolean jj_3R_33() {
  +    if (jj_scan_token(LBRACKET)) return true;
  +    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    Token xsp;
  +    xsp = jj_scanpos;
  +    if (jj_3R_45()) jj_scanpos = xsp;
  +    else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    if (jj_scan_token(RBRACKET)) return true;
  +    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    return false;
  +  }
  +
  +  final private boolean jj_3R_68() {
       if (jj_scan_token(LOGICAL_GE)) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    if (jj_3R_58()) return true;
  +    if (jj_3R_59()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
   
  -  final private boolean jj_3R_58() {
  -    if (jj_3R_62()) return true;
  +  final private boolean jj_3R_59() {
  +    if (jj_3R_63()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       Token xsp;
       while (true) {
         xsp = jj_scanpos;
  -      if (jj_3R_63()) { jj_scanpos = xsp; break; }
  +      if (jj_3R_64()) { jj_scanpos = xsp; break; }
         if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       }
       return false;
     }
   
  -  final private boolean jj_3R_66() {
  +  final private boolean jj_3R_67() {
       if (jj_scan_token(LOGICAL_LE)) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    if (jj_3R_58()) return true;
  +    if (jj_3R_59()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
   
  -  final private boolean jj_3R_65() {
  +  final private boolean jj_3R_66() {
       if (jj_scan_token(LOGICAL_GT)) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    if (jj_3R_58()) return true;
  +    if (jj_3R_59()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
   
  -  final private boolean jj_3R_64() {
  +  final private boolean jj_3R_30() {
  +    if (jj_scan_token(STRING_LITERAL)) return true;
  +    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    return false;
  +  }
  +
  +  final private boolean jj_3R_65() {
       if (jj_scan_token(LOGICAL_LT)) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    if (jj_3R_58()) return true;
  +    if (jj_3R_59()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
   
  -  final private boolean jj_3R_59() {
  +  final private boolean jj_3R_60() {
       Token xsp;
       xsp = jj_scanpos;
  -    if (jj_3R_64()) {
  -    jj_scanpos = xsp;
       if (jj_3R_65()) {
       jj_scanpos = xsp;
       if (jj_3R_66()) {
       jj_scanpos = xsp;
  -    if (jj_3R_67()) return true;
  +    if (jj_3R_67()) {
  +    jj_scanpos = xsp;
  +    if (jj_3R_68()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  @@ -2306,93 +2379,34 @@
       return false;
     }
   
  -  final private boolean jj_3R_17() {
  -    if (jj_3R_20()) return true;
  +  final private boolean jj_3R_31() {
  +    if (jj_scan_token(NUMBER_LITERAL)) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
   
  -  final private boolean jj_3R_61() {
  +  final private boolean jj_3R_62() {
       if (jj_scan_token(LOGICAL_NOT_EQUALS)) return true;
  -    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    if (jj_3R_56()) return true;
  -    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    return false;
  -  }
  -
  -  final private boolean jj_3R_56() {
  -    if (jj_3R_58()) return true;
  -    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    Token xsp;
  -    while (true) {
  -      xsp = jj_scanpos;
  -      if (jj_3R_59()) { jj_scanpos = xsp; break; }
  -      if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    }
  -    return false;
  -  }
  -
  -  final private boolean jj_3R_60() {
  -    if (jj_scan_token(LOGICAL_EQUALS)) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    if (jj_3R_56()) return true;
  +    if (jj_3R_57()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
   
     final private boolean jj_3R_57() {
  -    Token xsp;
  -    xsp = jj_scanpos;
  -    if (jj_3R_60()) {
  -    jj_scanpos = xsp;
  -    if (jj_3R_61()) return true;
  -    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    return false;
  -  }
  -
  -  final private boolean jj_3R_53() {
  -    if (jj_3R_56()) return true;
  -    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    Token xsp;
  -    while (true) {
  -      xsp = jj_scanpos;
  -      if (jj_3R_57()) { jj_scanpos = xsp; break; }
  -      if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    }
  -    return false;
  -  }
  -
  -  final private boolean jj_3R_55() {
  -    if (jj_scan_token(COMMA)) return true;
  -    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    if (jj_3R_29()) return true;
  -    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    return false;
  -  }
  -
  -  final private boolean jj_3R_54() {
  -    if (jj_scan_token(LOGICAL_AND)) return true;
  +    if (jj_3R_59()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    if (jj_3R_53()) return true;
  -    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    return false;
  -  }
  -
  -  final private boolean jj_3R_51() {
  -    if (jj_3R_53()) return true;
  -    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       Token xsp;
       while (true) {
         xsp = jj_scanpos;
  -      if (jj_3R_54()) { jj_scanpos = xsp; break; }
  +      if (jj_3R_60()) { jj_scanpos = xsp; break; }
         if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       }
       return false;
     }
   
  -  final private boolean jj_3_2() {
  -    if (jj_3R_18()) return true;
  +  final private boolean jj_3R_17() {
  +    if (jj_3R_20()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
  @@ -2408,7 +2422,7 @@
     private int jj_gen;
     final private int[] jj_la1 = new int[36];
     final private int[] jj_la1_0 = 
{0x23e07fb0,0x23e07fb0,0x3800000,0x20000002,0x20000002,0x23e07fb0,0x8,0xe0000002,0xe0000002,0x8,0xe0000002,0x0,0x0,0x0,0x0,0x20603fb0,0x23e07fb0,0x0,0x0,0x0,0x23e07fb0,0x23e07fb0,0x0,0xe0000012,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xe0000012,0xe0000012,};
  -  final private int[] jj_la1_1 = 
{0xe2a60001,0xe2a60001,0x0,0xa2800000,0xa2800000,0xe2a60001,0x0,0xa0000000,0xa0000000,0x0,0xa0000000,0x80000000,0x0,0x20000000,0x0,0x40800001,0xe2a60001,0x80000,0x80000,0x100000,0xe2a60001,0xe2a60001,0x1,0xa0804000,0x80,0x40,0x3000,0x3000,0xf00,0xf00,0x6,0x6,0x38,0x38,0xa0804000,0xa0800000,};
  +  final private int[] jj_la1_1 = 
{0xe2a60001,0xe2a60001,0x0,0xa2800000,0xa2800000,0xe2a60001,0x0,0xa0800000,0xa0800000,0x0,0xa0800000,0x80000000,0x0,0x20000000,0x0,0x40800001,0xe2a60001,0x80000,0x80000,0x100000,0xe2a60001,0xe2a60001,0x1,0xa0804000,0x80,0x40,0x3000,0x3000,0xf00,0xf00,0x6,0x6,0x38,0x38,0xa0804000,0xa0800000,};
     final private int[] jj_la1_2 = 
{0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,};
     final private JJCalls[] jj_2_rtns = new JJCalls[3];
     private boolean jj_rescan = false;
  
  
  
  1.24      +98 -93    
jakarta-velocity/src/java/org/apache/velocity/runtime/parser/Parser.jj
  
  Index: Parser.jj
  ===================================================================
  RCS file: 
/home/cvs/jakarta-velocity/src/java/org/apache/velocity/runtime/parser/Parser.jj,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- Parser.jj 2000/11/05 19:20:37     1.23
  +++ Parser.jj 2000/11/06 01:20:36     1.24
  @@ -103,7 +103,7 @@
    *
    * @author <a href="mailto:[EMAIL PROTECTED]">Jason van Zyl</a>
    * @author <a href="mailto:[EMAIL PROTECTED]">Geir Magnusson Jr.</a>
  - * @version $Id: Parser.jj,v 1.23 2000/11/05 19:20:37 geirm Exp $ 
  + * @version $Id: Parser.jj,v 1.24 2000/11/06 01:20:36 jvanzyl Exp $ 
   */
   public class Parser/*@bgen(jjtree)*/implements ParserTreeConstants/*@egen*/
   {/*@bgen(jjtree)*/
  @@ -797,7 +797,7 @@
       }
   }
   
  -<PRE_DIRECTIVE,DIRECTIVE>
  +<PRE_DIRECTIVE,DIRECTIVE,REFMOD2>
   TOKEN:
   {
      <#DIGIT: [ "0"-"9" ] >
  @@ -810,11 +810,15 @@
            *  because we want to handle the \n after
            */
   
  -        if ( lparen == 0 && !inSet )
  +        if ( lparen == 0 && !inSet && curLexState != REFMOD2)
               stateStackPop();
       }
  +}
   
  -|   <#LETTER: [ "a"-"z", "A" - "Z" ] >
  +<PRE_DIRECTIVE,DIRECTIVE>
  +TOKEN:
  +{
  +    <#LETTER: [ "a"-"z", "A" - "Z" ] >
   |   <WORD: (<LETTER>)+ >
   }
   
  @@ -937,12 +941,12 @@
        } else {
          jjtree.popNode();
        }
  -     if (jjte000 instanceof ParseException) {
  -       throw (ParseException)jjte000;
  -     }
        if (jjte000 instanceof RuntimeException) {
          throw (RuntimeException)jjte000;
        }
  +     if (jjte000 instanceof ParseException) {
  +       throw (ParseException)jjte000;
  +     }
        throw (Error)jjte000;
      } finally {
        if (jjtc000) {
  @@ -1155,12 +1159,12 @@
         } else {
           jjtree.popNode();
         }
  -      if (jjte001 instanceof ParseException) {
  -        throw (ParseException)jjte001;
  -      }
         if (jjte001 instanceof RuntimeException) {
           throw (RuntimeException)jjte001;
         }
  +      if (jjte001 instanceof ParseException) {
  +        throw (ParseException)jjte001;
  +      }
         throw (Error)jjte001;
       } finally {
         if (jjtc001) {
  @@ -1184,12 +1188,12 @@
         } else {
           jjtree.popNode();
         }
  -      if (jjte000 instanceof ParseException) {
  -        throw (ParseException)jjte000;
  -      }
         if (jjte000 instanceof RuntimeException) {
           throw (RuntimeException)jjte000;
         }
  +      if (jjte000 instanceof ParseException) {
  +        throw (ParseException)jjte000;
  +      }
         throw (Error)jjte000;
       } finally {
         if (jjtc000) {
  @@ -1215,12 +1219,12 @@
         } else {
           jjtree.popNode();
         }
  -      if (jjte000 instanceof ParseException) {
  -        throw (ParseException)jjte000;
  -      }
         if (jjte000 instanceof RuntimeException) {
           throw (RuntimeException)jjte000;
         }
  +      if (jjte000 instanceof ParseException) {
  +        throw (ParseException)jjte000;
  +      }
         throw (Error)jjte000;
       } finally {
         if (jjtc000) {
  @@ -1241,7 +1245,8 @@
   |   ObjectArray()
   |   True()
   |   False()
  -|   Reference() 
  +|   Reference()
  +|   NumberLiteral()
   }
   
   /**
  @@ -1265,12 +1270,12 @@
         } else {
           jjtree.popNode();
         }
  -      if (jjte000 instanceof ParseException) {
  -        throw (ParseException)jjte000;
  -      }
         if (jjte000 instanceof RuntimeException) {
           throw (RuntimeException)jjte000;
         }
  +      if (jjte000 instanceof ParseException) {
  +        throw (ParseException)jjte000;
  +      }
         throw (Error)jjte000;
       } finally {
         if (jjtc000) {
  @@ -1301,12 +1306,12 @@
         } else {
           jjtree.popNode();
         }
  -      if (jjte000 instanceof ParseException) {
  -        throw (ParseException)jjte000;
  -      }
         if (jjte000 instanceof RuntimeException) {
           throw (RuntimeException)jjte000;
         }
  +      if (jjte000 instanceof ParseException) {
  +        throw (ParseException)jjte000;
  +      }
         throw (Error)jjte000;
       } finally {
         if (jjtc000) {
  @@ -1419,12 +1424,12 @@
         } else {
           jjtree.popNode();
         }
  -      if (jjte001 instanceof ParseException) {
  -        throw (ParseException)jjte001;
  -      }
         if (jjte001 instanceof RuntimeException) {
           throw (RuntimeException)jjte001;
         }
  +      if (jjte001 instanceof ParseException) {
  +        throw (ParseException)jjte001;
  +      }
         throw (Error)jjte001;
       } finally {
         if (jjtc001) {
  @@ -1442,12 +1447,12 @@
         } else {
           jjtree.popNode();
         }
  -      if (jjte000 instanceof ParseException) {
  -        throw (ParseException)jjte000;
  -      }
         if (jjte000 instanceof RuntimeException) {
           throw (RuntimeException)jjte000;
         }
  +      if (jjte000 instanceof ParseException) {
  +        throw (ParseException)jjte000;
  +      }
         throw (Error)jjte000;
       } finally {
         if (jjtc000) {
  @@ -1481,12 +1486,12 @@
         } else {
           jjtree.popNode();
         }
  -      if (jjte001 instanceof ParseException) {
  -        throw (ParseException)jjte001;
  -      }
         if (jjte001 instanceof RuntimeException) {
           throw (RuntimeException)jjte001;
         }
  +      if (jjte001 instanceof ParseException) {
  +        throw (ParseException)jjte001;
  +      }
         throw (Error)jjte001;
       } finally {
         if (jjtc001) {
  @@ -1501,12 +1506,12 @@
         } else {
           jjtree.popNode();
         }
  -      if (jjte000 instanceof ParseException) {
  -        throw (ParseException)jjte000;
  -      }
         if (jjte000 instanceof RuntimeException) {
           throw (RuntimeException)jjte000;
         }
  +      if (jjte000 instanceof ParseException) {
  +        throw (ParseException)jjte000;
  +      }
         throw (Error)jjte000;
       } finally {
         if (jjtc000) {
  @@ -1541,12 +1546,12 @@
         } else {
           jjtree.popNode();
         }
  -      if (jjte001 instanceof ParseException) {
  -        throw (ParseException)jjte001;
  -      }
         if (jjte001 instanceof RuntimeException) {
           throw (RuntimeException)jjte001;
         }
  +      if (jjte001 instanceof ParseException) {
  +        throw (ParseException)jjte001;
  +      }
         throw (Error)jjte001;
       } finally {
         if (jjtc001) {
  @@ -1561,12 +1566,12 @@
         } else {
           jjtree.popNode();
         }
  -      if (jjte000 instanceof ParseException) {
  -        throw (ParseException)jjte000;
  -      }
         if (jjte000 instanceof RuntimeException) {
           throw (RuntimeException)jjte000;
         }
  +      if (jjte000 instanceof ParseException) {
  +        throw (ParseException)jjte000;
  +      }
         throw (Error)jjte000;
       } finally {
         if (jjtc000) {
  @@ -1592,12 +1597,12 @@
        } else {
          jjtree.popNode();
        }
  -     if (jjte000 instanceof ParseException) {
  -       throw (ParseException)jjte000;
  -     }
        if (jjte000 instanceof RuntimeException) {
          throw (RuntimeException)jjte000;
        }
  +     if (jjte000 instanceof ParseException) {
  +       throw (ParseException)jjte000;
  +     }
        throw (Error)jjte000;
      } finally {
        if (jjtc000) {
  @@ -1656,12 +1661,12 @@
         } else {
           jjtree.popNode();
         }
  -      if (jjte000 instanceof ParseException) {
  -        throw (ParseException)jjte000;
  -      }
         if (jjte000 instanceof RuntimeException) {
           throw (RuntimeException)jjte000;
         }
  +      if (jjte000 instanceof ParseException) {
  +        throw (ParseException)jjte000;
  +      }
         throw (Error)jjte000;
       } finally {
         if (jjtc000) {
  @@ -1687,12 +1692,12 @@
         } else {
           jjtree.popNode();
         }
  -      if (jjte000 instanceof ParseException) {
  -        throw (ParseException)jjte000;
  -      }
         if (jjte000 instanceof RuntimeException) {
           throw (RuntimeException)jjte000;
         }
  +      if (jjte000 instanceof ParseException) {
  +        throw (ParseException)jjte000;
  +      }
         throw (Error)jjte000;
       } finally {
         if (jjtc000) {
  @@ -1720,12 +1725,12 @@
                      } else {
                        jjtree.popNode();
                      }
  -                   if (jjte001 instanceof ParseException) {
  -                     throw (ParseException)jjte001;
  -                   }
                      if (jjte001 instanceof RuntimeException) {
                        throw (RuntimeException)jjte001;
                      }
  +                   if (jjte001 instanceof ParseException) {
  +                     throw (ParseException)jjte001;
  +                   }
                      throw (Error)jjte001;
                    } finally {
                      if (jjtc001) {
  @@ -1754,12 +1759,12 @@
                        } else {
                          jjtree.popNode();
                        }
  -                     if (jjte001 instanceof ParseException) {
  -                       throw (ParseException)jjte001;
  -                     }
                        if (jjte001 instanceof RuntimeException) {
                          throw (RuntimeException)jjte001;
                        }
  +                     if (jjte001 instanceof ParseException) {
  +                       throw (ParseException)jjte001;
  +                     }
                        throw (Error)jjte001;
                      } finally {
                        if (jjtc001) {
  @@ -1788,12 +1793,12 @@
                                } else {
                                  jjtree.popNode();
                                }
  -                             if (jjte001 instanceof ParseException) {
  -                               throw (ParseException)jjte001;
  -                             }
                                if (jjte001 instanceof RuntimeException) {
                                  throw (RuntimeException)jjte001;
                                }
  +                             if (jjte001 instanceof ParseException) {
  +                               throw (ParseException)jjte001;
  +                             }
                                throw (Error)jjte001;
                              } finally {
                                if (jjtc001) {
  @@ -1816,12 +1821,12 @@
                                    } else {
                                      jjtree.popNode();
                                    }
  -                                 if (jjte002 instanceof ParseException) {
  -                                   throw (ParseException)jjte002;
  -                                 }
                                    if (jjte002 instanceof RuntimeException) {
                                      throw (RuntimeException)jjte002;
                                    }
  +                                 if (jjte002 instanceof ParseException) {
  +                                   throw (ParseException)jjte002;
  +                                 }
                                    throw (Error)jjte002;
                                  } finally {
                                    if (jjtc002) {
  @@ -1851,12 +1856,12 @@
                            } else {
                              jjtree.popNode();
                            }
  -                         if (jjte001 instanceof ParseException) {
  -                           throw (ParseException)jjte001;
  -                         }
                            if (jjte001 instanceof RuntimeException) {
                              throw (RuntimeException)jjte001;
                            }
  +                         if (jjte001 instanceof ParseException) {
  +                           throw (ParseException)jjte001;
  +                         }
                            throw (Error)jjte001;
                          } finally {
                            if (jjtc001) {
  @@ -1879,12 +1884,12 @@
                            } else {
                              jjtree.popNode();
                            }
  -                         if (jjte002 instanceof ParseException) {
  -                           throw (ParseException)jjte002;
  -                         }
                            if (jjte002 instanceof RuntimeException) {
                              throw (RuntimeException)jjte002;
                            }
  +                         if (jjte002 instanceof ParseException) {
  +                           throw (ParseException)jjte002;
  +                         }
                            throw (Error)jjte002;
                          } finally {
                            if (jjtc002) {
  @@ -1907,12 +1912,12 @@
                            } else {
                              jjtree.popNode();
                            }
  -                         if (jjte003 instanceof ParseException) {
  -                           throw (ParseException)jjte003;
  -                         }
                            if (jjte003 instanceof RuntimeException) {
                              throw (RuntimeException)jjte003;
                            }
  +                         if (jjte003 instanceof ParseException) {
  +                           throw (ParseException)jjte003;
  +                         }
                            throw (Error)jjte003;
                          } finally {
                            if (jjtc003) {
  @@ -1935,12 +1940,12 @@
                            } else {
                              jjtree.popNode();
                            }
  -                         if (jjte004 instanceof ParseException) {
  -                           throw (ParseException)jjte004;
  -                         }
                            if (jjte004 instanceof RuntimeException) {
                              throw (RuntimeException)jjte004;
                            }
  +                         if (jjte004 instanceof ParseException) {
  +                           throw (ParseException)jjte004;
  +                         }
                            throw (Error)jjte004;
                          } finally {
                            if (jjtc004) {
  @@ -1970,12 +1975,12 @@
                       } else {
                         jjtree.popNode();
                       }
  -                    if (jjte001 instanceof ParseException) {
  -                      throw (ParseException)jjte001;
  -                    }
                       if (jjte001 instanceof RuntimeException) {
                         throw (RuntimeException)jjte001;
                       }
  +                    if (jjte001 instanceof ParseException) {
  +                      throw (ParseException)jjte001;
  +                    }
                       throw (Error)jjte001;
                     } finally {
                       if (jjtc001) {
  @@ -1998,12 +2003,12 @@
                       } else {
                         jjtree.popNode();
                       }
  -                    if (jjte002 instanceof ParseException) {
  -                      throw (ParseException)jjte002;
  -                    }
                       if (jjte002 instanceof RuntimeException) {
                         throw (RuntimeException)jjte002;
                       }
  +                    if (jjte002 instanceof ParseException) {
  +                      throw (ParseException)jjte002;
  +                    }
                       throw (Error)jjte002;
                     } finally {
                       if (jjtc002) {
  @@ -2033,12 +2038,12 @@
                          } else {
                            jjtree.popNode();
                          }
  -                       if (jjte001 instanceof ParseException) {
  -                         throw (ParseException)jjte001;
  -                       }
                          if (jjte001 instanceof RuntimeException) {
                            throw (RuntimeException)jjte001;
                          }
  +                       if (jjte001 instanceof ParseException) {
  +                         throw (ParseException)jjte001;
  +                       }
                          throw (Error)jjte001;
                        } finally {
                          if (jjtc001) {
  @@ -2061,12 +2066,12 @@
                          } else {
                            jjtree.popNode();
                          }
  -                       if (jjte002 instanceof ParseException) {
  -                         throw (ParseException)jjte002;
  -                       }
                          if (jjte002 instanceof RuntimeException) {
                            throw (RuntimeException)jjte002;
                          }
  +                       if (jjte002 instanceof ParseException) {
  +                         throw (ParseException)jjte002;
  +                       }
                          throw (Error)jjte002;
                        } finally {
                          if (jjtc002) {
  @@ -2089,12 +2094,12 @@
                          } else {
                            jjtree.popNode();
                          }
  -                       if (jjte003 instanceof ParseException) {
  -                         throw (ParseException)jjte003;
  -                       }
                          if (jjte003 instanceof RuntimeException) {
                            throw (RuntimeException)jjte003;
                          }
  +                       if (jjte003 instanceof ParseException) {
  +                         throw (ParseException)jjte003;
  +                       }
                          throw (Error)jjte003;
                        } finally {
                          if (jjtc003) {
  @@ -2122,12 +2127,12 @@
                       } else {
                         jjtree.popNode();
                       }
  -                    if (jjte001 instanceof ParseException) {
  -                      throw (ParseException)jjte001;
  -                    }
                       if (jjte001 instanceof RuntimeException) {
                         throw (RuntimeException)jjte001;
                       }
  +                    if (jjte001 instanceof ParseException) {
  +                      throw (ParseException)jjte001;
  +                    }
                       throw (Error)jjte001;
                     } finally {
                       if (jjtc001) {
  @@ -2239,4 +2244,4 @@
           ------
   
   */
  - 
  \ No newline at end of file
  + 
  
  
  
  1.22      +1045 
-1032jakarta-velocity/src/java/org/apache/velocity/runtime/parser/ParserTokenManager.java
  
  Index: ParserTokenManager.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-velocity/src/java/org/apache/velocity/runtime/parser/ParserTokenManager.java,v
  retrieving revision 1.21
  retrieving revision 1.22
  diff -u -r1.21 -r1.22
  --- ParserTokenManager.java   2000/11/05 19:20:38     1.21
  +++ ParserTokenManager.java   2000/11/06 01:20:36     1.22
  @@ -225,16 +225,16 @@
      switch (pos)
      {
         case 0:
  -         if ((active0 & 0x10000L) != 0L)
  -         {
  -            jjmatchedKind = 15;
  -            return -1;
  -         }
            if ((active0 & 0xa0000L) != 0L)
            {
               jjmatchedKind = 20;
               return 8;
            }
  +         if ((active0 & 0x10000L) != 0L)
  +         {
  +            jjmatchedKind = 15;
  +            return -1;
  +         }
            if ((active0 & 0xc0000000L) != 0L)
            {
               jjmatchedKind = 57;
  @@ -242,6 +242,14 @@
            }
            return -1;
         case 1:
  +         if ((active0 & 0xc0000000L) != 0L)
  +         {
  +            jjmatchedKind = 57;
  +            jjmatchedPos = 1;
  +            return 18;
  +         }
  +         if ((active0 & 0x80000L) != 0L)
  +            return 6;
            if ((active0 & 0x10000L) != 0L)
            {
               if (jjmatchedPos == 0)
  @@ -251,14 +259,6 @@
               }
               return -1;
            }
  -         if ((active0 & 0x80000L) != 0L)
  -            return 6;
  -         if ((active0 & 0xc0000000L) != 0L)
  -         {
  -            jjmatchedKind = 57;
  -            jjmatchedPos = 1;
  -            return 18;
  -         }
            return -1;
         case 2:
            if ((active0 & 0xc0000000L) != 0L)
  @@ -269,14 +269,14 @@
            }
            return -1;
         case 3:
  +         if ((active0 & 0x40000000L) != 0L)
  +            return 18;
            if ((active0 & 0x80000000L) != 0L)
            {
               jjmatchedKind = 57;
               jjmatchedPos = 3;
               return 18;
            }
  -         if ((active0 & 0x40000000L) != 0L)
  -            return 18;
            return -1;
         default :
            return -1;
  @@ -699,16 +699,16 @@
      switch (pos)
      {
         case 0:
  -         if ((active0 & 0x10000L) != 0L)
  -         {
  -            jjmatchedKind = 15;
  -            return -1;
  -         }
            if ((active0 & 0xa0000L) != 0L)
            {
               jjmatchedKind = 20;
               return 3;
            }
  +         if ((active0 & 0x10000L) != 0L)
  +         {
  +            jjmatchedKind = 15;
  +            return -1;
  +         }
            return -1;
         default :
            return -1;
  @@ -873,28 +873,35 @@
         catch(java.io.IOException e) { return curPos; }
      }
   }
  -private final int jjStopStringLiteralDfa_5(int pos, long active0, long active1)
  +private final int jjStopStringLiteralDfa_4(int pos, long active0)
   {
      switch (pos)
      {
         case 0:
  +         if ((active0 & 0xa0000L) != 0L)
  +         {
  +            jjmatchedKind = 20;
  +            return 3;
  +         }
            if ((active0 & 0x10000L) != 0L)
            {
               jjmatchedKind = 15;
               return -1;
            }
  -         if ((active0 & 0xc0000000L) != 0L)
  +         if ((active0 & 0x26000000000000L) != 0L)
            {
  -            jjmatchedKind = 61;
  -            return 10;
  +            jjmatchedKind = 57;
  +            return 14;
            }
  -         if ((active0 & 0xa0000L) != 0L)
  +         if ((active0 & 0x18000000000000L) != 0L)
            {
  -            jjmatchedKind = 20;
  -            return 3;
  +            jjmatchedKind = 57;
  +            return 11;
            }
            return -1;
         case 1:
  +         if ((active0 & 0x4000000000000L) != 0L)
  +            return 14;
            if ((active0 & 0x10000L) != 0L)
            {
               if (jjmatchedPos == 0)
  @@ -906,72 +913,91 @@
            }
            if ((active0 & 0x80000L) != 0L)
               return 1;
  -         if ((active0 & 0xc0000000L) != 0L)
  +         if ((active0 & 0x3a000000000000L) != 0L)
            {
  -            jjmatchedKind = 61;
  +            jjmatchedKind = 57;
               jjmatchedPos = 1;
  -            return 10;
  +            return 14;
            }
            return -1;
         case 2:
  -         if ((active0 & 0xc0000000L) != 0L)
  +         if ((active0 & 0x3a000000000000L) != 0L)
            {
  -            jjmatchedKind = 61;
  +            jjmatchedKind = 57;
               jjmatchedPos = 2;
  -            return 10;
  +            return 14;
            }
            return -1;
         case 3:
  -         if ((active0 & 0x40000000L) != 0L)
  -            return 10;
  -         if ((active0 & 0x80000000L) != 0L)
  +         if ((active0 & 0x38000000000000L) != 0L)
  +            return 14;
  +         if ((active0 & 0x2000000000000L) != 0L)
            {
  -            jjmatchedKind = 61;
  -            jjmatchedPos = 3;
  -            return 10;
  +            if (jjmatchedPos != 3)
  +            {
  +               jjmatchedKind = 57;
  +               jjmatchedPos = 3;
  +            }
  +            return 14;
  +         }
  +         return -1;
  +      case 4:
  +         if ((active0 & 0xa000000000000L) != 0L)
  +         {
  +            jjmatchedKind = 57;
  +            jjmatchedPos = 4;
  +            return 14;
            }
            return -1;
  +      case 5:
  +         if ((active0 & 0x2000000000000L) != 0L)
  +         {
  +            jjmatchedKind = 57;
  +            jjmatchedPos = 5;
  +            return 14;
  +         }
  +         if ((active0 & 0x8000000000000L) != 0L)
  +            return 14;
  +         return -1;
         default :
            return -1;
      }
   }
  -private final int jjStartNfa_5(int pos, long active0, long active1)
  +private final int jjStartNfa_4(int pos, long active0)
   {
  -   return jjMoveNfa_5(jjStopStringLiteralDfa_5(pos, active0, active1), pos + 1);
  +   return jjMoveNfa_4(jjStopStringLiteralDfa_4(pos, active0), pos + 1);
   }
  -private final int jjStartNfaWithStates_5(int pos, int kind, int state)
  +private final int jjStartNfaWithStates_4(int pos, int kind, int state)
   {
      jjmatchedKind = kind;
      jjmatchedPos = pos;
      try { curChar = input_stream.readChar(); }
      catch(java.io.IOException e) { return pos + 1; }
  -   return jjMoveNfa_5(state, pos + 1);
  +   return jjMoveNfa_4(state, pos + 1);
   }
  -private final int jjMoveStringLiteralDfa0_5()
  +private final int jjMoveStringLiteralDfa0_4()
   {
      switch(curChar)
      {
         case 35:
  -         return jjMoveStringLiteralDfa1_5(0xa0000L);
  +         return jjMoveStringLiteralDfa1_4(0xa0000L);
         case 36:
  -         return jjMoveStringLiteralDfa1_5(0x10000L);
  -      case 102:
  -         return jjMoveStringLiteralDfa1_5(0x80000000L);
  -      case 116:
  -         return jjMoveStringLiteralDfa1_5(0x40000000L);
  -      case 123:
  -         return jjStopAtPos(0, 63);
  -      case 125:
  -         return jjStopAtPos(0, 64);
  +         return jjMoveStringLiteralDfa1_4(0x10000L);
  +      case 101:
  +         return jjMoveStringLiteralDfa1_4(0x18000000000000L);
  +      case 105:
  +         return jjMoveStringLiteralDfa1_4(0x6000000000000L);
  +      case 115:
  +         return jjMoveStringLiteralDfa1_4(0x20000000000000L);
         default :
  -         return jjMoveNfa_5(4, 0);
  +         return jjMoveNfa_4(4, 0);
      }
   }
  -private final int jjMoveStringLiteralDfa1_5(long active0)
  +private final int jjMoveStringLiteralDfa1_4(long active0)
   {
      try { curChar = input_stream.readChar(); }
      catch(java.io.IOException e) {
  -      jjStopStringLiteralDfa_5(0, active0, 0L);
  +      jjStopStringLiteralDfa_4(0, active0);
         return 1;
      }
      switch(curChar)
  @@ -986,84 +1012,141 @@
            break;
         case 42:
            if ((active0 & 0x80000L) != 0L)
  -            return jjStartNfaWithStates_5(1, 19, 1);
  +            return jjStartNfaWithStates_4(1, 19, 1);
            break;
  -      case 97:
  -         return jjMoveStringLiteralDfa2_5(active0, 0x80000000L);
  -      case 114:
  -         return jjMoveStringLiteralDfa2_5(active0, 0x40000000L);
  +      case 102:
  +         if ((active0 & 0x4000000000000L) != 0L)
  +            return jjStartNfaWithStates_4(1, 50, 14);
  +         break;
  +      case 108:
  +         return jjMoveStringLiteralDfa2_4(active0, 0x18000000000000L);
  +      case 110:
  +         return jjMoveStringLiteralDfa2_4(active0, 0x2000000000000L);
  +      case 116:
  +         return jjMoveStringLiteralDfa2_4(active0, 0x20000000000000L);
         default :
            break;
      }
  -   return jjStartNfa_5(0, active0, 0L);
  +   return jjStartNfa_4(0, active0);
   }
  -private final int jjMoveStringLiteralDfa2_5(long old0, long active0)
  +private final int jjMoveStringLiteralDfa2_4(long old0, long active0)
   {
      if (((active0 &= old0)) == 0L)
  -      return jjStartNfa_5(0, old0, 0L);
  +      return jjStartNfa_4(0, old0); 
      try { curChar = input_stream.readChar(); }
      catch(java.io.IOException e) {
  -      jjStopStringLiteralDfa_5(1, active0, 0L);
  +      jjStopStringLiteralDfa_4(1, active0);
         return 2;
      }
      switch(curChar)
      {
  -      case 108:
  -         return jjMoveStringLiteralDfa3_5(active0, 0x80000000L);
  -      case 117:
  -         return jjMoveStringLiteralDfa3_5(active0, 0x40000000L);
  +      case 99:
  +         return jjMoveStringLiteralDfa3_4(active0, 0x2000000000000L);
  +      case 111:
  +         return jjMoveStringLiteralDfa3_4(active0, 0x20000000000000L);
  +      case 115:
  +         return jjMoveStringLiteralDfa3_4(active0, 0x18000000000000L);
         default :
            break;
      }
  -   return jjStartNfa_5(1, active0, 0L);
  +   return jjStartNfa_4(1, active0);
   }
  -private final int jjMoveStringLiteralDfa3_5(long old0, long active0)
  +private final int jjMoveStringLiteralDfa3_4(long old0, long active0)
   {
      if (((active0 &= old0)) == 0L)
  -      return jjStartNfa_5(1, old0, 0L);
  +      return jjStartNfa_4(1, old0); 
      try { curChar = input_stream.readChar(); }
      catch(java.io.IOException e) {
  -      jjStopStringLiteralDfa_5(2, active0, 0L);
  +      jjStopStringLiteralDfa_4(2, active0);
         return 3;
      }
      switch(curChar)
      {
         case 101:
  -         if ((active0 & 0x40000000L) != 0L)
  -            return jjStartNfaWithStates_5(3, 30, 10);
  +         if ((active0 & 0x10000000000000L) != 0L)
  +         {
  +            jjmatchedKind = 52;
  +            jjmatchedPos = 3;
  +         }
  +         return jjMoveStringLiteralDfa4_4(active0, 0x8000000000000L);
  +      case 108:
  +         return jjMoveStringLiteralDfa4_4(active0, 0x2000000000000L);
  +      case 112:
  +         if ((active0 & 0x20000000000000L) != 0L)
  +            return jjStartNfaWithStates_4(3, 53, 14);
            break;
  -      case 115:
  -         return jjMoveStringLiteralDfa4_5(active0, 0x80000000L);
         default :
            break;
      }
  -   return jjStartNfa_5(2, active0, 0L);
  +   return jjStartNfa_4(2, active0);
   }
  -private final int jjMoveStringLiteralDfa4_5(long old0, long active0)
  +private final int jjMoveStringLiteralDfa4_4(long old0, long active0)
   {
      if (((active0 &= old0)) == 0L)
  -      return jjStartNfa_5(2, old0, 0L);
  +      return jjStartNfa_4(2, old0); 
      try { curChar = input_stream.readChar(); }
      catch(java.io.IOException e) {
  -      jjStopStringLiteralDfa_5(3, active0, 0L);
  +      jjStopStringLiteralDfa_4(3, active0);
         return 4;
      }
      switch(curChar)
      {
  +      case 105:
  +         return jjMoveStringLiteralDfa5_4(active0, 0x8000000000000L);
  +      case 117:
  +         return jjMoveStringLiteralDfa5_4(active0, 0x2000000000000L);
  +      default :
  +         break;
  +   }
  +   return jjStartNfa_4(3, active0);
  +}
  +private final int jjMoveStringLiteralDfa5_4(long old0, long active0)
  +{
  +   if (((active0 &= old0)) == 0L)
  +      return jjStartNfa_4(3, old0); 
  +   try { curChar = input_stream.readChar(); }
  +   catch(java.io.IOException e) {
  +      jjStopStringLiteralDfa_4(4, active0);
  +      return 5;
  +   }
  +   switch(curChar)
  +   {
  +      case 100:
  +         return jjMoveStringLiteralDfa6_4(active0, 0x2000000000000L);
  +      case 102:
  +         if ((active0 & 0x8000000000000L) != 0L)
  +            return jjStartNfaWithStates_4(5, 51, 14);
  +         break;
  +      default :
  +         break;
  +   }
  +   return jjStartNfa_4(4, active0);
  +}
  +private final int jjMoveStringLiteralDfa6_4(long old0, long active0)
  +{
  +   if (((active0 &= old0)) == 0L)
  +      return jjStartNfa_4(4, old0); 
  +   try { curChar = input_stream.readChar(); }
  +   catch(java.io.IOException e) {
  +      jjStopStringLiteralDfa_4(5, active0);
  +      return 6;
  +   }
  +   switch(curChar)
  +   {
         case 101:
  -         if ((active0 & 0x80000000L) != 0L)
  -            return jjStartNfaWithStates_5(4, 31, 10);
  +         if ((active0 & 0x2000000000000L) != 0L)
  +            return jjStartNfaWithStates_4(6, 49, 14);
            break;
         default :
            break;
      }
  -   return jjStartNfa_5(3, active0, 0L);
  +   return jjStartNfa_4(5, active0);
   }
  -private final int jjMoveNfa_5(int startState, int curPos)
  +private final int jjMoveNfa_4(int startState, int curPos)
   {
      int[] nextStates;
      int startsAt = 0;
  -   jjnewStateCnt = 14;
  +   jjnewStateCnt = 16;
      int i = 1;
      jjstateSet[0] = startState;
      int j, kind = 0x7fffffff;
  @@ -1079,10 +1162,12 @@
               switch(jjstateSet[--i])
               {
                  case 4:
  -                  if (curChar == 46)
  -                     jjstateSet[jjnewStateCnt++] = 12;
  -                  else if (curChar == 34)
  -                     jjCheckNAddTwoStates(7, 8);
  +                  if ((0x3ff000000000000L & l) != 0L)
  +                  {
  +                     if (kind > 55)
  +                        kind = 55;
  +                     jjCheckNAdd(13);
  +                  }
                     else if (curChar == 35)
                     {
                        if (kind > 20)
  @@ -1116,28 +1201,28 @@
                     if (curChar == 35 && kind > 20)
                        kind = 20;
                     break;
  -               case 6:
  -                  if (curChar == 34)
  -                     jjCheckNAddTwoStates(7, 8);
  -                  break;
                  case 7:
  -                  if ((0xfffffffbffffdbffL & l) != 0L)
  -                     jjCheckNAddTwoStates(7, 8);
  +                  if ((0x100000200L & l) != 0L)
  +                     jjAddStates(9, 11);
                     break;
                  case 8:
  -                  if (curChar == 34 && kind > 29)
  -                     kind = 29;
  +                  if ((0x2400L & l) != 0L && kind > 48)
  +                     kind = 48;
  +                  break;
  +               case 9:
  +                  if (curChar == 10 && kind > 48)
  +                     kind = 48;
                     break;
                  case 10:
  -                  if ((0x3ff200000000000L & l) == 0L)
  -                     break;
  -                  if (kind > 61)
  -                     kind = 61;
  -                  jjstateSet[jjnewStateCnt++] = 10;
  +                  if (curChar == 13)
  +                     jjstateSet[jjnewStateCnt++] = 9;
                     break;
  -               case 11:
  -                  if (curChar == 46)
  -                     jjstateSet[jjnewStateCnt++] = 12;
  +               case 13:
  +                  if ((0x3ff000000000000L & l) == 0L)
  +                     break;
  +                  if (kind > 55)
  +                     kind = 55;
  +                  jjCheckNAdd(13);
                     break;
                  default : break;
               }
  @@ -1150,42 +1235,51 @@
            {
               switch(jjstateSet[--i])
               {
  +               case 11:
  +                  if ((0x7fffffe07fffffeL & l) != 0L)
  +                  {
  +                     if (kind > 57)
  +                        kind = 57;
  +                     jjCheckNAdd(14);
  +                  }
  +                  if (curChar == 110)
  +                     jjstateSet[jjnewStateCnt++] = 6;
  +                  break;
                  case 4:
                     if ((0x7fffffe07fffffeL & l) != 0L)
                     {
  -                     if (kind > 61)
  -                        kind = 61;
  -                     jjCheckNAdd(10);
  +                     if (kind > 57)
  +                        kind = 57;
  +                     jjCheckNAdd(14);
                     }
                     else if (curChar == 92)
                        jjAddStates(7, 8);
  +                  if (curChar == 101)
  +                     jjstateSet[jjnewStateCnt++] = 11;
                     break;
                  case 2:
                     if (kind > 18)
                        kind = 18;
  -                  break;
  -               case 7:
  -                  jjAddStates(9, 10);
  -                  break;
  -               case 9:
  -                  if ((0x7fffffe07fffffeL & l) == 0L)
  -                     break;
  -                  if (kind > 61)
  -                     kind = 61;
  -                  jjCheckNAdd(10);
                     break;
  -               case 10:
  -                  if ((0x7fffffe87fffffeL & l) == 0L)
  +               case 6:
  +                  if (curChar != 100)
                        break;
  -                  if (kind > 61)
  -                     kind = 61;
  -                  jjCheckNAdd(10);
  +                  if (kind > 48)
  +                     kind = 48;
  +                  jjAddStates(9, 11);
                     break;
                  case 12:
  -                  if ((0x7fffffe07fffffeL & l) != 0L && kind > 62)
  -                     kind = 62;
  +                  if (curChar == 101)
  +                     jjstateSet[jjnewStateCnt++] = 11;
                     break;
  -               case 13:
  +               case 14:
  +                  if ((0x7fffffe07fffffeL & l) == 0L)
  +                     break;
  +                  if (kind > 57)
  +                     kind = 57;
  +                  jjCheckNAdd(14);
  +                  break;
  +               case 15:
                     if (curChar == 92)
                        jjAddStates(7, 8);
                     break;
  @@ -1205,10 +1299,6 @@
                     if ((jjbitVec0[i2] & l2) != 0L && kind > 18)
                        kind = 18;
                     break;
  -               case 7:
  -                  if ((jjbitVec0[i2] & l2) != 0L)
  -                     jjAddStates(9, 10);
  -                  break;
                  default : break;
               }
            } while(i != startsAt);
  @@ -1220,34 +1310,37 @@
            kind = 0x7fffffff;
         }
         ++curPos;
  -      if ((i = jjnewStateCnt) == (startsAt = 14 - (jjnewStateCnt = startsAt)))
  +      if ((i = jjnewStateCnt) == (startsAt = 16 - (jjnewStateCnt = startsAt)))
            return curPos;
         try { curChar = input_stream.readChar(); }
         catch(java.io.IOException e) { return curPos; }
      }
   }
  -private final int jjStopStringLiteralDfa_1(int pos, long active0, long active1)
  +private final int jjStopStringLiteralDfa_3(int pos, long active0)
   {
      switch (pos)
      {
         case 0:
  +         if ((active0 & 0x203f80L) != 0L)
  +            return 13;
            if ((active0 & 0x10000L) != 0L)
            {
               jjmatchedKind = 15;
               return -1;
            }
  -         if ((active0 & 0xc0000000L) != 0L)
  -         {
  -            jjmatchedKind = 61;
  -            return 10;
  -         }
            if ((active0 & 0xa0000L) != 0L)
            {
               jjmatchedKind = 20;
  -            return 3;
  +            return 11;
            }
            return -1;
         case 1:
  +         if ((active0 & 0x3f80L) != 0L)
  +         {
  +            jjmatchedKind = 20;
  +            jjmatchedPos = 1;
  +            return -1;
  +         }
            if ((active0 & 0x10000L) != 0L)
            {
               if (jjmatchedPos == 0)
  @@ -1258,79 +1351,110 @@
               return -1;
            }
            if ((active0 & 0x80000L) != 0L)
  -            return 1;
  -         if ((active0 & 0xc0000000L) != 0L)
  -         {
  -            jjmatchedKind = 61;
  -            jjmatchedPos = 1;
  -            return 10;
  -         }
  +            return 9;
            return -1;
         case 2:
  -         if ((active0 & 0xc0000000L) != 0L)
  +         if ((active0 & 0x3f80L) != 0L)
            {
  -            jjmatchedKind = 61;
  -            jjmatchedPos = 2;
  -            return 10;
  +            if (jjmatchedPos < 1)
  +            {
  +               jjmatchedKind = 20;
  +               jjmatchedPos = 1;
  +            }
  +            return -1;
            }
            return -1;
         case 3:
  -         if ((active0 & 0x40000000L) != 0L)
  -            return 10;
  -         if ((active0 & 0x80000000L) != 0L)
  +         if ((active0 & 0x3f80L) != 0L)
            {
  -            jjmatchedKind = 61;
  -            jjmatchedPos = 3;
  -            return 10;
  +            if (jjmatchedPos < 1)
  +            {
  +               jjmatchedKind = 20;
  +               jjmatchedPos = 1;
  +            }
  +            return -1;
  +         }
  +         return -1;
  +      case 4:
  +         if ((active0 & 0x3e80L) != 0L)
  +         {
  +            if (jjmatchedPos < 1)
  +            {
  +               jjmatchedKind = 20;
  +               jjmatchedPos = 1;
  +            }
  +            return -1;
  +         }
  +         return -1;
  +      case 5:
  +         if ((active0 & 0x3c00L) != 0L)
  +         {
  +            if (jjmatchedPos < 1)
  +            {
  +               jjmatchedKind = 20;
  +               jjmatchedPos = 1;
  +            }
  +            return -1;
  +         }
  +         return -1;
  +      case 6:
  +         if ((active0 & 0xc00L) != 0L)
  +         {
  +            if (jjmatchedPos < 1)
  +            {
  +               jjmatchedKind = 20;
  +               jjmatchedPos = 1;
  +            }
  +            return -1;
  +         }
  +         return -1;
  +      case 7:
  +         if ((active0 & 0xc00L) != 0L)
  +         {
  +            if (jjmatchedPos < 1)
  +            {
  +               jjmatchedKind = 20;
  +               jjmatchedPos = 1;
  +            }
  +            return -1;
            }
            return -1;
         default :
            return -1;
      }
   }
  -private final int jjStartNfa_1(int pos, long active0, long active1)
  +private final int jjStartNfa_3(int pos, long active0)
   {
  -   return jjMoveNfa_1(jjStopStringLiteralDfa_1(pos, active0, active1), pos + 1);
  +   return jjMoveNfa_3(jjStopStringLiteralDfa_3(pos, active0), pos + 1);
   }
  -private final int jjStartNfaWithStates_1(int pos, int kind, int state)
  +private final int jjStartNfaWithStates_3(int pos, int kind, int state)
   {
      jjmatchedKind = kind;
      jjmatchedPos = pos;
      try { curChar = input_stream.readChar(); }
      catch(java.io.IOException e) { return pos + 1; }
  -   return jjMoveNfa_1(state, pos + 1);
  +   return jjMoveNfa_3(state, pos + 1);
   }
  -private final int jjMoveStringLiteralDfa0_1()
  +private final int jjMoveStringLiteralDfa0_3()
   {
      switch(curChar)
      {
         case 35:
  -         return jjMoveStringLiteralDfa1_1(0xa0000L);
  +         return jjMoveStringLiteralDfa1_3(0xa0000L);
         case 36:
  -         return jjMoveStringLiteralDfa1_1(0x10000L);
  -      case 40:
  -         return jjStopAtPos(0, 4);
  -      case 91:
  -         return jjStopAtPos(0, 1);
  -      case 93:
  -         return jjStopAtPos(0, 2);
  -      case 102:
  -         return jjMoveStringLiteralDfa1_1(0x80000000L);
  -      case 116:
  -         return jjMoveStringLiteralDfa1_1(0x40000000L);
  -      case 123:
  -         return jjStopAtPos(0, 63);
  -      case 125:
  -         return jjStopAtPos(0, 64);
  +         return jjMoveStringLiteralDfa1_3(0x10000L);
  +      case 92:
  +         jjmatchedKind = 21;
  +         return jjMoveStringLiteralDfa1_3(0x3f80L);
         default :
  -         return jjMoveNfa_1(4, 0);
  +         return jjMoveNfa_3(8, 0);
      }
   }
  -private final int jjMoveStringLiteralDfa1_1(long active0)
  +private final int jjMoveStringLiteralDfa1_3(long active0)
   {
      try { curChar = input_stream.readChar(); }
      catch(java.io.IOException e) {
  -      jjStopStringLiteralDfa_1(0, active0, 0L);
  +      jjStopStringLiteralDfa_3(0, active0);
         return 1;
      }
      switch(curChar)
  @@ -1342,87 +1466,192 @@
         case 35:
            if ((active0 & 0x20000L) != 0L)
               return jjStopAtPos(1, 17);
  -         break;
  +         return jjMoveStringLiteralDfa2_3(active0, 0x3f80L);
         case 42:
            if ((active0 & 0x80000L) != 0L)
  -            return jjStartNfaWithStates_1(1, 19, 1);
  +            return jjStartNfaWithStates_3(1, 19, 9);
            break;
  -      case 97:
  -         return jjMoveStringLiteralDfa2_1(active0, 0x80000000L);
  -      case 114:
  -         return jjMoveStringLiteralDfa2_1(active0, 0x40000000L);
         default :
            break;
      }
  -   return jjStartNfa_1(0, active0, 0L);
  +   return jjStartNfa_3(0, active0);
   }
  -private final int jjMoveStringLiteralDfa2_1(long old0, long active0)
  +private final int jjMoveStringLiteralDfa2_3(long old0, long active0)
   {
      if (((active0 &= old0)) == 0L)
  -      return jjStartNfa_1(0, old0, 0L);
  +      return jjStartNfa_3(0, old0); 
      try { curChar = input_stream.readChar(); }
      catch(java.io.IOException e) {
  -      jjStopStringLiteralDfa_1(1, active0, 0L);
  +      jjStopStringLiteralDfa_3(1, active0);
         return 2;
      }
      switch(curChar)
      {
  -      case 108:
  -         return jjMoveStringLiteralDfa3_1(active0, 0x80000000L);
  -      case 117:
  -         return jjMoveStringLiteralDfa3_1(active0, 0x40000000L);
  +      case 101:
  +         return jjMoveStringLiteralDfa3_3(active0, 0x1a00L);
  +      case 105:
  +         return jjMoveStringLiteralDfa3_3(active0, 0x500L);
  +      case 115:
  +         return jjMoveStringLiteralDfa3_3(active0, 0x2080L);
         default :
            break;
      }
  -   return jjStartNfa_1(1, active0, 0L);
  +   return jjStartNfa_3(1, active0);
   }
  -private final int jjMoveStringLiteralDfa3_1(long old0, long active0)
  +private final int jjMoveStringLiteralDfa3_3(long old0, long active0)
   {
      if (((active0 &= old0)) == 0L)
  -      return jjStartNfa_1(1, old0, 0L);
  +      return jjStartNfa_3(1, old0); 
      try { curChar = input_stream.readChar(); }
      catch(java.io.IOException e) {
  -      jjStopStringLiteralDfa_1(2, active0, 0L);
  +      jjStopStringLiteralDfa_3(2, active0);
         return 3;
      }
      switch(curChar)
      {
         case 101:
  -         if ((active0 & 0x40000000L) != 0L)
  -            return jjStartNfaWithStates_1(3, 30, 10);
  +         return jjMoveStringLiteralDfa4_3(active0, 0x80L);
  +      case 102:
  +         if ((active0 & 0x100L) != 0L)
  +            return jjStopAtPos(3, 8);
            break;
  -      case 115:
  -         return jjMoveStringLiteralDfa4_1(active0, 0x80000000L);
  +      case 108:
  +         return jjMoveStringLiteralDfa4_3(active0, 0x1800L);
  +      case 110:
  +         return jjMoveStringLiteralDfa4_3(active0, 0x600L);
  +      case 116:
  +         return jjMoveStringLiteralDfa4_3(active0, 0x2000L);
         default :
            break;
      }
  -   return jjStartNfa_1(2, active0, 0L);
  +   return jjStartNfa_3(2, active0);
   }
  -private final int jjMoveStringLiteralDfa4_1(long old0, long active0)
  +private final int jjMoveStringLiteralDfa4_3(long old0, long active0)
   {
      if (((active0 &= old0)) == 0L)
  -      return jjStartNfa_1(2, old0, 0L);
  +      return jjStartNfa_3(2, old0); 
      try { curChar = input_stream.readChar(); }
      catch(java.io.IOException e) {
  -      jjStopStringLiteralDfa_1(3, active0, 0L);
  +      jjStopStringLiteralDfa_3(3, active0);
         return 4;
      }
      switch(curChar)
      {
  +      case 99:
  +         return jjMoveStringLiteralDfa5_3(active0, 0x400L);
  +      case 100:
  +         if ((active0 & 0x200L) != 0L)
  +            return jjStopAtPos(4, 9);
  +         break;
  +      case 111:
  +         return jjMoveStringLiteralDfa5_3(active0, 0x2000L);
  +      case 115:
  +         return jjMoveStringLiteralDfa5_3(active0, 0x1800L);
  +      case 116:
  +         if ((active0 & 0x80L) != 0L)
  +            return jjStopAtPos(4, 7);
  +         break;
  +      default :
  +         break;
  +   }
  +   return jjStartNfa_3(3, active0);
  +}
  +private final int jjMoveStringLiteralDfa5_3(long old0, long active0)
  +{
  +   if (((active0 &= old0)) == 0L)
  +      return jjStartNfa_3(3, old0); 
  +   try { curChar = input_stream.readChar(); }
  +   catch(java.io.IOException e) {
  +      jjStopStringLiteralDfa_3(4, active0);
  +      return 5;
  +   }
  +   switch(curChar)
  +   {
         case 101:
  -         if ((active0 & 0x80000000L) != 0L)
  -            return jjStartNfaWithStates_1(4, 31, 10);
  +         if ((active0 & 0x1000L) != 0L)
  +         {
  +            jjmatchedKind = 12;
  +            jjmatchedPos = 5;
  +         }
  +         return jjMoveStringLiteralDfa6_3(active0, 0x800L);
  +      case 108:
  +         return jjMoveStringLiteralDfa6_3(active0, 0x400L);
  +      case 112:
  +         if ((active0 & 0x2000L) != 0L)
  +            return jjStopAtPos(5, 13);
            break;
         default :
            break;
      }
  -   return jjStartNfa_1(3, active0, 0L);
  +   return jjStartNfa_3(4, active0);
   }
  -private final int jjMoveNfa_1(int startState, int curPos)
  +private final int jjMoveStringLiteralDfa6_3(long old0, long active0)
  +{
  +   if (((active0 &= old0)) == 0L)
  +      return jjStartNfa_3(4, old0); 
  +   try { curChar = input_stream.readChar(); }
  +   catch(java.io.IOException e) {
  +      jjStopStringLiteralDfa_3(5, active0);
  +      return 6;
  +   }
  +   switch(curChar)
  +   {
  +      case 105:
  +         return jjMoveStringLiteralDfa7_3(active0, 0x800L);
  +      case 117:
  +         return jjMoveStringLiteralDfa7_3(active0, 0x400L);
  +      default :
  +         break;
  +   }
  +   return jjStartNfa_3(5, active0);
  +}
  +private final int jjMoveStringLiteralDfa7_3(long old0, long active0)
  +{
  +   if (((active0 &= old0)) == 0L)
  +      return jjStartNfa_3(5, old0); 
  +   try { curChar = input_stream.readChar(); }
  +   catch(java.io.IOException e) {
  +      jjStopStringLiteralDfa_3(6, active0);
  +      return 7;
  +   }
  +   switch(curChar)
  +   {
  +      case 100:
  +         return jjMoveStringLiteralDfa8_3(active0, 0x400L);
  +      case 102:
  +         if ((active0 & 0x800L) != 0L)
  +            return jjStopAtPos(7, 11);
  +         break;
  +      default :
  +         break;
  +   }
  +   return jjStartNfa_3(6, active0);
  +}
  +private final int jjMoveStringLiteralDfa8_3(long old0, long active0)
  +{
  +   if (((active0 &= old0)) == 0L)
  +      return jjStartNfa_3(6, old0); 
  +   try { curChar = input_stream.readChar(); }
  +   catch(java.io.IOException e) {
  +      jjStopStringLiteralDfa_3(7, active0);
  +      return 8;
  +   }
  +   switch(curChar)
  +   {
  +      case 101:
  +         if ((active0 & 0x400L) != 0L)
  +            return jjStopAtPos(8, 10);
  +         break;
  +      default :
  +         break;
  +   }
  +   return jjStartNfa_3(7, active0);
  +}
  +private final int jjMoveNfa_3(int startState, int curPos)
   {
      int[] nextStates;
      int startsAt = 0;
  -   jjnewStateCnt = 14;
  +   jjnewStateCnt = 13;
      int i = 1;
      jjstateSet[0] = startState;
      int j, kind = 0x7fffffff;
  @@ -1437,66 +1666,74 @@
            {
               switch(jjstateSet[--i])
               {
  -               case 4:
  -                  if (curChar == 46)
  -                     jjstateSet[jjnewStateCnt++] = 12;
  -                  else if (curChar == 34)
  -                     jjCheckNAddTwoStates(7, 8);
  +               case 11:
  +                  if (curChar == 42)
  +                     jjstateSet[jjnewStateCnt++] = 9;
  +                  break;
  +               case 8:
  +                  if ((0xffffffe7ffffffffL & l) != 0L)
  +                  {
  +                     if (kind > 22)
  +                        kind = 22;
  +                     jjCheckNAdd(7);
  +                  }
  +                  else if (curChar == 35)
  +                     jjCheckNAddTwoStates(3, 11);
  +                  else if (curChar == 36)
  +                  {
  +                     if (kind > 15)
  +                        kind = 15;
  +                  }
  +                  if ((0x100000200L & l) != 0L)
  +                     jjCheckNAddTwoStates(0, 4);
                     else if (curChar == 35)
                     {
                        if (kind > 20)
                           kind = 20;
                     }
  +                  break;
  +               case 13:
  +                  if (curChar == 35)
  +                  {
  +                     if (kind > 20)
  +                        kind = 20;
  +                  }
                     else if (curChar == 36)
                     {
                        if (kind > 15)
                           kind = 15;
                     }
  -                  if (curChar == 35)
  -                     jjstateSet[jjnewStateCnt++] = 3;
                     break;
                  case 0:
  -                  if (curChar == 36 && kind > 15)
  -                     kind = 15;
  -                  break;
  -               case 1:
  -                  if (curChar == 42)
  -                     jjstateSet[jjnewStateCnt++] = 2;
  -                  break;
  -               case 2:
  -                  if ((0xfffffff7ffffffffL & l) != 0L && kind > 18)
  -                     kind = 18;
  +                  if ((0x100000200L & l) != 0L)
  +                     jjCheckNAddTwoStates(0, 4);
                     break;
  -               case 3:
  -                  if (curChar == 42)
  -                     jjstateSet[jjnewStateCnt++] = 1;
  +               case 4:
  +                  if (curChar == 35)
  +                     jjCheckNAdd(3);
                     break;
                  case 5:
  -                  if (curChar == 35 && kind > 20)
  -                     kind = 20;
  +                  if (curChar == 36 && kind > 15)
  +                     kind = 15;
                     break;
                  case 6:
  -                  if (curChar == 34)
  -                     jjCheckNAddTwoStates(7, 8);
  +                  if (curChar == 35 && kind > 20)
  +                     kind = 20;
                     break;
                  case 7:
  -                  if ((0xfffffffbffffdbffL & l) != 0L)
  -                     jjCheckNAddTwoStates(7, 8);
  +                  if ((0xffffffe7ffffffffL & l) == 0L)
  +                     break;
  +                  if (kind > 22)
  +                     kind = 22;
  +                  jjCheckNAdd(7);
                     break;
  -               case 8:
  -                  if (curChar == 34 && kind > 29)
  -                     kind = 29;
  +               case 9:
  +                  if (curChar == 42)
  +                     jjstateSet[jjnewStateCnt++] = 10;
                     break;
                  case 10:
  -                  if ((0x3ff200000000000L & l) == 0L)
  -                     break;
  -                  if (kind > 61)
  -                     kind = 61;
  -                  jjstateSet[jjnewStateCnt++] = 10;
  -                  break;
  -               case 11:
  -                  if (curChar == 46)
  -                     jjstateSet[jjnewStateCnt++] = 12;
  +                  if ((0xfffffff7ffffffffL & l) != 0L && kind > 18)
  +                     kind = 18;
                     break;
                  default : break;
               }
  @@ -1509,44 +1746,43 @@
            {
               switch(jjstateSet[--i])
               {
  -               case 4:
  -                  if ((0x7fffffe07fffffeL & l) != 0L)
  +               case 11:
  +               case 3:
  +                  if (curChar == 115)
  +                     jjstateSet[jjnewStateCnt++] = 2;
  +                  break;
  +               case 8:
  +                  if ((0xffffffffefffffffL & l) != 0L)
                     {
  -                     if (kind > 61)
  -                        kind = 61;
  -                     jjCheckNAdd(10);
  +                     if (kind > 22)
  +                        kind = 22;
  +                     jjCheckNAdd(7);
                     }
                     else if (curChar == 92)
  -                     jjAddStates(7, 8);
  +                     jjAddStates(12, 13);
  +                  break;
  +               case 1:
  +                  if (curChar == 116 && kind > 14)
  +                     kind = 14;
                     break;
                  case 2:
  -                  if (kind > 18)
  -                     kind = 18;
  +                  if (curChar == 101)
  +                     jjstateSet[jjnewStateCnt++] = 1;
                     break;
                  case 7:
  -                  jjAddStates(9, 10);
  -                  break;
  -               case 9:
  -                  if ((0x7fffffe07fffffeL & l) == 0L)
  +                  if ((0xffffffffefffffffL & l) == 0L)
                        break;
  -                  if (kind > 61)
  -                     kind = 61;
  -                  jjCheckNAdd(10);
  +                  if (kind > 22)
  +                     kind = 22;
  +                  jjCheckNAdd(7);
                     break;
                  case 10:
  -                  if ((0x7fffffe87fffffeL & l) == 0L)
  -                     break;
  -                  if (kind > 61)
  -                     kind = 61;
  -                  jjCheckNAdd(10);
  +                  if (kind > 18)
  +                     kind = 18;
                     break;
                  case 12:
  -                  if ((0x7fffffe07fffffeL & l) != 0L && kind > 62)
  -                     kind = 62;
  -                  break;
  -               case 13:
                     if (curChar == 92)
  -                     jjAddStates(7, 8);
  +                     jjAddStates(12, 13);
                     break;
                  default : break;
               }
  @@ -1560,14 +1796,18 @@
            {
               switch(jjstateSet[--i])
               {
  -               case 2:
  +               case 8:
  +               case 7:
  +                  if ((jjbitVec0[i2] & l2) == 0L)
  +                     break;
  +                  if (kind > 22)
  +                     kind = 22;
  +                  jjCheckNAdd(7);
  +                  break;
  +               case 10:
                     if ((jjbitVec0[i2] & l2) != 0L && kind > 18)
                        kind = 18;
                     break;
  -               case 7:
  -                  if ((jjbitVec0[i2] & l2) != 0L)
  -                     jjAddStates(9, 10);
  -                  break;
                  default : break;
               }
            } while(i != startsAt);
  @@ -1579,7 +1819,7 @@
            kind = 0x7fffffff;
         }
         ++curPos;
  -      if ((i = jjnewStateCnt) == (startsAt = 14 - (jjnewStateCnt = startsAt)))
  +      if ((i = jjnewStateCnt) == (startsAt = 13 - (jjnewStateCnt = startsAt)))
            return curPos;
         try { curChar = input_stream.readChar(); }
         catch(java.io.IOException e) { return curPos; }
  @@ -1590,16 +1830,16 @@
      switch (pos)
      {
         case 0:
  -         if ((active0 & 0x10000L) != 0L)
  -         {
  -            jjmatchedKind = 15;
  -            return -1;
  -         }
            if ((active0 & 0xa0000L) != 0L)
            {
               jjmatchedKind = 20;
               return 3;
            }
  +         if ((active0 & 0x10000L) != 0L)
  +         {
  +            jjmatchedKind = 15;
  +            return -1;
  +         }
            return -1;
         default :
            return -1;
  @@ -1764,16 +2004,205 @@
         catch(java.io.IOException e) { return curPos; }
      }
   }
  -private final int jjStopStringLiteralDfa_2(int pos, long active0, long active1)
  +private final int jjStopStringLiteralDfa_8(int pos, long active0)
   {
      switch (pos)
      {
         case 0:
  +         if ((active0 & 0xa0000L) != 0L)
  +         {
  +            jjmatchedKind = 20;
  +            return 3;
  +         }
            if ((active0 & 0x10000L) != 0L)
            {
               jjmatchedKind = 15;
               return -1;
            }
  +         return -1;
  +      default :
  +         return -1;
  +   }
  +}
  +private final int jjStartNfa_8(int pos, long active0)
  +{
  +   return jjMoveNfa_8(jjStopStringLiteralDfa_8(pos, active0), pos + 1);
  +}
  +private final int jjStartNfaWithStates_8(int pos, int kind, int state)
  +{
  +   jjmatchedKind = kind;
  +   jjmatchedPos = pos;
  +   try { curChar = input_stream.readChar(); }
  +   catch(java.io.IOException e) { return pos + 1; }
  +   return jjMoveNfa_8(state, pos + 1);
  +}
  +private final int jjMoveStringLiteralDfa0_8()
  +{
  +   switch(curChar)
  +   {
  +      case 35:
  +         return jjMoveStringLiteralDfa1_8(0xa0000L);
  +      case 36:
  +         return jjMoveStringLiteralDfa1_8(0x10000L);
  +      default :
  +         return jjMoveNfa_8(4, 0);
  +   }
  +}
  +private final int jjMoveStringLiteralDfa1_8(long active0)
  +{
  +   try { curChar = input_stream.readChar(); }
  +   catch(java.io.IOException e) {
  +      jjStopStringLiteralDfa_8(0, active0);
  +      return 1;
  +   }
  +   switch(curChar)
  +   {
  +      case 33:
  +         if ((active0 & 0x10000L) != 0L)
  +            return jjStopAtPos(1, 16);
  +         break;
  +      case 35:
  +         if ((active0 & 0x20000L) != 0L)
  +            return jjStopAtPos(1, 17);
  +         break;
  +      case 42:
  +         if ((active0 & 0x80000L) != 0L)
  +            return jjStartNfaWithStates_8(1, 19, 1);
  +         break;
  +      default :
  +         break;
  +   }
  +   return jjStartNfa_8(0, active0);
  +}
  +private final int jjMoveNfa_8(int startState, int curPos)
  +{
  +   int[] nextStates;
  +   int startsAt = 0;
  +   jjnewStateCnt = 10;
  +   int i = 1;
  +   jjstateSet[0] = startState;
  +   int j, kind = 0x7fffffff;
  +   for (;;)
  +   {
  +      if (++jjround == 0x7fffffff)
  +         ReInitRounds();
  +      if (curChar < 64)
  +      {
  +         long l = 1L << curChar;
  +         MatchLoop: do
  +         {
  +            switch(jjstateSet[--i])
  +            {
  +               case 4:
  +                  if ((0x2400L & l) != 0L)
  +                  {
  +                     if (kind > 23)
  +                        kind = 23;
  +                  }
  +                  else if (curChar == 35)
  +                  {
  +                     if (kind > 20)
  +                        kind = 20;
  +                  }
  +                  else if (curChar == 36)
  +                  {
  +                     if (kind > 15)
  +                        kind = 15;
  +                  }
  +                  if (curChar == 13)
  +                     jjstateSet[jjnewStateCnt++] = 7;
  +                  else if (curChar == 35)
  +                     jjstateSet[jjnewStateCnt++] = 3;
  +                  break;
  +               case 0:
  +                  if (curChar == 36 && kind > 15)
  +                     kind = 15;
  +                  break;
  +               case 1:
  +                  if (curChar == 42)
  +                     jjstateSet[jjnewStateCnt++] = 2;
  +                  break;
  +               case 2:
  +                  if ((0xfffffff7ffffffffL & l) != 0L && kind > 18)
  +                     kind = 18;
  +                  break;
  +               case 3:
  +                  if (curChar == 42)
  +                     jjstateSet[jjnewStateCnt++] = 1;
  +                  break;
  +               case 5:
  +                  if (curChar == 35 && kind > 20)
  +                     kind = 20;
  +                  break;
  +               case 6:
  +                  if ((0x2400L & l) != 0L && kind > 23)
  +                     kind = 23;
  +                  break;
  +               case 7:
  +                  if (curChar == 10 && kind > 23)
  +                     kind = 23;
  +                  break;
  +               case 8:
  +                  if (curChar == 13)
  +                     jjstateSet[jjnewStateCnt++] = 7;
  +                  break;
  +               default : break;
  +            }
  +         } while(i != startsAt);
  +      }
  +      else if (curChar < 128)
  +      {
  +         long l = 1L << (curChar & 077);
  +         MatchLoop: do
  +         {
  +            switch(jjstateSet[--i])
  +            {
  +               case 4:
  +                  if (curChar == 92)
  +                     jjAddStates(7, 8);
  +                  break;
  +               case 2:
  +                  if (kind > 18)
  +                     kind = 18;
  +                  break;
  +               default : break;
  +            }
  +         } while(i != startsAt);
  +      }
  +      else
  +      {
  +         int i2 = (curChar & 0xff) >> 6;
  +         long l2 = 1L << (curChar & 077);
  +         MatchLoop: do
  +         {
  +            switch(jjstateSet[--i])
  +            {
  +               case 2:
  +                  if ((jjbitVec0[i2] & l2) != 0L && kind > 18)
  +                     kind = 18;
  +                  break;
  +               default : break;
  +            }
  +         } while(i != startsAt);
  +      }
  +      if (kind != 0x7fffffff)
  +      {
  +         jjmatchedKind = kind;
  +         jjmatchedPos = curPos;
  +         kind = 0x7fffffff;
  +      }
  +      ++curPos;
  +      if ((i = jjnewStateCnt) == (startsAt = 10 - (jjnewStateCnt = startsAt)))
  +         return curPos;
  +      try { curChar = input_stream.readChar(); }
  +      catch(java.io.IOException e) { return curPos; }
  +   }
  +}
  +private final int jjStopStringLiteralDfa_5(int pos, long active0, long active1)
  +{
  +   switch (pos)
  +   {
  +      case 0:
            if ((active0 & 0xc0000000L) != 0L)
            {
               jjmatchedKind = 61;
  @@ -1784,6 +2213,11 @@
               jjmatchedKind = 20;
               return 3;
            }
  +         if ((active0 & 0x10000L) != 0L)
  +         {
  +            jjmatchedKind = 15;
  +            return -1;
  +         }
            return -1;
         case 1:
            if ((active0 & 0x10000L) != 0L)
  @@ -1826,51 +2260,43 @@
            return -1;
      }
   }
  -private final int jjStartNfa_2(int pos, long active0, long active1)
  +private final int jjStartNfa_5(int pos, long active0, long active1)
   {
  -   return jjMoveNfa_2(jjStopStringLiteralDfa_2(pos, active0, active1), pos + 1);
  +   return jjMoveNfa_5(jjStopStringLiteralDfa_5(pos, active0, active1), pos + 1);
   }
  -private final int jjStartNfaWithStates_2(int pos, int kind, int state)
  +private final int jjStartNfaWithStates_5(int pos, int kind, int state)
   {
      jjmatchedKind = kind;
      jjmatchedPos = pos;
      try { curChar = input_stream.readChar(); }
      catch(java.io.IOException e) { return pos + 1; }
  -   return jjMoveNfa_2(state, pos + 1);
  +   return jjMoveNfa_5(state, pos + 1);
   }
  -private final int jjMoveStringLiteralDfa0_2()
  +private final int jjMoveStringLiteralDfa0_5()
   {
      switch(curChar)
      {
         case 35:
  -         return jjMoveStringLiteralDfa1_2(0xa0000L);
  +         return jjMoveStringLiteralDfa1_5(0xa0000L);
         case 36:
  -         return jjMoveStringLiteralDfa1_2(0x10000L);
  -      case 41:
  -         return jjStopAtPos(0, 6);
  -      case 44:
  -         return jjStopAtPos(0, 3);
  -      case 91:
  -         return jjStopAtPos(0, 1);
  -      case 93:
  -         return jjStopAtPos(0, 2);
  +         return jjMoveStringLiteralDfa1_5(0x10000L);
         case 102:
  -         return jjMoveStringLiteralDfa1_2(0x80000000L);
  +         return jjMoveStringLiteralDfa1_5(0x80000000L);
         case 116:
  -         return jjMoveStringLiteralDfa1_2(0x40000000L);
  +         return jjMoveStringLiteralDfa1_5(0x40000000L);
         case 123:
            return jjStopAtPos(0, 63);
         case 125:
            return jjStopAtPos(0, 64);
         default :
  -         return jjMoveNfa_2(4, 0);
  +         return jjMoveNfa_5(4, 0);
      }
   }
  -private final int jjMoveStringLiteralDfa1_2(long active0)
  +private final int jjMoveStringLiteralDfa1_5(long active0)
   {
      try { curChar = input_stream.readChar(); }
      catch(java.io.IOException e) {
  -      jjStopStringLiteralDfa_2(0, active0, 0L);
  +      jjStopStringLiteralDfa_5(0, active0, 0L);
         return 1;
      }
      switch(curChar)
  @@ -1885,80 +2311,80 @@
            break;
         case 42:
            if ((active0 & 0x80000L) != 0L)
  -            return jjStartNfaWithStates_2(1, 19, 1);
  +            return jjStartNfaWithStates_5(1, 19, 1);
            break;
         case 97:
  -         return jjMoveStringLiteralDfa2_2(active0, 0x80000000L);
  +         return jjMoveStringLiteralDfa2_5(active0, 0x80000000L);
         case 114:
  -         return jjMoveStringLiteralDfa2_2(active0, 0x40000000L);
  +         return jjMoveStringLiteralDfa2_5(active0, 0x40000000L);
         default :
            break;
      }
  -   return jjStartNfa_2(0, active0, 0L);
  +   return jjStartNfa_5(0, active0, 0L);
   }
  -private final int jjMoveStringLiteralDfa2_2(long old0, long active0)
  +private final int jjMoveStringLiteralDfa2_5(long old0, long active0)
   {
      if (((active0 &= old0)) == 0L)
  -      return jjStartNfa_2(0, old0, 0L);
  +      return jjStartNfa_5(0, old0, 0L);
      try { curChar = input_stream.readChar(); }
      catch(java.io.IOException e) {
  -      jjStopStringLiteralDfa_2(1, active0, 0L);
  +      jjStopStringLiteralDfa_5(1, active0, 0L);
         return 2;
      }
      switch(curChar)
      {
         case 108:
  -         return jjMoveStringLiteralDfa3_2(active0, 0x80000000L);
  +         return jjMoveStringLiteralDfa3_5(active0, 0x80000000L);
         case 117:
  -         return jjMoveStringLiteralDfa3_2(active0, 0x40000000L);
  +         return jjMoveStringLiteralDfa3_5(active0, 0x40000000L);
         default :
            break;
      }
  -   return jjStartNfa_2(1, active0, 0L);
  +   return jjStartNfa_5(1, active0, 0L);
   }
  -private final int jjMoveStringLiteralDfa3_2(long old0, long active0)
  +private final int jjMoveStringLiteralDfa3_5(long old0, long active0)
   {
      if (((active0 &= old0)) == 0L)
  -      return jjStartNfa_2(1, old0, 0L);
  +      return jjStartNfa_5(1, old0, 0L);
      try { curChar = input_stream.readChar(); }
      catch(java.io.IOException e) {
  -      jjStopStringLiteralDfa_2(2, active0, 0L);
  +      jjStopStringLiteralDfa_5(2, active0, 0L);
         return 3;
      }
      switch(curChar)
      {
         case 101:
            if ((active0 & 0x40000000L) != 0L)
  -            return jjStartNfaWithStates_2(3, 30, 10);
  +            return jjStartNfaWithStates_5(3, 30, 10);
            break;
         case 115:
  -         return jjMoveStringLiteralDfa4_2(active0, 0x80000000L);
  +         return jjMoveStringLiteralDfa4_5(active0, 0x80000000L);
         default :
            break;
      }
  -   return jjStartNfa_2(2, active0, 0L);
  +   return jjStartNfa_5(2, active0, 0L);
   }
  -private final int jjMoveStringLiteralDfa4_2(long old0, long active0)
  +private final int jjMoveStringLiteralDfa4_5(long old0, long active0)
   {
      if (((active0 &= old0)) == 0L)
  -      return jjStartNfa_2(2, old0, 0L);
  +      return jjStartNfa_5(2, old0, 0L);
      try { curChar = input_stream.readChar(); }
      catch(java.io.IOException e) {
  -      jjStopStringLiteralDfa_2(3, active0, 0L);
  +      jjStopStringLiteralDfa_5(3, active0, 0L);
         return 4;
      }
      switch(curChar)
      {
         case 101:
            if ((active0 & 0x80000000L) != 0L)
  -            return jjStartNfaWithStates_2(4, 31, 10);
  +            return jjStartNfaWithStates_5(4, 31, 10);
            break;
         default :
            break;
      }
  -   return jjStartNfa_2(3, active0, 0L);
  +   return jjStartNfa_5(3, active0, 0L);
   }
  -private final int jjMoveNfa_2(int startState, int curPos)
  +private final int jjMoveNfa_5(int startState, int curPos)
   {
      int[] nextStates;
      int startsAt = 0;
  @@ -2064,7 +2490,7 @@
                        kind = 18;
                     break;
                  case 7:
  -                  jjAddStates(9, 10);
  +                  jjAddStates(14, 15);
                     break;
                  case 9:
                     if ((0x7fffffe07fffffeL & l) == 0L)
  @@ -2106,7 +2532,7 @@
                     break;
                  case 7:
                     if ((jjbitVec0[i2] & l2) != 0L)
  -                     jjAddStates(9, 10);
  +                     jjAddStates(14, 15);
                     break;
                  default : break;
               }
  @@ -2125,229 +2551,34 @@
         catch(java.io.IOException e) { return curPos; }
      }
   }
  -private final int jjStopStringLiteralDfa_8(int pos, long active0)
  +private final int jjStopStringLiteralDfa_2(int pos, long active0, long active1)
   {
      switch (pos)
      {
         case 0:
  -         if ((active0 & 0x10000L) != 0L)
  -         {
  -            jjmatchedKind = 15;
  -            return -1;
  -         }
            if ((active0 & 0xa0000L) != 0L)
            {
               jjmatchedKind = 20;
               return 3;
            }
  -         return -1;
  -      default :
  -         return -1;
  -   }
  -}
  -private final int jjStartNfa_8(int pos, long active0)
  -{
  -   return jjMoveNfa_8(jjStopStringLiteralDfa_8(pos, active0), pos + 1);
  -}
  -private final int jjStartNfaWithStates_8(int pos, int kind, int state)
  -{
  -   jjmatchedKind = kind;
  -   jjmatchedPos = pos;
  -   try { curChar = input_stream.readChar(); }
  -   catch(java.io.IOException e) { return pos + 1; }
  -   return jjMoveNfa_8(state, pos + 1);
  -}
  -private final int jjMoveStringLiteralDfa0_8()
  -{
  -   switch(curChar)
  -   {
  -      case 35:
  -         return jjMoveStringLiteralDfa1_8(0xa0000L);
  -      case 36:
  -         return jjMoveStringLiteralDfa1_8(0x10000L);
  -      default :
  -         return jjMoveNfa_8(4, 0);
  -   }
  -}
  -private final int jjMoveStringLiteralDfa1_8(long active0)
  -{
  -   try { curChar = input_stream.readChar(); }
  -   catch(java.io.IOException e) {
  -      jjStopStringLiteralDfa_8(0, active0);
  -      return 1;
  -   }
  -   switch(curChar)
  -   {
  -      case 33:
  -         if ((active0 & 0x10000L) != 0L)
  -            return jjStopAtPos(1, 16);
  -         break;
  -      case 35:
  -         if ((active0 & 0x20000L) != 0L)
  -            return jjStopAtPos(1, 17);
  -         break;
  -      case 42:
  -         if ((active0 & 0x80000L) != 0L)
  -            return jjStartNfaWithStates_8(1, 19, 1);
  -         break;
  -      default :
  -         break;
  -   }
  -   return jjStartNfa_8(0, active0);
  -}
  -private final int jjMoveNfa_8(int startState, int curPos)
  -{
  -   int[] nextStates;
  -   int startsAt = 0;
  -   jjnewStateCnt = 10;
  -   int i = 1;
  -   jjstateSet[0] = startState;
  -   int j, kind = 0x7fffffff;
  -   for (;;)
  -   {
  -      if (++jjround == 0x7fffffff)
  -         ReInitRounds();
  -      if (curChar < 64)
  -      {
  -         long l = 1L << curChar;
  -         MatchLoop: do
  -         {
  -            switch(jjstateSet[--i])
  -            {
  -               case 4:
  -                  if ((0x2400L & l) != 0L)
  -                  {
  -                     if (kind > 23)
  -                        kind = 23;
  -                  }
  -                  else if (curChar == 35)
  -                  {
  -                     if (kind > 20)
  -                        kind = 20;
  -                  }
  -                  else if (curChar == 36)
  -                  {
  -                     if (kind > 15)
  -                        kind = 15;
  -                  }
  -                  if (curChar == 13)
  -                     jjstateSet[jjnewStateCnt++] = 7;
  -                  else if (curChar == 35)
  -                     jjstateSet[jjnewStateCnt++] = 3;
  -                  break;
  -               case 0:
  -                  if (curChar == 36 && kind > 15)
  -                     kind = 15;
  -                  break;
  -               case 1:
  -                  if (curChar == 42)
  -                     jjstateSet[jjnewStateCnt++] = 2;
  -                  break;
  -               case 2:
  -                  if ((0xfffffff7ffffffffL & l) != 0L && kind > 18)
  -                     kind = 18;
  -                  break;
  -               case 3:
  -                  if (curChar == 42)
  -                     jjstateSet[jjnewStateCnt++] = 1;
  -                  break;
  -               case 5:
  -                  if (curChar == 35 && kind > 20)
  -                     kind = 20;
  -                  break;
  -               case 6:
  -                  if ((0x2400L & l) != 0L && kind > 23)
  -                     kind = 23;
  -                  break;
  -               case 7:
  -                  if (curChar == 10 && kind > 23)
  -                     kind = 23;
  -                  break;
  -               case 8:
  -                  if (curChar == 13)
  -                     jjstateSet[jjnewStateCnt++] = 7;
  -                  break;
  -               default : break;
  -            }
  -         } while(i != startsAt);
  -      }
  -      else if (curChar < 128)
  -      {
  -         long l = 1L << (curChar & 077);
  -         MatchLoop: do
  -         {
  -            switch(jjstateSet[--i])
  -            {
  -               case 4:
  -                  if (curChar == 92)
  -                     jjAddStates(7, 8);
  -                  break;
  -               case 2:
  -                  if (kind > 18)
  -                     kind = 18;
  -                  break;
  -               default : break;
  -            }
  -         } while(i != startsAt);
  -      }
  -      else
  -      {
  -         int i2 = (curChar & 0xff) >> 6;
  -         long l2 = 1L << (curChar & 077);
  -         MatchLoop: do
  -         {
  -            switch(jjstateSet[--i])
  -            {
  -               case 2:
  -                  if ((jjbitVec0[i2] & l2) != 0L && kind > 18)
  -                     kind = 18;
  -                  break;
  -               default : break;
  -            }
  -         } while(i != startsAt);
  -      }
  -      if (kind != 0x7fffffff)
  -      {
  -         jjmatchedKind = kind;
  -         jjmatchedPos = curPos;
  -         kind = 0x7fffffff;
  -      }
  -      ++curPos;
  -      if ((i = jjnewStateCnt) == (startsAt = 10 - (jjnewStateCnt = startsAt)))
  -         return curPos;
  -      try { curChar = input_stream.readChar(); }
  -      catch(java.io.IOException e) { return curPos; }
  -   }
  -}
  -private final int jjStopStringLiteralDfa_4(int pos, long active0)
  -{
  -   switch (pos)
  -   {
  -      case 0:
            if ((active0 & 0x10000L) != 0L)
            {
               jjmatchedKind = 15;
               return -1;
  -         }
  -         if ((active0 & 0xa0000L) != 0L)
  -         {
  -            jjmatchedKind = 20;
  -            return 3;
            }
  -         if ((active0 & 0x26000000000000L) != 0L)
  -         {
  -            jjmatchedKind = 57;
  -            return 14;
  -         }
  -         if ((active0 & 0x18000000000000L) != 0L)
  +         if ((active0 & 0xc0000000L) != 0L)
            {
  -            jjmatchedKind = 57;
  +            jjmatchedKind = 61;
               return 11;
            }
            return -1;
         case 1:
  -         if ((active0 & 0x4000000000000L) != 0L)
  -            return 14;
  +         if ((active0 & 0xc0000000L) != 0L)
  +         {
  +            jjmatchedKind = 61;
  +            jjmatchedPos = 1;
  +            return 11;
  +         }
            if ((active0 & 0x10000L) != 0L)
            {
               if (jjmatchedPos == 0)
  @@ -2359,91 +2590,74 @@
            }
            if ((active0 & 0x80000L) != 0L)
               return 1;
  -         if ((active0 & 0x3a000000000000L) != 0L)
  -         {
  -            jjmatchedKind = 57;
  -            jjmatchedPos = 1;
  -            return 14;
  -         }
            return -1;
         case 2:
  -         if ((active0 & 0x3a000000000000L) != 0L)
  +         if ((active0 & 0xc0000000L) != 0L)
            {
  -            jjmatchedKind = 57;
  +            jjmatchedKind = 61;
               jjmatchedPos = 2;
  -            return 14;
  +            return 11;
            }
            return -1;
         case 3:
  -         if ((active0 & 0x38000000000000L) != 0L)
  -            return 14;
  -         if ((active0 & 0x2000000000000L) != 0L)
  -         {
  -            if (jjmatchedPos != 3)
  -            {
  -               jjmatchedKind = 57;
  -               jjmatchedPos = 3;
  -            }
  -            return 14;
  -         }
  -         return -1;
  -      case 4:
  -         if ((active0 & 0xa000000000000L) != 0L)
  -         {
  -            jjmatchedKind = 57;
  -            jjmatchedPos = 4;
  -            return 14;
  -         }
  -         return -1;
  -      case 5:
  -         if ((active0 & 0x8000000000000L) != 0L)
  -            return 14;
  -         if ((active0 & 0x2000000000000L) != 0L)
  +         if ((active0 & 0x40000000L) != 0L)
  +            return 11;
  +         if ((active0 & 0x80000000L) != 0L)
            {
  -            jjmatchedKind = 57;
  -            jjmatchedPos = 5;
  -            return 14;
  +            jjmatchedKind = 61;
  +            jjmatchedPos = 3;
  +            return 11;
            }
            return -1;
         default :
            return -1;
      }
   }
  -private final int jjStartNfa_4(int pos, long active0)
  +private final int jjStartNfa_2(int pos, long active0, long active1)
   {
  -   return jjMoveNfa_4(jjStopStringLiteralDfa_4(pos, active0), pos + 1);
  +   return jjMoveNfa_2(jjStopStringLiteralDfa_2(pos, active0, active1), pos + 1);
   }
  -private final int jjStartNfaWithStates_4(int pos, int kind, int state)
  +private final int jjStartNfaWithStates_2(int pos, int kind, int state)
   {
      jjmatchedKind = kind;
      jjmatchedPos = pos;
      try { curChar = input_stream.readChar(); }
      catch(java.io.IOException e) { return pos + 1; }
  -   return jjMoveNfa_4(state, pos + 1);
  +   return jjMoveNfa_2(state, pos + 1);
   }
  -private final int jjMoveStringLiteralDfa0_4()
  +private final int jjMoveStringLiteralDfa0_2()
   {
      switch(curChar)
      {
         case 35:
  -         return jjMoveStringLiteralDfa1_4(0xa0000L);
  +         return jjMoveStringLiteralDfa1_2(0xa0000L);
         case 36:
  -         return jjMoveStringLiteralDfa1_4(0x10000L);
  -      case 101:
  -         return jjMoveStringLiteralDfa1_4(0x18000000000000L);
  -      case 105:
  -         return jjMoveStringLiteralDfa1_4(0x6000000000000L);
  -      case 115:
  -         return jjMoveStringLiteralDfa1_4(0x20000000000000L);
  +         return jjMoveStringLiteralDfa1_2(0x10000L);
  +      case 41:
  +         return jjStopAtPos(0, 6);
  +      case 44:
  +         return jjStopAtPos(0, 3);
  +      case 91:
  +         return jjStopAtPos(0, 1);
  +      case 93:
  +         return jjStopAtPos(0, 2);
  +      case 102:
  +         return jjMoveStringLiteralDfa1_2(0x80000000L);
  +      case 116:
  +         return jjMoveStringLiteralDfa1_2(0x40000000L);
  +      case 123:
  +         return jjStopAtPos(0, 63);
  +      case 125:
  +         return jjStopAtPos(0, 64);
         default :
  -         return jjMoveNfa_4(4, 0);
  +         return jjMoveNfa_2(4, 0);
      }
   }
  -private final int jjMoveStringLiteralDfa1_4(long active0)
  +private final int jjMoveStringLiteralDfa1_2(long active0)
   {
      try { curChar = input_stream.readChar(); }
      catch(java.io.IOException e) {
  -      jjStopStringLiteralDfa_4(0, active0);
  +      jjStopStringLiteralDfa_2(0, active0, 0L);
         return 1;
      }
      switch(curChar)
  @@ -2458,141 +2672,84 @@
            break;
         case 42:
            if ((active0 & 0x80000L) != 0L)
  -            return jjStartNfaWithStates_4(1, 19, 1);
  -         break;
  -      case 102:
  -         if ((active0 & 0x4000000000000L) != 0L)
  -            return jjStartNfaWithStates_4(1, 50, 14);
  +            return jjStartNfaWithStates_2(1, 19, 1);
            break;
  -      case 108:
  -         return jjMoveStringLiteralDfa2_4(active0, 0x18000000000000L);
  -      case 110:
  -         return jjMoveStringLiteralDfa2_4(active0, 0x2000000000000L);
  -      case 116:
  -         return jjMoveStringLiteralDfa2_4(active0, 0x20000000000000L);
  +      case 97:
  +         return jjMoveStringLiteralDfa2_2(active0, 0x80000000L);
  +      case 114:
  +         return jjMoveStringLiteralDfa2_2(active0, 0x40000000L);
         default :
            break;
      }
  -   return jjStartNfa_4(0, active0);
  +   return jjStartNfa_2(0, active0, 0L);
   }
  -private final int jjMoveStringLiteralDfa2_4(long old0, long active0)
  +private final int jjMoveStringLiteralDfa2_2(long old0, long active0)
   {
      if (((active0 &= old0)) == 0L)
  -      return jjStartNfa_4(0, old0); 
  +      return jjStartNfa_2(0, old0, 0L);
      try { curChar = input_stream.readChar(); }
      catch(java.io.IOException e) {
  -      jjStopStringLiteralDfa_4(1, active0);
  +      jjStopStringLiteralDfa_2(1, active0, 0L);
         return 2;
      }
      switch(curChar)
      {
  -      case 99:
  -         return jjMoveStringLiteralDfa3_4(active0, 0x2000000000000L);
  -      case 111:
  -         return jjMoveStringLiteralDfa3_4(active0, 0x20000000000000L);
  -      case 115:
  -         return jjMoveStringLiteralDfa3_4(active0, 0x18000000000000L);
  +      case 108:
  +         return jjMoveStringLiteralDfa3_2(active0, 0x80000000L);
  +      case 117:
  +         return jjMoveStringLiteralDfa3_2(active0, 0x40000000L);
         default :
            break;
      }
  -   return jjStartNfa_4(1, active0);
  +   return jjStartNfa_2(1, active0, 0L);
   }
  -private final int jjMoveStringLiteralDfa3_4(long old0, long active0)
  +private final int jjMoveStringLiteralDfa3_2(long old0, long active0)
   {
      if (((active0 &= old0)) == 0L)
  -      return jjStartNfa_4(1, old0); 
  +      return jjStartNfa_2(1, old0, 0L);
      try { curChar = input_stream.readChar(); }
      catch(java.io.IOException e) {
  -      jjStopStringLiteralDfa_4(2, active0);
  +      jjStopStringLiteralDfa_2(2, active0, 0L);
         return 3;
      }
      switch(curChar)
      {
         case 101:
  -         if ((active0 & 0x10000000000000L) != 0L)
  -         {
  -            jjmatchedKind = 52;
  -            jjmatchedPos = 3;
  -         }
  -         return jjMoveStringLiteralDfa4_4(active0, 0x8000000000000L);
  -      case 108:
  -         return jjMoveStringLiteralDfa4_4(active0, 0x2000000000000L);
  -      case 112:
  -         if ((active0 & 0x20000000000000L) != 0L)
  -            return jjStartNfaWithStates_4(3, 53, 14);
  +         if ((active0 & 0x40000000L) != 0L)
  +            return jjStartNfaWithStates_2(3, 30, 11);
            break;
  +      case 115:
  +         return jjMoveStringLiteralDfa4_2(active0, 0x80000000L);
         default :
            break;
      }
  -   return jjStartNfa_4(2, active0);
  +   return jjStartNfa_2(2, active0, 0L);
   }
  -private final int jjMoveStringLiteralDfa4_4(long old0, long active0)
  +private final int jjMoveStringLiteralDfa4_2(long old0, long active0)
   {
      if (((active0 &= old0)) == 0L)
  -      return jjStartNfa_4(2, old0); 
  +      return jjStartNfa_2(2, old0, 0L);
      try { curChar = input_stream.readChar(); }
      catch(java.io.IOException e) {
  -      jjStopStringLiteralDfa_4(3, active0);
  +      jjStopStringLiteralDfa_2(3, active0, 0L);
         return 4;
      }
      switch(curChar)
      {
  -      case 105:
  -         return jjMoveStringLiteralDfa5_4(active0, 0x8000000000000L);
  -      case 117:
  -         return jjMoveStringLiteralDfa5_4(active0, 0x2000000000000L);
  -      default :
  -         break;
  -   }
  -   return jjStartNfa_4(3, active0);
  -}
  -private final int jjMoveStringLiteralDfa5_4(long old0, long active0)
  -{
  -   if (((active0 &= old0)) == 0L)
  -      return jjStartNfa_4(3, old0); 
  -   try { curChar = input_stream.readChar(); }
  -   catch(java.io.IOException e) {
  -      jjStopStringLiteralDfa_4(4, active0);
  -      return 5;
  -   }
  -   switch(curChar)
  -   {
  -      case 100:
  -         return jjMoveStringLiteralDfa6_4(active0, 0x2000000000000L);
  -      case 102:
  -         if ((active0 & 0x8000000000000L) != 0L)
  -            return jjStartNfaWithStates_4(5, 51, 14);
  -         break;
  -      default :
  -         break;
  -   }
  -   return jjStartNfa_4(4, active0);
  -}
  -private final int jjMoveStringLiteralDfa6_4(long old0, long active0)
  -{
  -   if (((active0 &= old0)) == 0L)
  -      return jjStartNfa_4(4, old0); 
  -   try { curChar = input_stream.readChar(); }
  -   catch(java.io.IOException e) {
  -      jjStopStringLiteralDfa_4(5, active0);
  -      return 6;
  -   }
  -   switch(curChar)
  -   {
         case 101:
  -         if ((active0 & 0x2000000000000L) != 0L)
  -            return jjStartNfaWithStates_4(6, 49, 14);
  +         if ((active0 & 0x80000000L) != 0L)
  +            return jjStartNfaWithStates_2(4, 31, 11);
            break;
         default :
            break;
      }
  -   return jjStartNfa_4(5, active0);
  +   return jjStartNfa_2(3, active0, 0L);
   }
  -private final int jjMoveNfa_4(int startState, int curPos)
  +private final int jjMoveNfa_2(int startState, int curPos)
   {
      int[] nextStates;
      int startsAt = 0;
  -   jjnewStateCnt = 16;
  +   jjnewStateCnt = 15;
      int i = 1;
      jjstateSet[0] = startState;
      int j, kind = 0x7fffffff;
  @@ -2612,8 +2769,12 @@
                     {
                        if (kind > 55)
                           kind = 55;
  -                     jjCheckNAdd(13);
  +                     jjCheckNAdd(9);
                     }
  +                  else if (curChar == 46)
  +                     jjstateSet[jjnewStateCnt++] = 13;
  +                  else if (curChar == 34)
  +                     jjCheckNAddTwoStates(7, 8);
                     else if (curChar == 35)
                     {
                        if (kind > 20)
  @@ -2647,28 +2808,35 @@
                     if (curChar == 35 && kind > 20)
                        kind = 20;
                     break;
  +               case 6:
  +                  if (curChar == 34)
  +                     jjCheckNAddTwoStates(7, 8);
  +                  break;
                  case 7:
  -                  if ((0x100000200L & l) != 0L)
  -                     jjAddStates(11, 13);
  +                  if ((0xfffffffbffffdbffL & l) != 0L)
  +                     jjCheckNAddTwoStates(7, 8);
                     break;
                  case 8:
  -                  if ((0x2400L & l) != 0L && kind > 48)
  -                     kind = 48;
  +                  if (curChar == 34 && kind > 29)
  +                     kind = 29;
                     break;
                  case 9:
  -                  if (curChar == 10 && kind > 48)
  -                     kind = 48;
  -                  break;
  -               case 10:
  -                  if (curChar == 13)
  -                     jjstateSet[jjnewStateCnt++] = 9;
  -                  break;
  -               case 13:
                     if ((0x3ff000000000000L & l) == 0L)
                        break;
                     if (kind > 55)
                        kind = 55;
  -                  jjCheckNAdd(13);
  +                  jjCheckNAdd(9);
  +                  break;
  +               case 11:
  +                  if ((0x3ff200000000000L & l) == 0L)
  +                     break;
  +                  if (kind > 61)
  +                     kind = 61;
  +                  jjstateSet[jjnewStateCnt++] = 11;
  +                  break;
  +               case 12:
  +                  if (curChar == 46)
  +                     jjstateSet[jjnewStateCnt++] = 13;
                     break;
                  default : break;
               }
  @@ -2681,51 +2849,42 @@
            {
               switch(jjstateSet[--i])
               {
  -               case 11:
  -                  if ((0x7fffffe07fffffeL & l) != 0L)
  -                  {
  -                     if (kind > 57)
  -                        kind = 57;
  -                     jjCheckNAdd(14);
  -                  }
  -                  if (curChar == 110)
  -                     jjstateSet[jjnewStateCnt++] = 6;
  -                  break;
                  case 4:
                     if ((0x7fffffe07fffffeL & l) != 0L)
  -                  {
  -                     if (kind > 57)
  -                        kind = 57;
  -                     jjCheckNAdd(14);
  +                  {
  +                     if (kind > 61)
  +                        kind = 61;
  +                     jjCheckNAdd(11);
                     }
                     else if (curChar == 92)
                        jjAddStates(7, 8);
  -                  if (curChar == 101)
  -                     jjstateSet[jjnewStateCnt++] = 11;
                     break;
                  case 2:
                     if (kind > 18)
                        kind = 18;
  -                  break;
  -               case 6:
  -                  if (curChar != 100)
  -                     break;
  -                  if (kind > 48)
  -                     kind = 48;
  -                  jjAddStates(11, 13);
                     break;
  -               case 12:
  -                  if (curChar == 101)
  -                     jjstateSet[jjnewStateCnt++] = 11;
  +               case 7:
  +                  jjAddStates(14, 15);
                     break;
  -               case 14:
  +               case 10:
                     if ((0x7fffffe07fffffeL & l) == 0L)
                        break;
  -                  if (kind > 57)
  -                     kind = 57;
  -                  jjCheckNAdd(14);
  +                  if (kind > 61)
  +                     kind = 61;
  +                  jjCheckNAdd(11);
                     break;
  -               case 15:
  +               case 11:
  +                  if ((0x7fffffe87fffffeL & l) == 0L)
  +                     break;
  +                  if (kind > 61)
  +                     kind = 61;
  +                  jjCheckNAdd(11);
  +                  break;
  +               case 13:
  +                  if ((0x7fffffe07fffffeL & l) != 0L && kind > 62)
  +                     kind = 62;
  +                  break;
  +               case 14:
                     if (curChar == 92)
                        jjAddStates(7, 8);
                     break;
  @@ -2745,6 +2904,10 @@
                     if ((jjbitVec0[i2] & l2) != 0L && kind > 18)
                        kind = 18;
                     break;
  +               case 7:
  +                  if ((jjbitVec0[i2] & l2) != 0L)
  +                     jjAddStates(14, 15);
  +                  break;
                  default : break;
               }
            } while(i != startsAt);
  @@ -2756,28 +2919,31 @@
            kind = 0x7fffffff;
         }
         ++curPos;
  -      if ((i = jjnewStateCnt) == (startsAt = 16 - (jjnewStateCnt = startsAt)))
  +      if ((i = jjnewStateCnt) == (startsAt = 15 - (jjnewStateCnt = startsAt)))
            return curPos;
         try { curChar = input_stream.readChar(); }
         catch(java.io.IOException e) { return curPos; }
      }
   }
  -private final int jjStopStringLiteralDfa_3(int pos, long active0)
  +private final int jjStopStringLiteralDfa_1(int pos, long active0, long active1)
   {
      switch (pos)
      {
         case 0:
  -         if ((active0 & 0x10000L) != 0L)
  +         if ((active0 & 0xc0000000L) != 0L)
            {
  -            jjmatchedKind = 15;
  -            return -1;
  +            jjmatchedKind = 61;
  +            return 10;
            }
  -         if ((active0 & 0x203f80L) != 0L)
  -            return 13;
            if ((active0 & 0xa0000L) != 0L)
            {
               jjmatchedKind = 20;
  -            return 11;
  +            return 3;
  +         }
  +         if ((active0 & 0x10000L) != 0L)
  +         {
  +            jjmatchedKind = 15;
  +            return -1;
            }
            return -1;
         case 1:
  @@ -2790,314 +2956,172 @@
               }
               return -1;
            }
  -         if ((active0 & 0x3f80L) != 0L)
  +         if ((active0 & 0x80000L) != 0L)
  +            return 1;
  +         if ((active0 & 0xc0000000L) != 0L)
            {
  -            jjmatchedKind = 20;
  +            jjmatchedKind = 61;
               jjmatchedPos = 1;
  -            return -1;
  +            return 10;
            }
  -         if ((active0 & 0x80000L) != 0L)
  -            return 9;
            return -1;
         case 2:
  -         if ((active0 & 0x3f80L) != 0L)
  +         if ((active0 & 0xc0000000L) != 0L)
            {
  -            if (jjmatchedPos < 1)
  -            {
  -               jjmatchedKind = 20;
  -               jjmatchedPos = 1;
  -            }
  -            return -1;
  +            jjmatchedKind = 61;
  +            jjmatchedPos = 2;
  +            return 10;
            }
            return -1;
         case 3:
  -         if ((active0 & 0x3f80L) != 0L)
  -         {
  -            if (jjmatchedPos < 1)
  -            {
  -               jjmatchedKind = 20;
  -               jjmatchedPos = 1;
  -            }
  -            return -1;
  -         }
  -         return -1;
  -      case 4:
  -         if ((active0 & 0x3e80L) != 0L)
  -         {
  -            if (jjmatchedPos < 1)
  -            {
  -               jjmatchedKind = 20;
  -               jjmatchedPos = 1;
  -            }
  -            return -1;
  -         }
  -         return -1;
  -      case 5:
  -         if ((active0 & 0x3c00L) != 0L)
  -         {
  -            if (jjmatchedPos < 1)
  -            {
  -               jjmatchedKind = 20;
  -               jjmatchedPos = 1;
  -            }
  -            return -1;
  -         }
  -         return -1;
  -      case 6:
  -         if ((active0 & 0xc00L) != 0L)
  -         {
  -            if (jjmatchedPos < 1)
  -            {
  -               jjmatchedKind = 20;
  -               jjmatchedPos = 1;
  -            }
  -            return -1;
  -         }
  -         return -1;
  -      case 7:
  -         if ((active0 & 0xc00L) != 0L)
  +         if ((active0 & 0x40000000L) != 0L)
  +            return 10;
  +         if ((active0 & 0x80000000L) != 0L)
            {
  -            if (jjmatchedPos < 1)
  -            {
  -               jjmatchedKind = 20;
  -               jjmatchedPos = 1;
  -            }
  -            return -1;
  +            jjmatchedKind = 61;
  +            jjmatchedPos = 3;
  +            return 10;
            }
            return -1;
         default :
            return -1;
      }
   }
  -private final int jjStartNfa_3(int pos, long active0)
  +private final int jjStartNfa_1(int pos, long active0, long active1)
   {
  -   return jjMoveNfa_3(jjStopStringLiteralDfa_3(pos, active0), pos + 1);
  +   return jjMoveNfa_1(jjStopStringLiteralDfa_1(pos, active0, active1), pos + 1);
   }
  -private final int jjStartNfaWithStates_3(int pos, int kind, int state)
  +private final int jjStartNfaWithStates_1(int pos, int kind, int state)
   {
      jjmatchedKind = kind;
      jjmatchedPos = pos;
      try { curChar = input_stream.readChar(); }
      catch(java.io.IOException e) { return pos + 1; }
  -   return jjMoveNfa_3(state, pos + 1);
  +   return jjMoveNfa_1(state, pos + 1);
   }
  -private final int jjMoveStringLiteralDfa0_3()
  +private final int jjMoveStringLiteralDfa0_1()
   {
      switch(curChar)
      {
         case 35:
  -         return jjMoveStringLiteralDfa1_3(0xa0000L);
  +         return jjMoveStringLiteralDfa1_1(0xa0000L);
         case 36:
  -         return jjMoveStringLiteralDfa1_3(0x10000L);
  -      case 92:
  -         jjmatchedKind = 21;
  -         return jjMoveStringLiteralDfa1_3(0x3f80L);
  -      default :
  -         return jjMoveNfa_3(8, 0);
  -   }
  -}
  -private final int jjMoveStringLiteralDfa1_3(long active0)
  -{
  -   try { curChar = input_stream.readChar(); }
  -   catch(java.io.IOException e) {
  -      jjStopStringLiteralDfa_3(0, active0);
  -      return 1;
  -   }
  -   switch(curChar)
  -   {
  -      case 33:
  -         if ((active0 & 0x10000L) != 0L)
  -            return jjStopAtPos(1, 16);
  -         break;
  -      case 35:
  -         if ((active0 & 0x20000L) != 0L)
  -            return jjStopAtPos(1, 17);
  -         return jjMoveStringLiteralDfa2_3(active0, 0x3f80L);
  -      case 42:
  -         if ((active0 & 0x80000L) != 0L)
  -            return jjStartNfaWithStates_3(1, 19, 9);
  -         break;
  -      default :
  -         break;
  -   }
  -   return jjStartNfa_3(0, active0);
  -}
  -private final int jjMoveStringLiteralDfa2_3(long old0, long active0)
  -{
  -   if (((active0 &= old0)) == 0L)
  -      return jjStartNfa_3(0, old0); 
  -   try { curChar = input_stream.readChar(); }
  -   catch(java.io.IOException e) {
  -      jjStopStringLiteralDfa_3(1, active0);
  -      return 2;
  -   }
  -   switch(curChar)
  -   {
  -      case 101:
  -         return jjMoveStringLiteralDfa3_3(active0, 0x1a00L);
  -      case 105:
  -         return jjMoveStringLiteralDfa3_3(active0, 0x500L);
  -      case 115:
  -         return jjMoveStringLiteralDfa3_3(active0, 0x2080L);
  -      default :
  -         break;
  -   }
  -   return jjStartNfa_3(1, active0);
  -}
  -private final int jjMoveStringLiteralDfa3_3(long old0, long active0)
  -{
  -   if (((active0 &= old0)) == 0L)
  -      return jjStartNfa_3(1, old0); 
  -   try { curChar = input_stream.readChar(); }
  -   catch(java.io.IOException e) {
  -      jjStopStringLiteralDfa_3(2, active0);
  -      return 3;
  -   }
  -   switch(curChar)
  -   {
  -      case 101:
  -         return jjMoveStringLiteralDfa4_3(active0, 0x80L);
  -      case 102:
  -         if ((active0 & 0x100L) != 0L)
  -            return jjStopAtPos(3, 8);
  -         break;
  -      case 108:
  -         return jjMoveStringLiteralDfa4_3(active0, 0x1800L);
  -      case 110:
  -         return jjMoveStringLiteralDfa4_3(active0, 0x600L);
  -      case 116:
  -         return jjMoveStringLiteralDfa4_3(active0, 0x2000L);
  -      default :
  -         break;
  -   }
  -   return jjStartNfa_3(2, active0);
  -}
  -private final int jjMoveStringLiteralDfa4_3(long old0, long active0)
  -{
  -   if (((active0 &= old0)) == 0L)
  -      return jjStartNfa_3(2, old0); 
  -   try { curChar = input_stream.readChar(); }
  -   catch(java.io.IOException e) {
  -      jjStopStringLiteralDfa_3(3, active0);
  -      return 4;
  -   }
  -   switch(curChar)
  -   {
  -      case 99:
  -         return jjMoveStringLiteralDfa5_3(active0, 0x400L);
  -      case 100:
  -         if ((active0 & 0x200L) != 0L)
  -            return jjStopAtPos(4, 9);
  -         break;
  -      case 111:
  -         return jjMoveStringLiteralDfa5_3(active0, 0x2000L);
  -      case 115:
  -         return jjMoveStringLiteralDfa5_3(active0, 0x1800L);
  +         return jjMoveStringLiteralDfa1_1(0x10000L);
  +      case 40:
  +         return jjStopAtPos(0, 4);
  +      case 91:
  +         return jjStopAtPos(0, 1);
  +      case 93:
  +         return jjStopAtPos(0, 2);
  +      case 102:
  +         return jjMoveStringLiteralDfa1_1(0x80000000L);
         case 116:
  -         if ((active0 & 0x80L) != 0L)
  -            return jjStopAtPos(4, 7);
  -         break;
  +         return jjMoveStringLiteralDfa1_1(0x40000000L);
  +      case 123:
  +         return jjStopAtPos(0, 63);
  +      case 125:
  +         return jjStopAtPos(0, 64);
         default :
  -         break;
  +         return jjMoveNfa_1(4, 0);
      }
  -   return jjStartNfa_3(3, active0);
   }
  -private final int jjMoveStringLiteralDfa5_3(long old0, long active0)
  +private final int jjMoveStringLiteralDfa1_1(long active0)
   {
  -   if (((active0 &= old0)) == 0L)
  -      return jjStartNfa_3(3, old0); 
      try { curChar = input_stream.readChar(); }
      catch(java.io.IOException e) {
  -      jjStopStringLiteralDfa_3(4, active0);
  -      return 5;
  +      jjStopStringLiteralDfa_1(0, active0, 0L);
  +      return 1;
      }
      switch(curChar)
      {
  -      case 101:
  -         if ((active0 & 0x1000L) != 0L)
  -         {
  -            jjmatchedKind = 12;
  -            jjmatchedPos = 5;
  -         }
  -         return jjMoveStringLiteralDfa6_3(active0, 0x800L);
  -      case 108:
  -         return jjMoveStringLiteralDfa6_3(active0, 0x400L);
  -      case 112:
  -         if ((active0 & 0x2000L) != 0L)
  -            return jjStopAtPos(5, 13);
  +      case 33:
  +         if ((active0 & 0x10000L) != 0L)
  +            return jjStopAtPos(1, 16);
  +         break;
  +      case 35:
  +         if ((active0 & 0x20000L) != 0L)
  +            return jjStopAtPos(1, 17);
  +         break;
  +      case 42:
  +         if ((active0 & 0x80000L) != 0L)
  +            return jjStartNfaWithStates_1(1, 19, 1);
            break;
  +      case 97:
  +         return jjMoveStringLiteralDfa2_1(active0, 0x80000000L);
  +      case 114:
  +         return jjMoveStringLiteralDfa2_1(active0, 0x40000000L);
         default :
            break;
      }
  -   return jjStartNfa_3(4, active0);
  +   return jjStartNfa_1(0, active0, 0L);
   }
  -private final int jjMoveStringLiteralDfa6_3(long old0, long active0)
  +private final int jjMoveStringLiteralDfa2_1(long old0, long active0)
   {
      if (((active0 &= old0)) == 0L)
  -      return jjStartNfa_3(4, old0); 
  +      return jjStartNfa_1(0, old0, 0L);
      try { curChar = input_stream.readChar(); }
      catch(java.io.IOException e) {
  -      jjStopStringLiteralDfa_3(5, active0);
  -      return 6;
  +      jjStopStringLiteralDfa_1(1, active0, 0L);
  +      return 2;
      }
      switch(curChar)
      {
  -      case 105:
  -         return jjMoveStringLiteralDfa7_3(active0, 0x800L);
  +      case 108:
  +         return jjMoveStringLiteralDfa3_1(active0, 0x80000000L);
         case 117:
  -         return jjMoveStringLiteralDfa7_3(active0, 0x400L);
  +         return jjMoveStringLiteralDfa3_1(active0, 0x40000000L);
         default :
            break;
      }
  -   return jjStartNfa_3(5, active0);
  +   return jjStartNfa_1(1, active0, 0L);
   }
  -private final int jjMoveStringLiteralDfa7_3(long old0, long active0)
  +private final int jjMoveStringLiteralDfa3_1(long old0, long active0)
   {
      if (((active0 &= old0)) == 0L)
  -      return jjStartNfa_3(5, old0); 
  +      return jjStartNfa_1(1, old0, 0L);
      try { curChar = input_stream.readChar(); }
      catch(java.io.IOException e) {
  -      jjStopStringLiteralDfa_3(6, active0);
  -      return 7;
  +      jjStopStringLiteralDfa_1(2, active0, 0L);
  +      return 3;
      }
      switch(curChar)
      {
  -      case 100:
  -         return jjMoveStringLiteralDfa8_3(active0, 0x400L);
  -      case 102:
  -         if ((active0 & 0x800L) != 0L)
  -            return jjStopAtPos(7, 11);
  +      case 101:
  +         if ((active0 & 0x40000000L) != 0L)
  +            return jjStartNfaWithStates_1(3, 30, 10);
            break;
  +      case 115:
  +         return jjMoveStringLiteralDfa4_1(active0, 0x80000000L);
         default :
            break;
      }
  -   return jjStartNfa_3(6, active0);
  +   return jjStartNfa_1(2, active0, 0L);
   }
  -private final int jjMoveStringLiteralDfa8_3(long old0, long active0)
  +private final int jjMoveStringLiteralDfa4_1(long old0, long active0)
   {
      if (((active0 &= old0)) == 0L)
  -      return jjStartNfa_3(6, old0); 
  +      return jjStartNfa_1(2, old0, 0L);
      try { curChar = input_stream.readChar(); }
      catch(java.io.IOException e) {
  -      jjStopStringLiteralDfa_3(7, active0);
  -      return 8;
  +      jjStopStringLiteralDfa_1(3, active0, 0L);
  +      return 4;
      }
      switch(curChar)
      {
         case 101:
  -         if ((active0 & 0x400L) != 0L)
  -            return jjStopAtPos(8, 10);
  +         if ((active0 & 0x80000000L) != 0L)
  +            return jjStartNfaWithStates_1(4, 31, 10);
            break;
         default :
            break;
      }
  -   return jjStartNfa_3(7, active0);
  +   return jjStartNfa_1(3, active0, 0L);
   }
  -private final int jjMoveNfa_3(int startState, int curPos)
  +private final int jjMoveNfa_1(int startState, int curPos)
   {
      int[] nextStates;
      int startsAt = 0;
  -   jjnewStateCnt = 13;
  +   jjnewStateCnt = 14;
      int i = 1;
      jjstateSet[0] = startState;
      int j, kind = 0x7fffffff;
  @@ -3112,12 +3136,12 @@
            {
               switch(jjstateSet[--i])
               {
  -               case 11:
  -                  if (curChar == 42)
  -                     jjstateSet[jjnewStateCnt++] = 9;
  -                  break;
  -               case 13:
  -                  if (curChar == 35)
  +               case 4:
  +                  if (curChar == 46)
  +                     jjstateSet[jjnewStateCnt++] = 12;
  +                  else if (curChar == 34)
  +                     jjCheckNAddTwoStates(7, 8);
  +                  else if (curChar == 35)
                     {
                        if (kind > 20)
                           kind = 20;
  @@ -3127,59 +3151,51 @@
                        if (kind > 15)
                           kind = 15;
                     }
  -                  break;
  -               case 8:
  -                  if ((0xffffffe7ffffffffL & l) != 0L)
  -                  {
  -                     if (kind > 22)
  -                        kind = 22;
  -                     jjCheckNAdd(7);
  -                  }
  -                  else if (curChar == 35)
  -                     jjCheckNAddTwoStates(3, 11);
  -                  else if (curChar == 36)
  -                  {
  -                     if (kind > 15)
  -                        kind = 15;
  -                  }
  -                  if ((0x100000200L & l) != 0L)
  -                     jjCheckNAddTwoStates(0, 4);
  -                  else if (curChar == 35)
  -                  {
  -                     if (kind > 20)
  -                        kind = 20;
  -                  }
  -                  break;
  -               case 0:
  -                  if ((0x100000200L & l) != 0L)
  -                     jjCheckNAddTwoStates(0, 4);
  -                  break;
  -               case 4:
                     if (curChar == 35)
  -                     jjCheckNAdd(3);
  +                     jjstateSet[jjnewStateCnt++] = 3;
                     break;
  -               case 5:
  +               case 0:
                     if (curChar == 36 && kind > 15)
                        kind = 15;
                     break;
  -               case 6:
  +               case 1:
  +                  if (curChar == 42)
  +                     jjstateSet[jjnewStateCnt++] = 2;
  +                  break;
  +               case 2:
  +                  if ((0xfffffff7ffffffffL & l) != 0L && kind > 18)
  +                     kind = 18;
  +                  break;
  +               case 3:
  +                  if (curChar == 42)
  +                     jjstateSet[jjnewStateCnt++] = 1;
  +                  break;
  +               case 5:
                     if (curChar == 35 && kind > 20)
                        kind = 20;
                     break;
  +               case 6:
  +                  if (curChar == 34)
  +                     jjCheckNAddTwoStates(7, 8);
  +                  break;
                  case 7:
  -                  if ((0xffffffe7ffffffffL & l) == 0L)
  -                     break;
  -                  if (kind > 22)
  -                     kind = 22;
  -                  jjCheckNAdd(7);
  +                  if ((0xfffffffbffffdbffL & l) != 0L)
  +                     jjCheckNAddTwoStates(7, 8);
                     break;
  -               case 9:
  -                  if (curChar == 42)
  -                     jjstateSet[jjnewStateCnt++] = 10;
  +               case 8:
  +                  if (curChar == 34 && kind > 29)
  +                     kind = 29;
                     break;
                  case 10:
  -                  if ((0xfffffff7ffffffffL & l) != 0L && kind > 18)
  -                     kind = 18;
  +                  if ((0x3ff200000000000L & l) == 0L)
  +                     break;
  +                  if (kind > 61)
  +                     kind = 61;
  +                  jjstateSet[jjnewStateCnt++] = 10;
  +                  break;
  +               case 11:
  +                  if (curChar == 46)
  +                     jjstateSet[jjnewStateCnt++] = 12;
                     break;
                  default : break;
               }
  @@ -3192,43 +3208,44 @@
            {
               switch(jjstateSet[--i])
               {
  -               case 11:
  -               case 3:
  -                  if (curChar == 115)
  -                     jjstateSet[jjnewStateCnt++] = 2;
  -                  break;
  -               case 8:
  -                  if ((0xffffffffefffffffL & l) != 0L)
  +               case 4:
  +                  if ((0x7fffffe07fffffeL & l) != 0L)
                     {
  -                     if (kind > 22)
  -                        kind = 22;
  -                     jjCheckNAdd(7);
  +                     if (kind > 61)
  +                        kind = 61;
  +                     jjCheckNAdd(10);
                     }
                     else if (curChar == 92)
  -                     jjAddStates(14, 15);
  -                  break;
  -               case 1:
  -                  if (curChar == 116 && kind > 14)
  -                     kind = 14;
  +                     jjAddStates(7, 8);
                     break;
                  case 2:
  -                  if (curChar == 101)
  -                     jjstateSet[jjnewStateCnt++] = 1;
  +                  if (kind > 18)
  +                     kind = 18;
                     break;
                  case 7:
  -                  if ((0xffffffffefffffffL & l) == 0L)
  +                  jjAddStates(14, 15);
  +                  break;
  +               case 9:
  +                  if ((0x7fffffe07fffffeL & l) == 0L)
                        break;
  -                  if (kind > 22)
  -                     kind = 22;
  -                  jjCheckNAdd(7);
  +                  if (kind > 61)
  +                     kind = 61;
  +                  jjCheckNAdd(10);
                     break;
                  case 10:
  -                  if (kind > 18)
  -                     kind = 18;
  +                  if ((0x7fffffe87fffffeL & l) == 0L)
  +                     break;
  +                  if (kind > 61)
  +                     kind = 61;
  +                  jjCheckNAdd(10);
                     break;
                  case 12:
  +                  if ((0x7fffffe07fffffeL & l) != 0L && kind > 62)
  +                     kind = 62;
  +                  break;
  +               case 13:
                     if (curChar == 92)
  -                     jjAddStates(14, 15);
  +                     jjAddStates(7, 8);
                     break;
                  default : break;
               }
  @@ -3242,18 +3259,14 @@
            {
               switch(jjstateSet[--i])
               {
  -               case 8:
  -               case 7:
  -                  if ((jjbitVec0[i2] & l2) == 0L)
  -                     break;
  -                  if (kind > 22)
  -                     kind = 22;
  -                  jjCheckNAdd(7);
  -                  break;
  -               case 10:
  +               case 2:
                     if ((jjbitVec0[i2] & l2) != 0L && kind > 18)
                        kind = 18;
                     break;
  +               case 7:
  +                  if ((jjbitVec0[i2] & l2) != 0L)
  +                     jjAddStates(14, 15);
  +                  break;
                  default : break;
               }
            } while(i != startsAt);
  @@ -3265,14 +3278,14 @@
            kind = 0x7fffffff;
         }
         ++curPos;
  -      if ((i = jjnewStateCnt) == (startsAt = 13 - (jjnewStateCnt = startsAt)))
  +      if ((i = jjnewStateCnt) == (startsAt = 14 - (jjnewStateCnt = startsAt)))
            return curPos;
         try { curChar = input_stream.readChar(); }
         catch(java.io.IOException e) { return curPos; }
      }
   }
   static final int[] jjnextStates = {
  -   1, 2, 4, 5, 10, 12, 13, 0, 5, 7, 8, 7, 8, 10, 5, 6, 
  +   1, 2, 4, 5, 10, 12, 13, 0, 5, 7, 8, 10, 5, 6, 7, 8, 
   };
   public static final String[] jjstrLiteralImages = {
   null, null, null, null, null, null, null, null, null, null, null, null, null, 
  @@ -3910,7 +3923,7 @@
            *  because we want to handle the \n after
            */
   
  -        if ( lparen == 0 && !inSet )
  +        if ( lparen == 0 && !inSet && curLexState != REFMOD2)
               stateStackPop();
            break;
         case 62 :
  
  
  

Reply via email to