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 );
}
/*