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