001 /* Generated By:JavaCC: Do not edit this line. XPathParser.java */ 002 package org.apache.commons.jxpath.ri.parser; 003 004 import org.apache.commons.jxpath.ri.Compiler; 005 import java.util.ArrayList; 006 007 public class XPathParser implements XPathParserConstants { 008 private Compiler compiler; 009 010 public void setCompiler(Compiler compiler){ 011 this.compiler = compiler; 012 } 013 014 private String unescape(String string){ 015 int index = string.indexOf("'"); 016 while (index != -1){ 017 string = string.substring(0, index) + "\'" + string.substring(index + 6); 018 index = string.indexOf("'"); 019 } 020 index = string.indexOf("""); 021 while (index != -1){ 022 string = string.substring(0, index) + "\"" + string.substring(index + 6); 023 index = string.indexOf("""); 024 } 025 return string; 026 } 027 028 // Note: XPath does not have reserved words, so we have to include all these terminals 029 final public String NCName() throws ParseException { 030 switch (jj_nt.kind) { 031 case OR: 032 case AND: 033 case MOD: 034 case DIV: 035 case NCName: 036 NCName_Without_CoreFunctions(); 037 break; 038 case NODE: 039 jj_consume_token(NODE); 040 break; 041 case TEXT: 042 jj_consume_token(TEXT); 043 break; 044 case COMMENT: 045 jj_consume_token(COMMENT); 046 break; 047 case PI: 048 jj_consume_token(PI); 049 break; 050 case FUNCTION_LAST: 051 jj_consume_token(FUNCTION_LAST); 052 break; 053 case FUNCTION_POSITION: 054 jj_consume_token(FUNCTION_POSITION); 055 break; 056 case FUNCTION_COUNT: 057 jj_consume_token(FUNCTION_COUNT); 058 break; 059 case FUNCTION_ID: 060 jj_consume_token(FUNCTION_ID); 061 break; 062 case FUNCTION_LOCAL_NAME: 063 jj_consume_token(FUNCTION_LOCAL_NAME); 064 break; 065 case FUNCTION_NAMESPACE_URI: 066 jj_consume_token(FUNCTION_NAMESPACE_URI); 067 break; 068 case FUNCTION_NAME: 069 jj_consume_token(FUNCTION_NAME); 070 break; 071 case FUNCTION_STRING: 072 jj_consume_token(FUNCTION_STRING); 073 break; 074 case FUNCTION_CONCAT: 075 jj_consume_token(FUNCTION_CONCAT); 076 break; 077 case FUNCTION_STARTS_WITH: 078 jj_consume_token(FUNCTION_STARTS_WITH); 079 break; 080 case FUNCTION_CONTAINS: 081 jj_consume_token(FUNCTION_CONTAINS); 082 break; 083 case FUNCTION_SUBSTRING_BEFORE: 084 jj_consume_token(FUNCTION_SUBSTRING_BEFORE); 085 break; 086 case FUNCTION_SUBSTRING_AFTER: 087 jj_consume_token(FUNCTION_SUBSTRING_AFTER); 088 break; 089 case FUNCTION_SUBSTRING: 090 jj_consume_token(FUNCTION_SUBSTRING); 091 break; 092 case FUNCTION_STRING_LENGTH: 093 jj_consume_token(FUNCTION_STRING_LENGTH); 094 break; 095 case FUNCTION_NORMALIZE_SPACE: 096 jj_consume_token(FUNCTION_NORMALIZE_SPACE); 097 break; 098 case FUNCTION_TRANSLATE: 099 jj_consume_token(FUNCTION_TRANSLATE); 100 break; 101 case FUNCTION_BOOLEAN: 102 jj_consume_token(FUNCTION_BOOLEAN); 103 break; 104 case FUNCTION_NOT: 105 jj_consume_token(FUNCTION_NOT); 106 break; 107 case FUNCTION_TRUE: 108 jj_consume_token(FUNCTION_TRUE); 109 break; 110 case FUNCTION_FALSE: 111 jj_consume_token(FUNCTION_FALSE); 112 break; 113 case FUNCTION_NULL: 114 jj_consume_token(FUNCTION_NULL); 115 break; 116 case FUNCTION_LANG: 117 jj_consume_token(FUNCTION_LANG); 118 break; 119 case FUNCTION_NUMBER: 120 jj_consume_token(FUNCTION_NUMBER); 121 break; 122 case FUNCTION_SUM: 123 jj_consume_token(FUNCTION_SUM); 124 break; 125 case FUNCTION_FLOOR: 126 jj_consume_token(FUNCTION_FLOOR); 127 break; 128 case FUNCTION_CEILING: 129 jj_consume_token(FUNCTION_CEILING); 130 break; 131 case FUNCTION_ROUND: 132 jj_consume_token(FUNCTION_ROUND); 133 break; 134 case FUNCTION_KEY: 135 jj_consume_token(FUNCTION_KEY); 136 break; 137 case FUNCTION_FORMAT_NUMBER: 138 jj_consume_token(FUNCTION_FORMAT_NUMBER); 139 break; 140 default: 141 jj_la1[0] = jj_gen; 142 jj_consume_token(-1); 143 throw new ParseException(); 144 } 145 {if (true) return token.image;} 146 throw new Error("Missing return statement in function"); 147 } 148 149 final public String NCName_Without_CoreFunctions() throws ParseException { 150 switch (jj_nt.kind) { 151 case NCName: 152 jj_consume_token(NCName); 153 break; 154 case OR: 155 jj_consume_token(OR); 156 break; 157 case AND: 158 jj_consume_token(AND); 159 break; 160 case MOD: 161 jj_consume_token(MOD); 162 break; 163 case DIV: 164 jj_consume_token(DIV); 165 break; 166 default: 167 jj_la1[1] = jj_gen; 168 jj_consume_token(-1); 169 throw new ParseException(); 170 } 171 {if (true) return token.image;} 172 throw new Error("Missing return statement in function"); 173 } 174 175 final public int CoreFunctionName() throws ParseException { 176 int code; 177 switch (jj_nt.kind) { 178 case FUNCTION_LAST: 179 jj_consume_token(FUNCTION_LAST); 180 code = Compiler.FUNCTION_LAST; 181 break; 182 case FUNCTION_POSITION: 183 jj_consume_token(FUNCTION_POSITION); 184 code = Compiler.FUNCTION_POSITION; 185 break; 186 case FUNCTION_COUNT: 187 jj_consume_token(FUNCTION_COUNT); 188 code = Compiler.FUNCTION_COUNT; 189 break; 190 case FUNCTION_ID: 191 jj_consume_token(FUNCTION_ID); 192 code = Compiler.FUNCTION_ID; 193 break; 194 case FUNCTION_LOCAL_NAME: 195 jj_consume_token(FUNCTION_LOCAL_NAME); 196 code = Compiler.FUNCTION_LOCAL_NAME; 197 break; 198 case FUNCTION_NAMESPACE_URI: 199 jj_consume_token(FUNCTION_NAMESPACE_URI); 200 code = Compiler.FUNCTION_NAMESPACE_URI; 201 break; 202 case FUNCTION_NAME: 203 jj_consume_token(FUNCTION_NAME); 204 code = Compiler.FUNCTION_NAME; 205 break; 206 case FUNCTION_STRING: 207 jj_consume_token(FUNCTION_STRING); 208 code = Compiler.FUNCTION_STRING; 209 break; 210 case FUNCTION_CONCAT: 211 jj_consume_token(FUNCTION_CONCAT); 212 code = Compiler.FUNCTION_CONCAT; 213 break; 214 case FUNCTION_STARTS_WITH: 215 jj_consume_token(FUNCTION_STARTS_WITH); 216 code = Compiler.FUNCTION_STARTS_WITH; 217 break; 218 case FUNCTION_CONTAINS: 219 jj_consume_token(FUNCTION_CONTAINS); 220 code = Compiler.FUNCTION_CONTAINS; 221 break; 222 case FUNCTION_SUBSTRING_BEFORE: 223 jj_consume_token(FUNCTION_SUBSTRING_BEFORE); 224 code = Compiler.FUNCTION_SUBSTRING_BEFORE; 225 break; 226 case FUNCTION_SUBSTRING_AFTER: 227 jj_consume_token(FUNCTION_SUBSTRING_AFTER); 228 code = Compiler.FUNCTION_SUBSTRING_AFTER; 229 break; 230 case FUNCTION_SUBSTRING: 231 jj_consume_token(FUNCTION_SUBSTRING); 232 code = Compiler.FUNCTION_SUBSTRING; 233 break; 234 case FUNCTION_STRING_LENGTH: 235 jj_consume_token(FUNCTION_STRING_LENGTH); 236 code = Compiler.FUNCTION_STRING_LENGTH; 237 break; 238 case FUNCTION_NORMALIZE_SPACE: 239 jj_consume_token(FUNCTION_NORMALIZE_SPACE); 240 code = Compiler.FUNCTION_NORMALIZE_SPACE; 241 break; 242 case FUNCTION_TRANSLATE: 243 jj_consume_token(FUNCTION_TRANSLATE); 244 code = Compiler.FUNCTION_TRANSLATE; 245 break; 246 case FUNCTION_BOOLEAN: 247 jj_consume_token(FUNCTION_BOOLEAN); 248 code = Compiler.FUNCTION_BOOLEAN; 249 break; 250 case FUNCTION_NOT: 251 jj_consume_token(FUNCTION_NOT); 252 code = Compiler.FUNCTION_NOT; 253 break; 254 case FUNCTION_TRUE: 255 jj_consume_token(FUNCTION_TRUE); 256 code = Compiler.FUNCTION_TRUE; 257 break; 258 case FUNCTION_FALSE: 259 jj_consume_token(FUNCTION_FALSE); 260 code = Compiler.FUNCTION_FALSE; 261 break; 262 case FUNCTION_NULL: 263 jj_consume_token(FUNCTION_NULL); 264 code = Compiler.FUNCTION_NULL; 265 break; 266 case FUNCTION_LANG: 267 jj_consume_token(FUNCTION_LANG); 268 code = Compiler.FUNCTION_LANG; 269 break; 270 case FUNCTION_NUMBER: 271 jj_consume_token(FUNCTION_NUMBER); 272 code = Compiler.FUNCTION_NUMBER; 273 break; 274 case FUNCTION_SUM: 275 jj_consume_token(FUNCTION_SUM); 276 code = Compiler.FUNCTION_SUM; 277 break; 278 case FUNCTION_FLOOR: 279 jj_consume_token(FUNCTION_FLOOR); 280 code = Compiler.FUNCTION_FLOOR; 281 break; 282 case FUNCTION_CEILING: 283 jj_consume_token(FUNCTION_CEILING); 284 code = Compiler.FUNCTION_CEILING; 285 break; 286 case FUNCTION_ROUND: 287 jj_consume_token(FUNCTION_ROUND); 288 code = Compiler.FUNCTION_ROUND; 289 break; 290 case FUNCTION_KEY: 291 jj_consume_token(FUNCTION_KEY); 292 code = Compiler.FUNCTION_KEY; 293 break; 294 case FUNCTION_FORMAT_NUMBER: 295 jj_consume_token(FUNCTION_FORMAT_NUMBER); 296 code = Compiler.FUNCTION_FORMAT_NUMBER; 297 break; 298 default: 299 jj_la1[2] = jj_gen; 300 jj_consume_token(-1); 301 throw new ParseException(); 302 } 303 {if (true) return code;} 304 throw new Error("Missing return statement in function"); 305 } 306 307 final public Object QName() throws ParseException { 308 String nc1, nc2 = null; 309 nc1 = NCName(); 310 switch (jj_nt.kind) { 311 case 79: 312 jj_consume_token(79); 313 nc2 = NCName(); 314 break; 315 default: 316 jj_la1[3] = jj_gen; 317 ; 318 } 319 if (nc2 == null){ 320 {if (true) return compiler.qname(null, nc1);} 321 } 322 else { 323 {if (true) return compiler.qname(nc1, nc2);} 324 } 325 throw new Error("Missing return statement in function"); 326 } 327 328 final public Object QName_Without_CoreFunctions() throws ParseException { 329 String nc1, nc2 = null; 330 if (jj_2_1(2147483647)) { 331 nc1 = NCName(); 332 jj_consume_token(79); 333 nc2 = NCName(); 334 } else { 335 switch (jj_nt.kind) { 336 case OR: 337 case AND: 338 case MOD: 339 case DIV: 340 case NCName: 341 nc1 = NCName_Without_CoreFunctions(); 342 break; 343 default: 344 jj_la1[4] = jj_gen; 345 jj_consume_token(-1); 346 throw new ParseException(); 347 } 348 } 349 if (nc2 == null){ 350 {if (true) return compiler.qname(null, nc1);} 351 } 352 else { 353 {if (true) return compiler.qname(nc1, nc2);} 354 } 355 throw new Error("Missing return statement in function"); 356 } 357 358 final public Object parseExpression() throws ParseException { 359 Object ex; 360 ex = Expression(); 361 jj_consume_token(0); 362 {if (true) return ex;} 363 throw new Error("Missing return statement in function"); 364 } 365 366 /* ################################################################################### */ 367 /* XSLT Patterns (http://www.w3.org/1999/08/WD-xslt-19990813) */ 368 /* ################################################################################### */ 369 370 /* [XSLT1] Pattern ::= LocationPathPattern | Pattern '|' LocationPathPattern */ 371 372 //void Pattern() : 373 //{} 374 //{ 375 // LocationPathPattern() ( <UNION> LocationPathPattern() )* <EOF> 376 //} 377 // 378 // 379 ///* [XSLT2] LocationPathPattern ::= 380 // '/' RelativePathPattern? | IdKeyPattern (('/' | '//' RelativePathPattern)? | '//'? RelativePathPattern 381 //*/ 382 // 383 //void LocationPathPattern() : 384 //{} 385 //{ 386 // <SLASH> ( RelativePathPattern() )? 387 // | ( 388 // LOOKAHEAD(IdKeyPattern()) 389 // IdKeyPattern() ( ( <SLASH> | <SLASHSLASH>) RelativePathPattern() )? 390 // | ( <SLASHSLASH> )? RelativePathPattern() 391 // ) 392 //} 393 // 394 // 395 // 396 ///* [XSLT3] IdKeyPattern ::= 'id' '(' Literal ')' | 'key' '(' Literal ',' Literal ')' */ 397 // 398 //void IdKeyPattern() : 399 //{} 400 //{ 401 // <ID> "(" <Literal> ")" 402 // | <KEY> "(" <Literal> "," <Literal> ")" 403 //} 404 // 405 // 406 ///* [XSLT4] RelativePathPattern ::= StepPattern | RelativePathPattern '/' StepPattern 407 // | RelativePathPattern '//' StepPattern 408 //*/ 409 //void RelativePathPattern() : 410 //{} 411 //{ 412 // StepPattern() ( ( <SLASH>| <SLASHSLASH> ) StepPattern() )* 413 //} 414 // 415 // 416 ///* [XSLT5] StepPattern ::= AbbreviatedAxisSpecifier NodeTest Predicate* */ 417 //void StepPattern() : 418 //{} 419 //{ 420 // AbbreviatedAxisSpecifier() NodeTest() (Predicate())* 421 //} 422 423 424 425 // See XPath Syntax (http://www.w3.org/TR/xpath ) 426 427 428 //void XPath() : 429 //{} 430 //{ 431 // LocationPath() 432 // <EOF> 433 //} 434 435 436 /* [1] LocationPath ::= RelativeLocationPath | AbsoluteLocationPath */ 437 final public Object LocationPath() throws ParseException { 438 Object ex = null; 439 switch (jj_nt.kind) { 440 case OR: 441 case AND: 442 case MOD: 443 case DIV: 444 case NODE: 445 case TEXT: 446 case COMMENT: 447 case PI: 448 case AXIS_SELF: 449 case AXIS_CHILD: 450 case AXIS_PARENT: 451 case AXIS_ANCESTOR: 452 case AXIS_ATTRIBUTE: 453 case AXIS_NAMESPACE: 454 case AXIS_PRECEDING: 455 case AXIS_FOLLOWING: 456 case AXIS_DESCENDANT: 457 case AXIS_ANCESTOR_OR_SELF: 458 case AXIS_FOLLOWING_SIBLING: 459 case AXIS_PRECEDING_SIBLING: 460 case AXIS_DESCENDANT_OR_SELF: 461 case FUNCTION_LAST: 462 case FUNCTION_POSITION: 463 case FUNCTION_COUNT: 464 case FUNCTION_ID: 465 case FUNCTION_KEY: 466 case FUNCTION_LOCAL_NAME: 467 case FUNCTION_NAMESPACE_URI: 468 case FUNCTION_NAME: 469 case FUNCTION_STRING: 470 case FUNCTION_CONCAT: 471 case FUNCTION_STARTS_WITH: 472 case FUNCTION_CONTAINS: 473 case FUNCTION_SUBSTRING_BEFORE: 474 case FUNCTION_SUBSTRING_AFTER: 475 case FUNCTION_SUBSTRING: 476 case FUNCTION_STRING_LENGTH: 477 case FUNCTION_NORMALIZE_SPACE: 478 case FUNCTION_TRANSLATE: 479 case FUNCTION_BOOLEAN: 480 case FUNCTION_NOT: 481 case FUNCTION_TRUE: 482 case FUNCTION_FALSE: 483 case FUNCTION_NULL: 484 case FUNCTION_LANG: 485 case FUNCTION_NUMBER: 486 case FUNCTION_SUM: 487 case FUNCTION_FLOOR: 488 case FUNCTION_CEILING: 489 case FUNCTION_ROUND: 490 case FUNCTION_FORMAT_NUMBER: 491 case NCName: 492 case 82: 493 case 83: 494 case 86: 495 case 88: 496 ex = RelativeLocationPath(); 497 break; 498 case SLASH: 499 case SLASHSLASH: 500 ex = AbsoluteLocationPath(); 501 break; 502 default: 503 jj_la1[5] = jj_gen; 504 jj_consume_token(-1); 505 throw new ParseException(); 506 } 507 {if (true) return ex;} 508 throw new Error("Missing return statement in function"); 509 } 510 511 /* [2] AbsoluteLocationPath ::= '/' RelativeLocationPath? | AbbreviatedAbsoluteLocationPath */ 512 /* [10] AbbreviatedAbsoluteLocationPath ::= '//' RelativeLocationPath */ 513 final public Object AbsoluteLocationPath() throws ParseException { 514 ArrayList steps = new ArrayList(); 515 if (jj_2_2(2147483647)) { 516 LocationStep(steps); 517 label_1: 518 while (true) { 519 switch (jj_nt.kind) { 520 case SLASH: 521 case SLASHSLASH: 522 ; 523 break; 524 default: 525 jj_la1[6] = jj_gen; 526 break label_1; 527 } 528 LocationStep(steps); 529 } 530 } else { 531 switch (jj_nt.kind) { 532 case SLASH: 533 jj_consume_token(SLASH); 534 break; 535 default: 536 jj_la1[7] = jj_gen; 537 jj_consume_token(-1); 538 throw new ParseException(); 539 } 540 } 541 {if (true) return compiler.locationPath(true, steps.toArray());} 542 throw new Error("Missing return statement in function"); 543 } 544 545 /* [3] RelativeLocationPath ::= Step | RelativeLocationPath '/' Step | AbbreviatedRelativeLocationPath */ 546 final public Object RelativeLocationPath() throws ParseException { 547 ArrayList steps = new ArrayList(); 548 NodeTest(steps); 549 label_2: 550 while (true) { 551 switch (jj_nt.kind) { 552 case SLASH: 553 case SLASHSLASH: 554 ; 555 break; 556 default: 557 jj_la1[8] = jj_gen; 558 break label_2; 559 } 560 LocationStep(steps); 561 } 562 {if (true) return compiler.locationPath(false, steps.toArray());} 563 throw new Error("Missing return statement in function"); 564 } 565 566 /* [3] RelativeLocationPath ::= Step | RelativeLocationPath '/' Step | AbbreviatedRelativeLocationPath */ 567 /* [11] AbbreviatedRelativeLocationPath ::= RelativeLocationPath '//' Step */ 568 569 570 /*--------------------*/ 571 /* 2.1 Location Steps */ 572 /*--------------------*/ 573 574 /* [4] Step ::= AxisSpecifier NodeTest Predicate* | AbbreviatedStep */ 575 final public void LocationStep(ArrayList steps) throws ParseException { 576 Object t; 577 Object s; 578 switch (jj_nt.kind) { 579 case SLASH: 580 jj_consume_token(SLASH); 581 break; 582 case SLASHSLASH: 583 jj_consume_token(SLASHSLASH); 584 // Abbreviated step: descendant-or-self::node() 585 t = compiler.nodeTypeTest(Compiler.NODE_TYPE_NODE); 586 steps.add(compiler.step(Compiler.AXIS_DESCENDANT_OR_SELF, t, null)); 587 break; 588 default: 589 jj_la1[9] = jj_gen; 590 jj_consume_token(-1); 591 throw new ParseException(); 592 } 593 NodeTest(steps); 594 } 595 596 /* [7] NodeTest ::= WildcardName | NodeType '(' ')' | 'processing-instruction' '(' Literal ')' */ 597 final public void NodeTest(ArrayList steps) throws ParseException { 598 int axis; 599 int type = -1; 600 String instruction = null; 601 Object name = null; 602 Object s; 603 Object p; 604 ArrayList ps = new ArrayList(); 605 switch (jj_nt.kind) { 606 case OR: 607 case AND: 608 case MOD: 609 case DIV: 610 case NODE: 611 case TEXT: 612 case COMMENT: 613 case PI: 614 case AXIS_SELF: 615 case AXIS_CHILD: 616 case AXIS_PARENT: 617 case AXIS_ANCESTOR: 618 case AXIS_ATTRIBUTE: 619 case AXIS_NAMESPACE: 620 case AXIS_PRECEDING: 621 case AXIS_FOLLOWING: 622 case AXIS_DESCENDANT: 623 case AXIS_ANCESTOR_OR_SELF: 624 case AXIS_FOLLOWING_SIBLING: 625 case AXIS_PRECEDING_SIBLING: 626 case AXIS_DESCENDANT_OR_SELF: 627 case FUNCTION_LAST: 628 case FUNCTION_POSITION: 629 case FUNCTION_COUNT: 630 case FUNCTION_ID: 631 case FUNCTION_KEY: 632 case FUNCTION_LOCAL_NAME: 633 case FUNCTION_NAMESPACE_URI: 634 case FUNCTION_NAME: 635 case FUNCTION_STRING: 636 case FUNCTION_CONCAT: 637 case FUNCTION_STARTS_WITH: 638 case FUNCTION_CONTAINS: 639 case FUNCTION_SUBSTRING_BEFORE: 640 case FUNCTION_SUBSTRING_AFTER: 641 case FUNCTION_SUBSTRING: 642 case FUNCTION_STRING_LENGTH: 643 case FUNCTION_NORMALIZE_SPACE: 644 case FUNCTION_TRANSLATE: 645 case FUNCTION_BOOLEAN: 646 case FUNCTION_NOT: 647 case FUNCTION_TRUE: 648 case FUNCTION_FALSE: 649 case FUNCTION_NULL: 650 case FUNCTION_LANG: 651 case FUNCTION_NUMBER: 652 case FUNCTION_SUM: 653 case FUNCTION_FLOOR: 654 case FUNCTION_CEILING: 655 case FUNCTION_ROUND: 656 case FUNCTION_FORMAT_NUMBER: 657 case NCName: 658 case 86: 659 case 88: 660 axis = AxisSpecifier(); 661 if (jj_2_3(2147483647)) { 662 type = NodeType(); 663 jj_consume_token(80); 664 jj_consume_token(81); 665 } else if (jj_2_4(2147483647)) { 666 jj_consume_token(PI); 667 jj_consume_token(80); 668 jj_consume_token(Literal); 669 instruction = unescape(token.image.substring(1, token.image.length() - 1)); 670 jj_consume_token(81); 671 } else { 672 switch (jj_nt.kind) { 673 case OR: 674 case AND: 675 case MOD: 676 case DIV: 677 case NODE: 678 case TEXT: 679 case COMMENT: 680 case PI: 681 case FUNCTION_LAST: 682 case FUNCTION_POSITION: 683 case FUNCTION_COUNT: 684 case FUNCTION_ID: 685 case FUNCTION_KEY: 686 case FUNCTION_LOCAL_NAME: 687 case FUNCTION_NAMESPACE_URI: 688 case FUNCTION_NAME: 689 case FUNCTION_STRING: 690 case FUNCTION_CONCAT: 691 case FUNCTION_STARTS_WITH: 692 case FUNCTION_CONTAINS: 693 case FUNCTION_SUBSTRING_BEFORE: 694 case FUNCTION_SUBSTRING_AFTER: 695 case FUNCTION_SUBSTRING: 696 case FUNCTION_STRING_LENGTH: 697 case FUNCTION_NORMALIZE_SPACE: 698 case FUNCTION_TRANSLATE: 699 case FUNCTION_BOOLEAN: 700 case FUNCTION_NOT: 701 case FUNCTION_TRUE: 702 case FUNCTION_FALSE: 703 case FUNCTION_NULL: 704 case FUNCTION_LANG: 705 case FUNCTION_NUMBER: 706 case FUNCTION_SUM: 707 case FUNCTION_FLOOR: 708 case FUNCTION_CEILING: 709 case FUNCTION_ROUND: 710 case FUNCTION_FORMAT_NUMBER: 711 case NCName: 712 case 88: 713 name = WildcardName(); 714 break; 715 default: 716 jj_la1[10] = jj_gen; 717 jj_consume_token(-1); 718 throw new ParseException(); 719 } 720 } 721 break; 722 case 82: 723 jj_consume_token(82); 724 axis = Compiler.AXIS_SELF; 725 type = Compiler.NODE_TYPE_NODE; 726 break; 727 case 83: 728 jj_consume_token(83); 729 axis = Compiler.AXIS_PARENT; 730 type = Compiler.NODE_TYPE_NODE; 731 break; 732 default: 733 jj_la1[11] = jj_gen; 734 jj_consume_token(-1); 735 throw new ParseException(); 736 } 737 label_3: 738 while (true) { 739 switch (jj_nt.kind) { 740 case 84: 741 ; 742 break; 743 default: 744 jj_la1[12] = jj_gen; 745 break label_3; 746 } 747 p = Predicate(); 748 ps.add(p); 749 } 750 if (name != null){ 751 s = compiler.nodeNameTest(name); 752 } 753 else if (instruction != null){ 754 s = compiler.processingInstructionTest(instruction); 755 } 756 else { 757 s = compiler.nodeTypeTest(type); 758 } 759 steps.add(compiler.step(axis, s, ps.toArray())); 760 } 761 762 /* [5] AxisSpecifier ::= AxisName '::' | AbbreviatedAxisSpecifier */ 763 final public int AxisSpecifier() throws ParseException { 764 int axis; 765 switch (jj_nt.kind) { 766 case AXIS_SELF: 767 case AXIS_CHILD: 768 case AXIS_PARENT: 769 case AXIS_ANCESTOR: 770 case AXIS_ATTRIBUTE: 771 case AXIS_NAMESPACE: 772 case AXIS_PRECEDING: 773 case AXIS_FOLLOWING: 774 case AXIS_DESCENDANT: 775 case AXIS_ANCESTOR_OR_SELF: 776 case AXIS_FOLLOWING_SIBLING: 777 case AXIS_PRECEDING_SIBLING: 778 case AXIS_DESCENDANT_OR_SELF: 779 axis = AxisName(); 780 break; 781 default: 782 jj_la1[13] = jj_gen; 783 axis = AbbreviatedAxisSpecifier(); 784 } 785 {if (true) return axis;} 786 throw new Error("Missing return statement in function"); 787 } 788 789 /*----------*/ 790 /* 2.2 Axes */ 791 /*----------*/ 792 793 /* [6] AxisName ::= 'ancestor' | 'ancestor-or-self' | 'attribute' | 'child' | 'descendant' 794 | 'descendant-or-self' | 'following' | 'following-sibling' | 'namespace' 795 | 'parent' | 'preceding' | 'preceding-sibling' | 'self' 796 */ 797 final public int AxisName() throws ParseException { 798 int axis = 0; 799 switch (jj_nt.kind) { 800 case AXIS_SELF: 801 jj_consume_token(AXIS_SELF); 802 axis = Compiler.AXIS_SELF; 803 break; 804 case AXIS_CHILD: 805 jj_consume_token(AXIS_CHILD); 806 axis = Compiler.AXIS_CHILD; 807 break; 808 case AXIS_PARENT: 809 jj_consume_token(AXIS_PARENT); 810 axis = Compiler.AXIS_PARENT; 811 break; 812 case AXIS_ANCESTOR: 813 jj_consume_token(AXIS_ANCESTOR); 814 axis = Compiler.AXIS_ANCESTOR; 815 break; 816 case AXIS_ATTRIBUTE: 817 jj_consume_token(AXIS_ATTRIBUTE); 818 axis = Compiler.AXIS_ATTRIBUTE; 819 break; 820 case AXIS_NAMESPACE: 821 jj_consume_token(AXIS_NAMESPACE); 822 axis = Compiler.AXIS_NAMESPACE; 823 break; 824 case AXIS_PRECEDING: 825 jj_consume_token(AXIS_PRECEDING); 826 axis = Compiler.AXIS_PRECEDING; 827 break; 828 case AXIS_FOLLOWING: 829 jj_consume_token(AXIS_FOLLOWING); 830 axis = Compiler.AXIS_FOLLOWING; 831 break; 832 case AXIS_DESCENDANT: 833 jj_consume_token(AXIS_DESCENDANT); 834 axis = Compiler.AXIS_DESCENDANT; 835 break; 836 case AXIS_ANCESTOR_OR_SELF: 837 jj_consume_token(AXIS_ANCESTOR_OR_SELF); 838 axis = Compiler.AXIS_ANCESTOR_OR_SELF; 839 break; 840 case AXIS_FOLLOWING_SIBLING: 841 jj_consume_token(AXIS_FOLLOWING_SIBLING); 842 axis = Compiler.AXIS_FOLLOWING_SIBLING; 843 break; 844 case AXIS_PRECEDING_SIBLING: 845 jj_consume_token(AXIS_PRECEDING_SIBLING); 846 axis = Compiler.AXIS_PRECEDING_SIBLING; 847 break; 848 case AXIS_DESCENDANT_OR_SELF: 849 jj_consume_token(AXIS_DESCENDANT_OR_SELF); 850 axis = Compiler.AXIS_DESCENDANT_OR_SELF; 851 break; 852 default: 853 jj_la1[14] = jj_gen; 854 jj_consume_token(-1); 855 throw new ParseException(); 856 } 857 {if (true) return axis;} 858 throw new Error("Missing return statement in function"); 859 } 860 861 /*----------------*/ 862 /* 2.3 Node Tests */ 863 /*----------------*/ 864 865 /*----------------*/ 866 /* 2.4 Predicates */ 867 /*----------------*/ 868 869 /* [8] Predicate ::= '[' PredicateExpr ']' */ 870 /* [9] PredicateExpr ::= Expr */ 871 final public Object Predicate() throws ParseException { 872 Object ex; 873 jj_consume_token(84); 874 ex = Expression(); 875 jj_consume_token(85); 876 {if (true) return ex;} 877 throw new Error("Missing return statement in function"); 878 } 879 880 /* [12] AbbreviatedStep ::= '.' | '..' */ 881 882 /* [13] AbbreviatedAxisSpecifier ::= '@'? */ 883 final public int AbbreviatedAxisSpecifier() throws ParseException { 884 int axis = Compiler.AXIS_CHILD; 885 switch (jj_nt.kind) { 886 case 86: 887 jj_consume_token(86); 888 axis = Compiler.AXIS_ATTRIBUTE; 889 break; 890 default: 891 jj_la1[15] = jj_gen; 892 ; 893 } 894 {if (true) return axis;} 895 throw new Error("Missing return statement in function"); 896 } 897 898 /*---------------*/ 899 /* 3 Expressions */ 900 /*---------------*/ 901 902 /*------------*/ 903 /* 3.1 Basics */ 904 /*------------*/ 905 906 /* 907 The effect of the grammar is that the order of precedence is (lowest precedence first): 908 or 909 and 910 =, != 911 <=, <, >=, > 912 and all operators are left associative. 913 For example, 3 > 2 > 1 is equivalent to (3 > 2) > 1, which evaluates to false. 914 */ 915 916 /* [14] Expr ::= OrExpr */ 917 final public Object Expression() throws ParseException { 918 Object ex; 919 ex = OrExpr(); 920 {if (true) return ex;} 921 throw new Error("Missing return statement in function"); 922 } 923 924 /* [15] PrimaryExpr ::= VariableReference | '(' Expr ')' | Literal | Number | FunctionCall */ 925 final public Object PrimaryExpr() throws ParseException { 926 Object ex = null; 927 switch (jj_nt.kind) { 928 case VARIABLE: 929 ex = VariableReference(); 930 break; 931 case 80: 932 jj_consume_token(80); 933 ex = Expression(); 934 jj_consume_token(81); 935 break; 936 case Literal: 937 jj_consume_token(Literal); 938 ex = compiler.literal(unescape(token.image.substring(1, token.image.length() - 1))); 939 break; 940 case Number: 941 jj_consume_token(Number); 942 ex = compiler.number(token.image); 943 break; 944 default: 945 jj_la1[16] = jj_gen; 946 if (jj_2_5(2147483647)) { 947 ex = CoreFunctionCall(); 948 } else { 949 switch (jj_nt.kind) { 950 case OR: 951 case AND: 952 case MOD: 953 case DIV: 954 case NODE: 955 case TEXT: 956 case COMMENT: 957 case PI: 958 case FUNCTION_LAST: 959 case FUNCTION_POSITION: 960 case FUNCTION_COUNT: 961 case FUNCTION_ID: 962 case FUNCTION_KEY: 963 case FUNCTION_LOCAL_NAME: 964 case FUNCTION_NAMESPACE_URI: 965 case FUNCTION_NAME: 966 case FUNCTION_STRING: 967 case FUNCTION_CONCAT: 968 case FUNCTION_STARTS_WITH: 969 case FUNCTION_CONTAINS: 970 case FUNCTION_SUBSTRING_BEFORE: 971 case FUNCTION_SUBSTRING_AFTER: 972 case FUNCTION_SUBSTRING: 973 case FUNCTION_STRING_LENGTH: 974 case FUNCTION_NORMALIZE_SPACE: 975 case FUNCTION_TRANSLATE: 976 case FUNCTION_BOOLEAN: 977 case FUNCTION_NOT: 978 case FUNCTION_TRUE: 979 case FUNCTION_FALSE: 980 case FUNCTION_NULL: 981 case FUNCTION_LANG: 982 case FUNCTION_NUMBER: 983 case FUNCTION_SUM: 984 case FUNCTION_FLOOR: 985 case FUNCTION_CEILING: 986 case FUNCTION_ROUND: 987 case FUNCTION_FORMAT_NUMBER: 988 case NCName: 989 ex = FunctionCall(); 990 break; 991 default: 992 jj_la1[17] = jj_gen; 993 jj_consume_token(-1); 994 throw new ParseException(); 995 } 996 } 997 } 998 {if (true) return ex;} 999 throw new Error("Missing return statement in function"); 1000 } 1001 1002 /*--------------------*/ 1003 /* 3.2 Function Calls */ 1004 /*--------------------*/ 1005 1006 /* [16] FunctionCall ::= FunctionName '(' ( Argument ( ',' Argument)*)? ')' */ 1007 final public Object FunctionCall() throws ParseException { 1008 Object name; 1009 ArrayList args; 1010 name = FunctionName(); 1011 args = ArgumentList(); 1012 if (args == null){ 1013 {if (true) return compiler.function(name, null);} 1014 } 1015 else { 1016 {if (true) return compiler.function(name, args.toArray());} 1017 } 1018 throw new Error("Missing return statement in function"); 1019 } 1020 1021 final public Object CoreFunctionCall() throws ParseException { 1022 int code = 0; 1023 ArrayList args; 1024 code = CoreFunctionName(); 1025 args = ArgumentList(); 1026 if (args == null){ 1027 {if (true) return compiler.function(code, null);} 1028 } 1029 else { 1030 {if (true) return compiler.function(code, args.toArray());} 1031 } 1032 throw new Error("Missing return statement in function"); 1033 } 1034 1035 final public ArrayList ArgumentList() throws ParseException { 1036 ArrayList args = null; 1037 Object arg; 1038 jj_consume_token(80); 1039 switch (jj_nt.kind) { 1040 case SLASH: 1041 case SLASHSLASH: 1042 case MINUS: 1043 case VARIABLE: 1044 case Literal: 1045 case Number: 1046 case OR: 1047 case AND: 1048 case MOD: 1049 case DIV: 1050 case NODE: 1051 case TEXT: 1052 case COMMENT: 1053 case PI: 1054 case AXIS_SELF: 1055 case AXIS_CHILD: 1056 case AXIS_PARENT: 1057 case AXIS_ANCESTOR: 1058 case AXIS_ATTRIBUTE: 1059 case AXIS_NAMESPACE: 1060 case AXIS_PRECEDING: 1061 case AXIS_FOLLOWING: 1062 case AXIS_DESCENDANT: 1063 case AXIS_ANCESTOR_OR_SELF: 1064 case AXIS_FOLLOWING_SIBLING: 1065 case AXIS_PRECEDING_SIBLING: 1066 case AXIS_DESCENDANT_OR_SELF: 1067 case FUNCTION_LAST: 1068 case FUNCTION_POSITION: 1069 case FUNCTION_COUNT: 1070 case FUNCTION_ID: 1071 case FUNCTION_KEY: 1072 case FUNCTION_LOCAL_NAME: 1073 case FUNCTION_NAMESPACE_URI: 1074 case FUNCTION_NAME: 1075 case FUNCTION_STRING: 1076 case FUNCTION_CONCAT: 1077 case FUNCTION_STARTS_WITH: 1078 case FUNCTION_CONTAINS: 1079 case FUNCTION_SUBSTRING_BEFORE: 1080 case FUNCTION_SUBSTRING_AFTER: 1081 case FUNCTION_SUBSTRING: 1082 case FUNCTION_STRING_LENGTH: 1083 case FUNCTION_NORMALIZE_SPACE: 1084 case FUNCTION_TRANSLATE: 1085 case FUNCTION_BOOLEAN: 1086 case FUNCTION_NOT: 1087 case FUNCTION_TRUE: 1088 case FUNCTION_FALSE: 1089 case FUNCTION_NULL: 1090 case FUNCTION_LANG: 1091 case FUNCTION_NUMBER: 1092 case FUNCTION_SUM: 1093 case FUNCTION_FLOOR: 1094 case FUNCTION_CEILING: 1095 case FUNCTION_ROUND: 1096 case FUNCTION_FORMAT_NUMBER: 1097 case NCName: 1098 case 80: 1099 case 82: 1100 case 83: 1101 case 86: 1102 case 88: 1103 arg = Argument(); 1104 args = new ArrayList(); args.add(arg); 1105 label_4: 1106 while (true) { 1107 switch (jj_nt.kind) { 1108 case 87: 1109 ; 1110 break; 1111 default: 1112 jj_la1[18] = jj_gen; 1113 break label_4; 1114 } 1115 jj_consume_token(87); 1116 arg = Argument(); 1117 args.add(arg); 1118 } 1119 break; 1120 default: 1121 jj_la1[19] = jj_gen; 1122 ; 1123 } 1124 jj_consume_token(81); 1125 {if (true) return args;} 1126 throw new Error("Missing return statement in function"); 1127 } 1128 1129 /* [17] Argument ::= Expr */ 1130 final public Object Argument() throws ParseException { 1131 Object ex; 1132 ex = Expression(); 1133 {if (true) return ex;} 1134 throw new Error("Missing return statement in function"); 1135 } 1136 1137 /*---------------*/ 1138 /* 3.3 Node-sets */ 1139 /*---------------*/ 1140 1141 /* [18] UnionExpr ::= PathExpr | UnionExpr '|' PathExpr */ 1142 final public Object UnionExpr() throws ParseException { 1143 Object ex, r; 1144 ArrayList list = null; 1145 ex = PathExpr(); 1146 label_5: 1147 while (true) { 1148 switch (jj_nt.kind) { 1149 case UNION: 1150 ; 1151 break; 1152 default: 1153 jj_la1[20] = jj_gen; 1154 break label_5; 1155 } 1156 jj_consume_token(UNION); 1157 r = PathExpr(); 1158 if (list == null){ 1159 list = new ArrayList(); 1160 list.add(ex); 1161 } 1162 list.add(r); 1163 } 1164 if (list != null){ 1165 ex = compiler.union(list.toArray()); 1166 } 1167 {if (true) return ex;} 1168 throw new Error("Missing return statement in function"); 1169 } 1170 1171 /* [19] PathExpr ::= LocationPath | FilterExpr | FilterExpr '/' RelativeLocationPath | FilterExpr '//' RelativeLocationPath */ 1172 final public Object PathExpr() throws ParseException { 1173 Object ex = null; 1174 Object[] steps; 1175 if (jj_2_6(2147483647)) { 1176 ex = FilterExpr(); 1177 } else { 1178 switch (jj_nt.kind) { 1179 case SLASH: 1180 case SLASHSLASH: 1181 case OR: 1182 case AND: 1183 case MOD: 1184 case DIV: 1185 case NODE: 1186 case TEXT: 1187 case COMMENT: 1188 case PI: 1189 case AXIS_SELF: 1190 case AXIS_CHILD: 1191 case AXIS_PARENT: 1192 case AXIS_ANCESTOR: 1193 case AXIS_ATTRIBUTE: 1194 case AXIS_NAMESPACE: 1195 case AXIS_PRECEDING: 1196 case AXIS_FOLLOWING: 1197 case AXIS_DESCENDANT: 1198 case AXIS_ANCESTOR_OR_SELF: 1199 case AXIS_FOLLOWING_SIBLING: 1200 case AXIS_PRECEDING_SIBLING: 1201 case AXIS_DESCENDANT_OR_SELF: 1202 case FUNCTION_LAST: 1203 case FUNCTION_POSITION: 1204 case FUNCTION_COUNT: 1205 case FUNCTION_ID: 1206 case FUNCTION_KEY: 1207 case FUNCTION_LOCAL_NAME: 1208 case FUNCTION_NAMESPACE_URI: 1209 case FUNCTION_NAME: 1210 case FUNCTION_STRING: 1211 case FUNCTION_CONCAT: 1212 case FUNCTION_STARTS_WITH: 1213 case FUNCTION_CONTAINS: 1214 case FUNCTION_SUBSTRING_BEFORE: 1215 case FUNCTION_SUBSTRING_AFTER: 1216 case FUNCTION_SUBSTRING: 1217 case FUNCTION_STRING_LENGTH: 1218 case FUNCTION_NORMALIZE_SPACE: 1219 case FUNCTION_TRANSLATE: 1220 case FUNCTION_BOOLEAN: 1221 case FUNCTION_NOT: 1222 case FUNCTION_TRUE: 1223 case FUNCTION_FALSE: 1224 case FUNCTION_NULL: 1225 case FUNCTION_LANG: 1226 case FUNCTION_NUMBER: 1227 case FUNCTION_SUM: 1228 case FUNCTION_FLOOR: 1229 case FUNCTION_CEILING: 1230 case FUNCTION_ROUND: 1231 case FUNCTION_FORMAT_NUMBER: 1232 case NCName: 1233 case 82: 1234 case 83: 1235 case 86: 1236 case 88: 1237 ex = LocationPath(); 1238 break; 1239 default: 1240 jj_la1[21] = jj_gen; 1241 jj_consume_token(-1); 1242 throw new ParseException(); 1243 } 1244 } 1245 {if (true) return ex;} 1246 throw new Error("Missing return statement in function"); 1247 } 1248 1249 /* [20] FilterExpr ::= PrimaryExpr | FilterExpr Predicate */ 1250 final public Object FilterExpr() throws ParseException { 1251 Object ex, p; 1252 ArrayList ps = new ArrayList(); 1253 boolean path = false; 1254 ArrayList steps = new ArrayList(); 1255 ex = PrimaryExpr(); 1256 label_6: 1257 while (true) { 1258 switch (jj_nt.kind) { 1259 case 84: 1260 ; 1261 break; 1262 default: 1263 jj_la1[22] = jj_gen; 1264 break label_6; 1265 } 1266 p = Predicate(); 1267 path = true; 1268 ps.add(p); 1269 } 1270 label_7: 1271 while (true) { 1272 switch (jj_nt.kind) { 1273 case SLASH: 1274 case SLASHSLASH: 1275 ; 1276 break; 1277 default: 1278 jj_la1[23] = jj_gen; 1279 break label_7; 1280 } 1281 LocationStep(steps); 1282 path = true; 1283 } 1284 if (path){ 1285 {if (true) return compiler.expressionPath(ex, ps.toArray(), steps.toArray());} 1286 } 1287 else { 1288 {if (true) return ex;} 1289 } 1290 throw new Error("Missing return statement in function"); 1291 } 1292 1293 /*--------------*/ 1294 /* 3.4 Booleans */ 1295 /*--------------*/ 1296 1297 /* [21] OrExpr ::= AndExpr | OrExpr 'or' AndExpr */ 1298 final public Object OrExpr() throws ParseException { 1299 Object ex, r; 1300 ArrayList list = null; 1301 ex = AndExpr(); 1302 label_8: 1303 while (true) { 1304 switch (jj_nt.kind) { 1305 case OR: 1306 ; 1307 break; 1308 default: 1309 jj_la1[24] = jj_gen; 1310 break label_8; 1311 } 1312 jj_consume_token(OR); 1313 r = AndExpr(); 1314 if (list == null){ 1315 list = new ArrayList(); 1316 list.add(ex); 1317 } 1318 list.add(r); 1319 } 1320 if (list != null){ 1321 ex = compiler.or(list.toArray()); 1322 } 1323 {if (true) return ex;} 1324 throw new Error("Missing return statement in function"); 1325 } 1326 1327 /* [22] AndExpr ::= EqualityExpr | AndExpr 'and' EqualityExpr */ 1328 final public Object AndExpr() throws ParseException { 1329 Object ex, r; 1330 ArrayList list = null; 1331 ex = EqualityExpr(); 1332 label_9: 1333 while (true) { 1334 switch (jj_nt.kind) { 1335 case AND: 1336 ; 1337 break; 1338 default: 1339 jj_la1[25] = jj_gen; 1340 break label_9; 1341 } 1342 jj_consume_token(AND); 1343 r = EqualityExpr(); 1344 if (list == null){ 1345 list = new ArrayList(); 1346 list.add(ex); 1347 } 1348 list.add(r); 1349 } 1350 if (list != null){ 1351 ex = compiler.and(list.toArray()); 1352 } 1353 {if (true) return ex;} 1354 throw new Error("Missing return statement in function"); 1355 } 1356 1357 /* [23] EqualityExpr ::= RelationalExpr | EqualityExpr '=' RelationalExpr | EqualityExpr '!=' RelationalExpr */ 1358 final public Object EqualityExpr() throws ParseException { 1359 Object ex, r; 1360 ex = RelationalExpr(); 1361 label_10: 1362 while (true) { 1363 switch (jj_nt.kind) { 1364 case EQ: 1365 case NEQ: 1366 ; 1367 break; 1368 default: 1369 jj_la1[26] = jj_gen; 1370 break label_10; 1371 } 1372 switch (jj_nt.kind) { 1373 case EQ: 1374 jj_consume_token(EQ); 1375 r = RelationalExpr(); 1376 ex = compiler.equal(ex, r); 1377 break; 1378 case NEQ: 1379 jj_consume_token(NEQ); 1380 r = RelationalExpr(); 1381 ex = compiler.notEqual(ex, r); 1382 break; 1383 default: 1384 jj_la1[27] = jj_gen; 1385 jj_consume_token(-1); 1386 throw new ParseException(); 1387 } 1388 } 1389 {if (true) return ex;} 1390 throw new Error("Missing return statement in function"); 1391 } 1392 1393 /* [24] RelationalExpr ::= AdditiveExpr | RelationalExpr '<' AdditiveExpr | RelationalExpr '>' AdditiveExpr 1394 | RelationalExpr '<=' AdditiveExpr | RelationalExpr '>=' AdditiveExpr */ 1395 final public Object RelationalExpr() throws ParseException { 1396 Object ex, r; 1397 ex = AdditiveExpr(); 1398 label_11: 1399 while (true) { 1400 switch (jj_nt.kind) { 1401 case LT: 1402 case LTE: 1403 case GT: 1404 case GTE: 1405 ; 1406 break; 1407 default: 1408 jj_la1[28] = jj_gen; 1409 break label_11; 1410 } 1411 switch (jj_nt.kind) { 1412 case LT: 1413 jj_consume_token(LT); 1414 r = AdditiveExpr(); 1415 ex = compiler.lessThan(ex, r); 1416 break; 1417 case GT: 1418 jj_consume_token(GT); 1419 r = AdditiveExpr(); 1420 ex = compiler.greaterThan(ex, r); 1421 break; 1422 case LTE: 1423 jj_consume_token(LTE); 1424 r = AdditiveExpr(); 1425 ex = compiler.lessThanOrEqual(ex, r); 1426 break; 1427 case GTE: 1428 jj_consume_token(GTE); 1429 r = AdditiveExpr(); 1430 ex = compiler.greaterThanOrEqual(ex, r); 1431 break; 1432 default: 1433 jj_la1[29] = jj_gen; 1434 jj_consume_token(-1); 1435 throw new ParseException(); 1436 } 1437 } 1438 {if (true) return ex;} 1439 throw new Error("Missing return statement in function"); 1440 } 1441 1442 /*-------------*/ 1443 /* 3.5 Numbers */ 1444 /*-------------*/ 1445 1446 /* [25] AdditiveExpr ::= MultiplicativeExpr | AdditiveExpr '+' MultiplicativeExpr | AdditiveExpr '-' MultiplicativeExpr */ 1447 final public Object AdditiveExpr() throws ParseException { 1448 Object ex, r; 1449 ArrayList list = null; 1450 ex = SubtractiveExpr(); 1451 label_12: 1452 while (true) { 1453 switch (jj_nt.kind) { 1454 case PLUS: 1455 ; 1456 break; 1457 default: 1458 jj_la1[30] = jj_gen; 1459 break label_12; 1460 } 1461 jj_consume_token(PLUS); 1462 r = SubtractiveExpr(); 1463 if (list == null){ 1464 list = new ArrayList(); 1465 list.add(ex); 1466 } 1467 list.add(r); 1468 } 1469 if (list != null){ 1470 ex = compiler.sum(list.toArray()); 1471 } 1472 {if (true) return ex;} 1473 throw new Error("Missing return statement in function"); 1474 } 1475 1476 final public Object SubtractiveExpr() throws ParseException { 1477 Object ex, r = null; 1478 ex = MultiplicativeExpr(); 1479 label_13: 1480 while (true) { 1481 switch (jj_nt.kind) { 1482 case MINUS: 1483 ; 1484 break; 1485 default: 1486 jj_la1[31] = jj_gen; 1487 break label_13; 1488 } 1489 jj_consume_token(MINUS); 1490 r = MultiplicativeExpr(); 1491 ex = compiler.minus(ex, r); 1492 } 1493 {if (true) return ex;} 1494 throw new Error("Missing return statement in function"); 1495 } 1496 1497 /* [26] MultiplicativeExpr ::= UnaryExpr | MultiplicativeExpr MultiplyOperator UnaryExpr 1498 | MultiplicativeExpr 'div' UnaryExpr | MultiplicativeExpr 'mod' UnaryExpr */ 1499 final public Object MultiplicativeExpr() throws ParseException { 1500 Object ex, r; 1501 ex = UnaryExpr(); 1502 label_14: 1503 while (true) { 1504 switch (jj_nt.kind) { 1505 case MOD: 1506 case DIV: 1507 case 88: 1508 ; 1509 break; 1510 default: 1511 jj_la1[32] = jj_gen; 1512 break label_14; 1513 } 1514 switch (jj_nt.kind) { 1515 case 88: 1516 jj_consume_token(88); 1517 r = UnaryExpr(); 1518 ex = compiler.multiply(ex, r); 1519 break; 1520 case DIV: 1521 jj_consume_token(DIV); 1522 r = UnaryExpr(); 1523 ex = compiler.divide(ex, r); 1524 break; 1525 case MOD: 1526 jj_consume_token(MOD); 1527 r = UnaryExpr(); 1528 ex = compiler.mod(ex, r); 1529 break; 1530 default: 1531 jj_la1[33] = jj_gen; 1532 jj_consume_token(-1); 1533 throw new ParseException(); 1534 } 1535 } 1536 {if (true) return ex;} 1537 throw new Error("Missing return statement in function"); 1538 } 1539 1540 /* [27] UnaryExpr ::= UnionExpr | '-' UnaryExpr */ 1541 final public Object UnaryExpr() throws ParseException { 1542 Object ex; 1543 switch (jj_nt.kind) { 1544 case SLASH: 1545 case SLASHSLASH: 1546 case VARIABLE: 1547 case Literal: 1548 case Number: 1549 case OR: 1550 case AND: 1551 case MOD: 1552 case DIV: 1553 case NODE: 1554 case TEXT: 1555 case COMMENT: 1556 case PI: 1557 case AXIS_SELF: 1558 case AXIS_CHILD: 1559 case AXIS_PARENT: 1560 case AXIS_ANCESTOR: 1561 case AXIS_ATTRIBUTE: 1562 case AXIS_NAMESPACE: 1563 case AXIS_PRECEDING: 1564 case AXIS_FOLLOWING: 1565 case AXIS_DESCENDANT: 1566 case AXIS_ANCESTOR_OR_SELF: 1567 case AXIS_FOLLOWING_SIBLING: 1568 case AXIS_PRECEDING_SIBLING: 1569 case AXIS_DESCENDANT_OR_SELF: 1570 case FUNCTION_LAST: 1571 case FUNCTION_POSITION: 1572 case FUNCTION_COUNT: 1573 case FUNCTION_ID: 1574 case FUNCTION_KEY: 1575 case FUNCTION_LOCAL_NAME: 1576 case FUNCTION_NAMESPACE_URI: 1577 case FUNCTION_NAME: 1578 case FUNCTION_STRING: 1579 case FUNCTION_CONCAT: 1580 case FUNCTION_STARTS_WITH: 1581 case FUNCTION_CONTAINS: 1582 case FUNCTION_SUBSTRING_BEFORE: 1583 case FUNCTION_SUBSTRING_AFTER: 1584 case FUNCTION_SUBSTRING: 1585 case FUNCTION_STRING_LENGTH: 1586 case FUNCTION_NORMALIZE_SPACE: 1587 case FUNCTION_TRANSLATE: 1588 case FUNCTION_BOOLEAN: 1589 case FUNCTION_NOT: 1590 case FUNCTION_TRUE: 1591 case FUNCTION_FALSE: 1592 case FUNCTION_NULL: 1593 case FUNCTION_LANG: 1594 case FUNCTION_NUMBER: 1595 case FUNCTION_SUM: 1596 case FUNCTION_FLOOR: 1597 case FUNCTION_CEILING: 1598 case FUNCTION_ROUND: 1599 case FUNCTION_FORMAT_NUMBER: 1600 case NCName: 1601 case 80: 1602 case 82: 1603 case 83: 1604 case 86: 1605 case 88: 1606 ex = UnionExpr(); 1607 break; 1608 case MINUS: 1609 jj_consume_token(MINUS); 1610 ex = UnaryExpr(); 1611 ex = compiler.minus(ex); 1612 break; 1613 default: 1614 jj_la1[34] = jj_gen; 1615 jj_consume_token(-1); 1616 throw new ParseException(); 1617 } 1618 {if (true) return ex;} 1619 throw new Error("Missing return statement in function"); 1620 } 1621 1622 /*-------------*/ 1623 /* 3.6 Strings */ 1624 /*-------------*/ 1625 1626 /*----------------------------------*/ 1627 /* 3.7 Expression Lexical Structure */ 1628 /*----------------------------------*/ 1629 /* 1630 The following special tokenization rules must be applied in the order 1631 specified to disambiguate the grammar: 1632 1633 1. If there is a preceding token and the preceding token is not one of 1634 @, ::, (, [, , or an Operator, 1635 then a * must be recognized as a MultiplyOperator and an NCName must 1636 be recognized as an OperatorName. 1637 1638 2. If the character following an NCName (possibly after intervening ExprWhitespace) 1639 is (, then the token must be recognized as a NodeType or a FunctionName. 1640 1641 3. If the two characters following an NCName (possibly after intervening ExprWhitespace) 1642 are ::, then the token must be recognized as an AxisName. 1643 1644 4. Otherwise, the token must not be recognized as a MultiplyOperator, an OperatorName, 1645 a NodeType, a FunctionName, or an AxisName. 1646 */ 1647 1648 /* 1649 [28] ExprToken ::= '(' | ')' | '[' | ']' | '.' | '..' | '@' | ',' | '::' 1650 | WildcardName | NodeType | Operator | FunctionName | AxisName | Literal 1651 | Number | VariableReference 1652 */ 1653 /* [34] MultiplyOperator ::= '*' */ 1654 1655 /* [35] FunctionName ::= QName - NodeType */ 1656 final public Object FunctionName() throws ParseException { 1657 Object qname; 1658 qname = QName_Without_CoreFunctions(); 1659 {if (true) return qname;} 1660 throw new Error("Missing return statement in function"); 1661 } 1662 1663 /* [36] VariableReference ::= '$' QName */ 1664 final public Object VariableReference() throws ParseException { 1665 Object ex; 1666 jj_consume_token(VARIABLE); 1667 ex = QName(); 1668 {if (true) return compiler.variableReference(ex);} 1669 throw new Error("Missing return statement in function"); 1670 } 1671 1672 /* [37] WildcardName ::= '*' | NCName ':' '*' | QName */ 1673 final public Object WildcardName() throws ParseException { 1674 Object qn; 1675 String nc1, nc2 = null; 1676 switch (jj_nt.kind) { 1677 case 88: 1678 jj_consume_token(88); 1679 break; 1680 case OR: 1681 case AND: 1682 case MOD: 1683 case DIV: 1684 case NODE: 1685 case TEXT: 1686 case COMMENT: 1687 case PI: 1688 case FUNCTION_LAST: 1689 case FUNCTION_POSITION: 1690 case FUNCTION_COUNT: 1691 case FUNCTION_ID: 1692 case FUNCTION_KEY: 1693 case FUNCTION_LOCAL_NAME: 1694 case FUNCTION_NAMESPACE_URI: 1695 case FUNCTION_NAME: 1696 case FUNCTION_STRING: 1697 case FUNCTION_CONCAT: 1698 case FUNCTION_STARTS_WITH: 1699 case FUNCTION_CONTAINS: 1700 case FUNCTION_SUBSTRING_BEFORE: 1701 case FUNCTION_SUBSTRING_AFTER: 1702 case FUNCTION_SUBSTRING: 1703 case FUNCTION_STRING_LENGTH: 1704 case FUNCTION_NORMALIZE_SPACE: 1705 case FUNCTION_TRANSLATE: 1706 case FUNCTION_BOOLEAN: 1707 case FUNCTION_NOT: 1708 case FUNCTION_TRUE: 1709 case FUNCTION_FALSE: 1710 case FUNCTION_NULL: 1711 case FUNCTION_LANG: 1712 case FUNCTION_NUMBER: 1713 case FUNCTION_SUM: 1714 case FUNCTION_FLOOR: 1715 case FUNCTION_CEILING: 1716 case FUNCTION_ROUND: 1717 case FUNCTION_FORMAT_NUMBER: 1718 case NCName: 1719 NCName(); 1720 break; 1721 default: 1722 jj_la1[35] = jj_gen; 1723 jj_consume_token(-1); 1724 throw new ParseException(); 1725 } 1726 nc1 = token.image; 1727 switch (jj_nt.kind) { 1728 case 79: 1729 jj_consume_token(79); 1730 switch (jj_nt.kind) { 1731 case 88: 1732 jj_consume_token(88); 1733 break; 1734 case OR: 1735 case AND: 1736 case MOD: 1737 case DIV: 1738 case NODE: 1739 case TEXT: 1740 case COMMENT: 1741 case PI: 1742 case FUNCTION_LAST: 1743 case FUNCTION_POSITION: 1744 case FUNCTION_COUNT: 1745 case FUNCTION_ID: 1746 case FUNCTION_KEY: 1747 case FUNCTION_LOCAL_NAME: 1748 case FUNCTION_NAMESPACE_URI: 1749 case FUNCTION_NAME: 1750 case FUNCTION_STRING: 1751 case FUNCTION_CONCAT: 1752 case FUNCTION_STARTS_WITH: 1753 case FUNCTION_CONTAINS: 1754 case FUNCTION_SUBSTRING_BEFORE: 1755 case FUNCTION_SUBSTRING_AFTER: 1756 case FUNCTION_SUBSTRING: 1757 case FUNCTION_STRING_LENGTH: 1758 case FUNCTION_NORMALIZE_SPACE: 1759 case FUNCTION_TRANSLATE: 1760 case FUNCTION_BOOLEAN: 1761 case FUNCTION_NOT: 1762 case FUNCTION_TRUE: 1763 case FUNCTION_FALSE: 1764 case FUNCTION_NULL: 1765 case FUNCTION_LANG: 1766 case FUNCTION_NUMBER: 1767 case FUNCTION_SUM: 1768 case FUNCTION_FLOOR: 1769 case FUNCTION_CEILING: 1770 case FUNCTION_ROUND: 1771 case FUNCTION_FORMAT_NUMBER: 1772 case NCName: 1773 NCName(); 1774 break; 1775 default: 1776 jj_la1[36] = jj_gen; 1777 jj_consume_token(-1); 1778 throw new ParseException(); 1779 } 1780 nc2 = token.image; 1781 break; 1782 default: 1783 jj_la1[37] = jj_gen; 1784 ; 1785 } 1786 if (nc2 != null){ 1787 qn = compiler.qname(nc1, nc2); 1788 } 1789 else { 1790 qn = compiler.qname(null, nc1); 1791 } 1792 {if (true) return qn;} 1793 throw new Error("Missing return statement in function"); 1794 } 1795 1796 /* [38] NodeType ::= 'comment' | 'text' | 'processing-instruction' | 'node' */ 1797 final public int NodeType() throws ParseException { 1798 int type; 1799 switch (jj_nt.kind) { 1800 case TEXT: 1801 jj_consume_token(TEXT); 1802 type = Compiler.NODE_TYPE_TEXT; 1803 break; 1804 case NODE: 1805 jj_consume_token(NODE); 1806 type = Compiler.NODE_TYPE_NODE; 1807 break; 1808 case COMMENT: 1809 jj_consume_token(COMMENT); 1810 type = Compiler.NODE_TYPE_COMMENT; 1811 break; 1812 case PI: 1813 jj_consume_token(PI); 1814 type = Compiler.NODE_TYPE_PI; 1815 break; 1816 default: 1817 jj_la1[38] = jj_gen; 1818 jj_consume_token(-1); 1819 throw new ParseException(); 1820 } 1821 {if (true) return type;} 1822 throw new Error("Missing return statement in function"); 1823 } 1824 1825 final private boolean jj_2_1(int xla) { 1826 jj_la = xla; jj_lastpos = jj_scanpos = token; 1827 boolean retval = !jj_3_1(); 1828 jj_save(0, xla); 1829 return retval; 1830 } 1831 1832 final private boolean jj_2_2(int xla) { 1833 jj_la = xla; jj_lastpos = jj_scanpos = token; 1834 boolean retval = !jj_3_2(); 1835 jj_save(1, xla); 1836 return retval; 1837 } 1838 1839 final private boolean jj_2_3(int xla) { 1840 jj_la = xla; jj_lastpos = jj_scanpos = token; 1841 boolean retval = !jj_3_3(); 1842 jj_save(2, xla); 1843 return retval; 1844 } 1845 1846 final private boolean jj_2_4(int xla) { 1847 jj_la = xla; jj_lastpos = jj_scanpos = token; 1848 boolean retval = !jj_3_4(); 1849 jj_save(3, xla); 1850 return retval; 1851 } 1852 1853 final private boolean jj_2_5(int xla) { 1854 jj_la = xla; jj_lastpos = jj_scanpos = token; 1855 boolean retval = !jj_3_5(); 1856 jj_save(4, xla); 1857 return retval; 1858 } 1859 1860 final private boolean jj_2_6(int xla) { 1861 jj_la = xla; jj_lastpos = jj_scanpos = token; 1862 boolean retval = !jj_3_6(); 1863 jj_save(5, xla); 1864 return retval; 1865 } 1866 1867 final private boolean jj_3R_65() { 1868 if (jj_scan_token(FUNCTION_ID)) return true; 1869 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1870 return false; 1871 } 1872 1873 final private boolean jj_3R_104() { 1874 if (jj_3R_118()) return true; 1875 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1876 return false; 1877 } 1878 1879 final private boolean jj_3R_64() { 1880 if (jj_scan_token(FUNCTION_COUNT)) return true; 1881 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1882 return false; 1883 } 1884 1885 final private boolean jj_3R_63() { 1886 if (jj_scan_token(FUNCTION_POSITION)) return true; 1887 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1888 return false; 1889 } 1890 1891 final private boolean jj_3R_62() { 1892 if (jj_scan_token(FUNCTION_LAST)) return true; 1893 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1894 return false; 1895 } 1896 1897 final private boolean jj_3R_18() { 1898 Token xsp; 1899 xsp = jj_scanpos; 1900 if (jj_3R_62()) { 1901 jj_scanpos = xsp; 1902 if (jj_3R_63()) { 1903 jj_scanpos = xsp; 1904 if (jj_3R_64()) { 1905 jj_scanpos = xsp; 1906 if (jj_3R_65()) { 1907 jj_scanpos = xsp; 1908 if (jj_3R_66()) { 1909 jj_scanpos = xsp; 1910 if (jj_3R_67()) { 1911 jj_scanpos = xsp; 1912 if (jj_3R_68()) { 1913 jj_scanpos = xsp; 1914 if (jj_3R_69()) { 1915 jj_scanpos = xsp; 1916 if (jj_3R_70()) { 1917 jj_scanpos = xsp; 1918 if (jj_3R_71()) { 1919 jj_scanpos = xsp; 1920 if (jj_3R_72()) { 1921 jj_scanpos = xsp; 1922 if (jj_3R_73()) { 1923 jj_scanpos = xsp; 1924 if (jj_3R_74()) { 1925 jj_scanpos = xsp; 1926 if (jj_3R_75()) { 1927 jj_scanpos = xsp; 1928 if (jj_3R_76()) { 1929 jj_scanpos = xsp; 1930 if (jj_3R_77()) { 1931 jj_scanpos = xsp; 1932 if (jj_3R_78()) { 1933 jj_scanpos = xsp; 1934 if (jj_3R_79()) { 1935 jj_scanpos = xsp; 1936 if (jj_3R_80()) { 1937 jj_scanpos = xsp; 1938 if (jj_3R_81()) { 1939 jj_scanpos = xsp; 1940 if (jj_3R_82()) { 1941 jj_scanpos = xsp; 1942 if (jj_3R_83()) { 1943 jj_scanpos = xsp; 1944 if (jj_3R_84()) { 1945 jj_scanpos = xsp; 1946 if (jj_3R_85()) { 1947 jj_scanpos = xsp; 1948 if (jj_3R_86()) { 1949 jj_scanpos = xsp; 1950 if (jj_3R_87()) { 1951 jj_scanpos = xsp; 1952 if (jj_3R_88()) { 1953 jj_scanpos = xsp; 1954 if (jj_3R_89()) { 1955 jj_scanpos = xsp; 1956 if (jj_3R_90()) { 1957 jj_scanpos = xsp; 1958 if (jj_3R_91()) return true; 1959 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1960 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1961 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1962 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1963 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1964 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1965 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1966 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1967 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1968 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1969 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1970 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1971 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1972 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1973 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1974 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1975 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1976 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1977 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1978 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1979 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1980 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1981 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1982 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1983 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1984 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1985 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1986 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1987 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1988 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1989 return false; 1990 } 1991 1992 final private boolean jj_3R_111() { 1993 if (jj_scan_token(DIV)) return true; 1994 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 1995 return false; 1996 } 1997 1998 final private boolean jj_3R_110() { 1999 if (jj_scan_token(MOD)) return true; 2000 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2001 return false; 2002 } 2003 2004 final private boolean jj_3R_109() { 2005 if (jj_scan_token(AND)) return true; 2006 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2007 return false; 2008 } 2009 2010 final private boolean jj_3R_108() { 2011 if (jj_scan_token(OR)) return true; 2012 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2013 return false; 2014 } 2015 2016 final private boolean jj_3R_107() { 2017 if (jj_scan_token(NCName)) return true; 2018 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2019 return false; 2020 } 2021 2022 final private boolean jj_3R_173() { 2023 if (jj_scan_token(MINUS)) return true; 2024 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2025 if (jj_3R_170()) return true; 2026 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2027 return false; 2028 } 2029 2030 final private boolean jj_3R_98() { 2031 Token xsp; 2032 xsp = jj_scanpos; 2033 if (jj_3R_107()) { 2034 jj_scanpos = xsp; 2035 if (jj_3R_108()) { 2036 jj_scanpos = xsp; 2037 if (jj_3R_109()) { 2038 jj_scanpos = xsp; 2039 if (jj_3R_110()) { 2040 jj_scanpos = xsp; 2041 if (jj_3R_111()) return true; 2042 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2043 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2044 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2045 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2046 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2047 return false; 2048 } 2049 2050 final private boolean jj_3R_171() { 2051 Token xsp; 2052 xsp = jj_scanpos; 2053 if (jj_3R_174()) { 2054 jj_scanpos = xsp; 2055 if (jj_3R_175()) { 2056 jj_scanpos = xsp; 2057 if (jj_3R_176()) return true; 2058 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2059 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2060 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2061 return false; 2062 } 2063 2064 final private boolean jj_3R_172() { 2065 if (jj_3R_177()) return true; 2066 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2067 return false; 2068 } 2069 2070 final private boolean jj_3R_153() { 2071 if (jj_scan_token(86)) return true; 2072 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2073 return false; 2074 } 2075 2076 final private boolean jj_3R_130() { 2077 Token xsp; 2078 xsp = jj_scanpos; 2079 if (jj_3R_153()) jj_scanpos = xsp; 2080 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2081 return false; 2082 } 2083 2084 final private boolean jj_3R_54() { 2085 if (jj_scan_token(FUNCTION_FORMAT_NUMBER)) return true; 2086 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2087 return false; 2088 } 2089 2090 final private boolean jj_3R_170() { 2091 Token xsp; 2092 xsp = jj_scanpos; 2093 if (jj_3R_172()) { 2094 jj_scanpos = xsp; 2095 if (jj_3R_173()) return true; 2096 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2097 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2098 return false; 2099 } 2100 2101 final private boolean jj_3R_53() { 2102 if (jj_scan_token(FUNCTION_KEY)) return true; 2103 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2104 return false; 2105 } 2106 2107 final private boolean jj_3R_52() { 2108 if (jj_scan_token(FUNCTION_ROUND)) return true; 2109 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2110 return false; 2111 } 2112 2113 final private boolean jj_3R_51() { 2114 if (jj_scan_token(FUNCTION_CEILING)) return true; 2115 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2116 return false; 2117 } 2118 2119 final private boolean jj_3R_50() { 2120 if (jj_scan_token(FUNCTION_FLOOR)) return true; 2121 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2122 return false; 2123 } 2124 2125 final private boolean jj_3R_49() { 2126 if (jj_scan_token(FUNCTION_SUM)) return true; 2127 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2128 return false; 2129 } 2130 2131 final private boolean jj_3R_48() { 2132 if (jj_scan_token(FUNCTION_NUMBER)) return true; 2133 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2134 return false; 2135 } 2136 2137 final private boolean jj_3R_176() { 2138 if (jj_scan_token(MOD)) return true; 2139 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2140 if (jj_3R_170()) return true; 2141 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2142 return false; 2143 } 2144 2145 final private boolean jj_3R_47() { 2146 if (jj_scan_token(FUNCTION_LANG)) return true; 2147 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2148 return false; 2149 } 2150 2151 final private boolean jj_3R_175() { 2152 if (jj_scan_token(DIV)) return true; 2153 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2154 if (jj_3R_170()) return true; 2155 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2156 return false; 2157 } 2158 2159 final private boolean jj_3R_46() { 2160 if (jj_scan_token(FUNCTION_NULL)) return true; 2161 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2162 return false; 2163 } 2164 2165 final private boolean jj_3R_174() { 2166 if (jj_scan_token(88)) return true; 2167 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2168 if (jj_3R_170()) return true; 2169 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2170 return false; 2171 } 2172 2173 final private boolean jj_3R_45() { 2174 if (jj_scan_token(FUNCTION_FALSE)) return true; 2175 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2176 return false; 2177 } 2178 2179 final private boolean jj_3R_44() { 2180 if (jj_scan_token(FUNCTION_TRUE)) return true; 2181 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2182 return false; 2183 } 2184 2185 final private boolean jj_3R_43() { 2186 if (jj_scan_token(FUNCTION_NOT)) return true; 2187 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2188 return false; 2189 } 2190 2191 final private boolean jj_3R_42() { 2192 if (jj_scan_token(FUNCTION_BOOLEAN)) return true; 2193 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2194 return false; 2195 } 2196 2197 final private boolean jj_3R_41() { 2198 if (jj_scan_token(FUNCTION_TRANSLATE)) return true; 2199 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2200 return false; 2201 } 2202 2203 final private boolean jj_3R_116() { 2204 if (jj_scan_token(84)) return true; 2205 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2206 if (jj_3R_104()) return true; 2207 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2208 if (jj_scan_token(85)) return true; 2209 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2210 return false; 2211 } 2212 2213 final private boolean jj_3R_40() { 2214 if (jj_scan_token(FUNCTION_NORMALIZE_SPACE)) return true; 2215 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2216 return false; 2217 } 2218 2219 final private boolean jj_3R_39() { 2220 if (jj_scan_token(FUNCTION_STRING_LENGTH)) return true; 2221 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2222 return false; 2223 } 2224 2225 final private boolean jj_3R_38() { 2226 if (jj_scan_token(FUNCTION_SUBSTRING)) return true; 2227 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2228 return false; 2229 } 2230 2231 final private boolean jj_3R_37() { 2232 if (jj_scan_token(FUNCTION_SUBSTRING_AFTER)) return true; 2233 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2234 return false; 2235 } 2236 2237 final private boolean jj_3R_36() { 2238 if (jj_scan_token(FUNCTION_SUBSTRING_BEFORE)) return true; 2239 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2240 return false; 2241 } 2242 2243 final private boolean jj_3R_168() { 2244 if (jj_3R_170()) return true; 2245 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2246 Token xsp; 2247 while (true) { 2248 xsp = jj_scanpos; 2249 if (jj_3R_171()) { jj_scanpos = xsp; break; } 2250 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2251 } 2252 return false; 2253 } 2254 2255 final private boolean jj_3R_35() { 2256 if (jj_scan_token(FUNCTION_CONTAINS)) return true; 2257 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2258 return false; 2259 } 2260 2261 final private boolean jj_3R_34() { 2262 if (jj_scan_token(FUNCTION_STARTS_WITH)) return true; 2263 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2264 return false; 2265 } 2266 2267 final private boolean jj_3R_33() { 2268 if (jj_scan_token(FUNCTION_CONCAT)) return true; 2269 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2270 return false; 2271 } 2272 2273 final private boolean jj_3R_32() { 2274 if (jj_scan_token(FUNCTION_STRING)) return true; 2275 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2276 return false; 2277 } 2278 2279 final private boolean jj_3R_31() { 2280 if (jj_scan_token(FUNCTION_NAME)) return true; 2281 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2282 return false; 2283 } 2284 2285 final private boolean jj_3R_30() { 2286 if (jj_scan_token(FUNCTION_NAMESPACE_URI)) return true; 2287 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2288 return false; 2289 } 2290 2291 final private boolean jj_3R_29() { 2292 if (jj_scan_token(FUNCTION_LOCAL_NAME)) return true; 2293 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2294 return false; 2295 } 2296 2297 final private boolean jj_3R_169() { 2298 if (jj_scan_token(MINUS)) return true; 2299 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2300 if (jj_3R_168()) return true; 2301 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2302 return false; 2303 } 2304 2305 final private boolean jj_3R_28() { 2306 if (jj_scan_token(FUNCTION_ID)) return true; 2307 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2308 return false; 2309 } 2310 2311 final private boolean jj_3R_27() { 2312 if (jj_scan_token(FUNCTION_COUNT)) return true; 2313 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2314 return false; 2315 } 2316 2317 final private boolean jj_3R_152() { 2318 if (jj_scan_token(AXIS_DESCENDANT_OR_SELF)) return true; 2319 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2320 return false; 2321 } 2322 2323 final private boolean jj_3R_26() { 2324 if (jj_scan_token(FUNCTION_POSITION)) return true; 2325 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2326 return false; 2327 } 2328 2329 final private boolean jj_3R_25() { 2330 if (jj_scan_token(FUNCTION_LAST)) return true; 2331 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2332 return false; 2333 } 2334 2335 final private boolean jj_3R_151() { 2336 if (jj_scan_token(AXIS_PRECEDING_SIBLING)) return true; 2337 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2338 return false; 2339 } 2340 2341 final private boolean jj_3R_24() { 2342 if (jj_scan_token(PI)) return true; 2343 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2344 return false; 2345 } 2346 2347 final private boolean jj_3R_150() { 2348 if (jj_scan_token(AXIS_FOLLOWING_SIBLING)) return true; 2349 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2350 return false; 2351 } 2352 2353 final private boolean jj_3R_23() { 2354 if (jj_scan_token(COMMENT)) return true; 2355 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2356 return false; 2357 } 2358 2359 final private boolean jj_3R_149() { 2360 if (jj_scan_token(AXIS_ANCESTOR_OR_SELF)) return true; 2361 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2362 return false; 2363 } 2364 2365 final private boolean jj_3R_163() { 2366 if (jj_scan_token(PLUS)) return true; 2367 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2368 if (jj_3R_162()) return true; 2369 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2370 return false; 2371 } 2372 2373 final private boolean jj_3R_22() { 2374 if (jj_scan_token(TEXT)) return true; 2375 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2376 return false; 2377 } 2378 2379 final private boolean jj_3R_148() { 2380 if (jj_scan_token(AXIS_DESCENDANT)) return true; 2381 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2382 return false; 2383 } 2384 2385 final private boolean jj_3R_21() { 2386 if (jj_scan_token(NODE)) return true; 2387 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2388 return false; 2389 } 2390 2391 final private boolean jj_3R_147() { 2392 if (jj_scan_token(AXIS_FOLLOWING)) return true; 2393 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2394 return false; 2395 } 2396 2397 final private boolean jj_3R_20() { 2398 if (jj_3R_98()) return true; 2399 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2400 return false; 2401 } 2402 2403 final private boolean jj_3R_146() { 2404 if (jj_scan_token(AXIS_PRECEDING)) return true; 2405 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2406 return false; 2407 } 2408 2409 final private boolean jj_3R_145() { 2410 if (jj_scan_token(AXIS_NAMESPACE)) return true; 2411 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2412 return false; 2413 } 2414 2415 final private boolean jj_3R_162() { 2416 if (jj_3R_168()) return true; 2417 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2418 Token xsp; 2419 while (true) { 2420 xsp = jj_scanpos; 2421 if (jj_3R_169()) { jj_scanpos = xsp; break; } 2422 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2423 } 2424 return false; 2425 } 2426 2427 final private boolean jj_3R_144() { 2428 if (jj_scan_token(AXIS_ATTRIBUTE)) return true; 2429 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2430 return false; 2431 } 2432 2433 final private boolean jj_3R_143() { 2434 if (jj_scan_token(AXIS_ANCESTOR)) return true; 2435 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2436 return false; 2437 } 2438 2439 final private boolean jj_3R_142() { 2440 if (jj_scan_token(AXIS_PARENT)) return true; 2441 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2442 return false; 2443 } 2444 2445 final private boolean jj_3R_15() { 2446 Token xsp; 2447 xsp = jj_scanpos; 2448 if (jj_3R_20()) { 2449 jj_scanpos = xsp; 2450 if (jj_3R_21()) { 2451 jj_scanpos = xsp; 2452 if (jj_3R_22()) { 2453 jj_scanpos = xsp; 2454 if (jj_3R_23()) { 2455 jj_scanpos = xsp; 2456 if (jj_3R_24()) { 2457 jj_scanpos = xsp; 2458 if (jj_3R_25()) { 2459 jj_scanpos = xsp; 2460 if (jj_3R_26()) { 2461 jj_scanpos = xsp; 2462 if (jj_3R_27()) { 2463 jj_scanpos = xsp; 2464 if (jj_3R_28()) { 2465 jj_scanpos = xsp; 2466 if (jj_3R_29()) { 2467 jj_scanpos = xsp; 2468 if (jj_3R_30()) { 2469 jj_scanpos = xsp; 2470 if (jj_3R_31()) { 2471 jj_scanpos = xsp; 2472 if (jj_3R_32()) { 2473 jj_scanpos = xsp; 2474 if (jj_3R_33()) { 2475 jj_scanpos = xsp; 2476 if (jj_3R_34()) { 2477 jj_scanpos = xsp; 2478 if (jj_3R_35()) { 2479 jj_scanpos = xsp; 2480 if (jj_3R_36()) { 2481 jj_scanpos = xsp; 2482 if (jj_3R_37()) { 2483 jj_scanpos = xsp; 2484 if (jj_3R_38()) { 2485 jj_scanpos = xsp; 2486 if (jj_3R_39()) { 2487 jj_scanpos = xsp; 2488 if (jj_3R_40()) { 2489 jj_scanpos = xsp; 2490 if (jj_3R_41()) { 2491 jj_scanpos = xsp; 2492 if (jj_3R_42()) { 2493 jj_scanpos = xsp; 2494 if (jj_3R_43()) { 2495 jj_scanpos = xsp; 2496 if (jj_3R_44()) { 2497 jj_scanpos = xsp; 2498 if (jj_3R_45()) { 2499 jj_scanpos = xsp; 2500 if (jj_3R_46()) { 2501 jj_scanpos = xsp; 2502 if (jj_3R_47()) { 2503 jj_scanpos = xsp; 2504 if (jj_3R_48()) { 2505 jj_scanpos = xsp; 2506 if (jj_3R_49()) { 2507 jj_scanpos = xsp; 2508 if (jj_3R_50()) { 2509 jj_scanpos = xsp; 2510 if (jj_3R_51()) { 2511 jj_scanpos = xsp; 2512 if (jj_3R_52()) { 2513 jj_scanpos = xsp; 2514 if (jj_3R_53()) { 2515 jj_scanpos = xsp; 2516 if (jj_3R_54()) return true; 2517 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2518 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2519 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2520 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2521 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2522 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2523 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2524 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2525 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2526 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2527 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2528 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2529 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2530 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2531 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2532 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2533 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2534 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2535 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2536 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2537 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2538 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2539 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2540 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2541 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2542 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2543 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2544 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2545 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2546 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2547 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2548 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2549 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2550 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2551 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2552 return false; 2553 } 2554 2555 final private boolean jj_3R_141() { 2556 if (jj_scan_token(AXIS_CHILD)) return true; 2557 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2558 return false; 2559 } 2560 2561 final private boolean jj_3R_140() { 2562 if (jj_scan_token(AXIS_SELF)) return true; 2563 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2564 return false; 2565 } 2566 2567 final private boolean jj_3R_129() { 2568 Token xsp; 2569 xsp = jj_scanpos; 2570 if (jj_3R_140()) { 2571 jj_scanpos = xsp; 2572 if (jj_3R_141()) { 2573 jj_scanpos = xsp; 2574 if (jj_3R_142()) { 2575 jj_scanpos = xsp; 2576 if (jj_3R_143()) { 2577 jj_scanpos = xsp; 2578 if (jj_3R_144()) { 2579 jj_scanpos = xsp; 2580 if (jj_3R_145()) { 2581 jj_scanpos = xsp; 2582 if (jj_3R_146()) { 2583 jj_scanpos = xsp; 2584 if (jj_3R_147()) { 2585 jj_scanpos = xsp; 2586 if (jj_3R_148()) { 2587 jj_scanpos = xsp; 2588 if (jj_3R_149()) { 2589 jj_scanpos = xsp; 2590 if (jj_3R_150()) { 2591 jj_scanpos = xsp; 2592 if (jj_3R_151()) { 2593 jj_scanpos = xsp; 2594 if (jj_3R_152()) return true; 2595 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2596 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2597 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2598 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2599 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2600 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2601 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2602 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2603 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2604 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2605 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2606 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2607 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2608 return false; 2609 } 2610 2611 final private boolean jj_3R_159() { 2612 Token xsp; 2613 xsp = jj_scanpos; 2614 if (jj_3R_164()) { 2615 jj_scanpos = xsp; 2616 if (jj_3R_165()) { 2617 jj_scanpos = xsp; 2618 if (jj_3R_166()) { 2619 jj_scanpos = xsp; 2620 if (jj_3R_167()) return true; 2621 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2622 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2623 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2624 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2625 return false; 2626 } 2627 2628 final private boolean jj_3R_158() { 2629 if (jj_3R_162()) return true; 2630 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2631 Token xsp; 2632 while (true) { 2633 xsp = jj_scanpos; 2634 if (jj_3R_163()) { jj_scanpos = xsp; break; } 2635 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2636 } 2637 return false; 2638 } 2639 2640 final private boolean jj_3R_122() { 2641 if (jj_3R_130()) return true; 2642 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2643 return false; 2644 } 2645 2646 final private boolean jj_3R_121() { 2647 if (jj_3R_129()) return true; 2648 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2649 return false; 2650 } 2651 2652 final private boolean jj_3R_167() { 2653 if (jj_scan_token(GTE)) return true; 2654 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2655 if (jj_3R_158()) return true; 2656 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2657 return false; 2658 } 2659 2660 final private boolean jj_3R_112() { 2661 Token xsp; 2662 xsp = jj_scanpos; 2663 if (jj_3R_121()) { 2664 jj_scanpos = xsp; 2665 if (jj_3R_122()) return true; 2666 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2667 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2668 return false; 2669 } 2670 2671 final private boolean jj_3R_166() { 2672 if (jj_scan_token(LTE)) return true; 2673 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2674 if (jj_3R_158()) return true; 2675 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2676 return false; 2677 } 2678 2679 final private boolean jj_3R_165() { 2680 if (jj_scan_token(GT)) return true; 2681 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2682 if (jj_3R_158()) return true; 2683 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2684 return false; 2685 } 2686 2687 final private boolean jj_3R_157() { 2688 Token xsp; 2689 xsp = jj_scanpos; 2690 if (jj_3R_160()) { 2691 jj_scanpos = xsp; 2692 if (jj_3R_161()) return true; 2693 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2694 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2695 return false; 2696 } 2697 2698 final private boolean jj_3R_164() { 2699 if (jj_scan_token(LT)) return true; 2700 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2701 if (jj_3R_158()) return true; 2702 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2703 return false; 2704 } 2705 2706 final private boolean jj_3R_156() { 2707 if (jj_3R_158()) return true; 2708 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2709 Token xsp; 2710 while (true) { 2711 xsp = jj_scanpos; 2712 if (jj_3R_159()) { jj_scanpos = xsp; break; } 2713 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2714 } 2715 return false; 2716 } 2717 2718 final private boolean jj_3R_161() { 2719 if (jj_scan_token(NEQ)) return true; 2720 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2721 if (jj_3R_156()) return true; 2722 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2723 return false; 2724 } 2725 2726 final private boolean jj_3R_160() { 2727 if (jj_scan_token(EQ)) return true; 2728 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2729 if (jj_3R_156()) return true; 2730 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2731 return false; 2732 } 2733 2734 final private boolean jj_3R_102() { 2735 if (jj_3R_116()) return true; 2736 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2737 return false; 2738 } 2739 2740 final private boolean jj_3_4() { 2741 if (jj_scan_token(PI)) return true; 2742 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2743 return false; 2744 } 2745 2746 final private boolean jj_3_3() { 2747 if (jj_3R_17()) return true; 2748 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2749 if (jj_scan_token(80)) return true; 2750 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2751 if (jj_scan_token(81)) return true; 2752 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2753 return false; 2754 } 2755 2756 final private boolean jj_3R_101() { 2757 if (jj_scan_token(83)) return true; 2758 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2759 return false; 2760 } 2761 2762 final private boolean jj_3R_100() { 2763 if (jj_scan_token(82)) return true; 2764 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2765 return false; 2766 } 2767 2768 final private boolean jj_3R_115() { 2769 if (jj_3R_123()) return true; 2770 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2771 return false; 2772 } 2773 2774 final private boolean jj_3R_134() { 2775 if (jj_3R_156()) return true; 2776 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2777 Token xsp; 2778 while (true) { 2779 xsp = jj_scanpos; 2780 if (jj_3R_157()) { jj_scanpos = xsp; break; } 2781 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2782 } 2783 return false; 2784 } 2785 2786 final private boolean jj_3R_114() { 2787 if (jj_scan_token(PI)) return true; 2788 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2789 if (jj_scan_token(80)) return true; 2790 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2791 if (jj_scan_token(Literal)) return true; 2792 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2793 if (jj_scan_token(81)) return true; 2794 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2795 return false; 2796 } 2797 2798 final private boolean jj_3R_113() { 2799 if (jj_3R_17()) return true; 2800 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2801 if (jj_scan_token(80)) return true; 2802 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2803 if (jj_scan_token(81)) return true; 2804 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2805 return false; 2806 } 2807 2808 final private boolean jj_3R_99() { 2809 if (jj_3R_112()) return true; 2810 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2811 Token xsp; 2812 xsp = jj_scanpos; 2813 if (jj_3R_113()) { 2814 jj_scanpos = xsp; 2815 if (jj_3R_114()) { 2816 jj_scanpos = xsp; 2817 if (jj_3R_115()) return true; 2818 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2819 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2820 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2821 return false; 2822 } 2823 2824 final private boolean jj_3R_135() { 2825 if (jj_scan_token(AND)) return true; 2826 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2827 if (jj_3R_134()) return true; 2828 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2829 return false; 2830 } 2831 2832 final private boolean jj_3R_57() { 2833 Token xsp; 2834 xsp = jj_scanpos; 2835 if (jj_3R_99()) { 2836 jj_scanpos = xsp; 2837 if (jj_3R_100()) { 2838 jj_scanpos = xsp; 2839 if (jj_3R_101()) return true; 2840 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2841 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2842 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2843 while (true) { 2844 xsp = jj_scanpos; 2845 if (jj_3R_102()) { jj_scanpos = xsp; break; } 2846 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2847 } 2848 return false; 2849 } 2850 2851 final private boolean jj_3R_125() { 2852 if (jj_3R_134()) return true; 2853 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2854 Token xsp; 2855 while (true) { 2856 xsp = jj_scanpos; 2857 if (jj_3R_135()) { jj_scanpos = xsp; break; } 2858 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2859 } 2860 return false; 2861 } 2862 2863 final private boolean jj_3R_193() { 2864 if (jj_3R_16()) return true; 2865 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2866 return false; 2867 } 2868 2869 final private boolean jj_3R_56() { 2870 if (jj_scan_token(SLASHSLASH)) return true; 2871 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2872 return false; 2873 } 2874 2875 final private boolean jj_3R_55() { 2876 if (jj_scan_token(SLASH)) return true; 2877 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2878 return false; 2879 } 2880 2881 final private boolean jj_3R_126() { 2882 if (jj_scan_token(OR)) return true; 2883 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2884 if (jj_3R_125()) return true; 2885 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2886 return false; 2887 } 2888 2889 final private boolean jj_3R_16() { 2890 Token xsp; 2891 xsp = jj_scanpos; 2892 if (jj_3R_55()) { 2893 jj_scanpos = xsp; 2894 if (jj_3R_56()) return true; 2895 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2896 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2897 if (jj_3R_57()) return true; 2898 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2899 return false; 2900 } 2901 2902 final private boolean jj_3R_190() { 2903 if (jj_3R_16()) return true; 2904 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2905 return false; 2906 } 2907 2908 final private boolean jj_3R_118() { 2909 if (jj_3R_125()) return true; 2910 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2911 Token xsp; 2912 while (true) { 2913 xsp = jj_scanpos; 2914 if (jj_3R_126()) { jj_scanpos = xsp; break; } 2915 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2916 } 2917 return false; 2918 } 2919 2920 final private boolean jj_3R_188() { 2921 if (jj_3R_57()) return true; 2922 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2923 Token xsp; 2924 while (true) { 2925 xsp = jj_scanpos; 2926 if (jj_3R_190()) { jj_scanpos = xsp; break; } 2927 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2928 } 2929 return false; 2930 } 2931 2932 final private boolean jj_3_2() { 2933 if (jj_3R_16()) return true; 2934 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2935 return false; 2936 } 2937 2938 final private boolean jj_3R_185() { 2939 if (jj_3R_16()) return true; 2940 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2941 return false; 2942 } 2943 2944 final private boolean jj_3R_192() { 2945 if (jj_scan_token(SLASH)) return true; 2946 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2947 return false; 2948 } 2949 2950 final private boolean jj_3R_191() { 2951 if (jj_3R_16()) return true; 2952 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2953 Token xsp; 2954 while (true) { 2955 xsp = jj_scanpos; 2956 if (jj_3R_193()) { jj_scanpos = xsp; break; } 2957 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2958 } 2959 return false; 2960 } 2961 2962 final private boolean jj_3R_184() { 2963 if (jj_3R_116()) return true; 2964 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2965 return false; 2966 } 2967 2968 final private boolean jj_3R_189() { 2969 Token xsp; 2970 xsp = jj_scanpos; 2971 if (jj_3R_191()) { 2972 jj_scanpos = xsp; 2973 if (jj_3R_192()) return true; 2974 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2975 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2976 return false; 2977 } 2978 2979 final private boolean jj_3R_182() { 2980 if (jj_3R_19()) return true; 2981 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2982 Token xsp; 2983 while (true) { 2984 xsp = jj_scanpos; 2985 if (jj_3R_184()) { jj_scanpos = xsp; break; } 2986 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2987 } 2988 while (true) { 2989 xsp = jj_scanpos; 2990 if (jj_3R_185()) { jj_scanpos = xsp; break; } 2991 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2992 } 2993 return false; 2994 } 2995 2996 final private boolean jj_3_6() { 2997 if (jj_3R_19()) return true; 2998 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 2999 return false; 3000 } 3001 3002 final private boolean jj_3R_187() { 3003 if (jj_3R_189()) return true; 3004 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3005 return false; 3006 } 3007 3008 final private boolean jj_3R_186() { 3009 if (jj_3R_188()) return true; 3010 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3011 return false; 3012 } 3013 3014 final private boolean jj_3R_183() { 3015 Token xsp; 3016 xsp = jj_scanpos; 3017 if (jj_3R_186()) { 3018 jj_scanpos = xsp; 3019 if (jj_3R_187()) return true; 3020 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3021 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3022 return false; 3023 } 3024 3025 final private boolean jj_3R_181() { 3026 if (jj_3R_183()) return true; 3027 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3028 return false; 3029 } 3030 3031 final private boolean jj_3R_180() { 3032 if (jj_3R_182()) return true; 3033 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3034 return false; 3035 } 3036 3037 final private boolean jj_3R_178() { 3038 Token xsp; 3039 xsp = jj_scanpos; 3040 if (jj_3R_180()) { 3041 jj_scanpos = xsp; 3042 if (jj_3R_181()) return true; 3043 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3044 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3045 return false; 3046 } 3047 3048 final private boolean jj_3R_179() { 3049 if (jj_scan_token(UNION)) return true; 3050 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3051 if (jj_3R_178()) return true; 3052 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3053 return false; 3054 } 3055 3056 final private boolean jj_3R_177() { 3057 if (jj_3R_178()) return true; 3058 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3059 Token xsp; 3060 while (true) { 3061 xsp = jj_scanpos; 3062 if (jj_3R_179()) { jj_scanpos = xsp; break; } 3063 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3064 } 3065 return false; 3066 } 3067 3068 final private boolean jj_3R_136() { 3069 if (jj_3R_104()) return true; 3070 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3071 return false; 3072 } 3073 3074 final private boolean jj_3R_137() { 3075 if (jj_scan_token(87)) return true; 3076 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3077 if (jj_3R_136()) return true; 3078 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3079 return false; 3080 } 3081 3082 final private boolean jj_3R_127() { 3083 if (jj_3R_136()) return true; 3084 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3085 Token xsp; 3086 while (true) { 3087 xsp = jj_scanpos; 3088 if (jj_3R_137()) { jj_scanpos = xsp; break; } 3089 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3090 } 3091 return false; 3092 } 3093 3094 final private boolean jj_3R_119() { 3095 if (jj_scan_token(80)) return true; 3096 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3097 Token xsp; 3098 xsp = jj_scanpos; 3099 if (jj_3R_127()) jj_scanpos = xsp; 3100 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3101 if (jj_scan_token(81)) return true; 3102 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3103 return false; 3104 } 3105 3106 final private boolean jj_3R_61() { 3107 if (jj_scan_token(PI)) return true; 3108 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3109 return false; 3110 } 3111 3112 final private boolean jj_3R_60() { 3113 if (jj_scan_token(COMMENT)) return true; 3114 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3115 return false; 3116 } 3117 3118 final private boolean jj_3R_59() { 3119 if (jj_scan_token(NODE)) return true; 3120 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3121 return false; 3122 } 3123 3124 final private boolean jj_3R_58() { 3125 if (jj_scan_token(TEXT)) return true; 3126 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3127 return false; 3128 } 3129 3130 final private boolean jj_3_1() { 3131 if (jj_3R_15()) return true; 3132 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3133 if (jj_scan_token(79)) return true; 3134 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3135 return false; 3136 } 3137 3138 final private boolean jj_3R_17() { 3139 Token xsp; 3140 xsp = jj_scanpos; 3141 if (jj_3R_58()) { 3142 jj_scanpos = xsp; 3143 if (jj_3R_59()) { 3144 jj_scanpos = xsp; 3145 if (jj_3R_60()) { 3146 jj_scanpos = xsp; 3147 if (jj_3R_61()) return true; 3148 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3149 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3150 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3151 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3152 return false; 3153 } 3154 3155 final private boolean jj_3R_155() { 3156 if (jj_3R_15()) return true; 3157 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3158 return false; 3159 } 3160 3161 final private boolean jj_3R_139() { 3162 if (jj_3R_98()) return true; 3163 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3164 return false; 3165 } 3166 3167 final private boolean jj_3R_138() { 3168 if (jj_3R_15()) return true; 3169 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3170 if (jj_scan_token(79)) return true; 3171 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3172 if (jj_3R_15()) return true; 3173 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3174 return false; 3175 } 3176 3177 final private boolean jj_3R_154() { 3178 if (jj_scan_token(88)) return true; 3179 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3180 return false; 3181 } 3182 3183 final private boolean jj_3R_132() { 3184 if (jj_3R_15()) return true; 3185 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3186 return false; 3187 } 3188 3189 final private boolean jj_3R_105() { 3190 if (jj_3R_18()) return true; 3191 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3192 if (jj_3R_119()) return true; 3193 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3194 return false; 3195 } 3196 3197 final private boolean jj_3R_124() { 3198 if (jj_scan_token(79)) return true; 3199 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3200 if (jj_3R_15()) return true; 3201 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3202 return false; 3203 } 3204 3205 final private boolean jj_3R_133() { 3206 if (jj_scan_token(79)) return true; 3207 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3208 Token xsp; 3209 xsp = jj_scanpos; 3210 if (jj_3R_154()) { 3211 jj_scanpos = xsp; 3212 if (jj_3R_155()) return true; 3213 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3214 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3215 return false; 3216 } 3217 3218 final private boolean jj_3R_128() { 3219 Token xsp; 3220 xsp = jj_scanpos; 3221 if (jj_3R_138()) { 3222 jj_scanpos = xsp; 3223 if (jj_3R_139()) return true; 3224 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3225 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3226 return false; 3227 } 3228 3229 final private boolean jj_3R_131() { 3230 if (jj_scan_token(88)) return true; 3231 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3232 return false; 3233 } 3234 3235 final private boolean jj_3R_123() { 3236 Token xsp; 3237 xsp = jj_scanpos; 3238 if (jj_3R_131()) { 3239 jj_scanpos = xsp; 3240 if (jj_3R_132()) return true; 3241 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3242 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3243 xsp = jj_scanpos; 3244 if (jj_3R_133()) jj_scanpos = xsp; 3245 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3246 return false; 3247 } 3248 3249 final private boolean jj_3R_106() { 3250 if (jj_3R_120()) return true; 3251 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3252 if (jj_3R_119()) return true; 3253 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3254 return false; 3255 } 3256 3257 final private boolean jj_3R_117() { 3258 if (jj_3R_15()) return true; 3259 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3260 Token xsp; 3261 xsp = jj_scanpos; 3262 if (jj_3R_124()) jj_scanpos = xsp; 3263 else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3264 return false; 3265 } 3266 3267 final private boolean jj_3_5() { 3268 if (jj_3R_18()) return true; 3269 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3270 if (jj_scan_token(80)) return true; 3271 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3272 return false; 3273 } 3274 3275 final private boolean jj_3R_103() { 3276 if (jj_scan_token(VARIABLE)) return true; 3277 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3278 if (jj_3R_117()) return true; 3279 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3280 return false; 3281 } 3282 3283 final private boolean jj_3R_91() { 3284 if (jj_scan_token(FUNCTION_FORMAT_NUMBER)) return true; 3285 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3286 return false; 3287 } 3288 3289 final private boolean jj_3R_90() { 3290 if (jj_scan_token(FUNCTION_KEY)) return true; 3291 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3292 return false; 3293 } 3294 3295 final private boolean jj_3R_89() { 3296 if (jj_scan_token(FUNCTION_ROUND)) return true; 3297 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3298 return false; 3299 } 3300 3301 final private boolean jj_3R_88() { 3302 if (jj_scan_token(FUNCTION_CEILING)) return true; 3303 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3304 return false; 3305 } 3306 3307 final private boolean jj_3R_97() { 3308 if (jj_3R_106()) return true; 3309 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3310 return false; 3311 } 3312 3313 final private boolean jj_3R_87() { 3314 if (jj_scan_token(FUNCTION_FLOOR)) return true; 3315 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3316 return false; 3317 } 3318 3319 final private boolean jj_3R_96() { 3320 if (jj_3R_105()) return true; 3321 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3322 return false; 3323 } 3324 3325 final private boolean jj_3R_86() { 3326 if (jj_scan_token(FUNCTION_SUM)) return true; 3327 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3328 return false; 3329 } 3330 3331 final private boolean jj_3R_95() { 3332 if (jj_scan_token(Number)) return true; 3333 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3334 return false; 3335 } 3336 3337 final private boolean jj_3R_85() { 3338 if (jj_scan_token(FUNCTION_NUMBER)) return true; 3339 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3340 return false; 3341 } 3342 3343 final private boolean jj_3R_94() { 3344 if (jj_scan_token(Literal)) return true; 3345 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3346 return false; 3347 } 3348 3349 final private boolean jj_3R_84() { 3350 if (jj_scan_token(FUNCTION_LANG)) return true; 3351 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3352 return false; 3353 } 3354 3355 final private boolean jj_3R_93() { 3356 if (jj_scan_token(80)) return true; 3357 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3358 if (jj_3R_104()) return true; 3359 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3360 if (jj_scan_token(81)) return true; 3361 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3362 return false; 3363 } 3364 3365 final private boolean jj_3R_83() { 3366 if (jj_scan_token(FUNCTION_NULL)) return true; 3367 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3368 return false; 3369 } 3370 3371 final private boolean jj_3R_92() { 3372 if (jj_3R_103()) return true; 3373 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3374 return false; 3375 } 3376 3377 final private boolean jj_3R_82() { 3378 if (jj_scan_token(FUNCTION_FALSE)) return true; 3379 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3380 return false; 3381 } 3382 3383 final private boolean jj_3R_81() { 3384 if (jj_scan_token(FUNCTION_TRUE)) return true; 3385 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3386 return false; 3387 } 3388 3389 final private boolean jj_3R_120() { 3390 if (jj_3R_128()) return true; 3391 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3392 return false; 3393 } 3394 3395 final private boolean jj_3R_80() { 3396 if (jj_scan_token(FUNCTION_NOT)) return true; 3397 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3398 return false; 3399 } 3400 3401 final private boolean jj_3R_79() { 3402 if (jj_scan_token(FUNCTION_BOOLEAN)) return true; 3403 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3404 return false; 3405 } 3406 3407 final private boolean jj_3R_78() { 3408 if (jj_scan_token(FUNCTION_TRANSLATE)) return true; 3409 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3410 return false; 3411 } 3412 3413 final private boolean jj_3R_77() { 3414 if (jj_scan_token(FUNCTION_NORMALIZE_SPACE)) return true; 3415 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3416 return false; 3417 } 3418 3419 final private boolean jj_3R_19() { 3420 Token xsp; 3421 xsp = jj_scanpos; 3422 if (jj_3R_92()) { 3423 jj_scanpos = xsp; 3424 if (jj_3R_93()) { 3425 jj_scanpos = xsp; 3426 if (jj_3R_94()) { 3427 jj_scanpos = xsp; 3428 if (jj_3R_95()) { 3429 jj_scanpos = xsp; 3430 if (jj_3R_96()) { 3431 jj_scanpos = xsp; 3432 if (jj_3R_97()) return true; 3433 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3434 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3435 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3436 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3437 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3438 } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3439 return false; 3440 } 3441 3442 final private boolean jj_3R_76() { 3443 if (jj_scan_token(FUNCTION_STRING_LENGTH)) return true; 3444 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3445 return false; 3446 } 3447 3448 final private boolean jj_3R_75() { 3449 if (jj_scan_token(FUNCTION_SUBSTRING)) return true; 3450 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3451 return false; 3452 } 3453 3454 final private boolean jj_3R_74() { 3455 if (jj_scan_token(FUNCTION_SUBSTRING_AFTER)) return true; 3456 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3457 return false; 3458 } 3459 3460 final private boolean jj_3R_73() { 3461 if (jj_scan_token(FUNCTION_SUBSTRING_BEFORE)) return true; 3462 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3463 return false; 3464 } 3465 3466 final private boolean jj_3R_72() { 3467 if (jj_scan_token(FUNCTION_CONTAINS)) return true; 3468 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3469 return false; 3470 } 3471 3472 final private boolean jj_3R_71() { 3473 if (jj_scan_token(FUNCTION_STARTS_WITH)) return true; 3474 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3475 return false; 3476 } 3477 3478 final private boolean jj_3R_70() { 3479 if (jj_scan_token(FUNCTION_CONCAT)) return true; 3480 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3481 return false; 3482 } 3483 3484 final private boolean jj_3R_69() { 3485 if (jj_scan_token(FUNCTION_STRING)) return true; 3486 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3487 return false; 3488 } 3489 3490 final private boolean jj_3R_68() { 3491 if (jj_scan_token(FUNCTION_NAME)) return true; 3492 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3493 return false; 3494 } 3495 3496 final private boolean jj_3R_67() { 3497 if (jj_scan_token(FUNCTION_NAMESPACE_URI)) return true; 3498 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3499 return false; 3500 } 3501 3502 final private boolean jj_3R_66() { 3503 if (jj_scan_token(FUNCTION_LOCAL_NAME)) return true; 3504 if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; 3505 return false; 3506 } 3507 3508 public XPathParserTokenManager token_source; 3509 SimpleCharStream jj_input_stream; 3510 public Token token, jj_nt; 3511 private Token jj_scanpos, jj_lastpos; 3512 private int jj_la; 3513 public boolean lookingAhead = false; 3514 private boolean jj_semLA; 3515 private int jj_gen; 3516 final private int[] jj_la1 = new int[39]; 3517 static private int[] jj_la1_0; 3518 static private int[] jj_la1_1; 3519 static private int[] jj_la1_2; 3520 static { 3521 jj_la1_0(); 3522 jj_la1_1(); 3523 jj_la1_2(); 3524 } 3525 private static void jj_la1_0() { 3526 jj_la1_0 = new int[] {0xf8000000,0x78000000,0x0,0x0,0x78000000,0xf80000c0,0xc0,0x40,0xc0,0xc0,0xf8000000,0xf8000000,0x0,0x0,0x0,0x0,0x160000,0xf8000000,0x0,0xf81604c0,0x100,0xf80000c0,0x0,0xc0,0x8000000,0x10000000,0x1800,0x1800,0x1e000,0x1e000,0x200,0x400,0x60000000,0x60000000,0xf81604c0,0xf8000000,0xf8000000,0x0,0x80000000,}; 3527 } 3528 private static void jj_la1_1() { 3529 jj_la1_1 = new int[] {0xffff0007,0x0,0xffff0000,0x0,0x0,0xffffffff,0x0,0x0,0x0,0x0,0xffff0007,0xffffffff,0x0,0xfff8,0xfff8,0x0,0x0,0xffff0007,0x0,0xffffffff,0x0,0xffffffff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xffffffff,0xffff0007,0xffff0007,0x0,0x7,}; 3530 } 3531 private static void jj_la1_2() { 3532 jj_la1_2 = new int[] {0x7fff,0x4000,0x3fff,0x8000,0x4000,0x14c7fff,0x0,0x0,0x0,0x0,0x1007fff,0x14c7fff,0x100000,0x0,0x0,0x400000,0x10000,0x7fff,0x800000,0x14d7fff,0x0,0x14c7fff,0x100000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1000000,0x1000000,0x14d7fff,0x1007fff,0x1007fff,0x8000,0x0,}; 3533 } 3534 final private JJCalls[] jj_2_rtns = new JJCalls[6]; 3535 private boolean jj_rescan = false; 3536 private int jj_gc = 0; 3537 3538 public XPathParser(java.io.InputStream stream) { 3539 jj_input_stream = new SimpleCharStream(stream, 1, 1); 3540 token_source = new XPathParserTokenManager(jj_input_stream); 3541 token = new Token(); 3542 token.next = jj_nt = token_source.getNextToken(); 3543 jj_gen = 0; 3544 for (int i = 0; i < 39; i++) jj_la1[i] = -1; 3545 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); 3546 } 3547 3548 public void ReInit(java.io.InputStream stream) { 3549 jj_input_stream.ReInit(stream, 1, 1); 3550 token_source.ReInit(jj_input_stream); 3551 token = new Token(); 3552 token.next = jj_nt = token_source.getNextToken(); 3553 jj_gen = 0; 3554 for (int i = 0; i < 39; i++) jj_la1[i] = -1; 3555 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); 3556 } 3557 3558 public XPathParser(java.io.Reader stream) { 3559 jj_input_stream = new SimpleCharStream(stream, 1, 1); 3560 token_source = new XPathParserTokenManager(jj_input_stream); 3561 token = new Token(); 3562 token.next = jj_nt = token_source.getNextToken(); 3563 jj_gen = 0; 3564 for (int i = 0; i < 39; i++) jj_la1[i] = -1; 3565 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); 3566 } 3567 3568 public void ReInit(java.io.Reader stream) { 3569 jj_input_stream.ReInit(stream, 1, 1); 3570 token_source.ReInit(jj_input_stream); 3571 token = new Token(); 3572 token.next = jj_nt = token_source.getNextToken(); 3573 jj_gen = 0; 3574 for (int i = 0; i < 39; i++) jj_la1[i] = -1; 3575 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); 3576 } 3577 3578 public XPathParser(XPathParserTokenManager tm) { 3579 token_source = tm; 3580 token = new Token(); 3581 token.next = jj_nt = token_source.getNextToken(); 3582 jj_gen = 0; 3583 for (int i = 0; i < 39; i++) jj_la1[i] = -1; 3584 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); 3585 } 3586 3587 public void ReInit(XPathParserTokenManager tm) { 3588 token_source = tm; 3589 token = new Token(); 3590 token.next = jj_nt = token_source.getNextToken(); 3591 jj_gen = 0; 3592 for (int i = 0; i < 39; i++) jj_la1[i] = -1; 3593 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); 3594 } 3595 3596 final private Token jj_consume_token(int kind) throws ParseException { 3597 Token oldToken = token; 3598 if ((token = jj_nt).next != null) jj_nt = jj_nt.next; 3599 else jj_nt = jj_nt.next = token_source.getNextToken(); 3600 if (token.kind == kind) { 3601 jj_gen++; 3602 if (++jj_gc > 100) { 3603 jj_gc = 0; 3604 for (int i = 0; i < jj_2_rtns.length; i++) { 3605 JJCalls c = jj_2_rtns[i]; 3606 while (c != null) { 3607 if (c.gen < jj_gen) c.first = null; 3608 c = c.next; 3609 } 3610 } 3611 } 3612 return token; 3613 } 3614 jj_nt = token; 3615 token = oldToken; 3616 jj_kind = kind; 3617 throw generateParseException(); 3618 } 3619 3620 final private boolean jj_scan_token(int kind) { 3621 if (jj_scanpos == jj_lastpos) { 3622 jj_la--; 3623 if (jj_scanpos.next == null) { 3624 jj_lastpos = jj_scanpos = jj_scanpos.next = token_source.getNextToken(); 3625 } else { 3626 jj_lastpos = jj_scanpos = jj_scanpos.next; 3627 } 3628 } else { 3629 jj_scanpos = jj_scanpos.next; 3630 } 3631 if (jj_rescan) { 3632 int i = 0; Token tok = token; 3633 while (tok != null && tok != jj_scanpos) { i++; tok = tok.next; } 3634 if (tok != null) jj_add_error_token(kind, i); 3635 } 3636 return (jj_scanpos.kind != kind); 3637 } 3638 3639 final public Token getNextToken() { 3640 if ((token = jj_nt).next != null) jj_nt = jj_nt.next; 3641 else jj_nt = jj_nt.next = token_source.getNextToken(); 3642 jj_gen++; 3643 return token; 3644 } 3645 3646 final public Token getToken(int index) { 3647 Token t = lookingAhead ? jj_scanpos : token; 3648 for (int i = 0; i < index; i++) { 3649 if (t.next != null) t = t.next; 3650 else t = t.next = token_source.getNextToken(); 3651 } 3652 return t; 3653 } 3654 3655 private java.util.Vector jj_expentries = new java.util.Vector(); 3656 private int[] jj_expentry; 3657 private int jj_kind = -1; 3658 private int[] jj_lasttokens = new int[100]; 3659 private int jj_endpos; 3660 3661 private void jj_add_error_token(int kind, int pos) { 3662 if (pos >= 100) return; 3663 if (pos == jj_endpos + 1) { 3664 jj_lasttokens[jj_endpos++] = kind; 3665 } else if (jj_endpos != 0) { 3666 jj_expentry = new int[jj_endpos]; 3667 for (int i = 0; i < jj_endpos; i++) { 3668 jj_expentry[i] = jj_lasttokens[i]; 3669 } 3670 boolean exists = false; 3671 for (java.util.Enumeration en = jj_expentries.elements(); en.hasMoreElements();) { 3672 int[] oldentry = (int[])(en.nextElement()); 3673 if (oldentry.length == jj_expentry.length) { 3674 exists = true; 3675 for (int i = 0; i < jj_expentry.length; i++) { 3676 if (oldentry[i] != jj_expentry[i]) { 3677 exists = false; 3678 break; 3679 } 3680 } 3681 if (exists) break; 3682 } 3683 } 3684 if (!exists) jj_expentries.addElement(jj_expentry); 3685 if (pos != 0) jj_lasttokens[(jj_endpos = pos) - 1] = kind; 3686 } 3687 } 3688 3689 public ParseException generateParseException() { 3690 jj_expentries.removeAllElements(); 3691 boolean[] la1tokens = new boolean[89]; 3692 for (int i = 0; i < 89; i++) { 3693 la1tokens[i] = false; 3694 } 3695 if (jj_kind >= 0) { 3696 la1tokens[jj_kind] = true; 3697 jj_kind = -1; 3698 } 3699 for (int i = 0; i < 39; i++) { 3700 if (jj_la1[i] == jj_gen) { 3701 for (int j = 0; j < 32; j++) { 3702 if ((jj_la1_0[i] & (1<<j)) != 0) { 3703 la1tokens[j] = true; 3704 } 3705 if ((jj_la1_1[i] & (1<<j)) != 0) { 3706 la1tokens[32+j] = true; 3707 } 3708 if ((jj_la1_2[i] & (1<<j)) != 0) { 3709 la1tokens[64+j] = true; 3710 } 3711 } 3712 } 3713 } 3714 for (int i = 0; i < 89; i++) { 3715 if (la1tokens[i]) { 3716 jj_expentry = new int[1]; 3717 jj_expentry[0] = i; 3718 jj_expentries.addElement(jj_expentry); 3719 } 3720 } 3721 jj_endpos = 0; 3722 jj_rescan_token(); 3723 jj_add_error_token(0, 0); 3724 int[][] exptokseq = new int[jj_expentries.size()][]; 3725 for (int i = 0; i < jj_expentries.size(); i++) { 3726 exptokseq[i] = (int[])jj_expentries.elementAt(i); 3727 } 3728 return new ParseException(token, exptokseq, tokenImage); 3729 } 3730 3731 final public void enable_tracing() { 3732 } 3733 3734 final public void disable_tracing() { 3735 } 3736 3737 final private void jj_rescan_token() { 3738 jj_rescan = true; 3739 for (int i = 0; i < 6; i++) { 3740 JJCalls p = jj_2_rtns[i]; 3741 do { 3742 if (p.gen > jj_gen) { 3743 jj_la = p.arg; jj_lastpos = jj_scanpos = p.first; 3744 switch (i) { 3745 case 0: jj_3_1(); break; 3746 case 1: jj_3_2(); break; 3747 case 2: jj_3_3(); break; 3748 case 3: jj_3_4(); break; 3749 case 4: jj_3_5(); break; 3750 case 5: jj_3_6(); break; 3751 } 3752 } 3753 p = p.next; 3754 } while (p != null); 3755 } 3756 jj_rescan = false; 3757 } 3758 3759 final private void jj_save(int index, int xla) { 3760 JJCalls p = jj_2_rtns[index]; 3761 while (p.gen > jj_gen) { 3762 if (p.next == null) { p = p.next = new JJCalls(); break; } 3763 p = p.next; 3764 } 3765 p.gen = jj_gen + xla - jj_la; p.first = token; p.arg = xla; 3766 } 3767 3768 static final class JJCalls { 3769 int gen; 3770 Token first; 3771 int arg; 3772 JJCalls next; 3773 } 3774 3775 }