You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@velocity.apache.org by jv...@locus.apache.org on 2000/08/25 17:35:09 UTC
cvs commit: jakarta-velocity/src/java/org/apache/velocity/parser Parser.jj Parser.jjt ParserTokenManager.java
jvanzyl 00/08/25 08:35:08
Modified: examples test.wm
src/java/org/apache/velocity output test.wm
src/java/org/apache/velocity/parser Parser.jj Parser.jjt
ParserTokenManager.java
Log:
- allowed hyphens in <IDENTIFIER>
Revision Changes Path
1.2 +23 -0 jakarta-velocity/examples/test.wm
Index: test.wm
===================================================================
RCS file: /home/cvs/jakarta-velocity/examples/test.wm,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- test.wm 2000/08/24 21:42:45 1.1
+++ test.wm 2000/08/25 15:34:56 1.2
@@ -1,11 +1,27 @@
## This is the test bed.
+$100
+
#set $foo = "bar"
+
+$foo
+$foo;
$foo.
$foo..
+$foo/
+## this causes a problem ...
+##$foo"
+$foo\
+$foo<
$foo-
+$fooo+
+$foo-x
$foo$
+#set $iam-cool = "jon"
+$iam-cool
+$iam
+
function preload(imgObj,imgSrc)
{
if (document.images)
@@ -41,17 +57,21 @@
<!-- This is an HTML comment -->
+
$provider2.Title
+
#set $a = "x"
$a
#set $b = $a
$b
+
#set $c = $provider.Title
$c
+
#set $d = $provider.getTitle()
$d
@@ -91,10 +111,13 @@
returned a boolean value of false.
}
+
+
#if (true)
{
This expression is always (true).
}
+
Foreach with a variable.
1.3 +4 -2 jakarta-velocity/src/java/org/apache/velocity/output
Index: output
===================================================================
RCS file: /home/cvs/jakarta-velocity/src/java/org/apache/velocity/output,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- output 2000/08/25 05:31:50 1.2
+++ output 2000/08/25 15:35:01 1.3
@@ -12,11 +12,13 @@
bar\
bar<
-bar-
+$foo-
$fooo+
-bar-x
+$foo-x
bar$
+jon
+$iam
function preload(imgObj,imgSrc)
{
1.3 +3 -0 jakarta-velocity/src/java/org/apache/velocity/test.wm
Index: test.wm
===================================================================
RCS file: /home/cvs/jakarta-velocity/src/java/org/apache/velocity/test.wm,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- test.wm 2000/08/25 05:31:50 1.2
+++ test.wm 2000/08/25 15:35:01 1.3
@@ -18,6 +18,9 @@
$foo-x
$foo$
+#set $iam-cool = "jon"
+$iam-cool
+$iam
function preload(imgObj,imgSrc)
{
1.2 +1 -1 jakarta-velocity/src/java/org/apache/velocity/parser/Parser.jj
Index: Parser.jj
===================================================================
RCS file: /home/cvs/jakarta-velocity/src/java/org/apache/velocity/parser/Parser.jj,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- Parser.jj 2000/08/24 21:42:47 1.1
+++ Parser.jj 2000/08/25 15:35:05 1.2
@@ -215,7 +215,7 @@
| <NUM_CHAR: ["0"-"9"] >
| <MONEY: "$" (<NUM_CHAR>)* ((".")? (<NUM_CHAR>)*)? >
| <ALPHANUM_CHAR: [ "a"-"z", "A"-"Z", "0"-"9" ] >
-| <IDENTIFIER_CHAR: [ "a"-"z", "A"-"Z", "0"-"9" ] >
+| <IDENTIFIER_CHAR: [ "a"-"z", "A"-"Z", "0"-"9","-" ] >
| <IDENTIFIER: <ALPHA_CHAR> (<IDENTIFIER_CHAR>)* >
| <VARIABLE: "$" <ALPHA_CHAR> (<IDENTIFIER_CHAR>)* >
| <PROPERTY: "$" <ALPHA_CHAR> <IDENTIFIER> "." <IDENTIFIER> >
1.2 +1 -1 jakarta-velocity/src/java/org/apache/velocity/parser/Parser.jjt
Index: Parser.jjt
===================================================================
RCS file: /home/cvs/jakarta-velocity/src/java/org/apache/velocity/parser/Parser.jjt,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- Parser.jjt 2000/08/24 21:42:46 1.1
+++ Parser.jjt 2000/08/25 15:35:05 1.2
@@ -236,7 +236,7 @@
| <NUM_CHAR: ["0"-"9"] >
| <MONEY: "$" (<NUM_CHAR>)* ((".")? (<NUM_CHAR>)*)? >
| <ALPHANUM_CHAR: [ "a"-"z", "A"-"Z", "0"-"9" ] >
-| <IDENTIFIER_CHAR: [ "a"-"z", "A"-"Z", "0"-"9" ] >
+| <IDENTIFIER_CHAR: [ "a"-"z", "A"-"Z", "0"-"9","-" ] >
| <IDENTIFIER: <ALPHA_CHAR> (<IDENTIFIER_CHAR>)* >
| <VARIABLE: "$" <ALPHA_CHAR> (<IDENTIFIER_CHAR>)* >
| <PROPERTY: "$" <ALPHA_CHAR> <IDENTIFIER> "." <IDENTIFIER> >
1.2 +169 -151 jakarta-velocity/src/java/org/apache/velocity/parser/ParserTokenManager.java
Index: ParserTokenManager.java
===================================================================
RCS file: /home/cvs/jakarta-velocity/src/java/org/apache/velocity/parser/ParserTokenManager.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ParserTokenManager.java 2000/08/24 21:42:48 1.1
+++ ParserTokenManager.java 2000/08/25 15:35:06 1.2
@@ -97,24 +97,24 @@
return 0;
}
if ((active0 & 0x800000L) != 0L)
- return 32;
+ return 33;
if ((active0 & 0x3400000L) != 0L)
{
jjmatchedKind = 27;
- return 33;
+ return 34;
}
if ((active0 & 0x4380020L) != 0L)
return 9;
return -1;
case 1:
+ if ((active0 & 0x400000L) != 0L)
+ return 34;
if ((active0 & 0x3000000L) != 0L)
{
jjmatchedKind = 27;
jjmatchedPos = 1;
- return 33;
+ return 34;
}
- if ((active0 & 0x400000L) != 0L)
- return 33;
if ((active0 & 0xff80L) != 0L)
{
jjmatchedKind = 27;
@@ -133,12 +133,14 @@
{
jjmatchedKind = 27;
jjmatchedPos = 2;
- return 33;
+ return 34;
}
if ((active0 & 0x200L) != 0L)
return 9;
return -1;
case 3:
+ if ((active0 & 0x1000000L) != 0L)
+ return 34;
if ((active0 & 0xad80L) != 0L)
{
jjmatchedKind = 27;
@@ -149,22 +151,20 @@
{
jjmatchedKind = 27;
jjmatchedPos = 3;
- return 33;
+ return 34;
}
- if ((active0 & 0x1000000L) != 0L)
- return 33;
if ((active0 & 0x5000L) != 0L)
return 9;
return -1;
case 4:
+ if ((active0 & 0x2000000L) != 0L)
+ return 34;
if ((active0 & 0x2980L) != 0L)
{
jjmatchedKind = 27;
jjmatchedPos = 4;
return 9;
}
- if ((active0 & 0x2000000L) != 0L)
- return 33;
if ((active0 & 0x8400L) != 0L)
return 9;
return -1;
@@ -215,7 +215,7 @@
case 12:
return jjStartNfaWithStates_0(0, 5, 9);
case 34:
- return jjStartNfaWithStates_0(0, 23, 32);
+ return jjStartNfaWithStates_0(0, 23, 33);
case 35:
return jjMoveStringLiteralDfa1_0(0xff80L);
case 40:
@@ -259,7 +259,7 @@
return jjMoveStringLiteralDfa2_0(active0, 0x280L);
case 110:
if ((active0 & 0x400000L) != 0L)
- return jjStartNfaWithStates_0(1, 22, 33);
+ return jjStartNfaWithStates_0(1, 22, 34);
break;
case 112:
return jjMoveStringLiteralDfa2_0(active0, 0x2100L);
@@ -327,7 +327,7 @@
if ((active0 & 0x4000L) != 0L)
return jjStartNfaWithStates_0(3, 14, 9);
else if ((active0 & 0x1000000L) != 0L)
- return jjStartNfaWithStates_0(3, 24, 33);
+ return jjStartNfaWithStates_0(3, 24, 34);
break;
case 111:
return jjMoveStringLiteralDfa4_0(active0, 0x8000L);
@@ -361,7 +361,7 @@
if ((active0 & 0x400L) != 0L)
return jjStartNfaWithStates_0(4, 10, 9);
else if ((active0 & 0x2000000L) != 0L)
- return jjStartNfaWithStates_0(4, 25, 33);
+ return jjStartNfaWithStates_0(4, 25, 34);
return jjMoveStringLiteralDfa5_0(active0, 0x800L);
case 108:
return jjMoveStringLiteralDfa5_0(active0, 0x80L);
@@ -485,7 +485,7 @@
{
int[] nextStates;
int startsAt = 0;
- jjnewStateCnt = 32;
+ jjnewStateCnt = 33;
int i = 1;
jjstateSet[0] = startState;
int j, kind = 0x7fffffff;
@@ -500,40 +500,7 @@
{
switch(jjstateSet[--i])
{
- case 5:
- if ((0xfffffceeffffd9ffL & l) != 0L)
- {
- if (kind > 27)
- kind = 27;
- jjCheckNAdd(9);
- }
- else if (curChar == 36)
- {
- if (kind > 30)
- kind = 30;
- jjCheckNAddStates(0, 4);
- }
- if ((0x3ff501400000000L & l) != 0L)
- {
- if (kind > 36)
- kind = 36;
- }
- else if (curChar == 35)
- jjstateSet[jjnewStateCnt++] = 0;
- if ((0x3ff000000000000L & l) != 0L)
- {
- if (kind > 31)
- kind = 31;
- }
- else if (curChar == 34)
- jjCheckNAddTwoStates(7, 8);
- if ((0x3ff000000000000L & l) != 0L)
- {
- if (kind > 29)
- kind = 29;
- }
- break;
- case 32:
+ case 33:
if ((0xfffffffbffffffffL & l) != 0L)
jjCheckNAddTwoStates(7, 8);
else if (curChar == 34)
@@ -556,25 +523,63 @@
jjCheckNAdd(9);
}
if (curChar == 35)
- jjCheckNAddStates(5, 7);
+ jjCheckNAddStates(0, 2);
break;
- case 33:
+ case 34:
if ((0xfffffceeffffd9ffL & l) != 0L)
{
if (kind > 27)
kind = 27;
jjCheckNAdd(9);
}
- if ((0x3ff000000000000L & l) != 0L)
+ if ((0x3ff200000000000L & l) != 0L)
{
if (kind > 33)
kind = 33;
- jjCheckNAdd(13);
+ jjCheckNAdd(15);
}
break;
+ case 5:
+ if ((0xfffffceeffffd9ffL & l) != 0L)
+ {
+ if (kind > 27)
+ kind = 27;
+ jjCheckNAdd(9);
+ }
+ else if (curChar == 36)
+ {
+ if (kind > 30)
+ kind = 30;
+ jjCheckNAddStates(3, 7);
+ }
+ if ((0x3ff501400000000L & l) != 0L)
+ {
+ if (kind > 36)
+ kind = 36;
+ }
+ else if (curChar == 35)
+ jjstateSet[jjnewStateCnt++] = 0;
+ if ((0x3ff200000000000L & l) != 0L)
+ {
+ if (kind > 32)
+ kind = 32;
+ }
+ else if (curChar == 34)
+ jjCheckNAddTwoStates(7, 8);
+ if ((0x3ff000000000000L & l) != 0L)
+ {
+ if (kind > 31)
+ kind = 31;
+ }
+ if ((0x3ff000000000000L & l) != 0L)
+ {
+ if (kind > 29)
+ kind = 29;
+ }
+ break;
case 1:
if ((0xffffffffffffdbffL & l) != 0L)
- jjCheckNAddStates(5, 7);
+ jjCheckNAddStates(0, 2);
break;
case 2:
if ((0x2400L & l) != 0L && kind > 6)
@@ -612,89 +617,93 @@
kind = 29;
break;
case 11:
+ if ((0x3ff000000000000L & l) != 0L && kind > 31)
+ kind = 31;
+ break;
+ case 12:
+ if ((0x3ff200000000000L & l) != 0L && kind > 32)
+ kind = 32;
+ break;
+ case 13:
if ((0x3ff501400000000L & l) != 0L && kind > 36)
kind = 36;
break;
- case 13:
- if ((0x3ff000000000000L & l) == 0L)
+ case 15:
+ if ((0x3ff200000000000L & l) == 0L)
break;
if (kind > 33)
kind = 33;
- jjCheckNAdd(13);
+ jjCheckNAdd(15);
break;
- case 14:
+ case 16:
if (curChar != 36)
break;
if (kind > 30)
kind = 30;
- jjCheckNAddStates(0, 4);
+ jjCheckNAddStates(3, 7);
break;
- case 15:
+ case 17:
if (curChar != 46)
break;
if (kind > 30)
kind = 30;
- jjCheckNAdd(16);
+ jjCheckNAdd(18);
break;
- case 16:
+ case 18:
if ((0x3ff000000000000L & l) == 0L)
break;
if (kind > 30)
kind = 30;
- jjCheckNAdd(16);
+ jjCheckNAdd(18);
break;
- case 18:
- if ((0x3ff000000000000L & l) == 0L)
+ case 20:
+ if ((0x3ff200000000000L & l) == 0L)
break;
if (kind > 34)
kind = 34;
- jjstateSet[jjnewStateCnt++] = 18;
+ jjstateSet[jjnewStateCnt++] = 20;
break;
- case 21:
- if ((0x3ff000000000000L & l) != 0L)
+ case 23:
+ if ((0x3ff200000000000L & l) != 0L)
jjAddStates(8, 9);
break;
- case 22:
+ case 24:
if (curChar == 46)
- jjstateSet[jjnewStateCnt++] = 23;
+ jjstateSet[jjnewStateCnt++] = 25;
break;
- case 24:
- if ((0x3ff000000000000L & l) == 0L)
+ case 26:
+ if ((0x3ff200000000000L & l) == 0L)
break;
if (kind > 35)
kind = 35;
- jjstateSet[jjnewStateCnt++] = 24;
+ jjstateSet[jjnewStateCnt++] = 26;
break;
- case 26:
+ case 28:
if ((0x3ff501400000000L & l) != 0L)
- jjCheckNAddTwoStates(26, 27);
+ jjCheckNAddTwoStates(28, 29);
break;
- case 27:
+ case 29:
if (curChar == 40)
- jjCheckNAddTwoStates(28, 29);
+ jjCheckNAddTwoStates(30, 31);
break;
- case 28:
+ case 30:
if ((0x3ff501400000000L & l) != 0L)
- jjCheckNAddTwoStates(28, 29);
+ jjCheckNAddTwoStates(30, 31);
break;
- case 29:
+ case 31:
if (curChar != 41)
break;
if (kind > 37)
kind = 37;
- jjCheckNAddTwoStates(26, 27);
+ jjCheckNAddTwoStates(28, 29);
break;
- case 30:
+ case 32:
if ((0x3ff000000000000L & l) == 0L)
break;
if (kind > 30)
kind = 30;
jjCheckNAddStates(10, 12);
break;
- case 31:
- if ((0x3ff000000000000L & l) != 0L && kind > 31)
- kind = 31;
- break;
default : break;
}
} while(i != startsAt);
@@ -706,28 +715,7 @@
{
switch(jjstateSet[--i])
{
- case 5:
- if (kind > 27)
- kind = 27;
- jjCheckNAdd(9);
- if ((0x7fffffe07fffffeL & l) != 0L)
- {
- if (kind > 31)
- kind = 31;
- }
- if ((0x7fffffe07fffffeL & l) != 0L)
- {
- if (kind > 28)
- kind = 28;
- jjCheckNAdd(13);
- }
- if ((0x7fffffe07fffffeL & l) != 0L)
- {
- if (kind > 36)
- kind = 36;
- }
- break;
- case 32:
+ case 33:
if (kind > 27)
kind = 27;
jjCheckNAdd(9);
@@ -739,7 +727,7 @@
kind = 27;
jjCheckNAdd(9);
break;
- case 33:
+ case 34:
if (kind > 27)
kind = 27;
jjCheckNAdd(9);
@@ -747,71 +735,101 @@
{
if (kind > 33)
kind = 33;
- jjCheckNAdd(13);
+ jjCheckNAdd(15);
}
break;
+ case 5:
+ if (kind > 27)
+ kind = 27;
+ jjCheckNAdd(9);
+ if ((0x7fffffe07fffffeL & l) != 0L)
+ {
+ if (kind > 28)
+ kind = 28;
+ jjCheckNAdd(15);
+ }
+ if ((0x7fffffe07fffffeL & l) != 0L)
+ {
+ if (kind > 36)
+ kind = 36;
+ }
+ if ((0x7fffffe07fffffeL & l) != 0L)
+ {
+ if (kind > 32)
+ kind = 32;
+ }
+ if ((0x7fffffe07fffffeL & l) != 0L)
+ {
+ if (kind > 31)
+ kind = 31;
+ }
+ break;
case 1:
- jjAddStates(5, 7);
+ jjAddStates(0, 2);
break;
case 7:
jjCheckNAddTwoStates(7, 8);
break;
case 11:
+ if ((0x7fffffe07fffffeL & l) != 0L && kind > 31)
+ kind = 31;
+ break;
+ case 12:
+ if ((0x7fffffe07fffffeL & l) != 0L && kind > 32)
+ kind = 32;
+ break;
+ case 13:
if ((0x7fffffe07fffffeL & l) != 0L && kind > 36)
kind = 36;
break;
- case 12:
+ case 14:
if ((0x7fffffe07fffffeL & l) == 0L)
break;
if (kind > 28)
kind = 28;
- jjCheckNAdd(13);
+ jjCheckNAdd(15);
break;
- case 13:
+ case 15:
if ((0x7fffffe07fffffeL & l) == 0L)
break;
if (kind > 33)
kind = 33;
- jjCheckNAdd(13);
+ jjCheckNAdd(15);
break;
- case 17:
- case 18:
+ case 19:
+ case 20:
if ((0x7fffffe07fffffeL & l) == 0L)
break;
if (kind > 34)
kind = 34;
- jjCheckNAdd(18);
+ jjCheckNAdd(20);
break;
- case 19:
- if ((0x7fffffe07fffffeL & l) != 0L)
- jjstateSet[jjnewStateCnt++] = 20;
- break;
- case 20:
case 21:
if ((0x7fffffe07fffffeL & l) != 0L)
- jjCheckNAddTwoStates(21, 22);
+ jjstateSet[jjnewStateCnt++] = 22;
break;
+ case 22:
case 23:
- case 24:
+ if ((0x7fffffe07fffffeL & l) != 0L)
+ jjCheckNAddTwoStates(23, 24);
+ break;
+ case 25:
+ case 26:
if ((0x7fffffe07fffffeL & l) == 0L)
break;
if (kind > 35)
kind = 35;
- jjCheckNAdd(24);
+ jjCheckNAdd(26);
break;
- case 25:
- case 26:
+ case 27:
+ case 28:
if ((0x7fffffe07fffffeL & l) != 0L)
- jjCheckNAddTwoStates(26, 27);
+ jjCheckNAddTwoStates(28, 29);
break;
- case 28:
+ case 30:
if ((0x7fffffe07fffffeL & l) != 0L)
jjAddStates(13, 14);
break;
- case 31:
- if ((0x7fffffe07fffffeL & l) != 0L && kind > 31)
- kind = 31;
- break;
default : break;
}
} while(i != startsAt);
@@ -824,15 +842,7 @@
{
switch(jjstateSet[--i])
{
- case 5:
- case 9:
- if ((jjbitVec0[i2] & l2) == 0L)
- break;
- if (kind > 27)
- kind = 27;
- jjCheckNAdd(9);
- break;
- case 32:
+ case 33:
if ((jjbitVec0[i2] & l2) != 0L)
jjCheckNAddTwoStates(7, 8);
if ((jjbitVec0[i2] & l2) != 0L)
@@ -843,13 +853,21 @@
}
break;
case 0:
+ case 9:
if ((jjbitVec0[i2] & l2) == 0L)
break;
if (kind > 27)
kind = 27;
jjCheckNAdd(9);
break;
- case 33:
+ case 34:
+ if ((jjbitVec0[i2] & l2) == 0L)
+ break;
+ if (kind > 27)
+ kind = 27;
+ jjCheckNAdd(9);
+ break;
+ case 5:
if ((jjbitVec0[i2] & l2) == 0L)
break;
if (kind > 27)
@@ -858,7 +876,7 @@
break;
case 1:
if ((jjbitVec0[i2] & l2) != 0L)
- jjAddStates(5, 7);
+ jjAddStates(0, 2);
break;
case 7:
if ((jjbitVec0[i2] & l2) != 0L)
@@ -875,14 +893,14 @@
kind = 0x7fffffff;
}
++curPos;
- if ((i = jjnewStateCnt) == (startsAt = 32 - (jjnewStateCnt = startsAt)))
+ if ((i = jjnewStateCnt) == (startsAt = 33 - (jjnewStateCnt = startsAt)))
return curPos;
try { curChar = input_stream.readChar(); }
catch(java.io.IOException e) { return curPos; }
}
}
static final int[] jjnextStates = {
- 15, 17, 19, 25, 30, 1, 2, 4, 21, 22, 15, 16, 30, 28, 29,
+ 1, 2, 4, 17, 19, 21, 27, 32, 23, 24, 17, 18, 32, 30, 31,
};
public static final String[] jjstrLiteralImages = {
"", null, null, null, null, null, null, "\43\151\156\143\154\165\144\145",
@@ -903,8 +921,8 @@
0x40L,
};
private ASCII_CharStream input_stream;
-private final int[] jjrounds = new int[32];
-private final int[] jjstateSet = new int[64];
+private final int[] jjrounds = new int[33];
+private final int[] jjstateSet = new int[66];
StringBuffer image;
int jjimageLen;
int lengthOfMatch;
@@ -931,7 +949,7 @@
{
int i;
jjround = 0x80000001;
- for (i = 32; i-- > 0;)
+ for (i = 33; i-- > 0;)
jjrounds[i] = 0x80000000;
}
public void ReInit(ASCII_CharStream stream, int lexState)
allowed hyphens in
Posted by Jon Stevens <jo...@latchkey.com>.
on 8/25/2000 8:35 AM, "jvanzyl@locus.apache.org" <jv...@locus.apache.org>
wrote:
> - allowed hyphens in <IDENTIFIER>
>
maybe also add "_"
-jon
--
Scarab -
Java Servlet Based - Open Source
Bug/Issue Tracking System
<http://scarab.tigris.org/>