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;
  46         void initialize() {
  47             last = beforeLast = -1;
  48         }
  49         static boolean isWhitespace(int c) {
  50             return (c == ' ' || c == '\t' || c == '\r' || c == '\n'  || c == '\f');
  51         }
  52         /**
  53          * If symbol is not followed by '::' or '(', then treat it as a
  54          * name instead of an axis or function (Jira-1912).
  55          */
  56         Symbol disambiguateAxisOrFunction(int ss) throws Exception {
  57             // Peek in the input buffer without changing the internal state
  58             int index = yy_buffer_index;
  59             // Skip whitespace
  60             while (index < yy_buffer_read && isWhitespace(yy_buffer[index])) {
  61                 index++;
  62             }
  63             // If end of buffer, can't disambiguate :(
  64             if (index >= yy_buffer_read) {
  65                 // Can't disambiguate, so return as symbol
  66                 return new Symbol(ss);
  67             }
  68             // Return symbol if next token is '::' or '('
  69             return (yy_buffer[index] == ':' && yy_buffer[index+1] == ':' ||
  70                     yy_buffer[index] == '(') ?
  71                     newSymbol(ss) : newSymbol(sym.QNAME, yytext());
  72         }
  73         /**
  74          * If symbol is first token or if it follows any of the operators
  75          * listed in http://www.w3.org/TR/xpath#exprlex then treat as a
  76          * name instead of a keyword (Jira-1912). Look two tokens behind
  77          * to desambiguate expressions like "* and *" or "and * and".
  78          */
  79         @SuppressWarnings("fallthrough")
  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         }
 109         Symbol newSymbol(int ss) {
 110             beforeLast = last;
 111             last = ss;
 112             return new Symbol(ss);
 113         }
 114         Symbol newSymbol(int ss, String value) {
 115             beforeLast = last;
 116             last = ss;
 117             return new Symbol(ss, value);
 118         }
 119         Symbol newSymbol(int ss, Long value) {
 120             beforeLast = last;
 121             last = ss;
 122             return new Symbol(ss, value);
 123         }
 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 
 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 
 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 
 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         };
 169         private void yybegin (int state) {
 170                 yy_lexical_state = state;
 171         }
 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         }
 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;
 226         private void yy_mark_start () {
 227                 yy_buffer_start = yy_buffer_index;
 228         }
 229         private void yy_mark_end () {
 230                 yy_buffer_end = yy_buffer_index;
 231         }
 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         }
 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         }
 245         private int yylength () {
 246                 return yy_buffer_end - yy_buffer_start;
 247         }
 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         };
 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         }
 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
 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 }