001: /**
002: * Copyright (C) 2006 NetMind Consulting Bt.
003: *
004: * This library is free software; you can redistribute it and/or
005: * modify it under the terms of the GNU Lesser General Public
006: * License as published by the Free Software Foundation; either
007: * version 3 of the License, or (at your option) any later version.
008: *
009: * This library is distributed in the hope that it will be useful,
010: * but WITHOUT ANY WARRANTY; without even the implied warranty of
011: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
012: * Lesser General Public License for more details.
013: *
014: * You should have received a copy of the GNU Lesser General Public
015: * License along with this library; if not, write to the Free Software
016: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
017: */package hu.netmind.persistence.parser;
018:
019: import java_cup.runtime.Symbol;
020: import java.util.Date;
021:
022: class Yylex implements java_cup.runtime.Scanner {
023: private final int YY_BUFFER_SIZE = 512;
024: private final int YY_F = -1;
025: private final int YY_NO_STATE = -1;
026: private final int YY_NOT_ACCEPT = 0;
027: private final int YY_START = 1;
028: private final int YY_END = 2;
029: private final int YY_NO_ANCHOR = 4;
030: private final int YY_BOL = 65536;
031: private final int YY_EOF = 65537;
032:
033: private Object[] parameters = new Object[] {};
034: private int currentParameter = 0;
035:
036: public int yyline() {
037: return yyline;
038: }
039:
040: public int yychar() {
041: return yychar;
042: }
043:
044: public void setParameters(Object[] parameters) {
045: if (parameters == null)
046: this .parameters = new Object[] {};
047: else
048: this .parameters = parameters;
049: }
050:
051: private java.io.BufferedReader yy_reader;
052: private int yy_buffer_index;
053: private int yy_buffer_read;
054: private int yy_buffer_start;
055: private int yy_buffer_end;
056: private char yy_buffer[];
057: private int yychar;
058: private int yyline;
059: private boolean yy_at_bol;
060: private int yy_lexical_state;
061:
062: Yylex(java.io.Reader reader) {
063: this ();
064: if (null == reader) {
065: throw (new Error("Error: Bad input stream initializer."));
066: }
067: yy_reader = new java.io.BufferedReader(reader);
068: }
069:
070: Yylex(java.io.InputStream instream) {
071: this ();
072: if (null == instream) {
073: throw (new Error("Error: Bad input stream initializer."));
074: }
075: yy_reader = new java.io.BufferedReader(
076: new java.io.InputStreamReader(instream));
077: }
078:
079: private Yylex() {
080: yy_buffer = new char[YY_BUFFER_SIZE];
081: yy_buffer_read = 0;
082: yy_buffer_index = 0;
083: yy_buffer_start = 0;
084: yy_buffer_end = 0;
085: yychar = 0;
086: yyline = 0;
087: yy_at_bol = true;
088: yy_lexical_state = YYINITIAL;
089: }
090:
091: private boolean yy_eof_done = false;
092: private final int YYINITIAL = 0;
093: private final int yy_state_dtrans[] = { 0 };
094:
095: private void yybegin(int state) {
096: yy_lexical_state = state;
097: }
098:
099: private int yy_advance() throws java.io.IOException {
100: int next_read;
101: int i;
102: int j;
103:
104: if (yy_buffer_index < yy_buffer_read) {
105: return yy_buffer[yy_buffer_index++];
106: }
107:
108: if (0 != yy_buffer_start) {
109: i = yy_buffer_start;
110: j = 0;
111: while (i < yy_buffer_read) {
112: yy_buffer[j] = yy_buffer[i];
113: ++i;
114: ++j;
115: }
116: yy_buffer_end = yy_buffer_end - yy_buffer_start;
117: yy_buffer_start = 0;
118: yy_buffer_read = j;
119: yy_buffer_index = j;
120: next_read = yy_reader.read(yy_buffer, yy_buffer_read,
121: yy_buffer.length - yy_buffer_read);
122: if (-1 == next_read) {
123: return YY_EOF;
124: }
125: yy_buffer_read = yy_buffer_read + next_read;
126: }
127:
128: while (yy_buffer_index >= yy_buffer_read) {
129: if (yy_buffer_index >= yy_buffer.length) {
130: yy_buffer = yy_double(yy_buffer);
131: }
132: next_read = yy_reader.read(yy_buffer, yy_buffer_read,
133: yy_buffer.length - yy_buffer_read);
134: if (-1 == next_read) {
135: return YY_EOF;
136: }
137: yy_buffer_read = yy_buffer_read + next_read;
138: }
139: return yy_buffer[yy_buffer_index++];
140: }
141:
142: private void yy_move_end() {
143: if (yy_buffer_end > yy_buffer_start
144: && '\n' == yy_buffer[yy_buffer_end - 1])
145: yy_buffer_end--;
146: if (yy_buffer_end > yy_buffer_start
147: && '\r' == yy_buffer[yy_buffer_end - 1])
148: yy_buffer_end--;
149: }
150:
151: private boolean yy_last_was_cr = false;
152:
153: private void yy_mark_start() {
154: int i;
155: for (i = yy_buffer_start; i < yy_buffer_index; ++i) {
156: if ('\n' == yy_buffer[i] && !yy_last_was_cr) {
157: ++yyline;
158: }
159: if ('\r' == yy_buffer[i]) {
160: ++yyline;
161: yy_last_was_cr = true;
162: } else
163: yy_last_was_cr = false;
164: }
165: yychar = yychar + yy_buffer_index - yy_buffer_start;
166: yy_buffer_start = yy_buffer_index;
167: }
168:
169: private void yy_mark_end() {
170: yy_buffer_end = yy_buffer_index;
171: }
172:
173: private void yy_to_mark() {
174: yy_buffer_index = yy_buffer_end;
175: yy_at_bol = (yy_buffer_end > yy_buffer_start)
176: && ('\r' == yy_buffer[yy_buffer_end - 1]
177: || '\n' == yy_buffer[yy_buffer_end - 1]
178: || 2028/*LS*/== yy_buffer[yy_buffer_end - 1] || 2029/*PS*/== yy_buffer[yy_buffer_end - 1]);
179: }
180:
181: private java.lang.String yytext() {
182: return (new java.lang.String(yy_buffer, yy_buffer_start,
183: yy_buffer_end - yy_buffer_start));
184: }
185:
186: private int yylength() {
187: return yy_buffer_end - yy_buffer_start;
188: }
189:
190: private char[] yy_double(char buf[]) {
191: int i;
192: char newbuf[];
193: newbuf = new char[2 * buf.length];
194: for (i = 0; i < buf.length; ++i) {
195: newbuf[i] = buf[i];
196: }
197: return newbuf;
198: }
199:
200: private final int YY_E_INTERNAL = 0;
201: private final int YY_E_MATCH = 1;
202: private java.lang.String yy_error_string[] = {
203: "Error: Internal error.\n", "Error: Unmatched input.\n" };
204:
205: private void yy_error(int code, boolean fatal) {
206: java.lang.System.out.print(yy_error_string[code]);
207: java.lang.System.out.flush();
208: if (fatal) {
209: throw new Error("Fatal Error.\n");
210: }
211: }
212:
213: private int[][] unpackFromString(int size1, int size2, String st) {
214: int colonIndex = -1;
215: String lengthString;
216: int sequenceLength = 0;
217: int sequenceInteger = 0;
218:
219: int commaIndex;
220: String workString;
221:
222: int res[][] = new int[size1][size2];
223: for (int i = 0; i < size1; i++) {
224: for (int j = 0; j < size2; j++) {
225: if (sequenceLength != 0) {
226: res[i][j] = sequenceInteger;
227: sequenceLength--;
228: continue;
229: }
230: commaIndex = st.indexOf(',');
231: workString = (commaIndex == -1) ? st : st.substring(0,
232: commaIndex);
233: st = st.substring(commaIndex + 1);
234: colonIndex = workString.indexOf(':');
235: if (colonIndex == -1) {
236: res[i][j] = Integer.parseInt(workString);
237: continue;
238: }
239: lengthString = workString.substring(colonIndex + 1);
240: sequenceLength = Integer.parseInt(lengthString);
241: workString = workString.substring(0, colonIndex);
242: sequenceInteger = Integer.parseInt(workString);
243: res[i][j] = sequenceInteger;
244: sequenceLength--;
245: }
246: }
247: return res;
248: }
249:
250: private int yy_acpt[] = {
251: /* 0 */YY_NOT_ACCEPT,
252: /* 1 */YY_NO_ANCHOR,
253: /* 2 */YY_NO_ANCHOR,
254: /* 3 */YY_NO_ANCHOR,
255: /* 4 */YY_NO_ANCHOR,
256: /* 5 */YY_NO_ANCHOR,
257: /* 6 */YY_NO_ANCHOR,
258: /* 7 */YY_NO_ANCHOR,
259: /* 8 */YY_NO_ANCHOR,
260: /* 9 */YY_NO_ANCHOR,
261: /* 10 */YY_NO_ANCHOR,
262: /* 11 */YY_NO_ANCHOR,
263: /* 12 */YY_NO_ANCHOR,
264: /* 13 */YY_NO_ANCHOR,
265: /* 14 */YY_NO_ANCHOR,
266: /* 15 */YY_NO_ANCHOR,
267: /* 16 */YY_NO_ANCHOR,
268: /* 17 */YY_NO_ANCHOR,
269: /* 18 */YY_NO_ANCHOR,
270: /* 19 */YY_NO_ANCHOR,
271: /* 20 */YY_NO_ANCHOR,
272: /* 21 */YY_NO_ANCHOR,
273: /* 22 */YY_NO_ANCHOR,
274: /* 23 */YY_NO_ANCHOR,
275: /* 24 */YY_NO_ANCHOR,
276: /* 25 */YY_NO_ANCHOR,
277: /* 26 */YY_NOT_ACCEPT,
278: /* 27 */YY_NO_ANCHOR,
279: /* 28 */YY_NO_ANCHOR,
280: /* 29 */YY_NOT_ACCEPT,
281: /* 30 */YY_NO_ANCHOR,
282: /* 31 */YY_NO_ANCHOR,
283: /* 32 */YY_NOT_ACCEPT,
284: /* 33 */YY_NO_ANCHOR,
285: /* 34 */YY_NO_ANCHOR,
286: /* 35 */YY_NOT_ACCEPT,
287: /* 36 */YY_NO_ANCHOR,
288: /* 37 */YY_NOT_ACCEPT,
289: /* 38 */YY_NO_ANCHOR,
290: /* 39 */YY_NOT_ACCEPT,
291: /* 40 */YY_NO_ANCHOR,
292: /* 41 */YY_NOT_ACCEPT,
293: /* 42 */YY_NO_ANCHOR,
294: /* 43 */YY_NOT_ACCEPT,
295: /* 44 */YY_NO_ANCHOR,
296: /* 45 */YY_NOT_ACCEPT,
297: /* 46 */YY_NO_ANCHOR,
298: /* 47 */YY_NOT_ACCEPT,
299: /* 48 */YY_NO_ANCHOR,
300: /* 49 */YY_NOT_ACCEPT,
301: /* 50 */YY_NO_ANCHOR,
302: /* 51 */YY_NOT_ACCEPT,
303: /* 52 */YY_NO_ANCHOR,
304: /* 53 */YY_NOT_ACCEPT,
305: /* 54 */YY_NO_ANCHOR,
306: /* 55 */YY_NOT_ACCEPT,
307: /* 56 */YY_NO_ANCHOR,
308: /* 57 */YY_NO_ANCHOR,
309: /* 58 */YY_NO_ANCHOR,
310: /* 59 */YY_NO_ANCHOR,
311: /* 60 */YY_NO_ANCHOR,
312: /* 61 */YY_NOT_ACCEPT,
313: /* 62 */YY_NO_ANCHOR,
314: /* 63 */YY_NO_ANCHOR,
315: /* 64 */YY_NO_ANCHOR,
316: /* 65 */YY_NO_ANCHOR,
317: /* 66 */YY_NO_ANCHOR,
318: /* 67 */YY_NO_ANCHOR,
319: /* 68 */YY_NO_ANCHOR,
320: /* 69 */YY_NO_ANCHOR,
321: /* 70 */YY_NO_ANCHOR,
322: /* 71 */YY_NO_ANCHOR,
323: /* 72 */YY_NO_ANCHOR,
324: /* 73 */YY_NO_ANCHOR,
325: /* 74 */YY_NO_ANCHOR,
326: /* 75 */YY_NO_ANCHOR,
327: /* 76 */YY_NO_ANCHOR,
328: /* 77 */YY_NO_ANCHOR,
329: /* 78 */YY_NO_ANCHOR,
330: /* 79 */YY_NO_ANCHOR,
331: /* 80 */YY_NO_ANCHOR,
332: /* 81 */YY_NO_ANCHOR,
333: /* 82 */YY_NO_ANCHOR,
334: /* 83 */YY_NO_ANCHOR,
335: /* 84 */YY_NO_ANCHOR,
336: /* 85 */YY_NO_ANCHOR,
337: /* 86 */YY_NO_ANCHOR,
338: /* 87 */YY_NO_ANCHOR,
339: /* 88 */YY_NO_ANCHOR,
340: /* 89 */YY_NO_ANCHOR,
341: /* 90 */YY_NO_ANCHOR,
342: /* 91 */YY_NO_ANCHOR,
343: /* 92 */YY_NO_ANCHOR,
344: /* 93 */YY_NO_ANCHOR,
345: /* 94 */YY_NO_ANCHOR,
346: /* 95 */YY_NO_ANCHOR,
347: /* 96 */YY_NO_ANCHOR };
348: private int yy_cmap[] = unpackFromString(
349: 1,
350: 65538,
351: "25:9,37:2,25,37:2,25:18,14,18,25:5,24,1,2,25:2,35,25,36,25,26:10,25:2,19,17"
352: + ",20,28,25,5,30,23,11,22,27,33,32,12,34,21,16,34,7,8,34:2,10,13,6,15,29,9,34"
353: + ",31,34,3,25,4,25,34,25,5,30,23,11,22,27,33,32,12,34,21,16,34,7,8,34:2,10,13"
354: + ",6,15,29,9,34,31,34,25:65413,0:2")[0];
355:
356: private int yy_rmap[] = unpackFromString(
357: 1,
358: 97,
359: "0,1:5,2,1:2,3,1:3,4,5,1,6,7,4:2,8,4:3,1:2,9,10,11,12,13,9,14,15,4,16,17,18,"
360: + "19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,22,36,37,38,39,40,41,42,"
361: + "43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,4:3,65,66"
362: + ",67,4,68,45,69,70,71")[0];
363:
364: private int yy_nxt[][] = unpackFromString(
365: 72,
366: 38,
367: "1,2,3,4,5,6,27,60,30,88,91,92,33,91,7,91,93,8,26,28,31,91:2,94,29,-1,9,95,1"
368: + "0,96,91:5,11,12,7,-1:43,91,13,36,91:5,38,-1,91:2,-1:4,91:3,-1:2,91:2,-1,91:"
369: + "6,-1:8,91:9,-1,91:2,-1:4,91:3,-1:2,9,91,-1,91:6,-1:8,91:9,-1,91:2,-1:4,91:3"
370: + ",-1:2,91:2,-1,91:6,-1:8,91:6,89,91:2,-1,91:2,-1:4,91:3,-1:2,91:2,-1,91:6,-1"
371: + ":8,91:9,-1,91:2,-1:4,91,74,91,-1:2,91:2,-1,91:6,-1:8,91:9,61,91:2,-1:4,91:3"
372: + ",-1:2,91:2,-1,91:6,-1:8,91:9,-1,91:2,-1:4,91,78,91,-1:2,91:2,-1,91:6,-1:20,"
373: + "8,-1:25,91:5,62,91:3,-1,91:2,-1:4,91:3,-1:2,91:2,-1,91:6,-1:20,8,-1:2,8,-1:"
374: + "18,29:23,15,29:13,-1:5,91:5,14,91:3,-1,91:2,-1:4,91:3,-1:2,91:2,-1,91:6,-1:"
375: + "10,35,-1:35,91:2,34,91:5,42,-1,91,65,-1:4,91:3,-1:2,91:2,-1,91:6,-1:11,39,-"
376: + "1:6,41,-1:27,91:6,85,91:2,-1,91:2,-1:4,91:3,-1:2,91:2,-1,91:6,-1:18,41,-1:2"
377: + "7,91:9,-1,91:2,-1:4,91:2,16,-1:2,91:2,-1,91:6,-1:9,45,-1:36,91,17,91:2,18,9"
378: + "1:4,-1,91:2,-1:4,91:3,-1:2,91:2,-1,91:6,-1:19,47,-1:26,91:9,32,91:2,-1:4,91"
379: + ":3,-1:2,91:2,-1,91:6,-1:33,49,-1:12,91:9,-1,91:2,-1:4,91,19,91,-1:2,91:2,-1"
380: + ",91:6,-1:17,51,-1:28,91:9,-1,91:2,-1:4,91:2,20,-1:2,91:2,-1,91:6,-1:19,24,-"
381: + "1:26,91:9,-1,91:2,-1:4,91,34,91,-1:2,91:2,-1,91:6,-1:34,25,-1:11,91:6,21,91"
382: + ":2,-1,91:2,-1:4,91:3,-1:2,91:2,-1,91:6,-1:10,53,-1:35,91:4,22,91:4,-1,91:2,"
383: + "-1:4,91:3,-1:2,91:2,-1,91:6,-1:18,55,-1:27,91:9,-1,91:2,-1:4,91,23,91,-1:2,"
384: + "91:2,-1,91:6,-1:8,91:9,43,91:2,-1:4,91:3,-1:2,91:2,-1,91:6,-1:8,91:8,34,-1,"
385: + "91:2,-1:4,91:3,-1:2,91:2,-1,91:6,-1:8,91:9,-1,91:2,-1:4,91:3,-1:2,91:2,-1,9"
386: + "1:4,86,91,-1:8,91:9,-1,91:2,-1:4,91:3,-1:2,91:2,-1,91:4,87,91,-1:8,91:3,40,"
387: + "91:5,-1,91:2,-1:4,91:3,-1:2,91:2,-1,91:6,-1:10,37,-1:35,91:9,-1,44,91,-1:4,"
388: + "91:3,-1:2,91:2,-1,91:6,-1:8,91:9,-1,91:2,-1:4,91,71,91,-1:2,91:2,-1,91:6,-1"
389: + ":8,91:8,46,-1,91:2,-1:4,91:3,-1:2,91:2,-1,91:6,-1:8,91:7,66,91,-1,91:2,-1:4"
390: + ",91:3,-1:2,91:2,-1,91:6,-1:8,91:9,-1,91:2,-1:4,48,91:2,-1:2,91:2,-1,91:6,-1"
391: + ":8,91:2,72,91:6,-1,91:2,-1:4,91:3,-1:2,91:2,-1,91:6,-1:8,91:9,-1,91,73,-1:4"
392: + ",91:3,-1:2,91:2,-1,91:6,-1:8,91:2,50,91:6,-1,91:2,-1:4,91:3,-1:2,91:2,-1,91"
393: + ":6,-1:8,91:9,-1,91:2,-1:4,91,52,91,-1:2,91:2,-1,91:6,-1:8,91:5,54,91:3,-1,9"
394: + "1:2,-1:4,91:3,-1:2,91:2,-1,91:6,-1:8,91,76,91:7,-1,91:2,-1:4,91:3,-1:2,91:2"
395: + ",-1,91:6,-1:8,91:8,44,-1,91:2,-1:4,91:3,-1:2,91:2,-1,91:6,-1:8,91:2,77,91:6"
396: + ",-1,91:2,-1:4,91:3,-1:2,91:2,-1,91:6,-1:8,91:5,56,91:3,-1,91:2,-1:4,91:3,-1"
397: + ":2,91:2,-1,91:6,-1:8,79,91:8,-1,91:2,-1:4,91:3,-1:2,91:2,-1,91:6,-1:8,91:6,"
398: + "90,91:2,-1,91:2,-1:4,91:3,-1:2,91:2,-1,91:6,-1:8,91:2,80,91:6,-1,91:2,-1:4,"
399: + "91:3,-1:2,91:2,-1,91:6,-1:8,91:7,81,91,-1,91:2,-1:4,91:3,-1:2,91:2,-1,91:6,"
400: + "-1:8,91:6,83,91:2,-1,91:2,-1:4,91:3,-1:2,91:2,-1,91:6,-1:8,91:2,57,91:6,-1,"
401: + "91:2,-1:4,91:3,-1:2,91:2,-1,91:6,-1:8,91:2,58,91:6,-1,91:2,-1:4,91:3,-1:2,9"
402: + "1:2,-1,91:6,-1:8,91:7,84,91,-1,91:2,-1:4,91:3,-1:2,91:2,-1,91:6,-1:8,91:2,5"
403: + "9,91:6,-1,91:2,-1:4,91:3,-1:2,91:2,-1,91:6,-1:8,91:9,-1,91:2,-1:4,91:3,-1:2"
404: + ",91:2,-1,91:3,63,91:2,-1:8,91:9,-1,91:2,-1:4,91,75,91,-1:2,91:2,-1,91:6,-1:"
405: + "8,91:7,82,91,-1,91:2,-1:4,91:3,-1:2,91:2,-1,91:6,-1:8,91:9,-1,91:2,-1:4,91,"
406: + "64,91,-1:2,91:2,-1,91:6,-1:8,91:3,67,91:5,-1,91:2,-1:4,91:3,-1:2,91:2,-1,91"
407: + ":6,-1:8,68,91:6,69,91,-1,91:2,-1:4,91:3,-1:2,91:2,-1,91:6,-1:8,91:7,70,91,-"
408: + "1,91:2,-1:4,91:3,-1:2,91:2,-1,91:6,-1:3");
409:
410: public java_cup.runtime.Symbol next_token()
411: throws java.io.IOException {
412: int yy_lookahead;
413: int yy_anchor = YY_NO_ANCHOR;
414: int yy_state = yy_state_dtrans[yy_lexical_state];
415: int yy_next_state = YY_NO_STATE;
416: int yy_last_accept_state = YY_NO_STATE;
417: boolean yy_initial = true;
418: int yy_this _accept;
419:
420: yy_mark_start();
421: yy_this _accept = yy_acpt[yy_state];
422: if (YY_NOT_ACCEPT != yy_this _accept) {
423: yy_last_accept_state = yy_state;
424: yy_mark_end();
425: }
426: while (true) {
427: if (yy_initial && yy_at_bol)
428: yy_lookahead = YY_BOL;
429: else
430: yy_lookahead = yy_advance();
431: yy_next_state = YY_F;
432: yy_next_state = yy_nxt[yy_rmap[yy_state]][yy_cmap[yy_lookahead]];
433: if (YY_EOF == yy_lookahead && true == yy_initial) {
434: return null;
435: }
436: if (YY_F != yy_next_state) {
437: yy_state = yy_next_state;
438: yy_initial = false;
439: yy_this _accept = yy_acpt[yy_state];
440: if (YY_NOT_ACCEPT != yy_this _accept) {
441: yy_last_accept_state = yy_state;
442: yy_mark_end();
443: }
444: } else {
445: if (YY_NO_STATE == yy_last_accept_state) {
446: throw (new Error("Lexical Error: Unmatched Input."));
447: } else {
448: yy_anchor = yy_acpt[yy_last_accept_state];
449: if (0 != (YY_END & yy_anchor)) {
450: yy_move_end();
451: }
452: yy_to_mark();
453: switch (yy_last_accept_state) {
454: case 1:
455:
456: case -2:
457: break;
458: case 2: {
459: return new Symbol(Symbols.LPAREN);
460: }
461: case -3:
462: break;
463: case 3: {
464: return new Symbol(Symbols.RPAREN);
465: }
466: case -4:
467: break;
468: case 4: {
469: return new Symbol(Symbols.LBRACKET);
470: }
471: case -5:
472: break;
473: case 5: {
474: return new Symbol(Symbols.RBRACKET);
475: }
476: case -6:
477: break;
478: case 6: {
479: return new Symbol(Symbols.IDENTIFIER, yytext());
480: }
481: case -7:
482: break;
483: case 7: { /* Whitespace ignored */
484: }
485: case -8:
486: break;
487: case 8: {
488: return new Symbol(Symbols.OPERATOR, yytext());
489: }
490: case -9:
491: break;
492: case 9: {
493: return new Symbol(Symbols.NUMBER, new Long(
494: yytext()));
495: }
496: case -10:
497: break;
498: case 10: {
499: if (currentParameter >= parameters.length)
500: return new Symbol(Symbols.OBJECT, null);
501: return new Symbol(Symbols.OBJECT,
502: parameters[currentParameter++]);
503: }
504: case -11:
505: break;
506: case 11: {
507: return new Symbol(Symbols.OSEP);
508: }
509: case -12:
510: break;
511: case 12: {
512: return new Symbol(Symbols.SEP);
513: }
514: case -13:
515: break;
516: case 13: {
517: return new Symbol(Symbols.AT);
518: }
519: case -14:
520: break;
521: case 14: {
522: return new Symbol(Symbols.LOGICAL_OPERATOR,
523: yytext());
524: }
525: case -15:
526: break;
527: case 15: {
528: return new Symbol(Symbols.STRING, yytext()
529: .substring(1, yytext().length() - 1));
530: }
531: case -16:
532: break;
533: case 16: {
534: return new Symbol(Symbols.DIRECTION,
535: new Integer(OrderBy.ASCENDING));
536: }
537: case -17:
538: break;
539: case 17: {
540: return new Symbol(
541: Symbols.UNARY_LOGICAL_OPERATOR,
542: yytext());
543: }
544: case -18:
545: break;
546: case 18: {
547: return new Symbol(Symbols.DATE, new Date());
548: }
549: case -19:
550: break;
551: case 19: {
552: return new Symbol(Symbols.BOOLEAN, new Boolean(
553: yytext()));
554: }
555: case -20:
556: break;
557: case 20: {
558: return new Symbol(Symbols.DIRECTION,
559: new Integer(OrderBy.DESCENDING));
560: }
561: case -21:
562: break;
563: case 21: {
564: return new Symbol(Symbols.FIND);
565: }
566: case -22:
567: break;
568: case 22: {
569: return new Symbol(Symbols.VIEW);
570: }
571: case -23:
572: break;
573: case 23: {
574: return new Symbol(Symbols.WHERE);
575: }
576: case -24:
577: break;
578: case 24: {
579: return new Symbol(Symbols.UNARY_OPERATOR,
580: yytext());
581: }
582: case -25:
583: break;
584: case 25: {
585: return new Symbol(Symbols.ORDERBY);
586: }
587: case -26:
588: break;
589: case 27: {
590: return new Symbol(Symbols.IDENTIFIER, yytext());
591: }
592: case -27:
593: break;
594: case 28: {
595: return new Symbol(Symbols.OPERATOR, yytext());
596: }
597: case -28:
598: break;
599: case 30: {
600: return new Symbol(Symbols.IDENTIFIER, yytext());
601: }
602: case -29:
603: break;
604: case 31: {
605: return new Symbol(Symbols.OPERATOR, yytext());
606: }
607: case -30:
608: break;
609: case 33: {
610: return new Symbol(Symbols.IDENTIFIER, yytext());
611: }
612: case -31:
613: break;
614: case 34: {
615: return new Symbol(Symbols.OPERATOR, yytext());
616: }
617: case -32:
618: break;
619: case 36: {
620: return new Symbol(Symbols.IDENTIFIER, yytext());
621: }
622: case -33:
623: break;
624: case 38: {
625: return new Symbol(Symbols.IDENTIFIER, yytext());
626: }
627: case -34:
628: break;
629: case 40: {
630: return new Symbol(Symbols.IDENTIFIER, yytext());
631: }
632: case -35:
633: break;
634: case 42: {
635: return new Symbol(Symbols.IDENTIFIER, yytext());
636: }
637: case -36:
638: break;
639: case 44: {
640: return new Symbol(Symbols.IDENTIFIER, yytext());
641: }
642: case -37:
643: break;
644: case 46: {
645: return new Symbol(Symbols.IDENTIFIER, yytext());
646: }
647: case -38:
648: break;
649: case 48: {
650: return new Symbol(Symbols.IDENTIFIER, yytext());
651: }
652: case -39:
653: break;
654: case 50: {
655: return new Symbol(Symbols.IDENTIFIER, yytext());
656: }
657: case -40:
658: break;
659: case 52: {
660: return new Symbol(Symbols.IDENTIFIER, yytext());
661: }
662: case -41:
663: break;
664: case 54: {
665: return new Symbol(Symbols.IDENTIFIER, yytext());
666: }
667: case -42:
668: break;
669: case 56: {
670: return new Symbol(Symbols.IDENTIFIER, yytext());
671: }
672: case -43:
673: break;
674: case 57: {
675: return new Symbol(Symbols.IDENTIFIER, yytext());
676: }
677: case -44:
678: break;
679: case 58: {
680: return new Symbol(Symbols.IDENTIFIER, yytext());
681: }
682: case -45:
683: break;
684: case 59: {
685: return new Symbol(Symbols.IDENTIFIER, yytext());
686: }
687: case -46:
688: break;
689: case 60: {
690: return new Symbol(Symbols.IDENTIFIER, yytext());
691: }
692: case -47:
693: break;
694: case 62: {
695: return new Symbol(Symbols.IDENTIFIER, yytext());
696: }
697: case -48:
698: break;
699: case 63: {
700: return new Symbol(Symbols.IDENTIFIER, yytext());
701: }
702: case -49:
703: break;
704: case 64: {
705: return new Symbol(Symbols.IDENTIFIER, yytext());
706: }
707: case -50:
708: break;
709: case 65: {
710: return new Symbol(Symbols.IDENTIFIER, yytext());
711: }
712: case -51:
713: break;
714: case 66: {
715: return new Symbol(Symbols.IDENTIFIER, yytext());
716: }
717: case -52:
718: break;
719: case 67: {
720: return new Symbol(Symbols.IDENTIFIER, yytext());
721: }
722: case -53:
723: break;
724: case 68: {
725: return new Symbol(Symbols.IDENTIFIER, yytext());
726: }
727: case -54:
728: break;
729: case 69: {
730: return new Symbol(Symbols.IDENTIFIER, yytext());
731: }
732: case -55:
733: break;
734: case 70: {
735: return new Symbol(Symbols.IDENTIFIER, yytext());
736: }
737: case -56:
738: break;
739: case 71: {
740: return new Symbol(Symbols.IDENTIFIER, yytext());
741: }
742: case -57:
743: break;
744: case 72: {
745: return new Symbol(Symbols.IDENTIFIER, yytext());
746: }
747: case -58:
748: break;
749: case 73: {
750: return new Symbol(Symbols.IDENTIFIER, yytext());
751: }
752: case -59:
753: break;
754: case 74: {
755: return new Symbol(Symbols.IDENTIFIER, yytext());
756: }
757: case -60:
758: break;
759: case 75: {
760: return new Symbol(Symbols.IDENTIFIER, yytext());
761: }
762: case -61:
763: break;
764: case 76: {
765: return new Symbol(Symbols.IDENTIFIER, yytext());
766: }
767: case -62:
768: break;
769: case 77: {
770: return new Symbol(Symbols.IDENTIFIER, yytext());
771: }
772: case -63:
773: break;
774: case 78: {
775: return new Symbol(Symbols.IDENTIFIER, yytext());
776: }
777: case -64:
778: break;
779: case 79: {
780: return new Symbol(Symbols.IDENTIFIER, yytext());
781: }
782: case -65:
783: break;
784: case 80: {
785: return new Symbol(Symbols.IDENTIFIER, yytext());
786: }
787: case -66:
788: break;
789: case 81: {
790: return new Symbol(Symbols.IDENTIFIER, yytext());
791: }
792: case -67:
793: break;
794: case 82: {
795: return new Symbol(Symbols.IDENTIFIER, yytext());
796: }
797: case -68:
798: break;
799: case 83: {
800: return new Symbol(Symbols.IDENTIFIER, yytext());
801: }
802: case -69:
803: break;
804: case 84: {
805: return new Symbol(Symbols.IDENTIFIER, yytext());
806: }
807: case -70:
808: break;
809: case 85: {
810: return new Symbol(Symbols.LOGICAL_OPERATOR,
811: yytext());
812: }
813: case -71:
814: break;
815: case 86: {
816: return new Symbol(Symbols.DIRECTION,
817: new Integer(OrderBy.ASCENDING));
818: }
819: case -72:
820: break;
821: case 87: {
822: return new Symbol(Symbols.DIRECTION,
823: new Integer(OrderBy.DESCENDING));
824: }
825: case -73:
826: break;
827: case 88: {
828: return new Symbol(Symbols.IDENTIFIER, yytext());
829: }
830: case -74:
831: break;
832: case 89: {
833: return new Symbol(Symbols.IDENTIFIER, yytext());
834: }
835: case -75:
836: break;
837: case 90: {
838: return new Symbol(Symbols.IDENTIFIER, yytext());
839: }
840: case -76:
841: break;
842: case 91: {
843: return new Symbol(Symbols.IDENTIFIER, yytext());
844: }
845: case -77:
846: break;
847: case 92: {
848: return new Symbol(Symbols.IDENTIFIER, yytext());
849: }
850: case -78:
851: break;
852: case 93: {
853: return new Symbol(Symbols.IDENTIFIER, yytext());
854: }
855: case -79:
856: break;
857: case 94: {
858: return new Symbol(Symbols.IDENTIFIER, yytext());
859: }
860: case -80:
861: break;
862: case 95: {
863: return new Symbol(Symbols.IDENTIFIER, yytext());
864: }
865: case -81:
866: break;
867: case 96: {
868: return new Symbol(Symbols.IDENTIFIER, yytext());
869: }
870: case -82:
871: break;
872: default:
873: yy_error(YY_E_INTERNAL, false);
874: case -1:
875: }
876: yy_initial = true;
877: yy_state = yy_state_dtrans[yy_lexical_state];
878: yy_next_state = YY_NO_STATE;
879: yy_last_accept_state = YY_NO_STATE;
880: yy_mark_start();
881: yy_this_accept = yy_acpt[yy_state];
882: if (YY_NOT_ACCEPT != yy_this_accept) {
883: yy_last_accept_state = yy_state;
884: yy_mark_end();
885: }
886: }
887: }
888: }
889: }
890: }
|