You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@velocity.apache.org by ge...@locus.apache.org on 2000/12/06 20:50:11 UTC
cvs commit: jakarta-velocity/src/java/org/apache/velocity/runtime/parser Parser.java Parser.jj ParserConstants.java ParserTokenManager.java
geirm 00/12/06 11:50:11
Modified: src/java/org/apache/velocity/runtime/parser Parser.java
Parser.jj ParserConstants.java
ParserTokenManager.java
Log:
Parser.jjt followers for #else newline issue
Revision Changes Path
1.39 +1 -1 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.38
retrieving revision 1.39
diff -u -r1.38 -r1.39
--- Parser.java 2000/12/06 05:57:37 1.38
+++ Parser.java 2000/12/06 19:50:04 1.39
@@ -21,7 +21,7 @@
*
* @author <a href="mailto:jvanzyl@periapt.com">Jason van Zyl</a>
* @author <a href="mailto:geirm@optonline.net">Geir Magnusson Jr.</a>
- * @version $Id: Parser.java,v 1.38 2000/12/06 05:57:37 geirm Exp $
+ * @version $Id: Parser.java,v 1.39 2000/12/06 19:50:04 geirm Exp $
*/
public class Parser/*@bgen(jjtree)*/implements ParserTreeConstants, ParserConstants {/*@bgen(jjtree)*/
protected JJTParserState jjtree = new JJTParserState();/**
1.37 +2 -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.36
retrieving revision 1.37
diff -u -r1.36 -r1.37
--- Parser.jj 2000/12/06 05:57:38 1.36
+++ Parser.jj 2000/12/06 19:50:05 1.37
@@ -96,7 +96,7 @@
*
* @author <a href="mailto:jvanzyl@periapt.com">Jason van Zyl</a>
* @author <a href="mailto:geirm@optonline.net">Geir Magnusson Jr.</a>
- * @version $Id: Parser.jj,v 1.36 2000/12/06 05:57:38 geirm Exp $
+ * @version $Id: Parser.jj,v 1.37 2000/12/06 19:50:05 geirm Exp $
*/
public class Parser/*@bgen(jjtree)*/implements ParserTreeConstants/*@egen*/
{/*@bgen(jjtree)*/
@@ -768,7 +768,7 @@
SwitchTo(DIRECTIVE);
}
-| <ELSE_DIRECTIVE: "else">
+| <ELSE_DIRECTIVE: "else" ( ( " " | "\t" )* ( "\n" | "\r" | "\r\n" ) )? >
{
inDirective = false;
stateStackPop();
1.16 +1 -1 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.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- ParserConstants.java 2000/11/19 23:28:49 1.15
+++ ParserConstants.java 2000/12/06 19:50:05 1.16
@@ -116,7 +116,7 @@
"<END>",
"\"if\"",
"\"elseif\"",
- "\"else\"",
+ "<ELSE_DIRECTIVE>",
"\"stop\"",
"<DIGIT>",
"<NUMBER_LITERAL>",
1.32 +147 -75 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.31
retrieving revision 1.32
diff -u -r1.31 -r1.32
--- ParserTokenManager.java 2000/11/30 08:15:51 1.31
+++ ParserTokenManager.java 2000/12/06 19:50:06 1.32
@@ -808,11 +808,6 @@
switch (pos)
{
case 0:
- if ((active0 & 0x300000000000L) != 0L)
- {
- jjmatchedKind = 50;
- return 11;
- }
if ((active0 & 0x6800L) != 0L)
return 4;
if ((active0 & 0x400L) != 0L)
@@ -823,20 +818,17 @@
if ((active0 & 0x480000000000L) != 0L)
{
jjmatchedKind = 50;
+ return 7;
+ }
+ if ((active0 & 0x100000000000L) != 0L)
+ {
+ jjmatchedKind = 50;
return 14;
}
return -1;
case 1:
if ((active0 & 0x2000L) != 0L)
return 2;
- if ((active0 & 0x700000000000L) != 0L)
- {
- jjmatchedKind = 50;
- jjmatchedPos = 1;
- return 14;
- }
- if ((active0 & 0x80000000000L) != 0L)
- return 14;
if ((active0 & 0x400L) != 0L)
{
if (jjmatchedPos == 0)
@@ -846,25 +838,51 @@
}
return -1;
}
+ if ((active0 & 0x400000000000L) != 0L)
+ {
+ jjmatchedKind = 50;
+ jjmatchedPos = 1;
+ return 7;
+ }
+ if ((active0 & 0x100000000000L) != 0L)
+ {
+ jjmatchedKind = 50;
+ jjmatchedPos = 1;
+ return 20;
+ }
+ if ((active0 & 0x80000000000L) != 0L)
+ return 7;
return -1;
case 2:
- if ((active0 & 0x700000000000L) != 0L)
+ if ((active0 & 0x400000000000L) != 0L)
{
jjmatchedKind = 50;
jjmatchedPos = 2;
- return 14;
+ return 7;
+ }
+ if ((active0 & 0x100000000000L) != 0L)
+ {
+ jjmatchedKind = 50;
+ jjmatchedPos = 2;
+ return 15;
}
return -1;
case 3:
- if ((active0 & 0x700000000000L) != 0L)
- return 14;
+ if ((active0 & 0x100000000000L) != 0L)
+ {
+ jjmatchedKind = 45;
+ jjmatchedPos = 3;
+ return 22;
+ }
+ if ((active0 & 0x400000000000L) != 0L)
+ return 7;
return -1;
case 4:
if ((active0 & 0x100000000000L) != 0L)
{
jjmatchedKind = 50;
jjmatchedPos = 4;
- return 14;
+ return 7;
}
return -1;
default :
@@ -893,7 +911,7 @@
case 36:
return jjMoveStringLiteralDfa1_4(0x400L);
case 101:
- return jjMoveStringLiteralDfa1_4(0x300000000000L);
+ return jjMoveStringLiteralDfa1_4(0x100000000000L);
case 105:
return jjMoveStringLiteralDfa1_4(0x80000000000L);
case 115:
@@ -925,10 +943,10 @@
break;
case 102:
if ((active0 & 0x80000000000L) != 0L)
- return jjStartNfaWithStates_4(1, 43, 14);
+ return jjStartNfaWithStates_4(1, 43, 7);
break;
case 108:
- return jjMoveStringLiteralDfa2_4(active0, 0x300000000000L);
+ return jjMoveStringLiteralDfa2_4(active0, 0x100000000000L);
case 116:
return jjMoveStringLiteralDfa2_4(active0, 0x400000000000L);
default :
@@ -950,7 +968,7 @@
case 111:
return jjMoveStringLiteralDfa3_4(active0, 0x400000000000L);
case 115:
- return jjMoveStringLiteralDfa3_4(active0, 0x300000000000L);
+ return jjMoveStringLiteralDfa3_4(active0, 0x100000000000L);
default :
break;
}
@@ -968,15 +986,10 @@
switch(curChar)
{
case 101:
- if ((active0 & 0x200000000000L) != 0L)
- {
- jjmatchedKind = 45;
- jjmatchedPos = 3;
- }
return jjMoveStringLiteralDfa4_4(active0, 0x100000000000L);
case 112:
if ((active0 & 0x400000000000L) != 0L)
- return jjStartNfaWithStates_4(3, 46, 14);
+ return jjStartNfaWithStates_4(3, 46, 7);
break;
default :
break;
@@ -1014,7 +1027,7 @@
{
case 102:
if ((active0 & 0x100000000000L) != 0L)
- return jjStartNfaWithStates_4(5, 44, 14);
+ return jjStartNfaWithStates_4(5, 44, 7);
break;
default :
break;
@@ -1025,7 +1038,7 @@
{
int[] nextStates;
int startsAt = 0;
- jjnewStateCnt = 15;
+ jjnewStateCnt = 22;
int i = 1;
jjstateSet[0] = startState;
int j, kind = 0x7fffffff;
@@ -1040,12 +1053,23 @@
{
switch(jjstateSet[--i])
{
+ case 22:
+ if ((0x2400L & l) != 0L)
+ {
+ if (kind > 45)
+ kind = 45;
+ }
+ else if ((0x100000200L & l) != 0L)
+ jjCheckNAddStates(5, 7);
+ if (curChar == 13)
+ jjstateSet[jjnewStateCnt++] = 18;
+ break;
case 5:
if ((0x3ff000000000000L & l) != 0L)
{
if (kind > 48)
kind = 48;
- jjCheckNAdd(13);
+ jjCheckNAdd(6);
}
else if (curChar == 35)
jjstateSet[jjnewStateCnt++] = 4;
@@ -1071,28 +1095,44 @@
if (curChar == 42)
jjstateSet[jjnewStateCnt++] = 2;
break;
- case 7:
+ case 6:
+ if ((0x3ff000000000000L & l) == 0L)
+ break;
+ if (kind > 48)
+ kind = 48;
+ jjCheckNAdd(6);
+ break;
+ case 10:
if ((0x100000200L & l) != 0L)
- jjAddStates(5, 7);
+ jjAddStates(8, 10);
break;
- case 8:
+ case 11:
if ((0x2400L & l) != 0L && kind > 42)
kind = 42;
break;
- case 9:
+ case 12:
if (curChar == 10 && kind > 42)
kind = 42;
break;
- case 10:
+ case 13:
if (curChar == 13)
- jjstateSet[jjnewStateCnt++] = 9;
+ jjstateSet[jjnewStateCnt++] = 12;
break;
- case 13:
- if ((0x3ff000000000000L & l) == 0L)
- break;
- if (kind > 48)
- kind = 48;
- jjCheckNAdd(13);
+ case 16:
+ if ((0x100000200L & l) != 0L)
+ jjCheckNAddStates(5, 7);
+ break;
+ case 17:
+ if ((0x2400L & l) != 0L && kind > 45)
+ kind = 45;
+ break;
+ case 18:
+ if (curChar == 10 && kind > 45)
+ kind = 45;
+ break;
+ case 19:
+ if (curChar == 13)
+ jjstateSet[jjnewStateCnt++] = 18;
break;
default : break;
}
@@ -1105,28 +1145,62 @@
{
switch(jjstateSet[--i])
{
+ case 22:
+ case 7:
+ if ((0x7fffffe07fffffeL & l) == 0L)
+ break;
+ if (kind > 50)
+ kind = 50;
+ jjCheckNAdd(7);
+ break;
case 5:
if ((0x7fffffe07fffffeL & l) != 0L)
{
if (kind > 50)
kind = 50;
- jjCheckNAdd(14);
+ jjCheckNAdd(7);
}
else if (curChar == 92)
jjCheckNAddTwoStates(0, 1);
if (curChar == 101)
- jjstateSet[jjnewStateCnt++] = 11;
+ jjAddStates(11, 12);
break;
- case 11:
+ case 15:
if ((0x7fffffe07fffffeL & l) != 0L)
{
if (kind > 50)
kind = 50;
- jjCheckNAdd(14);
+ jjCheckNAdd(7);
+ }
+ if (curChar == 101)
+ {
+ if (kind > 45)
+ kind = 45;
+ jjAddStates(5, 7);
}
- if (curChar == 110)
- jjstateSet[jjnewStateCnt++] = 6;
break;
+ case 14:
+ if ((0x7fffffe07fffffeL & l) != 0L)
+ {
+ if (kind > 50)
+ kind = 50;
+ jjCheckNAdd(7);
+ }
+ if (curChar == 108)
+ jjstateSet[jjnewStateCnt++] = 20;
+ else if (curChar == 110)
+ jjstateSet[jjnewStateCnt++] = 9;
+ break;
+ case 20:
+ if ((0x7fffffe07fffffeL & l) != 0L)
+ {
+ if (kind > 50)
+ kind = 50;
+ jjCheckNAdd(7);
+ }
+ if (curChar == 115)
+ jjstateSet[jjnewStateCnt++] = 15;
+ break;
case 0:
if (curChar == 92)
jjCheckNAddTwoStates(0, 1);
@@ -1135,23 +1209,20 @@
if (kind > 12)
kind = 12;
break;
- case 6:
+ case 8:
+ if (curChar == 101)
+ jjAddStates(11, 12);
+ break;
+ case 9:
if (curChar != 100)
break;
if (kind > 42)
kind = 42;
- jjAddStates(5, 7);
- break;
- case 12:
- if (curChar == 101)
- jjstateSet[jjnewStateCnt++] = 11;
+ jjAddStates(8, 10);
break;
- case 14:
- if ((0x7fffffe07fffffeL & l) == 0L)
- break;
- if (kind > 50)
- kind = 50;
- jjCheckNAdd(14);
+ case 21:
+ if (curChar == 108)
+ jjstateSet[jjnewStateCnt++] = 20;
break;
default : break;
}
@@ -1180,7 +1251,7 @@
kind = 0x7fffffff;
}
++curPos;
- if ((i = jjnewStateCnt) == (startsAt = 15 - (jjnewStateCnt = startsAt)))
+ if ((i = jjnewStateCnt) == (startsAt = 22 - (jjnewStateCnt = startsAt)))
return curPos;
try { curChar = input_stream.readChar(); }
catch(java.io.IOException e) { return curPos; }
@@ -1368,7 +1439,7 @@
break;
case 16:
if (curChar == 92)
- jjAddStates(8, 9);
+ jjAddStates(13, 14);
if (curChar == 92)
jjCheckNAddTwoStates(5, 6);
break;
@@ -1380,7 +1451,7 @@
jjCheckNAdd(7);
}
else if (curChar == 92)
- jjAddStates(8, 9);
+ jjAddStates(13, 14);
if (curChar == 92)
jjCheckNAddTwoStates(5, 6);
break;
@@ -1405,7 +1476,7 @@
break;
case 8:
if (curChar == 92)
- jjAddStates(8, 9);
+ jjAddStates(13, 14);
break;
case 11:
if ((0x7fffffe07fffffeL & l) == 0L)
@@ -2097,7 +2168,7 @@
kind = 12;
break;
case 7:
- jjAddStates(10, 11);
+ jjAddStates(15, 16);
break;
case 9:
case 10:
@@ -2129,7 +2200,7 @@
break;
case 7:
if ((jjbitVec0[i2] & l2) != 0L)
- jjAddStates(10, 11);
+ jjAddStates(15, 16);
break;
default : break;
}
@@ -2467,7 +2538,7 @@
kind = 12;
break;
case 8:
- jjAddStates(12, 13);
+ jjAddStates(17, 18);
break;
case 11:
case 12:
@@ -2499,7 +2570,7 @@
break;
case 8:
if ((jjbitVec0[i2] & l2) != 0L)
- jjAddStates(12, 13);
+ jjAddStates(17, 18);
break;
default : break;
}
@@ -2809,7 +2880,7 @@
kind = 12;
break;
case 7:
- jjAddStates(10, 11);
+ jjAddStates(15, 16);
break;
case 9:
case 10:
@@ -2841,7 +2912,7 @@
break;
case 7:
if ((jjbitVec0[i2] & l2) != 0L)
- jjAddStates(10, 11);
+ jjAddStates(15, 16);
break;
default : break;
}
@@ -2861,7 +2932,8 @@
}
}
static final int[] jjnextStates = {
- 1, 2, 4, 13, 14, 7, 8, 10, 9, 10, 7, 8, 8, 9,
+ 1, 2, 4, 13, 14, 16, 17, 19, 10, 11, 13, 14, 21, 9, 10, 7,
+ 8, 8, 9,
};
public static final String[] jjstrLiteralImages = {
null, null, null, null, null, null, null, null, null, null, null, null, null,
@@ -2898,8 +2970,8 @@
0x207e00L,
};
private ASCII_CharStream input_stream;
-private final int[] jjrounds = new int[20];
-private final int[] jjstateSet = new int[40];
+private final int[] jjrounds = new int[22];
+private final int[] jjstateSet = new int[44];
StringBuffer image;
int jjimageLen;
int lengthOfMatch;
@@ -2926,7 +2998,7 @@
{
int i;
jjround = 0x80000001;
- for (i = 20; i-- > 0;)
+ for (i = 22; i-- > 0;)
jjrounds[i] = 0x80000000;
}
public void ReInit(ASCII_CharStream stream, int lexState)