001// $ANTLR 2.7.7 (20060906): "ACIItemChecker.g" -> "AntlrACIItemCheckerLexer.java"$ 002 003/* 004 * Licensed to the Apache Software Foundation (ASF) under one 005 * or more contributor license agreements. See the NOTICE file 006 * distributed with this work for additional information 007 * regarding copyright ownership. The ASF licenses this file 008 * to you under the Apache License, Version 2.0 (the 009 * "License"); you may not use this file except in compliance 010 * with the License. You may obtain a copy of the License at 011 * 012 * http://www.apache.org/licenses/LICENSE-2.0 013 * 014 * Unless required by applicable law or agreed to in writing, 015 * software distributed under the License is distributed on an 016 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 017 * KIND, either express or implied. See the License for the 018 * specific language governing permissions and limitations 019 * under the License. 020 * 021 */ 022 023 024package org.apache.directory.api.ldap.aci; 025 026 027import org.apache.directory.api.ldap.model.schema.normalizers.NameComponentNormalizer; 028 029import java.io.InputStream; 030import antlr.TokenStreamException; 031import antlr.TokenStreamIOException; 032import antlr.TokenStreamRecognitionException; 033import antlr.CharStreamException; 034import antlr.CharStreamIOException; 035import antlr.ANTLRException; 036import java.io.Reader; 037import java.util.Hashtable; 038import antlr.CharScanner; 039import antlr.InputBuffer; 040import antlr.ByteBuffer; 041import antlr.CharBuffer; 042import antlr.Token; 043import antlr.CommonToken; 044import antlr.RecognitionException; 045import antlr.NoViableAltForCharException; 046import antlr.MismatchedCharException; 047import antlr.TokenStream; 048import antlr.ANTLRHashString; 049import antlr.LexerSharedInputState; 050import antlr.collections.impl.BitSet; 051import antlr.SemanticException; 052 053/** 054 * The parser's primary lexer. 055 * 056 * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a> 057 */ 058public class AntlrACIItemCheckerLexer extends antlr.CharScanner implements AntlrACIItemCheckerTokenTypes, TokenStream 059 { 060public AntlrACIItemCheckerLexer(InputStream in) { 061 this(new ByteBuffer(in)); 062} 063public AntlrACIItemCheckerLexer(Reader in) { 064 this(new CharBuffer(in)); 065} 066public AntlrACIItemCheckerLexer(InputBuffer ib) { 067 this(new LexerSharedInputState(ib)); 068} 069public AntlrACIItemCheckerLexer(LexerSharedInputState state) { 070 super(state); 071 caseSensitiveLiterals = true; 072 setCaseSensitive(true); 073 literals = new Hashtable(); 074 literals.put(new ANTLRHashString("type", this), new Integer(30)); 075 literals.put(new ANTLRHashString("strong", this), new Integer(17)); 076 literals.put(new ANTLRHashString("name", this), new Integer(68)); 077 literals.put(new ANTLRHashString("specificExclusions", this), new Integer(73)); 078 literals.put(new ANTLRHashString("denyBrowse", this), new Integer(47)); 079 literals.put(new ANTLRHashString("denyModify", this), new Integer(53)); 080 literals.put(new ANTLRHashString("denyCompare", this), new Integer(59)); 081 literals.put(new ANTLRHashString("classes", this), new Integer(35)); 082 literals.put(new ANTLRHashString("denyAdd", this), new Integer(39)); 083 literals.put(new ANTLRHashString("maximum", this), new Integer(77)); 084 literals.put(new ANTLRHashString("grantInvoke", this), new Integer(62)); 085 literals.put(new ANTLRHashString("denyDiscloseOnError", this), new Integer(41)); 086 literals.put(new ANTLRHashString("rangeOfValues", this), new Integer(90)); 087 literals.put(new ANTLRHashString("maxCount", this), new Integer(31)); 088 literals.put(new ANTLRHashString("userClasses", this), new Integer(64)); 089 literals.put(new ANTLRHashString("denyInvoke", this), new Integer(63)); 090 literals.put(new ANTLRHashString("and", this), new Integer(81)); 091 literals.put(new ANTLRHashString("denyRead", this), new Integer(43)); 092 literals.put(new ANTLRHashString("not", this), new Integer(83)); 093 literals.put(new ANTLRHashString("grantReturnDN", this), new Integer(56)); 094 literals.put(new ANTLRHashString("maxImmSub", this), new Integer(32)); 095 literals.put(new ANTLRHashString("grantCompare", this), new Integer(58)); 096 literals.put(new ANTLRHashString("parentOfEntry", this), new Integer(67)); 097 literals.put(new ANTLRHashString("precedence", this), new Integer(12)); 098 literals.put(new ANTLRHashString("base", this), new Integer(72)); 099 literals.put(new ANTLRHashString("minimum", this), new Integer(76)); 100 literals.put(new ANTLRHashString("grantsAndDenials", this), new Integer(37)); 101 literals.put(new ANTLRHashString("itemOrUserFirst", this), new Integer(18)); 102 literals.put(new ANTLRHashString("entry", this), new Integer(23)); 103 literals.put(new ANTLRHashString("FALSE", this), new Integer(84)); 104 literals.put(new ANTLRHashString("selfValue", this), new Integer(28)); 105 literals.put(new ANTLRHashString("specificationFilter", this), new Integer(91)); 106 literals.put(new ANTLRHashString("itemPermissions", this), new Integer(36)); 107 literals.put(new ANTLRHashString("grantRemove", this), new Integer(44)); 108 literals.put(new ANTLRHashString("or", this), new Integer(82)); 109 literals.put(new ANTLRHashString("allAttributeValues", this), new Integer(26)); 110 literals.put(new ANTLRHashString("none", this), new Integer(15)); 111 literals.put(new ANTLRHashString("attributeType", this), new Integer(25)); 112 literals.put(new ANTLRHashString("chopAfter", this), new Integer(75)); 113 literals.put(new ANTLRHashString("subtree", this), new Integer(70)); 114 literals.put(new ANTLRHashString("denyRemove", this), new Integer(45)); 115 literals.put(new ANTLRHashString("userFirst", this), new Integer(21)); 116 literals.put(new ANTLRHashString("grantAdd", this), new Integer(38)); 117 literals.put(new ANTLRHashString("grantFilterMatch", this), new Integer(60)); 118 literals.put(new ANTLRHashString("allUserAttributeTypesAndValues", this), new Integer(27)); 119 literals.put(new ANTLRHashString("maxValueCount", this), new Integer(29)); 120 literals.put(new ANTLRHashString("grantExport", this), new Integer(48)); 121 literals.put(new ANTLRHashString("basicLevels", this), new Integer(87)); 122 literals.put(new ANTLRHashString("denyFilterMatch", this), new Integer(61)); 123 literals.put(new ANTLRHashString("protectedItems", this), new Integer(22)); 124 literals.put(new ANTLRHashString("identificationTag", this), new Integer(10)); 125 literals.put(new ANTLRHashString("grantRename", this), new Integer(54)); 126 literals.put(new ANTLRHashString("grantImport", this), new Integer(50)); 127 literals.put(new ANTLRHashString("localQualifier", this), new Integer(88)); 128 literals.put(new ANTLRHashString("userPermissions", this), new Integer(71)); 129 literals.put(new ANTLRHashString("grantRead", this), new Integer(42)); 130 literals.put(new ANTLRHashString("denyExport", this), new Integer(49)); 131 literals.put(new ANTLRHashString("denyRename", this), new Integer(55)); 132 literals.put(new ANTLRHashString("itemFirst", this), new Integer(19)); 133 literals.put(new ANTLRHashString("denyImport", this), new Integer(51)); 134 literals.put(new ANTLRHashString("restrictedBy", this), new Integer(33)); 135 literals.put(new ANTLRHashString("chopBefore", this), new Integer(74)); 136 literals.put(new ANTLRHashString("signed", this), new Integer(89)); 137 literals.put(new ANTLRHashString("grantDiscloseOnError", this), new Integer(40)); 138 literals.put(new ANTLRHashString("level", this), new Integer(86)); 139 literals.put(new ANTLRHashString("allUserAttributeTypes", this), new Integer(24)); 140 literals.put(new ANTLRHashString("TRUE", this), new Integer(85)); 141 literals.put(new ANTLRHashString("authenticationLevel", this), new Integer(14)); 142 literals.put(new ANTLRHashString("denyReturnDN", this), new Integer(57)); 143 literals.put(new ANTLRHashString("grantBrowse", this), new Integer(46)); 144 literals.put(new ANTLRHashString("thisEntry", this), new Integer(66)); 145 literals.put(new ANTLRHashString("grantModify", this), new Integer(52)); 146 literals.put(new ANTLRHashString("allUsers", this), new Integer(65)); 147 literals.put(new ANTLRHashString("item", this), new Integer(80)); 148 literals.put(new ANTLRHashString("userGroup", this), new Integer(69)); 149 literals.put(new ANTLRHashString("simple", this), new Integer(16)); 150 literals.put(new ANTLRHashString("valuesIn", this), new Integer(34)); 151} 152 153public Token nextToken() throws TokenStreamException { 154 Token theRetToken=null; 155tryAgain: 156 for (;;) { 157 Token _token = null; 158 int _ttype = Token.INVALID_TYPE; 159 resetText(); 160 try { // for char stream error handling 161 try { // for lexical error handling 162 switch ( LA(1)) { 163 case '{': 164 { 165 mOPEN_CURLY(true); 166 theRetToken=_returnToken; 167 break; 168 } 169 case '}': 170 { 171 mCLOSE_CURLY(true); 172 theRetToken=_returnToken; 173 break; 174 } 175 case ',': 176 { 177 mSEP(true); 178 theRetToken=_returnToken; 179 break; 180 } 181 case '\t': case '\n': case '\r': case ' ': 182 { 183 mSP(true); 184 theRetToken=_returnToken; 185 break; 186 } 187 case ':': 188 { 189 mCOLON(true); 190 theRetToken=_returnToken; 191 break; 192 } 193 case '0': case '1': case '2': case '3': 194 case '4': case '5': case '6': case '7': 195 case '8': case '9': 196 { 197 mINTEGER_OR_NUMERICOID(true); 198 theRetToken=_returnToken; 199 break; 200 } 201 case '"': 202 { 203 mSAFEUTF8STRING(true); 204 theRetToken=_returnToken; 205 break; 206 } 207 case 'A': case 'B': case 'C': case 'D': 208 case 'E': case 'F': case 'G': case 'H': 209 case 'I': case 'J': case 'K': case 'L': 210 case 'M': case 'N': case 'O': case 'P': 211 case 'Q': case 'R': case 'S': case 'T': 212 case 'U': case 'V': case 'W': case 'X': 213 case 'Y': case 'Z': case 'a': case 'b': 214 case 'c': case 'd': case 'e': case 'f': 215 case 'g': case 'h': case 'i': case 'j': 216 case 'k': case 'l': case 'm': case 'n': 217 case 'o': case 'p': case 'q': case 'r': 218 case 's': case 't': case 'u': case 'v': 219 case 'w': case 'x': case 'y': case 'z': 220 { 221 mDESCR(true); 222 theRetToken=_returnToken; 223 break; 224 } 225 default: 226 { 227 if (LA(1)==EOF_CHAR) {uponEOF(); _returnToken = makeToken(Token.EOF_TYPE);} 228 else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} 229 } 230 } 231 if ( _returnToken==null ) continue tryAgain; // found SKIP token 232 _ttype = _returnToken.getType(); 233 _ttype = testLiteralsTable(_ttype); 234 _returnToken.setType(_ttype); 235 return _returnToken; 236 } 237 catch (RecognitionException e) { 238 throw new TokenStreamRecognitionException(e); 239 } 240 } 241 catch (CharStreamException cse) { 242 if ( cse instanceof CharStreamIOException ) { 243 throw new TokenStreamIOException(((CharStreamIOException)cse).io); 244 } 245 else { 246 throw new TokenStreamException(cse.getMessage()); 247 } 248 } 249 } 250} 251 252 protected final void mSAFEUTF8CHAR(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { 253 int _ttype; Token _token=null; int _begin=text.length(); 254 _ttype = SAFEUTF8CHAR; 255 int _saveIndex; 256 257 switch ( LA(1)) { 258 case '\u0001': case '\u0002': case '\u0003': case '\u0004': 259 case '\u0005': case '\u0006': case '\u0007': case '\u0008': 260 case '\t': case '\n': case '\u000b': case '\u000c': 261 case '\r': case '\u000e': case '\u000f': case '\u0010': 262 case '\u0011': case '\u0012': case '\u0013': case '\u0014': 263 case '\u0015': case '\u0016': case '\u0017': case '\u0018': 264 case '\u0019': case '\u001a': case '\u001b': case '\u001c': 265 case '\u001d': case '\u001e': case '\u001f': case ' ': 266 case '!': 267 { 268 matchRange('\u0001','\u0021'); 269 break; 270 } 271 case '#': case '$': case '%': case '&': 272 case '\'': case '(': case ')': case '*': 273 case '+': case ',': case '-': case '.': 274 case '/': case '0': case '1': case '2': 275 case '3': case '4': case '5': case '6': 276 case '7': case '8': case '9': case ':': 277 case ';': case '<': case '=': case '>': 278 case '?': case '@': case 'A': case 'B': 279 case 'C': case 'D': case 'E': case 'F': 280 case 'G': case 'H': case 'I': case 'J': 281 case 'K': case 'L': case 'M': case 'N': 282 case 'O': case 'P': case 'Q': case 'R': 283 case 'S': case 'T': case 'U': case 'V': 284 case 'W': case 'X': case 'Y': case 'Z': 285 case '[': case '\\': case ']': case '^': 286 case '_': case '`': case 'a': case 'b': 287 case 'c': case 'd': case 'e': case 'f': 288 case 'g': case 'h': case 'i': case 'j': 289 case 'k': case 'l': case 'm': case 'n': 290 case 'o': case 'p': case 'q': case 'r': 291 case 's': case 't': case 'u': case 'v': 292 case 'w': case 'x': case 'y': case 'z': 293 case '{': case '|': case '}': case '~': 294 case '\u007f': 295 { 296 matchRange('\u0023','\u007F'); 297 break; 298 } 299 case '\u00c0': case '\u00c1': case '\u00c2': case '\u00c3': 300 case '\u00c4': case '\u00c5': case '\u00c6': case '\u00c7': 301 case '\u00c8': case '\u00c9': case '\u00ca': case '\u00cb': 302 case '\u00cc': case '\u00cd': case '\u00ce': case '\u00cf': 303 case '\u00d0': case '\u00d1': case '\u00d2': case '\u00d3': 304 case '\u00d4': case '\u00d5': case '\u00d6': 305 { 306 matchRange('\u00c0','\u00d6'); 307 break; 308 } 309 case '\u00d8': case '\u00d9': case '\u00da': case '\u00db': 310 case '\u00dc': case '\u00dd': case '\u00de': case '\u00df': 311 case '\u00e0': case '\u00e1': case '\u00e2': case '\u00e3': 312 case '\u00e4': case '\u00e5': case '\u00e6': case '\u00e7': 313 case '\u00e8': case '\u00e9': case '\u00ea': case '\u00eb': 314 case '\u00ec': case '\u00ed': case '\u00ee': case '\u00ef': 315 case '\u00f0': case '\u00f1': case '\u00f2': case '\u00f3': 316 case '\u00f4': case '\u00f5': case '\u00f6': 317 { 318 matchRange('\u00d8','\u00f6'); 319 break; 320 } 321 case '\u00f8': case '\u00f9': case '\u00fa': case '\u00fb': 322 case '\u00fc': case '\u00fd': case '\u00fe': case '\u00ff': 323 { 324 matchRange('\u00f8','\u00ff'); 325 break; 326 } 327 default: 328 if (((LA(1) >= '\u0100' && LA(1) <= '\u1fff'))) { 329 matchRange('\u0100','\u1fff'); 330 } 331 else if (((LA(1) >= '\u3040' && LA(1) <= '\u318f'))) { 332 matchRange('\u3040','\u318f'); 333 } 334 else if (((LA(1) >= '\u3300' && LA(1) <= '\u337f'))) { 335 matchRange('\u3300','\u337f'); 336 } 337 else if (((LA(1) >= '\u3400' && LA(1) <= '\u3d2d'))) { 338 matchRange('\u3400','\u3d2d'); 339 } 340 else if (((LA(1) >= '\u4e00' && LA(1) <= '\u9fff'))) { 341 matchRange('\u4e00','\u9fff'); 342 } 343 else if (((LA(1) >= '\uf900' && LA(1) <= '\ufaff'))) { 344 matchRange('\uf900','\ufaff'); 345 } 346 else { 347 throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); 348 } 349 } 350 if ( _createToken && _token==null && _ttype!=Token.SKIP ) { 351 _token = makeToken(_ttype); 352 _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); 353 } 354 _returnToken = _token; 355 } 356 357 public final void mOPEN_CURLY(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { 358 int _ttype; Token _token=null; int _begin=text.length(); 359 _ttype = OPEN_CURLY; 360 int _saveIndex; 361 362 match('{'); 363 if ( _createToken && _token==null && _ttype!=Token.SKIP ) { 364 _token = makeToken(_ttype); 365 _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); 366 } 367 _returnToken = _token; 368 } 369 370 public final void mCLOSE_CURLY(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { 371 int _ttype; Token _token=null; int _begin=text.length(); 372 _ttype = CLOSE_CURLY; 373 int _saveIndex; 374 375 match('}'); 376 if ( _createToken && _token==null && _ttype!=Token.SKIP ) { 377 _token = makeToken(_ttype); 378 _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); 379 } 380 _returnToken = _token; 381 } 382 383 public final void mSEP(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { 384 int _ttype; Token _token=null; int _begin=text.length(); 385 _ttype = SEP; 386 int _saveIndex; 387 388 match(','); 389 if ( _createToken && _token==null && _ttype!=Token.SKIP ) { 390 _token = makeToken(_ttype); 391 _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); 392 } 393 _returnToken = _token; 394 } 395 396 public final void mSP(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { 397 int _ttype; Token _token=null; int _begin=text.length(); 398 _ttype = SP; 399 int _saveIndex; 400 401 switch ( LA(1)) { 402 case ' ': 403 { 404 match(' '); 405 break; 406 } 407 case '\t': 408 { 409 match('\t'); 410 break; 411 } 412 case '\n': 413 { 414 match('\n'); 415 if ( inputState.guessing==0 ) { 416 newline(); 417 } 418 break; 419 } 420 case '\r': 421 { 422 match('\r'); 423 break; 424 } 425 default: 426 { 427 throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); 428 } 429 } 430 if ( _createToken && _token==null && _ttype!=Token.SKIP ) { 431 _token = makeToken(_ttype); 432 _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); 433 } 434 _returnToken = _token; 435 } 436 437 public final void mCOLON(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { 438 int _ttype; Token _token=null; int _begin=text.length(); 439 _ttype = COLON; 440 int _saveIndex; 441 442 match(':'); 443 if ( _createToken && _token==null && _ttype!=Token.SKIP ) { 444 _token = makeToken(_ttype); 445 _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); 446 } 447 _returnToken = _token; 448 } 449 450 protected final void mDIGIT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { 451 int _ttype; Token _token=null; int _begin=text.length(); 452 _ttype = DIGIT; 453 int _saveIndex; 454 455 switch ( LA(1)) { 456 case '0': 457 { 458 match('0'); 459 break; 460 } 461 case '1': case '2': case '3': case '4': 462 case '5': case '6': case '7': case '8': 463 case '9': 464 { 465 mLDIGIT(false); 466 break; 467 } 468 default: 469 { 470 throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); 471 } 472 } 473 if ( _createToken && _token==null && _ttype!=Token.SKIP ) { 474 _token = makeToken(_ttype); 475 _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); 476 } 477 _returnToken = _token; 478 } 479 480 protected final void mLDIGIT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { 481 int _ttype; Token _token=null; int _begin=text.length(); 482 _ttype = LDIGIT; 483 int _saveIndex; 484 485 matchRange('1','9'); 486 if ( _createToken && _token==null && _ttype!=Token.SKIP ) { 487 _token = makeToken(_ttype); 488 _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); 489 } 490 _returnToken = _token; 491 } 492 493 protected final void mALPHA(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { 494 int _ttype; Token _token=null; int _begin=text.length(); 495 _ttype = ALPHA; 496 int _saveIndex; 497 498 switch ( LA(1)) { 499 case 'A': case 'B': case 'C': case 'D': 500 case 'E': case 'F': case 'G': case 'H': 501 case 'I': case 'J': case 'K': case 'L': 502 case 'M': case 'N': case 'O': case 'P': 503 case 'Q': case 'R': case 'S': case 'T': 504 case 'U': case 'V': case 'W': case 'X': 505 case 'Y': case 'Z': 506 { 507 matchRange('A','Z'); 508 break; 509 } 510 case 'a': case 'b': case 'c': case 'd': 511 case 'e': case 'f': case 'g': case 'h': 512 case 'i': case 'j': case 'k': case 'l': 513 case 'm': case 'n': case 'o': case 'p': 514 case 'q': case 'r': case 's': case 't': 515 case 'u': case 'v': case 'w': case 'x': 516 case 'y': case 'z': 517 { 518 matchRange('a','z'); 519 break; 520 } 521 default: 522 { 523 throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); 524 } 525 } 526 if ( _createToken && _token==null && _ttype!=Token.SKIP ) { 527 _token = makeToken(_ttype); 528 _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); 529 } 530 _returnToken = _token; 531 } 532 533 protected final void mINTEGER(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { 534 int _ttype; Token _token=null; int _begin=text.length(); 535 _ttype = INTEGER; 536 int _saveIndex; 537 538 if (((LA(1) >= '1' && LA(1) <= '9')) && ((LA(2) >= '0' && LA(2) <= '9'))) { 539 { 540 mLDIGIT(false); 541 { 542 int _cnt406=0; 543 _loop406: 544 do { 545 if (((LA(1) >= '0' && LA(1) <= '9'))) { 546 mDIGIT(false); 547 } 548 else { 549 if ( _cnt406>=1 ) { break _loop406; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} 550 } 551 552 _cnt406++; 553 } while (true); 554 } 555 } 556 } 557 else if (((LA(1) >= '0' && LA(1) <= '9')) && (true)) { 558 mDIGIT(false); 559 } 560 else { 561 throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); 562 } 563 564 if ( _createToken && _token==null && _ttype!=Token.SKIP ) { 565 _token = makeToken(_ttype); 566 _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); 567 } 568 _returnToken = _token; 569 } 570 571 protected final void mHYPHEN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { 572 int _ttype; Token _token=null; int _begin=text.length(); 573 _ttype = HYPHEN; 574 int _saveIndex; 575 576 match('-'); 577 if ( _createToken && _token==null && _ttype!=Token.SKIP ) { 578 _token = makeToken(_ttype); 579 _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); 580 } 581 _returnToken = _token; 582 } 583 584 protected final void mNUMERICOID(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { 585 int _ttype; Token _token=null; int _begin=text.length(); 586 _ttype = NUMERICOID; 587 int _saveIndex; 588 589 mINTEGER(false); 590 { 591 int _cnt410=0; 592 _loop410: 593 do { 594 if ((LA(1)=='.')) { 595 mDOT(false); 596 mINTEGER(false); 597 } 598 else { 599 if ( _cnt410>=1 ) { break _loop410; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} 600 } 601 602 _cnt410++; 603 } while (true); 604 } 605 if ( _createToken && _token==null && _ttype!=Token.SKIP ) { 606 _token = makeToken(_ttype); 607 _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); 608 } 609 _returnToken = _token; 610 } 611 612 protected final void mDOT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { 613 int _ttype; Token _token=null; int _begin=text.length(); 614 _ttype = DOT; 615 int _saveIndex; 616 617 match('.'); 618 if ( _createToken && _token==null && _ttype!=Token.SKIP ) { 619 _token = makeToken(_ttype); 620 _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); 621 } 622 _returnToken = _token; 623 } 624 625 public final void mINTEGER_OR_NUMERICOID(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { 626 int _ttype; Token _token=null; int _begin=text.length(); 627 _ttype = INTEGER_OR_NUMERICOID; 628 int _saveIndex; 629 630 boolean synPredMatched414 = false; 631 if ((((LA(1) >= '0' && LA(1) <= '9')) && (_tokenSet_0.member(LA(2))))) { 632 int _m414 = mark(); 633 synPredMatched414 = true; 634 inputState.guessing++; 635 try { 636 { 637 mINTEGER(false); 638 mDOT(false); 639 } 640 } 641 catch (RecognitionException pe) { 642 synPredMatched414 = false; 643 } 644 rewind(_m414); 645inputState.guessing--; 646 } 647 if ( synPredMatched414 ) { 648 mNUMERICOID(false); 649 if ( inputState.guessing==0 ) { 650 651 _ttype = NUMERICOID; 652 653 } 654 } 655 else if (((LA(1) >= '0' && LA(1) <= '9')) && (true)) { 656 mINTEGER(false); 657 if ( inputState.guessing==0 ) { 658 659 _ttype = INTEGER; 660 661 } 662 } 663 else { 664 throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); 665 } 666 667 if ( _createToken && _token==null && _ttype!=Token.SKIP ) { 668 _token = makeToken(_ttype); 669 _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); 670 } 671 _returnToken = _token; 672 } 673 674 public final void mSAFEUTF8STRING(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { 675 int _ttype; Token _token=null; int _begin=text.length(); 676 _ttype = SAFEUTF8STRING; 677 int _saveIndex; 678 679 _saveIndex=text.length(); 680 match('"'); 681 text.setLength(_saveIndex); 682 { 683 _loop417: 684 do { 685 if ((_tokenSet_1.member(LA(1)))) { 686 mSAFEUTF8CHAR(false); 687 } 688 else { 689 break _loop417; 690 } 691 692 } while (true); 693 } 694 _saveIndex=text.length(); 695 match('"'); 696 text.setLength(_saveIndex); 697 if ( _createToken && _token==null && _ttype!=Token.SKIP ) { 698 _token = makeToken(_ttype); 699 _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); 700 } 701 _returnToken = _token; 702 } 703 704 public final void mDESCR(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { 705 int _ttype; Token _token=null; int _begin=text.length(); 706 _ttype = DESCR; 707 int _saveIndex; 708 709 boolean synPredMatched422 = false; 710 if (((LA(1)=='a') && (LA(2)=='t'))) { 711 int _m422 = mark(); 712 synPredMatched422 = true; 713 inputState.guessing++; 714 try { 715 { 716 match("attributeValue"); 717 { 718 int _cnt421=0; 719 _loop421: 720 do { 721 if ((_tokenSet_2.member(LA(1)))) { 722 _saveIndex=text.length(); 723 mSP(false); 724 text.setLength(_saveIndex); 725 } 726 else { 727 if ( _cnt421>=1 ) { break _loop421; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} 728 } 729 730 _cnt421++; 731 } while (true); 732 } 733 match('{'); 734 } 735 } 736 catch (RecognitionException pe) { 737 synPredMatched422 = false; 738 } 739 rewind(_m422); 740inputState.guessing--; 741 } 742 if ( synPredMatched422 ) { 743 _saveIndex=text.length(); 744 match("attributeValue"); 745 text.setLength(_saveIndex); 746 { 747 int _cnt424=0; 748 _loop424: 749 do { 750 if ((_tokenSet_2.member(LA(1)))) { 751 _saveIndex=text.length(); 752 mSP(false); 753 text.setLength(_saveIndex); 754 } 755 else { 756 if ( _cnt424>=1 ) { break _loop424; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} 757 } 758 759 _cnt424++; 760 } while (true); 761 } 762 _saveIndex=text.length(); 763 match('{'); 764 text.setLength(_saveIndex); 765 { 766 _loop426: 767 do { 768 // nongreedy exit test 769 if ((LA(1)=='}') && (true)) break _loop426; 770 if ((_tokenSet_3.member(LA(1))) && (_tokenSet_3.member(LA(2)))) { 771 matchNot(EOF_CHAR); 772 } 773 else { 774 break _loop426; 775 } 776 777 } while (true); 778 } 779 _saveIndex=text.length(); 780 match('}'); 781 text.setLength(_saveIndex); 782 if ( inputState.guessing==0 ) { 783 _ttype = ATTRIBUTE_VALUE_CANDIDATE; 784 } 785 } 786 else { 787 boolean synPredMatched430 = false; 788 if (((LA(1)=='r') && (LA(2)=='a'))) { 789 int _m430 = mark(); 790 synPredMatched430 = true; 791 inputState.guessing++; 792 try { 793 { 794 match("rangeOfValues"); 795 { 796 int _cnt429=0; 797 _loop429: 798 do { 799 if ((_tokenSet_2.member(LA(1)))) { 800 _saveIndex=text.length(); 801 mSP(false); 802 text.setLength(_saveIndex); 803 } 804 else { 805 if ( _cnt429>=1 ) { break _loop429; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} 806 } 807 808 _cnt429++; 809 } while (true); 810 } 811 match('('); 812 } 813 } 814 catch (RecognitionException pe) { 815 synPredMatched430 = false; 816 } 817 rewind(_m430); 818inputState.guessing--; 819 } 820 if ( synPredMatched430 ) { 821 _saveIndex=text.length(); 822 match("rangeOfValues"); 823 text.setLength(_saveIndex); 824 { 825 int _cnt432=0; 826 _loop432: 827 do { 828 if ((_tokenSet_2.member(LA(1)))) { 829 _saveIndex=text.length(); 830 mSP(false); 831 text.setLength(_saveIndex); 832 } 833 else { 834 if ( _cnt432>=1 ) { break _loop432; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} 835 } 836 837 _cnt432++; 838 } while (true); 839 } 840 mFILTER(false); 841 if ( inputState.guessing==0 ) { 842 _ttype = RANGE_OF_VALUES_CANDIDATE; 843 } 844 } 845 else if ((_tokenSet_4.member(LA(1))) && (true)) { 846 mALPHA(false); 847 { 848 _loop434: 849 do { 850 switch ( LA(1)) { 851 case 'A': case 'B': case 'C': case 'D': 852 case 'E': case 'F': case 'G': case 'H': 853 case 'I': case 'J': case 'K': case 'L': 854 case 'M': case 'N': case 'O': case 'P': 855 case 'Q': case 'R': case 'S': case 'T': 856 case 'U': case 'V': case 'W': case 'X': 857 case 'Y': case 'Z': case 'a': case 'b': 858 case 'c': case 'd': case 'e': case 'f': 859 case 'g': case 'h': case 'i': case 'j': 860 case 'k': case 'l': case 'm': case 'n': 861 case 'o': case 'p': case 'q': case 'r': 862 case 's': case 't': case 'u': case 'v': 863 case 'w': case 'x': case 'y': case 'z': 864 { 865 mALPHA(false); 866 break; 867 } 868 case '0': case '1': case '2': case '3': 869 case '4': case '5': case '6': case '7': 870 case '8': case '9': 871 { 872 mDIGIT(false); 873 break; 874 } 875 case '-': 876 { 877 mHYPHEN(false); 878 break; 879 } 880 default: 881 { 882 break _loop434; 883 } 884 } 885 } while (true); 886 } 887 } 888 else { 889 throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); 890 } 891 } 892 if ( _createToken && _token==null && _ttype!=Token.SKIP ) { 893 _token = makeToken(_ttype); 894 _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); 895 } 896 _returnToken = _token; 897 } 898 899 protected final void mFILTER(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { 900 int _ttype; Token _token=null; int _begin=text.length(); 901 _ttype = FILTER; 902 int _saveIndex; 903 904 match('('); 905 { 906 switch ( LA(1)) { 907 case '&': 908 { 909 { 910 match('&'); 911 { 912 _loop439: 913 do { 914 if ((_tokenSet_2.member(LA(1)))) { 915 mSP(false); 916 } 917 else { 918 break _loop439; 919 } 920 921 } while (true); 922 } 923 { 924 int _cnt441=0; 925 _loop441: 926 do { 927 if ((LA(1)=='(')) { 928 mFILTER(false); 929 } 930 else { 931 if ( _cnt441>=1 ) { break _loop441; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} 932 } 933 934 _cnt441++; 935 } while (true); 936 } 937 } 938 break; 939 } 940 case '|': 941 { 942 { 943 match('|'); 944 { 945 _loop444: 946 do { 947 if ((_tokenSet_2.member(LA(1)))) { 948 mSP(false); 949 } 950 else { 951 break _loop444; 952 } 953 954 } while (true); 955 } 956 { 957 int _cnt446=0; 958 _loop446: 959 do { 960 if ((LA(1)=='(')) { 961 mFILTER(false); 962 } 963 else { 964 if ( _cnt446>=1 ) { break _loop446; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} 965 } 966 967 _cnt446++; 968 } while (true); 969 } 970 } 971 break; 972 } 973 case '!': 974 { 975 { 976 match('!'); 977 { 978 _loop449: 979 do { 980 if ((_tokenSet_2.member(LA(1)))) { 981 mSP(false); 982 } 983 else { 984 break _loop449; 985 } 986 987 } while (true); 988 } 989 mFILTER(false); 990 } 991 break; 992 } 993 default: 994 if ((_tokenSet_5.member(LA(1)))) { 995 mFILTER_VALUE(false); 996 } 997 else { 998 throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); 999 } 1000 } 1001 } 1002 match(')'); 1003 { 1004 _loop451: 1005 do { 1006 if ((_tokenSet_2.member(LA(1)))) { 1007 mSP(false); 1008 } 1009 else { 1010 break _loop451; 1011 } 1012 1013 } while (true); 1014 } 1015 if ( _createToken && _token==null && _ttype!=Token.SKIP ) { 1016 _token = makeToken(_ttype); 1017 _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); 1018 } 1019 _returnToken = _token; 1020 } 1021 1022 protected final void mFILTER_VALUE(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { 1023 int _ttype; Token _token=null; int _begin=text.length(); 1024 _ttype = FILTER_VALUE; 1025 int _saveIndex; 1026 1027 { 1028 { 1029 match(_tokenSet_5); 1030 } 1031 { 1032 _loop457: 1033 do { 1034 if ((_tokenSet_6.member(LA(1)))) { 1035 { 1036 match(_tokenSet_6); 1037 } 1038 } 1039 else { 1040 break _loop457; 1041 } 1042 1043 } while (true); 1044 } 1045 } 1046 if ( _createToken && _token==null && _ttype!=Token.SKIP ) { 1047 _token = makeToken(_ttype); 1048 _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); 1049 } 1050 _returnToken = _token; 1051 } 1052 1053 1054 private static final long[] mk_tokenSet_0() { 1055 long[] data = new long[1025]; 1056 data[0]=288019269919178752L; 1057 return data; 1058 } 1059 public static final BitSet _tokenSet_0 = new BitSet(mk_tokenSet_0()); 1060 private static final long[] mk_tokenSet_1() { 1061 long[] data = new long[3988]; 1062 data[0]=-17179869186L; 1063 data[1]=-1L; 1064 data[3]=-36028797027352577L; 1065 for (int i = 4; i<=127; i++) { data[i]=-1L; } 1066 for (int i = 193; i<=197; i++) { data[i]=-1L; } 1067 data[198]=65535L; 1068 for (int i = 204; i<=205; i++) { data[i]=-1L; } 1069 for (int i = 208; i<=243; i++) { data[i]=-1L; } 1070 data[244]=70368744177663L; 1071 for (int i = 312; i<=639; i++) { data[i]=-1L; } 1072 for (int i = 996; i<=1003; i++) { data[i]=-1L; } 1073 return data; 1074 } 1075 public static final BitSet _tokenSet_1 = new BitSet(mk_tokenSet_1()); 1076 private static final long[] mk_tokenSet_2() { 1077 long[] data = new long[1025]; 1078 data[0]=4294977024L; 1079 return data; 1080 } 1081 public static final BitSet _tokenSet_2 = new BitSet(mk_tokenSet_2()); 1082 private static final long[] mk_tokenSet_3() { 1083 long[] data = new long[2048]; 1084 data[0]=-2L; 1085 for (int i = 1; i<=127; i++) { data[i]=-1L; } 1086 for (int i = 193; i<=197; i++) { data[i]=-1L; } 1087 data[198]=65535L; 1088 for (int i = 204; i<=205; i++) { data[i]=-1L; } 1089 for (int i = 208; i<=243; i++) { data[i]=-1L; } 1090 data[244]=70368744177663L; 1091 for (int i = 312; i<=639; i++) { data[i]=-1L; } 1092 for (int i = 996; i<=1003; i++) { data[i]=-1L; } 1093 return data; 1094 } 1095 public static final BitSet _tokenSet_3 = new BitSet(mk_tokenSet_3()); 1096 private static final long[] mk_tokenSet_4() { 1097 long[] data = new long[1025]; 1098 data[1]=576460743847706622L; 1099 return data; 1100 } 1101 public static final BitSet _tokenSet_4 = new BitSet(mk_tokenSet_4()); 1102 private static final long[] mk_tokenSet_5() { 1103 long[] data = new long[2048]; 1104 data[0]=-3582002724866L; 1105 data[1]=-1152921504606846977L; 1106 for (int i = 2; i<=127; i++) { data[i]=-1L; } 1107 for (int i = 193; i<=197; i++) { data[i]=-1L; } 1108 data[198]=65535L; 1109 for (int i = 204; i<=205; i++) { data[i]=-1L; } 1110 for (int i = 208; i<=243; i++) { data[i]=-1L; } 1111 data[244]=70368744177663L; 1112 for (int i = 312; i<=639; i++) { data[i]=-1L; } 1113 for (int i = 996; i<=1003; i++) { data[i]=-1L; } 1114 return data; 1115 } 1116 public static final BitSet _tokenSet_5 = new BitSet(mk_tokenSet_5()); 1117 private static final long[] mk_tokenSet_6() { 1118 long[] data = new long[2048]; 1119 data[0]=-2199023255554L; 1120 for (int i = 1; i<=127; i++) { data[i]=-1L; } 1121 for (int i = 193; i<=197; i++) { data[i]=-1L; } 1122 data[198]=65535L; 1123 for (int i = 204; i<=205; i++) { data[i]=-1L; } 1124 for (int i = 208; i<=243; i++) { data[i]=-1L; } 1125 data[244]=70368744177663L; 1126 for (int i = 312; i<=639; i++) { data[i]=-1L; } 1127 for (int i = 996; i<=1003; i++) { data[i]=-1L; } 1128 return data; 1129 } 1130 public static final BitSet _tokenSet_6 = new BitSet(mk_tokenSet_6()); 1131 1132 }