001 /* Generated By:JavaCC: Do not edit this line. CompactSyntaxTokenManager.java */ 002 package com.thaiopensource.relaxng.parse.compact; 003 import com.thaiopensource.relaxng.parse.SchemaBuilder; 004 import com.thaiopensource.relaxng.parse.Annotations; 005 import com.thaiopensource.relaxng.parse.DataPatternBuilder; 006 import com.thaiopensource.relaxng.parse.ParsedElementAnnotation; 007 import com.thaiopensource.relaxng.parse.ElementAnnotationBuilder; 008 import com.thaiopensource.relaxng.parse.CommentList; 009 import com.thaiopensource.relaxng.parse.ParsedPattern; 010 import com.thaiopensource.relaxng.parse.ParsedNameClass; 011 import com.thaiopensource.relaxng.parse.Scope; 012 import com.thaiopensource.relaxng.parse.GrammarSection; 013 import com.thaiopensource.relaxng.parse.Div; 014 import com.thaiopensource.relaxng.parse.Grammar; 015 import com.thaiopensource.relaxng.parse.Include; 016 import com.thaiopensource.relaxng.parse.IncludedGrammar; 017 import com.thaiopensource.relaxng.parse.IllegalSchemaException; 018 import com.thaiopensource.relaxng.parse.BuildException; 019 import com.thaiopensource.relaxng.parse.Location; 020 import com.thaiopensource.relaxng.parse.Context; 021 import com.thaiopensource.xml.util.WellKnownNamespaces; 022 import com.thaiopensource.util.Localizer; 023 import org.xml.sax.ErrorHandler; 024 import org.xml.sax.SAXException; 025 import org.xml.sax.SAXParseException; 026 import org.xml.sax.Locator; 027 import org.xml.sax.helpers.LocatorImpl; 028 import java.util.Hashtable; 029 import java.util.Enumeration; 030 import java.io.Reader; 031 import java.net.MalformedURLException; 032 import java.net.URL; 033 034 public class CompactSyntaxTokenManager implements CompactSyntaxConstants 035 { 036 private final int jjStopStringLiteralDfa_0(int pos, long active0) 037 { 038 switch (pos) 039 { 040 case 0: 041 if ((active0 & 0x1f8c0fe4e0L) != 0L) 042 { 043 jjmatchedKind = 54; 044 return 43; 045 } 046 if ((active0 & 0x800000000000000L) != 0L) 047 { 048 jjmatchedKind = 60; 049 return -1; 050 } 051 return -1; 052 case 1: 053 if ((active0 & 0x1f8c0fe4e0L) != 0L) 054 { 055 jjmatchedKind = 54; 056 jjmatchedPos = 1; 057 return 43; 058 } 059 if ((active0 & 0x800000000000000L) != 0L) 060 { 061 if (jjmatchedPos == 0) 062 { 063 jjmatchedKind = 60; 064 jjmatchedPos = 0; 065 } 066 return -1; 067 } 068 return -1; 069 case 2: 070 if ((active0 & 0x1f8c0fe4a0L) != 0L) 071 { 072 jjmatchedKind = 54; 073 jjmatchedPos = 2; 074 return 43; 075 } 076 if ((active0 & 0x40L) != 0L) 077 return 43; 078 return -1; 079 case 3: 080 if ((active0 & 0x1f0c0be4a0L) != 0L) 081 { 082 jjmatchedKind = 54; 083 jjmatchedPos = 3; 084 return 43; 085 } 086 if ((active0 & 0x80040000L) != 0L) 087 return 43; 088 return -1; 089 case 4: 090 if ((active0 & 0xe0c09e480L) != 0L) 091 { 092 jjmatchedKind = 54; 093 jjmatchedPos = 4; 094 return 43; 095 } 096 if ((active0 & 0x1100020020L) != 0L) 097 return 43; 098 return -1; 099 case 5: 100 if ((active0 & 0x20c09e480L) != 0L) 101 { 102 jjmatchedKind = 54; 103 jjmatchedPos = 5; 104 return 43; 105 } 106 if ((active0 & 0xc00000000L) != 0L) 107 return 43; 108 return -1; 109 case 6: 110 if ((active0 & 0x208092000L) != 0L) 111 { 112 jjmatchedKind = 54; 113 jjmatchedPos = 6; 114 return 43; 115 } 116 if ((active0 & 0x400c480L) != 0L) 117 return 43; 118 return -1; 119 case 7: 120 if ((active0 & 0x8092000L) != 0L) 121 { 122 jjmatchedKind = 54; 123 jjmatchedPos = 7; 124 return 43; 125 } 126 if ((active0 & 0x200000000L) != 0L) 127 return 43; 128 return -1; 129 case 8: 130 if ((active0 & 0x80000L) != 0L) 131 { 132 jjmatchedKind = 54; 133 jjmatchedPos = 8; 134 return 43; 135 } 136 if ((active0 & 0x8012000L) != 0L) 137 return 43; 138 return -1; 139 default : 140 return -1; 141 } 142 } 143 private final int jjStartNfa_0(int pos, long active0) 144 { 145 return jjMoveNfa_0(jjStopStringLiteralDfa_0(pos, active0), pos + 1); 146 } 147 private final int jjStopAtPos(int pos, int kind) 148 { 149 jjmatchedKind = kind; 150 jjmatchedPos = pos; 151 return pos + 1; 152 } 153 private final int jjStartNfaWithStates_0(int pos, int kind, int state) 154 { 155 jjmatchedKind = kind; 156 jjmatchedPos = pos; 157 try { curChar = input_stream.readChar(); } 158 catch(EOFException e) { return pos + 1; } 159 return jjMoveNfa_0(state, pos + 1); 160 } 161 private final int jjMoveStringLiteralDfa0_0() 162 { 163 switch(curChar) 164 { 165 case 38: 166 jjmatchedKind = 21; 167 return jjMoveStringLiteralDfa1_0(0x8L); 168 case 40: 169 return jjStopAtPos(0, 28); 170 case 41: 171 return jjStopAtPos(0, 29); 172 case 42: 173 return jjStopAtPos(0, 25); 174 case 43: 175 return jjStopAtPos(0, 23); 176 case 44: 177 return jjStopAtPos(0, 22); 178 case 45: 179 return jjStopAtPos(0, 30); 180 case 61: 181 return jjStopAtPos(0, 2); 182 case 62: 183 return jjMoveStringLiteralDfa1_0(0x800000000000000L); 184 case 63: 185 return jjStopAtPos(0, 24); 186 case 91: 187 return jjStopAtPos(0, 1); 188 case 93: 189 return jjStopAtPos(0, 9); 190 case 97: 191 return jjMoveStringLiteralDfa1_0(0x8000000L); 192 case 100: 193 return jjMoveStringLiteralDfa1_0(0x14040L); 194 case 101: 195 return jjMoveStringLiteralDfa1_0(0x204020000L); 196 case 103: 197 return jjMoveStringLiteralDfa1_0(0x400L); 198 case 105: 199 return jjMoveStringLiteralDfa1_0(0x8080L); 200 case 108: 201 return jjMoveStringLiteralDfa1_0(0x80000000L); 202 case 109: 203 return jjMoveStringLiteralDfa1_0(0x100000000L); 204 case 110: 205 return jjMoveStringLiteralDfa1_0(0x82000L); 206 case 112: 207 return jjMoveStringLiteralDfa1_0(0x400000000L); 208 case 115: 209 return jjMoveStringLiteralDfa1_0(0x800000020L); 210 case 116: 211 return jjMoveStringLiteralDfa1_0(0x1000040000L); 212 case 123: 213 return jjStopAtPos(0, 11); 214 case 124: 215 jjmatchedKind = 20; 216 return jjMoveStringLiteralDfa1_0(0x10L); 217 case 125: 218 return jjStopAtPos(0, 12); 219 case 126: 220 return jjStopAtPos(0, 8); 221 default : 222 return jjMoveNfa_0(3, 0); 223 } 224 } 225 private final int jjMoveStringLiteralDfa1_0(long active0) 226 { 227 try { curChar = input_stream.readChar(); } 228 catch(EOFException e) { 229 jjStopStringLiteralDfa_0(0, active0); 230 return 1; 231 } 232 switch(curChar) 233 { 234 case 61: 235 if ((active0 & 0x8L) != 0L) 236 return jjStopAtPos(1, 3); 237 else if ((active0 & 0x10L) != 0L) 238 return jjStopAtPos(1, 4); 239 break; 240 case 62: 241 if ((active0 & 0x800000000000000L) != 0L) 242 return jjStopAtPos(1, 59); 243 break; 244 case 97: 245 return jjMoveStringLiteralDfa2_0(active0, 0x400012000L); 246 case 101: 247 return jjMoveStringLiteralDfa2_0(active0, 0x44000L); 248 case 105: 249 return jjMoveStringLiteralDfa2_0(active0, 0x180000040L); 250 case 108: 251 return jjMoveStringLiteralDfa2_0(active0, 0x4000000L); 252 case 109: 253 return jjMoveStringLiteralDfa2_0(active0, 0x20000L); 254 case 110: 255 return jjMoveStringLiteralDfa2_0(active0, 0x8080L); 256 case 111: 257 return jjMoveStringLiteralDfa2_0(active0, 0x1000080000L); 258 case 114: 259 return jjMoveStringLiteralDfa2_0(active0, 0x400L); 260 case 116: 261 return jjMoveStringLiteralDfa2_0(active0, 0x808000020L); 262 case 120: 263 return jjMoveStringLiteralDfa2_0(active0, 0x200000000L); 264 default : 265 break; 266 } 267 return jjStartNfa_0(0, active0); 268 } 269 private final int jjMoveStringLiteralDfa2_0(long old0, long active0) 270 { 271 if (((active0 &= old0)) == 0L) 272 return jjStartNfa_0(0, old0); 273 try { curChar = input_stream.readChar(); } 274 catch(EOFException e) { 275 jjStopStringLiteralDfa_0(1, active0); 276 return 2; 277 } 278 switch(curChar) 279 { 280 case 97: 281 return jjMoveStringLiteralDfa3_0(active0, 0x420L); 282 case 99: 283 return jjMoveStringLiteralDfa3_0(active0, 0x80L); 284 case 101: 285 return jjMoveStringLiteralDfa3_0(active0, 0x4000000L); 286 case 102: 287 return jjMoveStringLiteralDfa3_0(active0, 0x4000L); 288 case 104: 289 return jjMoveStringLiteralDfa3_0(active0, 0x8000L); 290 case 107: 291 return jjMoveStringLiteralDfa3_0(active0, 0x1000000000L); 292 case 109: 293 return jjMoveStringLiteralDfa3_0(active0, 0x2000L); 294 case 112: 295 return jjMoveStringLiteralDfa3_0(active0, 0x20000L); 296 case 114: 297 return jjMoveStringLiteralDfa3_0(active0, 0xc00000000L); 298 case 115: 299 return jjMoveStringLiteralDfa3_0(active0, 0x80000000L); 300 case 116: 301 return jjMoveStringLiteralDfa3_0(active0, 0x208090000L); 302 case 118: 303 if ((active0 & 0x40L) != 0L) 304 return jjStartNfaWithStates_0(2, 6, 43); 305 break; 306 case 120: 307 return jjMoveStringLiteralDfa3_0(active0, 0x100040000L); 308 default : 309 break; 310 } 311 return jjStartNfa_0(1, active0); 312 } 313 private final int jjMoveStringLiteralDfa3_0(long old0, long active0) 314 { 315 if (((active0 &= old0)) == 0L) 316 return jjStartNfa_0(1, old0); 317 try { curChar = input_stream.readChar(); } 318 catch(EOFException e) { 319 jjStopStringLiteralDfa_0(2, active0); 320 return 3; 321 } 322 switch(curChar) 323 { 324 case 65: 325 return jjMoveStringLiteralDfa4_0(active0, 0x80000L); 326 case 97: 327 return jjMoveStringLiteralDfa4_0(active0, 0x14000L); 328 case 101: 329 return jjMoveStringLiteralDfa4_0(active0, 0x170000a000L); 330 case 105: 331 return jjMoveStringLiteralDfa4_0(active0, 0x800000000L); 332 case 108: 333 return jjMoveStringLiteralDfa4_0(active0, 0x80L); 334 case 109: 335 return jjMoveStringLiteralDfa4_0(active0, 0x4000400L); 336 case 114: 337 return jjMoveStringLiteralDfa4_0(active0, 0x8000020L); 338 case 116: 339 if ((active0 & 0x40000L) != 0L) 340 return jjStartNfaWithStates_0(3, 18, 43); 341 else if ((active0 & 0x80000000L) != 0L) 342 return jjStartNfaWithStates_0(3, 31, 43); 343 return jjMoveStringLiteralDfa4_0(active0, 0x20000L); 344 default : 345 break; 346 } 347 return jjStartNfa_0(2, active0); 348 } 349 private final int jjMoveStringLiteralDfa4_0(long old0, long active0) 350 { 351 if (((active0 &= old0)) == 0L) 352 return jjStartNfa_0(2, old0); 353 try { curChar = input_stream.readChar(); } 354 catch(EOFException e) { 355 jjStopStringLiteralDfa_0(3, active0); 356 return 4; 357 } 358 switch(curChar) 359 { 360 case 100: 361 if ((active0 & 0x100000000L) != 0L) 362 return jjStartNfaWithStates_0(4, 32, 43); 363 break; 364 case 101: 365 return jjMoveStringLiteralDfa5_0(active0, 0x4000000L); 366 case 105: 367 return jjMoveStringLiteralDfa5_0(active0, 0x8000000L); 368 case 108: 369 return jjMoveStringLiteralDfa5_0(active0, 0x80000L); 370 case 109: 371 return jjMoveStringLiteralDfa5_0(active0, 0x400L); 372 case 110: 373 if ((active0 & 0x1000000000L) != 0L) 374 return jjStartNfaWithStates_0(4, 36, 43); 375 return jjMoveStringLiteralDfa5_0(active0, 0xc00000000L); 376 case 114: 377 return jjMoveStringLiteralDfa5_0(active0, 0x200008000L); 378 case 115: 379 return jjMoveStringLiteralDfa5_0(active0, 0x2000L); 380 case 116: 381 if ((active0 & 0x20L) != 0L) 382 return jjStartNfaWithStates_0(4, 5, 43); 383 return jjMoveStringLiteralDfa5_0(active0, 0x10000L); 384 case 117: 385 return jjMoveStringLiteralDfa5_0(active0, 0x4080L); 386 case 121: 387 if ((active0 & 0x20000L) != 0L) 388 return jjStartNfaWithStates_0(4, 17, 43); 389 break; 390 default : 391 break; 392 } 393 return jjStartNfa_0(3, active0); 394 } 395 private final int jjMoveStringLiteralDfa5_0(long old0, long active0) 396 { 397 if (((active0 &= old0)) == 0L) 398 return jjStartNfa_0(3, old0); 399 try { curChar = input_stream.readChar(); } 400 catch(EOFException e) { 401 jjStopStringLiteralDfa_0(4, active0); 402 return 5; 403 } 404 switch(curChar) 405 { 406 case 97: 407 return jjMoveStringLiteralDfa6_0(active0, 0x400L); 408 case 98: 409 return jjMoveStringLiteralDfa6_0(active0, 0x8000000L); 410 case 100: 411 return jjMoveStringLiteralDfa6_0(active0, 0x80L); 412 case 103: 413 if ((active0 & 0x800000000L) != 0L) 414 return jjStartNfaWithStates_0(5, 35, 43); 415 break; 416 case 105: 417 return jjMoveStringLiteralDfa6_0(active0, 0x8000L); 418 case 108: 419 return jjMoveStringLiteralDfa6_0(active0, 0x84000L); 420 case 110: 421 return jjMoveStringLiteralDfa6_0(active0, 0x204000000L); 422 case 112: 423 return jjMoveStringLiteralDfa6_0(active0, 0x2000L); 424 case 116: 425 if ((active0 & 0x400000000L) != 0L) 426 return jjStartNfaWithStates_0(5, 34, 43); 427 break; 428 case 121: 429 return jjMoveStringLiteralDfa6_0(active0, 0x10000L); 430 default : 431 break; 432 } 433 return jjStartNfa_0(4, active0); 434 } 435 private final int jjMoveStringLiteralDfa6_0(long old0, long active0) 436 { 437 if (((active0 &= old0)) == 0L) 438 return jjStartNfa_0(4, old0); 439 try { curChar = input_stream.readChar(); } 440 catch(EOFException e) { 441 jjStopStringLiteralDfa_0(5, active0); 442 return 6; 443 } 444 switch(curChar) 445 { 446 case 97: 447 return jjMoveStringLiteralDfa7_0(active0, 0x200002000L); 448 case 101: 449 if ((active0 & 0x80L) != 0L) 450 return jjStartNfaWithStates_0(6, 7, 43); 451 break; 452 case 111: 453 return jjMoveStringLiteralDfa7_0(active0, 0x80000L); 454 case 112: 455 return jjMoveStringLiteralDfa7_0(active0, 0x10000L); 456 case 114: 457 if ((active0 & 0x400L) != 0L) 458 return jjStartNfaWithStates_0(6, 10, 43); 459 break; 460 case 116: 461 if ((active0 & 0x4000L) != 0L) 462 return jjStartNfaWithStates_0(6, 14, 43); 463 else if ((active0 & 0x8000L) != 0L) 464 return jjStartNfaWithStates_0(6, 15, 43); 465 else if ((active0 & 0x4000000L) != 0L) 466 return jjStartNfaWithStates_0(6, 26, 43); 467 break; 468 case 117: 469 return jjMoveStringLiteralDfa7_0(active0, 0x8000000L); 470 default : 471 break; 472 } 473 return jjStartNfa_0(5, active0); 474 } 475 private final int jjMoveStringLiteralDfa7_0(long old0, long active0) 476 { 477 if (((active0 &= old0)) == 0L) 478 return jjStartNfa_0(5, old0); 479 try { curChar = input_stream.readChar(); } 480 catch(EOFException e) { 481 jjStopStringLiteralDfa_0(6, active0); 482 return 7; 483 } 484 switch(curChar) 485 { 486 case 99: 487 return jjMoveStringLiteralDfa8_0(active0, 0x2000L); 488 case 101: 489 return jjMoveStringLiteralDfa8_0(active0, 0x10000L); 490 case 108: 491 if ((active0 & 0x200000000L) != 0L) 492 return jjStartNfaWithStates_0(7, 33, 43); 493 break; 494 case 116: 495 return jjMoveStringLiteralDfa8_0(active0, 0x8000000L); 496 case 119: 497 return jjMoveStringLiteralDfa8_0(active0, 0x80000L); 498 default : 499 break; 500 } 501 return jjStartNfa_0(6, active0); 502 } 503 private final int jjMoveStringLiteralDfa8_0(long old0, long active0) 504 { 505 if (((active0 &= old0)) == 0L) 506 return jjStartNfa_0(6, old0); 507 try { curChar = input_stream.readChar(); } 508 catch(EOFException e) { 509 jjStopStringLiteralDfa_0(7, active0); 510 return 8; 511 } 512 switch(curChar) 513 { 514 case 101: 515 if ((active0 & 0x2000L) != 0L) 516 return jjStartNfaWithStates_0(8, 13, 43); 517 else if ((active0 & 0x8000000L) != 0L) 518 return jjStartNfaWithStates_0(8, 27, 43); 519 return jjMoveStringLiteralDfa9_0(active0, 0x80000L); 520 case 115: 521 if ((active0 & 0x10000L) != 0L) 522 return jjStartNfaWithStates_0(8, 16, 43); 523 break; 524 default : 525 break; 526 } 527 return jjStartNfa_0(7, active0); 528 } 529 private final int jjMoveStringLiteralDfa9_0(long old0, long active0) 530 { 531 if (((active0 &= old0)) == 0L) 532 return jjStartNfa_0(7, old0); 533 try { curChar = input_stream.readChar(); } 534 catch(EOFException e) { 535 jjStopStringLiteralDfa_0(8, active0); 536 return 9; 537 } 538 switch(curChar) 539 { 540 case 100: 541 if ((active0 & 0x80000L) != 0L) 542 return jjStartNfaWithStates_0(9, 19, 43); 543 break; 544 default : 545 break; 546 } 547 return jjStartNfa_0(8, active0); 548 } 549 private final void jjCheckNAdd(int state) 550 { 551 if (jjrounds[state] != jjround) 552 { 553 jjstateSet[jjnewStateCnt++] = state; 554 jjrounds[state] = jjround; 555 } 556 } 557 private final void jjAddStates(int start, int end) 558 { 559 do { 560 jjstateSet[jjnewStateCnt++] = jjnextStates[start]; 561 } while (start++ != end); 562 } 563 private final void jjCheckNAddTwoStates(int state1, int state2) 564 { 565 jjCheckNAdd(state1); 566 jjCheckNAdd(state2); 567 } 568 private final void jjCheckNAddStates(int start, int end) 569 { 570 do { 571 jjCheckNAdd(jjnextStates[start]); 572 } while (start++ != end); 573 } 574 private final void jjCheckNAddStates(int start) 575 { 576 jjCheckNAdd(jjnextStates[start]); 577 jjCheckNAdd(jjnextStates[start + 1]); 578 } 579 static final long[] jjbitVec0 = { 580 0xfffffffffffffffeL, 0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffffffffffffffL 581 }; 582 static final long[] jjbitVec2 = { 583 0x0L, 0x0L, 0xffffffffffffffffL, 0xffffffffffffffffL 584 }; 585 static final long[] jjbitVec3 = { 586 0x0L, 0xffffffffffffc000L, 0xfffff0007fffffffL, 0x7fffffL 587 }; 588 static final long[] jjbitVec4 = { 589 0x0L, 0x0L, 0x0L, 0xff7fffffff7fffffL 590 }; 591 static final long[] jjbitVec5 = { 592 0x7ff3ffffffffffffL, 0x7ffffffffffffdfeL, 0xffffffffffffffffL, 0xfc31ffffffffe00fL 593 }; 594 static final long[] jjbitVec6 = { 595 0xffffffL, 0xffffffffffff0000L, 0xf80001ffffffffffL, 0x3L 596 }; 597 static final long[] jjbitVec7 = { 598 0x0L, 0x0L, 0xfffffffbffffd740L, 0xffffd547f7fffL 599 }; 600 static final long[] jjbitVec8 = { 601 0xffffffffffffdffeL, 0xffffffffdffeffffL, 0xffffffffffff0003L, 0x33fcfffffff199fL 602 }; 603 static final long[] jjbitVec9 = { 604 0xfffe000000000000L, 0xfffffffe027fffffL, 0x7fL, 0x707ffffff0000L 605 }; 606 static final long[] jjbitVec10 = { 607 0x7fffffe00000000L, 0xfffe0000000007feL, 0x7cffffffffffffffL, 0x60002f7fffL 608 }; 609 static final long[] jjbitVec11 = { 610 0x23ffffffffffffe0L, 0x3ff000000L, 0x3c5fdfffff99fe0L, 0x30003b0000000L 611 }; 612 static final long[] jjbitVec12 = { 613 0x36dfdfffff987e0L, 0x1c00005e000000L, 0x23edfdfffffbafe0L, 0x100000000L 614 }; 615 static final long[] jjbitVec13 = { 616 0x23cdfdfffff99fe0L, 0x3b0000000L, 0x3bfc718d63dc7e0L, 0x0L 617 }; 618 static final long[] jjbitVec14 = { 619 0x3effdfffffddfe0L, 0x300000000L, 0x3effdfffffddfe0L, 0x340000000L 620 }; 621 static final long[] jjbitVec15 = { 622 0x3fffdfffffddfe0L, 0x300000000L, 0x0L, 0x0L 623 }; 624 static final long[] jjbitVec16 = { 625 0xd7ffffffffffeL, 0x3fL, 0x200d6caefef02596L, 0x1fL 626 }; 627 static final long[] jjbitVec17 = { 628 0x0L, 0x3fffffffeffL, 0x0L, 0x0L 629 }; 630 static final long[] jjbitVec18 = { 631 0x0L, 0x0L, 0xffffffff00000000L, 0x7fffffffff003fL 632 }; 633 static final long[] jjbitVec19 = { 634 0x500000000007daedL, 0x2c62ab82315001L, 0xf580c90040000000L, 0x201080000000007L 635 }; 636 static final long[] jjbitVec20 = { 637 0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffffff0fffffffL, 0x3ffffffffffffffL 638 }; 639 static final long[] jjbitVec21 = { 640 0xffffffff3f3fffffL, 0x3fffffffaaff3f3fL, 0x5fdfffffffffffffL, 0x1fdc1fff0fcf1fdcL 641 }; 642 static final long[] jjbitVec22 = { 643 0x4c4000000000L, 0x0L, 0x7L, 0x0L 644 }; 645 static final long[] jjbitVec23 = { 646 0x3fe00000080L, 0xfffffffffffffffeL, 0xfffffffe001fffffL, 0x7ffffffffffffffL 647 }; 648 static final long[] jjbitVec24 = { 649 0x1fffffffffe0L, 0x0L, 0x0L, 0x0L 650 }; 651 static final long[] jjbitVec25 = { 652 0xffffffffffffffffL, 0xffffffffffffffffL, 0x3fffffffffL, 0x0L 653 }; 654 static final long[] jjbitVec26 = { 655 0xffffffffffffffffL, 0xffffffffffffffffL, 0xfffffffffL, 0x0L 656 }; 657 static final long[] jjbitVec27 = { 658 0x0L, 0x0L, 0x80000000000000L, 0xff7fffffff7fffffL 659 }; 660 static final long[] jjbitVec28 = { 661 0xffffffL, 0xffffffffffff0000L, 0xf80001ffffffffffL, 0x30003L 662 }; 663 static final long[] jjbitVec29 = { 664 0xffffffffffffffffL, 0x30000003fL, 0xfffffffbffffd7c0L, 0xffffd547f7fffL 665 }; 666 static final long[] jjbitVec30 = { 667 0xffffffffffffdffeL, 0xffffffffdffeffffL, 0xffffffffffff007bL, 0x33fcfffffff199fL 668 }; 669 static final long[] jjbitVec31 = { 670 0xfffe000000000000L, 0xfffffffe027fffffL, 0xbbfffffbfffe007fL, 0x707ffffff0016L 671 }; 672 static final long[] jjbitVec32 = { 673 0x7fffffe00000000L, 0xffff03ff0007ffffL, 0x7cffffffffffffffL, 0x3ff3dffffef7fffL 674 }; 675 static final long[] jjbitVec33 = { 676 0xf3ffffffffffffeeL, 0xffcfff1e3fffL, 0xd3c5fdfffff99feeL, 0x3ffcfb080399fL 677 }; 678 static final long[] jjbitVec34 = { 679 0xd36dfdfffff987e4L, 0x1fffc05e003987L, 0xf3edfdfffffbafeeL, 0xffc100003bbfL 680 }; 681 static final long[] jjbitVec35 = { 682 0xf3cdfdfffff99feeL, 0xffc3b0c0398fL, 0xc3bfc718d63dc7ecL, 0xff8000803dc7L 683 }; 684 static final long[] jjbitVec36 = { 685 0xc3effdfffffddfeeL, 0xffc300603ddfL, 0xc3effdfffffddfecL, 0xffc340603ddfL 686 }; 687 static final long[] jjbitVec37 = { 688 0xc3fffdfffffddfecL, 0xffc300803dcfL, 0x0L, 0x0L 689 }; 690 static final long[] jjbitVec38 = { 691 0x7ff7ffffffffffeL, 0x3ff7fffL, 0x3bff6caefef02596L, 0x3ff3f5fL 692 }; 693 static final long[] jjbitVec39 = { 694 0xc2a003ff03000000L, 0xfffe03fffffffeffL, 0x2fe3ffffebf0fdfL, 0x0L 695 }; 696 static final long[] jjbitVec40 = { 697 0x0L, 0x0L, 0x0L, 0x21fff0000L 698 }; 699 static final long[] jjbitVec41 = { 700 0x3efffe000000a0L, 0xfffffffffffffffeL, 0xfffffffe661fffffL, 0x77ffffffffffffffL 701 }; 702 private final int jjMoveNfa_0(int startState, int curPos) 703 { 704 int[] nextStates; 705 int startsAt = 0; 706 jjnewStateCnt = 43; 707 int i = 1; 708 jjstateSet[0] = startState; 709 int j, kind = 0x7fffffff; 710 for (;;) 711 { 712 if (++jjround == 0x7fffffff) 713 ReInitRounds(); 714 if (curChar < 64) 715 { 716 long l = 1L << curChar; 717 MatchLoop: do 718 { 719 switch(jjstateSet[--i]) 720 { 721 case 3: 722 if ((0xfffffffffffff9ffL & l) != 0L) 723 { 724 if (kind > 60) 725 kind = 60; 726 } 727 if ((0x100000601L & l) != 0L) 728 { 729 if (kind > 39) 730 kind = 39; 731 jjCheckNAdd(0); 732 } 733 else if (curChar == 39) 734 jjstateSet[jjnewStateCnt++] = 31; 735 else if (curChar == 34) 736 jjstateSet[jjnewStateCnt++] = 22; 737 else if (curChar == 35) 738 { 739 if (kind > 42) 740 kind = 42; 741 jjCheckNAdd(5); 742 } 743 if (curChar == 39) 744 jjCheckNAddTwoStates(13, 14); 745 else if (curChar == 34) 746 jjCheckNAddTwoStates(10, 11); 747 else if (curChar == 35) 748 jjstateSet[jjnewStateCnt++] = 1; 749 break; 750 case 43: 751 if ((0x3ff600000000000L & l) != 0L) 752 jjCheckNAddTwoStates(39, 40); 753 else if (curChar == 58) 754 jjstateSet[jjnewStateCnt++] = 41; 755 if ((0x3ff600000000000L & l) != 0L) 756 jjCheckNAddTwoStates(36, 38); 757 else if (curChar == 58) 758 jjstateSet[jjnewStateCnt++] = 37; 759 if ((0x3ff600000000000L & l) != 0L) 760 { 761 if (kind > 54) 762 kind = 54; 763 jjCheckNAdd(35); 764 } 765 break; 766 case 0: 767 if ((0x100000601L & l) == 0L) 768 break; 769 if (kind > 39) 770 kind = 39; 771 jjCheckNAdd(0); 772 break; 773 case 1: 774 if (curChar != 35) 775 break; 776 if (kind > 40) 777 kind = 40; 778 jjCheckNAdd(2); 779 break; 780 case 2: 781 if ((0xfffffffffffffbfeL & l) == 0L) 782 break; 783 if (kind > 40) 784 kind = 40; 785 jjCheckNAdd(2); 786 break; 787 case 4: 788 if (curChar != 35) 789 break; 790 if (kind > 42) 791 kind = 42; 792 jjCheckNAdd(5); 793 break; 794 case 5: 795 if ((0xfffffffffffffbfeL & l) == 0L) 796 break; 797 if (kind > 42) 798 kind = 42; 799 jjCheckNAdd(5); 800 break; 801 case 8: 802 if ((0x3ff600000000000L & l) == 0L) 803 break; 804 if (kind > 55) 805 kind = 55; 806 jjstateSet[jjnewStateCnt++] = 8; 807 break; 808 case 9: 809 if (curChar == 34) 810 jjCheckNAddTwoStates(10, 11); 811 break; 812 case 10: 813 if ((0xfffffffbfffffffeL & l) != 0L) 814 jjCheckNAddTwoStates(10, 11); 815 break; 816 case 11: 817 case 20: 818 if (curChar == 34 && kind > 58) 819 kind = 58; 820 break; 821 case 12: 822 if (curChar == 39) 823 jjCheckNAddTwoStates(13, 14); 824 break; 825 case 13: 826 if ((0xffffff7ffffffffeL & l) != 0L) 827 jjCheckNAddTwoStates(13, 14); 828 break; 829 case 14: 830 case 29: 831 if (curChar == 39 && kind > 58) 832 kind = 58; 833 break; 834 case 15: 835 if (curChar == 34) 836 jjCheckNAddStates(0, 2); 837 break; 838 case 16: 839 if ((0xfffffffbffffffffL & l) != 0L) 840 jjCheckNAddStates(0, 2); 841 break; 842 case 17: 843 case 19: 844 if (curChar == 34) 845 jjCheckNAdd(16); 846 break; 847 case 18: 848 if (curChar == 34) 849 jjAddStates(3, 4); 850 break; 851 case 21: 852 if (curChar == 34) 853 jjstateSet[jjnewStateCnt++] = 20; 854 break; 855 case 22: 856 if (curChar == 34) 857 jjstateSet[jjnewStateCnt++] = 15; 858 break; 859 case 23: 860 if (curChar == 34) 861 jjstateSet[jjnewStateCnt++] = 22; 862 break; 863 case 24: 864 if (curChar == 39) 865 jjCheckNAddStates(5, 7); 866 break; 867 case 25: 868 if ((0xffffff7fffffffffL & l) != 0L) 869 jjCheckNAddStates(5, 7); 870 break; 871 case 26: 872 case 28: 873 if (curChar == 39) 874 jjCheckNAdd(25); 875 break; 876 case 27: 877 if (curChar == 39) 878 jjAddStates(8, 9); 879 break; 880 case 30: 881 if (curChar == 39) 882 jjstateSet[jjnewStateCnt++] = 29; 883 break; 884 case 31: 885 if (curChar == 39) 886 jjstateSet[jjnewStateCnt++] = 24; 887 break; 888 case 32: 889 if (curChar == 39) 890 jjstateSet[jjnewStateCnt++] = 31; 891 break; 892 case 33: 893 if ((0xfffffffffffff9ffL & l) != 0L && kind > 60) 894 kind = 60; 895 break; 896 case 35: 897 if ((0x3ff600000000000L & l) == 0L) 898 break; 899 if (kind > 54) 900 kind = 54; 901 jjCheckNAdd(35); 902 break; 903 case 36: 904 if ((0x3ff600000000000L & l) != 0L) 905 jjCheckNAddTwoStates(36, 38); 906 break; 907 case 37: 908 if (curChar == 42 && kind > 56) 909 kind = 56; 910 break; 911 case 38: 912 if (curChar == 58) 913 jjstateSet[jjnewStateCnt++] = 37; 914 break; 915 case 39: 916 if ((0x3ff600000000000L & l) != 0L) 917 jjCheckNAddTwoStates(39, 40); 918 break; 919 case 40: 920 if (curChar == 58) 921 jjstateSet[jjnewStateCnt++] = 41; 922 break; 923 case 42: 924 if ((0x3ff600000000000L & l) == 0L) 925 break; 926 if (kind > 57) 927 kind = 57; 928 jjstateSet[jjnewStateCnt++] = 42; 929 break; 930 default : break; 931 } 932 } while(i != startsAt); 933 } 934 else if (curChar < 128) 935 { 936 long l = 1L << (curChar & 077); 937 MatchLoop: do 938 { 939 switch(jjstateSet[--i]) 940 { 941 case 3: 942 if (kind > 60) 943 kind = 60; 944 if ((0x7fffffe87fffffeL & l) != 0L) 945 { 946 if (kind > 54) 947 kind = 54; 948 jjCheckNAddStates(10, 14); 949 } 950 else if (curChar == 92) 951 jjstateSet[jjnewStateCnt++] = 7; 952 break; 953 case 43: 954 if ((0x7fffffe87fffffeL & l) != 0L) 955 jjCheckNAddTwoStates(39, 40); 956 if ((0x7fffffe87fffffeL & l) != 0L) 957 jjCheckNAddTwoStates(36, 38); 958 if ((0x7fffffe87fffffeL & l) != 0L) 959 { 960 if (kind > 54) 961 kind = 54; 962 jjCheckNAdd(35); 963 } 964 break; 965 case 2: 966 if (kind > 40) 967 kind = 40; 968 jjstateSet[jjnewStateCnt++] = 2; 969 break; 970 case 5: 971 if (kind > 42) 972 kind = 42; 973 jjstateSet[jjnewStateCnt++] = 5; 974 break; 975 case 6: 976 if (curChar == 92) 977 jjstateSet[jjnewStateCnt++] = 7; 978 break; 979 case 7: 980 case 8: 981 if ((0x7fffffe87fffffeL & l) == 0L) 982 break; 983 if (kind > 55) 984 kind = 55; 985 jjCheckNAdd(8); 986 break; 987 case 10: 988 jjAddStates(15, 16); 989 break; 990 case 13: 991 jjAddStates(17, 18); 992 break; 993 case 16: 994 jjAddStates(0, 2); 995 break; 996 case 25: 997 jjAddStates(5, 7); 998 break; 999 case 33: 1000 if (kind > 60) 1001 kind = 60; 1002 break; 1003 case 34: 1004 if ((0x7fffffe87fffffeL & l) == 0L) 1005 break; 1006 if (kind > 54) 1007 kind = 54; 1008 jjCheckNAddStates(10, 14); 1009 break; 1010 case 35: 1011 if ((0x7fffffe87fffffeL & l) == 0L) 1012 break; 1013 if (kind > 54) 1014 kind = 54; 1015 jjCheckNAdd(35); 1016 break; 1017 case 36: 1018 if ((0x7fffffe87fffffeL & l) != 0L) 1019 jjCheckNAddTwoStates(36, 38); 1020 break; 1021 case 39: 1022 if ((0x7fffffe87fffffeL & l) != 0L) 1023 jjCheckNAddTwoStates(39, 40); 1024 break; 1025 case 41: 1026 case 42: 1027 if ((0x7fffffe87fffffeL & l) == 0L) 1028 break; 1029 if (kind > 57) 1030 kind = 57; 1031 jjCheckNAdd(42); 1032 break; 1033 default : break; 1034 } 1035 } while(i != startsAt); 1036 } 1037 else 1038 { 1039 int hiByte = (int)(curChar >> 8); 1040 int i1 = hiByte >> 6; 1041 long l1 = 1L << (hiByte & 077); 1042 int i2 = (curChar & 0xff) >> 6; 1043 long l2 = 1L << (curChar & 077); 1044 MatchLoop: do 1045 { 1046 switch(jjstateSet[--i]) 1047 { 1048 case 3: 1049 if (jjCanMove_0(hiByte, i1, i2, l1, l2)) 1050 { 1051 if (kind > 60) 1052 kind = 60; 1053 } 1054 if (jjCanMove_1(hiByte, i1, i2, l1, l2)) 1055 { 1056 if (kind > 54) 1057 kind = 54; 1058 jjCheckNAddStates(10, 14); 1059 } 1060 break; 1061 case 43: 1062 if (jjCanMove_2(hiByte, i1, i2, l1, l2)) 1063 { 1064 if (kind > 54) 1065 kind = 54; 1066 jjCheckNAdd(35); 1067 } 1068 if (jjCanMove_2(hiByte, i1, i2, l1, l2)) 1069 jjCheckNAddTwoStates(36, 38); 1070 if (jjCanMove_2(hiByte, i1, i2, l1, l2)) 1071 jjCheckNAddTwoStates(39, 40); 1072 break; 1073 case 2: 1074 if (!jjCanMove_0(hiByte, i1, i2, l1, l2)) 1075 break; 1076 if (kind > 40) 1077 kind = 40; 1078 jjstateSet[jjnewStateCnt++] = 2; 1079 break; 1080 case 5: 1081 if (!jjCanMove_0(hiByte, i1, i2, l1, l2)) 1082 break; 1083 if (kind > 42) 1084 kind = 42; 1085 jjstateSet[jjnewStateCnt++] = 5; 1086 break; 1087 case 7: 1088 if (!jjCanMove_1(hiByte, i1, i2, l1, l2)) 1089 break; 1090 if (kind > 55) 1091 kind = 55; 1092 jjCheckNAdd(8); 1093 break; 1094 case 8: 1095 if (!jjCanMove_2(hiByte, i1, i2, l1, l2)) 1096 break; 1097 if (kind > 55) 1098 kind = 55; 1099 jjCheckNAdd(8); 1100 break; 1101 case 10: 1102 if (jjCanMove_0(hiByte, i1, i2, l1, l2)) 1103 jjAddStates(15, 16); 1104 break; 1105 case 13: 1106 if (jjCanMove_0(hiByte, i1, i2, l1, l2)) 1107 jjAddStates(17, 18); 1108 break; 1109 case 16: 1110 if (jjCanMove_0(hiByte, i1, i2, l1, l2)) 1111 jjAddStates(0, 2); 1112 break; 1113 case 25: 1114 if (jjCanMove_0(hiByte, i1, i2, l1, l2)) 1115 jjAddStates(5, 7); 1116 break; 1117 case 33: 1118 if (jjCanMove_0(hiByte, i1, i2, l1, l2) && kind > 60) 1119 kind = 60; 1120 break; 1121 case 34: 1122 if (!jjCanMove_1(hiByte, i1, i2, l1, l2)) 1123 break; 1124 if (kind > 54) 1125 kind = 54; 1126 jjCheckNAddStates(10, 14); 1127 break; 1128 case 35: 1129 if (!jjCanMove_2(hiByte, i1, i2, l1, l2)) 1130 break; 1131 if (kind > 54) 1132 kind = 54; 1133 jjCheckNAdd(35); 1134 break; 1135 case 36: 1136 if (jjCanMove_2(hiByte, i1, i2, l1, l2)) 1137 jjCheckNAddTwoStates(36, 38); 1138 break; 1139 case 39: 1140 if (jjCanMove_2(hiByte, i1, i2, l1, l2)) 1141 jjCheckNAddTwoStates(39, 40); 1142 break; 1143 case 41: 1144 if (!jjCanMove_1(hiByte, i1, i2, l1, l2)) 1145 break; 1146 if (kind > 57) 1147 kind = 57; 1148 jjCheckNAdd(42); 1149 break; 1150 case 42: 1151 if (!jjCanMove_2(hiByte, i1, i2, l1, l2)) 1152 break; 1153 if (kind > 57) 1154 kind = 57; 1155 jjCheckNAdd(42); 1156 break; 1157 default : break; 1158 } 1159 } while(i != startsAt); 1160 } 1161 if (kind != 0x7fffffff) 1162 { 1163 jjmatchedKind = kind; 1164 jjmatchedPos = curPos; 1165 kind = 0x7fffffff; 1166 } 1167 ++curPos; 1168 if ((i = jjnewStateCnt) == (startsAt = 43 - (jjnewStateCnt = startsAt))) 1169 return curPos; 1170 try { curChar = input_stream.readChar(); } 1171 catch(EOFException e) { return curPos; } 1172 } 1173 } 1174 private final int jjMoveStringLiteralDfa0_1() 1175 { 1176 return jjMoveNfa_1(1, 0); 1177 } 1178 private final int jjMoveNfa_1(int startState, int curPos) 1179 { 1180 int[] nextStates; 1181 int startsAt = 0; 1182 jjnewStateCnt = 10; 1183 int i = 1; 1184 jjstateSet[0] = startState; 1185 int j, kind = 0x7fffffff; 1186 for (;;) 1187 { 1188 if (++jjround == 0x7fffffff) 1189 ReInitRounds(); 1190 if (curChar < 64) 1191 { 1192 long l = 1L << curChar; 1193 MatchLoop: do 1194 { 1195 switch(jjstateSet[--i]) 1196 { 1197 case 1: 1198 if ((0xfffffffffffff9ffL & l) != 0L) 1199 { 1200 if (kind > 60) 1201 kind = 60; 1202 } 1203 if ((0x100000601L & l) != 0L) 1204 { 1205 if (kind > 39) 1206 kind = 39; 1207 jjCheckNAdd(0); 1208 } 1209 if ((0x401L & l) != 0L) 1210 jjCheckNAddStates(19, 22); 1211 break; 1212 case 0: 1213 if ((0x100000601L & l) == 0L) 1214 break; 1215 if (kind > 39) 1216 kind = 39; 1217 jjCheckNAdd(0); 1218 break; 1219 case 2: 1220 if ((0x401L & l) != 0L) 1221 jjCheckNAddStates(19, 22); 1222 break; 1223 case 3: 1224 if ((0x100000200L & l) != 0L) 1225 jjCheckNAddTwoStates(3, 6); 1226 break; 1227 case 4: 1228 if (curChar != 35) 1229 break; 1230 if (kind > 43) 1231 kind = 43; 1232 jjCheckNAdd(5); 1233 break; 1234 case 5: 1235 if ((0xfffffffffffffbfeL & l) == 0L) 1236 break; 1237 if (kind > 43) 1238 kind = 43; 1239 jjCheckNAdd(5); 1240 break; 1241 case 6: 1242 if (curChar == 35) 1243 jjstateSet[jjnewStateCnt++] = 4; 1244 break; 1245 case 7: 1246 if ((0x100000200L & l) != 0L) 1247 jjCheckNAddTwoStates(7, 8); 1248 break; 1249 case 8: 1250 if (curChar != 35) 1251 break; 1252 if (kind > 44) 1253 kind = 44; 1254 jjCheckNAdd(9); 1255 break; 1256 case 9: 1257 if ((0xfffffffffffffbfeL & l) == 0L) 1258 break; 1259 if (kind > 44) 1260 kind = 44; 1261 jjCheckNAdd(9); 1262 break; 1263 default : break; 1264 } 1265 } while(i != startsAt); 1266 } 1267 else if (curChar < 128) 1268 { 1269 long l = 1L << (curChar & 077); 1270 MatchLoop: do 1271 { 1272 switch(jjstateSet[--i]) 1273 { 1274 case 1: 1275 if (kind > 60) 1276 kind = 60; 1277 break; 1278 case 5: 1279 if (kind > 43) 1280 kind = 43; 1281 jjstateSet[jjnewStateCnt++] = 5; 1282 break; 1283 case 9: 1284 if (kind > 44) 1285 kind = 44; 1286 jjstateSet[jjnewStateCnt++] = 9; 1287 break; 1288 default : break; 1289 } 1290 } while(i != startsAt); 1291 } 1292 else 1293 { 1294 int hiByte = (int)(curChar >> 8); 1295 int i1 = hiByte >> 6; 1296 long l1 = 1L << (hiByte & 077); 1297 int i2 = (curChar & 0xff) >> 6; 1298 long l2 = 1L << (curChar & 077); 1299 MatchLoop: do 1300 { 1301 switch(jjstateSet[--i]) 1302 { 1303 case 1: 1304 if (jjCanMove_0(hiByte, i1, i2, l1, l2) && kind > 60) 1305 kind = 60; 1306 break; 1307 case 5: 1308 if (!jjCanMove_0(hiByte, i1, i2, l1, l2)) 1309 break; 1310 if (kind > 43) 1311 kind = 43; 1312 jjstateSet[jjnewStateCnt++] = 5; 1313 break; 1314 case 9: 1315 if (!jjCanMove_0(hiByte, i1, i2, l1, l2)) 1316 break; 1317 if (kind > 44) 1318 kind = 44; 1319 jjstateSet[jjnewStateCnt++] = 9; 1320 break; 1321 default : break; 1322 } 1323 } while(i != startsAt); 1324 } 1325 if (kind != 0x7fffffff) 1326 { 1327 jjmatchedKind = kind; 1328 jjmatchedPos = curPos; 1329 kind = 0x7fffffff; 1330 } 1331 ++curPos; 1332 if ((i = jjnewStateCnt) == (startsAt = 10 - (jjnewStateCnt = startsAt))) 1333 return curPos; 1334 try { curChar = input_stream.readChar(); } 1335 catch(EOFException e) { return curPos; } 1336 } 1337 } 1338 private final int jjMoveStringLiteralDfa0_2() 1339 { 1340 return jjMoveNfa_2(1, 0); 1341 } 1342 private final int jjMoveNfa_2(int startState, int curPos) 1343 { 1344 int[] nextStates; 1345 int startsAt = 0; 1346 jjnewStateCnt = 7; 1347 int i = 1; 1348 jjstateSet[0] = startState; 1349 int j, kind = 0x7fffffff; 1350 for (;;) 1351 { 1352 if (++jjround == 0x7fffffff) 1353 ReInitRounds(); 1354 if (curChar < 64) 1355 { 1356 long l = 1L << curChar; 1357 MatchLoop: do 1358 { 1359 switch(jjstateSet[--i]) 1360 { 1361 case 1: 1362 if ((0xfffffffffffff9ffL & l) != 0L) 1363 { 1364 if (kind > 60) 1365 kind = 60; 1366 } 1367 if ((0x100000601L & l) != 0L) 1368 { 1369 if (kind > 39) 1370 kind = 39; 1371 jjCheckNAdd(0); 1372 } 1373 if ((0x401L & l) != 0L) 1374 jjCheckNAddTwoStates(2, 5); 1375 break; 1376 case 0: 1377 if ((0x100000601L & l) == 0L) 1378 break; 1379 if (kind > 39) 1380 kind = 39; 1381 jjCheckNAdd(0); 1382 break; 1383 case 2: 1384 if ((0x100000200L & l) != 0L) 1385 jjCheckNAddTwoStates(2, 5); 1386 break; 1387 case 3: 1388 if (curChar != 35) 1389 break; 1390 if (kind > 41) 1391 kind = 41; 1392 jjCheckNAdd(4); 1393 break; 1394 case 4: 1395 if ((0xfffffffffffffbfeL & l) == 0L) 1396 break; 1397 if (kind > 41) 1398 kind = 41; 1399 jjCheckNAdd(4); 1400 break; 1401 case 5: 1402 if (curChar == 35) 1403 jjstateSet[jjnewStateCnt++] = 3; 1404 break; 1405 case 6: 1406 if ((0xfffffffffffff9ffL & l) != 0L && kind > 60) 1407 kind = 60; 1408 break; 1409 default : break; 1410 } 1411 } while(i != startsAt); 1412 } 1413 else if (curChar < 128) 1414 { 1415 long l = 1L << (curChar & 077); 1416 MatchLoop: do 1417 { 1418 switch(jjstateSet[--i]) 1419 { 1420 case 1: 1421 if (kind > 60) 1422 kind = 60; 1423 break; 1424 case 4: 1425 if (kind > 41) 1426 kind = 41; 1427 jjstateSet[jjnewStateCnt++] = 4; 1428 break; 1429 default : break; 1430 } 1431 } while(i != startsAt); 1432 } 1433 else 1434 { 1435 int hiByte = (int)(curChar >> 8); 1436 int i1 = hiByte >> 6; 1437 long l1 = 1L << (hiByte & 077); 1438 int i2 = (curChar & 0xff) >> 6; 1439 long l2 = 1L << (curChar & 077); 1440 MatchLoop: do 1441 { 1442 switch(jjstateSet[--i]) 1443 { 1444 case 1: 1445 if (jjCanMove_0(hiByte, i1, i2, l1, l2) && kind > 60) 1446 kind = 60; 1447 break; 1448 case 4: 1449 if (!jjCanMove_0(hiByte, i1, i2, l1, l2)) 1450 break; 1451 if (kind > 41) 1452 kind = 41; 1453 jjstateSet[jjnewStateCnt++] = 4; 1454 break; 1455 default : break; 1456 } 1457 } while(i != startsAt); 1458 } 1459 if (kind != 0x7fffffff) 1460 { 1461 jjmatchedKind = kind; 1462 jjmatchedPos = curPos; 1463 kind = 0x7fffffff; 1464 } 1465 ++curPos; 1466 if ((i = jjnewStateCnt) == (startsAt = 7 - (jjnewStateCnt = startsAt))) 1467 return curPos; 1468 try { curChar = input_stream.readChar(); } 1469 catch(EOFException e) { return curPos; } 1470 } 1471 } 1472 static final int[] jjnextStates = { 1473 16, 17, 18, 19, 21, 25, 26, 27, 28, 30, 35, 36, 38, 39, 40, 10, 1474 11, 13, 14, 3, 6, 7, 8, 1475 }; 1476 private static final boolean jjCanMove_0(int hiByte, int i1, int i2, long l1, long l2) 1477 { 1478 switch(hiByte) 1479 { 1480 case 0: 1481 return ((jjbitVec2[i2] & l2) != 0L); 1482 default : 1483 if ((jjbitVec0[i1] & l1) != 0L) 1484 return true; 1485 return false; 1486 } 1487 } 1488 private static final boolean jjCanMove_1(int hiByte, int i1, int i2, long l1, long l2) 1489 { 1490 switch(hiByte) 1491 { 1492 case 0: 1493 return ((jjbitVec4[i2] & l2) != 0L); 1494 case 1: 1495 return ((jjbitVec5[i2] & l2) != 0L); 1496 case 2: 1497 return ((jjbitVec6[i2] & l2) != 0L); 1498 case 3: 1499 return ((jjbitVec7[i2] & l2) != 0L); 1500 case 4: 1501 return ((jjbitVec8[i2] & l2) != 0L); 1502 case 5: 1503 return ((jjbitVec9[i2] & l2) != 0L); 1504 case 6: 1505 return ((jjbitVec10[i2] & l2) != 0L); 1506 case 9: 1507 return ((jjbitVec11[i2] & l2) != 0L); 1508 case 10: 1509 return ((jjbitVec12[i2] & l2) != 0L); 1510 case 11: 1511 return ((jjbitVec13[i2] & l2) != 0L); 1512 case 12: 1513 return ((jjbitVec14[i2] & l2) != 0L); 1514 case 13: 1515 return ((jjbitVec15[i2] & l2) != 0L); 1516 case 14: 1517 return ((jjbitVec16[i2] & l2) != 0L); 1518 case 15: 1519 return ((jjbitVec17[i2] & l2) != 0L); 1520 case 16: 1521 return ((jjbitVec18[i2] & l2) != 0L); 1522 case 17: 1523 return ((jjbitVec19[i2] & l2) != 0L); 1524 case 30: 1525 return ((jjbitVec20[i2] & l2) != 0L); 1526 case 31: 1527 return ((jjbitVec21[i2] & l2) != 0L); 1528 case 33: 1529 return ((jjbitVec22[i2] & l2) != 0L); 1530 case 48: 1531 return ((jjbitVec23[i2] & l2) != 0L); 1532 case 49: 1533 return ((jjbitVec24[i2] & l2) != 0L); 1534 case 159: 1535 return ((jjbitVec25[i2] & l2) != 0L); 1536 case 215: 1537 return ((jjbitVec26[i2] & l2) != 0L); 1538 default : 1539 if ((jjbitVec3[i1] & l1) != 0L) 1540 return true; 1541 return false; 1542 } 1543 } 1544 private static final boolean jjCanMove_2(int hiByte, int i1, int i2, long l1, long l2) 1545 { 1546 switch(hiByte) 1547 { 1548 case 0: 1549 return ((jjbitVec27[i2] & l2) != 0L); 1550 case 1: 1551 return ((jjbitVec5[i2] & l2) != 0L); 1552 case 2: 1553 return ((jjbitVec28[i2] & l2) != 0L); 1554 case 3: 1555 return ((jjbitVec29[i2] & l2) != 0L); 1556 case 4: 1557 return ((jjbitVec30[i2] & l2) != 0L); 1558 case 5: 1559 return ((jjbitVec31[i2] & l2) != 0L); 1560 case 6: 1561 return ((jjbitVec32[i2] & l2) != 0L); 1562 case 9: 1563 return ((jjbitVec33[i2] & l2) != 0L); 1564 case 10: 1565 return ((jjbitVec34[i2] & l2) != 0L); 1566 case 11: 1567 return ((jjbitVec35[i2] & l2) != 0L); 1568 case 12: 1569 return ((jjbitVec36[i2] & l2) != 0L); 1570 case 13: 1571 return ((jjbitVec37[i2] & l2) != 0L); 1572 case 14: 1573 return ((jjbitVec38[i2] & l2) != 0L); 1574 case 15: 1575 return ((jjbitVec39[i2] & l2) != 0L); 1576 case 16: 1577 return ((jjbitVec18[i2] & l2) != 0L); 1578 case 17: 1579 return ((jjbitVec19[i2] & l2) != 0L); 1580 case 30: 1581 return ((jjbitVec20[i2] & l2) != 0L); 1582 case 31: 1583 return ((jjbitVec21[i2] & l2) != 0L); 1584 case 32: 1585 return ((jjbitVec40[i2] & l2) != 0L); 1586 case 33: 1587 return ((jjbitVec22[i2] & l2) != 0L); 1588 case 48: 1589 return ((jjbitVec41[i2] & l2) != 0L); 1590 case 49: 1591 return ((jjbitVec24[i2] & l2) != 0L); 1592 case 159: 1593 return ((jjbitVec25[i2] & l2) != 0L); 1594 case 215: 1595 return ((jjbitVec26[i2] & l2) != 0L); 1596 default : 1597 if ((jjbitVec3[i1] & l1) != 0L) 1598 return true; 1599 return false; 1600 } 1601 } 1602 public static final String[] jjstrLiteralImages = { 1603 "", "\133", "\75", "\46\75", "\174\75", "\163\164\141\162\164", 1604 "\144\151\166", "\151\156\143\154\165\144\145", "\176", "\135", 1605 "\147\162\141\155\155\141\162", "\173", "\175", "\156\141\155\145\163\160\141\143\145", 1606 "\144\145\146\141\165\154\164", "\151\156\150\145\162\151\164", "\144\141\164\141\164\171\160\145\163", 1607 "\145\155\160\164\171", "\164\145\170\164", "\156\157\164\101\154\154\157\167\145\144", "\174", "\46", 1608 "\54", "\53", "\77", "\52", "\145\154\145\155\145\156\164", 1609 "\141\164\164\162\151\142\165\164\145", "\50", "\51", "\55", "\154\151\163\164", "\155\151\170\145\144", 1610 "\145\170\164\145\162\156\141\154", "\160\141\162\145\156\164", "\163\164\162\151\156\147", 1611 "\164\157\153\145\156", null, null, null, null, null, null, null, null, null, null, null, null, null, 1612 null, null, null, null, null, null, null, null, null, "\76\76", null, }; 1613 public static final String[] lexStateNames = { 1614 "DEFAULT", 1615 "AFTER_SINGLE_LINE_COMMENT", 1616 "AFTER_DOCUMENTATION", 1617 }; 1618 public static final int[] jjnewLexState = { 1619 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1620 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 2, -1, 1, 2, -1, -1, -1, -1, -1, -1, 1621 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1622 }; 1623 static final long[] jjtoToken = { 1624 0x1fc00b1fffffffffL, 1625 }; 1626 static final long[] jjtoSkip = { 1627 0x148000000000L, 1628 }; 1629 static final long[] jjtoSpecial = { 1630 0x140000000000L, 1631 }; 1632 private UCode_UCodeESC_CharStream input_stream; 1633 private final int[] jjrounds = new int[43]; 1634 private final int[] jjstateSet = new int[86]; 1635 StringBuffer image; 1636 int jjimageLen; 1637 int lengthOfMatch; 1638 protected char curChar; 1639 public CompactSyntaxTokenManager(UCode_UCodeESC_CharStream stream) 1640 { 1641 if (UCode_UCodeESC_CharStream.staticFlag) 1642 throw new Error("ERROR: Cannot use a static CharStream class with a non-static lexical analyzer."); 1643 input_stream = stream; 1644 } 1645 public CompactSyntaxTokenManager(UCode_UCodeESC_CharStream stream, int lexState) 1646 { 1647 this(stream); 1648 SwitchTo(lexState); 1649 } 1650 public void ReInit(UCode_UCodeESC_CharStream stream) 1651 { 1652 jjmatchedPos = jjnewStateCnt = 0; 1653 curLexState = defaultLexState; 1654 input_stream = stream; 1655 ReInitRounds(); 1656 } 1657 private final void ReInitRounds() 1658 { 1659 int i; 1660 jjround = 0x80000001; 1661 for (i = 43; i-- > 0;) 1662 jjrounds[i] = 0x80000000; 1663 } 1664 public void ReInit(UCode_UCodeESC_CharStream stream, int lexState) 1665 { 1666 ReInit(stream); 1667 SwitchTo(lexState); 1668 } 1669 public void SwitchTo(int lexState) 1670 { 1671 if (lexState >= 3 || lexState < 0) 1672 throw new TokenMgrError("Error: Ignoring invalid lexical state : " + lexState + ". State unchanged.", TokenMgrError.INVALID_LEXICAL_STATE); 1673 else 1674 curLexState = lexState; 1675 } 1676 1677 private final Token jjFillToken() 1678 { 1679 Token t = Token.newToken(jjmatchedKind); 1680 t.kind = jjmatchedKind; 1681 String im = jjstrLiteralImages[jjmatchedKind]; 1682 t.image = (im == null) ? input_stream.GetImage() : im; 1683 t.beginLine = input_stream.getBeginLine(); 1684 t.beginColumn = input_stream.getBeginColumn(); 1685 t.endLine = input_stream.getEndLine(); 1686 t.endColumn = input_stream.getEndColumn(); 1687 return t; 1688 } 1689 1690 int curLexState = 0; 1691 int defaultLexState = 0; 1692 int jjnewStateCnt; 1693 int jjround; 1694 int jjmatchedPos; 1695 int jjmatchedKind; 1696 1697 public final Token getNextToken() 1698 { 1699 int kind; 1700 Token specialToken = null; 1701 Token matchedToken; 1702 int curPos = 0; 1703 1704 EOFLoop : 1705 for (;;) 1706 { 1707 try 1708 { 1709 curChar = input_stream.BeginToken(); 1710 } 1711 catch(EOFException e) 1712 { 1713 jjmatchedKind = 0; 1714 matchedToken = jjFillToken(); 1715 matchedToken.specialToken = specialToken; 1716 return matchedToken; 1717 } 1718 image = null; 1719 jjimageLen = 0; 1720 1721 switch(curLexState) 1722 { 1723 case 0: 1724 jjmatchedKind = 0x7fffffff; 1725 jjmatchedPos = 0; 1726 curPos = jjMoveStringLiteralDfa0_0(); 1727 break; 1728 case 1: 1729 jjmatchedKind = 0x7fffffff; 1730 jjmatchedPos = 0; 1731 curPos = jjMoveStringLiteralDfa0_1(); 1732 break; 1733 case 2: 1734 jjmatchedKind = 0x7fffffff; 1735 jjmatchedPos = 0; 1736 curPos = jjMoveStringLiteralDfa0_2(); 1737 break; 1738 } 1739 if (jjmatchedKind != 0x7fffffff) 1740 { 1741 if (jjmatchedPos + 1 < curPos) 1742 input_stream.backup(curPos - jjmatchedPos - 1); 1743 if ((jjtoToken[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L) 1744 { 1745 matchedToken = jjFillToken(); 1746 matchedToken.specialToken = specialToken; 1747 if (jjnewLexState[jjmatchedKind] != -1) 1748 curLexState = jjnewLexState[jjmatchedKind]; 1749 return matchedToken; 1750 } 1751 else 1752 { 1753 if ((jjtoSpecial[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L) 1754 { 1755 matchedToken = jjFillToken(); 1756 if (specialToken == null) 1757 specialToken = matchedToken; 1758 else 1759 { 1760 matchedToken.specialToken = specialToken; 1761 specialToken = (specialToken.next = matchedToken); 1762 } 1763 SkipLexicalActions(matchedToken); 1764 } 1765 else 1766 SkipLexicalActions(null); 1767 if (jjnewLexState[jjmatchedKind] != -1) 1768 curLexState = jjnewLexState[jjmatchedKind]; 1769 continue EOFLoop; 1770 } 1771 } 1772 int error_line = input_stream.getEndLine(); 1773 int error_column = input_stream.getEndColumn(); 1774 String error_after = null; 1775 boolean EOFSeen = false; 1776 try { input_stream.readChar(); input_stream.backup(1); } 1777 catch (EOFException e1) { 1778 EOFSeen = true; 1779 error_after = curPos <= 1 ? "" : input_stream.GetImage(); 1780 if (curChar == '\n' || curChar == '\r') { 1781 error_line++; 1782 error_column = 0; 1783 } 1784 else 1785 error_column++; 1786 } 1787 if (!EOFSeen) { 1788 input_stream.backup(1); 1789 error_after = curPos <= 1 ? "" : input_stream.GetImage(); 1790 } 1791 throw new TokenMgrError(EOFSeen, curLexState, error_line, error_column, error_after, curChar, TokenMgrError.LEXICAL_ERROR); 1792 } 1793 } 1794 1795 final void SkipLexicalActions(Token matchedToken) 1796 { 1797 switch(jjmatchedKind) 1798 { 1799 default : 1800 break; 1801 } 1802 } 1803 }