geirm       00/11/05 11:20:39

  Modified:    src/java/org/apache/velocity/runtime/parser Parser.java
                        Parser.jj ParserConstants.java
                        ParserTokenManager.java
  Log:
  Parser.jjt followers.
  
  Revision  Changes    Path
  1.23      +124 -124  
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.22
  retrieving revision 1.23
  diff -u -r1.22 -r1.23
  --- Parser.java       2000/11/05 16:28:44     1.22
  +++ Parser.java       2000/11/05 19:20:37     1.23
  @@ -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.22 2000/11/05 16:28:44 geirm Exp $ 
  + * @version $Id: Parser.java,v 1.23 2000/11/05 19:20:37 geirm Exp $ 
   */
   public class Parser/*@bgen(jjtree)*/implements ParserTreeConstants, ParserConstants 
{/*@bgen(jjtree)*/
     protected JJTParserState jjtree = new JJTParserState();
  @@ -117,6 +117,7 @@
           case ESCAPE_ELSEIF_DIRECTIVE:
           case ESCAPE_ELSE_DIRECTIVE:
           case ESCAPE_STOP_DIRECTIVE:
  +        case SET_DIRECTIVE:
           case ESCAPE:
           case TEXT:
           case SINGLE_LINE_COMMENT:
  @@ -126,7 +127,6 @@
           case NEWLINE:
           case INCLUDE_DIRECTIVE:
           case IF_DIRECTIVE:
  -        case SET_DIRECTIVE:
           case STOP_DIRECTIVE:
           case NUMBER_LITERAL:
           case WORD:
  @@ -422,6 +422,7 @@
             case ESCAPE_ELSEIF_DIRECTIVE:
             case ESCAPE_ELSE_DIRECTIVE:
             case ESCAPE_STOP_DIRECTIVE:
  +          case SET_DIRECTIVE:
             case ESCAPE:
             case TEXT:
             case SINGLE_LINE_COMMENT:
  @@ -431,7 +432,6 @@
             case NEWLINE:
             case INCLUDE_DIRECTIVE:
             case IF_DIRECTIVE:
  -          case SET_DIRECTIVE:
             case STOP_DIRECTIVE:
             case NUMBER_LITERAL:
             case WORD:
  @@ -839,6 +839,7 @@
             case ESCAPE_ELSEIF_DIRECTIVE:
             case ESCAPE_ELSE_DIRECTIVE:
             case ESCAPE_STOP_DIRECTIVE:
  +          case SET_DIRECTIVE:
             case ESCAPE:
             case TEXT:
             case SINGLE_LINE_COMMENT:
  @@ -848,7 +849,6 @@
             case NEWLINE:
             case INCLUDE_DIRECTIVE:
             case IF_DIRECTIVE:
  -          case SET_DIRECTIVE:
             case STOP_DIRECTIVE:
             case NUMBER_LITERAL:
             case WORD:
  @@ -954,6 +954,7 @@
             case ESCAPE_ELSEIF_DIRECTIVE:
             case ESCAPE_ELSE_DIRECTIVE:
             case ESCAPE_STOP_DIRECTIVE:
  +          case SET_DIRECTIVE:
             case ESCAPE:
             case TEXT:
             case SINGLE_LINE_COMMENT:
  @@ -963,7 +964,6 @@
             case NEWLINE:
             case INCLUDE_DIRECTIVE:
             case IF_DIRECTIVE:
  -          case SET_DIRECTIVE:
             case STOP_DIRECTIVE:
             case NUMBER_LITERAL:
             case WORD:
  @@ -1044,6 +1044,7 @@
             case ESCAPE_ELSEIF_DIRECTIVE:
             case ESCAPE_ELSE_DIRECTIVE:
             case ESCAPE_STOP_DIRECTIVE:
  +          case SET_DIRECTIVE:
             case ESCAPE:
             case TEXT:
             case SINGLE_LINE_COMMENT:
  @@ -1053,7 +1054,6 @@
             case NEWLINE:
             case INCLUDE_DIRECTIVE:
             case IF_DIRECTIVE:
  -          case SET_DIRECTIVE:
             case STOP_DIRECTIVE:
             case NUMBER_LITERAL:
             case WORD:
  @@ -1820,122 +1820,6 @@
       return retval;
     }
   
  -  final private boolean jj_3R_64() {
  -    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_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    return false;
  -  }
  -
  -  final private boolean jj_3R_59() {
  -    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_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_17() {
  -    if (jj_3R_20()) return true;
  -    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    return false;
  -  }
  -
  -  final private boolean jj_3R_61() {
  -    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_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_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_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    }
  -    return false;
  -  }
  -
  -  final private boolean jj_3_2() {
  -    if (jj_3R_18()) return true;
  -    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    return false;
  -  }
  -
     final private boolean jj_3R_52() {
       if (jj_scan_token(LOGICAL_OR)) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  @@ -2397,6 +2281,122 @@
       return false;
     }
   
  +  final private boolean jj_3R_64() {
  +    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_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    return false;
  +  }
  +
  +  final private boolean jj_3R_59() {
  +    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_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_17() {
  +    if (jj_3R_20()) return true;
  +    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    return false;
  +  }
  +
  +  final private boolean jj_3R_61() {
  +    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_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_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_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    }
  +    return false;
  +  }
  +
  +  final private boolean jj_3_2() {
  +    if (jj_3R_18()) return true;
  +    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    return false;
  +  }
  +
     public ParserTokenManager token_source;
     ASCII_CharStream jj_input_stream;
     public Token token, jj_nt;
  @@ -2407,8 +2407,8 @@
     private boolean jj_semLA;
     private int jj_gen;
     final private int[] jj_la1 = new int[36];
  -  final private int[] jj_la1_0 = 
{0x91f03fb0,0x91f03fb0,0x1c00000,0x10000002,0x10000002,0x91f03fb0,0x8,0x70000002,0x70000002,0x8,0x70000002,0x0,0x0,0x0,0x0,0x90303fb0,0x91f03fb0,0x0,0x0,0x0,0x91f03fb0,0x91f03fb0,0x80000000,0x70000012,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x70000012,0x70000012,};
  -  final private int[] jj_la1_1 = 
{0xe2b30000,0xe2b30000,0x0,0xa2800000,0xa2800000,0xe2b30000,0x0,0xa0000000,0xa0000000,0x0,0xa0000000,0x80000000,0x0,0x20000000,0x0,0x40800000,0xe2b30000,0x40000,0x40000,0x80000,0xe2b30000,0xe2b30000,0x0,0xa0802000,0x40,0x20,0x1800,0x1800,0x780,0x780,0x3,0x3,0x1c,0x1c,0xa0802000,0xa0800000,};
  +  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_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.23      +42 -14    
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.22
  retrieving revision 1.23
  diff -u -r1.22 -r1.23
  --- Parser.jj 2000/11/05 16:28:44     1.22
  +++ Parser.jj 2000/11/05 19:20:37     1.23
  @@ -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.22 2000/11/05 16:28:44 geirm Exp $ 
  + * @version $Id: Parser.jj,v 1.23 2000/11/05 19:20:37 geirm Exp $ 
   */
   public class Parser/*@bgen(jjtree)*/implements ParserTreeConstants/*@egen*/
   {/*@bgen(jjtree)*/
  @@ -456,12 +456,15 @@
   }
   
   /* 
  - *  we never will see a ) in anything but DIRECTIVE and REFMOD2.  Each have their 
own
  + *  we never will see a ')' in anything but DIRECTIVE and REFMOD2.  Each have their 
own
    */
   <DIRECTIVE>
   TOKEN:
   {
  -   <RPAREN: ")" ((" ")* ( "\n" | "\r" | "\r\n" ))?>
  +    /*
  +     *  We will eat any whitespace upto and including a newline for directives
  +     */
  +    <RPAREN: ")" ( ( " " | "\t" )* ( "\n" | "\r" | "\r\n" ))?>
       {
          RPARENHandler();
       }    
  @@ -519,6 +522,30 @@
   
   }
   
  +
  +/*
  + *  needed because #set is so wacky in it's desired behavior.  We want set to eat 
any preceeding whitespace
  + *  so it is invisible in formatting. (As it should be.)  If this works well, I am 
going to chuck the whole MORE:
  + *  token abomination. 
  + */
  +TOKEN:
  +{
  +   <SET_DIRECTIVE: (" "|"\t")* "#set" >
  +    { 
  +        if (! inComment)
  +        {
  +            inDirective = true;
  +
  +            if ( bDebugPrint_ )
  +                System.out.print("#set :  going to " + DIRECTIVE );
  +            
  +            stateStackPush();
  +            inSet = true; 
  +            SwitchTo(DIRECTIVE);
  +        }
  +   }
  +}
  +
   <*>
   MORE :
   {
  @@ -729,7 +756,7 @@
   <PRE_DIRECTIVE> 
   TOKEN :
   {
  -    <END: "end" ( "\n" | "\r" | "\r\n" )?> 
  +    <END: "end" ( ( " " | "\t" )* ( "\n" | "\r" | "\r\n" ) )? > 
       { 
           inDirective = false; 
           stateStackPop();
  @@ -757,11 +784,11 @@
           stateStackPop();
       } 
   
  -|   <SET_DIRECTIVE: "set" >
  -    { 
  -        inSet = true; 
  -        SwitchTo(DIRECTIVE);
  -    }
  +//|   <SET_DIRECTIVE: (" "|"\t")* "set" >
  +//    { 
  +//        inSet = true; 
  +//        SwitchTo(DIRECTIVE);
  +//    }
   
   |   <STOP_DIRECTIVE: "stop">
       {
  @@ -1557,7 +1584,7 @@
   {/*@bgen(jjtree) SetDirective */
      try {
   /*@egen*/
  -   ( <SET_DIRECTIVE> Expression() [<NEWLINE>] )/*@bgen(jjtree)*/
  +   (<SET_DIRECTIVE> Expression() [<NEWLINE>] )/*@bgen(jjtree)*/
      } catch (Throwable jjte000) {
        if (jjtc000) {
          jjtree.clearNodeScope(jjtn000);
  @@ -2193,9 +2220,11 @@
       What You Expect
       ---------------
       The recent versions of the parser are trying to support precise output to 
support general template use.
  -    So the #set statment no longer renders to a \n in the output, nor do the 
control statements.  So if you
  -    had a template
  -    
  +    The directives do not render trailing whitespace and newlines if followed by a 
newline.  They will render preceeding whitespace.
  +    The only exception is #set, which also eats preceeding whitespace.
  + 
  +    So, with a template :
  +
           ------
           #set $foo="foo"
           #if($foo)
  @@ -2208,7 +2237,6 @@
           ------
           $foo = foo
           ------
  -
   
   */
    
  
  
  
  1.11      +36 -36    
jakarta-velocity/src/java/org/apache/velocity/runtime/parser/ParserConstants.java
  
  Index: ParserConstants.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-velocity/src/java/org/apache/velocity/runtime/parser/ParserConstants.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- ParserConstants.java      2000/11/05 05:48:13     1.10
  +++ ParserConstants.java      2000/11/05 19:20:37     1.11
  @@ -17,39 +17,39 @@
     int ESCAPE_ELSEIF_DIRECTIVE = 11;
     int ESCAPE_ELSE_DIRECTIVE = 12;
     int ESCAPE_STOP_DIRECTIVE = 13;
  -  int DOLLAR = 14;
  -  int DOLLARBANG = 15;
  -  int HASH = 19;
  -  int ESCAPE = 20;
  -  int TEXT = 21;
  -  int SINGLE_LINE_COMMENT = 22;
  -  int FORMAL_COMMENT = 23;
  -  int MULTI_LINE_COMMENT = 24;
  -  int STRING_LITERAL = 28;
  -  int TRUE = 29;
  -  int FALSE = 30;
  -  int NEWLINE = 31;
  -  int MINUS = 32;
  -  int PLUS = 33;
  -  int MULTIPLY = 34;
  -  int DIVIDE = 35;
  -  int MODULUS = 36;
  -  int LOGICAL_AND = 37;
  -  int LOGICAL_OR = 38;
  -  int LOGICAL_LT = 39;
  -  int LOGICAL_LE = 40;
  -  int LOGICAL_GT = 41;
  -  int LOGICAL_GE = 42;
  -  int LOGICAL_EQUALS = 43;
  -  int LOGICAL_NOT_EQUALS = 44;
  -  int LOGICAL_NOT = 45;
  -  int EQUALS = 46;
  -  int END = 47;
  -  int INCLUDE_DIRECTIVE = 48;
  -  int IF_DIRECTIVE = 49;
  -  int ELSEIF_DIRECTIVE = 50;
  -  int ELSE_DIRECTIVE = 51;
  -  int SET_DIRECTIVE = 52;
  +  int SET_DIRECTIVE = 14;
  +  int DOLLAR = 15;
  +  int DOLLARBANG = 16;
  +  int HASH = 20;
  +  int ESCAPE = 21;
  +  int TEXT = 22;
  +  int SINGLE_LINE_COMMENT = 23;
  +  int FORMAL_COMMENT = 24;
  +  int MULTI_LINE_COMMENT = 25;
  +  int STRING_LITERAL = 29;
  +  int TRUE = 30;
  +  int FALSE = 31;
  +  int NEWLINE = 32;
  +  int MINUS = 33;
  +  int PLUS = 34;
  +  int MULTIPLY = 35;
  +  int DIVIDE = 36;
  +  int MODULUS = 37;
  +  int LOGICAL_AND = 38;
  +  int LOGICAL_OR = 39;
  +  int LOGICAL_LT = 40;
  +  int LOGICAL_LE = 41;
  +  int LOGICAL_GT = 42;
  +  int LOGICAL_GE = 43;
  +  int LOGICAL_EQUALS = 44;
  +  int LOGICAL_NOT_EQUALS = 45;
  +  int LOGICAL_NOT = 46;
  +  int EQUALS = 47;
  +  int END = 48;
  +  int INCLUDE_DIRECTIVE = 49;
  +  int IF_DIRECTIVE = 50;
  +  int ELSEIF_DIRECTIVE = 51;
  +  int ELSE_DIRECTIVE = 52;
     int STOP_DIRECTIVE = 53;
     int DIGIT = 54;
     int NUMBER_LITERAL = 55;
  @@ -90,10 +90,11 @@
       "\"\\\\#elseif\"",
       "\"\\\\#else\"",
       "\"\\\\#stop\"",
  +    "<SET_DIRECTIVE>",
       "<DOLLAR>",
       "\"$!\"",
       "\"##\"",
  -    "<token of kind 17>",
  +    "<token of kind 18>",
       "\"#*\"",
       "<HASH>",
       "\"\\\\\"",
  @@ -101,7 +102,7 @@
       "<SINGLE_LINE_COMMENT>",
       "\"*#\"",
       "\"*#\"",
  -    "<token of kind 25>",
  +    "<token of kind 26>",
       "\" \"",
       "\"\\t\"",
       "<STRING_LITERAL>",
  @@ -128,7 +129,6 @@
       "\"if\"",
       "\"elseif\"",
       "\"else\"",
  -    "\"set\"",
       "\"stop\"",
       "<DIGIT>",
       "<NUMBER_LITERAL>",
  
  
  
  1.21      +596 -568  
jakarta-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.20
  retrieving revision 1.21
  diff -u -r1.20 -r1.21
  --- ParserTokenManager.java   2000/11/05 16:28:44     1.20
  +++ ParserTokenManager.java   2000/11/05 19:20:38     1.21
  @@ -225,35 +225,35 @@
      switch (pos)
      {
         case 0:
  -         if ((active0 & 0x50000L) != 0L)
  +         if ((active0 & 0x10000L) != 0L)
  +         {
  +            jjmatchedKind = 15;
  +            return -1;
  +         }
  +         if ((active0 & 0xa0000L) != 0L)
            {
  -            jjmatchedKind = 19;
  +            jjmatchedKind = 20;
               return 8;
            }
  -         if ((active0 & 0x60000000L) != 0L)
  +         if ((active0 & 0xc0000000L) != 0L)
            {
               jjmatchedKind = 57;
               return 18;
            }
  -         if ((active0 & 0x8000L) != 0L)
  -         {
  -            jjmatchedKind = 14;
  -            return -1;
  -         }
            return -1;
         case 1:
  -         if ((active0 & 0x40000L) != 0L)
  -            return 6;
  -         if ((active0 & 0x8000L) != 0L)
  +         if ((active0 & 0x10000L) != 0L)
            {
               if (jjmatchedPos == 0)
               {
  -               jjmatchedKind = 14;
  +               jjmatchedKind = 15;
                  jjmatchedPos = 0;
               }
               return -1;
            }
  -         if ((active0 & 0x60000000L) != 0L)
  +         if ((active0 & 0x80000L) != 0L)
  +            return 6;
  +         if ((active0 & 0xc0000000L) != 0L)
            {
               jjmatchedKind = 57;
               jjmatchedPos = 1;
  @@ -261,7 +261,7 @@
            }
            return -1;
         case 2:
  -         if ((active0 & 0x60000000L) != 0L)
  +         if ((active0 & 0xc0000000L) != 0L)
            {
               jjmatchedKind = 57;
               jjmatchedPos = 2;
  @@ -269,13 +269,13 @@
            }
            return -1;
         case 3:
  -         if ((active0 & 0x40000000L) != 0L)
  +         if ((active0 & 0x80000000L) != 0L)
            {
               jjmatchedKind = 57;
               jjmatchedPos = 3;
               return 18;
            }
  -         if ((active0 & 0x20000000L) != 0L)
  +         if ((active0 & 0x40000000L) != 0L)
               return 18;
            return -1;
         default :
  @@ -305,47 +305,47 @@
      switch(curChar)
      {
         case 33:
  -         jjmatchedKind = 45;
  -         return jjMoveStringLiteralDfa1_0(0x100000000000L);
  +         jjmatchedKind = 46;
  +         return jjMoveStringLiteralDfa1_0(0x200000000000L);
         case 35:
  -         return jjMoveStringLiteralDfa1_0(0x50000L);
  +         return jjMoveStringLiteralDfa1_0(0xa0000L);
         case 36:
  -         return jjMoveStringLiteralDfa1_0(0x8000L);
  +         return jjMoveStringLiteralDfa1_0(0x10000L);
         case 37:
  -         return jjStopAtPos(0, 36);
  +         return jjStopAtPos(0, 37);
         case 38:
  -         return jjMoveStringLiteralDfa1_0(0x2000000000L);
  +         return jjMoveStringLiteralDfa1_0(0x4000000000L);
         case 40:
            return jjStopAtPos(0, 4);
         case 42:
  -         return jjStopAtPos(0, 34);
  +         return jjStopAtPos(0, 35);
         case 43:
  -         return jjStopAtPos(0, 33);
  +         return jjStopAtPos(0, 34);
         case 44:
            return jjStopAtPos(0, 3);
         case 45:
  -         return jjStopAtPos(0, 32);
  +         return jjStopAtPos(0, 33);
         case 47:
  -         return jjStopAtPos(0, 35);
  +         return jjStopAtPos(0, 36);
         case 60:
  -         jjmatchedKind = 39;
  -         return jjMoveStringLiteralDfa1_0(0x10000000000L);
  +         jjmatchedKind = 40;
  +         return jjMoveStringLiteralDfa1_0(0x20000000000L);
         case 61:
  -         jjmatchedKind = 46;
  -         return jjMoveStringLiteralDfa1_0(0x80000000000L);
  +         jjmatchedKind = 47;
  +         return jjMoveStringLiteralDfa1_0(0x100000000000L);
         case 62:
  -         jjmatchedKind = 41;
  -         return jjMoveStringLiteralDfa1_0(0x40000000000L);
  +         jjmatchedKind = 42;
  +         return jjMoveStringLiteralDfa1_0(0x80000000000L);
         case 91:
            return jjStopAtPos(0, 1);
         case 93:
            return jjStopAtPos(0, 2);
         case 102:
  -         return jjMoveStringLiteralDfa1_0(0x40000000L);
  +         return jjMoveStringLiteralDfa1_0(0x80000000L);
         case 116:
  -         return jjMoveStringLiteralDfa1_0(0x20000000L);
  +         return jjMoveStringLiteralDfa1_0(0x40000000L);
         case 124:
  -         return jjMoveStringLiteralDfa1_0(0x4000000000L);
  +         return jjMoveStringLiteralDfa1_0(0x8000000000L);
         default :
            return jjMoveNfa_0(0, 0);
      }
  @@ -360,38 +360,38 @@
      switch(curChar)
      {
         case 33:
  -         if ((active0 & 0x8000L) != 0L)
  -            return jjStopAtPos(1, 15);
  -         break;
  -      case 35:
            if ((active0 & 0x10000L) != 0L)
               return jjStopAtPos(1, 16);
            break;
  +      case 35:
  +         if ((active0 & 0x20000L) != 0L)
  +            return jjStopAtPos(1, 17);
  +         break;
         case 38:
  -         if ((active0 & 0x2000000000L) != 0L)
  -            return jjStopAtPos(1, 37);
  +         if ((active0 & 0x4000000000L) != 0L)
  +            return jjStopAtPos(1, 38);
            break;
         case 42:
  -         if ((active0 & 0x40000L) != 0L)
  -            return jjStartNfaWithStates_0(1, 18, 6);
  +         if ((active0 & 0x80000L) != 0L)
  +            return jjStartNfaWithStates_0(1, 19, 6);
            break;
         case 61:
  -         if ((active0 & 0x10000000000L) != 0L)
  -            return jjStopAtPos(1, 40);
  -         else if ((active0 & 0x40000000000L) != 0L)
  -            return jjStopAtPos(1, 42);
  +         if ((active0 & 0x20000000000L) != 0L)
  +            return jjStopAtPos(1, 41);
            else if ((active0 & 0x80000000000L) != 0L)
               return jjStopAtPos(1, 43);
            else if ((active0 & 0x100000000000L) != 0L)
               return jjStopAtPos(1, 44);
  +         else if ((active0 & 0x200000000000L) != 0L)
  +            return jjStopAtPos(1, 45);
            break;
         case 97:
  -         return jjMoveStringLiteralDfa2_0(active0, 0x40000000L);
  +         return jjMoveStringLiteralDfa2_0(active0, 0x80000000L);
         case 114:
  -         return jjMoveStringLiteralDfa2_0(active0, 0x20000000L);
  +         return jjMoveStringLiteralDfa2_0(active0, 0x40000000L);
         case 124:
  -         if ((active0 & 0x4000000000L) != 0L)
  -            return jjStopAtPos(1, 38);
  +         if ((active0 & 0x8000000000L) != 0L)
  +            return jjStopAtPos(1, 39);
            break;
         default :
            break;
  @@ -410,9 +410,9 @@
      switch(curChar)
      {
         case 108:
  -         return jjMoveStringLiteralDfa3_0(active0, 0x40000000L);
  +         return jjMoveStringLiteralDfa3_0(active0, 0x80000000L);
         case 117:
  -         return jjMoveStringLiteralDfa3_0(active0, 0x20000000L);
  +         return jjMoveStringLiteralDfa3_0(active0, 0x40000000L);
         default :
            break;
      }
  @@ -430,11 +430,11 @@
      switch(curChar)
      {
         case 101:
  -         if ((active0 & 0x20000000L) != 0L)
  -            return jjStartNfaWithStates_0(3, 29, 18);
  +         if ((active0 & 0x40000000L) != 0L)
  +            return jjStartNfaWithStates_0(3, 30, 18);
            break;
         case 115:
  -         return jjMoveStringLiteralDfa4_0(active0, 0x40000000L);
  +         return jjMoveStringLiteralDfa4_0(active0, 0x80000000L);
         default :
            break;
      }
  @@ -452,8 +452,8 @@
      switch(curChar)
      {
         case 101:
  -         if ((active0 & 0x40000000L) != 0L)
  -            return jjStartNfaWithStates_0(4, 30, 18);
  +         if ((active0 & 0x80000000L) != 0L)
  +            return jjStartNfaWithStates_0(4, 31, 18);
            break;
         default :
            break;
  @@ -521,20 +521,20 @@
                     }
                     else if ((0x2400L & l) != 0L)
                     {
  -                     if (kind > 31)
  -                        kind = 31;
  +                     if (kind > 32)
  +                        kind = 32;
                     }
                     else if (curChar == 34)
                        jjCheckNAddTwoStates(12, 13);
                     else if (curChar == 35)
                     {
  -                     if (kind > 19)
  -                        kind = 19;
  +                     if (kind > 20)
  +                        kind = 20;
                     }
                     else if (curChar == 36)
                     {
  -                     if (kind > 14)
  -                        kind = 14;
  +                     if (kind > 15)
  +                        kind = 15;
                     }
                     else if (curChar == 41)
                     {
  @@ -548,7 +548,7 @@
                        jjstateSet[jjnewStateCnt++] = 8;
                     break;
                  case 1:
  -                  if (curChar == 32)
  +                  if ((0x100000200L & l) != 0L)
                        jjCheckNAddStates(0, 2);
                     break;
                  case 2:
  @@ -564,16 +564,16 @@
                        jjstateSet[jjnewStateCnt++] = 3;
                     break;
                  case 5:
  -                  if (curChar == 36 && kind > 14)
  -                     kind = 14;
  +                  if (curChar == 36 && kind > 15)
  +                     kind = 15;
                     break;
                  case 6:
                     if (curChar == 42)
                        jjstateSet[jjnewStateCnt++] = 7;
                     break;
                  case 7:
  -                  if ((0xfffffff7ffffffffL & l) != 0L && kind > 17)
  -                     kind = 17;
  +                  if ((0xfffffff7ffffffffL & l) != 0L && kind > 18)
  +                     kind = 18;
                     break;
                  case 8:
                     if (curChar == 42)
  @@ -584,8 +584,8 @@
                        jjstateSet[jjnewStateCnt++] = 8;
                     break;
                  case 10:
  -                  if (curChar == 35 && kind > 19)
  -                     kind = 19;
  +                  if (curChar == 35 && kind > 20)
  +                     kind = 20;
                     break;
                  case 11:
                     if (curChar == 34)
  @@ -596,16 +596,16 @@
                        jjCheckNAddTwoStates(12, 13);
                     break;
                  case 13:
  -                  if (curChar == 34 && kind > 28)
  -                     kind = 28;
  +                  if (curChar == 34 && kind > 29)
  +                     kind = 29;
                     break;
                  case 14:
  -                  if ((0x2400L & l) != 0L && kind > 31)
  -                     kind = 31;
  +                  if ((0x2400L & l) != 0L && kind > 32)
  +                     kind = 32;
                     break;
                  case 15:
  -                  if (curChar == 10 && kind > 31)
  -                     kind = 31;
  +                  if (curChar == 10 && kind > 32)
  +                     kind = 32;
                     break;
                  case 16:
                     if (curChar == 13)
  @@ -640,8 +640,8 @@
                        jjAddStates(3, 4);
                     break;
                  case 7:
  -                  if (kind > 17)
  -                     kind = 17;
  +                  if (kind > 18)
  +                     kind = 18;
                     break;
                  case 12:
                     jjAddStates(5, 6);
  @@ -670,8 +670,8 @@
               switch(jjstateSet[--i])
               {
                  case 7:
  -                  if ((jjbitVec0[i2] & l2) != 0L && kind > 17)
  -                     kind = 17;
  +                  if ((jjbitVec0[i2] & l2) != 0L && kind > 18)
  +                     kind = 18;
                     break;
                  case 12:
                     if ((jjbitVec0[i2] & l2) != 0L)
  @@ -699,15 +699,15 @@
      switch (pos)
      {
         case 0:
  -         if ((active0 & 0x50000L) != 0L)
  +         if ((active0 & 0x10000L) != 0L)
            {
  -            jjmatchedKind = 19;
  -            return 3;
  +            jjmatchedKind = 15;
  +            return -1;
            }
  -         if ((active0 & 0x8000L) != 0L)
  +         if ((active0 & 0xa0000L) != 0L)
            {
  -            jjmatchedKind = 14;
  -            return -1;
  +            jjmatchedKind = 20;
  +            return 3;
            }
            return -1;
         default :
  @@ -731,11 +731,11 @@
      switch(curChar)
      {
         case 35:
  -         return jjMoveStringLiteralDfa1_6(0x50000L);
  +         return jjMoveStringLiteralDfa1_6(0xa0000L);
         case 36:
  -         return jjMoveStringLiteralDfa1_6(0x8000L);
  +         return jjMoveStringLiteralDfa1_6(0x10000L);
         case 42:
  -         return jjMoveStringLiteralDfa1_6(0x1000000L);
  +         return jjMoveStringLiteralDfa1_6(0x2000000L);
         default :
            return jjMoveNfa_6(4, 0);
      }
  @@ -750,18 +750,18 @@
      switch(curChar)
      {
         case 33:
  -         if ((active0 & 0x8000L) != 0L)
  -            return jjStopAtPos(1, 15);
  -         break;
  -      case 35:
            if ((active0 & 0x10000L) != 0L)
               return jjStopAtPos(1, 16);
  -         else if ((active0 & 0x1000000L) != 0L)
  -            return jjStopAtPos(1, 24);
  +         break;
  +      case 35:
  +         if ((active0 & 0x20000L) != 0L)
  +            return jjStopAtPos(1, 17);
  +         else if ((active0 & 0x2000000L) != 0L)
  +            return jjStopAtPos(1, 25);
            break;
         case 42:
  -         if ((active0 & 0x40000L) != 0L)
  -            return jjStartNfaWithStates_6(1, 18, 1);
  +         if ((active0 & 0x80000L) != 0L)
  +            return jjStartNfaWithStates_6(1, 19, 1);
            break;
         default :
            break;
  @@ -790,36 +790,36 @@
                  case 4:
                     if (curChar == 35)
                     {
  -                     if (kind > 19)
  -                        kind = 19;
  +                     if (kind > 20)
  +                        kind = 20;
                     }
                     else if (curChar == 36)
                     {
  -                     if (kind > 14)
  -                        kind = 14;
  +                     if (kind > 15)
  +                        kind = 15;
                     }
                     if (curChar == 35)
                        jjstateSet[jjnewStateCnt++] = 3;
                     break;
                  case 0:
  -                  if (curChar == 36 && kind > 14)
  -                     kind = 14;
  +                  if (curChar == 36 && kind > 15)
  +                     kind = 15;
                     break;
                  case 1:
                     if (curChar == 42)
                        jjstateSet[jjnewStateCnt++] = 2;
                     break;
                  case 2:
  -                  if ((0xfffffff7ffffffffL & l) != 0L && kind > 17)
  -                     kind = 17;
  +                  if ((0xfffffff7ffffffffL & l) != 0L && kind > 18)
  +                     kind = 18;
                     break;
                  case 3:
                     if (curChar == 42)
                        jjstateSet[jjnewStateCnt++] = 1;
                     break;
                  case 5:
  -                  if (curChar == 35 && kind > 19)
  -                     kind = 19;
  +                  if (curChar == 35 && kind > 20)
  +                     kind = 20;
                     break;
                  default : break;
               }
  @@ -837,8 +837,8 @@
                        jjAddStates(7, 8);
                     break;
                  case 2:
  -                  if (kind > 17)
  -                     kind = 17;
  +                  if (kind > 18)
  +                     kind = 18;
                     break;
                  default : break;
               }
  @@ -853,8 +853,8 @@
               switch(jjstateSet[--i])
               {
                  case 2:
  -                  if ((jjbitVec0[i2] & l2) != 0L && kind > 17)
  -                     kind = 17;
  +                  if ((jjbitVec0[i2] & l2) != 0L && kind > 18)
  +                     kind = 18;
                     break;
                  default : break;
               }
  @@ -878,35 +878,35 @@
      switch (pos)
      {
         case 0:
  -         if ((active0 & 0x60000000L) != 0L)
  +         if ((active0 & 0x10000L) != 0L)
            {
  +            jjmatchedKind = 15;
  +            return -1;
  +         }
  +         if ((active0 & 0xc0000000L) != 0L)
  +         {
               jjmatchedKind = 61;
               return 10;
            }
  -         if ((active0 & 0x50000L) != 0L)
  +         if ((active0 & 0xa0000L) != 0L)
            {
  -            jjmatchedKind = 19;
  +            jjmatchedKind = 20;
               return 3;
            }
  -         if ((active0 & 0x8000L) != 0L)
  -         {
  -            jjmatchedKind = 14;
  -            return -1;
  -         }
            return -1;
         case 1:
  -         if ((active0 & 0x40000L) != 0L)
  -            return 1;
  -         if ((active0 & 0x8000L) != 0L)
  +         if ((active0 & 0x10000L) != 0L)
            {
               if (jjmatchedPos == 0)
               {
  -               jjmatchedKind = 14;
  +               jjmatchedKind = 15;
                  jjmatchedPos = 0;
               }
               return -1;
            }
  -         if ((active0 & 0x60000000L) != 0L)
  +         if ((active0 & 0x80000L) != 0L)
  +            return 1;
  +         if ((active0 & 0xc0000000L) != 0L)
            {
               jjmatchedKind = 61;
               jjmatchedPos = 1;
  @@ -914,7 +914,7 @@
            }
            return -1;
         case 2:
  -         if ((active0 & 0x60000000L) != 0L)
  +         if ((active0 & 0xc0000000L) != 0L)
            {
               jjmatchedKind = 61;
               jjmatchedPos = 2;
  @@ -922,9 +922,9 @@
            }
            return -1;
         case 3:
  -         if ((active0 & 0x20000000L) != 0L)
  -            return 10;
            if ((active0 & 0x40000000L) != 0L)
  +            return 10;
  +         if ((active0 & 0x80000000L) != 0L)
            {
               jjmatchedKind = 61;
               jjmatchedPos = 3;
  @@ -952,13 +952,13 @@
      switch(curChar)
      {
         case 35:
  -         return jjMoveStringLiteralDfa1_5(0x50000L);
  +         return jjMoveStringLiteralDfa1_5(0xa0000L);
         case 36:
  -         return jjMoveStringLiteralDfa1_5(0x8000L);
  +         return jjMoveStringLiteralDfa1_5(0x10000L);
         case 102:
  -         return jjMoveStringLiteralDfa1_5(0x40000000L);
  +         return jjMoveStringLiteralDfa1_5(0x80000000L);
         case 116:
  -         return jjMoveStringLiteralDfa1_5(0x20000000L);
  +         return jjMoveStringLiteralDfa1_5(0x40000000L);
         case 123:
            return jjStopAtPos(0, 63);
         case 125:
  @@ -977,21 +977,21 @@
      switch(curChar)
      {
         case 33:
  -         if ((active0 & 0x8000L) != 0L)
  -            return jjStopAtPos(1, 15);
  -         break;
  -      case 35:
            if ((active0 & 0x10000L) != 0L)
               return jjStopAtPos(1, 16);
            break;
  +      case 35:
  +         if ((active0 & 0x20000L) != 0L)
  +            return jjStopAtPos(1, 17);
  +         break;
         case 42:
  -         if ((active0 & 0x40000L) != 0L)
  -            return jjStartNfaWithStates_5(1, 18, 1);
  +         if ((active0 & 0x80000L) != 0L)
  +            return jjStartNfaWithStates_5(1, 19, 1);
            break;
         case 97:
  -         return jjMoveStringLiteralDfa2_5(active0, 0x40000000L);
  +         return jjMoveStringLiteralDfa2_5(active0, 0x80000000L);
         case 114:
  -         return jjMoveStringLiteralDfa2_5(active0, 0x20000000L);
  +         return jjMoveStringLiteralDfa2_5(active0, 0x40000000L);
         default :
            break;
      }
  @@ -1009,9 +1009,9 @@
      switch(curChar)
      {
         case 108:
  -         return jjMoveStringLiteralDfa3_5(active0, 0x40000000L);
  +         return jjMoveStringLiteralDfa3_5(active0, 0x80000000L);
         case 117:
  -         return jjMoveStringLiteralDfa3_5(active0, 0x20000000L);
  +         return jjMoveStringLiteralDfa3_5(active0, 0x40000000L);
         default :
            break;
      }
  @@ -1029,11 +1029,11 @@
      switch(curChar)
      {
         case 101:
  -         if ((active0 & 0x20000000L) != 0L)
  -            return jjStartNfaWithStates_5(3, 29, 10);
  +         if ((active0 & 0x40000000L) != 0L)
  +            return jjStartNfaWithStates_5(3, 30, 10);
            break;
         case 115:
  -         return jjMoveStringLiteralDfa4_5(active0, 0x40000000L);
  +         return jjMoveStringLiteralDfa4_5(active0, 0x80000000L);
         default :
            break;
      }
  @@ -1051,8 +1051,8 @@
      switch(curChar)
      {
         case 101:
  -         if ((active0 & 0x40000000L) != 0L)
  -            return jjStartNfaWithStates_5(4, 30, 10);
  +         if ((active0 & 0x80000000L) != 0L)
  +            return jjStartNfaWithStates_5(4, 31, 10);
            break;
         default :
            break;
  @@ -1085,36 +1085,36 @@
                        jjCheckNAddTwoStates(7, 8);
                     else if (curChar == 35)
                     {
  -                     if (kind > 19)
  -                        kind = 19;
  +                     if (kind > 20)
  +                        kind = 20;
                     }
                     else if (curChar == 36)
                     {
  -                     if (kind > 14)
  -                        kind = 14;
  +                     if (kind > 15)
  +                        kind = 15;
                     }
                     if (curChar == 35)
                        jjstateSet[jjnewStateCnt++] = 3;
                     break;
                  case 0:
  -                  if (curChar == 36 && kind > 14)
  -                     kind = 14;
  +                  if (curChar == 36 && kind > 15)
  +                     kind = 15;
                     break;
                  case 1:
                     if (curChar == 42)
                        jjstateSet[jjnewStateCnt++] = 2;
                     break;
                  case 2:
  -                  if ((0xfffffff7ffffffffL & l) != 0L && kind > 17)
  -                     kind = 17;
  +                  if ((0xfffffff7ffffffffL & l) != 0L && kind > 18)
  +                     kind = 18;
                     break;
                  case 3:
                     if (curChar == 42)
                        jjstateSet[jjnewStateCnt++] = 1;
                     break;
                  case 5:
  -                  if (curChar == 35 && kind > 19)
  -                     kind = 19;
  +                  if (curChar == 35 && kind > 20)
  +                     kind = 20;
                     break;
                  case 6:
                     if (curChar == 34)
  @@ -1125,8 +1125,8 @@
                        jjCheckNAddTwoStates(7, 8);
                     break;
                  case 8:
  -                  if (curChar == 34 && kind > 28)
  -                     kind = 28;
  +                  if (curChar == 34 && kind > 29)
  +                     kind = 29;
                     break;
                  case 10:
                     if ((0x3ff200000000000L & l) == 0L)
  @@ -1161,8 +1161,8 @@
                        jjAddStates(7, 8);
                     break;
                  case 2:
  -                  if (kind > 17)
  -                     kind = 17;
  +                  if (kind > 18)
  +                     kind = 18;
                     break;
                  case 7:
                     jjAddStates(9, 10);
  @@ -1202,8 +1202,8 @@
               switch(jjstateSet[--i])
               {
                  case 2:
  -                  if ((jjbitVec0[i2] & l2) != 0L && kind > 17)
  -                     kind = 17;
  +                  if ((jjbitVec0[i2] & l2) != 0L && kind > 18)
  +                     kind = 18;
                     break;
                  case 7:
                     if ((jjbitVec0[i2] & l2) != 0L)
  @@ -1231,35 +1231,35 @@
      switch (pos)
      {
         case 0:
  -         if ((active0 & 0x60000000L) != 0L)
  +         if ((active0 & 0x10000L) != 0L)
  +         {
  +            jjmatchedKind = 15;
  +            return -1;
  +         }
  +         if ((active0 & 0xc0000000L) != 0L)
            {
               jjmatchedKind = 61;
               return 10;
            }
  -         if ((active0 & 0x50000L) != 0L)
  +         if ((active0 & 0xa0000L) != 0L)
            {
  -            jjmatchedKind = 19;
  +            jjmatchedKind = 20;
               return 3;
            }
  -         if ((active0 & 0x8000L) != 0L)
  -         {
  -            jjmatchedKind = 14;
  -            return -1;
  -         }
            return -1;
         case 1:
  -         if ((active0 & 0x40000L) != 0L)
  -            return 1;
  -         if ((active0 & 0x8000L) != 0L)
  +         if ((active0 & 0x10000L) != 0L)
            {
               if (jjmatchedPos == 0)
               {
  -               jjmatchedKind = 14;
  +               jjmatchedKind = 15;
                  jjmatchedPos = 0;
               }
               return -1;
            }
  -         if ((active0 & 0x60000000L) != 0L)
  +         if ((active0 & 0x80000L) != 0L)
  +            return 1;
  +         if ((active0 & 0xc0000000L) != 0L)
            {
               jjmatchedKind = 61;
               jjmatchedPos = 1;
  @@ -1267,7 +1267,7 @@
            }
            return -1;
         case 2:
  -         if ((active0 & 0x60000000L) != 0L)
  +         if ((active0 & 0xc0000000L) != 0L)
            {
               jjmatchedKind = 61;
               jjmatchedPos = 2;
  @@ -1275,9 +1275,9 @@
            }
            return -1;
         case 3:
  -         if ((active0 & 0x20000000L) != 0L)
  -            return 10;
            if ((active0 & 0x40000000L) != 0L)
  +            return 10;
  +         if ((active0 & 0x80000000L) != 0L)
            {
               jjmatchedKind = 61;
               jjmatchedPos = 3;
  @@ -1305,9 +1305,9 @@
      switch(curChar)
      {
         case 35:
  -         return jjMoveStringLiteralDfa1_1(0x50000L);
  +         return jjMoveStringLiteralDfa1_1(0xa0000L);
         case 36:
  -         return jjMoveStringLiteralDfa1_1(0x8000L);
  +         return jjMoveStringLiteralDfa1_1(0x10000L);
         case 40:
            return jjStopAtPos(0, 4);
         case 91:
  @@ -1315,9 +1315,9 @@
         case 93:
            return jjStopAtPos(0, 2);
         case 102:
  -         return jjMoveStringLiteralDfa1_1(0x40000000L);
  +         return jjMoveStringLiteralDfa1_1(0x80000000L);
         case 116:
  -         return jjMoveStringLiteralDfa1_1(0x20000000L);
  +         return jjMoveStringLiteralDfa1_1(0x40000000L);
         case 123:
            return jjStopAtPos(0, 63);
         case 125:
  @@ -1336,21 +1336,21 @@
      switch(curChar)
      {
         case 33:
  -         if ((active0 & 0x8000L) != 0L)
  -            return jjStopAtPos(1, 15);
  -         break;
  -      case 35:
            if ((active0 & 0x10000L) != 0L)
               return jjStopAtPos(1, 16);
            break;
  +      case 35:
  +         if ((active0 & 0x20000L) != 0L)
  +            return jjStopAtPos(1, 17);
  +         break;
         case 42:
  -         if ((active0 & 0x40000L) != 0L)
  -            return jjStartNfaWithStates_1(1, 18, 1);
  +         if ((active0 & 0x80000L) != 0L)
  +            return jjStartNfaWithStates_1(1, 19, 1);
            break;
         case 97:
  -         return jjMoveStringLiteralDfa2_1(active0, 0x40000000L);
  +         return jjMoveStringLiteralDfa2_1(active0, 0x80000000L);
         case 114:
  -         return jjMoveStringLiteralDfa2_1(active0, 0x20000000L);
  +         return jjMoveStringLiteralDfa2_1(active0, 0x40000000L);
         default :
            break;
      }
  @@ -1368,9 +1368,9 @@
      switch(curChar)
      {
         case 108:
  -         return jjMoveStringLiteralDfa3_1(active0, 0x40000000L);
  +         return jjMoveStringLiteralDfa3_1(active0, 0x80000000L);
         case 117:
  -         return jjMoveStringLiteralDfa3_1(active0, 0x20000000L);
  +         return jjMoveStringLiteralDfa3_1(active0, 0x40000000L);
         default :
            break;
      }
  @@ -1388,11 +1388,11 @@
      switch(curChar)
      {
         case 101:
  -         if ((active0 & 0x20000000L) != 0L)
  -            return jjStartNfaWithStates_1(3, 29, 10);
  +         if ((active0 & 0x40000000L) != 0L)
  +            return jjStartNfaWithStates_1(3, 30, 10);
            break;
         case 115:
  -         return jjMoveStringLiteralDfa4_1(active0, 0x40000000L);
  +         return jjMoveStringLiteralDfa4_1(active0, 0x80000000L);
         default :
            break;
      }
  @@ -1410,8 +1410,8 @@
      switch(curChar)
      {
         case 101:
  -         if ((active0 & 0x40000000L) != 0L)
  -            return jjStartNfaWithStates_1(4, 30, 10);
  +         if ((active0 & 0x80000000L) != 0L)
  +            return jjStartNfaWithStates_1(4, 31, 10);
            break;
         default :
            break;
  @@ -1444,36 +1444,36 @@
                        jjCheckNAddTwoStates(7, 8);
                     else if (curChar == 35)
                     {
  -                     if (kind > 19)
  -                        kind = 19;
  +                     if (kind > 20)
  +                        kind = 20;
                     }
                     else if (curChar == 36)
                     {
  -                     if (kind > 14)
  -                        kind = 14;
  +                     if (kind > 15)
  +                        kind = 15;
                     }
                     if (curChar == 35)
                        jjstateSet[jjnewStateCnt++] = 3;
                     break;
                  case 0:
  -                  if (curChar == 36 && kind > 14)
  -                     kind = 14;
  +                  if (curChar == 36 && kind > 15)
  +                     kind = 15;
                     break;
                  case 1:
                     if (curChar == 42)
                        jjstateSet[jjnewStateCnt++] = 2;
                     break;
                  case 2:
  -                  if ((0xfffffff7ffffffffL & l) != 0L && kind > 17)
  -                     kind = 17;
  +                  if ((0xfffffff7ffffffffL & l) != 0L && kind > 18)
  +                     kind = 18;
                     break;
                  case 3:
                     if (curChar == 42)
                        jjstateSet[jjnewStateCnt++] = 1;
                     break;
                  case 5:
  -                  if (curChar == 35 && kind > 19)
  -                     kind = 19;
  +                  if (curChar == 35 && kind > 20)
  +                     kind = 20;
                     break;
                  case 6:
                     if (curChar == 34)
  @@ -1484,8 +1484,8 @@
                        jjCheckNAddTwoStates(7, 8);
                     break;
                  case 8:
  -                  if (curChar == 34 && kind > 28)
  -                     kind = 28;
  +                  if (curChar == 34 && kind > 29)
  +                     kind = 29;
                     break;
                  case 10:
                     if ((0x3ff200000000000L & l) == 0L)
  @@ -1520,8 +1520,8 @@
                        jjAddStates(7, 8);
                     break;
                  case 2:
  -                  if (kind > 17)
  -                     kind = 17;
  +                  if (kind > 18)
  +                     kind = 18;
                     break;
                  case 7:
                     jjAddStates(9, 10);
  @@ -1561,8 +1561,8 @@
               switch(jjstateSet[--i])
               {
                  case 2:
  -                  if ((jjbitVec0[i2] & l2) != 0L && kind > 17)
  -                     kind = 17;
  +                  if ((jjbitVec0[i2] & l2) != 0L && kind > 18)
  +                     kind = 18;
                     break;
                  case 7:
                     if ((jjbitVec0[i2] & l2) != 0L)
  @@ -1590,15 +1590,15 @@
      switch (pos)
      {
         case 0:
  -         if ((active0 & 0x50000L) != 0L)
  +         if ((active0 & 0x10000L) != 0L)
            {
  -            jjmatchedKind = 19;
  -            return 3;
  +            jjmatchedKind = 15;
  +            return -1;
            }
  -         if ((active0 & 0x8000L) != 0L)
  +         if ((active0 & 0xa0000L) != 0L)
            {
  -            jjmatchedKind = 14;
  -            return -1;
  +            jjmatchedKind = 20;
  +            return 3;
            }
            return -1;
         default :
  @@ -1622,11 +1622,11 @@
      switch(curChar)
      {
         case 35:
  -         return jjMoveStringLiteralDfa1_7(0x50000L);
  +         return jjMoveStringLiteralDfa1_7(0xa0000L);
         case 36:
  -         return jjMoveStringLiteralDfa1_7(0x8000L);
  +         return jjMoveStringLiteralDfa1_7(0x10000L);
         case 42:
  -         return jjMoveStringLiteralDfa1_7(0x800000L);
  +         return jjMoveStringLiteralDfa1_7(0x1000000L);
         default :
            return jjMoveNfa_7(4, 0);
      }
  @@ -1641,18 +1641,18 @@
      switch(curChar)
      {
         case 33:
  -         if ((active0 & 0x8000L) != 0L)
  -            return jjStopAtPos(1, 15);
  -         break;
  -      case 35:
            if ((active0 & 0x10000L) != 0L)
               return jjStopAtPos(1, 16);
  -         else if ((active0 & 0x800000L) != 0L)
  -            return jjStopAtPos(1, 23);
            break;
  +      case 35:
  +         if ((active0 & 0x20000L) != 0L)
  +            return jjStopAtPos(1, 17);
  +         else if ((active0 & 0x1000000L) != 0L)
  +            return jjStopAtPos(1, 24);
  +         break;
         case 42:
  -         if ((active0 & 0x40000L) != 0L)
  -            return jjStartNfaWithStates_7(1, 18, 1);
  +         if ((active0 & 0x80000L) != 0L)
  +            return jjStartNfaWithStates_7(1, 19, 1);
            break;
         default :
            break;
  @@ -1681,36 +1681,36 @@
                  case 4:
                     if (curChar == 35)
                     {
  -                     if (kind > 19)
  -                        kind = 19;
  +                     if (kind > 20)
  +                        kind = 20;
                     }
                     else if (curChar == 36)
                     {
  -                     if (kind > 14)
  -                        kind = 14;
  +                     if (kind > 15)
  +                        kind = 15;
                     }
                     if (curChar == 35)
                        jjstateSet[jjnewStateCnt++] = 3;
                     break;
                  case 0:
  -                  if (curChar == 36 && kind > 14)
  -                     kind = 14;
  +                  if (curChar == 36 && kind > 15)
  +                     kind = 15;
                     break;
                  case 1:
                     if (curChar == 42)
                        jjstateSet[jjnewStateCnt++] = 2;
                     break;
                  case 2:
  -                  if ((0xfffffff7ffffffffL & l) != 0L && kind > 17)
  -                     kind = 17;
  +                  if ((0xfffffff7ffffffffL & l) != 0L && kind > 18)
  +                     kind = 18;
                     break;
                  case 3:
                     if (curChar == 42)
                        jjstateSet[jjnewStateCnt++] = 1;
                     break;
                  case 5:
  -                  if (curChar == 35 && kind > 19)
  -                     kind = 19;
  +                  if (curChar == 35 && kind > 20)
  +                     kind = 20;
                     break;
                  default : break;
               }
  @@ -1728,8 +1728,8 @@
                        jjAddStates(7, 8);
                     break;
                  case 2:
  -                  if (kind > 17)
  -                     kind = 17;
  +                  if (kind > 18)
  +                     kind = 18;
                     break;
                  default : break;
               }
  @@ -1744,8 +1744,8 @@
               switch(jjstateSet[--i])
               {
                  case 2:
  -                  if ((jjbitVec0[i2] & l2) != 0L && kind > 17)
  -                     kind = 17;
  +                  if ((jjbitVec0[i2] & l2) != 0L && kind > 18)
  +                     kind = 18;
                     break;
                  default : break;
               }
  @@ -1769,35 +1769,35 @@
      switch (pos)
      {
         case 0:
  -         if ((active0 & 0x60000000L) != 0L)
  +         if ((active0 & 0x10000L) != 0L)
  +         {
  +            jjmatchedKind = 15;
  +            return -1;
  +         }
  +         if ((active0 & 0xc0000000L) != 0L)
            {
               jjmatchedKind = 61;
               return 10;
            }
  -         if ((active0 & 0x50000L) != 0L)
  +         if ((active0 & 0xa0000L) != 0L)
            {
  -            jjmatchedKind = 19;
  +            jjmatchedKind = 20;
               return 3;
            }
  -         if ((active0 & 0x8000L) != 0L)
  -         {
  -            jjmatchedKind = 14;
  -            return -1;
  -         }
            return -1;
         case 1:
  -         if ((active0 & 0x40000L) != 0L)
  -            return 1;
  -         if ((active0 & 0x8000L) != 0L)
  +         if ((active0 & 0x10000L) != 0L)
            {
               if (jjmatchedPos == 0)
               {
  -               jjmatchedKind = 14;
  +               jjmatchedKind = 15;
                  jjmatchedPos = 0;
               }
               return -1;
            }
  -         if ((active0 & 0x60000000L) != 0L)
  +         if ((active0 & 0x80000L) != 0L)
  +            return 1;
  +         if ((active0 & 0xc0000000L) != 0L)
            {
               jjmatchedKind = 61;
               jjmatchedPos = 1;
  @@ -1805,7 +1805,7 @@
            }
            return -1;
         case 2:
  -         if ((active0 & 0x60000000L) != 0L)
  +         if ((active0 & 0xc0000000L) != 0L)
            {
               jjmatchedKind = 61;
               jjmatchedPos = 2;
  @@ -1813,9 +1813,9 @@
            }
            return -1;
         case 3:
  -         if ((active0 & 0x20000000L) != 0L)
  -            return 10;
            if ((active0 & 0x40000000L) != 0L)
  +            return 10;
  +         if ((active0 & 0x80000000L) != 0L)
            {
               jjmatchedKind = 61;
               jjmatchedPos = 3;
  @@ -1843,9 +1843,9 @@
      switch(curChar)
      {
         case 35:
  -         return jjMoveStringLiteralDfa1_2(0x50000L);
  +         return jjMoveStringLiteralDfa1_2(0xa0000L);
         case 36:
  -         return jjMoveStringLiteralDfa1_2(0x8000L);
  +         return jjMoveStringLiteralDfa1_2(0x10000L);
         case 41:
            return jjStopAtPos(0, 6);
         case 44:
  @@ -1855,9 +1855,9 @@
         case 93:
            return jjStopAtPos(0, 2);
         case 102:
  -         return jjMoveStringLiteralDfa1_2(0x40000000L);
  +         return jjMoveStringLiteralDfa1_2(0x80000000L);
         case 116:
  -         return jjMoveStringLiteralDfa1_2(0x20000000L);
  +         return jjMoveStringLiteralDfa1_2(0x40000000L);
         case 123:
            return jjStopAtPos(0, 63);
         case 125:
  @@ -1876,21 +1876,21 @@
      switch(curChar)
      {
         case 33:
  -         if ((active0 & 0x8000L) != 0L)
  -            return jjStopAtPos(1, 15);
  -         break;
  -      case 35:
            if ((active0 & 0x10000L) != 0L)
               return jjStopAtPos(1, 16);
            break;
  +      case 35:
  +         if ((active0 & 0x20000L) != 0L)
  +            return jjStopAtPos(1, 17);
  +         break;
         case 42:
  -         if ((active0 & 0x40000L) != 0L)
  -            return jjStartNfaWithStates_2(1, 18, 1);
  +         if ((active0 & 0x80000L) != 0L)
  +            return jjStartNfaWithStates_2(1, 19, 1);
            break;
         case 97:
  -         return jjMoveStringLiteralDfa2_2(active0, 0x40000000L);
  +         return jjMoveStringLiteralDfa2_2(active0, 0x80000000L);
         case 114:
  -         return jjMoveStringLiteralDfa2_2(active0, 0x20000000L);
  +         return jjMoveStringLiteralDfa2_2(active0, 0x40000000L);
         default :
            break;
      }
  @@ -1908,9 +1908,9 @@
      switch(curChar)
      {
         case 108:
  -         return jjMoveStringLiteralDfa3_2(active0, 0x40000000L);
  +         return jjMoveStringLiteralDfa3_2(active0, 0x80000000L);
         case 117:
  -         return jjMoveStringLiteralDfa3_2(active0, 0x20000000L);
  +         return jjMoveStringLiteralDfa3_2(active0, 0x40000000L);
         default :
            break;
      }
  @@ -1928,11 +1928,11 @@
      switch(curChar)
      {
         case 101:
  -         if ((active0 & 0x20000000L) != 0L)
  -            return jjStartNfaWithStates_2(3, 29, 10);
  +         if ((active0 & 0x40000000L) != 0L)
  +            return jjStartNfaWithStates_2(3, 30, 10);
            break;
         case 115:
  -         return jjMoveStringLiteralDfa4_2(active0, 0x40000000L);
  +         return jjMoveStringLiteralDfa4_2(active0, 0x80000000L);
         default :
            break;
      }
  @@ -1950,8 +1950,8 @@
      switch(curChar)
      {
         case 101:
  -         if ((active0 & 0x40000000L) != 0L)
  -            return jjStartNfaWithStates_2(4, 30, 10);
  +         if ((active0 & 0x80000000L) != 0L)
  +            return jjStartNfaWithStates_2(4, 31, 10);
            break;
         default :
            break;
  @@ -1984,36 +1984,36 @@
                        jjCheckNAddTwoStates(7, 8);
                     else if (curChar == 35)
                     {
  -                     if (kind > 19)
  -                        kind = 19;
  +                     if (kind > 20)
  +                        kind = 20;
                     }
                     else if (curChar == 36)
                     {
  -                     if (kind > 14)
  -                        kind = 14;
  +                     if (kind > 15)
  +                        kind = 15;
                     }
                     if (curChar == 35)
                        jjstateSet[jjnewStateCnt++] = 3;
                     break;
                  case 0:
  -                  if (curChar == 36 && kind > 14)
  -                     kind = 14;
  +                  if (curChar == 36 && kind > 15)
  +                     kind = 15;
                     break;
                  case 1:
                     if (curChar == 42)
                        jjstateSet[jjnewStateCnt++] = 2;
                     break;
                  case 2:
  -                  if ((0xfffffff7ffffffffL & l) != 0L && kind > 17)
  -                     kind = 17;
  +                  if ((0xfffffff7ffffffffL & l) != 0L && kind > 18)
  +                     kind = 18;
                     break;
                  case 3:
                     if (curChar == 42)
                        jjstateSet[jjnewStateCnt++] = 1;
                     break;
                  case 5:
  -                  if (curChar == 35 && kind > 19)
  -                     kind = 19;
  +                  if (curChar == 35 && kind > 20)
  +                     kind = 20;
                     break;
                  case 6:
                     if (curChar == 34)
  @@ -2024,8 +2024,8 @@
                        jjCheckNAddTwoStates(7, 8);
                     break;
                  case 8:
  -                  if (curChar == 34 && kind > 28)
  -                     kind = 28;
  +                  if (curChar == 34 && kind > 29)
  +                     kind = 29;
                     break;
                  case 10:
                     if ((0x3ff200000000000L & l) == 0L)
  @@ -2060,8 +2060,8 @@
                        jjAddStates(7, 8);
                     break;
                  case 2:
  -                  if (kind > 17)
  -                     kind = 17;
  +                  if (kind > 18)
  +                     kind = 18;
                     break;
                  case 7:
                     jjAddStates(9, 10);
  @@ -2101,8 +2101,8 @@
               switch(jjstateSet[--i])
               {
                  case 2:
  -                  if ((jjbitVec0[i2] & l2) != 0L && kind > 17)
  -                     kind = 17;
  +                  if ((jjbitVec0[i2] & l2) != 0L && kind > 18)
  +                     kind = 18;
                     break;
                  case 7:
                     if ((jjbitVec0[i2] & l2) != 0L)
  @@ -2130,15 +2130,15 @@
      switch (pos)
      {
         case 0:
  -         if ((active0 & 0x50000L) != 0L)
  +         if ((active0 & 0x10000L) != 0L)
            {
  -            jjmatchedKind = 19;
  -            return 3;
  +            jjmatchedKind = 15;
  +            return -1;
            }
  -         if ((active0 & 0x8000L) != 0L)
  +         if ((active0 & 0xa0000L) != 0L)
            {
  -            jjmatchedKind = 14;
  -            return -1;
  +            jjmatchedKind = 20;
  +            return 3;
            }
            return -1;
         default :
  @@ -2162,9 +2162,9 @@
      switch(curChar)
      {
         case 35:
  -         return jjMoveStringLiteralDfa1_8(0x50000L);
  +         return jjMoveStringLiteralDfa1_8(0xa0000L);
         case 36:
  -         return jjMoveStringLiteralDfa1_8(0x8000L);
  +         return jjMoveStringLiteralDfa1_8(0x10000L);
         default :
            return jjMoveNfa_8(4, 0);
      }
  @@ -2179,16 +2179,16 @@
      switch(curChar)
      {
         case 33:
  -         if ((active0 & 0x8000L) != 0L)
  -            return jjStopAtPos(1, 15);
  -         break;
  -      case 35:
            if ((active0 & 0x10000L) != 0L)
               return jjStopAtPos(1, 16);
            break;
  +      case 35:
  +         if ((active0 & 0x20000L) != 0L)
  +            return jjStopAtPos(1, 17);
  +         break;
         case 42:
  -         if ((active0 & 0x40000L) != 0L)
  -            return jjStartNfaWithStates_8(1, 18, 1);
  +         if ((active0 & 0x80000L) != 0L)
  +            return jjStartNfaWithStates_8(1, 19, 1);
            break;
         default :
            break;
  @@ -2217,18 +2217,18 @@
                  case 4:
                     if ((0x2400L & l) != 0L)
                     {
  -                     if (kind > 22)
  -                        kind = 22;
  +                     if (kind > 23)
  +                        kind = 23;
                     }
                     else if (curChar == 35)
                     {
  -                     if (kind > 19)
  -                        kind = 19;
  +                     if (kind > 20)
  +                        kind = 20;
                     }
                     else if (curChar == 36)
                     {
  -                     if (kind > 14)
  -                        kind = 14;
  +                     if (kind > 15)
  +                        kind = 15;
                     }
                     if (curChar == 13)
                        jjstateSet[jjnewStateCnt++] = 7;
  @@ -2236,32 +2236,32 @@
                        jjstateSet[jjnewStateCnt++] = 3;
                     break;
                  case 0:
  -                  if (curChar == 36 && kind > 14)
  -                     kind = 14;
  +                  if (curChar == 36 && kind > 15)
  +                     kind = 15;
                     break;
                  case 1:
                     if (curChar == 42)
                        jjstateSet[jjnewStateCnt++] = 2;
                     break;
                  case 2:
  -                  if ((0xfffffff7ffffffffL & l) != 0L && kind > 17)
  -                     kind = 17;
  +                  if ((0xfffffff7ffffffffL & l) != 0L && kind > 18)
  +                     kind = 18;
                     break;
                  case 3:
                     if (curChar == 42)
                        jjstateSet[jjnewStateCnt++] = 1;
                     break;
                  case 5:
  -                  if (curChar == 35 && kind > 19)
  -                     kind = 19;
  +                  if (curChar == 35 && kind > 20)
  +                     kind = 20;
                     break;
                  case 6:
  -                  if ((0x2400L & l) != 0L && kind > 22)
  -                     kind = 22;
  +                  if ((0x2400L & l) != 0L && kind > 23)
  +                     kind = 23;
                     break;
                  case 7:
  -                  if (curChar == 10 && kind > 22)
  -                     kind = 22;
  +                  if (curChar == 10 && kind > 23)
  +                     kind = 23;
                     break;
                  case 8:
                     if (curChar == 13)
  @@ -2283,8 +2283,8 @@
                        jjAddStates(7, 8);
                     break;
                  case 2:
  -                  if (kind > 17)
  -                     kind = 17;
  +                  if (kind > 18)
  +                     kind = 18;
                     break;
                  default : break;
               }
  @@ -2299,8 +2299,8 @@
               switch(jjstateSet[--i])
               {
                  case 2:
  -                  if ((jjbitVec0[i2] & l2) != 0L && kind > 17)
  -                     kind = 17;
  +                  if ((jjbitVec0[i2] & l2) != 0L && kind > 18)
  +                     kind = 18;
                     break;
                  default : break;
               }
  @@ -2324,88 +2324,86 @@
      switch (pos)
      {
         case 0:
  -         if ((active0 & 0xc000000000000L) != 0L)
  +         if ((active0 & 0x10000L) != 0L)
            {
  -            jjmatchedKind = 57;
  -            return 10;
  +            jjmatchedKind = 15;
  +            return -1;
            }
  -         if ((active0 & 0x50000L) != 0L)
  +         if ((active0 & 0xa0000L) != 0L)
            {
  -            jjmatchedKind = 19;
  +            jjmatchedKind = 20;
               return 3;
            }
  -         if ((active0 & 0x33000000000000L) != 0L)
  +         if ((active0 & 0x26000000000000L) != 0L)
            {
               jjmatchedKind = 57;
  -            return 13;
  +            return 14;
            }
  -         if ((active0 & 0x8000L) != 0L)
  +         if ((active0 & 0x18000000000000L) != 0L)
            {
  -            jjmatchedKind = 14;
  -            return -1;
  +            jjmatchedKind = 57;
  +            return 11;
            }
            return -1;
         case 1:
  -         if ((active0 & 0x40000L) != 0L)
  -            return 1;
  -         if ((active0 & 0x3d000000000000L) != 0L)
  -         {
  -            jjmatchedKind = 57;
  -            jjmatchedPos = 1;
  -            return 13;
  -         }
  -         if ((active0 & 0x8000L) != 0L)
  +         if ((active0 & 0x4000000000000L) != 0L)
  +            return 14;
  +         if ((active0 & 0x10000L) != 0L)
            {
               if (jjmatchedPos == 0)
               {
  -               jjmatchedKind = 14;
  +               jjmatchedKind = 15;
                  jjmatchedPos = 0;
               }
               return -1;
            }
  -         if ((active0 & 0x2000000000000L) != 0L)
  -            return 13;
  +         if ((active0 & 0x80000L) != 0L)
  +            return 1;
  +         if ((active0 & 0x3a000000000000L) != 0L)
  +         {
  +            jjmatchedKind = 57;
  +            jjmatchedPos = 1;
  +            return 14;
  +         }
            return -1;
         case 2:
  -         if ((active0 & 0x2d000000000000L) != 0L)
  +         if ((active0 & 0x3a000000000000L) != 0L)
            {
               jjmatchedKind = 57;
               jjmatchedPos = 2;
  -            return 13;
  +            return 14;
            }
  -         if ((active0 & 0x10000000000000L) != 0L)
  -            return 13;
            return -1;
         case 3:
  -         if ((active0 & 0x1000000000000L) != 0L)
  +         if ((active0 & 0x38000000000000L) != 0L)
  +            return 14;
  +         if ((active0 & 0x2000000000000L) != 0L)
            {
               if (jjmatchedPos != 3)
               {
                  jjmatchedKind = 57;
                  jjmatchedPos = 3;
               }
  -            return 13;
  +            return 14;
            }
  -         if ((active0 & 0x2c000000000000L) != 0L)
  -            return 13;
            return -1;
         case 4:
  -         if ((active0 & 0x5000000000000L) != 0L)
  +         if ((active0 & 0xa000000000000L) != 0L)
            {
               jjmatchedKind = 57;
               jjmatchedPos = 4;
  -            return 13;
  +            return 14;
            }
            return -1;
         case 5:
  -         if ((active0 & 0x1000000000000L) != 0L)
  +         if ((active0 & 0x8000000000000L) != 0L)
  +            return 14;
  +         if ((active0 & 0x2000000000000L) != 0L)
            {
               jjmatchedKind = 57;
               jjmatchedPos = 5;
  -            return 13;
  +            return 14;
            }
  -         if ((active0 & 0x4000000000000L) != 0L)
  -            return 13;
            return -1;
         default :
            return -1;
  @@ -2428,15 +2426,15 @@
      switch(curChar)
      {
         case 35:
  -         return jjMoveStringLiteralDfa1_4(0x50000L);
  +         return jjMoveStringLiteralDfa1_4(0xa0000L);
         case 36:
  -         return jjMoveStringLiteralDfa1_4(0x8000L);
  +         return jjMoveStringLiteralDfa1_4(0x10000L);
         case 101:
  -         return jjMoveStringLiteralDfa1_4(0xc000000000000L);
  +         return jjMoveStringLiteralDfa1_4(0x18000000000000L);
         case 105:
  -         return jjMoveStringLiteralDfa1_4(0x3000000000000L);
  +         return jjMoveStringLiteralDfa1_4(0x6000000000000L);
         case 115:
  -         return jjMoveStringLiteralDfa1_4(0x30000000000000L);
  +         return jjMoveStringLiteralDfa1_4(0x20000000000000L);
         default :
            return jjMoveNfa_4(4, 0);
      }
  @@ -2451,27 +2449,25 @@
      switch(curChar)
      {
         case 33:
  -         if ((active0 & 0x8000L) != 0L)
  -            return jjStopAtPos(1, 15);
  -         break;
  -      case 35:
            if ((active0 & 0x10000L) != 0L)
               return jjStopAtPos(1, 16);
            break;
  +      case 35:
  +         if ((active0 & 0x20000L) != 0L)
  +            return jjStopAtPos(1, 17);
  +         break;
         case 42:
  -         if ((active0 & 0x40000L) != 0L)
  -            return jjStartNfaWithStates_4(1, 18, 1);
  +         if ((active0 & 0x80000L) != 0L)
  +            return jjStartNfaWithStates_4(1, 19, 1);
            break;
  -      case 101:
  -         return jjMoveStringLiteralDfa2_4(active0, 0x10000000000000L);
         case 102:
  -         if ((active0 & 0x2000000000000L) != 0L)
  -            return jjStartNfaWithStates_4(1, 49, 13);
  +         if ((active0 & 0x4000000000000L) != 0L)
  +            return jjStartNfaWithStates_4(1, 50, 14);
            break;
         case 108:
  -         return jjMoveStringLiteralDfa2_4(active0, 0xc000000000000L);
  +         return jjMoveStringLiteralDfa2_4(active0, 0x18000000000000L);
         case 110:
  -         return jjMoveStringLiteralDfa2_4(active0, 0x1000000000000L);
  +         return jjMoveStringLiteralDfa2_4(active0, 0x2000000000000L);
         case 116:
            return jjMoveStringLiteralDfa2_4(active0, 0x20000000000000L);
         default :
  @@ -2491,15 +2487,11 @@
      switch(curChar)
      {
         case 99:
  -         return jjMoveStringLiteralDfa3_4(active0, 0x1000000000000L);
  +         return jjMoveStringLiteralDfa3_4(active0, 0x2000000000000L);
         case 111:
            return jjMoveStringLiteralDfa3_4(active0, 0x20000000000000L);
         case 115:
  -         return jjMoveStringLiteralDfa3_4(active0, 0xc000000000000L);
  -      case 116:
  -         if ((active0 & 0x10000000000000L) != 0L)
  -            return jjStartNfaWithStates_4(2, 52, 13);
  -         break;
  +         return jjMoveStringLiteralDfa3_4(active0, 0x18000000000000L);
         default :
            break;
      }
  @@ -2517,17 +2509,17 @@
      switch(curChar)
      {
         case 101:
  -         if ((active0 & 0x8000000000000L) != 0L)
  +         if ((active0 & 0x10000000000000L) != 0L)
            {
  -            jjmatchedKind = 51;
  +            jjmatchedKind = 52;
               jjmatchedPos = 3;
            }
  -         return jjMoveStringLiteralDfa4_4(active0, 0x4000000000000L);
  +         return jjMoveStringLiteralDfa4_4(active0, 0x8000000000000L);
         case 108:
  -         return jjMoveStringLiteralDfa4_4(active0, 0x1000000000000L);
  +         return jjMoveStringLiteralDfa4_4(active0, 0x2000000000000L);
         case 112:
            if ((active0 & 0x20000000000000L) != 0L)
  -            return jjStartNfaWithStates_4(3, 53, 13);
  +            return jjStartNfaWithStates_4(3, 53, 14);
            break;
         default :
            break;
  @@ -2546,9 +2538,9 @@
      switch(curChar)
      {
         case 105:
  -         return jjMoveStringLiteralDfa5_4(active0, 0x4000000000000L);
  +         return jjMoveStringLiteralDfa5_4(active0, 0x8000000000000L);
         case 117:
  -         return jjMoveStringLiteralDfa5_4(active0, 0x1000000000000L);
  +         return jjMoveStringLiteralDfa5_4(active0, 0x2000000000000L);
         default :
            break;
      }
  @@ -2566,10 +2558,10 @@
      switch(curChar)
      {
         case 100:
  -         return jjMoveStringLiteralDfa6_4(active0, 0x1000000000000L);
  +         return jjMoveStringLiteralDfa6_4(active0, 0x2000000000000L);
         case 102:
  -         if ((active0 & 0x4000000000000L) != 0L)
  -            return jjStartNfaWithStates_4(5, 50, 13);
  +         if ((active0 & 0x8000000000000L) != 0L)
  +            return jjStartNfaWithStates_4(5, 51, 14);
            break;
         default :
            break;
  @@ -2588,8 +2580,8 @@
      switch(curChar)
      {
         case 101:
  -         if ((active0 & 0x1000000000000L) != 0L)
  -            return jjStartNfaWithStates_4(6, 48, 13);
  +         if ((active0 & 0x2000000000000L) != 0L)
  +            return jjStartNfaWithStates_4(6, 49, 14);
            break;
         default :
            break;
  @@ -2600,7 +2592,7 @@
   {
      int[] nextStates;
      int startsAt = 0;
  -   jjnewStateCnt = 15;
  +   jjnewStateCnt = 16;
      int i = 1;
      jjstateSet[0] = startState;
      int j, kind = 0x7fffffff;
  @@ -2620,59 +2612,63 @@
                     {
                        if (kind > 55)
                           kind = 55;
  -                     jjCheckNAdd(12);
  +                     jjCheckNAdd(13);
                     }
                     else if (curChar == 35)
                     {
  -                     if (kind > 19)
  -                        kind = 19;
  +                     if (kind > 20)
  +                        kind = 20;
                     }
                     else if (curChar == 36)
                     {
  -                     if (kind > 14)
  -                        kind = 14;
  +                     if (kind > 15)
  +                        kind = 15;
                     }
                     if (curChar == 35)
                        jjstateSet[jjnewStateCnt++] = 3;
                     break;
                  case 0:
  -                  if (curChar == 36 && kind > 14)
  -                     kind = 14;
  +                  if (curChar == 36 && kind > 15)
  +                     kind = 15;
                     break;
                  case 1:
                     if (curChar == 42)
                        jjstateSet[jjnewStateCnt++] = 2;
                     break;
                  case 2:
  -                  if ((0xfffffff7ffffffffL & l) != 0L && kind > 17)
  -                     kind = 17;
  +                  if ((0xfffffff7ffffffffL & l) != 0L && kind > 18)
  +                     kind = 18;
                     break;
                  case 3:
                     if (curChar == 42)
                        jjstateSet[jjnewStateCnt++] = 1;
                     break;
                  case 5:
  -                  if (curChar == 35 && kind > 19)
  -                     kind = 19;
  +                  if (curChar == 35 && kind > 20)
  +                     kind = 20;
                     break;
                  case 7:
  -                  if ((0x2400L & l) != 0L && kind > 47)
  -                     kind = 47;
  +                  if ((0x100000200L & l) != 0L)
  +                     jjAddStates(11, 13);
                     break;
                  case 8:
  -                  if (curChar == 10 && kind > 47)
  -                     kind = 47;
  +                  if ((0x2400L & l) != 0L && kind > 48)
  +                     kind = 48;
                     break;
                  case 9:
  +                  if (curChar == 10 && kind > 48)
  +                     kind = 48;
  +                  break;
  +               case 10:
                     if (curChar == 13)
  -                     jjstateSet[jjnewStateCnt++] = 8;
  +                     jjstateSet[jjnewStateCnt++] = 9;
                     break;
  -               case 12:
  +               case 13:
                     if ((0x3ff000000000000L & l) == 0L)
                        break;
                     if (kind > 55)
                        kind = 55;
  -                  jjCheckNAdd(12);
  +                  jjCheckNAdd(13);
                     break;
                  default : break;
               }
  @@ -2685,51 +2681,51 @@
            {
               switch(jjstateSet[--i])
               {
  -               case 4:
  +               case 11:
                     if ((0x7fffffe07fffffeL & l) != 0L)
                     {
                        if (kind > 57)
                           kind = 57;
  -                     jjCheckNAdd(13);
  +                     jjCheckNAdd(14);
                     }
  -                  else if (curChar == 92)
  -                     jjAddStates(7, 8);
  -                  if (curChar == 101)
  -                     jjstateSet[jjnewStateCnt++] = 10;
  +                  if (curChar == 110)
  +                     jjstateSet[jjnewStateCnt++] = 6;
                     break;
  -               case 10:
  +               case 4:
                     if ((0x7fffffe07fffffeL & l) != 0L)
                     {
                        if (kind > 57)
                           kind = 57;
  -                     jjCheckNAdd(13);
  +                     jjCheckNAdd(14);
                     }
  -                  if (curChar == 110)
  -                     jjstateSet[jjnewStateCnt++] = 6;
  +                  else if (curChar == 92)
  +                     jjAddStates(7, 8);
  +                  if (curChar == 101)
  +                     jjstateSet[jjnewStateCnt++] = 11;
                     break;
                  case 2:
  -                  if (kind > 17)
  -                     kind = 17;
  +                  if (kind > 18)
  +                     kind = 18;
                     break;
                  case 6:
                     if (curChar != 100)
                        break;
  -                  if (kind > 47)
  -                     kind = 47;
  -                  jjAddStates(11, 12);
  +                  if (kind > 48)
  +                     kind = 48;
  +                  jjAddStates(11, 13);
                     break;
  -               case 11:
  +               case 12:
                     if (curChar == 101)
  -                     jjstateSet[jjnewStateCnt++] = 10;
  +                     jjstateSet[jjnewStateCnt++] = 11;
                     break;
  -               case 13:
  +               case 14:
                     if ((0x7fffffe07fffffeL & l) == 0L)
                        break;
                     if (kind > 57)
                        kind = 57;
  -                  jjCheckNAdd(13);
  +                  jjCheckNAdd(14);
                     break;
  -               case 14:
  +               case 15:
                     if (curChar == 92)
                        jjAddStates(7, 8);
                     break;
  @@ -2746,8 +2742,8 @@
               switch(jjstateSet[--i])
               {
                  case 2:
  -                  if ((jjbitVec0[i2] & l2) != 0L && kind > 17)
  -                     kind = 17;
  +                  if ((jjbitVec0[i2] & l2) != 0L && kind > 18)
  +                     kind = 18;
                     break;
                  default : break;
               }
  @@ -2760,7 +2756,7 @@
            kind = 0x7fffffff;
         }
         ++curPos;
  -      if ((i = jjnewStateCnt) == (startsAt = 15 - (jjnewStateCnt = startsAt)))
  +      if ((i = jjnewStateCnt) == (startsAt = 16 - (jjnewStateCnt = startsAt)))
            return curPos;
         try { curChar = input_stream.readChar(); }
         catch(java.io.IOException e) { return curPos; }
  @@ -2771,44 +2767,44 @@
      switch (pos)
      {
         case 0:
  -         if ((active0 & 0x103f80L) != 0L)
  -            return 8;
  -         if ((active0 & 0x50000L) != 0L)
  +         if ((active0 & 0x10000L) != 0L)
            {
  -            jjmatchedKind = 19;
  -            return 3;
  +            jjmatchedKind = 15;
  +            return -1;
            }
  -         if ((active0 & 0x8000L) != 0L)
  +         if ((active0 & 0x203f80L) != 0L)
  +            return 13;
  +         if ((active0 & 0xa0000L) != 0L)
            {
  -            jjmatchedKind = 14;
  -            return -1;
  +            jjmatchedKind = 20;
  +            return 11;
            }
            return -1;
         case 1:
  -         if ((active0 & 0x40000L) != 0L)
  -            return 1;
  -         if ((active0 & 0x3f80L) != 0L)
  -         {
  -            jjmatchedKind = 19;
  -            jjmatchedPos = 1;
  -            return -1;
  -         }
  -         if ((active0 & 0x8000L) != 0L)
  +         if ((active0 & 0x10000L) != 0L)
            {
               if (jjmatchedPos == 0)
               {
  -               jjmatchedKind = 14;
  +               jjmatchedKind = 15;
                  jjmatchedPos = 0;
               }
               return -1;
            }
  +         if ((active0 & 0x3f80L) != 0L)
  +         {
  +            jjmatchedKind = 20;
  +            jjmatchedPos = 1;
  +            return -1;
  +         }
  +         if ((active0 & 0x80000L) != 0L)
  +            return 9;
            return -1;
         case 2:
            if ((active0 & 0x3f80L) != 0L)
            {
               if (jjmatchedPos < 1)
               {
  -               jjmatchedKind = 19;
  +               jjmatchedKind = 20;
                  jjmatchedPos = 1;
               }
               return -1;
  @@ -2819,7 +2815,7 @@
            {
               if (jjmatchedPos < 1)
               {
  -               jjmatchedKind = 19;
  +               jjmatchedKind = 20;
                  jjmatchedPos = 1;
               }
               return -1;
  @@ -2830,7 +2826,7 @@
            {
               if (jjmatchedPos < 1)
               {
  -               jjmatchedKind = 19;
  +               jjmatchedKind = 20;
                  jjmatchedPos = 1;
               }
               return -1;
  @@ -2841,7 +2837,7 @@
            {
               if (jjmatchedPos < 1)
               {
  -               jjmatchedKind = 19;
  +               jjmatchedKind = 20;
                  jjmatchedPos = 1;
               }
               return -1;
  @@ -2852,7 +2848,7 @@
            {
               if (jjmatchedPos < 1)
               {
  -               jjmatchedKind = 19;
  +               jjmatchedKind = 20;
                  jjmatchedPos = 1;
               }
               return -1;
  @@ -2863,7 +2859,7 @@
            {
               if (jjmatchedPos < 1)
               {
  -               jjmatchedKind = 19;
  +               jjmatchedKind = 20;
                  jjmatchedPos = 1;
               }
               return -1;
  @@ -2890,14 +2886,14 @@
      switch(curChar)
      {
         case 35:
  -         return jjMoveStringLiteralDfa1_3(0x50000L);
  +         return jjMoveStringLiteralDfa1_3(0xa0000L);
         case 36:
  -         return jjMoveStringLiteralDfa1_3(0x8000L);
  +         return jjMoveStringLiteralDfa1_3(0x10000L);
         case 92:
  -         jjmatchedKind = 20;
  +         jjmatchedKind = 21;
            return jjMoveStringLiteralDfa1_3(0x3f80L);
         default :
  -         return jjMoveNfa_3(4, 0);
  +         return jjMoveNfa_3(8, 0);
      }
   }
   private final int jjMoveStringLiteralDfa1_3(long active0)
  @@ -2910,16 +2906,16 @@
      switch(curChar)
      {
         case 33:
  -         if ((active0 & 0x8000L) != 0L)
  -            return jjStopAtPos(1, 15);
  -         break;
  -      case 35:
            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 & 0x40000L) != 0L)
  -            return jjStartNfaWithStates_3(1, 18, 1);
  +         if ((active0 & 0x80000L) != 0L)
  +            return jjStartNfaWithStates_3(1, 19, 9);
            break;
         default :
            break;
  @@ -3101,7 +3097,7 @@
   {
      int[] nextStates;
      int startsAt = 0;
  -   jjnewStateCnt = 8;
  +   jjnewStateCnt = 13;
      int i = 1;
      jjstateSet[0] = startState;
      int j, kind = 0x7fffffff;
  @@ -3116,65 +3112,75 @@
            {
               switch(jjstateSet[--i])
               {
  -               case 8:
  +               case 11:
  +                  if (curChar == 42)
  +                     jjstateSet[jjnewStateCnt++] = 9;
  +                  break;
  +               case 13:
                     if (curChar == 35)
                     {
  -                     if (kind > 19)
  -                        kind = 19;
  +                     if (kind > 20)
  +                        kind = 20;
                     }
                     else if (curChar == 36)
                     {
  -                     if (kind > 14)
  -                        kind = 14;
  +                     if (kind > 15)
  +                        kind = 15;
                     }
                     break;
  -               case 4:
  +               case 8:
                     if ((0xffffffe7ffffffffL & l) != 0L)
                     {
  -                     if (kind > 21)
  -                        kind = 21;
  -                     jjCheckNAdd(6);
  +                     if (kind > 22)
  +                        kind = 22;
  +                     jjCheckNAdd(7);
                     }
                     else if (curChar == 35)
  +                     jjCheckNAddTwoStates(3, 11);
  +                  else if (curChar == 36)
                     {
  -                     if (kind > 19)
  -                        kind = 19;
  +                     if (kind > 15)
  +                        kind = 15;
                     }
  -                  else if (curChar == 36)
  +                  if ((0x100000200L & l) != 0L)
  +                     jjCheckNAddTwoStates(0, 4);
  +                  else if (curChar == 35)
                     {
  -                     if (kind > 14)
  -                        kind = 14;
  +                     if (kind > 20)
  +                        kind = 20;
                     }
  -                  if (curChar == 35)
  -                     jjstateSet[jjnewStateCnt++] = 3;
                     break;
                  case 0:
  -                  if (curChar == 36 && kind > 14)
  -                     kind = 14;
  +                  if ((0x100000200L & l) != 0L)
  +                     jjCheckNAddTwoStates(0, 4);
                     break;
  -               case 1:
  -                  if (curChar == 42)
  -                     jjstateSet[jjnewStateCnt++] = 2;
  -                  break;
  -               case 2:
  -                  if ((0xfffffff7ffffffffL & l) != 0L && kind > 17)
  -                     kind = 17;
  -                  break;
  -               case 3:
  -                  if (curChar == 42)
  -                     jjstateSet[jjnewStateCnt++] = 1;
  +               case 4:
  +                  if (curChar == 35)
  +                     jjCheckNAdd(3);
                     break;
                  case 5:
  -                  if (curChar == 35 && kind > 19)
  -                     kind = 19;
  +                  if (curChar == 36 && kind > 15)
  +                     kind = 15;
                     break;
                  case 6:
  +                  if (curChar == 35 && kind > 20)
  +                     kind = 20;
  +                  break;
  +               case 7:
                     if ((0xffffffe7ffffffffL & l) == 0L)
                        break;
  -                  if (kind > 21)
  -                     kind = 21;
  -                  jjCheckNAdd(6);
  +                  if (kind > 22)
  +                     kind = 22;
  +                  jjCheckNAdd(7);
                     break;
  +               case 9:
  +                  if (curChar == 42)
  +                     jjstateSet[jjnewStateCnt++] = 10;
  +                  break;
  +               case 10:
  +                  if ((0xfffffff7ffffffffL & l) != 0L && kind > 18)
  +                     kind = 18;
  +                  break;
                  default : break;
               }
            } while(i != startsAt);
  @@ -3186,30 +3192,43 @@
            {
               switch(jjstateSet[--i])
               {
  -               case 4:
  +               case 11:
  +               case 3:
  +                  if (curChar == 115)
  +                     jjstateSet[jjnewStateCnt++] = 2;
  +                  break;
  +               case 8:
                     if ((0xffffffffefffffffL & l) != 0L)
                     {
  -                     if (kind > 21)
  -                        kind = 21;
  -                     jjCheckNAdd(6);
  +                     if (kind > 22)
  +                        kind = 22;
  +                     jjCheckNAdd(7);
                     }
                     else if (curChar == 92)
  -                     jjAddStates(7, 8);
  +                     jjAddStates(14, 15);
  +                  break;
  +               case 1:
  +                  if (curChar == 116 && kind > 14)
  +                     kind = 14;
                     break;
                  case 2:
  -                  if (kind > 17)
  -                     kind = 17;
  +                  if (curChar == 101)
  +                     jjstateSet[jjnewStateCnt++] = 1;
                     break;
  -               case 6:
  +               case 7:
                     if ((0xffffffffefffffffL & l) == 0L)
                        break;
  -                  if (kind > 21)
  -                     kind = 21;
  -                  jjCheckNAdd(6);
  +                  if (kind > 22)
  +                     kind = 22;
  +                  jjCheckNAdd(7);
                     break;
  -               case 7:
  +               case 10:
  +                  if (kind > 18)
  +                     kind = 18;
  +                  break;
  +               case 12:
                     if (curChar == 92)
  -                     jjAddStates(7, 8);
  +                     jjAddStates(14, 15);
                     break;
                  default : break;
               }
  @@ -3223,17 +3242,17 @@
            {
               switch(jjstateSet[--i])
               {
  -               case 4:
  -               case 6:
  +               case 8:
  +               case 7:
                     if ((jjbitVec0[i2] & l2) == 0L)
                        break;
  -                  if (kind > 21)
  -                     kind = 21;
  -                  jjCheckNAdd(6);
  +                  if (kind > 22)
  +                     kind = 22;
  +                  jjCheckNAdd(7);
                     break;
  -               case 2:
  -                  if ((jjbitVec0[i2] & l2) != 0L && kind > 17)
  -                     kind = 17;
  +               case 10:
  +                  if ((jjbitVec0[i2] & l2) != 0L && kind > 18)
  +                     kind = 18;
                     break;
                  default : break;
               }
  @@ -3246,14 +3265,14 @@
            kind = 0x7fffffff;
         }
         ++curPos;
  -      if ((i = jjnewStateCnt) == (startsAt = 8 - (jjnewStateCnt = startsAt)))
  +      if ((i = jjnewStateCnt) == (startsAt = 13 - (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, 9, 
  +   1, 2, 4, 5, 10, 12, 13, 0, 5, 7, 8, 7, 8, 10, 5, 6, 
   };
   public static final String[] jjstrLiteralImages = {
   null, null, null, null, null, null, null, null, null, null, null, null, null, 
  @@ -3278,16 +3297,16 @@
      -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
   };
   static final long[] jjtoToken = {
  -   0xe2bffffff1f03fffL, 0x1L, 
  +   0xe2bfffffe3e07fffL, 0x1L, 
   };
   static final long[] jjtoSkip = {
  -   0xc000000L, 0x6L, 
  +   0x18000000L, 0x6L, 
   };
   static final long[] jjtoSpecial = {
      0x0L, 0x6L, 
   };
   static final long[] jjtoMore = {
  -   0x20fc000L, 0x0L, 
  +   0x41f8000L, 0x0L, 
   };
   private ASCII_CharStream input_stream;
   private final int[] jjrounds = new int[20];
  @@ -3443,27 +3462,27 @@
            jjmatchedKind = 0x7fffffff;
            jjmatchedPos = 0;
            curPos = jjMoveStringLiteralDfa0_6();
  -         if (jjmatchedPos == 0 && jjmatchedKind > 25)
  +         if (jjmatchedPos == 0 && jjmatchedKind > 26)
            {
  -            jjmatchedKind = 25;
  +            jjmatchedKind = 26;
            }
            break;
          case 7:
            jjmatchedKind = 0x7fffffff;
            jjmatchedPos = 0;
            curPos = jjMoveStringLiteralDfa0_7();
  -         if (jjmatchedPos == 0 && jjmatchedKind > 25)
  +         if (jjmatchedPos == 0 && jjmatchedKind > 26)
            {
  -            jjmatchedKind = 25;
  +            jjmatchedKind = 26;
            }
            break;
          case 8:
            jjmatchedKind = 0x7fffffff;
            jjmatchedPos = 0;
            curPos = jjMoveStringLiteralDfa0_8();
  -         if (jjmatchedPos == 0 && jjmatchedKind > 25)
  +         if (jjmatchedPos == 0 && jjmatchedKind > 26)
            {
  -            jjmatchedKind = 25;
  +            jjmatchedKind = 26;
            }
            break;
        }
  @@ -3579,7 +3598,7 @@
      jjimageLen += (lengthOfMatch = jjmatchedPos + 1);
      switch(jjmatchedKind)
      {
  -      case 14 :
  +      case 15 :
            if (image == null)
                 image = new StringBuffer(new 
String(input_stream.GetSuffix(jjimageLen)));
            else
  @@ -3596,7 +3615,7 @@
               SwitchTo(REFERENCE);
           }
            break;
  -      case 15 :
  +      case 16 :
            if (image == null)
                 image = new StringBuffer(new 
String(input_stream.GetSuffix(jjimageLen)));
            else
  @@ -3613,7 +3632,7 @@
               SwitchTo(REFERENCE);
           }
            break;
  -      case 16 :
  +      case 17 :
            if (image == null)
                 image = new StringBuffer(new 
String(input_stream.GetSuffix(jjimageLen)));
            else
  @@ -3623,7 +3642,7 @@
           stateStackPush();
           SwitchTo(IN_SINGLE_LINE_COMMENT);
            break;
  -      case 17 :
  +      case 18 :
            if (image == null)
                 image = new StringBuffer(new 
String(input_stream.GetSuffix(jjimageLen)));
            else
  @@ -3634,7 +3653,7 @@
           stateStackPush();
           SwitchTo( IN_FORMAL_COMMENT);
            break;
  -      case 18 :
  +      case 19 :
            if (image == null)
                 image = new StringBuffer(new 
String(input_stream.GetSuffix(jjimageLen)));
            else
  @@ -3644,7 +3663,7 @@
           stateStackPush();
           SwitchTo( IN_MULTI_LINE_COMMENT );
            break;
  -      case 19 :
  +      case 20 :
            if (image == null)
                 image = new StringBuffer(new 
String(input_stream.GetSuffix(jjimageLen)));
            else
  @@ -3751,8 +3770,25 @@
            else
               image.append(new String(input_stream.GetSuffix(jjimageLen + 
(lengthOfMatch = jjmatchedPos + 1))));
          matchedToken.image = "#stop";
  +         break;
  +      case 14 :
  +        if (image == null)
  +            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + 
(lengthOfMatch = jjmatchedPos + 1))));
  +         else
  +            image.append(new String(input_stream.GetSuffix(jjimageLen + 
(lengthOfMatch = jjmatchedPos + 1))));
  +        if (! inComment)
  +        {
  +            inDirective = true;
  +
  +            if ( bDebugPrint_ )
  +                System.out.print("#set :  going to " + DIRECTIVE );
  +
  +            stateStackPush();
  +            inSet = true;
  +            SwitchTo(DIRECTIVE);
  +        }
            break;
  -      case 22 :
  +      case 23 :
           if (image == null)
               image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + 
(lengthOfMatch = jjmatchedPos + 1))));
            else
  @@ -3760,7 +3796,7 @@
        inComment = false;
        stateStackPop();
            break;
  -      case 23 :
  +      case 24 :
           if (image == null)
               image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + 
(lengthOfMatch = jjmatchedPos + 1))));
            else
  @@ -3768,7 +3804,7 @@
       inComment = false;
       stateStackPop();
            break;
  -      case 24 :
  +      case 25 :
           if (image == null)
               image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + 
(lengthOfMatch = jjmatchedPos + 1))));
            else
  @@ -3776,7 +3812,7 @@
       inComment = false;
       stateStackPop();
            break;
  -      case 28 :
  +      case 29 :
           if (image == null)
               image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + 
(lengthOfMatch = jjmatchedPos + 1))));
            else
  @@ -3800,7 +3836,7 @@
           else if( curLexState == DIRECTIVE && !inSet && lparen == 0)
               stateStackPop();
            break;
  -      case 31 :
  +      case 32 :
           if (image == null)
               image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + 
(lengthOfMatch = jjmatchedPos + 1))));
            else
  @@ -3816,7 +3852,7 @@
           if (inDirective)
               inDirective = false;
            break;
  -      case 47 :
  +      case 48 :
           if (image == null)
               image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + 
(lengthOfMatch = jjmatchedPos + 1))));
            else
  @@ -3824,19 +3860,12 @@
           inDirective = false;
           stateStackPop();
            break;
  -      case 48 :
  -        if (image == null)
  -            image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + 
(lengthOfMatch = jjmatchedPos + 1))));
  -         else
  -            image.append(new String(input_stream.GetSuffix(jjimageLen + 
(lengthOfMatch = jjmatchedPos + 1))));
  -        incMode = true;
  -        SwitchTo(DIRECTIVE);
  -         break;
         case 49 :
           if (image == null)
               image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + 
(lengthOfMatch = jjmatchedPos + 1))));
            else
               image.append(new String(input_stream.GetSuffix(jjimageLen + 
(lengthOfMatch = jjmatchedPos + 1))));
  +        incMode = true;
           SwitchTo(DIRECTIVE);
            break;
         case 50 :
  @@ -3851,16 +3880,15 @@
               image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + 
(lengthOfMatch = jjmatchedPos + 1))));
            else
               image.append(new String(input_stream.GetSuffix(jjimageLen + 
(lengthOfMatch = jjmatchedPos + 1))));
  -        inDirective = false;
  -        stateStackPop();
  +        SwitchTo(DIRECTIVE);
            break;
         case 52 :
           if (image == null)
               image = new StringBuffer(new String(input_stream.GetSuffix(jjimageLen + 
(lengthOfMatch = jjmatchedPos + 1))));
            else
               image.append(new String(input_stream.GetSuffix(jjimageLen + 
(lengthOfMatch = jjmatchedPos + 1))));
  -        inSet = true;
  -        SwitchTo(DIRECTIVE);
  +        inDirective = false;
  +        stateStackPop();
            break;
         case 53 :
           if (image == null)
  
  
  

Reply via email to