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