KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > joram > shared > selectors > Lexer


1 /* The following code was generated by JFlex 1.3.2 on 03/02/05 16:11 */
2
3 /*
4  * JORAM: Java(TM) Open Reliable Asynchronous Messaging
5  * Copyright (C) 2004 - ScalAgent Distributed Technologies
6  *
7  * This library is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU Lesser General Public
9  * License as published by the Free Software Foundation; either
10  * version 2.1 of the License, or any later version.
11  *
12  * This library is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15  * Lesser General Public License for more details.
16  *
17  * You should have received a copy of the GNU Lesser General Public
18  * License along with this library; if not, write to the Free Software
19  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
20  * USA.
21  *
22  * Initial developer(s): Nicolas Tachker (ScalAgent)
23  * Contributor(s):
24  */

25
26 /*
27   Subset of SQL 92 syntax for message selectors.
28   Author: Nicolas Tachker.
29 */

30 package org.objectweb.joram.shared.selectors;
31
32 import java_cup.runtime.*;
33 import java.io.*;
34       
35
36 /**
37  * This class is a scanner generated by
38  * <a HREF="http://www.jflex.de/">JFlex</a> 1.3.2
39  * on 03/02/05 16:11 from the specification file
40  * <tt>file:joramSelector/JMS/selec.flex</tt>
41  */

42 class Lexer implements java_cup.runtime.Scanner {
43
44   /** This character denotes the end of file */
45   final public static int YYEOF = -1;
46
47   /** initial size of the lookahead buffer */
48   final private static int YY_BUFFERSIZE = 16384;
49
50   /** lexical states */
51   final public static int YYINITIAL = 0;
52
53   /**
54    * Translates characters to character classes
55    */

56   final private static String JavaDoc yycmap_packed =
57     "\11\27\1\3\1\2\1\0\1\3\1\1\16\27\4\0\1\52\1\0"+
58     "\1\31\1\0\1\26\2\0\1\30\1\35\1\36\1\33\1\32\1\42"+
59     "\1\21\1\17\1\34\1\4\1\13\2\12\4\14\2\5\2\0\1\40"+
60     "\1\37\1\41\2\0\1\25\1\11\1\47\1\16\1\20\1\15\2\26"+
61     "\1\45\1\26\1\46\1\6\1\26\1\43\1\44\1\50\1\26\1\23"+
62     "\1\7\1\22\1\24\1\26\1\51\1\10\2\26\4\0\1\26\1\0"+
63     "\1\25\1\11\1\47\1\16\1\20\1\15\2\26\1\45\1\26\1\46"+
64     "\1\6\1\26\1\43\1\44\1\50\1\26\1\23\1\7\1\22\1\24"+
65     "\1\26\1\51\1\10\2\26\4\0\41\27\2\0\4\26\4\0\1\26"+
66     "\12\0\1\26\4\0\1\26\5\0\27\26\1\0\37\26\1\0\u0128\26"+
67     "\2\0\22\26\34\0\136\26\2\0\11\26\2\0\7\26\16\0\2\26"+
68     "\16\0\5\26\11\0\1\26\21\0\117\27\21\0\3\27\27\0\1\26"+
69     "\13\0\1\26\1\0\3\26\1\0\1\26\1\0\24\26\1\0\54\26"+
70     "\1\0\10\26\2\0\32\26\14\0\202\26\1\0\4\27\5\0\71\26"+
71     "\2\0\2\26\2\0\2\26\3\0\46\26\2\0\2\26\67\0\46\26"+
72     "\2\0\1\26\7\0\47\26\11\0\21\27\1\0\27\27\1\0\3\27"+
73     "\1\0\1\27\1\0\2\27\1\0\1\27\13\0\33\26\5\0\3\26"+
74     "\56\0\32\26\5\0\13\26\13\27\12\0\12\27\6\0\1\27\143\26"+
75     "\1\0\1\26\7\27\2\0\6\27\2\26\2\27\1\0\4\27\2\0"+
76     "\12\27\3\26\22\0\1\27\1\26\1\27\33\26\3\0\33\27\65\0"+
77     "\46\26\13\27\u0150\0\3\27\1\0\65\26\2\0\1\27\1\26\20\27"+
78     "\2\0\1\26\4\27\3\0\12\26\2\27\2\0\12\27\21\0\3\27"+
79     "\1\0\10\26\2\0\2\26\2\0\26\26\1\0\7\26\1\0\1\26"+
80     "\3\0\4\26\2\0\1\27\1\0\7\27\2\0\2\27\2\0\3\27"+
81     "\11\0\1\27\4\0\2\26\1\0\3\26\2\27\2\0\12\27\4\26"+
82     "\16\0\1\27\2\0\6\26\4\0\2\26\2\0\26\26\1\0\7\26"+
83     "\1\0\2\26\1\0\2\26\1\0\2\26\2\0\1\27\1\0\5\27"+
84     "\4\0\2\27\2\0\3\27\13\0\4\26\1\0\1\26\7\0\14\27"+
85     "\3\26\14\0\3\27\1\0\7\26\1\0\1\26\1\0\3\26\1\0"+
86     "\26\26\1\0\7\26\1\0\2\26\1\0\5\26\2\0\1\27\1\26"+
87     "\10\27\1\0\3\27\1\0\3\27\2\0\1\26\17\0\1\26\5\0"+
88     "\12\27\21\0\3\27\1\0\10\26\2\0\2\26\2\0\26\26\1\0"+
89     "\7\26\1\0\2\26\2\0\4\26\2\0\1\27\1\26\6\27\3\0"+
90     "\2\27\2\0\3\27\10\0\2\27\4\0\2\26\1\0\3\26\4\0"+
91     "\12\27\22\0\2\27\1\0\6\26\3\0\3\26\1\0\4\26\3\0"+
92     "\2\26\1\0\1\26\1\0\2\26\3\0\2\26\3\0\3\26\3\0"+
93     "\10\26\1\0\3\26\4\0\5\27\3\0\3\27\1\0\4\27\11\0"+
94     "\1\27\17\0\11\27\21\0\3\27\1\0\10\26\1\0\3\26\1\0"+
95     "\27\26\1\0\12\26\1\0\5\26\4\0\7\27\1\0\3\27\1\0"+
96     "\4\27\7\0\2\27\11\0\2\26\4\0\12\27\22\0\2\27\1\0"+
97     "\10\26\1\0\3\26\1\0\27\26\1\0\12\26\1\0\5\26\4\0"+
98     "\7\27\1\0\3\27\1\0\4\27\7\0\2\27\7\0\1\26\1\0"+
99     "\2\26\4\0\12\27\22\0\2\27\1\0\10\26\1\0\3\26\1\0"+
100     "\27\26\1\0\20\26\4\0\6\27\2\0\3\27\1\0\4\27\11\0"+
101     "\1\27\10\0\2\26\4\0\12\27\22\0\2\27\1\0\22\26\3\0"+
102     "\30\26\1\0\11\26\1\0\1\26\2\0\7\26\3\0\1\27\4\0"+
103     "\6\27\1\0\1\27\1\0\10\27\22\0\2\27\15\0\60\26\1\27"+
104     "\2\26\7\27\4\0\10\26\10\27\1\0\12\27\47\0\2\26\1\0"+
105     "\1\26\2\0\2\26\1\0\1\26\2\0\1\26\6\0\4\26\1\0"+
106     "\7\26\1\0\3\26\1\0\1\26\1\0\1\26\2\0\2\26\1\0"+
107     "\4\26\1\27\2\26\6\27\1\0\2\27\1\26\2\0\5\26\1\0"+
108     "\1\26\1\0\6\27\2\0\12\27\2\0\2\26\42\0\1\26\27\0"+
109     "\2\27\6\0\12\27\13\0\1\27\1\0\1\27\1\0\1\27\4\0"+
110     "\2\27\10\26\1\0\42\26\6\0\24\27\1\0\2\27\4\26\4\0"+
111     "\10\27\1\0\44\27\11\0\1\27\71\0\42\26\1\0\5\26\1\0"+
112     "\2\26\1\0\7\27\3\0\4\27\6\0\12\27\6\0\6\26\4\27"+
113     "\106\0\46\26\12\0\47\26\11\0\132\26\5\0\104\26\5\0\122\26"+
114     "\6\0\7\26\1\0\77\26\1\0\1\26\1\0\4\26\2\0\7\26"+
115     "\1\0\1\26\1\0\4\26\2\0\47\26\1\0\1\26\1\0\4\26"+
116     "\2\0\37\26\1\0\1\26\1\0\4\26\2\0\7\26\1\0\1\26"+
117     "\1\0\4\26\2\0\7\26\1\0\7\26\1\0\27\26\1\0\37\26"+
118     "\1\0\1\26\1\0\4\26\2\0\7\26\1\0\47\26\1\0\23\26"+
119     "\16\0\11\27\56\0\125\26\14\0\u026c\26\2\0\10\26\12\0\32\26"+
120     "\5\0\113\26\225\0\64\26\40\27\7\0\1\26\4\0\12\27\41\0"+
121     "\4\27\1\0\12\27\6\0\130\26\10\0\51\26\1\27\u0556\0\234\26"+
122     "\4\0\132\26\6\0\26\26\2\0\6\26\2\0\46\26\2\0\6\26"+
123     "\2\0\10\26\1\0\1\26\1\0\1\26\1\0\1\26\1\0\37\26"+
124     "\2\0\65\26\1\0\7\26\1\0\1\26\3\0\3\26\1\0\7\26"+
125     "\3\0\4\26\2\0\6\26\4\0\15\26\5\0\3\26\1\0\7\26"+
126     "\17\0\4\27\32\0\5\27\20\0\2\26\51\0\6\27\17\0\1\26"+
127     "\40\0\20\26\40\0\15\27\4\0\1\27\40\0\1\26\4\0\1\26"+
128     "\2\0\12\26\1\0\1\26\3\0\5\26\6\0\1\26\1\0\1\26"+
129     "\1\0\1\26\1\0\4\26\1\0\3\26\1\0\7\26\46\0\44\26"+
130     "\u0e81\0\3\26\31\0\11\26\6\27\1\0\5\26\2\0\3\26\6\0"+
131     "\124\26\4\0\2\27\2\0\2\26\2\0\136\26\6\0\50\26\4\0"+
132     "\136\26\21\0\30\26\u0248\0\u19b6\26\112\0\u51a6\26\132\0\u048d\26\u0773\0"+
133     "\u2ba4\26\u215c\0\u012e\26\322\0\7\26\14\0\5\26\5\0\1\26\1\27"+
134     "\12\26\1\0\15\26\1\0\5\26\1\0\1\26\1\0\2\26\1\0"+
135     "\2\26\1\0\154\26\41\0\u016b\26\22\0\100\26\2\0\66\26\50\0"+
136     "\14\26\44\0\4\27\17\0\2\26\30\0\3\26\31\0\1\26\6\0"+
137     "\3\26\1\0\1\26\1\0\207\26\2\0\1\27\4\0\1\26\13\0"+
138     "\12\27\7\0\32\26\4\0\1\26\1\0\32\26\12\0\132\26\3\0"+
139     "\6\26\2\0\6\26\2\0\6\26\2\0\3\26\3\0\2\26\3\0"+
140     "\2\26\22\0\3\27\4\0";
141
142   /**
143    * Translates characters to character classes
144    */

145   final private static char [] yycmap = yy_unpack_cmap(yycmap_packed);
146
147   /**
148    * Translates a state to a row index in the transition table
149    */

150   final private static int yy_rowMap [] = {
151         0, 43, 86, 43, 129, 172, 215, 258, 301, 344,
152       387, 430, 43, 473, 516, 559, 602, 43, 43, 43,
153        43, 43, 43, 645, 688, 43, 731, 774, 817, 860,
154       903, 43, 43, 946, 989, 1032, 1075, 43, 43, 1118,
155      1161, 1204, 1247, 1290, 1333, 1376, 1419, 1462, 1505, 43,
156        43, 43, 1548, 1591, 258, 258, 258, 43, 1634, 1677,
157      1720, 1763, 1806, 1849, 1892, 1935, 1978, 2021, 2064, 258,
158      2107, 2150, 2193, 2236, 43, 2279, 2322, 2365, 258, 2408,
159      2451, 258, 559, 602, 258, 2494, 2537, 2580, 2623, 2666,
160      2709, 2752, 2795, 2838, 2881, 2924, 258, 2967, 3010, 3053,
161      3096, 258, 3139, 3182, 3225, 3268, 3311, 3354, 3397, 3440,
162      3483, 3526, 3569, 3612, 3655, 3698, 3741, 3784, 43, 3827,
163      3870, 3913, 3956, 3999, 4042, 4085, 4128, 4171, 4214, 4257,
164      4300, 4343, 4386, 4429, 4472, 4515, 4515, 4558, 4601, 4644,
165      4687, 4730, 4773
166   };
167
168   /**
169    * The packed transition table of the DFA (part 0)
170    */

171   final private static String JavaDoc yy_packed0 =
172     "\1\2\1\3\2\4\1\5\1\6\1\7\2\10\1\11"+
173     "\3\6\1\12\1\10\1\13\1\14\1\15\1\16\2\10"+
174     "\1\17\1\10\1\2\1\20\1\21\1\22\1\23\1\24"+
175     "\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\34"+
176     "\1\35\4\10\1\4\55\0\1\4\54\0\1\36\1\37"+
177     "\1\40\1\41\1\42\1\0\1\43\1\44\1\45\1\46"+
178     "\1\47\1\50\1\51\36\0\2\6\1\40\1\41\2\0"+
179     "\3\6\1\46\1\47\1\50\1\51\36\0\13\10\1\0"+
180     "\1\10\1\0\6\10\13\0\2\10\1\52\4\10\5\0"+
181     "\13\10\1\0\1\10\1\0\6\10\13\0\7\10\5\0"+
182     "\13\10\1\0\1\53\1\0\6\10\13\0\7\10\5\0"+
183     "\13\10\1\0\1\10\1\0\3\10\1\54\2\10\13\0"+
184     "\7\10\5\0\2\50\4\0\3\50\42\0\3\10\1\55"+
185     "\7\10\1\0\1\10\1\0\6\10\13\0\7\10\5\0"+
186     "\13\10\1\0\1\10\1\0\1\10\1\56\4\10\13\0"+
187     "\7\10\5\0\13\10\1\0\1\10\1\0\6\10\13\0"+
188     "\1\57\6\10\1\0\1\60\2\0\25\60\1\0\22\60"+
189     "\1\61\2\0\26\61\1\0\21\61\37\0\1\62\1\0"+
190     "\1\63\50\0\1\64\17\0\13\10\1\0\1\10\1\0"+
191     "\2\10\1\65\3\10\13\0\1\10\1\66\5\10\5\0"+
192     "\13\10\1\0\1\10\1\0\1\10\1\67\4\10\13\0"+
193     "\7\10\5\0\3\10\1\70\7\10\1\0\1\10\1\0"+
194     "\6\10\13\0\1\71\6\10\5\0\1\36\1\37\1\72"+
195     "\3\0\1\43\1\44\1\45\1\46\1\47\1\50\1\51"+
196     "\36\0\2\37\4\0\3\37\1\46\1\47\1\50\1\51"+
197     "\36\0\1\73\1\74\3\0\6\74\1\0\1\74\4\0"+
198     "\1\74\21\0\1\74\7\0\1\75\1\37\1\72\3\0"+
199     "\3\75\1\46\1\47\1\50\1\51\36\0\1\45\1\37"+
200     "\1\72\3\0\3\45\1\46\1\47\1\50\1\51\36\0"+
201     "\1\76\1\37\1\72\3\0\3\76\1\46\1\47\1\50"+
202     "\1\51\36\0\2\50\4\0\3\50\1\46\1\47\1\0"+
203     "\1\51\36\0\2\77\4\0\3\77\4\0\1\100\10\0"+
204     "\1\100\24\0\13\10\1\0\1\10\1\0\6\10\13\0"+
205     "\3\10\1\101\3\10\5\0\13\10\1\0\1\10\1\0"+
206     "\1\102\5\10\13\0\7\10\5\0\2\10\1\103\10\10"+
207     "\1\0\1\10\1\0\6\10\13\0\7\10\5\0\13\10"+
208     "\1\0\1\10\1\0\6\10\13\0\4\10\1\104\2\10"+
209     "\5\0\13\10\1\0\1\10\1\0\2\10\1\105\3\10"+
210     "\13\0\7\10\5\0\12\10\1\106\1\0\1\10\1\0"+
211     "\6\10\13\0\7\10\1\0\1\60\2\0\25\60\1\107"+
212     "\22\60\1\61\2\0\26\61\1\110\21\61\4\0\2\10"+
213     "\1\111\10\10\1\0\1\10\1\0\6\10\13\0\7\10"+
214     "\5\0\13\10\1\0\1\10\1\0\1\112\5\10\13\0"+
215     "\7\10\5\0\1\73\1\74\1\113\2\0\6\74\1\0"+
216     "\1\74\4\0\1\74\21\0\1\74\7\0\2\114\1\113"+
217     "\2\0\6\114\1\0\1\114\4\0\1\114\21\0\1\114"+
218     "\7\0\1\115\1\37\1\72\3\0\3\115\1\46\1\47"+
219     "\1\50\1\51\36\0\1\116\1\37\1\72\3\0\3\116"+
220     "\1\46\1\47\1\50\1\51\36\0\2\77\4\0\3\77"+
221     "\1\46\1\47\40\0\2\77\4\0\3\77\42\0\13\10"+
222     "\1\0\1\117\1\0\6\10\13\0\7\10\5\0\13\10"+
223     "\1\0\1\10\1\0\6\10\13\0\6\10\1\120\5\0"+
224     "\3\10\1\105\7\10\1\0\1\10\1\0\6\10\13\0"+
225     "\7\10\5\0\13\10\1\0\1\10\1\0\3\10\1\121"+
226     "\2\10\13\0\7\10\5\0\13\10\1\0\1\122\1\0"+
227     "\6\10\13\0\7\10\31\0\1\123\53\0\1\124\25\0"+
228     "\2\10\1\125\10\10\1\0\1\10\1\0\6\10\13\0"+
229     "\7\10\5\0\13\10\1\0\1\10\1\0\6\10\13\0"+
230     "\7\10\1\126\4\0\2\127\1\113\2\0\6\127\1\0"+
231     "\1\127\4\0\1\127\21\0\1\127\7\0\1\130\1\37"+
232     "\1\72\3\0\3\130\1\46\1\47\1\50\1\51\36\0"+
233     "\1\131\1\37\1\72\3\0\3\131\1\46\1\47\1\50"+
234     "\1\51\36\0\13\10\1\0\1\132\1\0\6\10\13\0"+
235     "\7\10\5\0\13\10\1\0\1\10\1\0\6\10\13\0"+
236     "\5\10\1\133\1\10\12\0\1\134\45\0\2\135\1\113"+
237     "\2\0\6\135\1\0\1\135\4\0\1\135\21\0\1\135"+
238     "\7\0\1\136\1\37\1\72\3\0\3\136\1\46\1\47"+
239     "\1\50\1\51\36\0\1\137\1\37\1\72\3\0\3\137"+
240     "\1\46\1\47\1\50\1\51\36\0\13\10\1\0\1\140"+
241     "\1\0\6\10\13\0\7\10\5\0\13\10\1\0\1\141"+
242     "\1\0\6\10\13\0\7\10\21\0\1\142\36\0\2\143"+
243     "\1\113\2\0\6\143\1\0\1\143\4\0\1\143\21\0"+
244     "\1\143\7\0\1\144\1\37\1\72\3\0\3\144\1\46"+
245     "\1\47\1\50\1\51\36\0\1\145\1\37\1\72\3\0"+
246     "\3\145\1\46\1\47\1\50\1\51\36\0\13\10\1\0"+
247     "\1\10\1\0\6\10\13\0\1\146\6\10\23\0\1\147"+
248     "\34\0\2\150\1\113\2\0\6\150\1\0\1\150\4\0"+
249     "\1\150\21\0\1\150\7\0\1\151\1\37\1\72\3\0"+
250     "\3\151\1\46\1\47\1\50\1\51\36\0\1\152\1\37"+
251     "\1\72\3\0\3\152\1\46\1\47\1\50\1\51\103\0"+
252     "\1\153\5\0\2\154\1\113\2\0\6\154\1\0\1\154"+
253     "\4\0\1\154\21\0\1\154\7\0\1\155\1\37\1\72"+
254     "\3\0\3\155\1\46\1\47\1\50\1\51\36\0\1\156"+
255     "\1\37\1\72\3\0\3\156\1\46\1\47\1\50\1\51"+
256     "\52\0\1\157\36\0\2\160\1\113\2\0\6\160\1\0"+
257     "\1\160\4\0\1\160\21\0\1\160\7\0\1\161\1\37"+
258     "\1\72\3\0\3\161\1\46\1\47\1\50\1\51\36\0"+
259     "\1\162\1\37\1\72\3\0\3\162\1\46\1\47\1\50"+
260     "\1\51\52\0\1\163\36\0\2\164\1\113\2\0\6\164"+
261     "\1\0\1\164\4\0\1\164\21\0\1\164\7\0\1\165"+
262     "\1\37\1\72\3\0\3\165\1\46\1\47\1\50\1\51"+
263     "\36\0\1\166\1\37\1\72\3\0\3\166\1\46\1\47"+
264     "\1\50\1\51\75\0\1\167\13\0\2\170\1\113\2\0"+
265     "\6\170\1\0\1\170\4\0\1\170\21\0\1\170\7\0"+
266     "\1\171\1\37\1\72\3\0\3\171\1\46\1\47\1\50"+
267     "\1\51\36\0\1\172\1\37\1\72\3\0\3\172\1\46"+
268     "\1\47\1\50\1\51\36\0\2\173\1\113\2\0\6\173"+
269     "\1\0\1\173\4\0\1\173\21\0\1\173\7\0\1\174"+
270     "\1\37\1\72\3\0\3\174\1\46\1\47\1\50\1\51"+
271     "\36\0\1\175\1\37\1\72\3\0\3\175\1\46\1\47"+
272     "\1\50\1\51\36\0\2\176\1\113\2\0\6\176\1\0"+
273     "\1\176\4\0\1\176\21\0\1\176\7\0\1\177\1\37"+
274     "\1\72\3\0\3\177\1\46\1\47\1\50\1\51\36\0"+
275     "\1\200\1\37\1\72\3\0\3\200\1\46\1\47\1\50"+
276     "\1\51\36\0\2\201\1\113\2\0\6\201\1\0\1\201"+
277     "\4\0\1\201\21\0\1\201\7\0\1\202\1\37\1\72"+
278     "\3\0\3\202\1\46\1\47\1\50\1\51\36\0\1\203"+
279     "\1\37\1\72\3\0\3\203\1\46\1\47\1\50\1\51"+
280     "\36\0\2\204\1\113\2\0\6\204\1\0\1\204\4\0"+
281     "\1\204\21\0\1\204\7\0\1\205\1\37\1\72\3\0"+
282     "\3\205\1\46\1\47\1\50\1\51\36\0\1\206\1\37"+
283     "\1\72\3\0\3\206\1\46\1\47\1\50\1\51\36\0"+
284     "\2\207\1\113\2\0\6\207\1\0\1\207\4\0\1\207"+
285     "\21\0\1\207\7\0\1\210\1\37\1\72\3\0\3\210"+
286     "\1\46\1\47\1\50\1\51\36\0\1\211\1\37\1\72"+
287     "\3\0\3\211\1\46\1\47\1\50\1\51\36\0\2\212"+
288     "\1\113\2\0\6\212\1\0\1\212\4\0\1\212\21\0"+
289     "\1\212\7\0\1\213\1\37\1\72\3\0\3\213\1\46"+
290     "\1\47\1\50\1\51\40\0\1\113\50\0\1\214\1\37"+
291     "\1\72\3\0\3\214\1\46\1\47\1\50\1\51\36\0"+
292     "\1\215\1\37\1\72\3\0\3\215\1\46\1\47\1\50"+
293     "\1\51\36\0\1\216\1\37\1\72\3\0\3\216\1\46"+
294     "\1\47\1\50\1\51\36\0\1\217\1\37\1\72\3\0"+
295     "\3\217\1\46\1\47\1\50\1\51\36\0\2\37\1\72"+
296     "\3\0\3\37\1\46\1\47\1\50\1\51\32\0";
297
298   /**
299    * The transition table of the DFA
300    */

301   final private static int yytrans [] = yy_unpack();
302
303
304   /* error codes */
305   final private static int YY_UNKNOWN_ERROR = 0;
306   final private static int YY_ILLEGAL_STATE = 1;
307   final private static int YY_NO_MATCH = 2;
308   final private static int YY_PUSHBACK_2BIG = 3;
309
310   /* error messages for the codes above */
311   final private static String JavaDoc YY_ERROR_MSG[] = {
312     "Unkown internal scanner error",
313     "Internal error: unknown state",
314     "Error: could not match input",
315     "Error: pushback value was too large"
316   };
317
318   /**
319    * YY_ATTRIBUTE[aState] contains the attributes of state <code>aState</code>
320    */

321   private final static byte YY_ATTRIBUTE[] = {
322      1, 9, 1, 9, 1, 1, 1, 1, 1, 1, 1, 1, 9, 1, 1, 1,
323      1, 9, 9, 9, 9, 9, 9, 1, 1, 9, 1, 1, 1, 1, 1, 9,
324      9, 0, 1, 1, 1, 9, 9, 1, 0, 1, 1, 1, 1, 1, 1, 0,
325      0, 9, 9, 9, 1, 1, 1, 1, 1, 9, 1, 1, 1, 1, 1, 0,
326      1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9, 1, 1, 1, 1, 1,
327      1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1,
328      1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1,
329      1, 1, 0, 0, 1, 1, 9, 0, 1, 1, 0, 1, 1, 0, 1, 1,
330      0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1
331   };
332
333   /** the input device */
334   private java.io.Reader JavaDoc yy_reader;
335
336   /** the current state of the DFA */
337   private int yy_state;
338
339   /** the current lexical state */
340   private int yy_lexical_state = YYINITIAL;
341
342   /** this buffer contains the current text to be matched and is
343       the source of the yytext() string */

344   private char yy_buffer[] = new char[YY_BUFFERSIZE];
345
346   /** the textposition at the last accepting state */
347   private int yy_markedPos;
348
349   /** the textposition at the last state to be included in yytext */
350   private int yy_pushbackPos;
351
352   /** the current text position in the buffer */
353   private int yy_currentPos;
354
355   /** startRead marks the beginning of the yytext() string in the buffer */
356   private int yy_startRead;
357
358   /** endRead marks the last character in the buffer, that has been read
359       from input */

360   private int yy_endRead;
361
362   /** number of newlines encountered up to the start of the matched text */
363   private int yyline;
364
365   /** the number of characters up to the start of the matched text */
366   private int yychar;
367
368   /**
369    * the number of characters from the last newline up to the start of the
370    * matched text
371    */

372   private int yycolumn;
373
374   /**
375    * yy_atBOL == true <=> the scanner is currently at the beginning of a line
376    */

377   private boolean yy_atBOL = true;
378
379   /** yy_atEOF == true <=> the scanner is at the EOF */
380   private boolean yy_atEOF;
381
382   /** denotes if the user-EOF-code has already been executed */
383   private boolean yy_eof_done;
384
385   /* user code: */
386     /* To create a new java_cup.runtime.Symbol with information about
387        the current token, the token will have no value in this
388        case. */

389     private Symbol symbol(int type) {
390       return new Symbol(type, yyline, yycolumn);
391     }
392     
393     /* Also creates a new java_cup.runtime.Symbol with information
394        about the current token, but this object has a value. */

395     private Symbol symbol(int type, Object JavaDoc value) {
396       return new Symbol(type, yyline, yycolumn, value);
397     }
398
399   /* assumes correct representation of a long value for
400      specified radix in String s */

401   private long parseLong(String JavaDoc s, int radix) {
402     return Long.valueOf(s,radix).longValue();
403   }
404
405   /** Constructor called by the <code>Selector</code> class. */
406   Lexer(String JavaDoc in) {
407     this(new java.io.StringReader JavaDoc(in));
408   }
409
410
411   /**
412    * Creates a new scanner
413    * There is also a java.io.InputStream version of this constructor.
414    *
415    * @param in the java.io.Reader to read input from.
416    */

417   Lexer(java.io.Reader JavaDoc in) {
418     this.yy_reader = in;
419   }
420
421   /**
422    * Creates a new scanner.
423    * There is also java.io.Reader version of this constructor.
424    *
425    * @param in the java.io.Inputstream to read input from.
426    */

427   Lexer(java.io.InputStream JavaDoc in) {
428     this(new java.io.InputStreamReader JavaDoc(in));
429   }
430
431   /**
432    * Unpacks the split, compressed DFA transition table.
433    *
434    * @return the unpacked transition table
435    */

436   private static int [] yy_unpack() {
437     int [] trans = new int[4816];
438     int offset = 0;
439     offset = yy_unpack(yy_packed0, offset, trans);
440     return trans;
441   }
442
443   /**
444    * Unpacks the compressed DFA transition table.
445    *
446    * @param packed the packed transition table
447    * @return the index of the last entry
448    */

449   private static int yy_unpack(String JavaDoc packed, int offset, int [] trans) {
450     int i = 0; /* index in packed string */
451     int j = offset; /* index in unpacked array */
452     int l = packed.length();
453     while (i < l) {
454       int count = packed.charAt(i++);
455       int value = packed.charAt(i++);
456       value--;
457       do trans[j++] = value; while (--count > 0);
458     }
459     return j;
460   }
461
462   /**
463    * Unpacks the compressed character translation table.
464    *
465    * @param packed the packed character translation table
466    * @return the unpacked character translation table
467    */

468   private static char [] yy_unpack_cmap(String JavaDoc packed) {
469     char [] map = new char[0x10000];
470     int i = 0; /* index in packed string */
471     int j = 0; /* index in unpacked array */
472     while (i < 1668) {
473       int count = packed.charAt(i++);
474       char value = packed.charAt(i++);
475       do map[j++] = value; while (--count > 0);
476     }
477     return map;
478   }
479
480
481   /**
482    * Gets the next input character.
483    *
484    * @return the next character of the input stream, EOF if the
485    * end of the stream is reached.
486    * @exception IOException if any I/O-Error occurs
487    */

488   private int yy_advance() throws java.io.IOException JavaDoc {
489
490     /* standard case */
491     if (yy_currentPos < yy_endRead) return yy_buffer[yy_currentPos++];
492
493     /* if the eof is reached, we don't need to work hard */
494     if (yy_atEOF) return YYEOF;
495
496     /* otherwise: need to refill the buffer */
497
498     /* first: make room (if you can) */
499     if (yy_startRead > 0) {
500       System.arraycopy(yy_buffer, yy_startRead,
501                        yy_buffer, 0,
502                        yy_endRead-yy_startRead);
503
504       /* translate stored positions */
505       yy_endRead-= yy_startRead;
506       yy_currentPos-= yy_startRead;
507       yy_markedPos-= yy_startRead;
508       yy_pushbackPos-= yy_startRead;
509       yy_startRead = 0;
510     }
511
512     /* is the buffer big enough? */
513     if (yy_currentPos >= yy_buffer.length) {
514       /* if not: blow it up */
515       char newBuffer[] = new char[yy_currentPos*2];
516       System.arraycopy(yy_buffer, 0, newBuffer, 0, yy_buffer.length);
517       yy_buffer = newBuffer;
518     }
519
520     /* finally: fill the buffer with new input */
521     int numRead = yy_reader.read(yy_buffer, yy_endRead,
522                                             yy_buffer.length-yy_endRead);
523
524     if ( numRead == -1 ) return YYEOF;
525
526     yy_endRead+= numRead;
527
528     return yy_buffer[yy_currentPos++];
529   }
530
531
532   /**
533    * Closes the input stream.
534    */

535   final public void yyclose() throws java.io.IOException JavaDoc {
536     yy_atEOF = true; /* indicate end of file */
537     yy_endRead = yy_startRead; /* invalidate buffer */
538
539     if (yy_reader != null)
540       yy_reader.close();
541   }
542
543
544   /**
545    * Closes the current stream, and resets the
546    * scanner to read from a new input stream.
547    *
548    * All internal variables are reset, the old input stream
549    * <b>cannot</b> be reused (internal buffer is discarded and lost).
550    * Lexical state is set to <tt>YY_INITIAL</tt>.
551    *
552    * @param reader the new input stream
553    */

554   final public void yyreset(java.io.Reader JavaDoc reader) throws java.io.IOException JavaDoc {
555     yyclose();
556     yy_reader = reader;
557     yy_atBOL = true;
558     yy_atEOF = false;
559     yy_endRead = yy_startRead = 0;
560     yy_currentPos = yy_markedPos = yy_pushbackPos = 0;
561     yyline = yychar = yycolumn = 0;
562     yy_lexical_state = YYINITIAL;
563   }
564
565
566   /**
567    * Returns the current lexical state.
568    */

569   final public int yystate() {
570     return yy_lexical_state;
571   }
572
573
574   /**
575    * Enters a new lexical state
576    *
577    * @param newState the new lexical state
578    */

579   final public void yybegin(int newState) {
580     yy_lexical_state = newState;
581   }
582
583
584   /**
585    * Returns the text matched by the current regular expression.
586    */

587   final public String JavaDoc yytext() {
588     return new String JavaDoc( yy_buffer, yy_startRead, yy_markedPos-yy_startRead );
589   }
590
591
592   /**
593    * Returns the character at position <tt>pos</tt> from the
594    * matched text.
595    *
596    * It is equivalent to yytext().charAt(pos), but faster
597    *
598    * @param pos the position of the character to fetch.
599    * A value from 0 to yylength()-1.
600    *
601    * @return the character at position pos
602    */

603   final public char yycharat(int pos) {
604     return yy_buffer[yy_startRead+pos];
605   }
606
607
608   /**
609    * Returns the length of the matched text region.
610    */

611   final public int yylength() {
612     return yy_markedPos-yy_startRead;
613   }
614
615
616   /**
617    * Reports an error that occured while scanning.
618    *
619    * In a wellformed scanner (no or only correct usage of
620    * yypushback(int) and a match-all fallback rule) this method
621    * will only be called with things that "Can't Possibly Happen".
622    * If this method is called, something is seriously wrong
623    * (e.g. a JFlex bug producing a faulty scanner etc.).
624    *
625    * Usual syntax/scanner level error handling should be done
626    * in error fallback rules.
627    *
628    * @param errorCode the code of the errormessage to display
629    */

630   private void yy_ScanError(int errorCode) {
631     String JavaDoc message;
632     try {
633       message = YY_ERROR_MSG[errorCode];
634     }
635     catch (ArrayIndexOutOfBoundsException JavaDoc e) {
636       message = YY_ERROR_MSG[YY_UNKNOWN_ERROR];
637     }
638
639     throw new Error JavaDoc(message);
640   }
641
642
643   /**
644    * Pushes the specified amount of characters back into the input stream.
645    *
646    * They will be read again by then next call of the scanning method
647    *
648    * @param number the number of characters to be read again.
649    * This number must not be greater than yylength()!
650    */

651   private void yypushback(int number) {
652     if ( number > yylength() )
653       yy_ScanError(YY_PUSHBACK_2BIG);
654
655     yy_markedPos -= number;
656   }
657
658
659   /**
660    * Contains user EOF-code, which will be executed exactly once,
661    * when the end of file is reached
662    */

663   private void yy_do_eof() throws java.io.IOException JavaDoc {
664     if (!yy_eof_done) {
665       yy_eof_done = true;
666       yyclose();
667     }
668   }
669
670
671   /**
672    * Resumes scanning until the next regular expression is matched,
673    * the end of input is encountered or an I/O-Error occurs.
674    *
675    * @return the next token
676    * @exception IOException if any I/O-Error occurs
677    */

678   public java_cup.runtime.Symbol next_token() throws java.io.IOException JavaDoc {
679     int yy_input;
680     int yy_action;
681
682
683     while (true) {
684
685       boolean yy_r = false;
686       for (yy_currentPos = yy_startRead; yy_currentPos < yy_markedPos;
687                                                       yy_currentPos++) {
688         switch (yy_buffer[yy_currentPos]) {
689         case '\u000B':
690         case '\u000C':
691         case '\u0085':
692         case '\u2028':
693         case '\u2029':
694           yyline++;
695           yycolumn = 0;
696           yy_r = false;
697           break;
698         case '\r':
699           yyline++;
700           yycolumn = 0;
701           yy_r = true;
702           break;
703         case '\n':
704           if (yy_r)
705             yy_r = false;
706           else {
707             yyline++;
708             yycolumn = 0;
709           }
710           break;
711         default:
712           yy_r = false;
713           yycolumn++;
714         }
715       }
716
717       if (yy_r) {
718         if ( yy_advance() == '\n' ) yyline--;
719         if ( !yy_atEOF ) yy_currentPos--;
720       }
721
722       yy_action = -1;
723
724       yy_currentPos = yy_startRead = yy_markedPos;
725
726       yy_state = yy_lexical_state;
727
728
729       yy_forAction: {
730         while (true) {
731
732           yy_input = yy_advance();
733
734           if ( yy_input == YYEOF ) break yy_forAction;
735
736           int yy_next = yytrans[ yy_rowMap[yy_state] + yycmap[yy_input] ];
737           if (yy_next == -1) break yy_forAction;
738           yy_state = yy_next;
739
740           int yy_attributes = YY_ATTRIBUTE[yy_state];
741           if ( (yy_attributes & 1) > 0 ) {
742             yy_action = yy_state;
743             yy_markedPos = yy_currentPos;
744             if ( (yy_attributes & 8) > 0 ) break yy_forAction;
745           }
746
747         }
748       }
749
750
751       switch (yy_action) {
752
753         case 0:
754         case 70:
755         case 71:
756           { return symbol(sym.STRING, new String JavaDoc(yytext())); }
757         case 144: break;
758         case 118:
759           { return symbol(sym.NOTBETWEEN); }
760         case 145: break;
761         case 101:
762           { return symbol(sym.BETWEEN); }
763         case 146: break;
764         case 96:
765           { return symbol(sym.ESCAPE); }
766         case 147: break;
767         case 30:
768         case 39:
769         case 62:
770         case 136:
771         case 138:
772         case 139:
773         case 140:
774         case 141:
775         case 142:
776           { return symbol(sym.DOUBLE, new Double JavaDoc(yytext())); }
777         case 148: break;
778         case 29:
779         case 34:
780         case 35:
781         case 36:
782         case 60:
783         case 61:
784         case 76:
785         case 77:
786         case 87:
787         case 88:
788         case 93:
789         case 94:
790         case 99:
791         case 100:
792         case 104:
793         case 105:
794         case 108:
795         case 109:
796         case 112:
797         case 113:
798         case 116:
799         case 117:
800         case 120:
801         case 121:
802         case 123:
803         case 124:
804         case 126:
805         case 127:
806         case 129:
807         case 130:
808         case 132:
809         case 133:
810         case 135:
811           { return symbol(sym.INT, new Integer JavaDoc((int) parseLong(yytext(),8))); }
812         case 149: break;
813         case 25:
814           { return symbol(sym.COMMA); }
815         case 150: break;
816         case 24:
817           { return symbol(sym.GT); }
818         case 151: break;
819         case 23:
820           { return symbol(sym.LT); }
821         case 152: break;
822         case 22:
823           { return symbol(sym.EQ); }
824         case 153: break;
825         case 21:
826           { return symbol(sym.RPAREN); }
827         case 154: break;
828         case 20:
829           { return symbol(sym.LPAREN); }
830         case 155: break;
831         case 19:
832           { return symbol(sym.DIVIDE); }
833         case 156: break;
834         case 1:
835         case 10:
836         case 15:
837         case 16:
838           { throw new Error JavaDoc("Illegal character <"+yytext()+"> at line "+yyline+", column "+yycolumn); }
839         case 157: break;
840         case 2:
841         case 3:
842           { /* just skip what was found, do nothing */ }
843         case 158: break;
844         case 4:
845         case 5:
846           { return symbol(sym.INT, new Integer JavaDoc(yytext())); }
847         case 159: break;
848         case 6:
849         case 7:
850         case 8:
851         case 9:
852         case 11:
853         case 13:
854         case 14:
855         case 26:
856         case 27:
857         case 28:
858         case 41:
859         case 42:
860         case 43:
861         case 44:
862         case 45:
863         case 46:
864         case 52:
865         case 53:
866         case 64:
867         case 65:
868         case 66:
869         case 67:
870         case 68:
871         case 72:
872         case 79:
873         case 80:
874         case 89:
875         case 90:
876         case 95:
877           { return symbol(sym.ID, new String JavaDoc(yytext())); }
878         case 160: break;
879         case 12:
880           { return symbol(sym.MINUS); }
881         case 161: break;
882         case 17:
883           { return symbol(sym.PLUS); }
884         case 162: break;
885         case 18:
886           { return symbol(sym.TIMES); }
887         case 163: break;
888         case 31:
889           { if ((yytext().substring(0,yylength()-1)).equals((Long.MIN_VALUE+"").substring(1,yylength())))
890                               return symbol(sym.MIN_LONG, new Long JavaDoc(Long.MIN_VALUE));
891                             return symbol(sym.LONG, new Long JavaDoc(yytext().substring(0,yylength()-1)));
892                            }
893         case 164: break;
894         case 32:
895           { return symbol(sym.SHORT, new Short JavaDoc(yytext().substring(0,yylength()-1))); }
896         case 165: break;
897         case 37:
898           { return symbol(sym.FLOAT, new Float JavaDoc(yytext())); }
899         case 166: break;
900         case 38:
901           { return symbol(sym.DOUBLE, new Double JavaDoc(yytext().substring(0,yylength()-1))); }
902         case 167: break;
903         case 49:
904           { return symbol(sym.LE); }
905         case 168: break;
906         case 50:
907           { return symbol(sym.NEQ); }
908         case 169: break;
909         case 51:
910           { return symbol(sym.GE); }
911         case 170: break;
912         case 54:
913           { return symbol(sym.OR); }
914         case 171: break;
915         case 55:
916           { return symbol(sym.IS); }
917         case 172: break;
918         case 56:
919           { return symbol(sym.IN); }
920         case 173: break;
921         case 57:
922           { return symbol(sym.LONG, new Long JavaDoc(parseLong(yytext().substring(0,yylength()-1),8))); }
923         case 174: break;
924         case 58:
925         case 59:
926         case 75:
927         case 86:
928         case 92:
929         case 98:
930         case 103:
931         case 107:
932         case 111:
933           { return symbol(sym.INT, new Integer JavaDoc((int) parseLong(yytext().substring(2),16))); }
934         case 175: break;
935         case 69:
936           { return symbol(sym.AND); }
937         case 176: break;
938         case 73:
939           { return symbol(sym.NOT); }
940         case 177: break;
941         case 74:
942           { return symbol(sym.LONG, new Long JavaDoc(parseLong(yytext().substring(2,yylength()-1),16))); }
943         case 178: break;
944         case 78:
945           { return symbol(sym.LIKE); }
946         case 179: break;
947         case 81:
948           { return symbol(sym.BOOLEAN, new Boolean JavaDoc(yytext())); }
949         case 180: break;
950         case 84:
951           { return symbol(sym.NULL); }
952         case 181: break;
953         default:
954           if (yy_input == YYEOF && yy_startRead == yy_currentPos) {
955             yy_atEOF = true;
956             yy_do_eof();
957               { return new java_cup.runtime.Symbol(sym.EOF); }
958           }
959           else {
960             yy_ScanError(YY_NO_MATCH);
961           }
962       }
963     }
964   }
965
966
967 }
968
Popular Tags