geirm       00/12/20 19:53:39

  Modified:    src/java/org/apache/velocity/runtime/parser Parser.java
                        Parser.jj
  Log:
  Parser.jjt followers.
  
  Revision  Changes    Path
  1.45      +320 -293  
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.44
  retrieving revision 1.45
  diff -u -r1.44 -r1.45
  --- Parser.java       2000/12/19 13:35:18     1.44
  +++ Parser.java       2000/12/21 03:53:38     1.45
  @@ -21,7 +21,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.44 2000/12/19 13:35:18 geirm Exp $ 
  + * @version $Id: Parser.java,v 1.45 2000/12/21 03:53:38 geirm Exp $ 
   */
   public class Parser/*@bgen(jjtree)*/implements ParserTreeConstants, ParserConstants 
{/*@bgen(jjtree)*/
     protected JJTParserState jjtree = new JJTParserState();/**
  @@ -1942,49 +1942,58 @@
     }
   
     final public void UnaryExpression() throws ParseException {
  -    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
  -    case LOGICAL_NOT:
  +    if (jj_2_7(2)) {
  +      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
  +      case WHITESPACE:
  +        jj_consume_token(WHITESPACE);
  +        break;
  +      default:
  +        jj_la1[40] = jj_gen;
  +        ;
  +      }
         jj_consume_token(LOGICAL_NOT);
  -                     ASTNotNode jjtn001 = new ASTNotNode(this, JJTNOTNODE);
  -                     boolean jjtc001 = true;
  -                     jjtree.openNodeScope(jjtn001);
  +                                                    ASTNotNode jjtn001 = new 
ASTNotNode(this, JJTNOTNODE);
  +                                                    boolean jjtc001 = true;
  +                                                    jjtree.openNodeScope(jjtn001);
         try {
           UnaryExpression();
         } catch (Throwable jjte001) {
  -                     if (jjtc001) {
  -                       jjtree.clearNodeScope(jjtn001);
  -                       jjtc001 = false;
  -                     } else {
  -                       jjtree.popNode();
  -                     }
  -                     if (jjte001 instanceof RuntimeException) {
  -                       {if (true) throw (RuntimeException)jjte001;}
  -                     }
  -                     if (jjte001 instanceof ParseException) {
  -                       {if (true) throw (ParseException)jjte001;}
  -                     }
  -                     {if (true) throw (Error)jjte001;}
  +                                                    if (jjtc001) {
  +                                                      
jjtree.clearNodeScope(jjtn001);
  +                                                      jjtc001 = false;
  +                                                    } else {
  +                                                      jjtree.popNode();
  +                                                    }
  +                                                    if (jjte001 instanceof 
RuntimeException) {
  +                                                      {if (true) throw 
(RuntimeException)jjte001;}
  +                                                    }
  +                                                    if (jjte001 instanceof 
ParseException) {
  +                                                      {if (true) throw 
(ParseException)jjte001;}
  +                                                    }
  +                                                    {if (true) throw 
(Error)jjte001;}
         } finally {
  -                     if (jjtc001) {
  -                       jjtree.closeNodeScope(jjtn001,  1);
  -                     }
  +                                                    if (jjtc001) {
  +                                                      
jjtree.closeNodeScope(jjtn001,  1);
  +                                                    }
         }
  -      break;
  -    case LBRACKET:
  -    case LPAREN:
  -    case WHITESPACE:
  -    case STRING_LITERAL:
  -    case TRUE:
  -    case FALSE:
  -    case NUMBER_LITERAL:
  -    case IDENTIFIER:
  -    case LCURLY:
  -      PrimaryExpression();
  -      break;
  -    default:
  -      jj_la1[40] = jj_gen;
  -      jj_consume_token(-1);
  -      throw new ParseException();
  +    } else {
  +      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
  +      case LBRACKET:
  +      case LPAREN:
  +      case WHITESPACE:
  +      case STRING_LITERAL:
  +      case TRUE:
  +      case FALSE:
  +      case NUMBER_LITERAL:
  +      case IDENTIFIER:
  +      case LCURLY:
  +        PrimaryExpression();
  +        break;
  +      default:
  +        jj_la1[41] = jj_gen;
  +        jj_consume_token(-1);
  +        throw new ParseException();
  +      }
       }
     }
   
  @@ -1994,7 +2003,7 @@
         jj_consume_token(WHITESPACE);
         break;
       default:
  -      jj_la1[41] = jj_gen;
  +      jj_la1[42] = jj_gen;
         ;
       }
       switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
  @@ -2023,7 +2032,7 @@
         jj_consume_token(RPAREN);
         break;
       default:
  -      jj_la1[42] = jj_gen;
  +      jj_la1[43] = jj_gen;
         jj_consume_token(-1);
         throw new ParseException();
       }
  @@ -2032,7 +2041,7 @@
         jj_consume_token(WHITESPACE);
         break;
       default:
  -      jj_la1[43] = jj_gen;
  +      jj_la1[44] = jj_gen;
         ;
       }
     }
  @@ -2079,73 +2088,89 @@
       return retval;
     }
   
  -  final private boolean jj_3_3() {
  -    if (jj_3R_19()) return true;
  -    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    return false;
  +  final private boolean jj_2_7(int xla) {
  +    jj_la = xla; jj_lastpos = jj_scanpos = token;
  +    boolean retval = !jj_3_7();
  +    jj_save(6, xla);
  +    return retval;
     }
   
  -  final private boolean jj_3R_55() {
  -    if (jj_3R_58()) return true;
  +  final private boolean jj_3R_61() {
  +    if (jj_3R_64()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       Token xsp;
       while (true) {
         xsp = jj_scanpos;
  -      if (jj_3R_65()) { jj_scanpos = xsp; break; }
  +      if (jj_3R_69()) { jj_scanpos = xsp; break; }
         if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       }
       return false;
     }
   
  -  final private boolean jj_3R_62() {
  -    if (jj_scan_token(LOGICAL_AND)) return true;
  +  final private boolean jj_3R_71() {
  +    if (jj_scan_token(LOGICAL_NOT_EQUALS)) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    if (jj_3R_55()) return true;
  +    if (jj_3R_61()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
   
  -  final private boolean jj_3R_23() {
  -    if (jj_3R_35()) return true;
  -    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +  final private boolean jj_3R_68() {
       Token xsp;
  -    while (true) {
  -      xsp = jj_scanpos;
  -      if (jj_3R_64()) { jj_scanpos = xsp; break; }
  -      if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    }
  +    xsp = jj_scanpos;
  +    if (jj_3R_70()) {
  +    jj_scanpos = xsp;
  +    if (jj_3R_71()) 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_51() {
  -    if (jj_3R_55()) return true;
  +  final private boolean jj_3R_70() {
  +    if (jj_scan_token(LOGICAL_EQUALS)) return true;
  +    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    if (jj_3R_61()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    return false;
  +  }
  +
  +  final private boolean jj_3R_58() {
  +    if (jj_3R_61()) return true;
  +    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       Token xsp;
       while (true) {
         xsp = jj_scanpos;
  -      if (jj_3R_62()) { jj_scanpos = xsp; break; }
  +      if (jj_3R_68()) { jj_scanpos = xsp; break; }
         if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       }
       return false;
     }
   
  -  final private boolean jj_3R_43() {
  -    if (jj_scan_token(FALSE)) return true;
  +  final private boolean jj_3R_65() {
  +    if (jj_scan_token(LOGICAL_AND)) 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_60() {
  -    if (jj_scan_token(LOGICAL_OR)) return true;
  -    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    if (jj_3R_51()) return true;
  +  final private boolean jj_3R_54() {
  +    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_65()) { jj_scanpos = xsp; break; }
  +      if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    }
       return false;
     }
   
  -  final private boolean jj_3R_38() {
  -    if (jj_scan_token(STRING_LITERAL)) return true;
  +  final private boolean jj_3R_63() {
  +    if (jj_scan_token(LOGICAL_OR)) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    if (jj_3R_54()) return true;
  +    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
   
  @@ -2156,175 +2181,251 @@
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
  -
  -  final private boolean jj_3R_42() {
  -    if (jj_scan_token(TRUE)) return true;
  -    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    return false;
  -  }
   
  -  final private boolean jj_3R_37() {
  -    if (jj_3R_51()) return true;
  +  final private boolean jj_3R_40() {
  +    if (jj_3R_54()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       Token xsp;
       while (true) {
         xsp = jj_scanpos;
  -      if (jj_3R_60()) { jj_scanpos = xsp; break; }
  +      if (jj_3R_63()) { jj_scanpos = xsp; break; }
         if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       }
       return false;
     }
   
     final private boolean jj_3R_39() {
  -    if (jj_scan_token(NUMBER_LITERAL)) return true;
  +    if (jj_3R_21()) return true;
  +    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    if (jj_scan_token(EQUALS)) return true;
  +    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    if (jj_3R_20()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
   
  -  final private boolean jj_3_2() {
  -    if (jj_scan_token(DOT)) return true;
  +  final private boolean jj_3R_27() {
  +    if (jj_3R_40()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    return false;
  +  }
  +
  +  final private boolean jj_3R_20() {
       Token xsp;
       xsp = jj_scanpos;
  -    if (jj_3_3()) {
  +    if (jj_3R_26()) {
       jj_scanpos = xsp;
  -    if (jj_3R_18()) return true;
  +    if (jj_3R_27()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    xsp = jj_scanpos;
  -    if (jj_3R_56()) jj_scanpos = xsp;
  -    else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
   
  -  final private boolean jj_3R_36() {
  -    if (jj_3R_21()) return true;
  +  final private boolean jj_3R_26() {
  +    if (jj_3R_39()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    if (jj_scan_token(EQUALS)) return true;
  +    return false;
  +  }
  +
  +  final private boolean jj_3_5() {
  +    if (jj_scan_token(LPAREN)) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       if (jj_3R_20()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
   
  -  final private boolean jj_3R_53() {
  +  final private boolean jj_3_4() {
  +    if (jj_scan_token(WHITESPACE)) return true;
  +    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    return false;
  +  }
  +
  +  final private boolean jj_3R_59() {
       if (jj_scan_token(RCURLY)) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
   
  -  final private boolean jj_3R_52() {
  -    if (jj_scan_token(LCURLY)) return true;
  +  final private boolean jj_3R_18() {
  +    if (jj_3R_24()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
   
  -  final private boolean jj_3R_25() {
  -    if (jj_3R_37()) return true;
  +  final private boolean jj_3R_67() {
  +    if (jj_scan_token(COMMA)) return true;
  +    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    if (jj_3R_38()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
   
  -  final private boolean jj_3R_40() {
  -    Token xsp;
  -    xsp = jj_scanpos;
  -    if (jj_3R_52()) jj_scanpos = xsp;
  -    else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +  final private boolean jj_3R_24() {
       if (jj_scan_token(IDENTIFIER)) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    xsp = jj_scanpos;
  -    if (jj_3R_53()) jj_scanpos = xsp;
  -    else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    return false;
  +  }
  +
  +  final private boolean jj_3_3() {
  +    if (jj_3R_19()) return true;
  +    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    return false;
  +  }
  +
  +  final private boolean jj_3R_25() {
  +    if (jj_3R_38()) return true;
  +    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    Token xsp;
       while (true) {
         xsp = jj_scanpos;
  -      if (jj_3_2()) { jj_scanpos = xsp; break; }
  +      if (jj_3R_67()) { jj_scanpos = xsp; break; }
         if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       }
       return false;
     }
   
  -  final private boolean jj_3R_24() {
  -    if (jj_3R_36()) return true;
  +  final private boolean jj_3R_46() {
  +    if (jj_scan_token(FALSE)) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
   
  -  final private boolean jj_3R_20() {
  +  final private boolean jj_3R_41() {
  +    if (jj_scan_token(STRING_LITERAL)) return true;
  +    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    return false;
  +  }
  +
  +  final private boolean jj_3R_45() {
  +    if (jj_scan_token(TRUE)) return true;
  +    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    return false;
  +  }
  +
  +  final private boolean jj_3R_42() {
  +    if (jj_scan_token(NUMBER_LITERAL)) return true;
  +    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    return false;
  +  }
  +
  +  final private boolean jj_3_2() {
  +    if (jj_scan_token(DOT)) return true;
  +    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       Token xsp;
       xsp = jj_scanpos;
  -    if (jj_3R_24()) {
  +    if (jj_3_3()) {
       jj_scanpos = xsp;
  -    if (jj_3R_25()) return true;
  +    if (jj_3R_18()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    xsp = jj_scanpos;
  +    if (jj_3R_59()) jj_scanpos = xsp;
  +    else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    return false;
  +  }
  +
  +  final private boolean jj_3R_56() {
  +    if (jj_scan_token(RCURLY)) return true;
  +    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    return false;
  +  }
  +
  +  final private boolean jj_3R_55() {
  +    if (jj_scan_token(LCURLY)) return true;
  +    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
   
  +  final private boolean jj_3R_43() {
  +    Token xsp;
  +    xsp = jj_scanpos;
  +    if (jj_3R_55()) jj_scanpos = xsp;
  +    else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    if (jj_scan_token(IDENTIFIER)) return true;
  +    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    xsp = jj_scanpos;
  +    if (jj_3R_56()) jj_scanpos = xsp;
  +    else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    while (true) {
  +      xsp = jj_scanpos;
  +      if (jj_3_2()) { jj_scanpos = xsp; break; }
  +      if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    }
  +    return false;
  +  }
  +
     final private boolean jj_3R_19() {
  -    if (jj_3R_22()) return true;
  +    if (jj_3R_24()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       if (jj_scan_token(LPAREN)) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       Token xsp;
       xsp = jj_scanpos;
  -    if (jj_3R_23()) jj_scanpos = xsp;
  +    if (jj_3R_25()) jj_scanpos = xsp;
       else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       if (jj_scan_token(REFMOD2_RPAREN)) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
   
  -  final private boolean jj_3R_57() {
  +  final private boolean jj_3R_60() {
       if (jj_scan_token(COMMA)) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    if (jj_3R_35()) return true;
  +    if (jj_3R_38()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
   
  -  final private boolean jj_3R_50() {
  -    if (jj_3R_39()) return true;
  +  final private boolean jj_3R_53() {
  +    if (jj_3R_42()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
   
  -  final private boolean jj_3R_59() {
  +  final private boolean jj_3R_52() {
  +    if (jj_3R_43()) return true;
  +    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    return false;
  +  }
  +
  +  final private boolean jj_3R_62() {
       if (jj_scan_token(WHITESPACE)) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
   
  -  final private boolean jj_3R_49() {
  -    if (jj_3R_40()) return true;
  +  final private boolean jj_3R_51() {
  +    if (jj_3R_46()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
   
  -  final private boolean jj_3R_48() {
  -    if (jj_3R_43()) return true;
  +  final private boolean jj_3R_50() {
  +    if (jj_3R_45()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
   
  -  final private boolean jj_3R_47() {
  -    if (jj_3R_42()) return true;
  +  final private boolean jj_3R_49() {
  +    if (jj_3R_44()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
   
  -  final private boolean jj_3R_46() {
  -    if (jj_3R_41()) return true;
  +  final private boolean jj_3R_22() {
  +    if (jj_scan_token(WHITESPACE)) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
   
  -  final private boolean jj_3R_45() {
  -    if (jj_3R_38()) return true;
  +  final private boolean jj_3R_48() {
  +    if (jj_3R_41()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
   
  -  final private boolean jj_3R_33() {
  +  final private boolean jj_3R_35() {
       if (jj_scan_token(LPAREN)) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       if (jj_3R_20()) return true;
  @@ -2334,91 +2435,71 @@
       return false;
     }
   
  -  final private boolean jj_3R_32() {
  -    if (jj_3R_43()) return true;
  -    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    return false;
  -  }
  -
  -  final private boolean jj_3R_34() {
  +  final private boolean jj_3R_36() {
       if (jj_scan_token(WHITESPACE)) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
   
  -  final private boolean jj_3R_31() {
  -    if (jj_3R_42()) return true;
  +  final private boolean jj_3R_34() {
  +    if (jj_3R_46()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
   
  -  final private boolean jj_3R_54() {
  -    if (jj_3R_35()) return true;
  +  final private boolean jj_3R_57() {
  +    if (jj_3R_38()) 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_3R_60()) { jj_scanpos = xsp; break; }
         if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       }
       return false;
     }
  -
  -  final private boolean jj_3_5() {
  -    if (jj_scan_token(LPAREN)) return true;
  -    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    if (jj_3R_20()) return true;
  -    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    return false;
  -  }
   
  -  final private boolean jj_3R_30() {
  -    if (jj_3R_41()) return true;
  -    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    return false;
  -  }
  -
  -  final private boolean jj_3_4() {
  -    if (jj_scan_token(WHITESPACE)) return true;
  +  final private boolean jj_3R_33() {
  +    if (jj_3R_45()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
   
  -  final private boolean jj_3R_29() {
  -    if (jj_3R_40()) return true;
  +  final private boolean jj_3R_32() {
  +    if (jj_3R_44()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
   
  -  final private boolean jj_3R_44() {
  +  final private boolean jj_3R_47() {
       if (jj_scan_token(WHITESPACE)) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
   
  -  final private boolean jj_3R_28() {
  -    if (jj_3R_39()) return true;
  +  final private boolean jj_3R_31() {
  +    if (jj_3R_43()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
   
  -  final private boolean jj_3R_35() {
  +  final private boolean jj_3R_38() {
       Token xsp;
       xsp = jj_scanpos;
  -    if (jj_3R_44()) jj_scanpos = xsp;
  +    if (jj_3R_47()) jj_scanpos = xsp;
       else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       xsp = jj_scanpos;
  -    if (jj_3R_45()) {
  +    if (jj_3R_48()) {
       jj_scanpos = xsp;
  -    if (jj_3R_46()) {
  +    if (jj_3R_49()) {
       jj_scanpos = xsp;
  -    if (jj_3R_47()) {
  +    if (jj_3R_50()) {
       jj_scanpos = xsp;
  -    if (jj_3R_48()) {
  +    if (jj_3R_51()) {
       jj_scanpos = xsp;
  -    if (jj_3R_49()) {
  +    if (jj_3R_52()) {
       jj_scanpos = xsp;
  -    if (jj_3R_50()) return true;
  +    if (jj_3R_53()) 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;
  @@ -2426,24 +2507,24 @@
       } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       xsp = jj_scanpos;
  -    if (jj_3R_59()) jj_scanpos = xsp;
  +    if (jj_3R_62()) jj_scanpos = xsp;
       else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
   
  -  final private boolean jj_3R_27() {
  -    if (jj_3R_38()) return true;
  +  final private boolean jj_3R_30() {
  +    if (jj_3R_42()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
   
  -  final private boolean jj_3R_56() {
  -    if (jj_scan_token(RCURLY)) return true;
  +  final private boolean jj_3R_29() {
  +    if (jj_3R_41()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
   
  -  final private boolean jj_3R_26() {
  +  final private boolean jj_3R_28() {
       if (jj_scan_token(WHITESPACE)) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
  @@ -2452,7 +2533,7 @@
     final private boolean jj_3R_82() {
       if (jj_scan_token(MODULUS)) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    if (jj_3R_66()) return true;
  +    if (jj_3R_23()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
  @@ -2460,13 +2541,9 @@
     final private boolean jj_3R_21() {
       Token xsp;
       xsp = jj_scanpos;
  -    if (jj_3R_26()) jj_scanpos = xsp;
  +    if (jj_3R_28()) jj_scanpos = xsp;
       else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       xsp = jj_scanpos;
  -    if (jj_3R_27()) {
  -    jj_scanpos = xsp;
  -    if (jj_3R_28()) {
  -    jj_scanpos = xsp;
       if (jj_3R_29()) {
       jj_scanpos = xsp;
       if (jj_3R_30()) {
  @@ -2475,7 +2552,11 @@
       jj_scanpos = xsp;
       if (jj_3R_32()) {
       jj_scanpos = xsp;
  -    if (jj_3R_33()) return true;
  +    if (jj_3R_33()) {
  +    jj_scanpos = xsp;
  +    if (jj_3R_34()) {
  +    jj_scanpos = xsp;
  +    if (jj_3R_35()) 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;
  @@ -2484,29 +2565,44 @@
       } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       xsp = jj_scanpos;
  -    if (jj_3R_34()) jj_scanpos = xsp;
  +    if (jj_3R_36()) jj_scanpos = xsp;
       else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
   
  -  final private boolean jj_3R_81() {
  -    if (jj_scan_token(DIVIDE)) return true;
  +  final private boolean jj_3R_37() {
  +    if (jj_3R_21()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    if (jj_3R_66()) return true;
  +    return false;
  +  }
  +
  +  final private boolean jj_3_7() {
  +    Token xsp;
  +    xsp = jj_scanpos;
  +    if (jj_3R_22()) jj_scanpos = xsp;
  +    else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    if (jj_scan_token(LOGICAL_NOT)) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    if (jj_3R_23()) return true;
  +    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
   
  -  final private boolean jj_3R_71() {
  -    if (jj_3R_21()) return true;
  +  final private boolean jj_3R_23() {
  +    Token xsp;
  +    xsp = jj_scanpos;
  +    if (jj_3_7()) {
  +    jj_scanpos = xsp;
  +    if (jj_3R_37()) 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_80() {
  -    if (jj_scan_token(MULTIPLY)) return true;
  +  final private boolean jj_3R_81() {
  +    if (jj_scan_token(DIVIDE)) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    if (jj_3R_66()) return true;
  +    if (jj_3R_23()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
  @@ -2525,31 +2621,20 @@
       return false;
     }
   
  -  final private boolean jj_3R_70() {
  -    if (jj_scan_token(LOGICAL_NOT)) return true;
  -    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    if (jj_3R_66()) return true;
  +  final private boolean jj_3R_80() {
  +    if (jj_scan_token(MULTIPLY)) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    return false;
  -  }
  -
  -  final private boolean jj_3R_66() {
  -    Token xsp;
  -    xsp = jj_scanpos;
  -    if (jj_3R_70()) {
  -    jj_scanpos = xsp;
  -    if (jj_3R_71()) return true;
  +    if (jj_3R_23()) 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_41() {
  +  final private boolean jj_3R_44() {
       if (jj_scan_token(LBRACKET)) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       Token xsp;
       xsp = jj_scanpos;
  -    if (jj_3R_54()) jj_scanpos = xsp;
  +    if (jj_3R_57()) jj_scanpos = xsp;
       else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       if (jj_scan_token(RBRACKET)) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  @@ -2562,8 +2647,8 @@
       return false;
     }
   
  -  final private boolean jj_3R_63() {
  -    if (jj_3R_66()) return true;
  +  final private boolean jj_3R_66() {
  +    if (jj_3R_23()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       Token xsp;
       while (true) {
  @@ -2576,16 +2661,8 @@
   
     final private boolean jj_3R_79() {
       if (jj_scan_token(MINUS)) return true;
  -    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    if (jj_3R_63()) return true;
  -    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    return false;
  -  }
  -
  -  final private boolean jj_3R_78() {
  -    if (jj_scan_token(PLUS)) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    if (jj_3R_63()) return true;
  +    if (jj_3R_66()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
  @@ -2601,14 +2678,16 @@
       return false;
     }
   
  -  final private boolean jj_3R_18() {
  -    if (jj_3R_22()) return true;
  +  final private boolean jj_3R_78() {
  +    if (jj_scan_token(PLUS)) return true;
  +    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    if (jj_3R_66()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
   
  -  final private boolean jj_3R_61() {
  -    if (jj_3R_63()) return true;
  +  final private boolean jj_3R_64() {
  +    if (jj_3R_66()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       Token xsp;
       while (true) {
  @@ -2622,7 +2701,7 @@
     final private boolean jj_3R_76() {
       if (jj_scan_token(LOGICAL_GE)) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    if (jj_3R_61()) return true;
  +    if (jj_3R_64()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
  @@ -2630,7 +2709,7 @@
     final private boolean jj_3R_75() {
       if (jj_scan_token(LOGICAL_LE)) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    if (jj_3R_61()) return true;
  +    if (jj_3R_64()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
  @@ -2638,20 +2717,12 @@
     final private boolean jj_3R_74() {
       if (jj_scan_token(LOGICAL_GT)) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    if (jj_3R_61()) return true;
  +    if (jj_3R_64()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
   
  -  final private boolean jj_3R_73() {
  -    if (jj_scan_token(LOGICAL_LT)) return true;
  -    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    if (jj_3R_61()) return true;
  -    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    return false;
  -  }
  -
  -  final private boolean jj_3R_67() {
  +  final private boolean jj_3R_69() {
       Token xsp;
       xsp = jj_scanpos;
       if (jj_3R_73()) {
  @@ -2667,56 +2738,11 @@
       } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
  -
  -  final private boolean jj_3R_58() {
  -    if (jj_3R_61()) return true;
  -    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    Token xsp;
  -    while (true) {
  -      xsp = jj_scanpos;
  -      if (jj_3R_67()) { jj_scanpos = xsp; break; }
  -      if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    }
  -    return false;
  -  }
  -
  -  final private boolean jj_3R_64() {
  -    if (jj_scan_token(COMMA)) return true;
  -    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    if (jj_3R_35()) return true;
  -    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    return false;
  -  }
  -
  -  final private boolean jj_3R_69() {
  -    if (jj_scan_token(LOGICAL_NOT_EQUALS)) 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_68() {
  -    if (jj_scan_token(LOGICAL_EQUALS)) 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_65() {
  -    Token xsp;
  -    xsp = jj_scanpos;
  -    if (jj_3R_68()) {
  -    jj_scanpos = xsp;
  -    if (jj_3R_69()) return true;
  +  final private boolean jj_3R_73() {
  +    if (jj_scan_token(LOGICAL_LT)) 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_22() {
  -    if (jj_scan_token(IDENTIFIER)) return true;
  +    if (jj_3R_64()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
  @@ -2730,10 +2756,10 @@
     public boolean lookingAhead = false;
     private boolean jj_semLA;
     private int jj_gen;
  -  final private int[] jj_la1 = new int[44];
  -  final private int[] jj_la1_0 = 
{0x9f81b0,0x9f81b0,0x1c0000,0xc00002,0x400000,0xc00002,0x9f81b0,0x8,0x3c00002,0x400000,0x3800002,0x400000,0x8,0x3c00002,0x0,0x0,0x0,0x0,0x830030,0x400000,0x9f81b0,0x0,0x0,0x0,0x9f81b0,0x400000,0x9f81b0,0x4000000,0x3c00012,0x3c00012,0x0,0x0,0x0,0x0,0x0,0x0,0x18000000,0x18000000,0xe0000000,0xe0000000,0x3c00012,0x400000,0x3800012,0x400000,};
  -  final private int[] jj_la1_1 = 
{0x1c54800,0x1c54800,0x0,0x1450000,0x0,0x1450000,0x1c54800,0x0,0x1410000,0x0,0x1410000,0x0,0x0,0x1410000,0x1000000,0x2000000,0x400000,0x2000000,0x810000,0x0,0x1c54800,0x1000,0x1000,0x2000,0x1c54800,0x0,0x1c54800,0x0,0x1410100,0x1410100,0x2,0x1,0xc0,0xc0,0x3c,0x3c,0x0,0x0,0x0,0x0,0x1410100,0x0,0x1410000,0x0,};
  -  final private JJCalls[] jj_2_rtns = new JJCalls[6];
  +  final private int[] jj_la1 = new int[45];
  +  final private int[] jj_la1_0 = 
{0x9f81b0,0x9f81b0,0x1c0000,0xc00002,0x400000,0xc00002,0x9f81b0,0x8,0x3c00002,0x400000,0x3800002,0x400000,0x8,0x3c00002,0x0,0x0,0x0,0x0,0x830030,0x400000,0x9f81b0,0x0,0x0,0x0,0x9f81b0,0x400000,0x9f81b0,0x4000000,0x3c00012,0x3c00012,0x0,0x0,0x0,0x0,0x0,0x0,0x18000000,0x18000000,0xe0000000,0xe0000000,0x400000,0x3c00012,0x400000,0x3800012,0x400000,};
  +  final private int[] jj_la1_1 = 
{0x1c54800,0x1c54800,0x0,0x1450000,0x0,0x1450000,0x1c54800,0x0,0x1410000,0x0,0x1410000,0x0,0x0,0x1410000,0x1000000,0x2000000,0x400000,0x2000000,0x810000,0x0,0x1c54800,0x1000,0x1000,0x2000,0x1c54800,0x0,0x1c54800,0x0,0x1410100,0x1410100,0x2,0x1,0xc0,0xc0,0x3c,0x3c,0x0,0x0,0x0,0x0,0x0,0x1410000,0x0,0x1410000,0x0,};
  +  final private JJCalls[] jj_2_rtns = new JJCalls[7];
     private boolean jj_rescan = false;
     private int jj_gc = 0;
   
  @@ -2743,7 +2769,7 @@
       token = new Token();
       jj_ntk = -1;
       jj_gen = 0;
  -    for (int i = 0; i < 44; i++) jj_la1[i] = -1;
  +    for (int i = 0; i < 45; i++) jj_la1[i] = -1;
       for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
     }
   
  @@ -2754,7 +2780,7 @@
       jj_ntk = -1;
       jjtree.reset();
       jj_gen = 0;
  -    for (int i = 0; i < 44; i++) jj_la1[i] = -1;
  +    for (int i = 0; i < 45; i++) jj_la1[i] = -1;
       for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
     }
   
  @@ -2764,7 +2790,7 @@
       token = new Token();
       jj_ntk = -1;
       jj_gen = 0;
  -    for (int i = 0; i < 44; i++) jj_la1[i] = -1;
  +    for (int i = 0; i < 45; i++) jj_la1[i] = -1;
       for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
     }
   
  @@ -2775,7 +2801,7 @@
       jj_ntk = -1;
       jjtree.reset();
       jj_gen = 0;
  -    for (int i = 0; i < 44; i++) jj_la1[i] = -1;
  +    for (int i = 0; i < 45; i++) jj_la1[i] = -1;
       for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
     }
   
  @@ -2784,7 +2810,7 @@
       token = new Token();
       jj_ntk = -1;
       jj_gen = 0;
  -    for (int i = 0; i < 44; i++) jj_la1[i] = -1;
  +    for (int i = 0; i < 45; i++) jj_la1[i] = -1;
       for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
     }
   
  @@ -2794,7 +2820,7 @@
       jj_ntk = -1;
       jjtree.reset();
       jj_gen = 0;
  -    for (int i = 0; i < 44; i++) jj_la1[i] = -1;
  +    for (int i = 0; i < 45; i++) jj_la1[i] = -1;
       for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
     }
   
  @@ -2909,7 +2935,7 @@
         la1tokens[jj_kind] = true;
         jj_kind = -1;
       }
  -    for (int i = 0; i < 44; i++) {
  +    for (int i = 0; i < 45; i++) {
         if (jj_la1[i] == jj_gen) {
           for (int j = 0; j < 32; j++) {
             if ((jj_la1_0[i] & (1<<j)) != 0) {
  @@ -2946,7 +2972,7 @@
   
     final private void jj_rescan_token() {
       jj_rescan = true;
  -    for (int i = 0; i < 6; i++) {
  +    for (int i = 0; i < 7; i++) {
         JJCalls p = jj_2_rtns[i];
         do {
           if (p.gen > jj_gen) {
  @@ -2958,6 +2984,7 @@
               case 3: jj_3_4(); break;
               case 4: jj_3_5(); break;
               case 5: jj_3_6(); break;
  +            case 6: jj_3_7(); break;
             }
           }
           p = p.next;
  
  
  
  1.43      +27 -27    
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.42
  retrieving revision 1.43
  diff -u -r1.42 -r1.43
  --- Parser.jj 2000/12/19 13:35:20     1.42
  +++ Parser.jj 2000/12/21 03:53:39     1.43
  @@ -96,7 +96,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.42 2000/12/19 13:35:20 geirm Exp $ 
  + * @version $Id: Parser.jj,v 1.43 2000/12/21 03:53:39 geirm Exp $ 
   */
   public class Parser/*@bgen(jjtree)*/implements ParserTreeConstants/*@egen*/
   {/*@bgen(jjtree)*/
  @@ -2246,33 +2246,33 @@
   
   void UnaryExpression()       : {}
   {
  -    <LOGICAL_NOT>/*@bgen(jjtree) #NotNode( 1) */
  -                   {
  -                     ASTNotNode jjtn001 = new ASTNotNode(this, JJTNOTNODE);
  -                     boolean jjtc001 = true;
  -                     jjtree.openNodeScope(jjtn001);
  -                   }
  -                   try {
  +     LOOKAHEAD(2)  [<WHITESPACE>]  <LOGICAL_NOT>/*@bgen(jjtree) #NotNode( 1) */
  +                                                  {
  +                                                    ASTNotNode jjtn001 = new 
ASTNotNode(this, JJTNOTNODE);
  +                                                    boolean jjtc001 = true;
  +                                                    jjtree.openNodeScope(jjtn001);
  +                                                  }
  +                                                  try {
   /*@egen*/  UnaryExpression()/*@bgen(jjtree)*/
  -                   } catch (Throwable jjte001) {
  -                     if (jjtc001) {
  -                       jjtree.clearNodeScope(jjtn001);
  -                       jjtc001 = false;
  -                     } else {
  -                       jjtree.popNode();
  -                     }
  -                     if (jjte001 instanceof RuntimeException) {
  -                       throw (RuntimeException)jjte001;
  -                     }
  -                     if (jjte001 instanceof ParseException) {
  -                       throw (ParseException)jjte001;
  -                     }
  -                     throw (Error)jjte001;
  -                   } finally {
  -                     if (jjtc001) {
  -                       jjtree.closeNodeScope(jjtn001,  1);
  -                     }
  -                   }
  +                                                  } catch (Throwable jjte001) {
  +                                                    if (jjtc001) {
  +                                                      
jjtree.clearNodeScope(jjtn001);
  +                                                      jjtc001 = false;
  +                                                    } else {
  +                                                      jjtree.popNode();
  +                                                    }
  +                                                    if (jjte001 instanceof 
RuntimeException) {
  +                                                      throw 
(RuntimeException)jjte001;
  +                                                    }
  +                                                    if (jjte001 instanceof 
ParseException) {
  +                                                      throw (ParseException)jjte001;
  +                                                    }
  +                                                    throw (Error)jjte001;
  +                                                  } finally {
  +                                                    if (jjtc001) {
  +                                                      
jjtree.closeNodeScope(jjtn001,  1);
  +                                                    }
  +                                                  }
   /*@egen*/
   |   PrimaryExpression() 
   }
  
  
  

Reply via email to