You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ojb-dev@db.apache.org by br...@apache.org on 2003/03/02 16:41:52 UTC
cvs commit: db-ojb/src/java/org/apache/ojb/odmg/oql oql-ojb.g OQLLexer.java
brj 2003/03/02 07:41:52
Modified: src/java/org/apache/ojb/odmg/oql oql-ojb.g OQLLexer.java
Log:
allow '$' in identifier to support inner classes
Revision Changes Path
1.11 +4 -4 db-ojb/src/java/org/apache/ojb/odmg/oql/oql-ojb.g
Index: oql-ojb.g
===================================================================
RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/odmg/oql/oql-ojb.g,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- oql-ojb.g 4 Feb 2003 20:36:16 -0000 1.10
+++ oql-ojb.g 2 Mar 2003 15:41:52 -0000 1.11
@@ -202,10 +202,10 @@
* Names
*/
-// BRJ: support ->
+// BRJ: support -> and $
protected
NameFirstCharacter:
- ( 'A'..'Z' | 'a'..'z' | '_' | TOK_DOT | TOK_INDIRECT );
+ ( 'A'..'Z' | 'a'..'z' | '_' | TOK_DOT | TOK_INDIRECT | TOK_DOLLAR );
// BRJ: use NameFirstCharacter as base
protected
@@ -465,7 +465,7 @@
)*
| TOK_STAR
)
-
+
{
if (list == null)
{
@@ -778,4 +778,4 @@
{
if (!temp.isEmpty()) {coll = temp;}
}
- ;
+ ;
\ No newline at end of file
1.4 +25 -22 db-ojb/src/java/org/apache/ojb/odmg/oql/OQLLexer.java
Index: OQLLexer.java
===================================================================
RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/odmg/oql/OQLLexer.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- OQLLexer.java 24 Oct 2002 18:41:17 -0000 1.3
+++ OQLLexer.java 2 Mar 2003 15:41:52 -0000 1.4
@@ -190,12 +190,6 @@
theRetToken=_returnToken;
break;
}
- case '$':
- {
- mTOK_DOLLAR(true);
- theRetToken=_returnToken;
- break;
- }
case '\'':
{
mCharLiteral(true);
@@ -265,6 +259,10 @@
mTOK_GT(true);
theRetToken=_returnToken;
}
+ else if ((LA(1)=='$') && (true)) {
+ mTOK_DOLLAR(true);
+ theRetToken=_returnToken;
+ }
else if ((_tokenSet_0.member(LA(1))) && (true)) {
mIdentifier(true);
theRetToken=_returnToken;
@@ -635,6 +633,11 @@
mTOK_INDIRECT(false);
break;
}
+ case '$':
+ {
+ mTOK_DOLLAR(false);
+ break;
+ }
default:
{
throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine());
@@ -655,20 +658,20 @@
{
switch ( LA(1)) {
- case '-': case '.': case 'A': case 'B':
- case 'C': case 'D': case 'E': case 'F':
- case 'G': case 'H': case 'I': case 'J':
- case 'K': case 'L': case 'M': case 'N':
- case 'O': case 'P': case 'Q': case 'R':
- case 'S': case 'T': case 'U': case 'V':
- case 'W': case 'X': case 'Y': case 'Z':
- case '_': case 'a': case 'b': case 'c':
- case 'd': case 'e': case 'f': case 'g':
- case 'h': case 'i': case 'j': case 'k':
- case 'l': case 'm': case 'n': case 'o':
- case 'p': case 'q': case 'r': case 's':
- case 't': case 'u': case 'v': case 'w':
- case 'x': case 'y': case 'z':
+ case '$': case '-': case '.': case 'A':
+ case 'B': case 'C': case 'D': case 'E':
+ case 'F': case 'G': case 'H': case 'I':
+ case 'J': case 'K': case 'L': case 'M':
+ case 'N': case 'O': case 'P': case 'Q':
+ case 'R': case 'S': case 'T': case 'U':
+ case 'V': case 'W': case 'X': case 'Y':
+ case 'Z': case '_': case 'a': case 'b':
+ case 'c': case 'd': case 'e': case 'f':
+ case 'g': case 'h': case 'i': case 'j':
+ case 'k': case 'l': case 'm': case 'n':
+ case 'o': case 'p': case 'q': case 'r':
+ case 's': case 't': case 'u': case 'v':
+ case 'w': case 'x': case 'y': case 'z':
{
mNameFirstCharacter(false);
break;
@@ -1096,11 +1099,11 @@
}
- private static final long _tokenSet_0_data_[] = { 105553116266496L, 576460745995190270L, 0L, 0L, 0L };
+ private static final long _tokenSet_0_data_[] = { 105621835743232L, 576460745995190270L, 0L, 0L, 0L };
public static final BitSet _tokenSet_0 = new BitSet(_tokenSet_0_data_);
private static final long _tokenSet_1_data_[] = { 288019269919178752L, 0L, 0L, 0L, 0L };
public static final BitSet _tokenSet_1 = new BitSet(_tokenSet_1_data_);
- private static final long _tokenSet_2_data_[] = { 288054454291267584L, 576460745995190270L, 0L, 0L, 0L };
+ private static final long _tokenSet_2_data_[] = { 288054523010744320L, 576460745995190270L, 0L, 0L, 0L };
public static final BitSet _tokenSet_2 = new BitSet(_tokenSet_2_data_);
private static final long _tokenSet_3_data_[] = { -549755814920L, -1L, -1L, -1L, 0L, 0L, 0L, 0L };
public static final BitSet _tokenSet_3 = new BitSet(_tokenSet_3_data_);