001/* Generated By:JavaCC: Do not edit this line. ELParser.java */ 002package org.apache.commons.el.parser; 003 004import java.util.ArrayList; 005import java.util.List; 006 007import org.apache.commons.el.AndOperator; 008import org.apache.commons.el.ArraySuffix; 009import org.apache.commons.el.BinaryOperator; 010import org.apache.commons.el.BinaryOperatorExpression; 011import org.apache.commons.el.BooleanLiteral; 012import org.apache.commons.el.ComplexValue; 013import org.apache.commons.el.ConditionalExpression; 014import org.apache.commons.el.DivideOperator; 015import org.apache.commons.el.EmptyOperator; 016import org.apache.commons.el.EqualsOperator; 017import org.apache.commons.el.Expression; 018import org.apache.commons.el.ExpressionString; 019import org.apache.commons.el.FloatingPointLiteral; 020import org.apache.commons.el.FunctionInvocation; 021import org.apache.commons.el.GreaterThanOperator; 022import org.apache.commons.el.GreaterThanOrEqualsOperator; 023import org.apache.commons.el.IntegerLiteral; 024import org.apache.commons.el.LessThanOperator; 025import org.apache.commons.el.LessThanOrEqualsOperator; 026import org.apache.commons.el.Literal; 027import org.apache.commons.el.MinusOperator; 028import org.apache.commons.el.ModulusOperator; 029import org.apache.commons.el.MultiplyOperator; 030import org.apache.commons.el.NamedValue; 031import org.apache.commons.el.NotEqualsOperator; 032import org.apache.commons.el.NotOperator; 033import org.apache.commons.el.NullLiteral; 034import org.apache.commons.el.OrOperator; 035import org.apache.commons.el.PlusOperator; 036import org.apache.commons.el.PropertySuffix; 037import org.apache.commons.el.StringLiteral; 038import org.apache.commons.el.UnaryMinusOperator; 039import org.apache.commons.el.UnaryOperator; 040import org.apache.commons.el.UnaryOperatorExpression; 041import org.apache.commons.el.ValueSuffix; 042 043/** 044 * Generated EL parser. 045 * 046 * @author Nathan Abramson 047 * @author Shawn Bayern 048 */ 049 050public class ELParser implements ELParserConstants { 051 052 public static void main(String args[]) 053 throws ParseException 054 { 055 ELParser parser = new ELParser (System.in); 056 parser.ExpressionString (); 057 } 058 059/***************************************** 060 * GRAMMAR PRODUCTIONS * 061 *****************************************/ 062 063/** 064 * 065 * Returns a String if the expression string is a single String, an 066 * Expression if the expression string is a single Expression, an 067 * ExpressionString if it's a mixture of both. 068 **/ 069 final public Object ExpressionString() throws ParseException { 070 Object ret = ""; 071 List elems = null; 072 Object elem; 073 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { 074 case NON_EXPRESSION_TEXT: 075 ret = AttrValueString(); 076 break; 077 case START_EXPRESSION: 078 ret = AttrValueExpression(); 079 break; 080 default: 081 jj_la1[0] = jj_gen; 082 jj_consume_token(-1); 083 throw new ParseException(); 084 } 085 label_1: 086 while (true) { 087 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { 088 case NON_EXPRESSION_TEXT: 089 case START_EXPRESSION: 090 ; 091 break; 092 default: 093 jj_la1[1] = jj_gen; 094 break label_1; 095 } 096 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { 097 case NON_EXPRESSION_TEXT: 098 elem = AttrValueString(); 099 break; 100 case START_EXPRESSION: 101 elem = AttrValueExpression(); 102 break; 103 default: 104 jj_la1[2] = jj_gen; 105 jj_consume_token(-1); 106 throw new ParseException(); 107 } 108 if (elems == null) { 109 elems = new ArrayList (); 110 elems.add (ret); 111 } 112 elems.add (elem); 113 } 114 if (elems != null) { 115 ret = new ExpressionString (elems.toArray ()); 116 } 117 {if (true) return ret;} 118 throw new Error("Missing return statement in function"); 119 } 120 121 final public String AttrValueString() throws ParseException { 122 Token t; 123 t = jj_consume_token(NON_EXPRESSION_TEXT); 124 {if (true) return t.image;} 125 throw new Error("Missing return statement in function"); 126 } 127 128 final public Expression AttrValueExpression() throws ParseException { 129 Expression exp; 130 jj_consume_token(START_EXPRESSION); 131 exp = Expression(); 132 jj_consume_token(END_EXPRESSION); 133 {if (true) return exp;} 134 throw new Error("Missing return statement in function"); 135 } 136 137 final public Expression Expression() throws ParseException { 138 Expression ret; 139 if (jj_2_1(2147483647)) { 140 ret = ConditionalExpression(); 141 } else { 142 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { 143 case INTEGER_LITERAL: 144 case FLOATING_POINT_LITERAL: 145 case STRING_LITERAL: 146 case TRUE: 147 case FALSE: 148 case NULL: 149 case LPAREN: 150 case MINUS: 151 case NOT1: 152 case NOT2: 153 case EMPTY: 154 case IDENTIFIER: 155 ret = OrExpression(); 156 break; 157 default: 158 jj_la1[3] = jj_gen; 159 jj_consume_token(-1); 160 throw new ParseException(); 161 } 162 } 163 {if (true) return ret;} 164 throw new Error("Missing return statement in function"); 165 } 166 167 final public Expression OrExpression() throws ParseException { 168 Expression startExpression; 169 BinaryOperator operator; 170 Expression expression; 171 List operators = null; 172 List expressions = null; 173 startExpression = AndExpression(); 174 label_2: 175 while (true) { 176 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { 177 case OR1: 178 case OR2: 179 ; 180 break; 181 default: 182 jj_la1[4] = jj_gen; 183 break label_2; 184 } 185 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { 186 case OR1: 187 jj_consume_token(OR1); 188 break; 189 case OR2: 190 jj_consume_token(OR2); 191 break; 192 default: 193 jj_la1[5] = jj_gen; 194 jj_consume_token(-1); 195 throw new ParseException(); 196 } 197 operator = OrOperator.SINGLETON; 198 expression = AndExpression(); 199 if (operators == null) { 200 operators = new ArrayList (); 201 expressions = new ArrayList (); 202 } 203 operators.add (operator); 204 expressions.add (expression); 205 } 206 if (operators != null) { 207 {if (true) return new BinaryOperatorExpression (startExpression, 208 operators, 209 expressions);} 210 } 211 else { 212 {if (true) return startExpression;} 213 } 214 throw new Error("Missing return statement in function"); 215 } 216 217 final public Expression AndExpression() throws ParseException { 218 Expression startExpression; 219 BinaryOperator operator; 220 Expression expression; 221 List operators = null; 222 List expressions = null; 223 startExpression = EqualityExpression(); 224 label_3: 225 while (true) { 226 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { 227 case AND1: 228 case AND2: 229 ; 230 break; 231 default: 232 jj_la1[6] = jj_gen; 233 break label_3; 234 } 235 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { 236 case AND1: 237 jj_consume_token(AND1); 238 break; 239 case AND2: 240 jj_consume_token(AND2); 241 break; 242 default: 243 jj_la1[7] = jj_gen; 244 jj_consume_token(-1); 245 throw new ParseException(); 246 } 247 operator = AndOperator.SINGLETON; 248 expression = EqualityExpression(); 249 if (operators == null) { 250 operators = new ArrayList (); 251 expressions = new ArrayList (); 252 } 253 operators.add (operator); 254 expressions.add (expression); 255 } 256 if (operators != null) { 257 {if (true) return new BinaryOperatorExpression (startExpression, 258 operators, 259 expressions);} 260 } 261 else { 262 {if (true) return startExpression;} 263 } 264 throw new Error("Missing return statement in function"); 265 } 266 267 final public Expression EqualityExpression() throws ParseException { 268 Expression startExpression; 269 BinaryOperator operator; 270 Expression expression; 271 List operators = null; 272 List expressions = null; 273 startExpression = RelationalExpression(); 274 label_4: 275 while (true) { 276 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { 277 case EQ1: 278 case EQ2: 279 case NE1: 280 case NE2: 281 ; 282 break; 283 default: 284 jj_la1[8] = jj_gen; 285 break label_4; 286 } 287 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { 288 case EQ1: 289 case EQ2: 290 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { 291 case EQ1: 292 jj_consume_token(EQ1); 293 break; 294 case EQ2: 295 jj_consume_token(EQ2); 296 break; 297 default: 298 jj_la1[9] = jj_gen; 299 jj_consume_token(-1); 300 throw new ParseException(); 301 } 302 operator = EqualsOperator.SINGLETON; 303 break; 304 case NE1: 305 case NE2: 306 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { 307 case NE1: 308 jj_consume_token(NE1); 309 break; 310 case NE2: 311 jj_consume_token(NE2); 312 break; 313 default: 314 jj_la1[10] = jj_gen; 315 jj_consume_token(-1); 316 throw new ParseException(); 317 } 318 operator = NotEqualsOperator.SINGLETON; 319 break; 320 default: 321 jj_la1[11] = jj_gen; 322 jj_consume_token(-1); 323 throw new ParseException(); 324 } 325 expression = RelationalExpression(); 326 if (operators == null) { 327 operators = new ArrayList (); 328 expressions = new ArrayList (); 329 } 330 operators.add (operator); 331 expressions.add (expression); 332 } 333 if (operators != null) { 334 {if (true) return new BinaryOperatorExpression (startExpression, 335 operators, 336 expressions);} 337 } 338 else { 339 {if (true) return startExpression;} 340 } 341 throw new Error("Missing return statement in function"); 342 } 343 344 final public Expression RelationalExpression() throws ParseException { 345 Expression startExpression; 346 BinaryOperator operator; 347 Expression expression; 348 List operators = null; 349 List expressions = null; 350 startExpression = AddExpression(); 351 label_5: 352 while (true) { 353 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { 354 case GT1: 355 case GT2: 356 case LT1: 357 case LT2: 358 case LE1: 359 case LE2: 360 case GE1: 361 case GE2: 362 ; 363 break; 364 default: 365 jj_la1[12] = jj_gen; 366 break label_5; 367 } 368 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { 369 case LT1: 370 case LT2: 371 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { 372 case LT1: 373 jj_consume_token(LT1); 374 break; 375 case LT2: 376 jj_consume_token(LT2); 377 break; 378 default: 379 jj_la1[13] = jj_gen; 380 jj_consume_token(-1); 381 throw new ParseException(); 382 } 383 operator = LessThanOperator.SINGLETON; 384 break; 385 case GT1: 386 case GT2: 387 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { 388 case GT1: 389 jj_consume_token(GT1); 390 break; 391 case GT2: 392 jj_consume_token(GT2); 393 break; 394 default: 395 jj_la1[14] = jj_gen; 396 jj_consume_token(-1); 397 throw new ParseException(); 398 } 399 operator = GreaterThanOperator.SINGLETON; 400 break; 401 case GE1: 402 case GE2: 403 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { 404 case GE1: 405 jj_consume_token(GE1); 406 break; 407 case GE2: 408 jj_consume_token(GE2); 409 break; 410 default: 411 jj_la1[15] = jj_gen; 412 jj_consume_token(-1); 413 throw new ParseException(); 414 } 415 operator = GreaterThanOrEqualsOperator.SINGLETON; 416 break; 417 case LE1: 418 case LE2: 419 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { 420 case LE1: 421 jj_consume_token(LE1); 422 break; 423 case LE2: 424 jj_consume_token(LE2); 425 break; 426 default: 427 jj_la1[16] = jj_gen; 428 jj_consume_token(-1); 429 throw new ParseException(); 430 } 431 operator = LessThanOrEqualsOperator.SINGLETON; 432 break; 433 default: 434 jj_la1[17] = jj_gen; 435 jj_consume_token(-1); 436 throw new ParseException(); 437 } 438 expression = AddExpression(); 439 if (operators == null) { 440 operators = new ArrayList (); 441 expressions = new ArrayList (); 442 } 443 operators.add (operator); 444 expressions.add (expression); 445 } 446 if (operators != null) { 447 {if (true) return new BinaryOperatorExpression (startExpression, 448 operators, 449 expressions);} 450 } 451 else { 452 {if (true) return startExpression;} 453 } 454 throw new Error("Missing return statement in function"); 455 } 456 457 final public Expression AddExpression() throws ParseException { 458 Expression startExpression; 459 BinaryOperator operator; 460 Expression expression; 461 List operators = null; 462 List expressions = null; 463 startExpression = MultiplyExpression(); 464 label_6: 465 while (true) { 466 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { 467 case PLUS: 468 case MINUS: 469 ; 470 break; 471 default: 472 jj_la1[18] = jj_gen; 473 break label_6; 474 } 475 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { 476 case PLUS: 477 jj_consume_token(PLUS); 478 operator = PlusOperator.SINGLETON; 479 break; 480 case MINUS: 481 jj_consume_token(MINUS); 482 operator = MinusOperator.SINGLETON; 483 break; 484 default: 485 jj_la1[19] = jj_gen; 486 jj_consume_token(-1); 487 throw new ParseException(); 488 } 489 expression = MultiplyExpression(); 490 if (operators == null) { 491 operators = new ArrayList (); 492 expressions = new ArrayList (); 493 } 494 operators.add (operator); 495 expressions.add (expression); 496 } 497 if (operators != null) { 498 {if (true) return new BinaryOperatorExpression (startExpression, 499 operators, 500 expressions);} 501 } 502 else { 503 {if (true) return startExpression;} 504 } 505 throw new Error("Missing return statement in function"); 506 } 507 508 final public Expression MultiplyExpression() throws ParseException { 509 Expression startExpression; 510 BinaryOperator operator; 511 Expression expression; 512 List operators = null; 513 List expressions = null; 514 startExpression = UnaryExpression(); 515 label_7: 516 while (true) { 517 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { 518 case MULTIPLY: 519 case DIVIDE1: 520 case DIVIDE2: 521 case MODULUS1: 522 case MODULUS2: 523 ; 524 break; 525 default: 526 jj_la1[20] = jj_gen; 527 break label_7; 528 } 529 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { 530 case MULTIPLY: 531 jj_consume_token(MULTIPLY); 532 operator = MultiplyOperator.SINGLETON; 533 break; 534 case DIVIDE1: 535 case DIVIDE2: 536 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { 537 case DIVIDE1: 538 jj_consume_token(DIVIDE1); 539 break; 540 case DIVIDE2: 541 jj_consume_token(DIVIDE2); 542 break; 543 default: 544 jj_la1[21] = jj_gen; 545 jj_consume_token(-1); 546 throw new ParseException(); 547 } 548 operator = DivideOperator.SINGLETON; 549 break; 550 case MODULUS1: 551 case MODULUS2: 552 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { 553 case MODULUS1: 554 jj_consume_token(MODULUS1); 555 break; 556 case MODULUS2: 557 jj_consume_token(MODULUS2); 558 break; 559 default: 560 jj_la1[22] = jj_gen; 561 jj_consume_token(-1); 562 throw new ParseException(); 563 } 564 operator = ModulusOperator.SINGLETON; 565 break; 566 default: 567 jj_la1[23] = jj_gen; 568 jj_consume_token(-1); 569 throw new ParseException(); 570 } 571 expression = UnaryExpression(); 572 if (operators == null) { 573 operators = new ArrayList (); 574 expressions = new ArrayList (); 575 } 576 operators.add (operator); 577 expressions.add (expression); 578 } 579 if (operators != null) { 580 {if (true) return new BinaryOperatorExpression (startExpression, 581 operators, 582 expressions);} 583 } 584 else { 585 {if (true) return startExpression;} 586 } 587 throw new Error("Missing return statement in function"); 588 } 589 590 final public Expression ConditionalExpression() throws ParseException { 591 Expression condition, trueBranch, falseBranch; 592 condition = OrExpression(); 593 jj_consume_token(COND); 594 trueBranch = Expression(); 595 jj_consume_token(COLON); 596 falseBranch = Expression(); 597 {if (true) return new ConditionalExpression(condition, trueBranch, falseBranch);} 598 throw new Error("Missing return statement in function"); 599 } 600 601 final public Expression UnaryExpression() throws ParseException { 602 Expression expression; 603 UnaryOperator singleOperator = null; 604 UnaryOperator operator; 605 List operators = null; 606 label_8: 607 while (true) { 608 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { 609 case MINUS: 610 case NOT1: 611 case NOT2: 612 case EMPTY: 613 ; 614 break; 615 default: 616 jj_la1[24] = jj_gen; 617 break label_8; 618 } 619 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { 620 case NOT1: 621 case NOT2: 622 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { 623 case NOT1: 624 jj_consume_token(NOT1); 625 break; 626 case NOT2: 627 jj_consume_token(NOT2); 628 break; 629 default: 630 jj_la1[25] = jj_gen; 631 jj_consume_token(-1); 632 throw new ParseException(); 633 } 634 operator = NotOperator.SINGLETON; 635 break; 636 case MINUS: 637 jj_consume_token(MINUS); 638 operator = UnaryMinusOperator.SINGLETON; 639 break; 640 case EMPTY: 641 jj_consume_token(EMPTY); 642 operator = EmptyOperator.SINGLETON; 643 break; 644 default: 645 jj_la1[26] = jj_gen; 646 jj_consume_token(-1); 647 throw new ParseException(); 648 } 649 if (singleOperator == null) { 650 singleOperator = operator; 651 } 652 else if (operators == null) { 653 operators = new ArrayList (); 654 operators.add (singleOperator); 655 operators.add (operator); 656 } 657 else { 658 operators.add (operator); 659 } 660 } 661 expression = Value(); 662 if (operators != null) { 663 {if (true) return new UnaryOperatorExpression (null, operators, expression);} 664 } 665 else if (singleOperator != null) { 666 {if (true) return new UnaryOperatorExpression (singleOperator, null, expression);} 667 } 668 else { 669 {if (true) return expression;} 670 } 671 throw new Error("Missing return statement in function"); 672 } 673 674 final public Expression Value() throws ParseException { 675 Expression prefix; 676 ValueSuffix suffix; 677 List suffixes = null; 678 prefix = ValuePrefix(); 679 label_9: 680 while (true) { 681 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { 682 case DOT: 683 case LBRACKET: 684 ; 685 break; 686 default: 687 jj_la1[27] = jj_gen; 688 break label_9; 689 } 690 suffix = ValueSuffix(); 691 if (suffixes == null) { 692 suffixes = new ArrayList (); 693 } 694 suffixes.add (suffix); 695 } 696 if (suffixes == null) { 697 {if (true) return prefix;} 698 } 699 else { 700 {if (true) return new ComplexValue (prefix, suffixes);} 701 } 702 throw new Error("Missing return statement in function"); 703 } 704 705/** 706 * This is an element that can start a value 707 **/ 708 final public Expression ValuePrefix() throws ParseException { 709 Expression ret; 710 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { 711 case INTEGER_LITERAL: 712 case FLOATING_POINT_LITERAL: 713 case STRING_LITERAL: 714 case TRUE: 715 case FALSE: 716 case NULL: 717 ret = Literal(); 718 break; 719 case LPAREN: 720 jj_consume_token(LPAREN); 721 ret = Expression(); 722 jj_consume_token(RPAREN); 723 break; 724 default: 725 jj_la1[28] = jj_gen; 726 if (jj_2_2(2147483647)) { 727 ret = FunctionInvocation(); 728 } else { 729 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { 730 case IDENTIFIER: 731 ret = NamedValue(); 732 break; 733 default: 734 jj_la1[29] = jj_gen; 735 jj_consume_token(-1); 736 throw new ParseException(); 737 } 738 } 739 } 740 {if (true) return ret;} 741 throw new Error("Missing return statement in function"); 742 } 743 744 final public NamedValue NamedValue() throws ParseException { 745 Token t; 746 t = jj_consume_token(IDENTIFIER); 747 {if (true) return new NamedValue (t.image);} 748 throw new Error("Missing return statement in function"); 749 } 750 751 final public FunctionInvocation FunctionInvocation() throws ParseException { 752 String qualifiedName; 753 List argumentList = new ArrayList(); 754 Expression exp; 755 qualifiedName = QualifiedName(); 756 jj_consume_token(LPAREN); 757 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { 758 case INTEGER_LITERAL: 759 case FLOATING_POINT_LITERAL: 760 case STRING_LITERAL: 761 case TRUE: 762 case FALSE: 763 case NULL: 764 case LPAREN: 765 case MINUS: 766 case NOT1: 767 case NOT2: 768 case EMPTY: 769 case IDENTIFIER: 770 exp = Expression(); 771 argumentList.add(exp); 772 label_10: 773 while (true) { 774 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { 775 case COMMA: 776 ; 777 break; 778 default: 779 jj_la1[30] = jj_gen; 780 break label_10; 781 } 782 jj_consume_token(COMMA); 783 exp = Expression(); 784 argumentList.add(exp); 785 } 786 break; 787 default: 788 jj_la1[31] = jj_gen; 789 ; 790 } 791 jj_consume_token(RPAREN); 792 {if (true) return new FunctionInvocation(qualifiedName, argumentList);} 793 throw new Error("Missing return statement in function"); 794 } 795 796 final public ValueSuffix ValueSuffix() throws ParseException { 797 ValueSuffix suffix; 798 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { 799 case DOT: 800 suffix = PropertySuffix(); 801 break; 802 case LBRACKET: 803 suffix = ArraySuffix(); 804 break; 805 default: 806 jj_la1[32] = jj_gen; 807 jj_consume_token(-1); 808 throw new ParseException(); 809 } 810 {if (true) return suffix;} 811 throw new Error("Missing return statement in function"); 812 } 813 814 final public PropertySuffix PropertySuffix() throws ParseException { 815 Token t; 816 String property; 817 jj_consume_token(DOT); 818 property = Identifier(); 819 {if (true) return new PropertySuffix (property);} 820 throw new Error("Missing return statement in function"); 821 } 822 823 final public ArraySuffix ArraySuffix() throws ParseException { 824 Expression index; 825 jj_consume_token(LBRACKET); 826 index = Expression(); 827 jj_consume_token(RBRACKET); 828 {if (true) return new ArraySuffix (index);} 829 throw new Error("Missing return statement in function"); 830 } 831 832 final public Literal Literal() throws ParseException { 833 Literal ret; 834 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { 835 case TRUE: 836 case FALSE: 837 ret = BooleanLiteral(); 838 break; 839 case INTEGER_LITERAL: 840 ret = IntegerLiteral(); 841 break; 842 case FLOATING_POINT_LITERAL: 843 ret = FloatingPointLiteral(); 844 break; 845 case STRING_LITERAL: 846 ret = StringLiteral(); 847 break; 848 case NULL: 849 ret = NullLiteral(); 850 break; 851 default: 852 jj_la1[33] = jj_gen; 853 jj_consume_token(-1); 854 throw new ParseException(); 855 } 856 {if (true) return ret;} 857 throw new Error("Missing return statement in function"); 858 } 859 860 final public BooleanLiteral BooleanLiteral() throws ParseException { 861 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { 862 case TRUE: 863 jj_consume_token(TRUE); 864 {if (true) return BooleanLiteral.TRUE;} 865 break; 866 case FALSE: 867 jj_consume_token(FALSE); 868 {if (true) return BooleanLiteral.FALSE;} 869 break; 870 default: 871 jj_la1[34] = jj_gen; 872 jj_consume_token(-1); 873 throw new ParseException(); 874 } 875 throw new Error("Missing return statement in function"); 876 } 877 878 final public StringLiteral StringLiteral() throws ParseException { 879 Token t; 880 t = jj_consume_token(STRING_LITERAL); 881 {if (true) return StringLiteral.fromToken (t.image);} 882 throw new Error("Missing return statement in function"); 883 } 884 885 final public IntegerLiteral IntegerLiteral() throws ParseException { 886 Token t; 887 t = jj_consume_token(INTEGER_LITERAL); 888 {if (true) return new IntegerLiteral (t.image);} 889 throw new Error("Missing return statement in function"); 890 } 891 892 final public FloatingPointLiteral FloatingPointLiteral() throws ParseException { 893 Token t; 894 t = jj_consume_token(FLOATING_POINT_LITERAL); 895 {if (true) return new FloatingPointLiteral (t.image);} 896 throw new Error("Missing return statement in function"); 897 } 898 899 final public NullLiteral NullLiteral() throws ParseException { 900 jj_consume_token(NULL); 901 {if (true) return NullLiteral.SINGLETON;} 902 throw new Error("Missing return statement in function"); 903 } 904 905 final public String Identifier() throws ParseException { 906 Token t; 907 t = jj_consume_token(IDENTIFIER); 908 {if (true) return t.image;} 909 throw new Error("Missing return statement in function"); 910 } 911 912 final public String QualifiedName() throws ParseException { 913 String prefix = null, localPart = null; 914 if (jj_2_3(2147483647)) { 915 prefix = Identifier(); 916 jj_consume_token(COLON); 917 } else { 918 ; 919 } 920 localPart = Identifier(); 921 if (prefix == null) 922 {if (true) return localPart;} 923 else 924 {if (true) return prefix + ":" + localPart;} 925 throw new Error("Missing return statement in function"); 926 } 927 928 final private boolean jj_2_1(int xla) { 929 jj_la = xla; jj_lastpos = jj_scanpos = token; 930 boolean retval = !jj_3_1(); 931 jj_save(0, xla); 932 return retval; 933 } 934 935 final private boolean jj_2_2(int xla) { 936 jj_la = xla; jj_lastpos = jj_scanpos = token; 937 boolean retval = !jj_3_2(); 938 jj_save(1, xla); 939 return retval; 940 } 941 942 final private boolean jj_2_3(int xla) { 943 jj_la = xla; jj_lastpos = jj_scanpos = token; 944 boolean retval = !jj_3_3(); 945 jj_save(2, xla); 946 return retval; 947 } 948 949 final private boolean jj_3R_42() { 950 if (jj_scan_token(NE2)) return true; 951 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 952 return false; 953 } 954 955 final private boolean jj_3R_91() { 956 if (jj_scan_token(FLOATING_POINT_LITERAL)) return true; 957 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 958 return false; 959 } 960 961 final private boolean jj_3R_40() { 962 if (jj_scan_token(EQ2)) return true; 963 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 964 return false; 965 } 966 967 final private boolean jj_3R_41() { 968 if (jj_scan_token(NE1)) return true; 969 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 970 return false; 971 } 972 973 final private boolean jj_3R_32() { 974 Token xsp; 975 xsp = jj_scanpos; 976 if (jj_3R_41()) { 977 jj_scanpos = xsp; 978 if (jj_3R_42()) return true; 979 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 980 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 981 return false; 982 } 983 984 final private boolean jj_3R_90() { 985 if (jj_scan_token(INTEGER_LITERAL)) return true; 986 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 987 return false; 988 } 989 990 final private boolean jj_3R_39() { 991 if (jj_scan_token(EQ1)) return true; 992 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 993 return false; 994 } 995 996 final private boolean jj_3R_31() { 997 Token xsp; 998 xsp = jj_scanpos; 999 if (jj_3R_39()) { 1000 jj_scanpos = xsp; 1001 if (jj_3R_40()) return true; 1002 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1003 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1004 return false; 1005 } 1006 1007 final private boolean jj_3R_26() { 1008 Token xsp; 1009 xsp = jj_scanpos; 1010 if (jj_3R_31()) { 1011 jj_scanpos = xsp; 1012 if (jj_3R_32()) return true; 1013 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1014 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1015 if (jj_3R_25()) return true; 1016 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1017 return false; 1018 } 1019 1020 final private boolean jj_3R_70() { 1021 if (jj_scan_token(NOT2)) return true; 1022 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1023 return false; 1024 } 1025 1026 final private boolean jj_3R_21() { 1027 if (jj_3R_25()) return true; 1028 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1029 Token xsp; 1030 while (true) { 1031 xsp = jj_scanpos; 1032 if (jj_3R_26()) { jj_scanpos = xsp; break; } 1033 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1034 } 1035 return false; 1036 } 1037 1038 final private boolean jj_3R_92() { 1039 if (jj_scan_token(STRING_LITERAL)) return true; 1040 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1041 return false; 1042 } 1043 1044 final private boolean jj_3R_62() { 1045 if (jj_scan_token(EMPTY)) return true; 1046 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1047 return false; 1048 } 1049 1050 final private boolean jj_3R_61() { 1051 if (jj_scan_token(MINUS)) return true; 1052 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1053 return false; 1054 } 1055 1056 final private boolean jj_3R_69() { 1057 if (jj_scan_token(NOT1)) return true; 1058 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1059 return false; 1060 } 1061 1062 final private boolean jj_3R_60() { 1063 Token xsp; 1064 xsp = jj_scanpos; 1065 if (jj_3R_69()) { 1066 jj_scanpos = xsp; 1067 if (jj_3R_70()) return true; 1068 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1069 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1070 return false; 1071 } 1072 1073 final private boolean jj_3R_55() { 1074 Token xsp; 1075 xsp = jj_scanpos; 1076 if (jj_3R_60()) { 1077 jj_scanpos = xsp; 1078 if (jj_3R_61()) { 1079 jj_scanpos = xsp; 1080 if (jj_3R_62()) return true; 1081 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1082 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1083 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1084 return false; 1085 } 1086 1087 final private boolean jj_3R_96() { 1088 if (jj_scan_token(FALSE)) return true; 1089 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1090 return false; 1091 } 1092 1093 final private boolean jj_3R_43() { 1094 Token xsp; 1095 while (true) { 1096 xsp = jj_scanpos; 1097 if (jj_3R_55()) { jj_scanpos = xsp; break; } 1098 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1099 } 1100 if (jj_3R_56()) return true; 1101 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1102 return false; 1103 } 1104 1105 final private boolean jj_3R_95() { 1106 if (jj_scan_token(TRUE)) return true; 1107 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1108 return false; 1109 } 1110 1111 final private boolean jj_3R_89() { 1112 Token xsp; 1113 xsp = jj_scanpos; 1114 if (jj_3R_95()) { 1115 jj_scanpos = xsp; 1116 if (jj_3R_96()) return true; 1117 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1118 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1119 return false; 1120 } 1121 1122 final private boolean jj_3R_85() { 1123 if (jj_3R_93()) return true; 1124 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1125 return false; 1126 } 1127 1128 final private boolean jj_3R_84() { 1129 if (jj_3R_92()) return true; 1130 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1131 return false; 1132 } 1133 1134 final private boolean jj_3R_83() { 1135 if (jj_3R_91()) return true; 1136 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1137 return false; 1138 } 1139 1140 final private boolean jj_3R_82() { 1141 if (jj_3R_90()) return true; 1142 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1143 return false; 1144 } 1145 1146 final private boolean jj_3R_28() { 1147 if (jj_scan_token(AND2)) return true; 1148 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1149 return false; 1150 } 1151 1152 final private boolean jj_3R_81() { 1153 if (jj_3R_89()) return true; 1154 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1155 return false; 1156 } 1157 1158 final private boolean jj_3R_76() { 1159 Token xsp; 1160 xsp = jj_scanpos; 1161 if (jj_3R_81()) { 1162 jj_scanpos = xsp; 1163 if (jj_3R_82()) { 1164 jj_scanpos = xsp; 1165 if (jj_3R_83()) { 1166 jj_scanpos = xsp; 1167 if (jj_3R_84()) { 1168 jj_scanpos = xsp; 1169 if (jj_3R_85()) return true; 1170 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1171 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1172 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1173 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1174 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1175 return false; 1176 } 1177 1178 final private boolean jj_3R_11() { 1179 if (jj_3R_14()) return true; 1180 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1181 if (jj_scan_token(COND)) return true; 1182 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1183 if (jj_3R_15()) return true; 1184 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1185 if (jj_scan_token(COLON)) return true; 1186 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1187 if (jj_3R_15()) return true; 1188 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1189 return false; 1190 } 1191 1192 final private boolean jj_3R_27() { 1193 if (jj_scan_token(AND1)) return true; 1194 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1195 return false; 1196 } 1197 1198 final private boolean jj_3R_22() { 1199 Token xsp; 1200 xsp = jj_scanpos; 1201 if (jj_3R_27()) { 1202 jj_scanpos = xsp; 1203 if (jj_3R_28()) return true; 1204 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1205 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1206 if (jj_3R_21()) return true; 1207 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1208 return false; 1209 } 1210 1211 final private boolean jj_3R_17() { 1212 if (jj_3R_21()) return true; 1213 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1214 Token xsp; 1215 while (true) { 1216 xsp = jj_scanpos; 1217 if (jj_3R_22()) { jj_scanpos = xsp; break; } 1218 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1219 } 1220 return false; 1221 } 1222 1223 final private boolean jj_3R_68() { 1224 if (jj_scan_token(MODULUS2)) return true; 1225 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1226 return false; 1227 } 1228 1229 final private boolean jj_3R_88() { 1230 if (jj_scan_token(LBRACKET)) return true; 1231 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1232 if (jj_3R_15()) return true; 1233 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1234 if (jj_scan_token(RBRACKET)) return true; 1235 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1236 return false; 1237 } 1238 1239 final private boolean jj_3R_66() { 1240 if (jj_scan_token(DIVIDE2)) return true; 1241 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1242 return false; 1243 } 1244 1245 final private boolean jj_3R_67() { 1246 if (jj_scan_token(MODULUS1)) return true; 1247 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1248 return false; 1249 } 1250 1251 final private boolean jj_3R_59() { 1252 Token xsp; 1253 xsp = jj_scanpos; 1254 if (jj_3R_67()) { 1255 jj_scanpos = xsp; 1256 if (jj_3R_68()) return true; 1257 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1258 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1259 return false; 1260 } 1261 1262 final private boolean jj_3R_65() { 1263 if (jj_scan_token(DIVIDE1)) return true; 1264 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1265 return false; 1266 } 1267 1268 final private boolean jj_3R_87() { 1269 if (jj_scan_token(DOT)) return true; 1270 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1271 if (jj_3R_13()) return true; 1272 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1273 return false; 1274 } 1275 1276 final private boolean jj_3R_58() { 1277 Token xsp; 1278 xsp = jj_scanpos; 1279 if (jj_3R_65()) { 1280 jj_scanpos = xsp; 1281 if (jj_3R_66()) return true; 1282 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1283 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1284 return false; 1285 } 1286 1287 final private boolean jj_3R_57() { 1288 if (jj_scan_token(MULTIPLY)) return true; 1289 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1290 return false; 1291 } 1292 1293 final private boolean jj_3R_44() { 1294 Token xsp; 1295 xsp = jj_scanpos; 1296 if (jj_3R_57()) { 1297 jj_scanpos = xsp; 1298 if (jj_3R_58()) { 1299 jj_scanpos = xsp; 1300 if (jj_3R_59()) return true; 1301 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1302 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1303 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1304 if (jj_3R_43()) return true; 1305 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1306 return false; 1307 } 1308 1309 final private boolean jj_3R_24() { 1310 if (jj_scan_token(OR2)) return true; 1311 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1312 return false; 1313 } 1314 1315 final private boolean jj_3R_80() { 1316 if (jj_3R_88()) return true; 1317 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1318 return false; 1319 } 1320 1321 final private boolean jj_3R_33() { 1322 if (jj_3R_43()) return true; 1323 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1324 Token xsp; 1325 while (true) { 1326 xsp = jj_scanpos; 1327 if (jj_3R_44()) { jj_scanpos = xsp; break; } 1328 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1329 } 1330 return false; 1331 } 1332 1333 final private boolean jj_3R_79() { 1334 if (jj_3R_87()) return true; 1335 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1336 return false; 1337 } 1338 1339 final private boolean jj_3R_75() { 1340 Token xsp; 1341 xsp = jj_scanpos; 1342 if (jj_3R_79()) { 1343 jj_scanpos = xsp; 1344 if (jj_3R_80()) return true; 1345 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1346 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1347 return false; 1348 } 1349 1350 final private boolean jj_3R_23() { 1351 if (jj_scan_token(OR1)) return true; 1352 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1353 return false; 1354 } 1355 1356 final private boolean jj_3R_18() { 1357 Token xsp; 1358 xsp = jj_scanpos; 1359 if (jj_3R_23()) { 1360 jj_scanpos = xsp; 1361 if (jj_3R_24()) return true; 1362 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1363 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1364 if (jj_3R_17()) return true; 1365 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1366 return false; 1367 } 1368 1369 final private boolean jj_3R_14() { 1370 if (jj_3R_17()) return true; 1371 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1372 Token xsp; 1373 while (true) { 1374 xsp = jj_scanpos; 1375 if (jj_3R_18()) { jj_scanpos = xsp; break; } 1376 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1377 } 1378 return false; 1379 } 1380 1381 final private boolean jj_3R_94() { 1382 if (jj_scan_token(COMMA)) return true; 1383 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1384 if (jj_3R_15()) return true; 1385 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1386 return false; 1387 } 1388 1389 final private boolean jj_3_1() { 1390 if (jj_3R_11()) return true; 1391 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1392 return false; 1393 } 1394 1395 final private boolean jj_3R_86() { 1396 if (jj_3R_15()) return true; 1397 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1398 Token xsp; 1399 while (true) { 1400 xsp = jj_scanpos; 1401 if (jj_3R_94()) { jj_scanpos = xsp; break; } 1402 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1403 } 1404 return false; 1405 } 1406 1407 final private boolean jj_3R_20() { 1408 if (jj_3R_14()) return true; 1409 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1410 return false; 1411 } 1412 1413 final private boolean jj_3R_19() { 1414 if (jj_3R_11()) return true; 1415 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1416 return false; 1417 } 1418 1419 final private boolean jj_3R_46() { 1420 if (jj_scan_token(MINUS)) return true; 1421 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1422 return false; 1423 } 1424 1425 final private boolean jj_3R_15() { 1426 Token xsp; 1427 xsp = jj_scanpos; 1428 if (jj_3R_19()) { 1429 jj_scanpos = xsp; 1430 if (jj_3R_20()) return true; 1431 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1432 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1433 return false; 1434 } 1435 1436 final private boolean jj_3R_45() { 1437 if (jj_scan_token(PLUS)) return true; 1438 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1439 return false; 1440 } 1441 1442 final private boolean jj_3R_34() { 1443 Token xsp; 1444 xsp = jj_scanpos; 1445 if (jj_3R_45()) { 1446 jj_scanpos = xsp; 1447 if (jj_3R_46()) return true; 1448 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1449 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1450 if (jj_3R_33()) return true; 1451 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1452 return false; 1453 } 1454 1455 final private boolean jj_3R_77() { 1456 if (jj_3R_12()) return true; 1457 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1458 if (jj_scan_token(LPAREN)) return true; 1459 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1460 Token xsp; 1461 xsp = jj_scanpos; 1462 if (jj_3R_86()) jj_scanpos = xsp; 1463 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1464 if (jj_scan_token(RPAREN)) return true; 1465 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1466 return false; 1467 } 1468 1469 final private boolean jj_3R_29() { 1470 if (jj_3R_33()) return true; 1471 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1472 Token xsp; 1473 while (true) { 1474 xsp = jj_scanpos; 1475 if (jj_3R_34()) { jj_scanpos = xsp; break; } 1476 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1477 } 1478 return false; 1479 } 1480 1481 final private boolean jj_3_2() { 1482 if (jj_3R_12()) return true; 1483 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1484 if (jj_scan_token(LPAREN)) return true; 1485 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1486 return false; 1487 } 1488 1489 final private boolean jj_3R_78() { 1490 if (jj_scan_token(IDENTIFIER)) return true; 1491 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1492 return false; 1493 } 1494 1495 final private boolean jj_3R_74() { 1496 if (jj_3R_78()) return true; 1497 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1498 return false; 1499 } 1500 1501 final private boolean jj_3R_73() { 1502 if (jj_3R_77()) return true; 1503 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1504 return false; 1505 } 1506 1507 final private boolean jj_3R_72() { 1508 if (jj_scan_token(LPAREN)) return true; 1509 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1510 if (jj_3R_15()) return true; 1511 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1512 if (jj_scan_token(RPAREN)) return true; 1513 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1514 return false; 1515 } 1516 1517 final private boolean jj_3R_71() { 1518 if (jj_3R_76()) return true; 1519 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1520 return false; 1521 } 1522 1523 final private boolean jj_3_3() { 1524 if (jj_3R_13()) return true; 1525 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1526 if (jj_scan_token(COLON)) return true; 1527 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1528 return false; 1529 } 1530 1531 final private boolean jj_3R_63() { 1532 Token xsp; 1533 xsp = jj_scanpos; 1534 if (jj_3R_71()) { 1535 jj_scanpos = xsp; 1536 if (jj_3R_72()) { 1537 jj_scanpos = xsp; 1538 if (jj_3R_73()) { 1539 jj_scanpos = xsp; 1540 if (jj_3R_74()) return true; 1541 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1542 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1543 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1544 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1545 return false; 1546 } 1547 1548 final private boolean jj_3R_54() { 1549 if (jj_scan_token(LE2)) return true; 1550 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1551 return false; 1552 } 1553 1554 final private boolean jj_3R_52() { 1555 if (jj_scan_token(GE2)) return true; 1556 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1557 return false; 1558 } 1559 1560 final private boolean jj_3R_50() { 1561 if (jj_scan_token(GT2)) return true; 1562 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1563 return false; 1564 } 1565 1566 final private boolean jj_3R_48() { 1567 if (jj_scan_token(LT2)) return true; 1568 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1569 return false; 1570 } 1571 1572 final private boolean jj_3R_53() { 1573 if (jj_scan_token(LE1)) return true; 1574 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1575 return false; 1576 } 1577 1578 final private boolean jj_3R_16() { 1579 if (jj_3R_13()) return true; 1580 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1581 if (jj_scan_token(COLON)) return true; 1582 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1583 return false; 1584 } 1585 1586 final private boolean jj_3R_38() { 1587 Token xsp; 1588 xsp = jj_scanpos; 1589 if (jj_3R_53()) { 1590 jj_scanpos = xsp; 1591 if (jj_3R_54()) return true; 1592 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1593 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1594 return false; 1595 } 1596 1597 final private boolean jj_3R_51() { 1598 if (jj_scan_token(GE1)) return true; 1599 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1600 return false; 1601 } 1602 1603 final private boolean jj_3R_37() { 1604 Token xsp; 1605 xsp = jj_scanpos; 1606 if (jj_3R_51()) { 1607 jj_scanpos = xsp; 1608 if (jj_3R_52()) return true; 1609 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1610 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1611 return false; 1612 } 1613 1614 final private boolean jj_3R_49() { 1615 if (jj_scan_token(GT1)) return true; 1616 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1617 return false; 1618 } 1619 1620 final private boolean jj_3R_36() { 1621 Token xsp; 1622 xsp = jj_scanpos; 1623 if (jj_3R_49()) { 1624 jj_scanpos = xsp; 1625 if (jj_3R_50()) return true; 1626 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1627 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1628 return false; 1629 } 1630 1631 final private boolean jj_3R_47() { 1632 if (jj_scan_token(LT1)) return true; 1633 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1634 return false; 1635 } 1636 1637 final private boolean jj_3R_35() { 1638 Token xsp; 1639 xsp = jj_scanpos; 1640 if (jj_3R_47()) { 1641 jj_scanpos = xsp; 1642 if (jj_3R_48()) return true; 1643 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1644 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1645 return false; 1646 } 1647 1648 final private boolean jj_3R_12() { 1649 Token xsp; 1650 xsp = jj_scanpos; 1651 if (jj_3R_16()) jj_scanpos = xsp; 1652 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1653 if (jj_3R_13()) return true; 1654 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1655 return false; 1656 } 1657 1658 final private boolean jj_3R_30() { 1659 Token xsp; 1660 xsp = jj_scanpos; 1661 if (jj_3R_35()) { 1662 jj_scanpos = xsp; 1663 if (jj_3R_36()) { 1664 jj_scanpos = xsp; 1665 if (jj_3R_37()) { 1666 jj_scanpos = xsp; 1667 if (jj_3R_38()) return true; 1668 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1669 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1670 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1671 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1672 if (jj_3R_29()) return true; 1673 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1674 return false; 1675 } 1676 1677 final private boolean jj_3R_25() { 1678 if (jj_3R_29()) return true; 1679 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1680 Token xsp; 1681 while (true) { 1682 xsp = jj_scanpos; 1683 if (jj_3R_30()) { jj_scanpos = xsp; break; } 1684 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1685 } 1686 return false; 1687 } 1688 1689 final private boolean jj_3R_64() { 1690 if (jj_3R_75()) return true; 1691 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1692 return false; 1693 } 1694 1695 final private boolean jj_3R_13() { 1696 if (jj_scan_token(IDENTIFIER)) return true; 1697 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1698 return false; 1699 } 1700 1701 final private boolean jj_3R_56() { 1702 if (jj_3R_63()) return true; 1703 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1704 Token xsp; 1705 while (true) { 1706 xsp = jj_scanpos; 1707 if (jj_3R_64()) { jj_scanpos = xsp; break; } 1708 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1709 } 1710 return false; 1711 } 1712 1713 final private boolean jj_3R_93() { 1714 if (jj_scan_token(NULL)) return true; 1715 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1716 return false; 1717 } 1718 1719 public ELParserTokenManager token_source; 1720 SimpleCharStream jj_input_stream; 1721 public Token token, jj_nt; 1722 private int jj_ntk; 1723 private Token jj_scanpos, jj_lastpos; 1724 private int jj_la; 1725 public boolean lookingAhead = false; 1726 private boolean jj_semLA; 1727 private int jj_gen; 1728 final private int[] jj_la1 = new int[35]; 1729 final private int[] jj_la1_0 = {0x6,0x6,0x6,0x20007580,0x0,0x0,0x0,0x0,0x18600000,0x600000,0x18000000,0x18600000,0x79e0000,0x180000,0x60000,0x6000000,0x1800000,0x79e0000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10000,0x20007580,0x0,0x80000000,0x20007580,0x10000,0x7580,0x3000,}; 1730 final private int[] jj_la1_1 = {0x0,0x0,0x0,0x50c10,0xc000,0xc000,0x3000,0x3000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x18,0x18,0x3e0,0xc0,0x300,0x3e0,0x10c10,0xc00,0x10c10,0x2,0x0,0x40000,0x0,0x50c10,0x2,0x0,0x0,}; 1731 final private JJCalls[] jj_2_rtns = new JJCalls[3]; 1732 private boolean jj_rescan = false; 1733 private int jj_gc = 0; 1734 1735 public ELParser(java.io.InputStream stream) { 1736 jj_input_stream = new SimpleCharStream(stream, 1, 1); 1737 token_source = new ELParserTokenManager(jj_input_stream); 1738 token = new Token(); 1739 jj_ntk = -1; 1740 jj_gen = 0; 1741 for (int i = 0; i < 35; i++) jj_la1[i] = -1; 1742 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); 1743 } 1744 1745 public void ReInit(java.io.InputStream stream) { 1746 jj_input_stream.ReInit(stream, 1, 1); 1747 token_source.ReInit(jj_input_stream); 1748 token = new Token(); 1749 jj_ntk = -1; 1750 jj_gen = 0; 1751 for (int i = 0; i < 35; i++) jj_la1[i] = -1; 1752 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); 1753 } 1754 1755 public ELParser(java.io.Reader stream) { 1756 jj_input_stream = new SimpleCharStream(stream, 1, 1); 1757 token_source = new ELParserTokenManager(jj_input_stream); 1758 token = new Token(); 1759 jj_ntk = -1; 1760 jj_gen = 0; 1761 for (int i = 0; i < 35; i++) jj_la1[i] = -1; 1762 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); 1763 } 1764 1765 public void ReInit(java.io.Reader stream) { 1766 jj_input_stream.ReInit(stream, 1, 1); 1767 token_source.ReInit(jj_input_stream); 1768 token = new Token(); 1769 jj_ntk = -1; 1770 jj_gen = 0; 1771 for (int i = 0; i < 35; i++) jj_la1[i] = -1; 1772 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); 1773 } 1774 1775 public ELParser(ELParserTokenManager tm) { 1776 token_source = tm; 1777 token = new Token(); 1778 jj_ntk = -1; 1779 jj_gen = 0; 1780 for (int i = 0; i < 35; i++) jj_la1[i] = -1; 1781 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); 1782 } 1783 1784 public void ReInit(ELParserTokenManager tm) { 1785 token_source = tm; 1786 token = new Token(); 1787 jj_ntk = -1; 1788 jj_gen = 0; 1789 for (int i = 0; i < 35; i++) jj_la1[i] = -1; 1790 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); 1791 } 1792 1793 final private Token jj_consume_token(int kind) throws ParseException { 1794 Token oldToken; 1795 if ((oldToken = token).next != null) token = token.next; 1796 else token = token.next = token_source.getNextToken(); 1797 jj_ntk = -1; 1798 if (token.kind == kind) { 1799 jj_gen++; 1800 if (++jj_gc > 100) { 1801 jj_gc = 0; 1802 for (int i = 0; i < jj_2_rtns.length; i++) { 1803 JJCalls c = jj_2_rtns[i]; 1804 while (c != null) { 1805 if (c.gen < jj_gen) c.first = null; 1806 c = c.next; 1807 } 1808 } 1809 } 1810 return token; 1811 } 1812 token = oldToken; 1813 jj_kind = kind; 1814 throw generateParseException(); 1815 } 1816 1817 final private boolean jj_scan_token(int kind) { 1818 if (jj_scanpos == jj_lastpos) { 1819 jj_la--; 1820 if (jj_scanpos.next == null) { 1821 jj_lastpos = jj_scanpos = jj_scanpos.next = token_source.getNextToken(); 1822 } else { 1823 jj_lastpos = jj_scanpos = jj_scanpos.next; 1824 } 1825 } else { 1826 jj_scanpos = jj_scanpos.next; 1827 } 1828 if (jj_rescan) { 1829 int i = 0; Token tok = token; 1830 while (tok != null && tok != jj_scanpos) { i++; tok = tok.next; } 1831 if (tok != null) jj_add_error_token(kind, i); 1832 } 1833 return (jj_scanpos.kind != kind); 1834 } 1835 1836 final public Token getNextToken() { 1837 if (token.next != null) token = token.next; 1838 else token = token.next = token_source.getNextToken(); 1839 jj_ntk = -1; 1840 jj_gen++; 1841 return token; 1842 } 1843 1844 final public Token getToken(int index) { 1845 Token t = lookingAhead ? jj_scanpos : token; 1846 for (int i = 0; i < index; i++) { 1847 if (t.next != null) t = t.next; 1848 else t = t.next = token_source.getNextToken(); 1849 } 1850 return t; 1851 } 1852 1853 final private int jj_ntk() { 1854 if ((jj_nt=token.next) == null) 1855 return (jj_ntk = (token.next=token_source.getNextToken()).kind); 1856 else 1857 return (jj_ntk = jj_nt.kind); 1858 } 1859 1860 private java.util.Vector jj_expentries = new java.util.Vector(); 1861 private int[] jj_expentry; 1862 private int jj_kind = -1; 1863 private int[] jj_lasttokens = new int[100]; 1864 private int jj_endpos; 1865 1866 private void jj_add_error_token(int kind, int pos) { 1867 if (pos >= 100) return; 1868 if (pos == jj_endpos + 1) { 1869 jj_lasttokens[jj_endpos++] = kind; 1870 } else if (jj_endpos != 0) { 1871 jj_expentry = new int[jj_endpos]; 1872 for (int i = 0; i < jj_endpos; i++) { 1873 jj_expentry[i] = jj_lasttokens[i]; 1874 } 1875 boolean exists = false; 1876 for (java.util.Enumeration e = jj_expentries.elements(); e.hasMoreElements();) { 1877 int[] oldentry = (int[])(e.nextElement()); 1878 if (oldentry.length == jj_expentry.length) { 1879 exists = true; 1880 for (int i = 0; i < jj_expentry.length; i++) { 1881 if (oldentry[i] != jj_expentry[i]) { 1882 exists = false; 1883 break; 1884 } 1885 } 1886 if (exists) break; 1887 } 1888 } 1889 if (!exists) jj_expentries.addElement(jj_expentry); 1890 if (pos != 0) jj_lasttokens[(jj_endpos = pos) - 1] = kind; 1891 } 1892 } 1893 1894 final public ParseException generateParseException() { 1895 jj_expentries.removeAllElements(); 1896 boolean[] la1tokens = new boolean[55]; 1897 for (int i = 0; i < 55; i++) { 1898 la1tokens[i] = false; 1899 } 1900 if (jj_kind >= 0) { 1901 la1tokens[jj_kind] = true; 1902 jj_kind = -1; 1903 } 1904 for (int i = 0; i < 35; i++) { 1905 if (jj_la1[i] == jj_gen) { 1906 for (int j = 0; j < 32; j++) { 1907 if ((jj_la1_0[i] & (1<<j)) != 0) { 1908 la1tokens[j] = true; 1909 } 1910 if ((jj_la1_1[i] & (1<<j)) != 0) { 1911 la1tokens[32+j] = true; 1912 } 1913 } 1914 } 1915 } 1916 for (int i = 0; i < 55; i++) { 1917 if (la1tokens[i]) { 1918 jj_expentry = new int[1]; 1919 jj_expentry[0] = i; 1920 jj_expentries.addElement(jj_expentry); 1921 } 1922 } 1923 jj_endpos = 0; 1924 jj_rescan_token(); 1925 jj_add_error_token(0, 0); 1926 int[][] exptokseq = new int[jj_expentries.size()][]; 1927 for (int i = 0, size = jj_expentries.size(); i < size; i++) { 1928 exptokseq[i] = (int[])jj_expentries.elementAt(i); 1929 } 1930 return new ParseException(token, exptokseq, tokenImage); 1931 } 1932 1933 final public void enable_tracing() { 1934 } 1935 1936 final public void disable_tracing() { 1937 } 1938 1939 final private void jj_rescan_token() { 1940 jj_rescan = true; 1941 for (int i = 0; i < 3; i++) { 1942 JJCalls p = jj_2_rtns[i]; 1943 do { 1944 if (p.gen > jj_gen) { 1945 jj_la = p.arg; jj_lastpos = jj_scanpos = p.first; 1946 switch (i) { 1947 case 0: jj_3_1(); break; 1948 case 1: jj_3_2(); break; 1949 case 2: jj_3_3(); break; 1950 } 1951 } 1952 p = p.next; 1953 } while (p != null); 1954 } 1955 jj_rescan = false; 1956 } 1957 1958 final private void jj_save(int index, int xla) { 1959 JJCalls p = jj_2_rtns[index]; 1960 while (p.gen > jj_gen) { 1961 if (p.next == null) { p = p.next = new JJCalls(); break; } 1962 p = p.next; 1963 } 1964 p.gen = jj_gen + xla - jj_la; p.first = token; p.arg = xla; 1965 } 1966 1967 static final class JJCalls { 1968 int gen; 1969 Token first; 1970 int arg; 1971 JJCalls next; 1972 } 1973 1974}