geirm       00/12/05 21:57:38

  Modified:    src/java/org/apache/velocity/runtime/parser Parser.java
                        Parser.jj
  Log:
  Parser.jjt followers.
  
  Revision  Changes    Path
  1.38      +51 -41    
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.37
  retrieving revision 1.38
  diff -u -r1.37 -r1.38
  --- Parser.java       2000/12/05 05:05:52     1.37
  +++ Parser.java       2000/12/06 05:57:37     1.38
  @@ -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.37 2000/12/05 05:05:52 geirm Exp $ 
  + * @version $Id: Parser.java,v 1.38 2000/12/06 05:57:37 geirm Exp $ 
   */
   public class Parser/*@bgen(jjtree)*/implements ParserTreeConstants, ParserConstants 
{/*@bgen(jjtree)*/
     protected JJTParserState jjtree = new JJTParserState();/**
  @@ -29,6 +29,12 @@
        */
       private Hashtable directives = new Hashtable(0);
   
  +    /**
  +     *  Name of current template we are parsing.  Passed to us in parse()
  +     */
  +
  +    String strCurrentTemplateName = "";
  +
       /** 
        * This constructor was added to allow the re-use of parsers.
        * The normal constructor takes a single argument which 
  @@ -54,6 +60,8 @@
       {
           SimpleNode sn = null;
   
  +        strCurrentTemplateName = strTemplateName;
  +
           try
           {
               token_source.clearStateVars();
  @@ -71,6 +79,8 @@
               Runtime.error ("Parser Error: " + strTemplateName + " : " + 
StringUtils.stackTrace(e));
           }
   
  +        strCurrentTemplateName = "";
  +
           return sn;
       }
   
  @@ -647,7 +657,7 @@
           if (bDoItNow)
           {
               Macro m = new Macro();
  -            m.processAndRegister( jjtn000 );
  +            m.processAndRegister( jjtn000, strCurrentTemplateName );
           }
   
           /*
  @@ -2012,45 +2022,6 @@
       return retval;
     }
   
  -  final private boolean jj_3R_68() {
  -    if (jj_3R_74()) return true;
  -    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    Token xsp;
  -    while (true) {
  -      xsp = jj_scanpos;
  -      if (jj_3R_75()) { jj_scanpos = xsp; break; }
  -      if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    }
  -    return false;
  -  }
  -
  -  final private boolean jj_3R_77() {
  -    if (jj_scan_token(MINUS)) return true;
  -    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    if (jj_3R_68()) return true;
  -    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    return false;
  -  }
  -
  -  final private boolean jj_3R_76() {
  -    if (jj_scan_token(PLUS)) return true;
  -    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    if (jj_3R_68()) return true;
  -    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    return false;
  -  }
  -
  -  final private boolean jj_3R_69() {
  -    Token xsp;
  -    xsp = jj_scanpos;
  -    if (jj_3R_76()) {
  -    jj_scanpos = xsp;
  -    if (jj_3R_77()) return true;
  -    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  -    return false;
  -  }
  -
     final private boolean jj_3R_64() {
       if (jj_3R_68()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  @@ -2637,6 +2608,45 @@
     final private boolean jj_3R_18() {
       if (jj_3R_21()) return true;
       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    return false;
  +  }
  +
  +  final private boolean jj_3R_68() {
  +    if (jj_3R_74()) return true;
  +    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    Token xsp;
  +    while (true) {
  +      xsp = jj_scanpos;
  +      if (jj_3R_75()) { jj_scanpos = xsp; break; }
  +      if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    }
  +    return false;
  +  }
  +
  +  final private boolean jj_3R_77() {
  +    if (jj_scan_token(MINUS)) return true;
  +    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    if (jj_3R_68()) return true;
  +    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    return false;
  +  }
  +
  +  final private boolean jj_3R_76() {
  +    if (jj_scan_token(PLUS)) return true;
  +    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    if (jj_3R_68()) return true;
  +    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    return false;
  +  }
  +
  +  final private boolean jj_3R_69() {
  +    Token xsp;
  +    xsp = jj_scanpos;
  +    if (jj_3R_76()) {
  +    jj_scanpos = xsp;
  +    if (jj_3R_77()) return true;
  +    if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
  +    } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
       return false;
     }
   
  
  
  
  1.36      +12 -2     
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.35
  retrieving revision 1.36
  diff -u -r1.35 -r1.36
  --- Parser.jj 2000/12/05 05:05:53     1.35
  +++ Parser.jj 2000/12/06 05:57:38     1.36
  @@ -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.35 2000/12/05 05:05:53 geirm Exp $ 
  + * @version $Id: Parser.jj,v 1.36 2000/12/06 05:57:38 geirm Exp $ 
   */
   public class Parser/*@bgen(jjtree)*/implements ParserTreeConstants/*@egen*/
   {/*@bgen(jjtree)*/
  @@ -108,6 +108,12 @@
        */
       private Hashtable directives = new Hashtable(0);
     
  +    /**
  +     *  Name of current template we are parsing.  Passed to us in parse()
  +     */
  +
  +    String strCurrentTemplateName = "";
  +
       /** 
        * This constructor was added to allow the re-use of parsers.
        * The normal constructor takes a single argument which 
  @@ -132,6 +138,8 @@
       public SimpleNode parse(InputStream stream, String strTemplateName ) throws 
ParseException
       {
           SimpleNode sn = null;
  +        
  +        strCurrentTemplateName = strTemplateName;
   
           try
           {
  @@ -150,6 +158,8 @@
               Runtime.error ("Parser Error: " + strTemplateName + " : " + 
StringUtils.stackTrace(e));
           }
   
  +        strCurrentTemplateName = "";
  +
           return sn;
       }        
   
  @@ -1297,7 +1307,7 @@
           if (bDoItNow)  
           {
               Macro m = new Macro();
  -            m.processAndRegister( jjtn000 );
  +            m.processAndRegister( jjtn000, strCurrentTemplateName );
           }
   
           /*
  
  
  

Reply via email to