View Javadoc
1   /*
2    * reserved comment block
3    * DO NOT REMOVE OR ALTER!
4    */
5   /*
6    * Copyright 2001-2004 The Apache Software Foundation.
7    *
8    * Licensed under the Apache License, Version 2.0 (the "License");
9    * you may not use this file except in compliance with the License.
10   * You may obtain a copy of the License at
11   *
12   *     http://www.apache.org/licenses/LICENSE-2.0
13   *
14   * Unless required by applicable law or agreed to in writing, software
15   * distributed under the License is distributed on an "AS IS" BASIS,
16   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17   * See the License for the specific language governing permissions and
18   * limitations under the License.
19   */
20  /*
21   * $Id: xpath.lex,v 1.12 2005/08/02 02:59:03 mcnamara Exp $
22   */
23  /*
24   * @author Jacek Ambroziak
25   * @author Santiago Pericas-Geertsen
26   * @author Morten Jorgensen
27   *
28   */
29  package com.sun.org.apache.xalan.internal.xsltc.compiler;
30  import com.sun.java_cup.internal.runtime.Symbol;
31  
32  
33  class XPathLexer implements com.sun.java_cup.internal.runtime.Scanner {
34          private final int YY_BUFFER_SIZE = 512;
35          private final int YY_F = -1;
36          private final int YY_NO_STATE = -1;
37          private final int YY_NOT_ACCEPT = 0;
38          private final int YY_START = 1;
39          private final int YY_END = 2;
40          private final int YY_NO_ANCHOR = 4;
41          private final int YY_BOL = 65536;
42          private final int YY_EOF = 65537;
43          public final int YYEOF = -1;
44  
45          int last, beforeLast;
46          void initialize() {
47              last = beforeLast = -1;
48          }
49          static boolean isWhitespace(int c) {
50              return (c == ' ' || c == '\t' || c == '\r' || c == '\n'  || c == '\f');
51          }
52          /**
53           * If symbol is not followed by '::' or '(', then treat it as a
54           * name instead of an axis or function (Jira-1912).
55           */
56          Symbol disambiguateAxisOrFunction(int ss) throws Exception {
57              // Peek in the input buffer without changing the internal state
58              int index = yy_buffer_index;
59              // Skip whitespace
60              while (index < yy_buffer_read && isWhitespace(yy_buffer[index])) {
61                  index++;
62              }
63              // If end of buffer, can't disambiguate :(
64              if (index >= yy_buffer_read) {
65                  // Can't disambiguate, so return as symbol
66                  return new Symbol(ss);
67              }
68              // Return symbol if next token is '::' or '('
69              return (yy_buffer[index] == ':' && yy_buffer[index+1] == ':' ||
70                      yy_buffer[index] == '(') ?
71                      newSymbol(ss) : newSymbol(sym.QNAME, yytext());
72          }
73          /**
74           * If symbol is first token or if it follows any of the operators
75           * listed in http://www.w3.org/TR/xpath#exprlex then treat as a
76           * name instead of a keyword (Jira-1912). Look two tokens behind
77           * to desambiguate expressions like "* and *" or "and * and".
78           */
79          Symbol disambiguateOperator(int ss) throws Exception {
80              switch (last) {
81              case sym.STAR:
82                  if (beforeLast != sym.QNAME) break;
83              case -1:    // first token
84              case sym.ATSIGN:
85              case sym.DCOLON:
86              case sym.LPAREN:
87              case sym.LBRACK:
88              case sym.COMMA:
89              case sym.AND:
90              case sym.OR:
91              case sym.MOD:
92              case sym.DIV:
93              case sym.SLASH:
94              case sym.DSLASH:
95              case sym.VBAR:
96              case sym.PLUS:
97              case sym.MINUS:
98              case sym.EQ:
99              case sym.NE:
100             case sym.LT:
101             case sym.LE:
102             case sym.GT:
103             case sym.GE:
104                 return newSymbol(sym.QNAME, yytext());
105             }
106             return newSymbol(ss);
107         }
108         Symbol newSymbol(int ss) {
109             beforeLast = last;
110             last = ss;
111             return new Symbol(ss);
112         }
113         Symbol newSymbol(int ss, String value) {
114             beforeLast = last;
115             last = ss;
116             return new Symbol(ss, value);
117         }
118         Symbol newSymbol(int ss, Long value) {
119             beforeLast = last;
120             last = ss;
121             return new Symbol(ss, value);
122         }
123         Symbol newSymbol(int ss, Double value) {
124             beforeLast = last;
125             last = ss;
126             return new Symbol(ss, value);
127         }
128         private java.io.BufferedReader yy_reader;
129         private int yy_buffer_index;
130         private int yy_buffer_read;
131         private int yy_buffer_start;
132         private int yy_buffer_end;
133         private char yy_buffer[];
134         private boolean yy_at_bol;
135         private int yy_lexical_state;
136 
137         XPathLexer (java.io.Reader reader) {
138                 this ();
139                 if (null == reader) {
140                         throw (new Error("Error: Bad input stream initializer."));
141                 }
142                 yy_reader = new java.io.BufferedReader(reader);
143         }
144 
145         XPathLexer (java.io.InputStream instream) {
146                 this ();
147                 if (null == instream) {
148                         throw (new Error("Error: Bad input stream initializer."));
149                 }
150                 yy_reader = new java.io.BufferedReader(new java.io.InputStreamReader(instream));
151         }
152 
153         private XPathLexer () {
154                 yy_buffer = new char[YY_BUFFER_SIZE];
155                 yy_buffer_read = 0;
156                 yy_buffer_index = 0;
157                 yy_buffer_start = 0;
158                 yy_buffer_end = 0;
159                 yy_at_bol = true;
160                 yy_lexical_state = YYINITIAL;
161         }
162 
163         private boolean yy_eof_done = false;
164         private final int YYINITIAL = 0;
165         private final int yy_state_dtrans[] = {
166                 0
167         };
168         private void yybegin (int state) {
169                 yy_lexical_state = state;
170         }
171         private int yy_advance ()
172                 throws java.io.IOException {
173                 int next_read;
174                 int i;
175                 int j;
176 
177                 if (yy_buffer_index < yy_buffer_read) {
178                         return yy_buffer[yy_buffer_index++];
179                 }
180 
181                 if (0 != yy_buffer_start) {
182                         i = yy_buffer_start;
183                         j = 0;
184                         while (i < yy_buffer_read) {
185                                 yy_buffer[j] = yy_buffer[i];
186                                 ++i;
187                                 ++j;
188                         }
189                         yy_buffer_end = yy_buffer_end - yy_buffer_start;
190                         yy_buffer_start = 0;
191                         yy_buffer_read = j;
192                         yy_buffer_index = j;
193                         next_read = yy_reader.read(yy_buffer,
194                                         yy_buffer_read,
195                                         yy_buffer.length - yy_buffer_read);
196                         if (-1 == next_read) {
197                                 return YY_EOF;
198                         }
199                         yy_buffer_read = yy_buffer_read + next_read;
200                 }
201 
202                 while (yy_buffer_index >= yy_buffer_read) {
203                         if (yy_buffer_index >= yy_buffer.length) {
204                                 yy_buffer = yy_double(yy_buffer);
205                         }
206                         next_read = yy_reader.read(yy_buffer,
207                                         yy_buffer_read,
208                                         yy_buffer.length - yy_buffer_read);
209                         if (-1 == next_read) {
210                                 return YY_EOF;
211                         }
212                         yy_buffer_read = yy_buffer_read + next_read;
213                 }
214                 return yy_buffer[yy_buffer_index++];
215         }
216         private void yy_move_end () {
217                 if (yy_buffer_end > yy_buffer_start &&
218                     '\n' == yy_buffer[yy_buffer_end-1])
219                         yy_buffer_end--;
220                 if (yy_buffer_end > yy_buffer_start &&
221                     '\r' == yy_buffer[yy_buffer_end-1])
222                         yy_buffer_end--;
223         }
224         private boolean yy_last_was_cr=false;
225         private void yy_mark_start () {
226                 yy_buffer_start = yy_buffer_index;
227         }
228         private void yy_mark_end () {
229                 yy_buffer_end = yy_buffer_index;
230         }
231         private void yy_to_mark () {
232                 yy_buffer_index = yy_buffer_end;
233                 yy_at_bol = (yy_buffer_end > yy_buffer_start) &&
234                             ('\r' == yy_buffer[yy_buffer_end-1] ||
235                              '\n' == yy_buffer[yy_buffer_end-1] ||
236                              2028/*LS*/ == yy_buffer[yy_buffer_end-1] ||
237                              2029/*PS*/ == yy_buffer[yy_buffer_end-1]);
238         }
239         private java.lang.String yytext () {
240                 return (new java.lang.String(yy_buffer,
241                         yy_buffer_start,
242                         yy_buffer_end - yy_buffer_start));
243         }
244         private int yylength () {
245                 return yy_buffer_end - yy_buffer_start;
246         }
247         private char[] yy_double (char buf[]) {
248                 int i;
249                 char newbuf[];
250                 newbuf = new char[2*buf.length];
251                 for (i = 0; i < buf.length; ++i) {
252                         newbuf[i] = buf[i];
253                 }
254                 return newbuf;
255         }
256         private final int YY_E_INTERNAL = 0;
257         private final int YY_E_MATCH = 1;
258         private java.lang.String yy_error_string[] = {
259                 "Error: Internal error.\n",
260                 "Error: Unmatched input.\n"
261         };
262         private void yy_error (int code,boolean fatal) {
263                 java.lang.System.out.print(yy_error_string[code]);
264                 java.lang.System.out.flush();
265                 if (fatal) {
266                         throw new Error("Fatal Error.\n");
267                 }
268         }
269         static private int[][] unpackFromString(int size1, int size2, String st) {
270                 int colonIndex = -1;
271                 String lengthString;
272                 int sequenceLength = 0;
273                 int sequenceInteger = 0;
274 
275                 int commaIndex;
276                 String workString;
277 
278                 int res[][] = new int[size1][size2];
279                 for (int i= 0; i < size1; i++) {
280                         for (int j= 0; j < size2; j++) {
281                                 if (sequenceLength != 0) {
282                                         res[i][j] = sequenceInteger;
283                                         sequenceLength--;
284                                         continue;
285                                 }
286                                 commaIndex = st.indexOf(',');
287                                 workString = (commaIndex==-1) ? st :
288                                         st.substring(0, commaIndex);
289                                 st = st.substring(commaIndex+1);
290                                 colonIndex = workString.indexOf(':');
291                                 if (colonIndex == -1) {
292                                         res[i][j]=Integer.parseInt(workString);
293                                         continue;
294                                 }
295                                 lengthString =
296                                         workString.substring(colonIndex+1);
297                                 sequenceLength=Integer.parseInt(lengthString);
298                                 workString=workString.substring(0,colonIndex);
299                                 sequenceInteger=Integer.parseInt(workString);
300                                 res[i][j] = sequenceInteger;
301                                 sequenceLength--;
302                         }
303                 }
304                 return res;
305         }
306         private int yy_acpt[] = {
307                 /* 0 */ YY_NOT_ACCEPT,
308                 /* 1 */ YY_NO_ANCHOR,
309                 /* 2 */ YY_NO_ANCHOR,
310                 /* 3 */ YY_NO_ANCHOR,
311                 /* 4 */ YY_NO_ANCHOR,
312                 /* 5 */ YY_NO_ANCHOR,
313                 /* 6 */ YY_NO_ANCHOR,
314                 /* 7 */ YY_NO_ANCHOR,
315                 /* 8 */ YY_NO_ANCHOR,
316                 /* 9 */ YY_NO_ANCHOR,
317                 /* 10 */ YY_NO_ANCHOR,
318                 /* 11 */ YY_NO_ANCHOR,
319                 /* 12 */ YY_NO_ANCHOR,
320                 /* 13 */ YY_NO_ANCHOR,
321                 /* 14 */ YY_NO_ANCHOR,
322                 /* 15 */ YY_NO_ANCHOR,
323                 /* 16 */ YY_NO_ANCHOR,
324                 /* 17 */ YY_NO_ANCHOR,
325                 /* 18 */ YY_NO_ANCHOR,
326                 /* 19 */ YY_NO_ANCHOR,
327                 /* 20 */ YY_NO_ANCHOR,
328                 /* 21 */ YY_NO_ANCHOR,
329                 /* 22 */ YY_NO_ANCHOR,
330                 /* 23 */ YY_NO_ANCHOR,
331                 /* 24 */ YY_NO_ANCHOR,
332                 /* 25 */ YY_NO_ANCHOR,
333                 /* 26 */ YY_NO_ANCHOR,
334                 /* 27 */ YY_NO_ANCHOR,
335                 /* 28 */ YY_NO_ANCHOR,
336                 /* 29 */ YY_NO_ANCHOR,
337                 /* 30 */ YY_NO_ANCHOR,
338                 /* 31 */ YY_NO_ANCHOR,
339                 /* 32 */ YY_NO_ANCHOR,
340                 /* 33 */ YY_NO_ANCHOR,
341                 /* 34 */ YY_NO_ANCHOR,
342                 /* 35 */ YY_NO_ANCHOR,
343                 /* 36 */ YY_NO_ANCHOR,
344                 /* 37 */ YY_NO_ANCHOR,
345                 /* 38 */ YY_NO_ANCHOR,
346                 /* 39 */ YY_NO_ANCHOR,
347                 /* 40 */ YY_NO_ANCHOR,
348                 /* 41 */ YY_NO_ANCHOR,
349                 /* 42 */ YY_NO_ANCHOR,
350                 /* 43 */ YY_NO_ANCHOR,
351                 /* 44 */ YY_NO_ANCHOR,
352                 /* 45 */ YY_NO_ANCHOR,
353                 /* 46 */ YY_NO_ANCHOR,
354                 /* 47 */ YY_NO_ANCHOR,
355                 /* 48 */ YY_NO_ANCHOR,
356                 /* 49 */ YY_NO_ANCHOR,
357                 /* 50 */ YY_NO_ANCHOR,
358                 /* 51 */ YY_NO_ANCHOR,
359                 /* 52 */ YY_NO_ANCHOR,
360                 /* 53 */ YY_NO_ANCHOR,
361                 /* 54 */ YY_NO_ANCHOR,
362                 /* 55 */ YY_NO_ANCHOR,
363                 /* 56 */ YY_NO_ANCHOR,
364                 /* 57 */ YY_NO_ANCHOR,
365                 /* 58 */ YY_NO_ANCHOR,
366                 /* 59 */ YY_NO_ANCHOR,
367                 /* 60 */ YY_NO_ANCHOR,
368                 /* 61 */ YY_NO_ANCHOR,
369                 /* 62 */ YY_NO_ANCHOR,
370                 /* 63 */ YY_NO_ANCHOR,
371                 /* 64 */ YY_NOT_ACCEPT,
372                 /* 65 */ YY_NO_ANCHOR,
373                 /* 66 */ YY_NO_ANCHOR,
374                 /* 67 */ YY_NO_ANCHOR,
375                 /* 68 */ YY_NO_ANCHOR,
376                 /* 69 */ YY_NOT_ACCEPT,
377                 /* 70 */ YY_NO_ANCHOR,
378                 /* 71 */ YY_NO_ANCHOR,
379                 /* 72 */ YY_NOT_ACCEPT,
380                 /* 73 */ YY_NO_ANCHOR,
381                 /* 74 */ YY_NO_ANCHOR,
382                 /* 75 */ YY_NOT_ACCEPT,
383                 /* 76 */ YY_NO_ANCHOR,
384                 /* 77 */ YY_NO_ANCHOR,
385                 /* 78 */ YY_NOT_ACCEPT,
386                 /* 79 */ YY_NO_ANCHOR,
387                 /* 80 */ YY_NOT_ACCEPT,
388                 /* 81 */ YY_NO_ANCHOR,
389                 /* 82 */ YY_NOT_ACCEPT,
390                 /* 83 */ YY_NO_ANCHOR,
391                 /* 84 */ YY_NOT_ACCEPT,
392                 /* 85 */ YY_NO_ANCHOR,
393                 /* 86 */ YY_NOT_ACCEPT,
394                 /* 87 */ YY_NO_ANCHOR,
395                 /* 88 */ YY_NOT_ACCEPT,
396                 /* 89 */ YY_NO_ANCHOR,
397                 /* 90 */ YY_NOT_ACCEPT,
398                 /* 91 */ YY_NO_ANCHOR,
399                 /* 92 */ YY_NOT_ACCEPT,
400                 /* 93 */ YY_NO_ANCHOR,
401                 /* 94 */ YY_NOT_ACCEPT,
402                 /* 95 */ YY_NO_ANCHOR,
403                 /* 96 */ YY_NOT_ACCEPT,
404                 /* 97 */ YY_NO_ANCHOR,
405                 /* 98 */ YY_NOT_ACCEPT,
406                 /* 99 */ YY_NO_ANCHOR,
407                 /* 100 */ YY_NOT_ACCEPT,
408                 /* 101 */ YY_NO_ANCHOR,
409                 /* 102 */ YY_NOT_ACCEPT,
410                 /* 103 */ YY_NO_ANCHOR,
411                 /* 104 */ YY_NOT_ACCEPT,
412                 /* 105 */ YY_NO_ANCHOR,
413                 /* 106 */ YY_NOT_ACCEPT,
414                 /* 107 */ YY_NO_ANCHOR,
415                 /* 108 */ YY_NOT_ACCEPT,
416                 /* 109 */ YY_NO_ANCHOR,
417                 /* 110 */ YY_NOT_ACCEPT,
418                 /* 111 */ YY_NO_ANCHOR,
419                 /* 112 */ YY_NOT_ACCEPT,
420                 /* 113 */ YY_NO_ANCHOR,
421                 /* 114 */ YY_NOT_ACCEPT,
422                 /* 115 */ YY_NO_ANCHOR,
423                 /* 116 */ YY_NOT_ACCEPT,
424                 /* 117 */ YY_NO_ANCHOR,
425                 /* 118 */ YY_NOT_ACCEPT,
426                 /* 119 */ YY_NO_ANCHOR,
427                 /* 120 */ YY_NOT_ACCEPT,
428                 /* 121 */ YY_NO_ANCHOR,
429                 /* 122 */ YY_NOT_ACCEPT,
430                 /* 123 */ YY_NO_ANCHOR,
431                 /* 124 */ YY_NOT_ACCEPT,
432                 /* 125 */ YY_NO_ANCHOR,
433                 /* 126 */ YY_NOT_ACCEPT,
434                 /* 127 */ YY_NO_ANCHOR,
435                 /* 128 */ YY_NO_ANCHOR,
436                 /* 129 */ YY_NO_ANCHOR,
437                 /* 130 */ YY_NO_ANCHOR,
438                 /* 131 */ YY_NO_ANCHOR,
439                 /* 132 */ YY_NO_ANCHOR,
440                 /* 133 */ YY_NO_ANCHOR,
441                 /* 134 */ YY_NO_ANCHOR,
442                 /* 135 */ YY_NO_ANCHOR,
443                 /* 136 */ YY_NO_ANCHOR,
444                 /* 137 */ YY_NO_ANCHOR,
445                 /* 138 */ YY_NO_ANCHOR,
446                 /* 139 */ YY_NO_ANCHOR,
447                 /* 140 */ YY_NO_ANCHOR,
448                 /* 141 */ YY_NO_ANCHOR,
449                 /* 142 */ YY_NO_ANCHOR,
450                 /* 143 */ YY_NO_ANCHOR,
451                 /* 144 */ YY_NO_ANCHOR,
452                 /* 145 */ YY_NO_ANCHOR,
453                 /* 146 */ YY_NO_ANCHOR,
454                 /* 147 */ YY_NO_ANCHOR,
455                 /* 148 */ YY_NO_ANCHOR,
456                 /* 149 */ YY_NO_ANCHOR,
457                 /* 150 */ YY_NO_ANCHOR,
458                 /* 151 */ YY_NO_ANCHOR,
459                 /* 152 */ YY_NO_ANCHOR,
460                 /* 153 */ YY_NO_ANCHOR,
461                 /* 154 */ YY_NO_ANCHOR,
462                 /* 155 */ YY_NO_ANCHOR,
463                 /* 156 */ YY_NO_ANCHOR,
464                 /* 157 */ YY_NO_ANCHOR,
465                 /* 158 */ YY_NO_ANCHOR,
466                 /* 159 */ YY_NO_ANCHOR,
467                 /* 160 */ YY_NO_ANCHOR,
468                 /* 161 */ YY_NO_ANCHOR,
469                 /* 162 */ YY_NO_ANCHOR,
470                 /* 163 */ YY_NO_ANCHOR,
471                 /* 164 */ YY_NO_ANCHOR,
472                 /* 165 */ YY_NO_ANCHOR,
473                 /* 166 */ YY_NO_ANCHOR,
474                 /* 167 */ YY_NO_ANCHOR,
475                 /* 168 */ YY_NO_ANCHOR,
476                 /* 169 */ YY_NO_ANCHOR,
477                 /* 170 */ YY_NO_ANCHOR,
478                 /* 171 */ YY_NO_ANCHOR,
479                 /* 172 */ YY_NO_ANCHOR,
480                 /* 173 */ YY_NO_ANCHOR,
481                 /* 174 */ YY_NO_ANCHOR,
482                 /* 175 */ YY_NO_ANCHOR,
483                 /* 176 */ YY_NO_ANCHOR,
484                 /* 177 */ YY_NO_ANCHOR,
485                 /* 178 */ YY_NO_ANCHOR,
486                 /* 179 */ YY_NO_ANCHOR,
487                 /* 180 */ YY_NO_ANCHOR,
488                 /* 181 */ YY_NO_ANCHOR,
489                 /* 182 */ YY_NO_ANCHOR,
490                 /* 183 */ YY_NO_ANCHOR,
491                 /* 184 */ YY_NO_ANCHOR,
492                 /* 185 */ YY_NOT_ACCEPT,
493                 /* 186 */ YY_NOT_ACCEPT,
494                 /* 187 */ YY_NO_ANCHOR,
495                 /* 188 */ YY_NOT_ACCEPT,
496                 /* 189 */ YY_NO_ANCHOR,
497                 /* 190 */ YY_NOT_ACCEPT,
498                 /* 191 */ YY_NO_ANCHOR,
499                 /* 192 */ YY_NO_ANCHOR,
500                 /* 193 */ YY_NO_ANCHOR,
501                 /* 194 */ YY_NO_ANCHOR,
502                 /* 195 */ YY_NO_ANCHOR,
503                 /* 196 */ YY_NO_ANCHOR,
504                 /* 197 */ YY_NO_ANCHOR,
505                 /* 198 */ YY_NO_ANCHOR,
506                 /* 199 */ YY_NO_ANCHOR,
507                 /* 200 */ YY_NO_ANCHOR,
508                 /* 201 */ YY_NO_ANCHOR,
509                 /* 202 */ YY_NO_ANCHOR,
510                 /* 203 */ YY_NO_ANCHOR,
511                 /* 204 */ YY_NO_ANCHOR,
512                 /* 205 */ YY_NO_ANCHOR,
513                 /* 206 */ YY_NO_ANCHOR,
514                 /* 207 */ YY_NO_ANCHOR,
515                 /* 208 */ YY_NO_ANCHOR,
516                 /* 209 */ YY_NO_ANCHOR,
517                 /* 210 */ YY_NO_ANCHOR,
518                 /* 211 */ YY_NO_ANCHOR,
519                 /* 212 */ YY_NO_ANCHOR,
520                 /* 213 */ YY_NO_ANCHOR,
521                 /* 214 */ YY_NO_ANCHOR,
522                 /* 215 */ YY_NO_ANCHOR,
523                 /* 216 */ YY_NO_ANCHOR,
524                 /* 217 */ YY_NO_ANCHOR,
525                 /* 218 */ YY_NO_ANCHOR,
526                 /* 219 */ YY_NO_ANCHOR,
527                 /* 220 */ YY_NO_ANCHOR,
528                 /* 221 */ YY_NO_ANCHOR,
529                 /* 222 */ YY_NO_ANCHOR,
530                 /* 223 */ YY_NO_ANCHOR,
531                 /* 224 */ YY_NO_ANCHOR,
532                 /* 225 */ YY_NO_ANCHOR,
533                 /* 226 */ YY_NO_ANCHOR,
534                 /* 227 */ YY_NO_ANCHOR,
535                 /* 228 */ YY_NO_ANCHOR,
536                 /* 229 */ YY_NO_ANCHOR,
537                 /* 230 */ YY_NO_ANCHOR,
538                 /* 231 */ YY_NO_ANCHOR,
539                 /* 232 */ YY_NO_ANCHOR,
540                 /* 233 */ YY_NO_ANCHOR
541         };
542         static private int yy_cmap[] = unpackFromString(1,65538,
543 "54:9,27:2,54,27:2,54:18,27,17,53,54,15,54:2,55,25,26,1,3,11,4,13,2,56:10,10" +
544 ",54,18,16,19,54,12,44,57:3,46,57:3,51,57:4,48,52,43,57,47,50,45,57:3,49,57:" +
545 "2,41,54,42,54,58,54,35,38,29,5,21,39,33,36,6,57,20,37,8,28,9,30,57,31,32,23" +
546 ",34,7,40,24,22,57,54,14,54:58,60,54:8,57:23,54,57:31,54,57:58,58:2,57:11,58" +
547 ":2,57:8,58,57:53,58,57:68,58:9,57:36,58:3,57:2,58:4,57:30,58:56,57:89,58:18" +
548 ",57:7,58:62,60:70,54:26,60:2,54:14,58:14,54,58:7,57,58,57:3,58,57,58,57:20," +
549 "58,57:44,58,57:7,58:3,57,58,57,58,57,58,57,58,57:18,58:13,57:12,58,57:66,58" +
550 ",57:12,58,57:36,58:14,57:53,58:2,57:2,58:2,57:2,58:3,57:28,58:2,57:8,58:2,5" +
551 "7:2,58:55,57:38,58:2,57,58:7,57:38,58:73,57:27,58:5,57:3,58:46,57:26,58:6,5" +
552 "7:10,58:21,59:10,58:7,57:71,58:2,57:5,58,57:15,58,57:4,58,57,58:15,57:2,58:" +
553 "9,59:10,58:523,57:53,58:3,57,58:26,57:10,58:4,59:10,58:21,57:8,58:2,57:2,58" +
554 ":2,57:22,58,57:7,58,57,58:3,57:4,58:34,57:2,58,57:3,58:4,59:10,57:2,58:19,5" +
555 "7:6,58:4,57:2,58:2,57:22,58,57:7,58,57:2,58,57:2,58,57:2,58:31,57:4,58,57,5" +
556 "8:7,59:10,58:2,57:3,58:16,57:7,58,57,58,57:3,58,57:22,58,57:7,58,57:2,58,57" +
557 ":5,58:3,57,58:34,57,58:5,59:10,58:21,57:8,58:2,57:2,58:2,57:22,58,57:7,58,5" +
558 "7:2,58:2,57:4,58:3,57,58:30,57:2,58,57:3,58:4,59:10,58:21,57:6,58:3,57:3,58" +
559 ",57:4,58:3,57:2,58,57,58,57:2,58:3,57:2,58:3,57:3,58:3,57:8,58,57:3,58:45,5" +
560 "9:9,58:21,57:8,58,57:3,58,57:23,58,57:10,58,57:5,58:38,57:2,58:4,59:10,58:2" +
561 "1,57:8,58,57:3,58,57:23,58,57:10,58,57:5,58:36,57,58,57:2,58:4,59:10,58:21," +
562 "57:8,58,57:3,58,57:23,58,57:16,58:38,57:2,58:4,59:10,58:145,57:46,58,57,58," +
563 "57:2,58:12,57:6,58:10,59:10,58:39,57:2,58,57,58:2,57:2,58,57,58:2,57,58:6,5" +
564 "7:4,58,57:7,58,57:3,58,57,58,57,58:2,57:2,58,57:2,58,57,58,57:2,58:9,57,58:" +
565 "2,57:5,58:11,59:10,58:70,59:10,58:22,57:8,58,57:33,58:310,57:38,58:10,57:39" +
566 ",58:9,57,58,57:2,58,57:3,58,57,58,57:2,58,57:5,58:41,57,58,57,58,57,58:11,5" +
567 "7,58,57,58,57,58:3,57:2,58:3,57,58:5,57:3,58,57,58,57,58,57,58,57,58:3,57:2" +
568 ",58:3,57:2,58,57,58:40,57,58:9,57,58:2,57,58:2,57:2,58:7,57:2,58,57,58,57:7" +
569 ",58:40,57,58:4,57,58:8,57,58:3078,57:156,58:4,57:90,58:6,57:22,58:2,57:6,58" +
570 ":2,57:38,58:2,57:6,58:2,57:8,58,57,58,57,58,57,58,57:31,58:2,57:53,58,57:7," +
571 "58,57,58:3,57:3,58,57:7,58:3,57:4,58:2,57:6,58:4,57:13,58:5,57:3,58,57:7,58" +
572 ":3,54:12,58:2,54:98,58:182,57,58:3,57:2,58:2,57,58:81,57:3,58:13,54:2672,58" +
573 ":1008,54:17,58:64,57:84,58:12,57:90,58:10,57:40,58:31443,57:11172,58:92,54:" +
574 "8448,58:1232,54:32,58:526,54:2,0:2")[0];
575 
576         static private int yy_rmap[] = unpackFromString(1,234,
577 "0,1:2,2,1:2,3,4,1,5,6,1:3,7,8,1:5,9,1,10:2,1:3,11,1:5,12,10,1,10:5,1:2,10,1" +
578 ":2,13,1,10,1,14,10,15,16,1:2,10:4,17,1:2,18,19,20,21,22,23,24,25,26,27,1,25" +
579 ",10,28:2,29,5,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,5" +
580 "0,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,7" +
581 "5,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,1" +
582 "00,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118," +
583 "119,120,121,122,123,124,125,126,127,128,129,130,131,132,10,133,134,135,136," +
584 "137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155" +
585 ",156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,17" +
586 "4,175,176,177,178,179,180,181")[0];
587 
588         static private int yy_nxt[][] = unpackFromString(182,61,
589 "1,2,3,4,5,6,65,184,204,70,7,8,9,10,11,12,13,66,14,15,211,184:2,215,184,16,1" +
590 "7,18,218,220,221,184,222,184:2,223,184:3,224,184,19,20,184:10,71,74,77,21,1" +
591 "84:2,67,74,-1:63,22,-1:62,184:2,73,184:3,64,-1:2,76,-1:6,184,79,184:3,-1:3," +
592 "184:13,-1:2,184:10,-1:3,76,184,76:3,-1:10,25,-1:51,26,-1:72,27,-1:42,28,-1:" +
593 "2,28,-1:17,30,-1:26,69,-1:2,72,-1:30,31,-1:57,34,-1:42,21,-1:2,21,-1:5,184:" +
594 "6,64,-1:2,76,-1:6,184:5,-1:3,184:13,-1:2,184:10,-1:3,76,184,76:3,-1:56,28,-" +
595 "1:2,28,-1:57,34,-1:2,34,-1:5,155,184:5,64,-1:2,76,-1:6,184:5,-1:3,184:13,-1" +
596 ":2,184:10,-1:3,76,184,76:3,-1:4,209,184:5,64,-1:2,76,-1:6,184:5,-1:3,184:13" +
597 ",-1:2,184:10,-1:3,76,184,76:3,-1:4,233,184:5,64,-1:2,76,-1:6,184:5,-1:3,184" +
598 ":13,-1:2,184:10,-1:3,76,184,76:3,-1:4,158,184:5,64,-1:2,76,-1:6,184:5,-1:3," +
599 "184:13,-1:2,184:10,-1:3,76,184,76:3,-1:4,184:6,64,-1:2,76,-1:6,184:5,122,-1" +
600 ",124,183,184:12,-1:2,184:10,-1:3,76,184,76:3,-1,36,-1:3,103:5,-1:2,80,-1:7," +
601 "103:5,-1:3,103:13,-1:2,103:10,-1:4,103:3,-1:5,184,23,184:4,64,-1:2,76,-1:6," +
602 "184:5,-1:3,184:13,-1:2,184:10,-1:3,76,184,76:3,-1:16,29,-1:48,184:6,64,-1:2" +
603 ",68,-1:6,184:5,-1:3,184:13,-1:2,184:10,-1:3,67,184,76,67,76,-1:4,184:6,64,-" +
604 "1:2,76,-1:6,184:5,-1:3,184:13,-1:2,184:10,-1:3,68,184,76,68,76,-1:44,82,-1:" +
605 "20,184:6,64,-1:2,76,-1:6,184:5,-1:3,184:3,24,184:9,-1:2,184:10,-1:3,76,184," +
606 "76:3,-1,75:52,32,75:7,-1:49,84,-1:15,184:3,35,184:2,64,-1:2,76,-1:6,184:5,-" +
607 "1:3,184:13,-1:2,184:10,-1:3,76,184,76:3,-1,78:54,33,78:5,-1:4,184:6,64,-1:2" +
608 ",76,-1:6,184:5,-1:3,184:4,105,184:8,-1:2,184:10,-1:3,76,184,76:3,-1:4,184,3" +
609 "7,184:4,64,-1:2,76,-1:6,184:5,-1:3,184:13,-1:2,184:10,-1:3,76,184,76:3,-1:4" +
610 "5,185,-1:19,184:6,64,-1:2,76,-1:6,184:2,38,184:2,-1:3,184:13,-1:2,184:10,-1" +
611 ":3,76,184,76:3,-1:43,86,-1:21,184:6,64,-1:2,76,-1:6,184:4,191,-1:3,184:13,-" +
612 "1:2,184:10,-1:3,76,184,76:3,-1:47,186,-1:17,184,107,184:4,64,-1:2,76,-1:6,1" +
613 "84:5,-1:3,184:13,-1:2,184:10,-1:3,76,184,76:3,-1:46,96,-1:18,184:4,193,184," +
614 "64,-1:2,76,-1:6,184:5,-1:3,184:13,-1:2,184:10,-1:3,76,184,76:3,-1:26,42,-1:" +
615 "38,184:2,205,184:3,64,-1:2,76,-1:6,184:5,-1:3,184:13,-1:2,184:10,-1:3,76,18" +
616 "4,76:3,-1:25,100,-1,92,-1:37,184:5,192,64,-1:2,76,-1:6,184,228,184:3,-1:3,1" +
617 "84:13,-1:2,184:10,-1:3,76,184,76:3,-1:26,43,-1:38,184:6,64,-1:2,76,-1:6,184" +
618 ":5,-1:3,184:3,206,184:9,-1:2,184:10,-1:3,76,184,76:3,-1:47,104,-1:17,184:6," +
619 "64,-1:2,76,-1:6,184:5,-1:3,184:9,111,184:3,-1:2,184:10,-1:3,76,184,76:3,-1:" +
620 "50,190,-1:14,184:6,64,-1:2,76,-1:6,184:3,113,184,-1:3,184:13,-1:2,184:10,-1" +
621 ":3,76,184,76:3,-1:26,45,-1:38,184,39,184:4,64,-1:2,76,-1:6,184:5,-1:3,184,2" +
622 "12,184:11,-1:2,184:10,-1:3,76,184,76:3,-1:26,46,-1:38,103:6,-1:3,103,-1:6,1" +
623 "03:5,-1:3,103:13,-1:2,103:10,-1:3,103:5,-1:48,106,-1:16,184:6,64,-1:2,76,-1" +
624 ":6,184:5,-1:3,184,216,184:11,-1:2,184:10,-1:3,76,184,76:3,-1:19,48,-1:45,18" +
625 "4:6,64,-1:2,76,-1:6,184,119,184:3,-1:3,184:13,-1:2,184:10,-1:3,76,184,76:3," +
626 "-1:51,114,-1:13,184:4,123,184,64,-1:2,76,-1:6,184:5,-1:3,184:13,-1:2,184:10" +
627 ",-1:3,76,184,76:3,-1:26,50,-1:38,184:6,64,-1:2,76,-1:6,184:5,-1:3,184:11,40" +
628 ",184,-1:2,184:10,-1:3,76,184,76:3,-1:25,116,-1,112,-1:37,184:6,64,-1:2,76,-" +
629 "1:6,184:5,-1:3,184:3,128,184:9,-1:2,184:10,-1:3,76,184,76:3,-1:52,118,-1:12" +
630 ",184:6,64,-1:2,76,-1:6,184:5,-1:3,184:9,129,184:3,-1:2,184:10,-1:3,76,184,7" +
631 "6:3,-1:26,55,-1:38,184:6,64,-1:2,76,-1:6,184:3,130,184,90,-1,92,184:13,-1:2" +
632 ",184:10,-1:3,76,184,76:3,-1:48,120,-1:16,184:6,64,-1:2,76,-1:6,184,131,184:" +
633 "3,94,-1,188,184:13,-1:2,184:10,-1:3,76,184,76:3,-1:19,56,-1:45,184:6,64,-1:" +
634 "2,76,-1:6,184:5,-1:3,184:4,132,184:8,-1:2,184:10,-1:3,76,184,76:3,-1:26,62," +
635 "-1:38,184:6,64,-1:2,76,-1:6,184,208,184:3,-1:3,184:13,-1:2,184:10,-1:3,76,1" +
636 "84,76:3,-1:25,126,-1,124,-1:37,184,41,184:4,64,-1:2,76,-1:6,184:5,-1:3,184:" +
637 "13,-1:2,184:10,-1:3,76,184,76:3,-1:26,63,-1:38,184:6,64,-1:2,76,-1:6,184:5," +
638 "-1:3,135,184:12,-1:2,184:10,-1:3,76,184,76:3,-1:4,184:2,136,184:3,64,-1:2,7" +
639 "6,-1:6,184:5,-1:3,184:13,-1:2,184:10,-1:3,76,184,76:3,-1:4,184:5,138,64,-1:" +
640 "2,76,-1:6,184:5,-1:3,184:13,-1:2,184:10,-1:3,76,184,76:3,-1:4,184:6,64,-1:2" +
641 ",76,-1:6,184:3,130,184,-1:2,92,184:13,-1:2,184:10,-1:3,76,184,76:3,-1:4,184" +
642 ":6,64,-1:2,76,-1:6,184,131,184:3,-1:2,188,184:13,-1:2,184:10,-1:3,76,184,76" +
643 ":3,-1:4,184:6,64,-1:2,76,-1:6,184:5,-1:3,184:2,139,184:10,-1:2,184:10,-1:3," +
644 "76,184,76:3,-1:4,184:6,64,-1:2,76,-1:6,184:5,-1:3,184:4,197,184:8,-1:2,184:" +
645 "10,-1:3,76,184,76:3,-1:4,184,140,184:4,64,-1:2,76,-1:6,184:5,-1:3,184:13,-1" +
646 ":2,184:10,-1:3,76,184,76:3,-1:4,184:6,64,-1:2,76,-1:6,184:3,44,184,-1:3,184" +
647 ":13,-1:2,184:10,-1:3,76,184,76:3,-1:4,184:6,64,-1:2,76,-1:6,184:5,-1:3,184:" +
648 "10,141,184:2,-1:2,184:10,-1:3,76,184,76:3,-1:4,184:6,64,-1:2,76,-1:6,184:3," +
649 "142,184,-1:3,184:13,-1:2,184:10,-1:3,76,184,76:3,-1:4,184:6,64,-1:2,76,-1:6" +
650 ",184:5,-1:3,184:12,225,-1:2,184:10,-1:3,76,184,76:3,-1:4,184:6,64,-1:2,76,-" +
651 "1:6,184:5,-1:3,184:7,143,184:5,-1:2,184:10,-1:3,76,184,76:3,-1:4,184:2,145," +
652 "184:3,64,-1:2,76,-1:6,184:5,-1:3,184:13,-1:2,184:10,-1:3,76,184,76:3,-1:4,1" +
653 "84:6,64,-1:2,76,-1:6,184:5,-1:3,184:6,146,184:6,-1:2,184:10,-1:3,76,184,76:" +
654 "3,-1:4,184:5,147,64,-1:2,76,-1:6,184:5,-1:3,184:13,-1:2,184:10,-1:3,76,184," +
655 "76:3,-1:4,184:6,64,-1:2,76,-1:6,184:5,-1:3,184,148,184:11,-1:2,184:10,-1:3," +
656 "76,184,76:3,-1:4,184:6,64,-1:2,76,-1:6,184:3,149,184,110,-1,112,184:13,-1:2" +
657 ",184:10,-1:3,76,184,76:3,-1:4,184:6,64,-1:2,76,-1:6,184:5,-1:3,150,184:12,-" +
658 "1:2,184:10,-1:3,76,184,76:3,-1:4,184:6,64,-1:2,76,-1:6,184:3,151,184,-1:3,1" +
659 "84:13,-1:2,184:10,-1:3,76,184,76:3,-1:4,184:6,64,-1:2,76,-1:6,184:5,-1:3,18" +
660 "4:3,47,184:9,-1:2,184:10,-1:3,76,184,76:3,-1:4,184:6,64,-1:2,76,-1:6,184,49" +
661 ",184:3,-1:3,184:13,-1:2,184:10,-1:3,76,184,76:3,-1:4,184:6,64,-1:2,76,-1:6," +
662 "184:3,149,184,-1:2,112,184:13,-1:2,184:10,-1:3,76,184,76:3,-1:4,184:6,64,-1" +
663 ":2,76,-1:6,184:5,-1:3,184:5,51,184:7,-1:2,184:10,-1:3,76,184,76:3,-1:4,184:" +
664 "6,64,-1:2,76,-1:6,184,52,184:3,-1:3,184:13,-1:2,184:10,-1:3,76,184,76:3,-1:" +
665 "4,184:6,64,-1:2,76,-1:6,184:5,-1:3,184:5,53,184:7,-1:2,184:10,-1:3,76,184,7" +
666 "6:3,-1:4,184:6,64,-1:2,76,-1:6,184:3,54,184,-1:3,184:13,-1:2,184:10,-1:3,76" +
667 ",184,76:3,-1:4,184:6,64,-1:2,76,-1:6,184:5,-1:3,184:5,156,184:7,-1:2,184:10" +
668 ",-1:3,76,184,76:3,-1:4,184:5,157,64,-1:2,76,-1:6,184:5,-1:3,184:13,-1:2,184" +
669 ":10,-1:3,76,184,76:3,-1:4,159,184:5,64,-1:2,76,-1:6,184:5,-1:3,184:13,-1:2," +
670 "184:10,-1:3,76,184,76:3,-1:4,184:6,64,-1:2,76,-1:6,184:5,-1:3,184:3,160,184" +
671 ":9,-1:2,184:10,-1:3,76,184,76:3,-1:4,184:5,161,64,-1:2,76,-1:6,184:5,-1:3,1" +
672 "84:13,-1:2,184:10,-1:3,76,184,76:3,-1:4,184:2,162,184:3,64,-1:2,76,-1:6,184" +
673 ":5,-1:3,184:13,-1:2,184:10,-1:3,76,184,76:3,-1:4,213,184:5,64,-1:2,76,-1:6," +
674 "184:5,-1:3,184:13,-1:2,184:10,-1:3,76,184,76:3,-1:4,184:6,64,-1:2,76,-1:6,1" +
675 "84:5,-1:3,184:3,226,184:9,-1:2,184:10,-1:3,76,184,76:3,-1:4,184:6,64,-1:2,7" +
676 "6,-1:6,184:5,-1:3,217,184:12,-1:2,184:10,-1:3,76,184,76:3,-1:4,184:6,64,-1:" +
677 "2,76,-1:6,184:5,-1:3,184:10,164,184:2,-1:2,184:10,-1:3,76,184,76:3,-1:4,184" +
678 ":6,64,-1:2,76,-1:6,184:5,-1:3,184:9,167,184:3,-1:2,184:10,-1:3,76,184,76:3," +
679 "-1:4,184:6,64,-1:2,76,-1:6,184,168,184:3,-1:3,184:13,-1:2,184:10,-1:3,76,18" +
680 "4,76:3,-1:4,184:6,64,-1:2,76,-1:6,184:3,170,184,-1:3,184:13,-1:2,184:10,-1:" +
681 "3,76,184,76:3,-1:4,184:2,171,184:3,64,-1:2,76,-1:6,184:5,-1:3,184:13,-1:2,1" +
682 "84:10,-1:3,76,184,76:3,-1:4,184:6,64,-1:2,76,-1:6,184:5,-1:3,184:9,172,184:" +
683 "3,-1:2,184:10,-1:3,76,184,76:3,-1:4,184:6,64,-1:2,76,-1:6,184,173,184:3,-1:" +
684 "3,184:13,-1:2,184:10,-1:3,76,184,76:3,-1:4,184:6,64,-1:2,76,-1:6,184:5,-1:3" +
685 ",184:3,174,184:9,-1:2,184:10,-1:3,76,184,76:3,-1:4,184:6,64,-1:2,76,-1:6,18" +
686 "4:5,-1:3,175,184:12,-1:2,184:10,-1:3,76,184,76:3,-1:4,184:6,64,-1:2,76,-1:6" +
687 ",184:5,-1:3,184:11,57,184,-1:2,184:10,-1:3,76,184,76:3,-1:4,184:6,64,-1:2,7" +
688 "6,-1:6,184:5,-1:3,184:9,177,184:3,-1:2,184:10,-1:3,76,184,76:3,-1:4,184:6,6" +
689 "4,-1:2,76,-1:6,184:5,-1:3,184:6,178,184:6,-1:2,184:10,-1:3,76,184,76:3,-1:4" +
690 ",184:6,64,-1:2,76,-1:6,184:5,-1:3,184:5,58,184:7,-1:2,184:10,-1:3,76,184,76" +
691 ":3,-1:4,184:6,64,-1:2,76,-1:6,184:5,-1:3,184:5,59,184:7,-1:2,184:10,-1:3,76" +
692 ",184,76:3,-1:4,184:6,64,-1:2,76,-1:6,184:5,-1:3,184:11,60,184,-1:2,184:10,-" +
693 "1:3,76,184,76:3,-1:4,184:6,64,-1:2,76,-1:6,184:5,-1:3,184,179,184:11,-1:2,1" +
694 "84:10,-1:3,76,184,76:3,-1:4,184:6,64,-1:2,76,-1:6,184:3,180,184,-1:3,184:13" +
695 ",-1:2,184:10,-1:3,76,184,76:3,-1:4,184:2,181,184:3,64,-1:2,76,-1:6,184:5,-1" +
696 ":3,184:13,-1:2,184:10,-1:3,76,184,76:3,-1:4,184:5,182,64,-1:2,76,-1:6,184:5" +
697 ",-1:3,184:13,-1:2,184:10,-1:3,76,184,76:3,-1:4,184:6,64,-1:2,76,-1:6,184:5," +
698 "-1:3,61,184:12,-1:2,184:10,-1:3,76,184,76:3,-1:4,184:6,64,-1:2,76,-1:6,184:" +
699 "5,-1:2,124,183,184:12,-1:2,184:10,-1:3,76,184,76:3,-1:45,88,-1:61,98,-1:18," +
700 "184:4,109,184,64,-1:2,76,-1:6,184:5,-1:3,184:13,-1:2,184:10,-1:3,76,184,76:" +
701 "3,-1:25,102,-1,188,-1:37,184:6,64,-1:2,76,-1:6,184:5,-1:3,184:9,115,184:3,-" +
702 "1:2,184:10,-1:3,76,184,76:3,-1:50,108,-1:14,184:6,64,-1:2,76,-1:6,184:3,117" +
703 ",184,-1:3,184:13,-1:2,184:10,-1:3,76,184,76:3,-1:4,184:6,64,-1:2,76,-1:6,18" +
704 "4:5,-1:3,184,195,184:11,-1:2,184:10,-1:3,76,184,76:3,-1:4,184:6,64,-1:2,76," +
705 "-1:6,184,121,184:3,-1:3,184:13,-1:2,184:10,-1:3,76,184,76:3,-1:4,184:6,64,-" +
706 "1:2,76,-1:6,184:5,-1:3,184:4,137,184:8,-1:2,184:10,-1:3,76,184,76:3,-1:4,18" +
707 "4:6,64,-1:2,76,-1:6,184,133,184:3,-1:3,184:13,-1:2,184:10,-1:3,76,184,76:3," +
708 "-1:4,184:6,64,-1:2,76,-1:6,184:5,-1:3,198,184:12,-1:2,184:10,-1:3,76,184,76" +
709 ":3,-1:4,184:6,64,-1:2,76,-1:6,184:5,-1:3,184:4,229,184:8,-1:2,184:10,-1:3,7" +
710 "6,184,76:3,-1:4,184,200,184:4,64,-1:2,76,-1:6,184:5,-1:3,184:13,-1:2,184:10" +
711 ",-1:3,76,184,76:3,-1:4,184:6,64,-1:2,76,-1:6,184:3,144,184,-1:3,184:13,-1:2" +
712 ",184:10,-1:3,76,184,76:3,-1:4,184:6,64,-1:2,76,-1:6,184:5,-1:3,184:7,210,18" +
713 "4:5,-1:2,184:10,-1:3,76,184,76:3,-1:4,184:6,64,-1:2,76,-1:6,184:5,-1:3,152," +
714 "184:12,-1:2,184:10,-1:3,76,184,76:3,-1:4,184:2,163,184:3,64,-1:2,76,-1:6,18" +
715 "4:5,-1:3,184:13,-1:2,184:10,-1:3,76,184,76:3,-1:4,184:6,64,-1:2,76,-1:6,184" +
716 ":5,-1:3,176,184:12,-1:2,184:10,-1:3,76,184,76:3,-1:4,184:5,81,64,-1:2,76,-1" +
717 ":6,184:5,-1:3,184:13,-1:2,184:10,-1:3,76,184,76:3,-1:4,184:6,64,-1:2,76,-1:" +
718 "6,184:5,-1:3,184:9,125,184:3,-1:2,184:10,-1:3,76,184,76:3,-1:4,184:6,64,-1:" +
719 "2,76,-1:6,184,127,184:3,-1:3,184:13,-1:2,184:10,-1:3,76,184,76:3,-1:4,184:6" +
720 ",64,-1:2,76,-1:6,184,134,184:3,-1:3,184:13,-1:2,184:10,-1:3,76,184,76:3,-1:" +
721 "4,184:6,64,-1:2,76,-1:6,184:5,-1:3,199,184:12,-1:2,184:10,-1:3,76,184,76:3," +
722 "-1:4,184:6,64,-1:2,76,-1:6,184:5,-1:3,184:4,202,184:8,-1:2,184:10,-1:3,76,1" +
723 "84,76:3,-1:4,184:6,64,-1:2,76,-1:6,184:5,-1:3,153,184:12,-1:2,184:10,-1:3,7" +
724 "6,184,76:3,-1:4,184:6,64,-1:2,76,-1:6,184,83,184:3,-1:3,184:13,-1:2,184:10," +
725 "-1:3,76,184,76:3,-1:4,184:6,64,-1:2,76,-1:6,184,194,184:3,-1:3,184:13,-1:2," +
726 "184:10,-1:3,76,184,76:3,-1:4,184:6,64,-1:2,76,-1:6,184:5,-1:3,184:4,165,184" +
727 ":8,-1:2,184:10,-1:3,76,184,76:3,-1:4,184:6,64,-1:2,76,-1:6,184:5,-1:3,154,1" +
728 "84:12,-1:2,184:10,-1:3,76,184,76:3,-1:4,184:6,64,-1:2,76,-1:6,184,85,184:3," +
729 "-1:3,184:13,-1:2,184:10,-1:3,76,184,76:3,-1:4,184:6,64,-1:2,76,-1:6,184,196" +
730 ",184:3,-1:3,184:13,-1:2,184:10,-1:3,76,184,76:3,-1:4,184:6,64,-1:2,76,-1:6," +
731 "184:5,-1:3,184:4,166,184:8,-1:2,184:10,-1:3,76,184,76:3,-1:4,184:5,87,64,-1" +
732 ":2,76,-1:6,184:5,-1:3,184:7,89,184:5,-1:2,184:10,-1:3,76,184,76:3,-1:4,184:" +
733 "6,64,-1:2,76,-1:6,184:5,-1:3,184:4,169,184:8,-1:2,184:10,-1:3,76,184,76:3,-" +
734 "1:4,184:5,187,64,-1:2,76,-1:6,184:5,-1:3,184:8,91,184:4,-1:2,184:10,-1:3,76" +
735 ",184,76:3,-1:4,184:6,64,-1:2,76,-1:6,184:5,-1:3,184:3,93,184:3,95,184:5,-1:" +
736 "2,184:10,-1:3,76,184,76:3,-1:4,184:6,64,-1:2,76,-1:6,184,97,184:3,-1:3,184:" +
737 "13,-1:2,184:10,-1:3,76,184,76:3,-1:4,184:6,64,-1:2,76,-1:6,184:3,99,184,-1:" +
738 "3,101,184:12,-1:2,184:10,-1:3,76,184,76:3,-1:4,184:5,189,64,-1:2,76,-1:6,18" +
739 "4:5,-1:3,184:13,-1:2,184:10,-1:3,76,184,76:3,-1:4,184:2,201,184:3,64,-1:2,7" +
740 "6,-1:6,184:5,-1:3,184:13,-1:2,184:10,-1:3,76,184,76:3,-1:4,219,184:5,64,-1:" +
741 "2,76,-1:6,184:5,-1:3,184:13,-1:2,184:10,-1:3,76,184,76:3,-1:4,184:2,203,184" +
742 ":3,64,-1:2,76,-1:6,184:5,-1:3,184:13,-1:2,184:10,-1:3,76,184,76:3,-1:4,184:" +
743 "6,64,-1:2,76,-1:6,184:5,-1:3,184,207,184:11,-1:2,184:10,-1:3,76,184,76:3,-1" +
744 ":4,184:2,214,184:3,64,-1:2,76,-1:6,184:5,-1:3,184:13,-1:2,184:10,-1:3,76,18" +
745 "4,76:3,-1:4,184:6,64,-1:2,76,-1:6,184:5,-1:3,184:9,227,184:3,-1:2,184:10,-1" +
746 ":3,76,184,76:3,-1:4,184:6,64,-1:2,76,-1:6,184:5,-1:3,184:10,230,184:2,-1:2," +
747 "184:10,-1:3,76,184,76:3,-1:4,184:2,231,184:3,64,-1:2,76,-1:6,184:5,-1:3,184" +
748 ":13,-1:2,184:10,-1:3,76,184,76:3,-1:4,184:6,64,-1:2,76,-1:6,184:5,-1:3,184:" +
749 "4,232,184:8,-1:2,184:10,-1:3,76,184,76:3");
750 
751         public com.sun.java_cup.internal.runtime.Symbol next_token ()
752                 throws java.io.IOException,
753 Exception
754 
755                 {
756                 int yy_lookahead;
757                 int yy_anchor = YY_NO_ANCHOR;
758                 int yy_state = yy_state_dtrans[yy_lexical_state];
759                 int yy_next_state = YY_NO_STATE;
760                 int yy_last_accept_state = YY_NO_STATE;
761                 boolean yy_initial = true;
762                 int yy_this_accept;
763 
764                 yy_mark_start();
765                 yy_this_accept = yy_acpt[yy_state];
766                 if (YY_NOT_ACCEPT != yy_this_accept) {
767                         yy_last_accept_state = yy_state;
768                         yy_mark_end();
769                 }
770                 while (true) {
771                         if (yy_initial && yy_at_bol) yy_lookahead = YY_BOL;
772                         else yy_lookahead = yy_advance();
773                         yy_next_state = YY_F;
774                         yy_next_state = yy_nxt[yy_rmap[yy_state]][yy_cmap[yy_lookahead]];
775                         if (YY_EOF == yy_lookahead && true == yy_initial) {
776 
777 return newSymbol(sym.EOF);
778                         }
779                         if (YY_F != yy_next_state) {
780                                 yy_state = yy_next_state;
781                                 yy_initial = false;
782                                 yy_this_accept = yy_acpt[yy_state];
783                                 if (YY_NOT_ACCEPT != yy_this_accept) {
784                                         yy_last_accept_state = yy_state;
785                                         yy_mark_end();
786                                 }
787                         }
788                         else {
789                                 if (YY_NO_STATE == yy_last_accept_state) {
790                                         throw (new Error("Lexical Error: Unmatched Input."));
791                                 }
792                                 else {
793                                         yy_anchor = yy_acpt[yy_last_accept_state];
794                                         if (0 != (YY_END & yy_anchor)) {
795                                                 yy_move_end();
796                                         }
797                                         yy_to_mark();
798                                         switch (yy_last_accept_state) {
799                                         case 1:
800 
801                                         case -2:
802                                                 break;
803                                         case 2:
804                                                 { return newSymbol(sym.STAR); }
805                                         case -3:
806                                                 break;
807                                         case 3:
808                                                 { return newSymbol(sym.SLASH); }
809                                         case -4:
810                                                 break;
811                                         case 4:
812                                                 { return newSymbol(sym.PLUS); }
813                                         case -5:
814                                                 break;
815                                         case 5:
816                                                 { return newSymbol(sym.MINUS); }
817                                         case -6:
818                                                 break;
819                                         case 6:
820                                                 { return newSymbol(sym.QNAME, yytext()); }
821                                         case -7:
822                                                 break;
823                                         case 7:
824                                                 { throw new Exception(yytext()); }
825                                         case -8:
826                                                 break;
827                                         case 8:
828                                                 { return newSymbol(sym.COMMA); }
829                                         case -9:
830                                                 break;
831                                         case 9:
832                                                 { return newSymbol(sym.ATSIGN); }
833                                         case -10:
834                                                 break;
835                                         case 10:
836                                                 { return newSymbol(sym.DOT); }
837                                         case -11:
838                                                 break;
839                                         case 11:
840                                                 { return newSymbol(sym.VBAR); }
841                                         case -12:
842                                                 break;
843                                         case 12:
844                                                 { return newSymbol(sym.DOLLAR); }
845                                         case -13:
846                                                 break;
847                                         case 13:
848                                                 { return newSymbol(sym.EQ); }
849                                         case -14:
850                                                 break;
851                                         case 14:
852                                                 { return newSymbol(sym.LT); }
853                                         case -15:
854                                                 break;
855                                         case 15:
856                                                 { return newSymbol(sym.GT); }
857                                         case -16:
858                                                 break;
859                                         case 16:
860                                                 { return newSymbol(sym.LPAREN); }
861                                         case -17:
862                                                 break;
863                                         case 17:
864                                                 { return newSymbol(sym.RPAREN); }
865                                         case -18:
866                                                 break;
867                                         case 18:
868                                                 { /* ignore white space. */ }
869                                         case -19:
870                                                 break;
871                                         case 19:
872                                                 { return newSymbol(sym.LBRACK); }
873                                         case -20:
874                                                 break;
875                                         case 20:
876                                                 { return newSymbol(sym.RBRACK); }
877                                         case -21:
878                                                 break;
879                                         case 21:
880                                                 { return newSymbol(sym.INT, new Long(yytext())); }
881                                         case -22:
882                                                 break;
883                                         case 22:
884                                                 { return newSymbol(sym.DSLASH); }
885                                         case -23:
886                                                 break;
887                                         case 23:
888                                                 { return disambiguateAxisOrFunction(sym.ID); }
889                                         case -24:
890                                                 break;
891                                         case 24:
892                                                 { return disambiguateOperator(sym.OR); }
893                                         case -25:
894                                                 break;
895                                         case 25:
896                                                 { return newSymbol(sym.DCOLON); }
897                                         case -26:
898                                                 break;
899                                         case 26:
900                                                 { return newSymbol(sym.QNAME, yytext()); }
901                                         case -27:
902                                                 break;
903                                         case 27:
904                                                 { return newSymbol(sym.DDOT); }
905                                         case -28:
906                                                 break;
907                                         case 28:
908                                                 { return newSymbol(sym.REAL, new Double(yytext())); }
909                                         case -29:
910                                                 break;
911                                         case 29:
912                                                 { return newSymbol(sym.NE); }
913                                         case -30:
914                                                 break;
915                                         case 30:
916                                                 { return newSymbol(sym.LE); }
917                                         case -31:
918                                                 break;
919                                         case 31:
920                                                 { return newSymbol(sym.GE); }
921                                         case -32:
922                                                 break;
923                                         case 32:
924                                                 { return newSymbol(sym.Literal,
925                               yytext().substring(1, yytext().length() - 1)); }
926                                         case -33:
927                                                 break;
928                                         case 33:
929                                                 { return newSymbol(sym.Literal,
930                               yytext().substring(1, yytext().length() - 1)); }
931                                         case -34:
932                                                 break;
933                                         case 34:
934                                                 { return newSymbol(sym.REAL, new Double(yytext())); }
935                                         case -35:
936                                                 break;
937                                         case 35:
938                                                 { return disambiguateOperator(sym.DIV); }
939                                         case -36:
940                                                 break;
941                                         case 36:
942                                                 { return newSymbol(sym.QNAME, yytext()); }
943                                         case -37:
944                                                 break;
945                                         case 37:
946                                                 { return disambiguateOperator(sym.MOD); }
947                                         case -38:
948                                                 break;
949                                         case 38:
950                                                 { return disambiguateAxisOrFunction(sym.KEY); }
951                                         case -39:
952                                                 break;
953                                         case 39:
954                                                 { return disambiguateOperator(sym.AND); }
955                                         case -40:
956                                                 break;
957                                         case 40:
958                                                 { return disambiguateAxisOrFunction(sym.SELF); }
959                                         case -41:
960                                                 break;
961                                         case 41:
962                                                 { return disambiguateAxisOrFunction(sym.CHILD); }
963                                         case -42:
964                                                 break;
965                                         case 42:
966                                                 { return newSymbol(sym.TEXT); }
967                                         case -43:
968                                                 break;
969                                         case 43:
970                                                 { return newSymbol(sym.NODE); }
971                                         case -44:
972                                                 break;
973                                         case 44:
974                                                 { return disambiguateAxisOrFunction(sym.PARENT); }
975                                         case -45:
976                                                 break;
977                                         case 45:
978                                                 { return newSymbol(sym.TEXT); }
979                                         case -46:
980                                                 break;
981                                         case 46:
982                                                 { return newSymbol(sym.NODE); }
983                                         case -47:
984                                                 break;
985                                         case 47:
986                                                 { return disambiguateAxisOrFunction(sym.ANCESTOR); }
987                                         case -48:
988                                                 break;
989                                         case 48:
990                                                 { initialize(); return new Symbol(sym.PATTERN); }
991                                         case -49:
992                                                 break;
993                                         case 49:
994                                                 { return disambiguateAxisOrFunction(sym.NAMESPACE); }
995                                         case -50:
996                                                 break;
997                                         case 50:
998                                                 { return newSymbol(sym.COMMENT); }
999                                         case -51:
1000                                                 break;
1001                                         case 51:
1002                                                 { return disambiguateAxisOrFunction(sym.PRECEDING); }
1003                                         case -52:
1004                                                 break;
1005                                         case 52:
1006                                                 { return disambiguateAxisOrFunction(sym.ATTRIBUTE); }
1007                                         case -53:
1008                                                 break;
1009                                         case 53:
1010                                                 { return disambiguateAxisOrFunction(sym.FOLLOWING); }
1011                                         case -54:
1012                                                 break;
1013                                         case 54:
1014                                                 { return disambiguateAxisOrFunction(sym.DESCENDANT); }
1015                                         case -55:
1016                                                 break;
1017                                         case 55:
1018                                                 { return newSymbol(sym.COMMENT); }
1019                                         case -56:
1020                                                 break;
1021                                         case 56:
1022                                                 { initialize(); return new Symbol(sym.EXPRESSION); }
1023                                         case -57:
1024                                                 break;
1025                                         case 57:
1026                                                 { return disambiguateAxisOrFunction(sym.ANCESTORORSELF); }
1027                                         case -58:
1028                                                 break;
1029                                         case 58:
1030                                                 { return disambiguateAxisOrFunction(sym.PRECEDINGSIBLING); }
1031                                         case -59:
1032                                                 break;
1033                                         case 59:
1034                                                 { return disambiguateAxisOrFunction(sym.FOLLOWINGSIBLING); }
1035                                         case -60:
1036                                                 break;
1037                                         case 60:
1038                                                 { return disambiguateAxisOrFunction(sym.DESCENDANTORSELF); }
1039                                         case -61:
1040                                                 break;
1041                                         case 61:
1042                                                 { return disambiguateAxisOrFunction(sym.PIPARAM); }
1043                                         case -62:
1044                                                 break;
1045                                         case 62:
1046                                                 { return newSymbol(sym.PI); }
1047                                         case -63:
1048                                                 break;
1049                                         case 63:
1050                                                 { return newSymbol(sym.PI); }
1051                                         case -64:
1052                                                 break;
1053                                         case 65:
1054                                                 { return newSymbol(sym.QNAME, yytext()); }
1055                                         case -65:
1056                                                 break;
1057                                         case 66:
1058                                                 { throw new Exception(yytext()); }
1059                                         case -66:
1060                                                 break;
1061                                         case 67:
1062                                                 { return newSymbol(sym.INT, new Long(yytext())); }
1063                                         case -67:
1064                                                 break;
1065                                         case 68:
1066                                                 { return newSymbol(sym.REAL, new Double(yytext())); }
1067                                         case -68:
1068                                                 break;
1069                                         case 70:
1070                                                 { return newSymbol(sym.QNAME, yytext()); }
1071                                         case -69:
1072                                                 break;
1073                                         case 71:
1074                                                 { throw new Exception(yytext()); }
1075                                         case -70:
1076                                                 break;
1077                                         case 73:
1078                                                 { return newSymbol(sym.QNAME, yytext()); }
1079                                         case -71:
1080                                                 break;
1081                                         case 74:
1082                                                 { throw new Exception(yytext()); }
1083                                         case -72:
1084                                                 break;
1085                                         case 76:
1086                                                 { return newSymbol(sym.QNAME, yytext()); }
1087                                         case -73:
1088                                                 break;
1089                                         case 77:
1090                                                 { throw new Exception(yytext()); }
1091                                         case -74:
1092                                                 break;
1093                                         case 79:
1094                                                 { return newSymbol(sym.QNAME, yytext()); }
1095                                         case -75:
1096                                                 break;
1097                                         case 81:
1098                                                 { return newSymbol(sym.QNAME, yytext()); }
1099                                         case -76:
1100                                                 break;
1101                                         case 83:
1102                                                 { return newSymbol(sym.QNAME, yytext()); }
1103                                         case -77:
1104                                                 break;
1105                                         case 85:
1106                                                 { return newSymbol(sym.QNAME, yytext()); }
1107                                         case -78:
1108                                                 break;
1109                                         case 87:
1110                                                 { return newSymbol(sym.QNAME, yytext()); }
1111                                         case -79:
1112                                                 break;
1113                                         case 89:
1114                                                 { return newSymbol(sym.QNAME, yytext()); }
1115                                         case -80:
1116                                                 break;
1117                                         case 91:
1118                                                 { return newSymbol(sym.QNAME, yytext()); }
1119                                         case -81:
1120                                                 break;
1121                                         case 93:
1122                                                 { return newSymbol(sym.QNAME, yytext()); }
1123                                         case -82:
1124                                                 break;
1125                                         case 95:
1126                                                 { return newSymbol(sym.QNAME, yytext()); }
1127                                         case -83:
1128                                                 break;
1129                                         case 97:
1130                                                 { return newSymbol(sym.QNAME, yytext()); }
1131                                         case -84:
1132                                                 break;
1133                                         case 99:
1134                                                 { return newSymbol(sym.QNAME, yytext()); }
1135                                         case -85:
1136                                                 break;
1137                                         case 101:
1138                                                 { return newSymbol(sym.QNAME, yytext()); }
1139                                         case -86:
1140                                                 break;
1141                                         case 103:
1142                                                 { return newSymbol(sym.QNAME, yytext()); }
1143                                         case -87:
1144                                                 break;
1145                                         case 105:
1146                                                 { return newSymbol(sym.QNAME, yytext()); }
1147                                         case -88:
1148                                                 break;
1149                                         case 107:
1150                                                 { return newSymbol(sym.QNAME, yytext()); }
1151                                         case -89:
1152                                                 break;
1153                                         case 109:
1154                                                 { return newSymbol(sym.QNAME, yytext()); }
1155                                         case -90:
1156                                                 break;
1157                                         case 111:
1158                                                 { return newSymbol(sym.QNAME, yytext()); }
1159                                         case -91:
1160                                                 break;
1161                                         case 113:
1162                                                 { return newSymbol(sym.QNAME, yytext()); }
1163                                         case -92:
1164                                                 break;
1165                                         case 115:
1166                                                 { return newSymbol(sym.QNAME, yytext()); }
1167                                         case -93:
1168                                                 break;
1169                                         case 117:
1170                                                 { return newSymbol(sym.QNAME, yytext()); }
1171                                         case -94:
1172                                                 break;
1173                                         case 119:
1174                                                 { return newSymbol(sym.QNAME, yytext()); }
1175                                         case -95:
1176                                                 break;
1177                                         case 121:
1178                                                 { return newSymbol(sym.QNAME, yytext()); }
1179                                         case -96:
1180                                                 break;
1181                                         case 123:
1182                                                 { return newSymbol(sym.QNAME, yytext()); }
1183                                         case -97:
1184                                                 break;
1185                                         case 125:
1186                                                 { return newSymbol(sym.QNAME, yytext()); }
1187                                         case -98:
1188                                                 break;
1189                                         case 127:
1190                                                 { return newSymbol(sym.QNAME, yytext()); }
1191                                         case -99:
1192                                                 break;
1193                                         case 128:
1194                                                 { return newSymbol(sym.QNAME, yytext()); }
1195                                         case -100:
1196                                                 break;
1197                                         case 129:
1198                                                 { return newSymbol(sym.QNAME, yytext()); }
1199                                         case -101:
1200                                                 break;
1201                                         case 130:
1202                                                 { return newSymbol(sym.QNAME, yytext()); }
1203                                         case -102:
1204                                                 break;
1205                                         case 131:
1206                                                 { return newSymbol(sym.QNAME, yytext()); }
1207                                         case -103:
1208                                                 break;
1209                                         case 132:
1210                                                 { return newSymbol(sym.QNAME, yytext()); }
1211                                         case -104:
1212                                                 break;
1213                                         case 133:
1214                                                 { return newSymbol(sym.QNAME, yytext()); }
1215                                         case -105:
1216                                                 break;
1217                                         case 134:
1218                                                 { return newSymbol(sym.QNAME, yytext()); }
1219                                         case -106:
1220                                                 break;
1221                                         case 135:
1222                                                 { return newSymbol(sym.QNAME, yytext()); }
1223                                         case -107:
1224                                                 break;
1225                                         case 136:
1226                                                 { return newSymbol(sym.QNAME, yytext()); }
1227                                         case -108:
1228                                                 break;
1229                                         case 137:
1230                                                 { return newSymbol(sym.QNAME, yytext()); }
1231                                         case -109:
1232                                                 break;
1233                                         case 138:
1234                                                 { return newSymbol(sym.QNAME, yytext()); }
1235                                         case -110:
1236                                                 break;
1237                                         case 139:
1238                                                 { return newSymbol(sym.QNAME, yytext()); }
1239                                         case -111:
1240                                                 break;
1241                                         case 140:
1242                                                 { return newSymbol(sym.QNAME, yytext()); }
1243                                         case -112:
1244                                                 break;
1245                                         case 141:
1246                                                 { return newSymbol(sym.QNAME, yytext()); }
1247                                         case -113:
1248                                                 break;
1249                                         case 142:
1250                                                 { return newSymbol(sym.QNAME, yytext()); }
1251                                         case -114:
1252                                                 break;
1253                                         case 143:
1254                                                 { return newSymbol(sym.QNAME, yytext()); }
1255                                         case -115:
1256                                                 break;
1257                                         case 144:
1258                                                 { return newSymbol(sym.QNAME, yytext()); }
1259                                         case -116:
1260                                                 break;
1261                                         case 145:
1262                                                 { return newSymbol(sym.QNAME, yytext()); }
1263                                         case -117:
1264                                                 break;
1265                                         case 146:
1266                                                 { return newSymbol(sym.QNAME, yytext()); }
1267                                         case -118:
1268                                                 break;
1269                                         case 147:
1270                                                 { return newSymbol(sym.QNAME, yytext()); }
1271                                         case -119:
1272                                                 break;
1273                                         case 148:
1274                                                 { return newSymbol(sym.QNAME, yytext()); }
1275                                         case -120:
1276                                                 break;
1277                                         case 149:
1278                                                 { return newSymbol(sym.QNAME, yytext()); }
1279                                         case -121:
1280                                                 break;
1281                                         case 150:
1282                                                 { return newSymbol(sym.QNAME, yytext()); }
1283                                         case -122:
1284                                                 break;
1285                                         case 151:
1286                                                 { return newSymbol(sym.QNAME, yytext()); }
1287                                         case -123:
1288                                                 break;
1289                                         case 152:
1290                                                 { return newSymbol(sym.QNAME, yytext()); }
1291                                         case -124:
1292                                                 break;
1293                                         case 153:
1294                                                 { return newSymbol(sym.QNAME, yytext()); }
1295                                         case -125:
1296                                                 break;
1297                                         case 154:
1298                                                 { return newSymbol(sym.QNAME, yytext()); }
1299                                         case -126:
1300                                                 break;
1301                                         case 155:
1302                                                 { return newSymbol(sym.QNAME, yytext()); }
1303                                         case -127:
1304                                                 break;
1305                                         case 156:
1306                                                 { return newSymbol(sym.QNAME, yytext()); }
1307                                         case -128:
1308                                                 break;
1309                                         case 157:
1310                                                 { return newSymbol(sym.QNAME, yytext()); }
1311                                         case -129:
1312                                                 break;
1313                                         case 158:
1314                                                 { return newSymbol(sym.QNAME, yytext()); }
1315                                         case -130:
1316                                                 break;
1317                                         case 159:
1318                                                 { return newSymbol(sym.QNAME, yytext()); }
1319                                         case -131:
1320                                                 break;
1321                                         case 160:
1322                                                 { return newSymbol(sym.QNAME, yytext()); }
1323                                         case -132:
1324                                                 break;
1325                                         case 161:
1326                                                 { return newSymbol(sym.QNAME, yytext()); }
1327                                         case -133:
1328                                                 break;
1329                                         case 162:
1330                                                 { return newSymbol(sym.QNAME, yytext()); }
1331                                         case -134:
1332                                                 break;
1333                                         case 163:
1334                                                 { return newSymbol(sym.QNAME, yytext()); }
1335                                         case -135:
1336                                                 break;
1337                                         case 164:
1338                                                 { return newSymbol(sym.QNAME, yytext()); }
1339                                         case -136:
1340                                                 break;
1341                                         case 165:
1342                                                 { return newSymbol(sym.QNAME, yytext()); }
1343                                         case -137:
1344                                                 break;
1345                                         case 166:
1346                                                 { return newSymbol(sym.QNAME, yytext()); }
1347                                         case -138:
1348                                                 break;
1349                                         case 167:
1350                                                 { return newSymbol(sym.QNAME, yytext()); }
1351                                         case -139:
1352                                                 break;
1353                                         case 168:
1354                                                 { return newSymbol(sym.QNAME, yytext()); }
1355                                         case -140:
1356                                                 break;
1357                                         case 169:
1358                                                 { return newSymbol(sym.QNAME, yytext()); }
1359                                         case -141:
1360                                                 break;
1361                                         case 170:
1362                                                 { return newSymbol(sym.QNAME, yytext()); }
1363                                         case -142:
1364                                                 break;
1365                                         case 171:
1366                                                 { return newSymbol(sym.QNAME, yytext()); }
1367                                         case -143:
1368                                                 break;
1369                                         case 172:
1370                                                 { return newSymbol(sym.QNAME, yytext()); }
1371                                         case -144:
1372                                                 break;
1373                                         case 173:
1374                                                 { return newSymbol(sym.QNAME, yytext()); }
1375                                         case -145:
1376                                                 break;
1377                                         case 174:
1378                                                 { return newSymbol(sym.QNAME, yytext()); }
1379                                         case -146:
1380                                                 break;
1381                                         case 175:
1382                                                 { return newSymbol(sym.QNAME, yytext()); }
1383                                         case -147:
1384                                                 break;
1385                                         case 176:
1386                                                 { return newSymbol(sym.QNAME, yytext()); }
1387                                         case -148:
1388                                                 break;
1389                                         case 177:
1390                                                 { return newSymbol(sym.QNAME, yytext()); }
1391                                         case -149:
1392                                                 break;
1393                                         case 178:
1394                                                 { return newSymbol(sym.QNAME, yytext()); }
1395                                         case -150:
1396                                                 break;
1397                                         case 179:
1398                                                 { return newSymbol(sym.QNAME, yytext()); }
1399                                         case -151:
1400                                                 break;
1401                                         case 180:
1402                                                 { return newSymbol(sym.QNAME, yytext()); }
1403                                         case -152:
1404                                                 break;
1405                                         case 181:
1406                                                 { return newSymbol(sym.QNAME, yytext()); }
1407                                         case -153:
1408                                                 break;
1409                                         case 182:
1410                                                 { return newSymbol(sym.QNAME, yytext()); }
1411                                         case -154:
1412                                                 break;
1413                                         case 183:
1414                                                 { return newSymbol(sym.QNAME, yytext()); }
1415                                         case -155:
1416                                                 break;
1417                                         case 184:
1418                                                 { return newSymbol(sym.QNAME, yytext()); }
1419                                         case -156:
1420                                                 break;
1421                                         case 187:
1422                                                 { return newSymbol(sym.QNAME, yytext()); }
1423                                         case -157:
1424                                                 break;
1425                                         case 189:
1426                                                 { return newSymbol(sym.QNAME, yytext()); }
1427                                         case -158:
1428                                                 break;
1429                                         case 191:
1430                                                 { return newSymbol(sym.QNAME, yytext()); }
1431                                         case -159:
1432                                                 break;
1433                                         case 192:
1434                                                 { return newSymbol(sym.QNAME, yytext()); }
1435                                         case -160:
1436                                                 break;
1437                                         case 193:
1438                                                 { return newSymbol(sym.QNAME, yytext()); }
1439                                         case -161:
1440                                                 break;
1441                                         case 194:
1442                                                 { return newSymbol(sym.QNAME, yytext()); }
1443                                         case -162:
1444                                                 break;
1445                                         case 195:
1446                                                 { return newSymbol(sym.QNAME, yytext()); }
1447                                         case -163:
1448                                                 break;
1449                                         case 196:
1450                                                 { return newSymbol(sym.QNAME, yytext()); }
1451                                         case -164:
1452                                                 break;
1453                                         case 197:
1454                                                 { return newSymbol(sym.QNAME, yytext()); }
1455                                         case -165:
1456                                                 break;
1457                                         case 198:
1458                                                 { return newSymbol(sym.QNAME, yytext()); }
1459                                         case -166:
1460                                                 break;
1461                                         case 199:
1462                                                 { return newSymbol(sym.QNAME, yytext()); }
1463                                         case -167:
1464                                                 break;
1465                                         case 200:
1466                                                 { return newSymbol(sym.QNAME, yytext()); }
1467                                         case -168:
1468                                                 break;
1469                                         case 201:
1470                                                 { return newSymbol(sym.QNAME, yytext()); }
1471                                         case -169:
1472                                                 break;
1473                                         case 202:
1474                                                 { return newSymbol(sym.QNAME, yytext()); }
1475                                         case -170:
1476                                                 break;
1477                                         case 203:
1478                                                 { return newSymbol(sym.QNAME, yytext()); }
1479                                         case -171:
1480                                                 break;
1481                                         case 204:
1482                                                 { return newSymbol(sym.QNAME, yytext()); }
1483                                         case -172:
1484                                                 break;
1485                                         case 205:
1486                                                 { return newSymbol(sym.QNAME, yytext()); }
1487                                         case -173:
1488                                                 break;
1489                                         case 206:
1490                                                 { return newSymbol(sym.QNAME, yytext()); }
1491                                         case -174:
1492                                                 break;
1493                                         case 207:
1494                                                 { return newSymbol(sym.QNAME, yytext()); }
1495                                         case -175:
1496                                                 break;
1497                                         case 208:
1498                                                 { return newSymbol(sym.QNAME, yytext()); }
1499                                         case -176:
1500                                                 break;
1501                                         case 209:
1502                                                 { return newSymbol(sym.QNAME, yytext()); }
1503                                         case -177:
1504                                                 break;
1505                                         case 210:
1506                                                 { return newSymbol(sym.QNAME, yytext()); }
1507                                         case -178:
1508                                                 break;
1509                                         case 211:
1510                                                 { return newSymbol(sym.QNAME, yytext()); }
1511                                         case -179:
1512                                                 break;
1513                                         case 212:
1514                                                 { return newSymbol(sym.QNAME, yytext()); }
1515                                         case -180:
1516                                                 break;
1517                                         case 213:
1518                                                 { return newSymbol(sym.QNAME, yytext()); }
1519                                         case -181:
1520                                                 break;
1521                                         case 214:
1522                                                 { return newSymbol(sym.QNAME, yytext()); }
1523                                         case -182:
1524                                                 break;
1525                                         case 215:
1526                                                 { return newSymbol(sym.QNAME, yytext()); }
1527                                         case -183:
1528                                                 break;
1529                                         case 216:
1530                                                 { return newSymbol(sym.QNAME, yytext()); }
1531                                         case -184:
1532                                                 break;
1533                                         case 217:
1534                                                 { return newSymbol(sym.QNAME, yytext()); }
1535                                         case -185:
1536                                                 break;
1537                                         case 218:
1538                                                 { return newSymbol(sym.QNAME, yytext()); }
1539                                         case -186:
1540                                                 break;
1541                                         case 219:
1542                                                 { return newSymbol(sym.QNAME, yytext()); }
1543                                         case -187:
1544                                                 break;
1545                                         case 220:
1546                                                 { return newSymbol(sym.QNAME, yytext()); }
1547                                         case -188:
1548                                                 break;
1549                                         case 221:
1550                                                 { return newSymbol(sym.QNAME, yytext()); }
1551                                         case -189:
1552                                                 break;
1553                                         case 222:
1554                                                 { return newSymbol(sym.QNAME, yytext()); }
1555                                         case -190:
1556                                                 break;
1557                                         case 223:
1558                                                 { return newSymbol(sym.QNAME, yytext()); }
1559                                         case -191:
1560                                                 break;
1561                                         case 224:
1562                                                 { return newSymbol(sym.QNAME, yytext()); }
1563                                         case -192:
1564                                                 break;
1565                                         case 225:
1566                                                 { return newSymbol(sym.QNAME, yytext()); }
1567                                         case -193:
1568                                                 break;
1569                                         case 226:
1570                                                 { return newSymbol(sym.QNAME, yytext()); }
1571                                         case -194:
1572                                                 break;
1573                                         case 227:
1574                                                 { return newSymbol(sym.QNAME, yytext()); }
1575                                         case -195:
1576                                                 break;
1577                                         case 228:
1578                                                 { return newSymbol(sym.QNAME, yytext()); }
1579                                         case -196:
1580                                                 break;
1581                                         case 229:
1582                                                 { return newSymbol(sym.QNAME, yytext()); }
1583                                         case -197:
1584                                                 break;
1585                                         case 230:
1586                                                 { return newSymbol(sym.QNAME, yytext()); }
1587                                         case -198:
1588                                                 break;
1589                                         case 231:
1590                                                 { return newSymbol(sym.QNAME, yytext()); }
1591                                         case -199:
1592                                                 break;
1593                                         case 232:
1594                                                 { return newSymbol(sym.QNAME, yytext()); }
1595                                         case -200:
1596                                                 break;
1597                                         case 233:
1598                                                 { return newSymbol(sym.QNAME, yytext()); }
1599                                         case -201:
1600                                                 break;
1601                                         default:
1602                                                 yy_error(YY_E_INTERNAL,false);
1603                                         case -1:
1604                                         }
1605                                         yy_initial = true;
1606                                         yy_state = yy_state_dtrans[yy_lexical_state];
1607                                         yy_next_state = YY_NO_STATE;
1608                                         yy_last_accept_state = YY_NO_STATE;
1609                                         yy_mark_start();
1610                                         yy_this_accept = yy_acpt[yy_state];
1611                                         if (YY_NOT_ACCEPT != yy_this_accept) {
1612                                                 yy_last_accept_state = yy_state;
1613                                                 yy_mark_end();
1614                                         }
1615                                 }
1616                         }
1617                 }
1618         }
1619 }