001// $ANTLR 2.7.7 (20060906): "schema-value.g" -> "AntlrSchemaValueParser.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 */ 022package org.apache.directory.shared.ldap.model.schema.syntaxes; 023 024import java.util.List; 025import java.util.ArrayList; 026 027import org.apache.directory.shared.ldap.model.schema.parsers.ParserMonitor; 028 029 030import antlr.TokenBuffer; 031import antlr.TokenStreamException; 032import antlr.TokenStreamIOException; 033import antlr.ANTLRException; 034import antlr.LLkParser; 035import antlr.Token; 036import antlr.TokenStream; 037import antlr.RecognitionException; 038import antlr.NoViableAltException; 039import antlr.MismatchedTokenException; 040import antlr.SemanticException; 041import antlr.ParserSharedInputState; 042import antlr.collections.impl.BitSet; 043 044/** 045 * An antlr generated schema parser. This is a sub-parser used to parse 046 * numericoid, oid, oids, qdescr, qdescrs according to RFC4512. 047 * 048 * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a> 049 */ 050public class AntlrSchemaValueParser extends antlr.LLkParser implements AntlrSchemaValueTokenTypes 051 { 052 053 private ParserMonitor monitor = null; 054 public void setParserMonitor( ParserMonitor monitor ) 055 { 056 this.monitor = monitor; 057 } 058 private void matchedProduction( String msg ) 059 { 060 if ( null != monitor ) 061 { 062 monitor.matchedProduction( msg ); 063 } 064 } 065 066protected AntlrSchemaValueParser(TokenBuffer tokenBuf, int k) { 067 super(tokenBuf,k); 068 tokenNames = _tokenNames; 069} 070 071public AntlrSchemaValueParser(TokenBuffer tokenBuf) { 072 this(tokenBuf,3); 073} 074 075protected AntlrSchemaValueParser(TokenStream lexer, int k) { 076 super(lexer,k); 077 tokenNames = _tokenNames; 078} 079 080public AntlrSchemaValueParser(TokenStream lexer) { 081 this(lexer,3); 082} 083 084public AntlrSchemaValueParser(ParserSharedInputState state) { 085 super(state,3); 086 tokenNames = _tokenNames; 087} 088 089/** 090 * noidlen = numericoid [ LCURLY len RCURLY ] 091 * len = number 092 */ 093 public final AntlrSchemaParser.NoidLen noidlen() throws RecognitionException, TokenStreamException { 094 AntlrSchemaParser.NoidLen noidlen = new AntlrSchemaParser.NoidLen(); 095 096 Token d4 = null; 097 Token n2 = null; 098 Token l = null; 099 100 matchedProduction( "AntlrSchemaValueParser.noidlen()" ); 101 102 103 { 104 { 105 switch ( LA(1)) { 106 case LPAR: 107 { 108 match(LPAR); 109 break; 110 } 111 case WHSP: 112 case NUMERICOID: 113 case DESCR: 114 case QUOTE: 115 { 116 break; 117 } 118 default: 119 { 120 throw new NoViableAltException(LT(1), getFilename()); 121 } 122 } 123 } 124 { 125 switch ( LA(1)) { 126 case WHSP: 127 { 128 match(WHSP); 129 break; 130 } 131 case NUMERICOID: 132 case DESCR: 133 case QUOTE: 134 { 135 break; 136 } 137 default: 138 { 139 throw new NoViableAltException(LT(1), getFilename()); 140 } 141 } 142 } 143 { 144 switch ( LA(1)) { 145 case QUOTE: 146 { 147 match(QUOTE); 148 break; 149 } 150 case NUMERICOID: 151 case DESCR: 152 { 153 break; 154 } 155 default: 156 { 157 throw new NoViableAltException(LT(1), getFilename()); 158 } 159 } 160 } 161 { 162 switch ( LA(1)) { 163 case DESCR: 164 { 165 { 166 d4 = LT(1); 167 match(DESCR); 168 noidlen.noid = d4.getText(); 169 } 170 break; 171 } 172 case NUMERICOID: 173 { 174 { 175 n2 = LT(1); 176 match(NUMERICOID); 177 noidlen.noid = n2.getText(); 178 } 179 break; 180 } 181 default: 182 { 183 throw new NoViableAltException(LT(1), getFilename()); 184 } 185 } 186 } 187 { 188 switch ( LA(1)) { 189 case QUOTE: 190 { 191 match(QUOTE); 192 break; 193 } 194 case EOF: 195 case WHSP: 196 case RPAR: 197 case LEN: 198 { 199 break; 200 } 201 default: 202 { 203 throw new NoViableAltException(LT(1), getFilename()); 204 } 205 } 206 } 207 { 208 switch ( LA(1)) { 209 case WHSP: 210 { 211 match(WHSP); 212 break; 213 } 214 case EOF: 215 case RPAR: 216 case LEN: 217 { 218 break; 219 } 220 default: 221 { 222 throw new NoViableAltException(LT(1), getFilename()); 223 } 224 } 225 } 226 { 227 switch ( LA(1)) { 228 case RPAR: 229 { 230 match(RPAR); 231 break; 232 } 233 case EOF: 234 case LEN: 235 { 236 break; 237 } 238 default: 239 { 240 throw new NoViableAltException(LT(1), getFilename()); 241 } 242 } 243 } 244 { 245 switch ( LA(1)) { 246 case LEN: 247 { 248 l = LT(1); 249 match(LEN); 250 noidlen.len = Long.parseLong(l.getText()); 251 { 252 switch ( LA(1)) { 253 case QUOTE: 254 { 255 match(QUOTE); 256 break; 257 } 258 case EOF: 259 case WHSP: 260 case RPAR: 261 { 262 break; 263 } 264 default: 265 { 266 throw new NoViableAltException(LT(1), getFilename()); 267 } 268 } 269 } 270 { 271 switch ( LA(1)) { 272 case WHSP: 273 { 274 match(WHSP); 275 break; 276 } 277 case EOF: 278 case RPAR: 279 { 280 break; 281 } 282 default: 283 { 284 throw new NoViableAltException(LT(1), getFilename()); 285 } 286 } 287 } 288 { 289 switch ( LA(1)) { 290 case RPAR: 291 { 292 match(RPAR); 293 break; 294 } 295 case EOF: 296 { 297 break; 298 } 299 default: 300 { 301 throw new NoViableAltException(LT(1), getFilename()); 302 } 303 } 304 } 305 break; 306 } 307 case EOF: 308 { 309 break; 310 } 311 default: 312 { 313 throw new NoViableAltException(LT(1), getFilename()); 314 } 315 } 316 } 317 } 318 return noidlen; 319 } 320 321/** 322 * noidlen = numericoid [ LCURLY len RCURLY ] 323 * len = number 324 */ 325 public final AntlrSchemaParser.NoidLen quirksNoidlen() throws RecognitionException, TokenStreamException { 326 AntlrSchemaParser.NoidLen noidlen = new AntlrSchemaParser.NoidLen(); 327 328 Token q2 = null; 329 Token d4 = null; 330 Token n2 = null; 331 Token l = null; 332 333 matchedProduction( "AntlrSchemaValueParser.quirksNoidlen()" ); 334 335 336 { 337 { 338 switch ( LA(1)) { 339 case LPAR: 340 { 341 match(LPAR); 342 break; 343 } 344 case WHSP: 345 case NUMERICOID: 346 case DESCR: 347 case QUIRKS_DESCR: 348 case QUOTE: 349 { 350 break; 351 } 352 default: 353 { 354 throw new NoViableAltException(LT(1), getFilename()); 355 } 356 } 357 } 358 { 359 switch ( LA(1)) { 360 case WHSP: 361 { 362 match(WHSP); 363 break; 364 } 365 case NUMERICOID: 366 case DESCR: 367 case QUIRKS_DESCR: 368 case QUOTE: 369 { 370 break; 371 } 372 default: 373 { 374 throw new NoViableAltException(LT(1), getFilename()); 375 } 376 } 377 } 378 { 379 switch ( LA(1)) { 380 case QUOTE: 381 { 382 match(QUOTE); 383 break; 384 } 385 case NUMERICOID: 386 case DESCR: 387 case QUIRKS_DESCR: 388 { 389 break; 390 } 391 default: 392 { 393 throw new NoViableAltException(LT(1), getFilename()); 394 } 395 } 396 } 397 { 398 switch ( LA(1)) { 399 case QUIRKS_DESCR: 400 { 401 { 402 q2 = LT(1); 403 match(QUIRKS_DESCR); 404 noidlen.noid = q2.getText(); 405 } 406 break; 407 } 408 case DESCR: 409 { 410 { 411 d4 = LT(1); 412 match(DESCR); 413 noidlen.noid = d4.getText(); 414 } 415 break; 416 } 417 case NUMERICOID: 418 { 419 { 420 n2 = LT(1); 421 match(NUMERICOID); 422 noidlen.noid = n2.getText(); 423 } 424 break; 425 } 426 default: 427 { 428 throw new NoViableAltException(LT(1), getFilename()); 429 } 430 } 431 } 432 { 433 switch ( LA(1)) { 434 case QUOTE: 435 { 436 match(QUOTE); 437 break; 438 } 439 case EOF: 440 case WHSP: 441 case RPAR: 442 case LEN: 443 { 444 break; 445 } 446 default: 447 { 448 throw new NoViableAltException(LT(1), getFilename()); 449 } 450 } 451 } 452 { 453 switch ( LA(1)) { 454 case WHSP: 455 { 456 match(WHSP); 457 break; 458 } 459 case EOF: 460 case RPAR: 461 case LEN: 462 { 463 break; 464 } 465 default: 466 { 467 throw new NoViableAltException(LT(1), getFilename()); 468 } 469 } 470 } 471 { 472 switch ( LA(1)) { 473 case RPAR: 474 { 475 match(RPAR); 476 break; 477 } 478 case EOF: 479 case LEN: 480 { 481 break; 482 } 483 default: 484 { 485 throw new NoViableAltException(LT(1), getFilename()); 486 } 487 } 488 } 489 { 490 switch ( LA(1)) { 491 case LEN: 492 { 493 l = LT(1); 494 match(LEN); 495 noidlen.len = Long.parseLong(l.getText()); 496 { 497 switch ( LA(1)) { 498 case QUOTE: 499 { 500 match(QUOTE); 501 break; 502 } 503 case EOF: 504 case WHSP: 505 case RPAR: 506 { 507 break; 508 } 509 default: 510 { 511 throw new NoViableAltException(LT(1), getFilename()); 512 } 513 } 514 } 515 { 516 switch ( LA(1)) { 517 case WHSP: 518 { 519 match(WHSP); 520 break; 521 } 522 case EOF: 523 case RPAR: 524 { 525 break; 526 } 527 default: 528 { 529 throw new NoViableAltException(LT(1), getFilename()); 530 } 531 } 532 } 533 { 534 switch ( LA(1)) { 535 case RPAR: 536 { 537 match(RPAR); 538 break; 539 } 540 case EOF: 541 { 542 break; 543 } 544 default: 545 { 546 throw new NoViableAltException(LT(1), getFilename()); 547 } 548 } 549 } 550 break; 551 } 552 case EOF: 553 { 554 break; 555 } 556 default: 557 { 558 throw new NoViableAltException(LT(1), getFilename()); 559 } 560 } 561 } 562 } 563 return noidlen; 564 } 565 566/** 567 * numericoid = number 1*( DOT number ) 568 */ 569 public final String numericoid() throws RecognitionException, TokenStreamException { 570 String numericoid=null; 571 572 Token n1 = null; 573 Token n2 = null; 574 575 matchedProduction( "AntlrSchemaValueParser.numericoid()" ); 576 577 578 { 579 { 580 switch ( LA(1)) { 581 case WHSP: 582 { 583 match(WHSP); 584 break; 585 } 586 case LPAR: 587 case NUMERICOID: 588 case QUOTE: 589 { 590 break; 591 } 592 default: 593 { 594 throw new NoViableAltException(LT(1), getFilename()); 595 } 596 } 597 } 598 { 599 switch ( LA(1)) { 600 case LPAR: 601 { 602 match(LPAR); 603 { 604 switch ( LA(1)) { 605 case WHSP: 606 { 607 match(WHSP); 608 break; 609 } 610 case NUMERICOID: 611 case QUOTE: 612 { 613 break; 614 } 615 default: 616 { 617 throw new NoViableAltException(LT(1), getFilename()); 618 } 619 } 620 } 621 break; 622 } 623 case NUMERICOID: 624 case QUOTE: 625 { 626 break; 627 } 628 default: 629 { 630 throw new NoViableAltException(LT(1), getFilename()); 631 } 632 } 633 } 634 { 635 switch ( LA(1)) { 636 case QUOTE: 637 { 638 { 639 match(QUOTE); 640 n1 = LT(1); 641 match(NUMERICOID); 642 numericoid = n1.getText(); 643 match(QUOTE); 644 } 645 break; 646 } 647 case NUMERICOID: 648 { 649 { 650 n2 = LT(1); 651 match(NUMERICOID); 652 numericoid = n2.getText(); 653 } 654 break; 655 } 656 default: 657 { 658 throw new NoViableAltException(LT(1), getFilename()); 659 } 660 } 661 } 662 { 663 { 664 switch ( LA(1)) { 665 case WHSP: 666 { 667 match(WHSP); 668 break; 669 } 670 case EOF: 671 case RPAR: 672 { 673 break; 674 } 675 default: 676 { 677 throw new NoViableAltException(LT(1), getFilename()); 678 } 679 } 680 } 681 { 682 switch ( LA(1)) { 683 case RPAR: 684 { 685 match(RPAR); 686 break; 687 } 688 case EOF: 689 { 690 break; 691 } 692 default: 693 { 694 throw new NoViableAltException(LT(1), getFilename()); 695 } 696 } 697 } 698 } 699 } 700 return numericoid; 701 } 702 703/** 704 * oid = descr / numericoid 705 * numericoid = number 1*( DOT number ) 706 * descr = keystring 707 * keystring = leadkeychar *keychar 708 * leadkeychar = ALPHA 709 * keychar = ALPHA / DIGIT / HYPHEN 710 * number = DIGIT / ( LDIGIT 1*DIGIT ) 711 * 712 */ 713 public final String oid() throws RecognitionException, TokenStreamException { 714 String oid=null; 715 716 Token n1 = null; 717 Token n2 = null; 718 Token d1 = null; 719 Token d2 = null; 720 721 matchedProduction( "AntlrSchemaValueParser.oid()" ); 722 723 724 { 725 { 726 switch ( LA(1)) { 727 case WHSP: 728 { 729 match(WHSP); 730 break; 731 } 732 case NUMERICOID: 733 case DESCR: 734 case QUOTE: 735 { 736 break; 737 } 738 default: 739 { 740 throw new NoViableAltException(LT(1), getFilename()); 741 } 742 } 743 } 744 { 745 switch ( LA(1)) { 746 case NUMERICOID: 747 { 748 { 749 n2 = LT(1); 750 match(NUMERICOID); 751 oid = n2.getText(); 752 } 753 break; 754 } 755 case DESCR: 756 { 757 { 758 d2 = LT(1); 759 match(DESCR); 760 oid = d2.getText(); 761 } 762 break; 763 } 764 default: 765 if ((LA(1)==QUOTE) && (LA(2)==NUMERICOID)) { 766 { 767 match(QUOTE); 768 n1 = LT(1); 769 match(NUMERICOID); 770 oid = n1.getText(); 771 match(QUOTE); 772 } 773 } 774 else if ((LA(1)==QUOTE) && (LA(2)==DESCR)) { 775 { 776 match(QUOTE); 777 d1 = LT(1); 778 match(DESCR); 779 oid = d1.getText(); 780 match(QUOTE); 781 } 782 } 783 else { 784 throw new NoViableAltException(LT(1), getFilename()); 785 } 786 } 787 } 788 { 789 if ((LA(1)==WHSP) && (_tokenSet_0.member(LA(2))) && (_tokenSet_0.member(LA(3)))) { 790 match(WHSP); 791 } 792 else if ((_tokenSet_0.member(LA(1))) && (_tokenSet_0.member(LA(2))) && (_tokenSet_0.member(LA(3)))) { 793 } 794 else { 795 throw new NoViableAltException(LT(1), getFilename()); 796 } 797 798 } 799 } 800 return oid; 801 } 802 803/** 804 * oids = oid / ( LPAREN WSP oidlist WSP RPAREN ) 805 * oidlist = oid *( WSP DOLLAR WSP oid ) 806 */ 807 public final List<String> oids() throws RecognitionException, TokenStreamException { 808 List<String> oids; 809 810 811 matchedProduction( "AntlrSchemaValueParser.oids()" ); 812 oids = new ArrayList<String>(); 813 String oid = null; 814 815 816 { 817 switch ( LA(1)) { 818 case WHSP: 819 case NUMERICOID: 820 case DESCR: 821 case QUOTE: 822 { 823 { 824 oid=oid(); 825 oids.add(oid); 826 } 827 break; 828 } 829 case LPAR: 830 { 831 { 832 match(LPAR); 833 oid=oid(); 834 oids.add(oid); 835 { 836 _loop107: 837 do { 838 if ((_tokenSet_1.member(LA(1)))) { 839 { 840 switch ( LA(1)) { 841 case DOLLAR: 842 { 843 match(DOLLAR); 844 break; 845 } 846 case WHSP: 847 case NUMERICOID: 848 case DESCR: 849 case QUOTE: 850 { 851 break; 852 } 853 default: 854 { 855 throw new NoViableAltException(LT(1), getFilename()); 856 } 857 } 858 } 859 oid=oid(); 860 oids.add(oid); 861 } 862 else { 863 break _loop107; 864 } 865 866 } while (true); 867 } 868 match(RPAR); 869 } 870 break; 871 } 872 default: 873 { 874 throw new NoViableAltException(LT(1), getFilename()); 875 } 876 } 877 } 878 return oids; 879 } 880 881/** 882 * qdescr = SQUOTE descr SQUOTE 883 */ 884 public final String qdescr() throws RecognitionException, TokenStreamException { 885 String qdescr=null; 886 887 Token d1 = null; 888 Token d2 = null; 889 890 matchedProduction( "AntlrSchemaValueParser.qdescr()" ); 891 892 893 { 894 { 895 switch ( LA(1)) { 896 case WHSP: 897 { 898 match(WHSP); 899 break; 900 } 901 case DESCR: 902 case QUOTE: 903 { 904 break; 905 } 906 default: 907 { 908 throw new NoViableAltException(LT(1), getFilename()); 909 } 910 } 911 } 912 { 913 switch ( LA(1)) { 914 case QUOTE: 915 { 916 { 917 match(QUOTE); 918 d1 = LT(1); 919 match(DESCR); 920 qdescr = d1.getText(); 921 match(QUOTE); 922 } 923 break; 924 } 925 case DESCR: 926 { 927 { 928 d2 = LT(1); 929 match(DESCR); 930 qdescr = d2.getText(); 931 } 932 break; 933 } 934 default: 935 { 936 throw new NoViableAltException(LT(1), getFilename()); 937 } 938 } 939 } 940 } 941 return qdescr; 942 } 943 944/** 945 * qdescrs = qdescr / ( LPAREN WSP qdescrlist WSP RPAREN ) 946 * qdescrlist = [ qdescr *( SP qdescr ) ] 947 */ 948 public final List<String> qdescrs() throws RecognitionException, TokenStreamException { 949 List<String> qdescrs; 950 951 952 matchedProduction( "AntlrSchemaValueParser.qdescrs()" ); 953 qdescrs = new ArrayList<String>(); 954 String qdescr = null; 955 956 957 { 958 switch ( LA(1)) { 959 case WHSP: 960 case DESCR: 961 case QUOTE: 962 { 963 { 964 qdescr=qdescr(); 965 qdescrs.add(qdescr); 966 } 967 break; 968 } 969 case LPAR: 970 { 971 { 972 match(LPAR); 973 qdescr=qdescr(); 974 qdescrs.add(qdescr); 975 { 976 if ((LA(1)==WHSP) && (_tokenSet_2.member(LA(2))) && (_tokenSet_3.member(LA(3)))) { 977 match(WHSP); 978 } 979 else if ((_tokenSet_2.member(LA(1))) && (_tokenSet_3.member(LA(2))) && (_tokenSet_3.member(LA(3)))) { 980 } 981 else { 982 throw new NoViableAltException(LT(1), getFilename()); 983 } 984 985 } 986 { 987 switch ( LA(1)) { 988 case DOLLAR: 989 { 990 match(DOLLAR); 991 break; 992 } 993 case WHSP: 994 case RPAR: 995 case DESCR: 996 case QUOTE: 997 { 998 break; 999 } 1000 default: 1001 { 1002 throw new NoViableAltException(LT(1), getFilename()); 1003 } 1004 } 1005 } 1006 { 1007 if ((LA(1)==WHSP) && (_tokenSet_4.member(LA(2))) && (_tokenSet_3.member(LA(3)))) { 1008 match(WHSP); 1009 } 1010 else if ((_tokenSet_4.member(LA(1))) && (_tokenSet_3.member(LA(2))) && (_tokenSet_3.member(LA(3)))) { 1011 } 1012 else { 1013 throw new NoViableAltException(LT(1), getFilename()); 1014 } 1015 1016 } 1017 { 1018 _loop125: 1019 do { 1020 if ((LA(1)==WHSP||LA(1)==DESCR||LA(1)==QUOTE)) { 1021 qdescr=qdescr(); 1022 qdescrs.add(qdescr); 1023 { 1024 if ((LA(1)==WHSP) && (_tokenSet_2.member(LA(2))) && (_tokenSet_3.member(LA(3)))) { 1025 match(WHSP); 1026 } 1027 else if ((_tokenSet_2.member(LA(1))) && (_tokenSet_3.member(LA(2))) && (_tokenSet_3.member(LA(3)))) { 1028 } 1029 else { 1030 throw new NoViableAltException(LT(1), getFilename()); 1031 } 1032 1033 } 1034 { 1035 switch ( LA(1)) { 1036 case DOLLAR: 1037 { 1038 match(DOLLAR); 1039 break; 1040 } 1041 case WHSP: 1042 case RPAR: 1043 case DESCR: 1044 case QUOTE: 1045 { 1046 break; 1047 } 1048 default: 1049 { 1050 throw new NoViableAltException(LT(1), getFilename()); 1051 } 1052 } 1053 } 1054 { 1055 if ((LA(1)==WHSP) && (_tokenSet_4.member(LA(2))) && (_tokenSet_3.member(LA(3)))) { 1056 match(WHSP); 1057 } 1058 else if ((_tokenSet_4.member(LA(1))) && (_tokenSet_3.member(LA(2))) && (_tokenSet_3.member(LA(3)))) { 1059 } 1060 else { 1061 throw new NoViableAltException(LT(1), getFilename()); 1062 } 1063 1064 } 1065 } 1066 else { 1067 break _loop125; 1068 } 1069 1070 } while (true); 1071 } 1072 match(RPAR); 1073 } 1074 break; 1075 } 1076 default: 1077 { 1078 throw new NoViableAltException(LT(1), getFilename()); 1079 } 1080 } 1081 } 1082 return qdescrs; 1083 } 1084 1085/** 1086 * qdescr = SQUOTE descr SQUOTE 1087 */ 1088 public final String quirksQdescr() throws RecognitionException, TokenStreamException { 1089 String qdescr=null; 1090 1091 Token d1 = null; 1092 Token d2 = null; 1093 Token d3 = null; 1094 Token d4 = null; 1095 Token n1 = null; 1096 Token n2 = null; 1097 1098 matchedProduction( "AntlrSchemaValueParser.qdescr()" ); 1099 1100 1101 { 1102 { 1103 switch ( LA(1)) { 1104 case WHSP: 1105 { 1106 match(WHSP); 1107 break; 1108 } 1109 case NUMERICOID: 1110 case DESCR: 1111 case QUIRKS_DESCR: 1112 case QUOTE: 1113 { 1114 break; 1115 } 1116 default: 1117 { 1118 throw new NoViableAltException(LT(1), getFilename()); 1119 } 1120 } 1121 } 1122 { 1123 switch ( LA(1)) { 1124 case QUIRKS_DESCR: 1125 { 1126 { 1127 d2 = LT(1); 1128 match(QUIRKS_DESCR); 1129 qdescr = d2.getText(); 1130 } 1131 break; 1132 } 1133 case DESCR: 1134 { 1135 { 1136 d4 = LT(1); 1137 match(DESCR); 1138 qdescr = d4.getText(); 1139 } 1140 break; 1141 } 1142 case NUMERICOID: 1143 { 1144 { 1145 n2 = LT(1); 1146 match(NUMERICOID); 1147 qdescr = n2.getText(); 1148 } 1149 break; 1150 } 1151 default: 1152 if ((LA(1)==QUOTE) && (LA(2)==QUIRKS_DESCR)) { 1153 { 1154 match(QUOTE); 1155 d1 = LT(1); 1156 match(QUIRKS_DESCR); 1157 qdescr = d1.getText(); 1158 match(QUOTE); 1159 } 1160 } 1161 else if ((LA(1)==QUOTE) && (LA(2)==DESCR)) { 1162 { 1163 match(QUOTE); 1164 d3 = LT(1); 1165 match(DESCR); 1166 qdescr = d3.getText(); 1167 match(QUOTE); 1168 } 1169 } 1170 else if ((LA(1)==QUOTE) && (LA(2)==NUMERICOID)) { 1171 { 1172 match(QUOTE); 1173 n1 = LT(1); 1174 match(NUMERICOID); 1175 qdescr = n1.getText(); 1176 match(QUOTE); 1177 } 1178 } 1179 else { 1180 throw new NoViableAltException(LT(1), getFilename()); 1181 } 1182 } 1183 } 1184 { 1185 if ((LA(1)==WHSP) && (_tokenSet_5.member(LA(2))) && (_tokenSet_5.member(LA(3)))) { 1186 match(WHSP); 1187 } 1188 else if ((_tokenSet_5.member(LA(1))) && (_tokenSet_5.member(LA(2))) && (_tokenSet_5.member(LA(3)))) { 1189 } 1190 else { 1191 throw new NoViableAltException(LT(1), getFilename()); 1192 } 1193 1194 } 1195 } 1196 return qdescr; 1197 } 1198 1199/** 1200 * qdescrs = qdescr / ( LPAREN WSP qdescrlist WSP RPAREN ) 1201 * qdescrlist = [ qdescr *( SP qdescr ) ] 1202 */ 1203 public final List<String> quirksQdescrs() throws RecognitionException, TokenStreamException { 1204 List<String> qdescrs; 1205 1206 1207 matchedProduction( "AntlrSchemaValueParser.qdescrs()" ); 1208 qdescrs = new ArrayList<String>(); 1209 String qdescr = null; 1210 1211 1212 { 1213 switch ( LA(1)) { 1214 case WHSP: 1215 case NUMERICOID: 1216 case DESCR: 1217 case QUIRKS_DESCR: 1218 case QUOTE: 1219 { 1220 { 1221 qdescr=quirksQdescr(); 1222 qdescrs.add(qdescr); 1223 } 1224 break; 1225 } 1226 case LPAR: 1227 { 1228 { 1229 match(LPAR); 1230 qdescr=quirksQdescr(); 1231 qdescrs.add(qdescr); 1232 { 1233 if ((LA(1)==WHSP) && (_tokenSet_6.member(LA(2))) && (_tokenSet_5.member(LA(3)))) { 1234 match(WHSP); 1235 } 1236 else if ((_tokenSet_6.member(LA(1))) && (_tokenSet_5.member(LA(2))) && (_tokenSet_5.member(LA(3)))) { 1237 } 1238 else { 1239 throw new NoViableAltException(LT(1), getFilename()); 1240 } 1241 1242 } 1243 { 1244 switch ( LA(1)) { 1245 case DOLLAR: 1246 { 1247 match(DOLLAR); 1248 break; 1249 } 1250 case WHSP: 1251 case RPAR: 1252 case NUMERICOID: 1253 case DESCR: 1254 case QUIRKS_DESCR: 1255 case QUOTE: 1256 { 1257 break; 1258 } 1259 default: 1260 { 1261 throw new NoViableAltException(LT(1), getFilename()); 1262 } 1263 } 1264 } 1265 { 1266 if ((LA(1)==WHSP) && (_tokenSet_7.member(LA(2))) && (_tokenSet_5.member(LA(3)))) { 1267 match(WHSP); 1268 } 1269 else if ((_tokenSet_7.member(LA(1))) && (_tokenSet_5.member(LA(2))) && (_tokenSet_5.member(LA(3)))) { 1270 } 1271 else { 1272 throw new NoViableAltException(LT(1), getFilename()); 1273 } 1274 1275 } 1276 { 1277 _loop148: 1278 do { 1279 if ((_tokenSet_8.member(LA(1)))) { 1280 qdescr=quirksQdescr(); 1281 qdescrs.add(qdescr); 1282 { 1283 if ((LA(1)==WHSP) && (_tokenSet_6.member(LA(2))) && (_tokenSet_5.member(LA(3)))) { 1284 match(WHSP); 1285 } 1286 else if ((_tokenSet_6.member(LA(1))) && (_tokenSet_5.member(LA(2))) && (_tokenSet_5.member(LA(3)))) { 1287 } 1288 else { 1289 throw new NoViableAltException(LT(1), getFilename()); 1290 } 1291 1292 } 1293 { 1294 switch ( LA(1)) { 1295 case DOLLAR: 1296 { 1297 match(DOLLAR); 1298 break; 1299 } 1300 case WHSP: 1301 case RPAR: 1302 case NUMERICOID: 1303 case DESCR: 1304 case QUIRKS_DESCR: 1305 case QUOTE: 1306 { 1307 break; 1308 } 1309 default: 1310 { 1311 throw new NoViableAltException(LT(1), getFilename()); 1312 } 1313 } 1314 } 1315 { 1316 if ((LA(1)==WHSP) && (_tokenSet_7.member(LA(2))) && (_tokenSet_5.member(LA(3)))) { 1317 match(WHSP); 1318 } 1319 else if ((_tokenSet_7.member(LA(1))) && (_tokenSet_5.member(LA(2))) && (_tokenSet_5.member(LA(3)))) { 1320 } 1321 else { 1322 throw new NoViableAltException(LT(1), getFilename()); 1323 } 1324 1325 } 1326 } 1327 else { 1328 break _loop148; 1329 } 1330 1331 } while (true); 1332 } 1333 match(RPAR); 1334 } 1335 break; 1336 } 1337 default: 1338 { 1339 throw new NoViableAltException(LT(1), getFilename()); 1340 } 1341 } 1342 } 1343 return qdescrs; 1344 } 1345 1346/** 1347 * ruleid = number 1348 * number = DIGIT / ( LDIGIT 1*DIGIT ) 1349 * 1350 */ 1351 public final Integer ruleid() throws RecognitionException, TokenStreamException { 1352 Integer ruleid=null; 1353 1354 Token n = null; 1355 1356 matchedProduction( "AntlrSchemaValueParser.ruleid()" ); 1357 1358 1359 { 1360 { 1361 switch ( LA(1)) { 1362 case WHSP: 1363 { 1364 match(WHSP); 1365 break; 1366 } 1367 case NUMBER: 1368 { 1369 break; 1370 } 1371 default: 1372 { 1373 throw new NoViableAltException(LT(1), getFilename()); 1374 } 1375 } 1376 } 1377 n = LT(1); 1378 match(NUMBER); 1379 ruleid = Integer.parseInt(n.getText()); 1380 } 1381 return ruleid; 1382 } 1383 1384/** 1385 * ruleids = ruleid / ( LPAREN WSP ruleidlist WSP RPAREN ) 1386 * ruleidlist = ruleid *( SP ruleid ) 1387 */ 1388 public final List<Integer> ruleids() throws RecognitionException, TokenStreamException { 1389 List<Integer> ruleids; 1390 1391 1392 matchedProduction( "AntlrSchemaValueParser.ruleids()" ); 1393 ruleids = new ArrayList<Integer>(); 1394 Integer ruleid = null; 1395 1396 1397 { 1398 switch ( LA(1)) { 1399 case WHSP: 1400 case NUMBER: 1401 { 1402 { 1403 ruleid=ruleid(); 1404 ruleids.add(ruleid); 1405 } 1406 break; 1407 } 1408 case LPAR: 1409 { 1410 { 1411 match(LPAR); 1412 ruleid=ruleid(); 1413 ruleids.add(ruleid); 1414 { 1415 _loop157: 1416 do { 1417 if ((LA(1)==WHSP) && (LA(2)==WHSP||LA(2)==NUMBER)) { 1418 match(WHSP); 1419 ruleid=ruleid(); 1420 ruleids.add(ruleid); 1421 } 1422 else { 1423 break _loop157; 1424 } 1425 1426 } while (true); 1427 } 1428 { 1429 switch ( LA(1)) { 1430 case WHSP: 1431 { 1432 match(WHSP); 1433 break; 1434 } 1435 case RPAR: 1436 { 1437 break; 1438 } 1439 default: 1440 { 1441 throw new NoViableAltException(LT(1), getFilename()); 1442 } 1443 } 1444 } 1445 match(RPAR); 1446 } 1447 break; 1448 } 1449 default: 1450 { 1451 throw new NoViableAltException(LT(1), getFilename()); 1452 } 1453 } 1454 } 1455 return ruleids; 1456 } 1457 1458 1459 public static final String[] _tokenNames = { 1460 "<0>", 1461 "EOF", 1462 "<2>", 1463 "NULL_TREE_LOOKAHEAD", 1464 "WHSP", 1465 "LPAR", 1466 "RPAR", 1467 "CHAR", 1468 "LDIGIT", 1469 "DIGIT", 1470 "NUMBER", 1471 "NUMBER2", 1472 "NUMERICOID", 1473 "HYPEN", 1474 "OTHER", 1475 "DESCR", 1476 "QUIRKS_DESCR", 1477 "QUOTE", 1478 "DOLLAR", 1479 "LCURLY", 1480 "RCURLY", 1481 "LEN", 1482 "DESCR_OR_QUIRKS_DESCR" 1483 }; 1484 1485 private static final long[] mk_tokenSet_0() { 1486 long[] data = { 430162L, 0L}; 1487 return data; 1488 } 1489 public static final BitSet _tokenSet_0 = new BitSet(mk_tokenSet_0()); 1490 private static final long[] mk_tokenSet_1() { 1491 long[] data = { 430096L, 0L}; 1492 return data; 1493 } 1494 public static final BitSet _tokenSet_1 = new BitSet(mk_tokenSet_1()); 1495 private static final long[] mk_tokenSet_2() { 1496 long[] data = { 426064L, 0L}; 1497 return data; 1498 } 1499 public static final BitSet _tokenSet_2 = new BitSet(mk_tokenSet_2()); 1500 private static final long[] mk_tokenSet_3() { 1501 long[] data = { 426066L, 0L}; 1502 return data; 1503 } 1504 public static final BitSet _tokenSet_3 = new BitSet(mk_tokenSet_3()); 1505 private static final long[] mk_tokenSet_4() { 1506 long[] data = { 163920L, 0L}; 1507 return data; 1508 } 1509 public static final BitSet _tokenSet_4 = new BitSet(mk_tokenSet_4()); 1510 private static final long[] mk_tokenSet_5() { 1511 long[] data = { 495698L, 0L}; 1512 return data; 1513 } 1514 public static final BitSet _tokenSet_5 = new BitSet(mk_tokenSet_5()); 1515 private static final long[] mk_tokenSet_6() { 1516 long[] data = { 495696L, 0L}; 1517 return data; 1518 } 1519 public static final BitSet _tokenSet_6 = new BitSet(mk_tokenSet_6()); 1520 private static final long[] mk_tokenSet_7() { 1521 long[] data = { 233552L, 0L}; 1522 return data; 1523 } 1524 public static final BitSet _tokenSet_7 = new BitSet(mk_tokenSet_7()); 1525 private static final long[] mk_tokenSet_8() { 1526 long[] data = { 233488L, 0L}; 1527 return data; 1528 } 1529 public static final BitSet _tokenSet_8 = new BitSet(mk_tokenSet_8()); 1530 1531 }