You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by ge...@apache.org on 2002/06/07 05:02:56 UTC
cvs commit: jakarta-commons-sandbox/jexl/src/java/org/apache/commons/jexl/parser Parser.jj Parser.jjt ParserTokenManager.java
geirm 2002/06/06 20:02:56
Modified: jexl/src/java/org/apache/commons/jexl/parser Parser.jj
Parser.jjt ParserTokenManager.java
Log:
support 'foo' for string literals as well as "foo"
Revision Changes Path
1.3 +8 -2 jakarta-commons-sandbox/jexl/src/java/org/apache/commons/jexl/parser/Parser.jj
Index: Parser.jj
===================================================================
RCS file: /home/cvs/jakarta-commons-sandbox/jexl/src/java/org/apache/commons/jexl/parser/Parser.jj,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- Parser.jj 25 May 2002 18:40:11 -0000 1.2
+++ Parser.jj 7 Jun 2002 03:02:55 -0000 1.3
@@ -57,7 +57,7 @@
* Jexl : Java Expression Language
*
* @author <a href="mailto:geirm@apache.org">Geir Magnusson Jr.</a>
- * @version $Id: Parser.jj,v 1.2 2002/05/25 18:40:11 geirm Exp $
+ * @version $Id: Parser.jj,v 1.3 2002/06/07 03:02:55 geirm Exp $
*/
options
@@ -1756,5 +1756,11 @@
TOKEN :
{
- <STRING_LITERAL: ( "\"" ( ~["\"","\n","\r"] )* "\"" ) >
+// <STRING_LITERAL: ( "\"" ( ~["\"","\n","\r"] )* "\"" ) >
+
+ <STRING_LITERAL :
+ ("\"" ( ~["\"","\n","\r"] )* "\"" )
+ |
+ ("\'" ( ~["\'","\n","\r"] )* "\'" )
+ >
}
1.3 +8 -2 jakarta-commons-sandbox/jexl/src/java/org/apache/commons/jexl/parser/Parser.jjt
Index: Parser.jjt
===================================================================
RCS file: /home/cvs/jakarta-commons-sandbox/jexl/src/java/org/apache/commons/jexl/parser/Parser.jjt,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- Parser.jjt 25 May 2002 18:38:44 -0000 1.2
+++ Parser.jjt 7 Jun 2002 03:02:55 -0000 1.3
@@ -56,7 +56,7 @@
* Jexl : Java Expression Language
*
* @author <a href="mailto:geirm@apache.org">Geir Magnusson Jr.</a>
- * @version $Id: Parser.jjt,v 1.2 2002/05/25 18:38:44 geirm Exp $
+ * @version $Id: Parser.jjt,v 1.3 2002/06/07 03:02:55 geirm Exp $
*/
options
@@ -471,5 +471,11 @@
TOKEN :
{
- <STRING_LITERAL: ( "\"" ( ~["\"","\n","\r"] )* "\"" ) >
+// <STRING_LITERAL: ( "\"" ( ~["\"","\n","\r"] )* "\"" ) >
+
+ <STRING_LITERAL :
+ ("\"" ( ~["\"","\n","\r"] )* "\"" )
+ |
+ ("\'" ( ~["\'","\n","\r"] )* "\'" )
+ >
}
1.3 +35 -14 jakarta-commons-sandbox/jexl/src/java/org/apache/commons/jexl/parser/ParserTokenManager.java
Index: ParserTokenManager.java
===================================================================
RCS file: /home/cvs/jakarta-commons-sandbox/jexl/src/java/org/apache/commons/jexl/parser/ParserTokenManager.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ParserTokenManager.java 25 May 2002 18:40:11 -0000 1.2
+++ ParserTokenManager.java 7 Jun 2002 03:02:55 -0000 1.3
@@ -427,7 +427,7 @@
{
int[] nextStates;
int startsAt = 0;
- jjnewStateCnt = 14;
+ jjnewStateCnt = 17;
int i = 1;
jjstateSet[0] = startState;
int j, kind = 0x7fffffff;
@@ -449,6 +449,8 @@
kind = 7;
jjCheckNAddStates(0, 2);
}
+ else if (curChar == 39)
+ jjCheckNAddTwoStates(10, 11);
else if (curChar == 34)
jjCheckNAddTwoStates(7, 8);
else if (curChar == 36)
@@ -499,33 +501,45 @@
kind = 61;
break;
case 9:
+ if (curChar == 39)
+ jjCheckNAddTwoStates(10, 11);
+ break;
+ case 10:
+ if ((0xffffff7fffffdbffL & l) != 0L)
+ jjCheckNAddTwoStates(10, 11);
+ break;
+ case 11:
+ if (curChar == 39 && kind > 61)
+ kind = 61;
+ break;
+ case 12:
if ((0x3ff000000000000L & l) == 0L)
break;
if (kind > 7)
kind = 7;
jjCheckNAddStates(0, 2);
break;
- case 10:
+ case 13:
if ((0x3ff000000000000L & l) == 0L)
break;
if (kind > 7)
kind = 7;
- jjCheckNAdd(10);
+ jjCheckNAdd(13);
break;
- case 11:
+ case 14:
if ((0x3ff000000000000L & l) != 0L)
- jjCheckNAddTwoStates(11, 12);
+ jjCheckNAddTwoStates(14, 15);
break;
- case 12:
+ case 15:
if (curChar == 46)
- jjCheckNAdd(13);
+ jjCheckNAdd(16);
break;
- case 13:
+ case 16:
if ((0x3ff000000000000L & l) == 0L)
break;
if (kind > 8)
kind = 8;
- jjCheckNAdd(13);
+ jjCheckNAdd(16);
break;
default : break;
}
@@ -552,6 +566,9 @@
case 7:
jjAddStates(5, 6);
break;
+ case 10:
+ jjAddStates(7, 8);
+ break;
default : break;
}
} while(i != startsAt);
@@ -572,6 +589,10 @@
if ((jjbitVec0[i2] & l2) != 0L)
jjAddStates(5, 6);
break;
+ case 10:
+ if ((jjbitVec0[i2] & l2) != 0L)
+ jjAddStates(7, 8);
+ break;
default : break;
}
} while(i != startsAt);
@@ -583,14 +604,14 @@
kind = 0x7fffffff;
}
++curPos;
- if ((i = jjnewStateCnt) == (startsAt = 14 - (jjnewStateCnt = startsAt)))
+ if ((i = jjnewStateCnt) == (startsAt = 17 - (jjnewStateCnt = startsAt)))
return curPos;
try { curChar = input_stream.readChar(); }
catch(java.io.IOException e) { return curPos; }
}
}
static final int[] jjnextStates = {
- 10, 11, 12, 1, 2, 7, 8,
+ 13, 14, 15, 1, 2, 7, 8, 10, 11,
};
public static final String[] jjstrLiteralImages = {
"", null, null, null, null, null, null, null, null, "\173", "\175",
@@ -611,8 +632,8 @@
0x7eL,
};
private SimpleCharStream input_stream;
-private final int[] jjrounds = new int[14];
-private final int[] jjstateSet = new int[28];
+private final int[] jjrounds = new int[17];
+private final int[] jjstateSet = new int[34];
protected char curChar;
public ParserTokenManager(SimpleCharStream stream)
{
@@ -636,7 +657,7 @@
{
int i;
jjround = 0x80000001;
- for (i = 14; i-- > 0;)
+ for (i = 17; i-- > 0;)
jjrounds[i] = 0x80000000;
}
public void ReInit(SimpleCharStream stream, int lexState)
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>