geirm 01/01/24 08:05:53
Modified: src/java/org/apache/velocity/runtime/parser Parser.java
Parser.jj ParserTokenManager.java
Log:
Parser.jjt followers
Revision Changes Path
1.53 +187 -180
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.52
retrieving revision 1.53
diff -u -r1.52 -r1.53
--- Parser.java 2001/01/06 20:56:12 1.52
+++ Parser.java 2001/01/24 16:05:50 1.53
@@ -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.52 2001/01/06 20:56:12 geirm Exp $
+ * @version $Id: Parser.java,v 1.53 2001/01/24 16:05:50 geirm Exp $
*/
public class Parser/*@bgen(jjtree)*/implements ParserTreeConstants, ParserConstants
{/*@bgen(jjtree)*/
protected JJTParserState jjtree = new JJTParserState();/**
@@ -1465,6 +1465,13 @@
throw new ParseException();
}
}
+ jjtree.closeNodeScope(jjtn000, true);
+ jjtc000 = false;
+ /*
+ * ensure that inSet is false. Leads to some amusing bugs...
+ */
+
+ token_source.inSet = false;
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
@@ -2225,57 +2232,6 @@
return retval;
}
- final private boolean jj_3R_70() {
- if (jj_3R_73()) return true;
- if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_78()) { jj_scanpos = xsp; break; }
- if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
- }
- return false;
- }
-
- final private boolean jj_3R_80() {
- if (jj_scan_token(LOGICAL_NOT_EQUALS)) return true;
- if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
- if (jj_3R_70()) return true;
- if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
- return false;
- }
-
- final private boolean jj_3R_77() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_79()) {
- jj_scanpos = xsp;
- if (jj_3R_80()) 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_79() {
- if (jj_scan_token(LOGICAL_EQUALS)) return true;
- if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
- if (jj_3R_70()) return true;
- if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
- return false;
- }
-
- final private boolean jj_3R_67() {
- if (jj_3R_70()) return true;
- if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_77()) { jj_scanpos = xsp; break; }
- if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
- }
- return false;
- }
-
final private boolean jj_3R_74() {
if (jj_scan_token(LOGICAL_AND)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
@@ -2511,54 +2467,12 @@
return false;
}
- final private boolean jj_3R_63() {
- if (jj_3R_47()) return true;
- if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
- return false;
- }
-
- final private boolean jj_3R_62() {
- if (jj_3R_46()) return true;
- if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
- return false;
- }
-
- final private boolean jj_3R_71() {
- if (jj_scan_token(WHITESPACE)) return true;
- if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
- return false;
- }
-
- final private boolean jj_3R_61() {
- if (jj_3R_54()) return true;
- if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
- return false;
- }
-
- final private boolean jj_3R_60() {
- if (jj_3R_53()) return true;
- if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
- return false;
- }
-
- final private boolean jj_3R_59() {
- if (jj_3R_52()) return true;
- if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
- return false;
- }
-
final private boolean jj_3R_23() {
if (jj_scan_token(WHITESPACE)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
- final private boolean jj_3R_58() {
- if (jj_3R_51()) return true;
- if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
- return false;
- }
-
final private boolean jj_3R_43() {
if (jj_scan_token(LPAREN)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
@@ -2587,7 +2501,7 @@
return false;
}
- final private boolean jj_3R_31() {
+ final private boolean jj_3R_63() {
if (jj_3R_47()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
@@ -2599,16 +2513,14 @@
return false;
}
- final private boolean jj_3R_27() {
- if (jj_3R_47()) return true;
+ final private boolean jj_3R_62() {
+ if (jj_3R_46()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
- final private boolean jj_3R_69() {
- if (jj_scan_token(COMMA)) return true;
- if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
- if (jj_3R_48()) return true;
+ final private boolean jj_3R_71() {
+ if (jj_scan_token(WHITESPACE)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
@@ -2619,8 +2531,8 @@
return false;
}
- final private boolean jj_3R_57() {
- if (jj_scan_token(WHITESPACE)) return true;
+ final private boolean jj_3R_61() {
+ if (jj_3R_54()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
@@ -2631,32 +2543,9 @@
return false;
}
- final private boolean jj_3R_48() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_57()) jj_scanpos = xsp;
- else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
- xsp = jj_scanpos;
- if (jj_3R_58()) {
- jj_scanpos = xsp;
- if (jj_3R_59()) {
- jj_scanpos = xsp;
- if (jj_3R_60()) {
- jj_scanpos = xsp;
- if (jj_3R_61()) {
- jj_scanpos = xsp;
- if (jj_3R_62()) {
- jj_scanpos = xsp;
- if (jj_3R_63()) return true;
+ final private boolean jj_3R_60() {
+ 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;
- } 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;
- xsp = jj_scanpos;
- if (jj_3R_71()) jj_scanpos = xsp;
- else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
@@ -2666,18 +2555,44 @@
return false;
}
+ final private boolean jj_3R_59() {
+ if (jj_3R_52()) 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;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
- final private boolean jj_3R_25() {
- if (jj_scan_token(WHITESPACE)) return true;
+ final private boolean jj_3R_58() {
+ if (jj_3R_51()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
+ final private boolean jj_3R_31() {
+ if (jj_3R_47()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ final private boolean jj_3R_27() {
+ if (jj_3R_47()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ final private boolean jj_3R_69() {
+ if (jj_scan_token(COMMA)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_48()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
final private boolean jj_3R_36() {
if (jj_scan_token(WHITESPACE)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
@@ -2692,6 +2607,12 @@
return false;
}
+ final private boolean jj_3R_57() {
+ if (jj_scan_token(WHITESPACE)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
final private boolean jj_3R_22() {
Token xsp;
xsp = jj_scanpos;
@@ -2735,6 +2656,35 @@
return false;
}
+ final private boolean jj_3R_48() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_57()) jj_scanpos = xsp;
+ else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ xsp = jj_scanpos;
+ if (jj_3R_58()) {
+ jj_scanpos = xsp;
+ if (jj_3R_59()) {
+ jj_scanpos = xsp;
+ if (jj_3R_60()) {
+ jj_scanpos = xsp;
+ if (jj_3R_61()) {
+ jj_scanpos = xsp;
+ if (jj_3R_62()) {
+ jj_scanpos = xsp;
+ if (jj_3R_63()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ xsp = jj_scanpos;
+ if (jj_3R_71()) jj_scanpos = xsp;
+ else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
final private boolean jj_3_8() {
Token xsp;
xsp = jj_scanpos;
@@ -2786,6 +2736,12 @@
return false;
}
+ final private boolean jj_3R_25() {
+ if (jj_scan_token(WHITESPACE)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
final private boolean jj_3R_65() {
if (jj_scan_token(WHITESPACE)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
@@ -2798,6 +2754,18 @@
return false;
}
+ final private boolean jj_3R_75() {
+ if (jj_3R_24()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_86()) { jj_scanpos = xsp; break; }
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ }
+ return false;
+ }
+
final private boolean jj_3R_28() {
if (jj_scan_token(WHITESPACE)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
@@ -2822,6 +2790,33 @@
return false;
}
+ final private boolean jj_3R_88() {
+ if (jj_scan_token(MINUS)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_75()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ final private boolean jj_3R_87() {
+ if (jj_scan_token(PLUS)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_75()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ final private boolean jj_3R_81() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_87()) {
+ jj_scanpos = xsp;
+ if (jj_3R_88()) 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_18() {
if (jj_scan_token(LBRACKET)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
@@ -2857,45 +2852,50 @@
return false;
}
- final private boolean jj_3R_75() {
- if (jj_3R_24()) return true;
+ final private boolean jj_3R_73() {
+ if (jj_3R_75()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
Token xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_86()) { jj_scanpos = xsp; break; }
+ if (jj_3R_81()) { jj_scanpos = xsp; break; }
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
}
return false;
}
- final private boolean jj_3R_88() {
- if (jj_scan_token(MINUS)) return true;
+ final private boolean jj_3R_85() {
+ if (jj_scan_token(LOGICAL_GE)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
- if (jj_3R_75()) return true;
+ if (jj_3R_73()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
- final private boolean jj_3R_87() {
- if (jj_scan_token(PLUS)) return true;
+ final private boolean jj_3R_84() {
+ if (jj_scan_token(LOGICAL_LE)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
- if (jj_3R_75()) return true;
+ if (jj_3R_73()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
- final private boolean jj_3R_81() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_87()) {
- jj_scanpos = xsp;
- if (jj_3R_88()) return true;
+ final private boolean jj_3R_83() {
+ if (jj_scan_token(LOGICAL_GT)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
- } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_73()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
+ final private boolean jj_3R_82() {
+ if (jj_scan_token(LOGICAL_LT)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_73()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
final private boolean jj_3R_52() {
if (jj_scan_token(LBRACKET)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
@@ -2908,15 +2908,20 @@
return false;
}
- final private boolean jj_3R_73() {
- if (jj_3R_75()) return true;
- if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ final private boolean jj_3R_78() {
Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_81()) { jj_scanpos = xsp; break; }
- if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
- }
+ xsp = jj_scanpos;
+ if (jj_3R_82()) {
+ jj_scanpos = xsp;
+ if (jj_3R_83()) {
+ jj_scanpos = xsp;
+ if (jj_3R_84()) {
+ jj_scanpos = xsp;
+ if (jj_3R_85()) 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;
}
@@ -2926,52 +2931,54 @@
return false;
}
- final private boolean jj_3R_85() {
- if (jj_scan_token(LOGICAL_GE)) return true;
- if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ final private boolean jj_3R_70() {
if (jj_3R_73()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_78()) { jj_scanpos = xsp; break; }
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ }
return false;
}
- final private boolean jj_3R_84() {
- if (jj_scan_token(LOGICAL_LE)) return true;
+ final private boolean jj_3R_80() {
+ if (jj_scan_token(LOGICAL_NOT_EQUALS)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
- if (jj_3R_73()) return true;
+ if (jj_3R_70()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
- final private boolean jj_3R_83() {
- if (jj_scan_token(LOGICAL_GT)) return true;
- if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
- if (jj_3R_73()) return true;
+ final private boolean jj_3R_77() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_79()) {
+ jj_scanpos = xsp;
+ if (jj_3R_80()) 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_82() {
- if (jj_scan_token(LOGICAL_LT)) return true;
+ final private boolean jj_3R_79() {
+ if (jj_scan_token(LOGICAL_EQUALS)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
- if (jj_3R_73()) return true;
+ if (jj_3R_70()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
- final private boolean jj_3R_78() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_82()) {
- jj_scanpos = xsp;
- if (jj_3R_83()) {
- jj_scanpos = xsp;
- if (jj_3R_84()) {
- jj_scanpos = xsp;
- if (jj_3R_85()) return true;
+ final private boolean jj_3R_67() {
+ if (jj_3R_70()) 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;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_77()) { jj_scanpos = xsp; break; }
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ }
return false;
}
1.51 +18 -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.50
retrieving revision 1.51
diff -u -r1.50 -r1.51
--- Parser.jj 2001/01/06 20:56:13 1.50
+++ Parser.jj 2001/01/24 16:05:50 1.51
@@ -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.50 2001/01/06 20:56:13 geirm Exp $
+ * @version $Id: Parser.jj,v 1.51 2001/01/24 16:05:50 geirm Exp $
*/
public class Parser/*@bgen(jjtree)*/implements ParserTreeConstants/*@egen*/
{/*@bgen(jjtree)*/
@@ -268,7 +268,7 @@
private boolean inReference;
public boolean inDirective;
private boolean inComment;
- private boolean inSet;
+ public boolean inSet;
/**
* pushes the current state onto the 'state stack',
@@ -789,7 +789,10 @@
*/
if ( lparen == 0 && !inSet && curLexState != REFMOD2)
+ {
stateStackPop();
+ }
+
}
}
@@ -1765,6 +1768,19 @@
<SET_DIRECTIVE>
[ LOOKAHEAD(2) <WHITESPACE> ]
( LOOKAHEAD(2) ( <LPAREN> Expression() <RPAREN> ) | ( Expression() [<NEWLINE>])
)/*@bgen(jjtree)*/
+ {
+ jjtree.closeNodeScope(jjtn000, true);
+ jjtc000 = false;
+ }
+/*@egen*/
+
+ {
+ /*
+ * ensure that inSet is false. Leads to some amusing bugs...
+ */
+
+ token_source.inSet = false;
+ }/*@bgen(jjtree)*/
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
1.41 +3 -1
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.40
retrieving revision 1.41
diff -u -r1.40 -r1.41
--- ParserTokenManager.java 2000/12/28 16:22:30 1.40
+++ ParserTokenManager.java 2001/01/24 16:05:51 1.41
@@ -21,7 +21,7 @@
private boolean inReference;
public boolean inDirective;
private boolean inComment;
- private boolean inSet;
+ public boolean inSet;
/**
* pushes the current state onto the 'state stack',
@@ -3653,7 +3653,9 @@
*/
if ( lparen == 0 && !inSet && curLexState != REFMOD2)
+ {
stateStackPop();
+ }
break;
case 56 :
if (image == null)