001/* GoloParser.java */ 002/* Generated By:JJTree&JavaCC: Do not edit this line. GoloParser.java */ 003package org.eclipse.golo.compiler.parser; 004 005import java.util.List; 006import java.util.LinkedList; 007import java.util.LinkedHashSet; 008import java.util.Collections; 009import java.math.BigDecimal; 010import java.math.BigInteger; 011 012import org.eclipse.golo.compiler.utils.StringUnescaping; 013import org.eclipse.golo.compiler.utils.StringBlockIndenter; 014import org.eclipse.golo.compiler.GoloCompilationException; 015 016public class GoloParser/*@bgen(jjtree)*/implements GoloParserTreeConstants, GoloParserConstants {/*@bgen(jjtree)*/ 017 protected JJTGoloParserState jjtree = new JJTGoloParserState(); 018 public GoloCompilationException.Builder exceptionBuilder; 019 020 private boolean errorAlreadyReported = false; 021 022 void skipto(int kind, ParseException e, GoloASTNode node) throws ParseException { 023 if (exceptionBuilder == null) { 024 throw e; 025 } 026 if (!errorAlreadyReported) { 027 exceptionBuilder.report(e, node); 028 errorAlreadyReported = true; 029 } 030 if ("<EOF>".equals(e.tokenImage[0])) { 031 return; 032 } 033 Token t; 034 do { 035 t = getNextToken(); 036 } while (t.kind != kind); 037 } 038 039 public static class ParserClassRef { 040 041 public String name; 042 043 public ParserClassRef(String name) { 044 this.name = name; 045 } 046 047 @Override 048 public String toString() { 049 return "Class<" + name + ">"; 050 } 051 } 052 053 public static class FunctionRef { 054 055 public String module; 056 public String name; 057 public int arity; 058 public boolean varargs; 059 060 public FunctionRef(String module, String name, int arity, boolean varargs) { 061 this.module = module; 062 this.name = name; 063 this.arity = arity; 064 this.varargs = varargs; 065 } 066 067 @Override 068 public String toString() { 069 return "FunctionRef{module=" + module 070 + ",name=" + name 071 + ",arity=" + arity 072 + (varargs ? ",varargs" : "") 073 + "}"; 074 } 075 } 076 077 void error() throws ParseException {/*@bgen(jjtree) error */ 078ASTerror jjtn000 = new ASTerror(JJTERROR); 079boolean jjtc000 = true; 080jjtree.openNodeScope(jjtn000); 081jjtn000.jjtSetFirstToken(getToken(1)); 082try {throw generateParseException();/*@bgen(jjtree)*/ 083} finally { 084 if (jjtc000) { 085 jjtree.closeNodeScope(jjtn000, true); 086 jjtn000.jjtSetLastToken(getToken(0)); 087 } 088} 089 } 090 091 final public void BlankLine() throws ParseException { 092 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 093 case NEWLINE:{ 094 jj_consume_token(NEWLINE); 095 break; 096 } 097 case COMMENT:{ 098 jj_consume_token(COMMENT); 099 break; 100 } 101 default: 102 jj_la1[0] = jj_gen; 103 jj_consume_token(-1); 104 throw new ParseException(); 105 } 106 } 107 108 final public void BlankLines() throws ParseException { 109 label_1: 110 while (true) { 111 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 112 case NEWLINE: 113 case COMMENT:{ 114 ; 115 break; 116 } 117 default: 118 jj_la1[1] = jj_gen; 119 break label_1; 120 } 121 BlankLine(); 122 } 123 } 124 125 final public String QualifiedName() throws ParseException {Token rootToken; 126 Token nextToken; 127 StringBuilder nameBuilder; 128 rootToken = jj_consume_token(IDENTIFIER); 129nameBuilder = new StringBuilder(rootToken.image); 130 label_2: 131 while (true) { 132 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 133 case 72:{ 134 ; 135 break; 136 } 137 default: 138 jj_la1[2] = jj_gen; 139 break label_2; 140 } 141 jj_consume_token(72); 142 nextToken = jj_consume_token(IDENTIFIER); 143nameBuilder.append(".").append(nextToken.image); 144 } 145{if ("" != null) return nameBuilder.toString();} 146 throw new Error("Missing return statement in function"); 147 } 148 149 final public List<String> Parameters() throws ParseException {Token rootToken; 150 Token nextToken; 151 List<String> parameters = new LinkedList<String>(); 152 rootToken = jj_consume_token(IDENTIFIER); 153parameters.add(rootToken.image); 154 label_3: 155 while (true) { 156 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 157 case 73:{ 158 ; 159 break; 160 } 161 default: 162 jj_la1[3] = jj_gen; 163 break label_3; 164 } 165 jj_consume_token(73); 166 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 167 case NEWLINE: 168 case COMMENT:{ 169 BlankLine(); 170 break; 171 } 172 default: 173 jj_la1[4] = jj_gen; 174 ; 175 } 176 nextToken = jj_consume_token(IDENTIFIER); 177parameters.add(nextToken.image); 178 } 179{if ("" != null) return parameters;} 180 throw new Error("Missing return statement in function"); 181 } 182 183 final public List<String> AugmentationNames() throws ParseException {String rootToken; 184 String nextToken; 185 List<String> names = new LinkedList<String>(); 186 rootToken = QualifiedName(); 187names.add(rootToken); 188 label_4: 189 while (true) { 190 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 191 case 73:{ 192 ; 193 break; 194 } 195 default: 196 jj_la1[5] = jj_gen; 197 break label_4; 198 } 199 jj_consume_token(73); 200 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 201 case NEWLINE: 202 case COMMENT:{ 203 BlankLine(); 204 break; 205 } 206 default: 207 jj_la1[6] = jj_gen; 208 ; 209 } 210 nextToken = QualifiedName(); 211names.add(nextToken); 212 } 213{if ("" != null) return names;} 214 throw new Error("Missing return statement in function"); 215 } 216 217 final public String StringLiteral() throws ParseException {Token literal; 218 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 219 case STRING:{ 220 literal = jj_consume_token(STRING); 221{if ("" != null) return StringUnescaping.unescape(literal.image.substring(1, literal.image.length() - 1));} 222 break; 223 } 224 case MULTI_STRING:{ 225 literal = jj_consume_token(MULTI_STRING); 226{if ("" != null) return literal.image.substring(3, literal.image.length() - 3);} 227 break; 228 } 229 default: 230 jj_la1[7] = jj_gen; 231 jj_consume_token(-1); 232 throw new ParseException(); 233 } 234 throw new Error("Missing return statement in function"); 235 } 236 237 final public Character CharLiteral() throws ParseException {Token literal; 238 literal = jj_consume_token(CHAR); 239{if ("" != null) return Character.valueOf(StringUnescaping.unescape(literal.image.substring(1, literal.image.length() - 1)).charAt(0));} 240 throw new Error("Missing return statement in function"); 241 } 242 243 final public Long LongLiteral() throws ParseException {Token literal; 244 literal = jj_consume_token(LONG_NUMBER); 245String image = literal.image.substring(0, literal.image.length() - 2); 246 {if ("" != null) return Long.valueOf(image.replace("_",""));} 247 throw new Error("Missing return statement in function"); 248 } 249 250 final public BigInteger BigIntegerLiteral() throws ParseException {Token literal; 251 literal = jj_consume_token(BIGINTEGER); 252String image = literal.image.substring(0, literal.image.length() - 2); 253 {if ("" != null) return new BigInteger(image.replace("_",""));} 254 throw new Error("Missing return statement in function"); 255 } 256 257 final public Integer IntegerLiteral() throws ParseException {Token literal; 258 literal = jj_consume_token(NUMBER); 259String image = literal.image.replace("_",""); 260 {if ("" != null) return Integer.valueOf(image);} 261 throw new Error("Missing return statement in function"); 262 } 263 264 final public GoloParser.ParserClassRef ClassLiteral() throws ParseException {Token literal; 265 literal = jj_consume_token(CLASSREF); 266String image = literal.image; 267 int suffixLength = image.endsWith("class") ? 6 : 7; 268 {if ("" != null) return new GoloParser.ParserClassRef(image.substring(0, image.length() - suffixLength));} 269 throw new Error("Missing return statement in function"); 270 } 271 272 final public Double DoubleLiteral() throws ParseException {Token literal; 273 literal = jj_consume_token(FLOATING_NUMBER); 274{if ("" != null) return Double.valueOf(literal.image.replace("_", ""));} 275 throw new Error("Missing return statement in function"); 276 } 277 278 final public Float FloatLiteral() throws ParseException {Token literal; 279 literal = jj_consume_token(FLOAT); 280{if ("" != null) return Float.valueOf(literal.image 281 .substring(0, literal.image.length() - 2) 282 .replace("_", ""));} 283 throw new Error("Missing return statement in function"); 284 } 285 286 final public BigDecimal BigDecimalLiteral() throws ParseException {Token literal; 287 literal = jj_consume_token(BIGDECIMAL); 288{if ("" != null) return new BigDecimal(literal.image 289 .substring(0, literal.image.length() - 2) 290 .replace("_", ""));} 291 throw new Error("Missing return statement in function"); 292 } 293 294 final public GoloParser.FunctionRef FunctionRef() throws ParseException {Token literal; 295 literal = jj_consume_token(FUNREF); 296String module = null; 297 String name; 298 int arity = -1; 299 boolean varargs = false; 300 String[] parts = literal.image.substring(1).split("::"); 301 if (parts.length > 1) { 302 module = parts[0]; 303 name = parts[1]; 304 } else { 305 name = parts[0]; 306 } 307 parts = name.split("\\\\"); 308 if (parts.length > 1) { 309 name = parts[0]; 310 if (parts[1].endsWith("...")) { 311 arity = Integer.valueOf(parts[1].substring(0, parts[1].length() - 3)); 312 varargs = true; 313 } else { 314 arity = Integer.valueOf(parts[1]); 315 } 316 } 317 {if ("" != null) return new GoloParser.FunctionRef(module, name, arity, varargs);} 318 throw new Error("Missing return statement in function"); 319 } 320 321 final public String Documentation() throws ParseException {Token token; 322 token = jj_consume_token(DOCUMENTATION); 323String result = token.image.trim(); 324 result = result.substring(4, result.length() - 4); 325 if (token.beginColumn > 1) { 326 result = StringBlockIndenter.unindent(result, token.beginColumn - 1); 327 } 328 {if ("" != null) return result;} 329 throw new Error("Missing return statement in function"); 330 } 331 332// ............................................................................................. // 333 final public 334ASTCompilationUnit CompilationUnit() throws ParseException {/*@bgen(jjtree) CompilationUnit */ 335 ASTCompilationUnit jjtn000 = new ASTCompilationUnit(JJTCOMPILATIONUNIT); 336 boolean jjtc000 = true; 337 jjtree.openNodeScope(jjtn000); 338 jjtn000.jjtSetFirstToken(getToken(1)); 339 try { 340 try { 341 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 342 case NEWLINE: 343 case MODULE: 344 case COMMENT: 345 case DOCUMENTATION:{ 346 BlankLines(); 347 ModuleDeclaration(); 348 BlankLines(); 349 label_5: 350 while (true) { 351 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 352 case IMPORT:{ 353 ; 354 break; 355 } 356 default: 357 jj_la1[8] = jj_gen; 358 break label_5; 359 } 360 ImportDeclaration(); 361 BlankLines(); 362 } 363 label_6: 364 while (true) { 365 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 366 case FUNCTION: 367 case LOCAL: 368 case AUGMENT: 369 case NAMEDAUGMENTATION: 370 case STRUCT: 371 case UNION: 372 case DECORATOR: 373 case VAR: 374 case LET: 375 case DOCUMENTATION:{ 376 ; 377 break; 378 } 379 default: 380 jj_la1[9] = jj_gen; 381 break label_6; 382 } 383 try { 384 ToplevelDeclaration(); 385 BlankLines(); 386 } catch (ParseException e) { 387skipto(NEWLINE, e, jjtn000); 388 } 389 } 390 break; 391 } 392 default: 393 jj_la1[10] = jj_gen; 394 error(); 395 } 396 jj_consume_token(0); 397 } catch (ParseException e) { 398skipto(NEWLINE, e, jjtn000); 399 } 400jjtree.closeNodeScope(jjtn000, true); 401 jjtc000 = false; 402 jjtn000.jjtSetLastToken(getToken(0)); 403{if ("" != null) return jjtn000;} 404 } catch (Throwable jjte000) { 405if (jjtc000) { 406 jjtree.clearNodeScope(jjtn000); 407 jjtc000 = false; 408 } else { 409 jjtree.popNode(); 410 } 411 if (jjte000 instanceof RuntimeException) { 412 {if (true) throw (RuntimeException)jjte000;} 413 } 414 if (jjte000 instanceof ParseException) { 415 {if (true) throw (ParseException)jjte000;} 416 } 417 {if (true) throw (Error)jjte000;} 418 } finally { 419if (jjtc000) { 420 jjtree.closeNodeScope(jjtn000, true); 421 jjtn000.jjtSetLastToken(getToken(0)); 422 } 423 } 424 throw new Error("Missing return statement in function"); 425 } 426 427 final public void ModuleDeclaration() throws ParseException {/*@bgen(jjtree) ModuleDeclaration */ 428 ASTModuleDeclaration jjtn000 = new ASTModuleDeclaration(JJTMODULEDECLARATION); 429 boolean jjtc000 = true; 430 jjtree.openNodeScope(jjtn000); 431 jjtn000.jjtSetFirstToken(getToken(1));String name; 432 String documentation = null; 433 try { 434 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 435 case DOCUMENTATION:{ 436 documentation = Documentation(); 437 break; 438 } 439 default: 440 jj_la1[11] = jj_gen; 441 ; 442 } 443 jj_consume_token(MODULE); 444 name = QualifiedName(); 445jjtree.closeNodeScope(jjtn000, true); 446 jjtc000 = false; 447 jjtn000.jjtSetLastToken(getToken(0)); 448jjtn000.setName(name); 449 jjtn000.setDocumentation(documentation); 450 } catch (Throwable jjte000) { 451if (jjtc000) { 452 jjtree.clearNodeScope(jjtn000); 453 jjtc000 = false; 454 } else { 455 jjtree.popNode(); 456 } 457 if (jjte000 instanceof RuntimeException) { 458 {if (true) throw (RuntimeException)jjte000;} 459 } 460 if (jjte000 instanceof ParseException) { 461 {if (true) throw (ParseException)jjte000;} 462 } 463 {if (true) throw (Error)jjte000;} 464 } finally { 465if (jjtc000) { 466 jjtree.closeNodeScope(jjtn000, true); 467 jjtn000.jjtSetLastToken(getToken(0)); 468 } 469 } 470 } 471 472 final public List<String> MultiImport() throws ParseException {List<String> modules = new LinkedList<String>(); 473 String rootName; 474 String nextName; 475 jj_consume_token(74); 476 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 477 case NEWLINE: 478 case COMMENT:{ 479 BlankLine(); 480 break; 481 } 482 default: 483 jj_la1[12] = jj_gen; 484 ; 485 } 486 rootName = QualifiedName(); 487modules.add(rootName); 488 label_7: 489 while (true) { 490 jj_consume_token(73); 491 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 492 case NEWLINE: 493 case COMMENT:{ 494 BlankLine(); 495 break; 496 } 497 default: 498 jj_la1[13] = jj_gen; 499 ; 500 } 501 nextName = QualifiedName(); 502modules.add(nextName); 503 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 504 case 73:{ 505 ; 506 break; 507 } 508 default: 509 jj_la1[14] = jj_gen; 510 break label_7; 511 } 512 } 513 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 514 case NEWLINE: 515 case COMMENT:{ 516 BlankLine(); 517 break; 518 } 519 default: 520 jj_la1[15] = jj_gen; 521 ; 522 } 523 jj_consume_token(75); 524{if ("" != null) return modules;} 525 throw new Error("Missing return statement in function"); 526 } 527 528 final public void ImportDeclaration() throws ParseException {/*@bgen(jjtree) ImportDeclaration */ 529 ASTImportDeclaration jjtn000 = new ASTImportDeclaration(JJTIMPORTDECLARATION); 530 boolean jjtc000 = true; 531 jjtree.openNodeScope(jjtn000); 532 jjtn000.jjtSetFirstToken(getToken(1));String name; 533 Token relative = null; 534 List<String> multiples = null; 535 try { 536 try { 537 jj_consume_token(IMPORT); 538 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 539 case 72:{ 540 relative = jj_consume_token(72); 541 break; 542 } 543 default: 544 jj_la1[16] = jj_gen; 545 ; 546 } 547 name = QualifiedName(); 548 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 549 case 74:{ 550 multiples = MultiImport(); 551 break; 552 } 553 default: 554 jj_la1[17] = jj_gen; 555 ; 556 } 557jjtn000.setName(name); 558 if (relative != null) { 559 jjtn000.setRelative(true); 560 } 561 if (multiples != null) { 562 jjtn000.setMultiple(multiples); 563 } 564 } catch (ParseException e) { 565skipto(NEWLINE, e, jjtn000); 566 } 567 } catch (Throwable jjte000) { 568if (jjtc000) { 569 jjtree.clearNodeScope(jjtn000); 570 jjtc000 = false; 571 } else { 572 jjtree.popNode(); 573 } 574 if (jjte000 instanceof RuntimeException) { 575 {if (true) throw (RuntimeException)jjte000;} 576 } 577 if (jjte000 instanceof ParseException) { 578 {if (true) throw (ParseException)jjte000;} 579 } 580 {if (true) throw (Error)jjte000;} 581 } finally { 582if (jjtc000) { 583 jjtree.closeNodeScope(jjtn000, true); 584 jjtn000.jjtSetLastToken(getToken(0)); 585 } 586 } 587 } 588 589 final public void ToplevelDeclaration() throws ParseException {/*@bgen(jjtree) ToplevelDeclaration */ 590 ASTToplevelDeclaration jjtn000 = new ASTToplevelDeclaration(JJTTOPLEVELDECLARATION); 591 boolean jjtc000 = true; 592 jjtree.openNodeScope(jjtn000); 593 jjtn000.jjtSetFirstToken(getToken(1));ASTFunctionDeclaration functionDecl; 594 ASTAugmentDeclaration augmentDecl; 595 ASTStructDeclaration structDecl; 596 ASTUnionDeclaration unionDecl; 597 ASTNamedAugmentationDeclaration namedAugmentationDecl; 598 ASTLetOrVar state; 599 Token local = null; 600 String documentation = null; 601 try { 602 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 603 case FUNCTION: 604 case LOCAL: 605 case AUGMENT: 606 case NAMEDAUGMENTATION: 607 case STRUCT: 608 case UNION: 609 case DECORATOR: 610 case DOCUMENTATION:{ 611 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 612 case DOCUMENTATION:{ 613 documentation = Documentation(); 614 break; 615 } 616 default: 617 jj_la1[18] = jj_gen; 618 ; 619 } 620 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 621 case AUGMENT:{ 622 augmentDecl = AugmentDeclaration(); 623jjtree.closeNodeScope(jjtn000, true); 624 jjtc000 = false; 625 jjtn000.jjtSetLastToken(getToken(0)); 626augmentDecl.setDocumentation(documentation); 627 break; 628 } 629 case FUNCTION: 630 case LOCAL: 631 case DECORATOR:{ 632 label_8: 633 while (true) { 634 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 635 case DECORATOR:{ 636 ; 637 break; 638 } 639 default: 640 jj_la1[19] = jj_gen; 641 break label_8; 642 } 643 DecoratorDeclaration(); 644 } 645 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 646 case LOCAL:{ 647 local = jj_consume_token(LOCAL); 648 break; 649 } 650 default: 651 jj_la1[20] = jj_gen; 652 ; 653 } 654 functionDecl = FunctionDeclaration(); 655jjtree.closeNodeScope(jjtn000, true); 656 jjtc000 = false; 657 jjtn000.jjtSetLastToken(getToken(0)); 658if (local != null) { 659 functionDecl.setLocal(true); 660 } 661 functionDecl.setDocumentation(documentation); 662 break; 663 } 664 case STRUCT:{ 665 structDecl = StructDeclaration(); 666jjtree.closeNodeScope(jjtn000, true); 667 jjtc000 = false; 668 jjtn000.jjtSetLastToken(getToken(0)); 669structDecl.setDocumentation(documentation); 670 break; 671 } 672 case UNION:{ 673 unionDecl = UnionDeclaration(); 674jjtree.closeNodeScope(jjtn000, true); 675 jjtc000 = false; 676 jjtn000.jjtSetLastToken(getToken(0)); 677unionDecl.setDocumentation(documentation); 678 break; 679 } 680 case NAMEDAUGMENTATION:{ 681 namedAugmentationDecl = NamedAugmentationDeclaration(); 682jjtree.closeNodeScope(jjtn000, true); 683 jjtc000 = false; 684 jjtn000.jjtSetLastToken(getToken(0)); 685namedAugmentationDecl.setDocumentation(documentation); 686 break; 687 } 688 default: 689 jj_la1[21] = jj_gen; 690 jj_consume_token(-1); 691 throw new ParseException(); 692 } 693 break; 694 } 695 case VAR: 696 case LET:{ 697 state = LetOrVar(); 698jjtree.closeNodeScope(jjtn000, true); 699 jjtc000 = false; 700 jjtn000.jjtSetLastToken(getToken(0)); 701state.setModuleState(true); 702 break; 703 } 704 default: 705 jj_la1[22] = jj_gen; 706 jj_consume_token(-1); 707 throw new ParseException(); 708 } 709 } catch (Throwable jjte000) { 710if (jjtc000) { 711 jjtree.clearNodeScope(jjtn000); 712 jjtc000 = false; 713 } else { 714 jjtree.popNode(); 715 } 716 if (jjte000 instanceof RuntimeException) { 717 {if (true) throw (RuntimeException)jjte000;} 718 } 719 if (jjte000 instanceof ParseException) { 720 {if (true) throw (ParseException)jjte000;} 721 } 722 {if (true) throw (Error)jjte000;} 723 } finally { 724if (jjtc000) { 725 jjtree.closeNodeScope(jjtn000, true); 726 jjtn000.jjtSetLastToken(getToken(0)); 727 } 728 } 729 } 730 731 final public ASTMemberDeclaration MemberDeclaration() throws ParseException {/*@bgen(jjtree) MemberDeclaration */ 732 ASTMemberDeclaration jjtn000 = new ASTMemberDeclaration(JJTMEMBERDECLARATION); 733 boolean jjtc000 = true; 734 jjtree.openNodeScope(jjtn000); 735 jjtn000.jjtSetFirstToken(getToken(1));Token name; 736 String documentation = null; 737 try { 738 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 739 case DOCUMENTATION:{ 740 documentation = Documentation(); 741 break; 742 } 743 default: 744 jj_la1[23] = jj_gen; 745 ; 746 } 747 name = jj_consume_token(IDENTIFIER); 748jjtree.closeNodeScope(jjtn000, true); 749 jjtc000 = false; 750 jjtn000.jjtSetLastToken(getToken(0)); 751jjtn000.setName(name.image); 752 jjtn000.jjtSetFirstToken(name); 753 jjtn000.setDocumentation(documentation); 754 {if ("" != null) return jjtn000;} 755 } catch (Throwable jjte000) { 756if (jjtc000) { 757 jjtree.clearNodeScope(jjtn000); 758 jjtc000 = false; 759 } else { 760 jjtree.popNode(); 761 } 762 if (jjte000 instanceof RuntimeException) { 763 {if (true) throw (RuntimeException)jjte000;} 764 } 765 if (jjte000 instanceof ParseException) { 766 {if (true) throw (ParseException)jjte000;} 767 } 768 {if (true) throw (Error)jjte000;} 769 } finally { 770if (jjtc000) { 771 jjtree.closeNodeScope(jjtn000, true); 772 jjtn000.jjtSetLastToken(getToken(0)); 773 } 774 } 775 throw new Error("Missing return statement in function"); 776 } 777 778 final public ASTStructDeclaration StructDeclaration() throws ParseException {/*@bgen(jjtree) StructDeclaration */ 779 ASTStructDeclaration jjtn000 = new ASTStructDeclaration(JJTSTRUCTDECLARATION); 780 boolean jjtc000 = true; 781 jjtree.openNodeScope(jjtn000); 782 jjtn000.jjtSetFirstToken(getToken(1));Token name; 783 try { 784 jj_consume_token(STRUCT); 785 name = jj_consume_token(IDENTIFIER); 786 jj_consume_token(76); 787 jj_consume_token(77); 788 BlankLines(); 789 MemberDeclaration(); 790 BlankLines(); 791 label_9: 792 while (true) { 793 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 794 case 73:{ 795 ; 796 break; 797 } 798 default: 799 jj_la1[24] = jj_gen; 800 break label_9; 801 } 802 jj_consume_token(73); 803 BlankLines(); 804 MemberDeclaration(); 805 BlankLines(); 806 } 807 jj_consume_token(75); 808jjtree.closeNodeScope(jjtn000, true); 809 jjtc000 = false; 810 jjtn000.jjtSetLastToken(getToken(0)); 811jjtn000.setName(name.image); 812 {if ("" != null) return jjtn000;} 813 } catch (Throwable jjte000) { 814if (jjtc000) { 815 jjtree.clearNodeScope(jjtn000); 816 jjtc000 = false; 817 } else { 818 jjtree.popNode(); 819 } 820 if (jjte000 instanceof RuntimeException) { 821 {if (true) throw (RuntimeException)jjte000;} 822 } 823 if (jjte000 instanceof ParseException) { 824 {if (true) throw (ParseException)jjte000;} 825 } 826 {if (true) throw (Error)jjte000;} 827 } finally { 828if (jjtc000) { 829 jjtree.closeNodeScope(jjtn000, true); 830 jjtn000.jjtSetLastToken(getToken(0)); 831 } 832 } 833 throw new Error("Missing return statement in function"); 834 } 835 836 final public void UnionValue() throws ParseException {/*@bgen(jjtree) UnionValue */ 837 ASTUnionValue jjtn000 = new ASTUnionValue(JJTUNIONVALUE); 838 boolean jjtc000 = true; 839 jjtree.openNodeScope(jjtn000); 840 jjtn000.jjtSetFirstToken(getToken(1));Token name; 841 String documentation = null; 842 try { 843 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 844 case DOCUMENTATION:{ 845 documentation = Documentation(); 846 break; 847 } 848 default: 849 jj_la1[25] = jj_gen; 850 ; 851 } 852 name = jj_consume_token(IDENTIFIER); 853 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 854 case 76:{ 855 jj_consume_token(76); 856 jj_consume_token(77); 857 BlankLines(); 858 MemberDeclaration(); 859 BlankLines(); 860 label_10: 861 while (true) { 862 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 863 case 73:{ 864 ; 865 break; 866 } 867 default: 868 jj_la1[26] = jj_gen; 869 break label_10; 870 } 871 jj_consume_token(73); 872 BlankLines(); 873 MemberDeclaration(); 874 BlankLines(); 875 } 876 jj_consume_token(75); 877 break; 878 } 879 default: 880 jj_la1[27] = jj_gen; 881 ; 882 } 883jjtree.closeNodeScope(jjtn000, true); 884 jjtc000 = false; 885 jjtn000.jjtSetLastToken(getToken(0)); 886jjtn000.setName(name.image); 887 jjtn000.jjtSetFirstToken(name); 888 jjtn000.setDocumentation(documentation); 889 } catch (Throwable jjte000) { 890if (jjtc000) { 891 jjtree.clearNodeScope(jjtn000); 892 jjtc000 = false; 893 } else { 894 jjtree.popNode(); 895 } 896 if (jjte000 instanceof RuntimeException) { 897 {if (true) throw (RuntimeException)jjte000;} 898 } 899 if (jjte000 instanceof ParseException) { 900 {if (true) throw (ParseException)jjte000;} 901 } 902 {if (true) throw (Error)jjte000;} 903 } finally { 904if (jjtc000) { 905 jjtree.closeNodeScope(jjtn000, true); 906 jjtn000.jjtSetLastToken(getToken(0)); 907 } 908 } 909 } 910 911 final public ASTUnionDeclaration UnionDeclaration() throws ParseException {/*@bgen(jjtree) UnionDeclaration */ 912 ASTUnionDeclaration jjtn000 = new ASTUnionDeclaration(JJTUNIONDECLARATION); 913 boolean jjtc000 = true; 914 jjtree.openNodeScope(jjtn000); 915 jjtn000.jjtSetFirstToken(getToken(1));Token name; 916 Token valueName; 917 try { 918 jj_consume_token(UNION); 919 name = jj_consume_token(IDENTIFIER); 920 jj_consume_token(76); 921 jj_consume_token(77); 922 BlankLines(); 923 label_11: 924 while (true) { 925 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 926 case IDENTIFIER: 927 case DOCUMENTATION:{ 928 ; 929 break; 930 } 931 default: 932 jj_la1[28] = jj_gen; 933 break label_11; 934 } 935 UnionValue(); 936 BlankLines(); 937 } 938 jj_consume_token(75); 939jjtree.closeNodeScope(jjtn000, true); 940 jjtc000 = false; 941 jjtn000.jjtSetLastToken(getToken(0)); 942jjtn000.setName(name.image); 943 {if ("" != null) return jjtn000;} 944 } catch (Throwable jjte000) { 945if (jjtc000) { 946 jjtree.clearNodeScope(jjtn000); 947 jjtc000 = false; 948 } else { 949 jjtree.popNode(); 950 } 951 if (jjte000 instanceof RuntimeException) { 952 {if (true) throw (RuntimeException)jjte000;} 953 } 954 if (jjte000 instanceof ParseException) { 955 {if (true) throw (ParseException)jjte000;} 956 } 957 {if (true) throw (Error)jjte000;} 958 } finally { 959if (jjtc000) { 960 jjtree.closeNodeScope(jjtn000, true); 961 jjtn000.jjtSetLastToken(getToken(0)); 962 } 963 } 964 throw new Error("Missing return statement in function"); 965 } 966 967 final public void AugmentationDeclaration(String context) throws ParseException {String documentation = null; 968 ASTFunctionDeclaration func; 969 jj_consume_token(77); 970 BlankLines(); 971 label_12: 972 while (true) { 973 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 974 case FUNCTION: 975 case DECORATOR: 976 case DOCUMENTATION:{ 977 ; 978 break; 979 } 980 default: 981 jj_la1[29] = jj_gen; 982 break label_12; 983 } 984 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 985 case DOCUMENTATION:{ 986 documentation = Documentation(); 987 break; 988 } 989 default: 990 jj_la1[30] = jj_gen; 991 ; 992 } 993 label_13: 994 while (true) { 995 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 996 case DECORATOR:{ 997 ; 998 break; 999 } 1000 default: 1001 jj_la1[31] = jj_gen; 1002 break label_13; 1003 } 1004 DecoratorDeclaration(); 1005 } 1006 func = FunctionDeclaration(); 1007func.setAugmentation(true); 1008 func.setDocumentation(documentation); 1009 ASTFunction body = (ASTFunction) func.jjtGetChild(0); 1010 if (body.getParameters().isEmpty()) { 1011 String description = "Error: augmentation function " + 1012 func.getName() + " " + context + 1013 " must take at least 1 argument ('this' would be a good idea...)"; 1014 if (exceptionBuilder == null) { 1015 {if (true) throw new TokenMgrError(description, 0);} 1016 } 1017 exceptionBuilder.report(GoloCompilationException.Problem.Type.AUGMENT_FUNCTION_NO_ARGS, body, description); 1018 } 1019 documentation = null; 1020 BlankLines(); 1021 } 1022 jj_consume_token(75); 1023 } 1024 1025 final public ASTNamedAugmentationDeclaration NamedAugmentationDeclaration() throws ParseException {/*@bgen(jjtree) NamedAugmentationDeclaration */ 1026 ASTNamedAugmentationDeclaration jjtn000 = new ASTNamedAugmentationDeclaration(JJTNAMEDAUGMENTATIONDECLARATION); 1027 boolean jjtc000 = true; 1028 jjtree.openNodeScope(jjtn000); 1029 jjtn000.jjtSetFirstToken(getToken(1));Token name; 1030 try { 1031 jj_consume_token(NAMEDAUGMENTATION); 1032 name = jj_consume_token(IDENTIFIER); 1033 jj_consume_token(76); 1034 AugmentationDeclaration("in " + name); 1035jjtree.closeNodeScope(jjtn000, true); 1036 jjtc000 = false; 1037 jjtn000.jjtSetLastToken(getToken(0)); 1038jjtn000.setName(name.image); 1039 {if ("" != null) return jjtn000;} 1040 } catch (Throwable jjte000) { 1041if (jjtc000) { 1042 jjtree.clearNodeScope(jjtn000); 1043 jjtc000 = false; 1044 } else { 1045 jjtree.popNode(); 1046 } 1047 if (jjte000 instanceof RuntimeException) { 1048 {if (true) throw (RuntimeException)jjte000;} 1049 } 1050 if (jjte000 instanceof ParseException) { 1051 {if (true) throw (ParseException)jjte000;} 1052 } 1053 {if (true) throw (Error)jjte000;} 1054 } finally { 1055if (jjtc000) { 1056 jjtree.closeNodeScope(jjtn000, true); 1057 jjtn000.jjtSetLastToken(getToken(0)); 1058 } 1059 } 1060 throw new Error("Missing return statement in function"); 1061 } 1062 1063 final public ASTAugmentDeclaration AugmentDeclaration() throws ParseException {/*@bgen(jjtree) AugmentDeclaration */ 1064 ASTAugmentDeclaration jjtn000 = new ASTAugmentDeclaration(JJTAUGMENTDECLARATION); 1065 boolean jjtc000 = true; 1066 jjtree.openNodeScope(jjtn000); 1067 jjtn000.jjtSetFirstToken(getToken(1));String target; 1068 List<String> names = null; 1069 try { 1070 jj_consume_token(AUGMENT); 1071 target = QualifiedName(); 1072 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 1073 case 77:{ 1074 AugmentationDeclaration("on " + target); 1075 break; 1076 } 1077 case WITH:{ 1078 jj_consume_token(WITH); 1079 names = AugmentationNames(); 1080 break; 1081 } 1082 default: 1083 jj_la1[32] = jj_gen; 1084 jj_consume_token(-1); 1085 throw new ParseException(); 1086 } 1087jjtree.closeNodeScope(jjtn000, true); 1088 jjtc000 = false; 1089 jjtn000.jjtSetLastToken(getToken(0)); 1090jjtn000.setTarget(target); 1091 jjtn000.setAugmentationNames(names); 1092 {if ("" != null) return jjtn000;} 1093 } catch (Throwable jjte000) { 1094if (jjtc000) { 1095 jjtree.clearNodeScope(jjtn000); 1096 jjtc000 = false; 1097 } else { 1098 jjtree.popNode(); 1099 } 1100 if (jjte000 instanceof RuntimeException) { 1101 {if (true) throw (RuntimeException)jjte000;} 1102 } 1103 if (jjte000 instanceof ParseException) { 1104 {if (true) throw (ParseException)jjte000;} 1105 } 1106 {if (true) throw (Error)jjte000;} 1107 } finally { 1108if (jjtc000) { 1109 jjtree.closeNodeScope(jjtn000, true); 1110 jjtn000.jjtSetLastToken(getToken(0)); 1111 } 1112 } 1113 throw new Error("Missing return statement in function"); 1114 } 1115 1116 final public ASTFunctionDeclaration FunctionDeclaration() throws ParseException {/*@bgen(jjtree) FunctionDeclaration */ 1117 ASTFunctionDeclaration jjtn000 = new ASTFunctionDeclaration(JJTFUNCTIONDECLARATION); 1118 boolean jjtc000 = true; 1119 jjtree.openNodeScope(jjtn000); 1120 jjtn000.jjtSetFirstToken(getToken(1));Token name; 1121 try { 1122 jj_consume_token(FUNCTION); 1123 name = jj_consume_token(IDENTIFIER); 1124 jj_consume_token(76); 1125 Function(); 1126jjtree.closeNodeScope(jjtn000, true); 1127 jjtc000 = false; 1128 jjtn000.jjtSetLastToken(getToken(0)); 1129jjtn000.setName(name.image); 1130 {if ("" != null) return jjtn000;} 1131 } catch (Throwable jjte000) { 1132if (jjtc000) { 1133 jjtree.clearNodeScope(jjtn000); 1134 jjtc000 = false; 1135 } else { 1136 jjtree.popNode(); 1137 } 1138 if (jjte000 instanceof RuntimeException) { 1139 {if (true) throw (RuntimeException)jjte000;} 1140 } 1141 if (jjte000 instanceof ParseException) { 1142 {if (true) throw (ParseException)jjte000;} 1143 } 1144 {if (true) throw (Error)jjte000;} 1145 } finally { 1146if (jjtc000) { 1147 jjtree.closeNodeScope(jjtn000, true); 1148 jjtn000.jjtSetLastToken(getToken(0)); 1149 } 1150 } 1151 throw new Error("Missing return statement in function"); 1152 } 1153 1154 final public ASTDecoratorDeclaration DecoratorDeclaration() throws ParseException {/*@bgen(jjtree) DecoratorDeclaration */ 1155 ASTDecoratorDeclaration jjtn000 = new ASTDecoratorDeclaration(JJTDECORATORDECLARATION); 1156 boolean jjtc000 = true; 1157 jjtree.openNodeScope(jjtn000); 1158 jjtn000.jjtSetFirstToken(getToken(1));Token constant = null; 1159 try { 1160 jj_consume_token(DECORATOR); 1161 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 1162 case CONSTANT_INVOCATION:{ 1163 constant = jj_consume_token(CONSTANT_INVOCATION); 1164 break; 1165 } 1166 default: 1167 jj_la1[33] = jj_gen; 1168 ; 1169 } 1170 if (jj_2_1(2)) { 1171 InvocationExpression(); 1172 } else if (jj_2_2(2)) { 1173 Reference(); 1174 } else { 1175 jj_consume_token(-1); 1176 throw new ParseException(); 1177 } 1178 BlankLines(); 1179jjtree.closeNodeScope(jjtn000, true); 1180 jjtc000 = false; 1181 jjtn000.jjtSetLastToken(getToken(0)); 1182if (constant != null) { 1183 jjtn000.setConstant(true); 1184 } 1185 {if ("" != null) return jjtn000;} 1186 } catch (Throwable jjte000) { 1187if (jjtc000) { 1188 jjtree.clearNodeScope(jjtn000); 1189 jjtc000 = false; 1190 } else { 1191 jjtree.popNode(); 1192 } 1193 if (jjte000 instanceof RuntimeException) { 1194 {if (true) throw (RuntimeException)jjte000;} 1195 } 1196 if (jjte000 instanceof ParseException) { 1197 {if (true) throw (ParseException)jjte000;} 1198 } 1199 {if (true) throw (Error)jjte000;} 1200 } finally { 1201if (jjtc000) { 1202 jjtree.closeNodeScope(jjtn000, true); 1203 jjtn000.jjtSetLastToken(getToken(0)); 1204 } 1205 } 1206 throw new Error("Missing return statement in function"); 1207 } 1208 1209// ............................................................................................. // 1210 final public 1211void Statement() throws ParseException { 1212 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 1213 case NEWLINE: 1214 case COMMENT:{ 1215 BlankLine(); 1216 break; 1217 } 1218 default: 1219 jj_la1[34] = jj_gen; 1220 if (jj_2_3(2)) { 1221 Assignment(); 1222 } else if (jj_2_4(3)) { 1223 DestructuringAssignment(); 1224 } else if (jj_2_5(2)) { 1225 LetOrVar(); 1226 } else { 1227 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 1228 case MATCH: 1229 case UNARY_OPERATOR: 1230 case NUMBER: 1231 case LONG_NUMBER: 1232 case BIGINTEGER: 1233 case FLOATING_NUMBER: 1234 case FLOAT: 1235 case BIGDECIMAL: 1236 case STRING: 1237 case CHAR: 1238 case NULL: 1239 case TRUE: 1240 case FALSE: 1241 case CLASSREF: 1242 case FUNREF: 1243 case COLL_START: 1244 case MULTI_STRING: 1245 case IDENTIFIER: 1246 case 77: 1247 case 78: 1248 case 81: 1249 case 82:{ 1250 ExpressionStatement(); 1251 break; 1252 } 1253 case RETURN:{ 1254 Return(); 1255 break; 1256 } 1257 case IF:{ 1258 ConditionalBranching(); 1259 break; 1260 } 1261 case WHILE:{ 1262 WhileLoop(); 1263 break; 1264 } 1265 case FOR:{ 1266 ForLoop(); 1267 break; 1268 } 1269 case FOREACH:{ 1270 ForEachLoop(); 1271 break; 1272 } 1273 case THROW:{ 1274 Throw(); 1275 break; 1276 } 1277 case TRY:{ 1278 TryCatchFinally(); 1279 break; 1280 } 1281 case CASE:{ 1282 Case(); 1283 break; 1284 } 1285 case CONTINUE:{ 1286 Continue(); 1287 break; 1288 } 1289 case BREAK:{ 1290 Break(); 1291 break; 1292 } 1293 default: 1294 jj_la1[35] = jj_gen; 1295 jj_consume_token(-1); 1296 throw new ParseException(); 1297 } 1298 } 1299 } 1300 } 1301 1302 final public void Continue() throws ParseException {/*@bgen(jjtree) Continue */ 1303 ASTContinue jjtn000 = new ASTContinue(JJTCONTINUE); 1304 boolean jjtc000 = true; 1305 jjtree.openNodeScope(jjtn000); 1306 jjtn000.jjtSetFirstToken(getToken(1)); 1307 try { 1308 jj_consume_token(CONTINUE); 1309 } finally { 1310if (jjtc000) { 1311 jjtree.closeNodeScope(jjtn000, true); 1312 jjtn000.jjtSetLastToken(getToken(0)); 1313 } 1314 } 1315 } 1316 1317 final public void Break() throws ParseException {/*@bgen(jjtree) Break */ 1318 ASTBreak jjtn000 = new ASTBreak(JJTBREAK); 1319 boolean jjtc000 = true; 1320 jjtree.openNodeScope(jjtn000); 1321 jjtn000.jjtSetFirstToken(getToken(1)); 1322 try { 1323 jj_consume_token(BREAK); 1324 } finally { 1325if (jjtc000) { 1326 jjtree.closeNodeScope(jjtn000, true); 1327 jjtn000.jjtSetLastToken(getToken(0)); 1328 } 1329 } 1330 } 1331 1332 final public void Throw() throws ParseException {/*@bgen(jjtree) Throw */ 1333 ASTThrow jjtn000 = new ASTThrow(JJTTHROW); 1334 boolean jjtc000 = true; 1335 jjtree.openNodeScope(jjtn000); 1336 jjtn000.jjtSetFirstToken(getToken(1)); 1337 try { 1338 jj_consume_token(THROW); 1339 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 1340 case NEWLINE: 1341 case COMMENT:{ 1342 BlankLine(); 1343 break; 1344 } 1345 default: 1346 jj_la1[36] = jj_gen; 1347 ; 1348 } 1349 ExpressionStatement(); 1350 } catch (Throwable jjte000) { 1351if (jjtc000) { 1352 jjtree.clearNodeScope(jjtn000); 1353 jjtc000 = false; 1354 } else { 1355 jjtree.popNode(); 1356 } 1357 if (jjte000 instanceof RuntimeException) { 1358 {if (true) throw (RuntimeException)jjte000;} 1359 } 1360 if (jjte000 instanceof ParseException) { 1361 {if (true) throw (ParseException)jjte000;} 1362 } 1363 {if (true) throw (Error)jjte000;} 1364 } finally { 1365if (jjtc000) { 1366 jjtree.closeNodeScope(jjtn000, true); 1367 jjtn000.jjtSetLastToken(getToken(0)); 1368 } 1369 } 1370 } 1371 1372 final public void WhileLoop() throws ParseException {/*@bgen(jjtree) WhileLoop */ 1373 ASTWhileLoop jjtn000 = new ASTWhileLoop(JJTWHILELOOP); 1374 boolean jjtc000 = true; 1375 jjtree.openNodeScope(jjtn000); 1376 jjtn000.jjtSetFirstToken(getToken(1)); 1377 try { 1378 jj_consume_token(WHILE); 1379 ExpressionStatement(); 1380 Block(); 1381 } catch (Throwable jjte000) { 1382if (jjtc000) { 1383 jjtree.clearNodeScope(jjtn000); 1384 jjtc000 = false; 1385 } else { 1386 jjtree.popNode(); 1387 } 1388 if (jjte000 instanceof RuntimeException) { 1389 {if (true) throw (RuntimeException)jjte000;} 1390 } 1391 if (jjte000 instanceof ParseException) { 1392 {if (true) throw (ParseException)jjte000;} 1393 } 1394 {if (true) throw (Error)jjte000;} 1395 } finally { 1396if (jjtc000) { 1397 jjtree.closeNodeScope(jjtn000, true); 1398 jjtn000.jjtSetLastToken(getToken(0)); 1399 } 1400 } 1401 } 1402 1403 final public void ForLoop() throws ParseException {/*@bgen(jjtree) ForLoop */ 1404 ASTForLoop jjtn000 = new ASTForLoop(JJTFORLOOP); 1405 boolean jjtc000 = true; 1406 jjtree.openNodeScope(jjtn000); 1407 jjtn000.jjtSetFirstToken(getToken(1)); 1408 try { 1409 jj_consume_token(FOR); 1410 jj_consume_token(78); 1411 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 1412 case NEWLINE: 1413 case COMMENT:{ 1414 BlankLine(); 1415 break; 1416 } 1417 default: 1418 jj_la1[37] = jj_gen; 1419 ; 1420 } 1421 LetOrVar(); 1422 jj_consume_token(73); 1423 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 1424 case NEWLINE: 1425 case COMMENT:{ 1426 BlankLine(); 1427 break; 1428 } 1429 default: 1430 jj_la1[38] = jj_gen; 1431 ; 1432 } 1433 ExpressionStatement(); 1434 jj_consume_token(73); 1435 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 1436 case NEWLINE: 1437 case COMMENT:{ 1438 BlankLine(); 1439 break; 1440 } 1441 default: 1442 jj_la1[39] = jj_gen; 1443 ; 1444 } 1445 Statement(); 1446 jj_consume_token(79); 1447 if (jj_2_6(2)) { 1448 Block(); 1449 } else { 1450 ; 1451 } 1452 } catch (Throwable jjte000) { 1453if (jjtc000) { 1454 jjtree.clearNodeScope(jjtn000); 1455 jjtc000 = false; 1456 } else { 1457 jjtree.popNode(); 1458 } 1459 if (jjte000 instanceof RuntimeException) { 1460 {if (true) throw (RuntimeException)jjte000;} 1461 } 1462 if (jjte000 instanceof ParseException) { 1463 {if (true) throw (ParseException)jjte000;} 1464 } 1465 {if (true) throw (Error)jjte000;} 1466 } finally { 1467if (jjtc000) { 1468 jjtree.closeNodeScope(jjtn000, true); 1469 jjtn000.jjtSetLastToken(getToken(0)); 1470 } 1471 } 1472 } 1473 1474 final public void ForEachLoop() throws ParseException {/*@bgen(jjtree) ForEachLoop */ 1475 ASTForEachLoop jjtn000 = new ASTForEachLoop(JJTFOREACHLOOP); 1476 boolean jjtc000 = true; 1477 jjtree.openNodeScope(jjtn000); 1478 jjtn000.jjtSetFirstToken(getToken(1));Token elementId; 1479 List<String> names; 1480 Token varargsToken = null; 1481 try { 1482 jj_consume_token(FOREACH); 1483 if (jj_2_7(2)) { 1484 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 1485 case IDENTIFIER:{ 1486 elementId = jj_consume_token(IDENTIFIER); 1487 jj_consume_token(IN); 1488 ExpressionStatement(); 1489 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 1490 case WHEN:{ 1491 jj_consume_token(WHEN); 1492 ExpressionStatement(); 1493 break; 1494 } 1495 default: 1496 jj_la1[40] = jj_gen; 1497 ; 1498 } 1499 break; 1500 } 1501 case 78:{ 1502 jj_consume_token(78); 1503 elementId = jj_consume_token(IDENTIFIER); 1504 jj_consume_token(IN); 1505 ExpressionStatement(); 1506 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 1507 case WHEN:{ 1508 jj_consume_token(WHEN); 1509 ExpressionStatement(); 1510 break; 1511 } 1512 default: 1513 jj_la1[41] = jj_gen; 1514 ; 1515 } 1516 jj_consume_token(79); 1517 break; 1518 } 1519 default: 1520 jj_la1[42] = jj_gen; 1521 jj_consume_token(-1); 1522 throw new ParseException(); 1523 } 1524jjtn000.setElementIdentifier(elementId.image); 1525 } else if (jj_2_8(2)) { 1526 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 1527 case IDENTIFIER:{ 1528 names = DestructuredNames(); 1529 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 1530 case 80:{ 1531 varargsToken = jj_consume_token(80); 1532 break; 1533 } 1534 default: 1535 jj_la1[43] = jj_gen; 1536 ; 1537 } 1538 jj_consume_token(IN); 1539 ExpressionStatement(); 1540 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 1541 case WHEN:{ 1542 jj_consume_token(WHEN); 1543 ExpressionStatement(); 1544 break; 1545 } 1546 default: 1547 jj_la1[44] = jj_gen; 1548 ; 1549 } 1550 break; 1551 } 1552 case 78:{ 1553 jj_consume_token(78); 1554 names = DestructuredNames(); 1555 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 1556 case 80:{ 1557 varargsToken = jj_consume_token(80); 1558 break; 1559 } 1560 default: 1561 jj_la1[45] = jj_gen; 1562 ; 1563 } 1564 jj_consume_token(IN); 1565 ExpressionStatement(); 1566 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 1567 case WHEN:{ 1568 jj_consume_token(WHEN); 1569 ExpressionStatement(); 1570 break; 1571 } 1572 default: 1573 jj_la1[46] = jj_gen; 1574 ; 1575 } 1576 jj_consume_token(79); 1577 break; 1578 } 1579 default: 1580 jj_la1[47] = jj_gen; 1581 jj_consume_token(-1); 1582 throw new ParseException(); 1583 } 1584jjtn000.setNames(names); 1585 jjtn000.setVarargs(varargsToken != null); 1586 } else { 1587 jj_consume_token(-1); 1588 throw new ParseException(); 1589 } 1590 if (jj_2_9(2)) { 1591 Block(); 1592 } else { 1593 ; 1594 } 1595 } catch (Throwable jjte000) { 1596if (jjtc000) { 1597 jjtree.clearNodeScope(jjtn000); 1598 jjtc000 = false; 1599 } else { 1600 jjtree.popNode(); 1601 } 1602 if (jjte000 instanceof RuntimeException) { 1603 {if (true) throw (RuntimeException)jjte000;} 1604 } 1605 if (jjte000 instanceof ParseException) { 1606 {if (true) throw (ParseException)jjte000;} 1607 } 1608 {if (true) throw (Error)jjte000;} 1609 } finally { 1610if (jjtc000) { 1611 jjtree.closeNodeScope(jjtn000, true); 1612 jjtn000.jjtSetLastToken(getToken(0)); 1613 } 1614 } 1615 } 1616 1617 final public void TryCatchFinally() throws ParseException {/*@bgen(jjtree) TryCatchFinally */ 1618 ASTTryCatchFinally jjtn000 = new ASTTryCatchFinally(JJTTRYCATCHFINALLY); 1619 boolean jjtc000 = true; 1620 jjtree.openNodeScope(jjtn000); 1621 jjtn000.jjtSetFirstToken(getToken(1));Token exceptionId; 1622 try { 1623 jj_consume_token(TRY); 1624 Block(); 1625 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 1626 case FINALLY:{ 1627 jj_consume_token(FINALLY); 1628 Block(); 1629jjtree.closeNodeScope(jjtn000, true); 1630 jjtc000 = false; 1631 jjtn000.jjtSetLastToken(getToken(0)); 1632jjtn000.setExceptionId(null); 1633 break; 1634 } 1635 case CATCH:{ 1636 jj_consume_token(CATCH); 1637 jj_consume_token(78); 1638 exceptionId = jj_consume_token(IDENTIFIER); 1639 jj_consume_token(79); 1640 Block(); 1641 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 1642 case FINALLY:{ 1643 jj_consume_token(FINALLY); 1644 Block(); 1645 break; 1646 } 1647 default: 1648 jj_la1[48] = jj_gen; 1649 ; 1650 } 1651jjtree.closeNodeScope(jjtn000, true); 1652 jjtc000 = false; 1653 jjtn000.jjtSetLastToken(getToken(0)); 1654jjtn000.setExceptionId(exceptionId.image); 1655 break; 1656 } 1657 default: 1658 jj_la1[49] = jj_gen; 1659 jj_consume_token(-1); 1660 throw new ParseException(); 1661 } 1662 } catch (Throwable jjte000) { 1663if (jjtc000) { 1664 jjtree.clearNodeScope(jjtn000); 1665 jjtc000 = false; 1666 } else { 1667 jjtree.popNode(); 1668 } 1669 if (jjte000 instanceof RuntimeException) { 1670 {if (true) throw (RuntimeException)jjte000;} 1671 } 1672 if (jjte000 instanceof ParseException) { 1673 {if (true) throw (ParseException)jjte000;} 1674 } 1675 {if (true) throw (Error)jjte000;} 1676 } finally { 1677if (jjtc000) { 1678 jjtree.closeNodeScope(jjtn000, true); 1679 jjtn000.jjtSetLastToken(getToken(0)); 1680 } 1681 } 1682 } 1683 1684 final public void ExpressionStatement() throws ParseException {/*@bgen(jjtree) ExpressionStatement */ 1685 ASTExpressionStatement jjtn000 = new ASTExpressionStatement(JJTEXPRESSIONSTATEMENT); 1686 boolean jjtc000 = true; 1687 jjtree.openNodeScope(jjtn000); 1688 jjtn000.jjtSetFirstToken(getToken(1)); 1689 try { 1690 OrIfNullExpression(); 1691 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 1692 case NEWLINE: 1693 case COMMENT:{ 1694 BlankLine(); 1695 break; 1696 } 1697 default: 1698 jj_la1[50] = jj_gen; 1699 ; 1700 } 1701 } catch (Throwable jjte000) { 1702if (jjtc000) { 1703 jjtree.clearNodeScope(jjtn000); 1704 jjtc000 = false; 1705 } else { 1706 jjtree.popNode(); 1707 } 1708 if (jjte000 instanceof RuntimeException) { 1709 {if (true) throw (RuntimeException)jjte000;} 1710 } 1711 if (jjte000 instanceof ParseException) { 1712 {if (true) throw (ParseException)jjte000;} 1713 } 1714 {if (true) throw (Error)jjte000;} 1715 } finally { 1716if (jjtc000) { 1717 jjtree.closeNodeScope(jjtn000, true); 1718 jjtn000.jjtSetLastToken(getToken(0)); 1719 } 1720 } 1721 } 1722 1723 final public void Atom() throws ParseException { 1724 if (jj_2_10(2)) { 1725 FunctionInvocation(); 1726 } else if (jj_2_11(2)) { 1727 Reference(); 1728 } else { 1729 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 1730 case MATCH:{ 1731 Match(); 1732 break; 1733 } 1734 case NUMBER: 1735 case LONG_NUMBER: 1736 case BIGINTEGER: 1737 case FLOATING_NUMBER: 1738 case FLOAT: 1739 case BIGDECIMAL: 1740 case STRING: 1741 case CHAR: 1742 case NULL: 1743 case TRUE: 1744 case FALSE: 1745 case CLASSREF: 1746 case FUNREF: 1747 case MULTI_STRING:{ 1748 Literal(); 1749 break; 1750 } 1751 case 77: 1752 case 81: 1753 case 82:{ 1754 Function(); 1755 break; 1756 } 1757 case COLL_START:{ 1758 CollectionLiteral(); 1759 break; 1760 } 1761 case 78:{ 1762 jj_consume_token(78); 1763 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 1764 case NEWLINE: 1765 case COMMENT:{ 1766 BlankLine(); 1767 break; 1768 } 1769 default: 1770 jj_la1[51] = jj_gen; 1771 ; 1772 } 1773 ExpressionStatement(); 1774 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 1775 case NEWLINE: 1776 case COMMENT:{ 1777 BlankLine(); 1778 break; 1779 } 1780 default: 1781 jj_la1[52] = jj_gen; 1782 ; 1783 } 1784 jj_consume_token(79); 1785 break; 1786 } 1787 default: 1788 jj_la1[53] = jj_gen; 1789 jj_consume_token(-1); 1790 throw new ParseException(); 1791 } 1792 } 1793 } 1794 1795 final public void UnaryExpression() throws ParseException {Token token = null; 1796 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 1797 case UNARY_OPERATOR:{ 1798 token = jj_consume_token(UNARY_OPERATOR); 1799 break; 1800 } 1801 default: 1802 jj_la1[54] = jj_gen; 1803 ; 1804 } 1805ASTUnaryExpression jjtn001 = new ASTUnaryExpression(JJTUNARYEXPRESSION); 1806 boolean jjtc001 = true; 1807 jjtree.openNodeScope(jjtn001); 1808 jjtn001.jjtSetFirstToken(getToken(1)); 1809 try { 1810 InvocationExpression(); 1811 } catch (Throwable jjte001) { 1812if (jjtc001) { 1813 jjtree.clearNodeScope(jjtn001); 1814 jjtc001 = false; 1815 } else { 1816 jjtree.popNode(); 1817 } 1818 if (jjte001 instanceof RuntimeException) { 1819 {if (true) throw (RuntimeException)jjte001;} 1820 } 1821 if (jjte001 instanceof ParseException) { 1822 {if (true) throw (ParseException)jjte001;} 1823 } 1824 {if (true) throw (Error)jjte001;} 1825 } finally { 1826if (jjtc001) { 1827 jjtree.closeNodeScope(jjtn001, token != null); 1828 jjtn001.jjtSetLastToken(getToken(0)); 1829 } 1830 } 1831 } 1832 1833 final public void InvocationExpression() throws ParseException {Token token = null; 1834 ASTAnonymousFunctionInvocation anon = null; 1835 Atom(); 1836ASTInvocationExpression jjtn001 = new ASTInvocationExpression(JJTINVOCATIONEXPRESSION); 1837 boolean jjtc001 = true; 1838 jjtree.openNodeScope(jjtn001); 1839 jjtn001.jjtSetFirstToken(getToken(1)); 1840 try { 1841 label_14: 1842 while (true) { 1843 if (jj_2_12(2)) { 1844 ; 1845 } else { 1846 break label_14; 1847 } 1848 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 1849 case NEWLINE: 1850 case COMMENT:{ 1851 BlankLine(); 1852 break; 1853 } 1854 default: 1855 jj_la1[55] = jj_gen; 1856 ; 1857 } 1858 token = jj_consume_token(INVOCATION_OPERATOR); 1859 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 1860 case NEWLINE: 1861 case COMMENT:{ 1862 BlankLine(); 1863 break; 1864 } 1865 default: 1866 jj_la1[56] = jj_gen; 1867 ; 1868 } 1869 MethodInvocation(); 1870jjtn001.addOperator(token.image); 1871 } 1872 } catch (Throwable jjte001) { 1873if (jjtc001) { 1874 jjtree.clearNodeScope(jjtn001); 1875 jjtc001 = false; 1876 } else { 1877 jjtree.popNode(); 1878 } 1879 if (jjte001 instanceof RuntimeException) { 1880 {if (true) throw (RuntimeException)jjte001;} 1881 } 1882 if (jjte001 instanceof ParseException) { 1883 {if (true) throw (ParseException)jjte001;} 1884 } 1885 {if (true) throw (Error)jjte001;} 1886 } finally { 1887if (jjtc001) { 1888 jjtree.closeNodeScope(jjtn001, token != null); 1889 jjtn001.jjtSetLastToken(getToken(0)); 1890 } 1891 } 1892 label_15: 1893 while (true) { 1894 if (jj_2_13(2)) { 1895 ; 1896 } else { 1897 break label_15; 1898 } 1899 anon = AnonymousFunctionInvocation(); 1900anon.setOnExpression(true); 1901 } 1902 } 1903 1904 final public void MultiplicativeExpression() throws ParseException {Token token = null; 1905 UnaryExpression(); 1906ASTMultiplicativeExpression jjtn001 = new ASTMultiplicativeExpression(JJTMULTIPLICATIVEEXPRESSION); 1907 boolean jjtc001 = true; 1908 jjtree.openNodeScope(jjtn001); 1909 jjtn001.jjtSetFirstToken(getToken(1)); 1910 try { 1911 label_16: 1912 while (true) { 1913 if (jj_2_14(2)) { 1914 ; 1915 } else { 1916 break label_16; 1917 } 1918 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 1919 case NEWLINE: 1920 case COMMENT:{ 1921 BlankLine(); 1922 break; 1923 } 1924 default: 1925 jj_la1[57] = jj_gen; 1926 ; 1927 } 1928 token = jj_consume_token(MULTIPLICATIVE_OPERATOR); 1929 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 1930 case NEWLINE: 1931 case COMMENT:{ 1932 BlankLine(); 1933 break; 1934 } 1935 default: 1936 jj_la1[58] = jj_gen; 1937 ; 1938 } 1939 InvocationExpression(); 1940jjtn001.addOperator(token.image); 1941 } 1942 } catch (Throwable jjte001) { 1943if (jjtc001) { 1944 jjtree.clearNodeScope(jjtn001); 1945 jjtc001 = false; 1946 } else { 1947 jjtree.popNode(); 1948 } 1949 if (jjte001 instanceof RuntimeException) { 1950 {if (true) throw (RuntimeException)jjte001;} 1951 } 1952 if (jjte001 instanceof ParseException) { 1953 {if (true) throw (ParseException)jjte001;} 1954 } 1955 {if (true) throw (Error)jjte001;} 1956 } finally { 1957if (jjtc001) { 1958 jjtree.closeNodeScope(jjtn001, token != null); 1959 jjtn001.jjtSetLastToken(getToken(0)); 1960 } 1961 } 1962 } 1963 1964 final public void AdditiveExpression() throws ParseException {Token token = null; 1965 MultiplicativeExpression(); 1966ASTAdditiveExpression jjtn001 = new ASTAdditiveExpression(JJTADDITIVEEXPRESSION); 1967 boolean jjtc001 = true; 1968 jjtree.openNodeScope(jjtn001); 1969 jjtn001.jjtSetFirstToken(getToken(1)); 1970 try { 1971 label_17: 1972 while (true) { 1973 if (jj_2_15(2)) { 1974 ; 1975 } else { 1976 break label_17; 1977 } 1978 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 1979 case NEWLINE: 1980 case COMMENT:{ 1981 BlankLine(); 1982 break; 1983 } 1984 default: 1985 jj_la1[59] = jj_gen; 1986 ; 1987 } 1988 token = jj_consume_token(ADDITIVE_OPERATOR); 1989 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 1990 case NEWLINE: 1991 case COMMENT:{ 1992 BlankLine(); 1993 break; 1994 } 1995 default: 1996 jj_la1[60] = jj_gen; 1997 ; 1998 } 1999 MultiplicativeExpression(); 2000jjtn001.addOperator(token.image); 2001 } 2002 } catch (Throwable jjte001) { 2003if (jjtc001) { 2004 jjtree.clearNodeScope(jjtn001); 2005 jjtc001 = false; 2006 } else { 2007 jjtree.popNode(); 2008 } 2009 if (jjte001 instanceof RuntimeException) { 2010 {if (true) throw (RuntimeException)jjte001;} 2011 } 2012 if (jjte001 instanceof ParseException) { 2013 {if (true) throw (ParseException)jjte001;} 2014 } 2015 {if (true) throw (Error)jjte001;} 2016 } finally { 2017if (jjtc001) { 2018 jjtree.closeNodeScope(jjtn001, token != null); 2019 jjtn001.jjtSetLastToken(getToken(0)); 2020 } 2021 } 2022 } 2023 2024 final public void RelationalExpression() throws ParseException {Token token = null; 2025 AdditiveExpression(); 2026ASTRelationalExpression jjtn001 = new ASTRelationalExpression(JJTRELATIONALEXPRESSION); 2027 boolean jjtc001 = true; 2028 jjtree.openNodeScope(jjtn001); 2029 jjtn001.jjtSetFirstToken(getToken(1)); 2030 try { 2031 if (jj_2_16(2)) { 2032 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 2033 case NEWLINE: 2034 case COMMENT:{ 2035 BlankLine(); 2036 break; 2037 } 2038 default: 2039 jj_la1[61] = jj_gen; 2040 ; 2041 } 2042 token = jj_consume_token(RELATIONAL_OPERATOR); 2043 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 2044 case NEWLINE: 2045 case COMMENT:{ 2046 BlankLine(); 2047 break; 2048 } 2049 default: 2050 jj_la1[62] = jj_gen; 2051 ; 2052 } 2053 AdditiveExpression(); 2054jjtn001.setOperator(token.image); 2055 } else { 2056 ; 2057 } 2058 } catch (Throwable jjte001) { 2059if (jjtc001) { 2060 jjtree.clearNodeScope(jjtn001); 2061 jjtc001 = false; 2062 } else { 2063 jjtree.popNode(); 2064 } 2065 if (jjte001 instanceof RuntimeException) { 2066 {if (true) throw (RuntimeException)jjte001;} 2067 } 2068 if (jjte001 instanceof ParseException) { 2069 {if (true) throw (ParseException)jjte001;} 2070 } 2071 {if (true) throw (Error)jjte001;} 2072 } finally { 2073if (jjtc001) { 2074 jjtree.closeNodeScope(jjtn001, token != null); 2075 jjtn001.jjtSetLastToken(getToken(0)); 2076 } 2077 } 2078 } 2079 2080 final public void EqualityExpression() throws ParseException {Token token = null; 2081 RelationalExpression(); 2082ASTEqualityExpression jjtn001 = new ASTEqualityExpression(JJTEQUALITYEXPRESSION); 2083 boolean jjtc001 = true; 2084 jjtree.openNodeScope(jjtn001); 2085 jjtn001.jjtSetFirstToken(getToken(1)); 2086 try { 2087 if (jj_2_17(2)) { 2088 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 2089 case NEWLINE: 2090 case COMMENT:{ 2091 BlankLine(); 2092 break; 2093 } 2094 default: 2095 jj_la1[63] = jj_gen; 2096 ; 2097 } 2098 token = jj_consume_token(EQUALITY_OPERATOR); 2099 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 2100 case NEWLINE: 2101 case COMMENT:{ 2102 BlankLine(); 2103 break; 2104 } 2105 default: 2106 jj_la1[64] = jj_gen; 2107 ; 2108 } 2109 RelationalExpression(); 2110jjtn001.setOperator(token.image); 2111 } else { 2112 ; 2113 } 2114 } catch (Throwable jjte001) { 2115if (jjtc001) { 2116 jjtree.clearNodeScope(jjtn001); 2117 jjtc001 = false; 2118 } else { 2119 jjtree.popNode(); 2120 } 2121 if (jjte001 instanceof RuntimeException) { 2122 {if (true) throw (RuntimeException)jjte001;} 2123 } 2124 if (jjte001 instanceof ParseException) { 2125 {if (true) throw (ParseException)jjte001;} 2126 } 2127 {if (true) throw (Error)jjte001;} 2128 } finally { 2129if (jjtc001) { 2130 jjtree.closeNodeScope(jjtn001, token != null); 2131 jjtn001.jjtSetLastToken(getToken(0)); 2132 } 2133 } 2134 } 2135 2136 final public void AndExpression() throws ParseException {int count = 0; 2137 EqualityExpression(); 2138ASTAndExpression jjtn001 = new ASTAndExpression(JJTANDEXPRESSION); 2139 boolean jjtc001 = true; 2140 jjtree.openNodeScope(jjtn001); 2141 jjtn001.jjtSetFirstToken(getToken(1)); 2142 try { 2143 label_18: 2144 while (true) { 2145 if (jj_2_18(2)) { 2146 ; 2147 } else { 2148 break label_18; 2149 } 2150 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 2151 case NEWLINE: 2152 case COMMENT:{ 2153 BlankLine(); 2154 break; 2155 } 2156 default: 2157 jj_la1[65] = jj_gen; 2158 ; 2159 } 2160 jj_consume_token(AND_OPERATOR); 2161 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 2162 case NEWLINE: 2163 case COMMENT:{ 2164 BlankLine(); 2165 break; 2166 } 2167 default: 2168 jj_la1[66] = jj_gen; 2169 ; 2170 } 2171 EqualityExpression(); 2172jjtn001.increaseCount(); 2173 count++; 2174 } 2175 } catch (Throwable jjte001) { 2176if (jjtc001) { 2177 jjtree.clearNodeScope(jjtn001); 2178 jjtc001 = false; 2179 } else { 2180 jjtree.popNode(); 2181 } 2182 if (jjte001 instanceof RuntimeException) { 2183 {if (true) throw (RuntimeException)jjte001;} 2184 } 2185 if (jjte001 instanceof ParseException) { 2186 {if (true) throw (ParseException)jjte001;} 2187 } 2188 {if (true) throw (Error)jjte001;} 2189 } finally { 2190if (jjtc001) { 2191 jjtree.closeNodeScope(jjtn001, count > 0); 2192 jjtn001.jjtSetLastToken(getToken(0)); 2193 } 2194 } 2195 } 2196 2197 final public void OrExpression() throws ParseException {int count = 0; 2198 AndExpression(); 2199ASTOrExpression jjtn001 = new ASTOrExpression(JJTOREXPRESSION); 2200 boolean jjtc001 = true; 2201 jjtree.openNodeScope(jjtn001); 2202 jjtn001.jjtSetFirstToken(getToken(1)); 2203 try { 2204 label_19: 2205 while (true) { 2206 if (jj_2_19(2)) { 2207 ; 2208 } else { 2209 break label_19; 2210 } 2211 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 2212 case NEWLINE: 2213 case COMMENT:{ 2214 BlankLine(); 2215 break; 2216 } 2217 default: 2218 jj_la1[67] = jj_gen; 2219 ; 2220 } 2221 jj_consume_token(OR_OPERATOR); 2222 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 2223 case NEWLINE: 2224 case COMMENT:{ 2225 BlankLine(); 2226 break; 2227 } 2228 default: 2229 jj_la1[68] = jj_gen; 2230 ; 2231 } 2232 AndExpression(); 2233jjtn001.increaseCount(); 2234 count++; 2235 } 2236 } catch (Throwable jjte001) { 2237if (jjtc001) { 2238 jjtree.clearNodeScope(jjtn001); 2239 jjtc001 = false; 2240 } else { 2241 jjtree.popNode(); 2242 } 2243 if (jjte001 instanceof RuntimeException) { 2244 {if (true) throw (RuntimeException)jjte001;} 2245 } 2246 if (jjte001 instanceof ParseException) { 2247 {if (true) throw (ParseException)jjte001;} 2248 } 2249 {if (true) throw (Error)jjte001;} 2250 } finally { 2251if (jjtc001) { 2252 jjtree.closeNodeScope(jjtn001, count > 0); 2253 jjtn001.jjtSetLastToken(getToken(0)); 2254 } 2255 } 2256 } 2257 2258 final public void OrIfNullExpression() throws ParseException {int count = 0; 2259 OrExpression(); 2260ASTOrIfNullExpression jjtn001 = new ASTOrIfNullExpression(JJTORIFNULLEXPRESSION); 2261 boolean jjtc001 = true; 2262 jjtree.openNodeScope(jjtn001); 2263 jjtn001.jjtSetFirstToken(getToken(1)); 2264 try { 2265 label_20: 2266 while (true) { 2267 if (jj_2_20(2)) { 2268 ; 2269 } else { 2270 break label_20; 2271 } 2272 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 2273 case NEWLINE: 2274 case COMMENT:{ 2275 BlankLine(); 2276 break; 2277 } 2278 default: 2279 jj_la1[69] = jj_gen; 2280 ; 2281 } 2282 jj_consume_token(OR_IFNULL_OPERATOR); 2283 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 2284 case NEWLINE: 2285 case COMMENT:{ 2286 BlankLine(); 2287 break; 2288 } 2289 default: 2290 jj_la1[70] = jj_gen; 2291 ; 2292 } 2293 OrExpression(); 2294jjtn001.increaseCount(); 2295 count++; 2296 } 2297 } catch (Throwable jjte001) { 2298if (jjtc001) { 2299 jjtree.clearNodeScope(jjtn001); 2300 jjtc001 = false; 2301 } else { 2302 jjtree.popNode(); 2303 } 2304 if (jjte001 instanceof RuntimeException) { 2305 {if (true) throw (RuntimeException)jjte001;} 2306 } 2307 if (jjte001 instanceof ParseException) { 2308 {if (true) throw (ParseException)jjte001;} 2309 } 2310 {if (true) throw (Error)jjte001;} 2311 } finally { 2312if (jjtc001) { 2313 jjtree.closeNodeScope(jjtn001, count > 0); 2314 jjtn001.jjtSetLastToken(getToken(0)); 2315 } 2316 } 2317 } 2318 2319 final public void MethodInvocation() throws ParseException {/*@bgen(jjtree) MethodInvocation */ 2320 ASTMethodInvocation jjtn000 = new ASTMethodInvocation(JJTMETHODINVOCATION); 2321 boolean jjtc000 = true; 2322 jjtree.openNodeScope(jjtn000); 2323 jjtn000.jjtSetFirstToken(getToken(1));Token token; 2324 try { 2325 token = jj_consume_token(IDENTIFIER); 2326 Arguments(); 2327 label_21: 2328 while (true) { 2329 if (jj_2_21(2)) { 2330 ; 2331 } else { 2332 break label_21; 2333 } 2334 AnonymousFunctionInvocation(); 2335 } 2336jjtree.closeNodeScope(jjtn000, true); 2337 jjtc000 = false; 2338 jjtn000.jjtSetLastToken(getToken(0)); 2339jjtn000.setName(token.image); 2340 } catch (Throwable jjte000) { 2341if (jjtc000) { 2342 jjtree.clearNodeScope(jjtn000); 2343 jjtc000 = false; 2344 } else { 2345 jjtree.popNode(); 2346 } 2347 if (jjte000 instanceof RuntimeException) { 2348 {if (true) throw (RuntimeException)jjte000;} 2349 } 2350 if (jjte000 instanceof ParseException) { 2351 {if (true) throw (ParseException)jjte000;} 2352 } 2353 {if (true) throw (Error)jjte000;} 2354 } finally { 2355if (jjtc000) { 2356 jjtree.closeNodeScope(jjtn000, true); 2357 jjtn000.jjtSetLastToken(getToken(0)); 2358 } 2359 } 2360 } 2361 2362 final public void Block() throws ParseException {/*@bgen(jjtree) Block */ 2363 ASTBlock jjtn000 = new ASTBlock(JJTBLOCK); 2364 boolean jjtc000 = true; 2365 jjtree.openNodeScope(jjtn000); 2366 jjtn000.jjtSetFirstToken(getToken(1)); 2367 try { 2368 try { 2369 jj_consume_token(77); 2370 label_22: 2371 while (true) { 2372 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 2373 case NEWLINE: 2374 case RETURN: 2375 case IF: 2376 case WHILE: 2377 case FOR: 2378 case FOREACH: 2379 case THROW: 2380 case TRY: 2381 case CASE: 2382 case MATCH: 2383 case BREAK: 2384 case CONTINUE: 2385 case UNARY_OPERATOR: 2386 case VAR: 2387 case LET: 2388 case NUMBER: 2389 case LONG_NUMBER: 2390 case BIGINTEGER: 2391 case FLOATING_NUMBER: 2392 case FLOAT: 2393 case BIGDECIMAL: 2394 case STRING: 2395 case CHAR: 2396 case NULL: 2397 case TRUE: 2398 case FALSE: 2399 case CLASSREF: 2400 case FUNREF: 2401 case COLL_START: 2402 case MULTI_STRING: 2403 case IDENTIFIER: 2404 case COMMENT: 2405 case 77: 2406 case 78: 2407 case 81: 2408 case 82:{ 2409 ; 2410 break; 2411 } 2412 default: 2413 jj_la1[71] = jj_gen; 2414 break label_22; 2415 } 2416 try { 2417 Statement(); 2418 } catch (ParseException e) { 2419skipto(NEWLINE, e, jjtn000); 2420 } 2421 } 2422 jj_consume_token(75); 2423 } catch (ParseException e) { 2424skipto(NEWLINE, e, jjtn000); 2425 } 2426 } catch (Throwable jjte000) { 2427if (jjtc000) { 2428 jjtree.clearNodeScope(jjtn000); 2429 jjtc000 = false; 2430 } else { 2431 jjtree.popNode(); 2432 } 2433 if (jjte000 instanceof RuntimeException) { 2434 {if (true) throw (RuntimeException)jjte000;} 2435 } 2436 if (jjte000 instanceof ParseException) { 2437 {if (true) throw (ParseException)jjte000;} 2438 } 2439 {if (true) throw (Error)jjte000;} 2440 } finally { 2441if (jjtc000) { 2442 jjtree.closeNodeScope(jjtn000, true); 2443 jjtn000.jjtSetLastToken(getToken(0)); 2444 } 2445 } 2446 } 2447 2448 final public void Function() throws ParseException {/*@bgen(jjtree) Function */ 2449 ASTFunction jjtn000 = new ASTFunction(JJTFUNCTION); 2450 boolean jjtc000 = true; 2451 jjtree.openNodeScope(jjtn000); 2452 jjtn000.jjtSetFirstToken(getToken(1));List<String> parameters = null; 2453 Token varargsToken = null; 2454 boolean compactForm = false; 2455 try { 2456 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 2457 case 81:{ 2458 jj_consume_token(81); 2459 parameters = Parameters(); 2460 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 2461 case 80:{ 2462 varargsToken = jj_consume_token(80); 2463 break; 2464 } 2465 default: 2466 jj_la1[72] = jj_gen; 2467 ; 2468 } 2469 jj_consume_token(81); 2470 break; 2471 } 2472 default: 2473 jj_la1[73] = jj_gen; 2474 ; 2475 } 2476 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 2477 case 77:{ 2478 Block(); 2479 break; 2480 } 2481 case 82:{ 2482 jj_consume_token(82); 2483 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 2484 case NEWLINE: 2485 case COMMENT:{ 2486 BlankLine(); 2487 break; 2488 } 2489 default: 2490 jj_la1[74] = jj_gen; 2491 ; 2492 } 2493 ExpressionStatement(); 2494compactForm = true; 2495 break; 2496 } 2497 default: 2498 jj_la1[75] = jj_gen; 2499 jj_consume_token(-1); 2500 throw new ParseException(); 2501 } 2502jjtree.closeNodeScope(jjtn000, true); 2503 jjtc000 = false; 2504 jjtn000.jjtSetLastToken(getToken(0)); 2505if (parameters == null) { 2506 parameters = Collections.emptyList(); 2507 } 2508 jjtn000.setCompactForm(compactForm); 2509 jjtn000.setParameters(parameters); 2510 jjtn000.setVarargs(varargsToken != null); 2511 } catch (Throwable jjte000) { 2512if (jjtc000) { 2513 jjtree.clearNodeScope(jjtn000); 2514 jjtc000 = false; 2515 } else { 2516 jjtree.popNode(); 2517 } 2518 if (jjte000 instanceof RuntimeException) { 2519 {if (true) throw (RuntimeException)jjte000;} 2520 } 2521 if (jjte000 instanceof ParseException) { 2522 {if (true) throw (ParseException)jjte000;} 2523 } 2524 {if (true) throw (Error)jjte000;} 2525 } finally { 2526if (jjtc000) { 2527 jjtree.closeNodeScope(jjtn000, true); 2528 jjtn000.jjtSetLastToken(getToken(0)); 2529 } 2530 } 2531 } 2532 2533 final public void Literal() throws ParseException {/*@bgen(jjtree) Literal */ 2534 ASTLiteral jjtn000 = new ASTLiteral(JJTLITERAL); 2535 boolean jjtc000 = true; 2536 jjtree.openNodeScope(jjtn000); 2537 jjtn000.jjtSetFirstToken(getToken(1));Object value; 2538 try { 2539 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 2540 case CLASSREF:{ 2541 value = ClassLiteral(); 2542jjtree.closeNodeScope(jjtn000, true); 2543 jjtc000 = false; 2544 jjtn000.jjtSetLastToken(getToken(0)); 2545jjtn000.setLiteralValue(value); 2546 break; 2547 } 2548 case STRING: 2549 case MULTI_STRING:{ 2550 value = StringLiteral(); 2551jjtree.closeNodeScope(jjtn000, true); 2552 jjtc000 = false; 2553 jjtn000.jjtSetLastToken(getToken(0)); 2554jjtn000.setLiteralValue(value); 2555 break; 2556 } 2557 case CHAR:{ 2558 value = CharLiteral(); 2559jjtree.closeNodeScope(jjtn000, true); 2560 jjtc000 = false; 2561 jjtn000.jjtSetLastToken(getToken(0)); 2562jjtn000.setLiteralValue(value); 2563 break; 2564 } 2565 case BIGDECIMAL:{ 2566 value = BigDecimalLiteral(); 2567jjtree.closeNodeScope(jjtn000, true); 2568 jjtc000 = false; 2569 jjtn000.jjtSetLastToken(getToken(0)); 2570jjtn000.setLiteralValue(value); 2571 break; 2572 } 2573 case BIGINTEGER:{ 2574 value = BigIntegerLiteral(); 2575jjtree.closeNodeScope(jjtn000, true); 2576 jjtc000 = false; 2577 jjtn000.jjtSetLastToken(getToken(0)); 2578jjtn000.setLiteralValue(value); 2579 break; 2580 } 2581 case FLOAT:{ 2582 value = FloatLiteral(); 2583jjtree.closeNodeScope(jjtn000, true); 2584 jjtc000 = false; 2585 jjtn000.jjtSetLastToken(getToken(0)); 2586jjtn000.setLiteralValue(value); 2587 break; 2588 } 2589 case FLOATING_NUMBER:{ 2590 value = DoubleLiteral(); 2591jjtree.closeNodeScope(jjtn000, true); 2592 jjtc000 = false; 2593 jjtn000.jjtSetLastToken(getToken(0)); 2594jjtn000.setLiteralValue(value); 2595 break; 2596 } 2597 case LONG_NUMBER:{ 2598 value = LongLiteral(); 2599jjtree.closeNodeScope(jjtn000, true); 2600 jjtc000 = false; 2601 jjtn000.jjtSetLastToken(getToken(0)); 2602jjtn000.setLiteralValue(value); 2603 break; 2604 } 2605 case NUMBER:{ 2606 value = IntegerLiteral(); 2607jjtree.closeNodeScope(jjtn000, true); 2608 jjtc000 = false; 2609 jjtn000.jjtSetLastToken(getToken(0)); 2610jjtn000.setLiteralValue(value); 2611 break; 2612 } 2613 case NULL:{ 2614 jj_consume_token(NULL); 2615jjtree.closeNodeScope(jjtn000, true); 2616 jjtc000 = false; 2617 jjtn000.jjtSetLastToken(getToken(0)); 2618jjtn000.setLiteralValue(null); 2619 break; 2620 } 2621 case TRUE:{ 2622 jj_consume_token(TRUE); 2623jjtree.closeNodeScope(jjtn000, true); 2624 jjtc000 = false; 2625 jjtn000.jjtSetLastToken(getToken(0)); 2626jjtn000.setLiteralValue(Boolean.TRUE); 2627 break; 2628 } 2629 case FALSE:{ 2630 jj_consume_token(FALSE); 2631jjtree.closeNodeScope(jjtn000, true); 2632 jjtc000 = false; 2633 jjtn000.jjtSetLastToken(getToken(0)); 2634jjtn000.setLiteralValue(Boolean.FALSE); 2635 break; 2636 } 2637 case FUNREF:{ 2638 value = FunctionRef(); 2639jjtree.closeNodeScope(jjtn000, true); 2640 jjtc000 = false; 2641 jjtn000.jjtSetLastToken(getToken(0)); 2642jjtn000.setLiteralValue(value); 2643 break; 2644 } 2645 default: 2646 jj_la1[76] = jj_gen; 2647 jj_consume_token(-1); 2648 throw new ParseException(); 2649 } 2650 } catch (Throwable jjte000) { 2651if (jjtc000) { 2652 jjtree.clearNodeScope(jjtn000); 2653 jjtc000 = false; 2654 } else { 2655 jjtree.popNode(); 2656 } 2657 if (jjte000 instanceof RuntimeException) { 2658 {if (true) throw (RuntimeException)jjte000;} 2659 } 2660 if (jjte000 instanceof ParseException) { 2661 {if (true) throw (ParseException)jjte000;} 2662 } 2663 {if (true) throw (Error)jjte000;} 2664 } finally { 2665if (jjtc000) { 2666 jjtree.closeNodeScope(jjtn000, true); 2667 jjtn000.jjtSetLastToken(getToken(0)); 2668 } 2669 } 2670 } 2671 2672 final public void CollectionLiteral() throws ParseException {/*@bgen(jjtree) CollectionLiteral */ 2673 ASTCollectionLiteral jjtn000 = new ASTCollectionLiteral(JJTCOLLECTIONLITERAL); 2674 boolean jjtc000 = true; 2675 jjtree.openNodeScope(jjtn000); 2676 jjtn000.jjtSetFirstToken(getToken(1));Token token; 2677 boolean isRange = false; 2678 boolean isComprehension = false; 2679 try { 2680 token = jj_consume_token(COLL_START); 2681 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 2682 case NEWLINE: 2683 case COMMENT:{ 2684 BlankLine(); 2685 break; 2686 } 2687 default: 2688 jj_la1[77] = jj_gen; 2689 ; 2690 } 2691 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 2692 case MATCH: 2693 case UNARY_OPERATOR: 2694 case NUMBER: 2695 case LONG_NUMBER: 2696 case BIGINTEGER: 2697 case FLOATING_NUMBER: 2698 case FLOAT: 2699 case BIGDECIMAL: 2700 case STRING: 2701 case CHAR: 2702 case NULL: 2703 case TRUE: 2704 case FALSE: 2705 case CLASSREF: 2706 case FUNREF: 2707 case COLL_START: 2708 case MULTI_STRING: 2709 case IDENTIFIER: 2710 case 77: 2711 case 78: 2712 case 81: 2713 case 82:{ 2714 ExpressionStatement(); 2715 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 2716 case FOR: 2717 case FOREACH: 2718 case 73: 2719 case 83:{ 2720 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 2721 case 73:{ 2722 label_23: 2723 while (true) { 2724 jj_consume_token(73); 2725 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 2726 case NEWLINE: 2727 case COMMENT:{ 2728 BlankLine(); 2729 break; 2730 } 2731 default: 2732 jj_la1[78] = jj_gen; 2733 ; 2734 } 2735 ExpressionStatement(); 2736 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 2737 case 73:{ 2738 ; 2739 break; 2740 } 2741 default: 2742 jj_la1[79] = jj_gen; 2743 break label_23; 2744 } 2745 } 2746 break; 2747 } 2748 case 83:{ 2749 jj_consume_token(83); 2750 ExpressionStatement(); 2751isRange = true; 2752 break; 2753 } 2754 case FOR: 2755 case FOREACH:{ 2756 label_24: 2757 while (true) { 2758 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 2759 case FOREACH:{ 2760 ForEachLoop(); 2761 break; 2762 } 2763 case FOR:{ 2764 ForLoop(); 2765 break; 2766 } 2767 default: 2768 jj_la1[80] = jj_gen; 2769 jj_consume_token(-1); 2770 throw new ParseException(); 2771 } 2772 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 2773 case FOR: 2774 case FOREACH:{ 2775 ; 2776 break; 2777 } 2778 default: 2779 jj_la1[81] = jj_gen; 2780 break label_24; 2781 } 2782 } 2783isComprehension = true; 2784 break; 2785 } 2786 default: 2787 jj_la1[82] = jj_gen; 2788 jj_consume_token(-1); 2789 throw new ParseException(); 2790 } 2791 break; 2792 } 2793 default: 2794 jj_la1[83] = jj_gen; 2795 ; 2796 } 2797 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 2798 case NEWLINE: 2799 case COMMENT:{ 2800 BlankLine(); 2801 break; 2802 } 2803 default: 2804 jj_la1[84] = jj_gen; 2805 ; 2806 } 2807 break; 2808 } 2809 default: 2810 jj_la1[85] = jj_gen; 2811 ; 2812 } 2813 jj_consume_token(84); 2814jjtree.closeNodeScope(jjtn000, true); 2815 jjtc000 = false; 2816 jjtn000.jjtSetLastToken(getToken(0)); 2817String image = token.image; 2818 jjtn000.setType(image.substring(0, image.length() - 1)); 2819 if (jjtn000.getType().isEmpty()) { 2820 jjtn000.setType("tuple"); 2821 } 2822 if (isRange) { 2823 jjtn000.setType("range"); 2824 } 2825 jjtn000.setComprehension(isComprehension); 2826 } catch (Throwable jjte000) { 2827if (jjtc000) { 2828 jjtree.clearNodeScope(jjtn000); 2829 jjtc000 = false; 2830 } else { 2831 jjtree.popNode(); 2832 } 2833 if (jjte000 instanceof RuntimeException) { 2834 {if (true) throw (RuntimeException)jjte000;} 2835 } 2836 if (jjte000 instanceof ParseException) { 2837 {if (true) throw (ParseException)jjte000;} 2838 } 2839 {if (true) throw (Error)jjte000;} 2840 } finally { 2841if (jjtc000) { 2842 jjtree.closeNodeScope(jjtn000, true); 2843 jjtn000.jjtSetLastToken(getToken(0)); 2844 } 2845 } 2846 } 2847 2848 final public void Reference() throws ParseException {/*@bgen(jjtree) Reference */ 2849 ASTReference jjtn000 = new ASTReference(JJTREFERENCE); 2850 boolean jjtc000 = true; 2851 jjtree.openNodeScope(jjtn000); 2852 jjtn000.jjtSetFirstToken(getToken(1)); 2853 try { 2854 jj_consume_token(IDENTIFIER); 2855jjtree.closeNodeScope(jjtn000, true); 2856 jjtc000 = false; 2857 jjtn000.jjtSetLastToken(getToken(0)); 2858jjtn000.setName(jjtn000.jjtGetFirstToken().image); 2859 } finally { 2860if (jjtc000) { 2861 jjtree.closeNodeScope(jjtn000, true); 2862 jjtn000.jjtSetLastToken(getToken(0)); 2863 } 2864 } 2865 } 2866 2867 final public ASTDestructuringAssignment DestructuringAssignment() throws ParseException {/*@bgen(jjtree) DestructuringAssignment */ 2868 ASTDestructuringAssignment jjtn000 = new ASTDestructuringAssignment(JJTDESTRUCTURINGASSIGNMENT); 2869 boolean jjtc000 = true; 2870 jjtree.openNodeScope(jjtn000); 2871 jjtn000.jjtSetFirstToken(getToken(1));List<String> names; 2872 Token varargsToken = null; 2873 try { 2874 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 2875 case LET:{ 2876 jj_consume_token(LET); 2877 names = DestructuredNames(); 2878 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 2879 case 80:{ 2880 varargsToken = jj_consume_token(80); 2881 break; 2882 } 2883 default: 2884 jj_la1[86] = jj_gen; 2885 ; 2886 } 2887 jj_consume_token(76); 2888 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 2889 case NEWLINE: 2890 case COMMENT:{ 2891 BlankLine(); 2892 break; 2893 } 2894 default: 2895 jj_la1[87] = jj_gen; 2896 ; 2897 } 2898 ExpressionStatement(); 2899jjtree.closeNodeScope(jjtn000, true); 2900 jjtc000 = false; 2901 jjtn000.jjtSetLastToken(getToken(0)); 2902jjtn000.setType(ASTLetOrVar.Type.LET); 2903 jjtn000.setNames(names); 2904 jjtn000.setVarargs(varargsToken != null); 2905 {if ("" != null) return jjtn000;} 2906 break; 2907 } 2908 case VAR:{ 2909 jj_consume_token(VAR); 2910 names = DestructuredNames(); 2911 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 2912 case 80:{ 2913 varargsToken = jj_consume_token(80); 2914 break; 2915 } 2916 default: 2917 jj_la1[88] = jj_gen; 2918 ; 2919 } 2920 jj_consume_token(76); 2921 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 2922 case NEWLINE: 2923 case COMMENT:{ 2924 BlankLine(); 2925 break; 2926 } 2927 default: 2928 jj_la1[89] = jj_gen; 2929 ; 2930 } 2931 ExpressionStatement(); 2932jjtree.closeNodeScope(jjtn000, true); 2933 jjtc000 = false; 2934 jjtn000.jjtSetLastToken(getToken(0)); 2935jjtn000.setType(ASTLetOrVar.Type.VAR); 2936 jjtn000.setNames(names); 2937 jjtn000.setVarargs(varargsToken != null); 2938 {if ("" != null) return jjtn000;} 2939 break; 2940 } 2941 case IDENTIFIER:{ 2942 names = DestructuredNames(); 2943 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 2944 case 80:{ 2945 varargsToken = jj_consume_token(80); 2946 break; 2947 } 2948 default: 2949 jj_la1[90] = jj_gen; 2950 ; 2951 } 2952 jj_consume_token(76); 2953 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 2954 case NEWLINE: 2955 case COMMENT:{ 2956 BlankLine(); 2957 break; 2958 } 2959 default: 2960 jj_la1[91] = jj_gen; 2961 ; 2962 } 2963 ExpressionStatement(); 2964jjtree.closeNodeScope(jjtn000, true); 2965 jjtc000 = false; 2966 jjtn000.jjtSetLastToken(getToken(0)); 2967jjtn000.setType(null); 2968 jjtn000.setNames(names); 2969 jjtn000.setVarargs(varargsToken != null); 2970 {if ("" != null) return jjtn000;} 2971 break; 2972 } 2973 default: 2974 jj_la1[92] = jj_gen; 2975 jj_consume_token(-1); 2976 throw new ParseException(); 2977 } 2978 } catch (Throwable jjte000) { 2979if (jjtc000) { 2980 jjtree.clearNodeScope(jjtn000); 2981 jjtc000 = false; 2982 } else { 2983 jjtree.popNode(); 2984 } 2985 if (jjte000 instanceof RuntimeException) { 2986 {if (true) throw (RuntimeException)jjte000;} 2987 } 2988 if (jjte000 instanceof ParseException) { 2989 {if (true) throw (ParseException)jjte000;} 2990 } 2991 {if (true) throw (Error)jjte000;} 2992 } finally { 2993if (jjtc000) { 2994 jjtree.closeNodeScope(jjtn000, true); 2995 jjtn000.jjtSetLastToken(getToken(0)); 2996 } 2997 } 2998 throw new Error("Missing return statement in function"); 2999 } 3000 3001 final public List<String> DestructuredNames() throws ParseException {List<String> names = new LinkedList<String>(); 3002 Token rootToken; 3003 Token nextToken; 3004 rootToken = jj_consume_token(IDENTIFIER); 3005names.add(rootToken.image); 3006 label_25: 3007 while (true) { 3008 jj_consume_token(73); 3009 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 3010 case NEWLINE: 3011 case COMMENT:{ 3012 BlankLine(); 3013 break; 3014 } 3015 default: 3016 jj_la1[93] = jj_gen; 3017 ; 3018 } 3019 nextToken = jj_consume_token(IDENTIFIER); 3020names.add(nextToken.image); 3021 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 3022 case 73:{ 3023 ; 3024 break; 3025 } 3026 default: 3027 jj_la1[94] = jj_gen; 3028 break label_25; 3029 } 3030 } 3031{if ("" != null) return names;} 3032 throw new Error("Missing return statement in function"); 3033 } 3034 3035 final public ASTLetOrVar LetOrVar() throws ParseException {/*@bgen(jjtree) LetOrVar */ 3036 ASTLetOrVar jjtn000 = new ASTLetOrVar(JJTLETORVAR); 3037 boolean jjtc000 = true; 3038 jjtree.openNodeScope(jjtn000); 3039 jjtn000.jjtSetFirstToken(getToken(1));Token idToken; 3040 try { 3041 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 3042 case LET:{ 3043 jj_consume_token(LET); 3044 idToken = jj_consume_token(IDENTIFIER); 3045 jj_consume_token(76); 3046 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 3047 case NEWLINE: 3048 case COMMENT:{ 3049 BlankLine(); 3050 break; 3051 } 3052 default: 3053 jj_la1[95] = jj_gen; 3054 ; 3055 } 3056 ExpressionStatement(); 3057jjtree.closeNodeScope(jjtn000, true); 3058 jjtc000 = false; 3059 jjtn000.jjtSetLastToken(getToken(0)); 3060jjtn000.setType(ASTLetOrVar.Type.LET); 3061 jjtn000.setName(idToken.image); 3062 {if ("" != null) return jjtn000;} 3063 break; 3064 } 3065 case VAR:{ 3066 jj_consume_token(VAR); 3067 idToken = jj_consume_token(IDENTIFIER); 3068 jj_consume_token(76); 3069 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 3070 case NEWLINE: 3071 case COMMENT:{ 3072 BlankLine(); 3073 break; 3074 } 3075 default: 3076 jj_la1[96] = jj_gen; 3077 ; 3078 } 3079 ExpressionStatement(); 3080jjtree.closeNodeScope(jjtn000, true); 3081 jjtc000 = false; 3082 jjtn000.jjtSetLastToken(getToken(0)); 3083jjtn000.setType(ASTLetOrVar.Type.VAR); 3084 jjtn000.setName(idToken.image); 3085 {if ("" != null) return jjtn000;} 3086 break; 3087 } 3088 default: 3089 jj_la1[97] = jj_gen; 3090 jj_consume_token(-1); 3091 throw new ParseException(); 3092 } 3093 } catch (Throwable jjte000) { 3094if (jjtc000) { 3095 jjtree.clearNodeScope(jjtn000); 3096 jjtc000 = false; 3097 } else { 3098 jjtree.popNode(); 3099 } 3100 if (jjte000 instanceof RuntimeException) { 3101 {if (true) throw (RuntimeException)jjte000;} 3102 } 3103 if (jjte000 instanceof ParseException) { 3104 {if (true) throw (ParseException)jjte000;} 3105 } 3106 {if (true) throw (Error)jjte000;} 3107 } finally { 3108if (jjtc000) { 3109 jjtree.closeNodeScope(jjtn000, true); 3110 jjtn000.jjtSetLastToken(getToken(0)); 3111 } 3112 } 3113 throw new Error("Missing return statement in function"); 3114 } 3115 3116 final public void Assignment() throws ParseException {/*@bgen(jjtree) Assignment */ 3117 ASTAssignment jjtn000 = new ASTAssignment(JJTASSIGNMENT); 3118 boolean jjtc000 = true; 3119 jjtree.openNodeScope(jjtn000); 3120 jjtn000.jjtSetFirstToken(getToken(1));Token idToken; 3121 try { 3122 idToken = jj_consume_token(IDENTIFIER); 3123 jj_consume_token(76); 3124 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 3125 case NEWLINE: 3126 case COMMENT:{ 3127 BlankLine(); 3128 break; 3129 } 3130 default: 3131 jj_la1[98] = jj_gen; 3132 ; 3133 } 3134 ExpressionStatement(); 3135jjtree.closeNodeScope(jjtn000, true); 3136 jjtc000 = false; 3137 jjtn000.jjtSetLastToken(getToken(0)); 3138jjtn000.setName(idToken.image); 3139 } catch (Throwable jjte000) { 3140if (jjtc000) { 3141 jjtree.clearNodeScope(jjtn000); 3142 jjtc000 = false; 3143 } else { 3144 jjtree.popNode(); 3145 } 3146 if (jjte000 instanceof RuntimeException) { 3147 {if (true) throw (RuntimeException)jjte000;} 3148 } 3149 if (jjte000 instanceof ParseException) { 3150 {if (true) throw (ParseException)jjte000;} 3151 } 3152 {if (true) throw (Error)jjte000;} 3153 } finally { 3154if (jjtc000) { 3155 jjtree.closeNodeScope(jjtn000, true); 3156 jjtn000.jjtSetLastToken(getToken(0)); 3157 } 3158 } 3159 } 3160 3161 final public void Return() throws ParseException {/*@bgen(jjtree) Return */ 3162 ASTReturn jjtn000 = new ASTReturn(JJTRETURN); 3163 boolean jjtc000 = true; 3164 jjtree.openNodeScope(jjtn000); 3165 jjtn000.jjtSetFirstToken(getToken(1)); 3166 try { 3167 jj_consume_token(RETURN); 3168 if (jj_2_22(2)) { 3169 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 3170 case NEWLINE: 3171 case COMMENT:{ 3172 BlankLine(); 3173 break; 3174 } 3175 default: 3176 jj_la1[99] = jj_gen; 3177 ; 3178 } 3179 ExpressionStatement(); 3180 } else { 3181 ; 3182 } 3183 } catch (Throwable jjte000) { 3184if (jjtc000) { 3185 jjtree.clearNodeScope(jjtn000); 3186 jjtc000 = false; 3187 } else { 3188 jjtree.popNode(); 3189 } 3190 if (jjte000 instanceof RuntimeException) { 3191 {if (true) throw (RuntimeException)jjte000;} 3192 } 3193 if (jjte000 instanceof ParseException) { 3194 {if (true) throw (ParseException)jjte000;} 3195 } 3196 {if (true) throw (Error)jjte000;} 3197 } finally { 3198if (jjtc000) { 3199 jjtree.closeNodeScope(jjtn000, true); 3200 jjtn000.jjtSetLastToken(getToken(0)); 3201 } 3202 } 3203 } 3204 3205 final public void Argument() throws ParseException {/*@bgen(jjtree) Argument */ 3206 ASTArgument jjtn000 = new ASTArgument(JJTARGUMENT); 3207 boolean jjtc000 = true; 3208 jjtree.openNodeScope(jjtn000); 3209 jjtn000.jjtSetFirstToken(getToken(1));Token parameterId = null; 3210 Token expression; 3211 try { 3212 if (jj_2_23(2)) { 3213 parameterId = jj_consume_token(IDENTIFIER); 3214 jj_consume_token(76); 3215 } else { 3216 ; 3217 } 3218 ExpressionStatement(); 3219jjtree.closeNodeScope(jjtn000, true); 3220 jjtc000 = false; 3221 jjtn000.jjtSetLastToken(getToken(0)); 3222if (parameterId != null) { 3223 jjtn000.setName(parameterId.image); 3224 jjtn000.setNamed(true); 3225 } 3226 } catch (Throwable jjte000) { 3227if (jjtc000) { 3228 jjtree.clearNodeScope(jjtn000); 3229 jjtc000 = false; 3230 } else { 3231 jjtree.popNode(); 3232 } 3233 if (jjte000 instanceof RuntimeException) { 3234 {if (true) throw (RuntimeException)jjte000;} 3235 } 3236 if (jjte000 instanceof ParseException) { 3237 {if (true) throw (ParseException)jjte000;} 3238 } 3239 {if (true) throw (Error)jjte000;} 3240 } finally { 3241if (jjtc000) { 3242 jjtree.closeNodeScope(jjtn000, true); 3243 jjtn000.jjtSetLastToken(getToken(0)); 3244 } 3245 } 3246 } 3247 3248 final public void Arguments() throws ParseException { 3249 jj_consume_token(78); 3250 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 3251 case NEWLINE: 3252 case COMMENT:{ 3253 BlankLine(); 3254 break; 3255 } 3256 default: 3257 jj_la1[100] = jj_gen; 3258 ; 3259 } 3260 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 3261 case MATCH: 3262 case UNARY_OPERATOR: 3263 case NUMBER: 3264 case LONG_NUMBER: 3265 case BIGINTEGER: 3266 case FLOATING_NUMBER: 3267 case FLOAT: 3268 case BIGDECIMAL: 3269 case STRING: 3270 case CHAR: 3271 case NULL: 3272 case TRUE: 3273 case FALSE: 3274 case CLASSREF: 3275 case FUNREF: 3276 case COLL_START: 3277 case MULTI_STRING: 3278 case IDENTIFIER: 3279 case 77: 3280 case 78: 3281 case 81: 3282 case 82:{ 3283 Argument(); 3284 label_26: 3285 while (true) { 3286 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 3287 case 73:{ 3288 ; 3289 break; 3290 } 3291 default: 3292 jj_la1[101] = jj_gen; 3293 break label_26; 3294 } 3295 jj_consume_token(73); 3296 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 3297 case NEWLINE: 3298 case COMMENT:{ 3299 BlankLine(); 3300 break; 3301 } 3302 default: 3303 jj_la1[102] = jj_gen; 3304 ; 3305 } 3306 Argument(); 3307 } 3308 break; 3309 } 3310 default: 3311 jj_la1[103] = jj_gen; 3312 ; 3313 } 3314 jj_consume_token(79); 3315 } 3316 3317 final public ASTAnonymousFunctionInvocation AnonymousFunctionInvocation() throws ParseException {/*@bgen(jjtree) AnonymousFunctionInvocation */ 3318 ASTAnonymousFunctionInvocation jjtn000 = new ASTAnonymousFunctionInvocation(JJTANONYMOUSFUNCTIONINVOCATION); 3319 boolean jjtc000 = true; 3320 jjtree.openNodeScope(jjtn000); 3321 jjtn000.jjtSetFirstToken(getToken(1));Token constant = null; 3322 try { 3323 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 3324 case CONSTANT_INVOCATION:{ 3325 constant = jj_consume_token(CONSTANT_INVOCATION); 3326 break; 3327 } 3328 default: 3329 jj_la1[104] = jj_gen; 3330 ; 3331 } 3332 Arguments(); 3333jjtree.closeNodeScope(jjtn000, true); 3334 jjtc000 = false; 3335 jjtn000.jjtSetLastToken(getToken(0)); 3336if (constant != null) { 3337 jjtn000.setConstant(true); 3338 } 3339 {if ("" != null) return jjtn000;} 3340 } catch (Throwable jjte000) { 3341if (jjtc000) { 3342 jjtree.clearNodeScope(jjtn000); 3343 jjtc000 = false; 3344 } else { 3345 jjtree.popNode(); 3346 } 3347 if (jjte000 instanceof RuntimeException) { 3348 {if (true) throw (RuntimeException)jjte000;} 3349 } 3350 if (jjte000 instanceof ParseException) { 3351 {if (true) throw (ParseException)jjte000;} 3352 } 3353 {if (true) throw (Error)jjte000;} 3354 } finally { 3355if (jjtc000) { 3356 jjtree.closeNodeScope(jjtn000, true); 3357 jjtn000.jjtSetLastToken(getToken(0)); 3358 } 3359 } 3360 throw new Error("Missing return statement in function"); 3361 } 3362 3363 final public void FunctionInvocation() throws ParseException {/*@bgen(jjtree) FunctionInvocation */ 3364 ASTFunctionInvocation jjtn000 = new ASTFunctionInvocation(JJTFUNCTIONINVOCATION); 3365 boolean jjtc000 = true; 3366 jjtree.openNodeScope(jjtn000); 3367 jjtn000.jjtSetFirstToken(getToken(1));String name; 3368 Token constant = null; 3369 try { 3370 name = QualifiedName(); 3371 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 3372 case CONSTANT_INVOCATION:{ 3373 constant = jj_consume_token(CONSTANT_INVOCATION); 3374 break; 3375 } 3376 default: 3377 jj_la1[105] = jj_gen; 3378 ; 3379 } 3380 Arguments(); 3381 label_27: 3382 while (true) { 3383 if (jj_2_24(2)) { 3384 ; 3385 } else { 3386 break label_27; 3387 } 3388 AnonymousFunctionInvocation(); 3389 } 3390jjtree.closeNodeScope(jjtn000, true); 3391 jjtc000 = false; 3392 jjtn000.jjtSetLastToken(getToken(0)); 3393jjtn000.setName(name); 3394 if (constant != null) { 3395 jjtn000.setConstant(true); 3396 } 3397 } catch (Throwable jjte000) { 3398if (jjtc000) { 3399 jjtree.clearNodeScope(jjtn000); 3400 jjtc000 = false; 3401 } else { 3402 jjtree.popNode(); 3403 } 3404 if (jjte000 instanceof RuntimeException) { 3405 {if (true) throw (RuntimeException)jjte000;} 3406 } 3407 if (jjte000 instanceof ParseException) { 3408 {if (true) throw (ParseException)jjte000;} 3409 } 3410 {if (true) throw (Error)jjte000;} 3411 } finally { 3412if (jjtc000) { 3413 jjtree.closeNodeScope(jjtn000, true); 3414 jjtn000.jjtSetLastToken(getToken(0)); 3415 } 3416 } 3417 } 3418 3419 final public void ConditionalBranching() throws ParseException {/*@bgen(jjtree) ConditionalBranching */ 3420 ASTConditionalBranching jjtn000 = new ASTConditionalBranching(JJTCONDITIONALBRANCHING); 3421 boolean jjtc000 = true; 3422 jjtree.openNodeScope(jjtn000); 3423 jjtn000.jjtSetFirstToken(getToken(1)); 3424 try { 3425 jj_consume_token(IF); 3426 ExpressionStatement(); 3427 Block(); 3428 if (jj_2_25(2147483647)) { 3429 jj_consume_token(ELSE); 3430 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 3431 case IF:{ 3432 ConditionalBranching(); 3433 break; 3434 } 3435 case 77:{ 3436 Block(); 3437 break; 3438 } 3439 default: 3440 jj_la1[106] = jj_gen; 3441 jj_consume_token(-1); 3442 throw new ParseException(); 3443 } 3444 } else { 3445 ; 3446 } 3447 } catch (Throwable jjte000) { 3448if (jjtc000) { 3449 jjtree.clearNodeScope(jjtn000); 3450 jjtc000 = false; 3451 } else { 3452 jjtree.popNode(); 3453 } 3454 if (jjte000 instanceof RuntimeException) { 3455 {if (true) throw (RuntimeException)jjte000;} 3456 } 3457 if (jjte000 instanceof ParseException) { 3458 {if (true) throw (ParseException)jjte000;} 3459 } 3460 {if (true) throw (Error)jjte000;} 3461 } finally { 3462if (jjtc000) { 3463 jjtree.closeNodeScope(jjtn000, true); 3464 jjtn000.jjtSetLastToken(getToken(0)); 3465 } 3466 } 3467 } 3468 3469 final public void Case() throws ParseException {/*@bgen(jjtree) Case */ 3470 ASTCase jjtn000 = new ASTCase(JJTCASE); 3471 boolean jjtc000 = true; 3472 jjtree.openNodeScope(jjtn000); 3473 jjtn000.jjtSetFirstToken(getToken(1)); 3474 try { 3475 jj_consume_token(CASE); 3476 jj_consume_token(77); 3477 BlankLines(); 3478 label_28: 3479 while (true) { 3480 jj_consume_token(WHEN); 3481 ExpressionStatement(); 3482 Block(); 3483 BlankLines(); 3484 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 3485 case WHEN:{ 3486 ; 3487 break; 3488 } 3489 default: 3490 jj_la1[107] = jj_gen; 3491 break label_28; 3492 } 3493 } 3494 jj_consume_token(OTHERWISE); 3495 Block(); 3496 BlankLines(); 3497 jj_consume_token(75); 3498 } catch (Throwable jjte000) { 3499if (jjtc000) { 3500 jjtree.clearNodeScope(jjtn000); 3501 jjtc000 = false; 3502 } else { 3503 jjtree.popNode(); 3504 } 3505 if (jjte000 instanceof RuntimeException) { 3506 {if (true) throw (RuntimeException)jjte000;} 3507 } 3508 if (jjte000 instanceof ParseException) { 3509 {if (true) throw (ParseException)jjte000;} 3510 } 3511 {if (true) throw (Error)jjte000;} 3512 } finally { 3513if (jjtc000) { 3514 jjtree.closeNodeScope(jjtn000, true); 3515 jjtn000.jjtSetLastToken(getToken(0)); 3516 } 3517 } 3518 } 3519 3520 final public void Match() throws ParseException {/*@bgen(jjtree) Match */ 3521 ASTMatch jjtn000 = new ASTMatch(JJTMATCH); 3522 boolean jjtc000 = true; 3523 jjtree.openNodeScope(jjtn000); 3524 jjtn000.jjtSetFirstToken(getToken(1)); 3525 try { 3526 jj_consume_token(MATCH); 3527 jj_consume_token(77); 3528 BlankLines(); 3529 label_29: 3530 while (true) { 3531 jj_consume_token(WHEN); 3532 BlankLines(); 3533 ExpressionStatement(); 3534 BlankLines(); 3535 jj_consume_token(THEN); 3536 BlankLines(); 3537 ExpressionStatement(); 3538 BlankLines(); 3539 switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) { 3540 case WHEN:{ 3541 ; 3542 break; 3543 } 3544 default: 3545 jj_la1[108] = jj_gen; 3546 break label_29; 3547 } 3548 } 3549 jj_consume_token(OTHERWISE); 3550 BlankLines(); 3551 ExpressionStatement(); 3552 BlankLines(); 3553 jj_consume_token(75); 3554 } catch (Throwable jjte000) { 3555if (jjtc000) { 3556 jjtree.clearNodeScope(jjtn000); 3557 jjtc000 = false; 3558 } else { 3559 jjtree.popNode(); 3560 } 3561 if (jjte000 instanceof RuntimeException) { 3562 {if (true) throw (RuntimeException)jjte000;} 3563 } 3564 if (jjte000 instanceof ParseException) { 3565 {if (true) throw (ParseException)jjte000;} 3566 } 3567 {if (true) throw (Error)jjte000;} 3568 } finally { 3569if (jjtc000) { 3570 jjtree.closeNodeScope(jjtn000, true); 3571 jjtn000.jjtSetLastToken(getToken(0)); 3572 } 3573 } 3574 } 3575 3576 private boolean jj_2_1(int xla) 3577 { 3578 jj_la = xla; jj_lastpos = jj_scanpos = token; 3579 try { return !jj_3_1(); } 3580 catch(LookaheadSuccess ls) { return true; } 3581 finally { jj_save(0, xla); } 3582 } 3583 3584 private boolean jj_2_2(int xla) 3585 { 3586 jj_la = xla; jj_lastpos = jj_scanpos = token; 3587 try { return !jj_3_2(); } 3588 catch(LookaheadSuccess ls) { return true; } 3589 finally { jj_save(1, xla); } 3590 } 3591 3592 private boolean jj_2_3(int xla) 3593 { 3594 jj_la = xla; jj_lastpos = jj_scanpos = token; 3595 try { return !jj_3_3(); } 3596 catch(LookaheadSuccess ls) { return true; } 3597 finally { jj_save(2, xla); } 3598 } 3599 3600 private boolean jj_2_4(int xla) 3601 { 3602 jj_la = xla; jj_lastpos = jj_scanpos = token; 3603 try { return !jj_3_4(); } 3604 catch(LookaheadSuccess ls) { return true; } 3605 finally { jj_save(3, xla); } 3606 } 3607 3608 private boolean jj_2_5(int xla) 3609 { 3610 jj_la = xla; jj_lastpos = jj_scanpos = token; 3611 try { return !jj_3_5(); } 3612 catch(LookaheadSuccess ls) { return true; } 3613 finally { jj_save(4, xla); } 3614 } 3615 3616 private boolean jj_2_6(int xla) 3617 { 3618 jj_la = xla; jj_lastpos = jj_scanpos = token; 3619 try { return !jj_3_6(); } 3620 catch(LookaheadSuccess ls) { return true; } 3621 finally { jj_save(5, xla); } 3622 } 3623 3624 private boolean jj_2_7(int xla) 3625 { 3626 jj_la = xla; jj_lastpos = jj_scanpos = token; 3627 try { return !jj_3_7(); } 3628 catch(LookaheadSuccess ls) { return true; } 3629 finally { jj_save(6, xla); } 3630 } 3631 3632 private boolean jj_2_8(int xla) 3633 { 3634 jj_la = xla; jj_lastpos = jj_scanpos = token; 3635 try { return !jj_3_8(); } 3636 catch(LookaheadSuccess ls) { return true; } 3637 finally { jj_save(7, xla); } 3638 } 3639 3640 private boolean jj_2_9(int xla) 3641 { 3642 jj_la = xla; jj_lastpos = jj_scanpos = token; 3643 try { return !jj_3_9(); } 3644 catch(LookaheadSuccess ls) { return true; } 3645 finally { jj_save(8, xla); } 3646 } 3647 3648 private boolean jj_2_10(int xla) 3649 { 3650 jj_la = xla; jj_lastpos = jj_scanpos = token; 3651 try { return !jj_3_10(); } 3652 catch(LookaheadSuccess ls) { return true; } 3653 finally { jj_save(9, xla); } 3654 } 3655 3656 private boolean jj_2_11(int xla) 3657 { 3658 jj_la = xla; jj_lastpos = jj_scanpos = token; 3659 try { return !jj_3_11(); } 3660 catch(LookaheadSuccess ls) { return true; } 3661 finally { jj_save(10, xla); } 3662 } 3663 3664 private boolean jj_2_12(int xla) 3665 { 3666 jj_la = xla; jj_lastpos = jj_scanpos = token; 3667 try { return !jj_3_12(); } 3668 catch(LookaheadSuccess ls) { return true; } 3669 finally { jj_save(11, xla); } 3670 } 3671 3672 private boolean jj_2_13(int xla) 3673 { 3674 jj_la = xla; jj_lastpos = jj_scanpos = token; 3675 try { return !jj_3_13(); } 3676 catch(LookaheadSuccess ls) { return true; } 3677 finally { jj_save(12, xla); } 3678 } 3679 3680 private boolean jj_2_14(int xla) 3681 { 3682 jj_la = xla; jj_lastpos = jj_scanpos = token; 3683 try { return !jj_3_14(); } 3684 catch(LookaheadSuccess ls) { return true; } 3685 finally { jj_save(13, xla); } 3686 } 3687 3688 private boolean jj_2_15(int xla) 3689 { 3690 jj_la = xla; jj_lastpos = jj_scanpos = token; 3691 try { return !jj_3_15(); } 3692 catch(LookaheadSuccess ls) { return true; } 3693 finally { jj_save(14, xla); } 3694 } 3695 3696 private boolean jj_2_16(int xla) 3697 { 3698 jj_la = xla; jj_lastpos = jj_scanpos = token; 3699 try { return !jj_3_16(); } 3700 catch(LookaheadSuccess ls) { return true; } 3701 finally { jj_save(15, xla); } 3702 } 3703 3704 private boolean jj_2_17(int xla) 3705 { 3706 jj_la = xla; jj_lastpos = jj_scanpos = token; 3707 try { return !jj_3_17(); } 3708 catch(LookaheadSuccess ls) { return true; } 3709 finally { jj_save(16, xla); } 3710 } 3711 3712 private boolean jj_2_18(int xla) 3713 { 3714 jj_la = xla; jj_lastpos = jj_scanpos = token; 3715 try { return !jj_3_18(); } 3716 catch(LookaheadSuccess ls) { return true; } 3717 finally { jj_save(17, xla); } 3718 } 3719 3720 private boolean jj_2_19(int xla) 3721 { 3722 jj_la = xla; jj_lastpos = jj_scanpos = token; 3723 try { return !jj_3_19(); } 3724 catch(LookaheadSuccess ls) { return true; } 3725 finally { jj_save(18, xla); } 3726 } 3727 3728 private boolean jj_2_20(int xla) 3729 { 3730 jj_la = xla; jj_lastpos = jj_scanpos = token; 3731 try { return !jj_3_20(); } 3732 catch(LookaheadSuccess ls) { return true; } 3733 finally { jj_save(19, xla); } 3734 } 3735 3736 private boolean jj_2_21(int xla) 3737 { 3738 jj_la = xla; jj_lastpos = jj_scanpos = token; 3739 try { return !jj_3_21(); } 3740 catch(LookaheadSuccess ls) { return true; } 3741 finally { jj_save(20, xla); } 3742 } 3743 3744 private boolean jj_2_22(int xla) 3745 { 3746 jj_la = xla; jj_lastpos = jj_scanpos = token; 3747 try { return !jj_3_22(); } 3748 catch(LookaheadSuccess ls) { return true; } 3749 finally { jj_save(21, xla); } 3750 } 3751 3752 private boolean jj_2_23(int xla) 3753 { 3754 jj_la = xla; jj_lastpos = jj_scanpos = token; 3755 try { return !jj_3_23(); } 3756 catch(LookaheadSuccess ls) { return true; } 3757 finally { jj_save(22, xla); } 3758 } 3759 3760 private boolean jj_2_24(int xla) 3761 { 3762 jj_la = xla; jj_lastpos = jj_scanpos = token; 3763 try { return !jj_3_24(); } 3764 catch(LookaheadSuccess ls) { return true; } 3765 finally { jj_save(23, xla); } 3766 } 3767 3768 private boolean jj_2_25(int xla) 3769 { 3770 jj_la = xla; jj_lastpos = jj_scanpos = token; 3771 try { return !jj_3_25(); } 3772 catch(LookaheadSuccess ls) { return true; } 3773 finally { jj_save(24, xla); } 3774 } 3775 3776 private boolean jj_3R_127() 3777 { 3778 if (jj_3R_77()) return true; 3779 return false; 3780 } 3781 3782 private boolean jj_3R_87() 3783 { 3784 if (jj_scan_token(73)) return true; 3785 Token xsp; 3786 xsp = jj_scanpos; 3787 if (jj_3R_127()) jj_scanpos = xsp; 3788 if (jj_scan_token(IDENTIFIER)) return true; 3789 return false; 3790 } 3791 3792 private boolean jj_3R_74() 3793 { 3794 if (jj_scan_token(IDENTIFIER)) return true; 3795 Token xsp; 3796 if (jj_3R_87()) return true; 3797 while (true) { 3798 xsp = jj_scanpos; 3799 if (jj_3R_87()) { jj_scanpos = xsp; break; } 3800 } 3801 return false; 3802 } 3803 3804 private boolean jj_3R_134() 3805 { 3806 if (jj_scan_token(TRY)) return true; 3807 return false; 3808 } 3809 3810 private boolean jj_3_9() 3811 { 3812 if (jj_3R_35()) return true; 3813 return false; 3814 } 3815 3816 private boolean jj_3R_39() 3817 { 3818 if (jj_scan_token(78)) return true; 3819 if (jj_3R_74()) return true; 3820 return false; 3821 } 3822 3823 private boolean jj_3R_38() 3824 { 3825 if (jj_3R_74()) return true; 3826 return false; 3827 } 3828 3829 private boolean jj_3R_70() 3830 { 3831 if (jj_3R_74()) return true; 3832 return false; 3833 } 3834 3835 private boolean jj_3_8() 3836 { 3837 Token xsp; 3838 xsp = jj_scanpos; 3839 if (jj_3R_38()) { 3840 jj_scanpos = xsp; 3841 if (jj_3R_39()) return true; 3842 } 3843 return false; 3844 } 3845 3846 private boolean jj_3R_37() 3847 { 3848 if (jj_scan_token(78)) return true; 3849 if (jj_scan_token(IDENTIFIER)) return true; 3850 return false; 3851 } 3852 3853 private boolean jj_3R_69() 3854 { 3855 if (jj_scan_token(VAR)) return true; 3856 if (jj_3R_74()) return true; 3857 return false; 3858 } 3859 3860 private boolean jj_3R_36() 3861 { 3862 if (jj_scan_token(IDENTIFIER)) return true; 3863 if (jj_scan_token(IN)) return true; 3864 return false; 3865 } 3866 3867 private boolean jj_3_7() 3868 { 3869 Token xsp; 3870 xsp = jj_scanpos; 3871 if (jj_3R_36()) { 3872 jj_scanpos = xsp; 3873 if (jj_3R_37()) return true; 3874 } 3875 return false; 3876 } 3877 3878 private boolean jj_3R_132() 3879 { 3880 if (jj_scan_token(FOREACH)) return true; 3881 return false; 3882 } 3883 3884 private boolean jj_3R_68() 3885 { 3886 if (jj_scan_token(LET)) return true; 3887 if (jj_3R_74()) return true; 3888 return false; 3889 } 3890 3891 private boolean jj_3R_33() 3892 { 3893 Token xsp; 3894 xsp = jj_scanpos; 3895 if (jj_3R_68()) { 3896 jj_scanpos = xsp; 3897 if (jj_3R_69()) { 3898 jj_scanpos = xsp; 3899 if (jj_3R_70()) return true; 3900 } 3901 } 3902 return false; 3903 } 3904 3905 private boolean jj_3_6() 3906 { 3907 if (jj_3R_35()) return true; 3908 return false; 3909 } 3910 3911 private boolean jj_3R_31() 3912 { 3913 if (jj_scan_token(IDENTIFIER)) return true; 3914 return false; 3915 } 3916 3917 private boolean jj_3R_131() 3918 { 3919 if (jj_scan_token(FOR)) return true; 3920 return false; 3921 } 3922 3923 private boolean jj_3R_130() 3924 { 3925 if (jj_scan_token(WHILE)) return true; 3926 return false; 3927 } 3928 3929 private boolean jj_3R_133() 3930 { 3931 if (jj_scan_token(THROW)) return true; 3932 return false; 3933 } 3934 3935 private boolean jj_3R_125() 3936 { 3937 if (jj_3R_77()) return true; 3938 return false; 3939 } 3940 3941 private boolean jj_3R_137() 3942 { 3943 if (jj_scan_token(BREAK)) return true; 3944 return false; 3945 } 3946 3947 private boolean jj_3R_136() 3948 { 3949 if (jj_scan_token(CONTINUE)) return true; 3950 return false; 3951 } 3952 3953 private boolean jj_3R_147() 3954 { 3955 if (jj_scan_token(FUNREF)) return true; 3956 return false; 3957 } 3958 3959 private boolean jj_3R_107() 3960 { 3961 if (jj_3R_137()) return true; 3962 return false; 3963 } 3964 3965 private boolean jj_3R_106() 3966 { 3967 if (jj_3R_136()) return true; 3968 return false; 3969 } 3970 3971 private boolean jj_3R_105() 3972 { 3973 if (jj_3R_135()) return true; 3974 return false; 3975 } 3976 3977 private boolean jj_3R_126() 3978 { 3979 if (jj_3R_66()) return true; 3980 return false; 3981 } 3982 3983 private boolean jj_3R_104() 3984 { 3985 if (jj_3R_134()) return true; 3986 return false; 3987 } 3988 3989 private boolean jj_3R_103() 3990 { 3991 if (jj_3R_133()) return true; 3992 return false; 3993 } 3994 3995 private boolean jj_3R_94() 3996 { 3997 if (jj_scan_token(COLL_START)) return true; 3998 Token xsp; 3999 xsp = jj_scanpos; 4000 if (jj_3R_125()) jj_scanpos = xsp; 4001 xsp = jj_scanpos; 4002 if (jj_3R_126()) jj_scanpos = xsp; 4003 if (jj_scan_token(84)) return true; 4004 return false; 4005 } 4006 4007 private boolean jj_3R_102() 4008 { 4009 if (jj_3R_132()) return true; 4010 return false; 4011 } 4012 4013 private boolean jj_3R_141() 4014 { 4015 if (jj_scan_token(BIGDECIMAL)) return true; 4016 return false; 4017 } 4018 4019 private boolean jj_3R_101() 4020 { 4021 if (jj_3R_131()) return true; 4022 return false; 4023 } 4024 4025 private boolean jj_3R_100() 4026 { 4027 if (jj_3R_130()) return true; 4028 return false; 4029 } 4030 4031 private boolean jj_3R_99() 4032 { 4033 if (jj_3R_129()) return true; 4034 return false; 4035 } 4036 4037 private boolean jj_3R_98() 4038 { 4039 if (jj_3R_128()) return true; 4040 return false; 4041 } 4042 4043 private boolean jj_3R_97() 4044 { 4045 if (jj_3R_66()) return true; 4046 return false; 4047 } 4048 4049 private boolean jj_3R_121() 4050 { 4051 if (jj_3R_147()) return true; 4052 return false; 4053 } 4054 4055 private boolean jj_3_5() 4056 { 4057 if (jj_3R_34()) return true; 4058 return false; 4059 } 4060 4061 private boolean jj_3R_143() 4062 { 4063 if (jj_scan_token(FLOAT)) return true; 4064 return false; 4065 } 4066 4067 private boolean jj_3_4() 4068 { 4069 if (jj_3R_33()) return true; 4070 return false; 4071 } 4072 4073 private boolean jj_3R_120() 4074 { 4075 if (jj_scan_token(FALSE)) return true; 4076 return false; 4077 } 4078 4079 private boolean jj_3_3() 4080 { 4081 if (jj_3R_32()) return true; 4082 return false; 4083 } 4084 4085 private boolean jj_3R_86() 4086 { 4087 Token xsp; 4088 xsp = jj_scanpos; 4089 if (jj_3R_96()) { 4090 jj_scanpos = xsp; 4091 if (jj_3_3()) { 4092 jj_scanpos = xsp; 4093 if (jj_3_4()) { 4094 jj_scanpos = xsp; 4095 if (jj_3_5()) { 4096 jj_scanpos = xsp; 4097 if (jj_3R_97()) { 4098 jj_scanpos = xsp; 4099 if (jj_3R_98()) { 4100 jj_scanpos = xsp; 4101 if (jj_3R_99()) { 4102 jj_scanpos = xsp; 4103 if (jj_3R_100()) { 4104 jj_scanpos = xsp; 4105 if (jj_3R_101()) { 4106 jj_scanpos = xsp; 4107 if (jj_3R_102()) { 4108 jj_scanpos = xsp; 4109 if (jj_3R_103()) { 4110 jj_scanpos = xsp; 4111 if (jj_3R_104()) { 4112 jj_scanpos = xsp; 4113 if (jj_3R_105()) { 4114 jj_scanpos = xsp; 4115 if (jj_3R_106()) { 4116 jj_scanpos = xsp; 4117 if (jj_3R_107()) return true; 4118 } 4119 } 4120 } 4121 } 4122 } 4123 } 4124 } 4125 } 4126 } 4127 } 4128 } 4129 } 4130 } 4131 } 4132 return false; 4133 } 4134 4135 private boolean jj_3R_96() 4136 { 4137 if (jj_3R_77()) return true; 4138 return false; 4139 } 4140 4141 private boolean jj_3R_119() 4142 { 4143 if (jj_scan_token(TRUE)) return true; 4144 return false; 4145 } 4146 4147 private boolean jj_3R_144() 4148 { 4149 if (jj_scan_token(FLOATING_NUMBER)) return true; 4150 return false; 4151 } 4152 4153 private boolean jj_3R_118() 4154 { 4155 if (jj_scan_token(NULL)) return true; 4156 return false; 4157 } 4158 4159 private boolean jj_3R_117() 4160 { 4161 if (jj_3R_146()) return true; 4162 return false; 4163 } 4164 4165 private boolean jj_3_2() 4166 { 4167 if (jj_3R_31()) return true; 4168 return false; 4169 } 4170 4171 private boolean jj_3_1() 4172 { 4173 if (jj_3R_30()) return true; 4174 return false; 4175 } 4176 4177 private boolean jj_3R_116() 4178 { 4179 if (jj_3R_145()) return true; 4180 return false; 4181 } 4182 4183 private boolean jj_3R_138() 4184 { 4185 if (jj_scan_token(CLASSREF)) return true; 4186 return false; 4187 } 4188 4189 private boolean jj_3R_115() 4190 { 4191 if (jj_3R_144()) return true; 4192 return false; 4193 } 4194 4195 private boolean jj_3R_114() 4196 { 4197 if (jj_3R_143()) return true; 4198 return false; 4199 } 4200 4201 private boolean jj_3R_146() 4202 { 4203 if (jj_scan_token(NUMBER)) return true; 4204 return false; 4205 } 4206 4207 private boolean jj_3R_113() 4208 { 4209 if (jj_3R_142()) return true; 4210 return false; 4211 } 4212 4213 private boolean jj_3R_112() 4214 { 4215 if (jj_3R_141()) return true; 4216 return false; 4217 } 4218 4219 private boolean jj_3R_111() 4220 { 4221 if (jj_3R_140()) return true; 4222 return false; 4223 } 4224 4225 private boolean jj_3R_142() 4226 { 4227 if (jj_scan_token(BIGINTEGER)) return true; 4228 return false; 4229 } 4230 4231 private boolean jj_3R_110() 4232 { 4233 if (jj_3R_139()) return true; 4234 return false; 4235 } 4236 4237 private boolean jj_3R_109() 4238 { 4239 if (jj_3R_138()) return true; 4240 return false; 4241 } 4242 4243 private boolean jj_3R_92() 4244 { 4245 Token xsp; 4246 xsp = jj_scanpos; 4247 if (jj_3R_109()) { 4248 jj_scanpos = xsp; 4249 if (jj_3R_110()) { 4250 jj_scanpos = xsp; 4251 if (jj_3R_111()) { 4252 jj_scanpos = xsp; 4253 if (jj_3R_112()) { 4254 jj_scanpos = xsp; 4255 if (jj_3R_113()) { 4256 jj_scanpos = xsp; 4257 if (jj_3R_114()) { 4258 jj_scanpos = xsp; 4259 if (jj_3R_115()) { 4260 jj_scanpos = xsp; 4261 if (jj_3R_116()) { 4262 jj_scanpos = xsp; 4263 if (jj_3R_117()) { 4264 jj_scanpos = xsp; 4265 if (jj_3R_118()) { 4266 jj_scanpos = xsp; 4267 if (jj_3R_119()) { 4268 jj_scanpos = xsp; 4269 if (jj_3R_120()) { 4270 jj_scanpos = xsp; 4271 if (jj_3R_121()) return true; 4272 } 4273 } 4274 } 4275 } 4276 } 4277 } 4278 } 4279 } 4280 } 4281 } 4282 } 4283 } 4284 return false; 4285 } 4286 4287 private boolean jj_3R_145() 4288 { 4289 if (jj_scan_token(LONG_NUMBER)) return true; 4290 return false; 4291 } 4292 4293 private boolean jj_3R_149() 4294 { 4295 if (jj_3R_77()) return true; 4296 return false; 4297 } 4298 4299 private boolean jj_3R_140() 4300 { 4301 if (jj_scan_token(CHAR)) return true; 4302 return false; 4303 } 4304 4305 private boolean jj_3R_124() 4306 { 4307 if (jj_scan_token(82)) return true; 4308 Token xsp; 4309 xsp = jj_scanpos; 4310 if (jj_3R_149()) jj_scanpos = xsp; 4311 if (jj_3R_66()) return true; 4312 return false; 4313 } 4314 4315 private boolean jj_3R_63() 4316 { 4317 if (jj_3R_77()) return true; 4318 return false; 4319 } 4320 4321 private boolean jj_3R_123() 4322 { 4323 if (jj_3R_35()) return true; 4324 return false; 4325 } 4326 4327 private boolean jj_3R_122() 4328 { 4329 if (jj_scan_token(81)) return true; 4330 if (jj_3R_148()) return true; 4331 return false; 4332 } 4333 4334 private boolean jj_3R_93() 4335 { 4336 Token xsp; 4337 xsp = jj_scanpos; 4338 if (jj_3R_122()) jj_scanpos = xsp; 4339 xsp = jj_scanpos; 4340 if (jj_3R_123()) { 4341 jj_scanpos = xsp; 4342 if (jj_3R_124()) return true; 4343 } 4344 return false; 4345 } 4346 4347 private boolean jj_3R_151() 4348 { 4349 if (jj_scan_token(MULTI_STRING)) return true; 4350 return false; 4351 } 4352 4353 private boolean jj_3R_150() 4354 { 4355 if (jj_scan_token(STRING)) return true; 4356 return false; 4357 } 4358 4359 private boolean jj_3R_139() 4360 { 4361 Token xsp; 4362 xsp = jj_scanpos; 4363 if (jj_3R_150()) { 4364 jj_scanpos = xsp; 4365 if (jj_3R_151()) return true; 4366 } 4367 return false; 4368 } 4369 4370 private boolean jj_3R_60() 4371 { 4372 if (jj_3R_77()) return true; 4373 return false; 4374 } 4375 4376 private boolean jj_3R_73() 4377 { 4378 if (jj_3R_86()) return true; 4379 return false; 4380 } 4381 4382 private boolean jj_3R_35() 4383 { 4384 if (jj_scan_token(77)) return true; 4385 Token xsp; 4386 while (true) { 4387 xsp = jj_scanpos; 4388 if (jj_3R_73()) { jj_scanpos = xsp; break; } 4389 } 4390 if (jj_scan_token(75)) return true; 4391 return false; 4392 } 4393 4394 private boolean jj_3R_57() 4395 { 4396 if (jj_3R_77()) return true; 4397 return false; 4398 } 4399 4400 private boolean jj_3R_62() 4401 { 4402 if (jj_3R_77()) return true; 4403 return false; 4404 } 4405 4406 private boolean jj_3_21() 4407 { 4408 if (jj_3R_44()) return true; 4409 return false; 4410 } 4411 4412 private boolean jj_3R_54() 4413 { 4414 if (jj_3R_77()) return true; 4415 return false; 4416 } 4417 4418 private boolean jj_3R_43() 4419 { 4420 if (jj_scan_token(IDENTIFIER)) return true; 4421 return false; 4422 } 4423 4424 private boolean jj_3_20() 4425 { 4426 Token xsp; 4427 xsp = jj_scanpos; 4428 if (jj_3R_62()) jj_scanpos = xsp; 4429 if (jj_scan_token(OR_IFNULL_OPERATOR)) return true; 4430 xsp = jj_scanpos; 4431 if (jj_3R_63()) jj_scanpos = xsp; 4432 if (jj_3R_64()) return true; 4433 return false; 4434 } 4435 4436 private boolean jj_3R_59() 4437 { 4438 if (jj_3R_77()) return true; 4439 return false; 4440 } 4441 4442 private boolean jj_3R_51() 4443 { 4444 if (jj_3R_77()) return true; 4445 return false; 4446 } 4447 4448 private boolean jj_3R_79() 4449 { 4450 if (jj_3R_64()) return true; 4451 Token xsp; 4452 while (true) { 4453 xsp = jj_scanpos; 4454 if (jj_3_20()) { jj_scanpos = xsp; break; } 4455 } 4456 return false; 4457 } 4458 4459 private boolean jj_3R_148() 4460 { 4461 if (jj_scan_token(IDENTIFIER)) return true; 4462 return false; 4463 } 4464 4465 private boolean jj_3_19() 4466 { 4467 Token xsp; 4468 xsp = jj_scanpos; 4469 if (jj_3R_59()) jj_scanpos = xsp; 4470 if (jj_scan_token(OR_OPERATOR)) return true; 4471 xsp = jj_scanpos; 4472 if (jj_3R_60()) jj_scanpos = xsp; 4473 if (jj_3R_61()) return true; 4474 return false; 4475 } 4476 4477 private boolean jj_3R_56() 4478 { 4479 if (jj_3R_77()) return true; 4480 return false; 4481 } 4482 4483 private boolean jj_3R_48() 4484 { 4485 if (jj_3R_77()) return true; 4486 return false; 4487 } 4488 4489 private boolean jj_3R_64() 4490 { 4491 if (jj_3R_61()) return true; 4492 Token xsp; 4493 while (true) { 4494 xsp = jj_scanpos; 4495 if (jj_3_19()) { jj_scanpos = xsp; break; } 4496 } 4497 return false; 4498 } 4499 4500 private boolean jj_3R_88() 4501 { 4502 if (jj_scan_token(72)) return true; 4503 return false; 4504 } 4505 4506 private boolean jj_3R_46() 4507 { 4508 if (jj_3R_77()) return true; 4509 return false; 4510 } 4511 4512 private boolean jj_3R_75() 4513 { 4514 if (jj_scan_token(IDENTIFIER)) return true; 4515 Token xsp; 4516 while (true) { 4517 xsp = jj_scanpos; 4518 if (jj_3R_88()) { jj_scanpos = xsp; break; } 4519 } 4520 return false; 4521 } 4522 4523 private boolean jj_3R_53() 4524 { 4525 if (jj_3R_77()) return true; 4526 return false; 4527 } 4528 4529 private boolean jj_3_18() 4530 { 4531 Token xsp; 4532 xsp = jj_scanpos; 4533 if (jj_3R_56()) jj_scanpos = xsp; 4534 if (jj_scan_token(AND_OPERATOR)) return true; 4535 xsp = jj_scanpos; 4536 if (jj_3R_57()) jj_scanpos = xsp; 4537 if (jj_3R_58()) return true; 4538 return false; 4539 } 4540 4541 private boolean jj_3R_61() 4542 { 4543 if (jj_3R_58()) return true; 4544 Token xsp; 4545 while (true) { 4546 xsp = jj_scanpos; 4547 if (jj_3_18()) { jj_scanpos = xsp; break; } 4548 } 4549 return false; 4550 } 4551 4552 private boolean jj_3R_91() 4553 { 4554 if (jj_scan_token(MATCH)) return true; 4555 if (jj_scan_token(77)) return true; 4556 return false; 4557 } 4558 4559 private boolean jj_3R_50() 4560 { 4561 if (jj_3R_77()) return true; 4562 return false; 4563 } 4564 4565 private boolean jj_3_17() 4566 { 4567 Token xsp; 4568 xsp = jj_scanpos; 4569 if (jj_3R_53()) jj_scanpos = xsp; 4570 if (jj_scan_token(EQUALITY_OPERATOR)) return true; 4571 xsp = jj_scanpos; 4572 if (jj_3R_54()) jj_scanpos = xsp; 4573 if (jj_3R_55()) return true; 4574 return false; 4575 } 4576 4577 private boolean jj_3R_77() 4578 { 4579 Token xsp; 4580 xsp = jj_scanpos; 4581 if (jj_scan_token(5)) { 4582 jj_scanpos = xsp; 4583 if (jj_scan_token(67)) return true; 4584 } 4585 return false; 4586 } 4587 4588 private boolean jj_3_25() 4589 { 4590 if (jj_scan_token(ELSE)) return true; 4591 return false; 4592 } 4593 4594 private boolean jj_3R_135() 4595 { 4596 if (jj_scan_token(CASE)) return true; 4597 return false; 4598 } 4599 4600 private boolean jj_3R_58() 4601 { 4602 if (jj_3R_55()) return true; 4603 Token xsp; 4604 xsp = jj_scanpos; 4605 if (jj_3_17()) jj_scanpos = xsp; 4606 return false; 4607 } 4608 4609 private boolean jj_3R_42() 4610 { 4611 if (jj_3R_77()) return true; 4612 return false; 4613 } 4614 4615 private boolean jj_3R_47() 4616 { 4617 if (jj_3R_77()) return true; 4618 return false; 4619 } 4620 4621 private boolean jj_3_16() 4622 { 4623 Token xsp; 4624 xsp = jj_scanpos; 4625 if (jj_3R_50()) jj_scanpos = xsp; 4626 if (jj_scan_token(RELATIONAL_OPERATOR)) return true; 4627 xsp = jj_scanpos; 4628 if (jj_3R_51()) jj_scanpos = xsp; 4629 if (jj_3R_52()) return true; 4630 return false; 4631 } 4632 4633 private boolean jj_3R_129() 4634 { 4635 if (jj_scan_token(IF)) return true; 4636 return false; 4637 } 4638 4639 private boolean jj_3R_55() 4640 { 4641 if (jj_3R_52()) return true; 4642 Token xsp; 4643 xsp = jj_scanpos; 4644 if (jj_3_16()) jj_scanpos = xsp; 4645 return false; 4646 } 4647 4648 private boolean jj_3_24() 4649 { 4650 if (jj_3R_44()) return true; 4651 return false; 4652 } 4653 4654 private boolean jj_3R_40() 4655 { 4656 if (jj_3R_75()) return true; 4657 Token xsp; 4658 xsp = jj_scanpos; 4659 if (jj_scan_token(43)) jj_scanpos = xsp; 4660 if (jj_3R_76()) return true; 4661 return false; 4662 } 4663 4664 private boolean jj_3R_45() 4665 { 4666 if (jj_3R_77()) return true; 4667 return false; 4668 } 4669 4670 private boolean jj_3_15() 4671 { 4672 Token xsp; 4673 xsp = jj_scanpos; 4674 if (jj_3R_47()) jj_scanpos = xsp; 4675 if (jj_scan_token(ADDITIVE_OPERATOR)) return true; 4676 xsp = jj_scanpos; 4677 if (jj_3R_48()) jj_scanpos = xsp; 4678 if (jj_3R_49()) return true; 4679 return false; 4680 } 4681 4682 private boolean jj_3R_90() 4683 { 4684 if (jj_3R_108()) return true; 4685 return false; 4686 } 4687 4688 private boolean jj_3R_52() 4689 { 4690 if (jj_3R_49()) return true; 4691 Token xsp; 4692 while (true) { 4693 xsp = jj_scanpos; 4694 if (jj_3_15()) { jj_scanpos = xsp; break; } 4695 } 4696 return false; 4697 } 4698 4699 private boolean jj_3_14() 4700 { 4701 Token xsp; 4702 xsp = jj_scanpos; 4703 if (jj_3R_45()) jj_scanpos = xsp; 4704 if (jj_scan_token(MULTIPLICATIVE_OPERATOR)) return true; 4705 xsp = jj_scanpos; 4706 if (jj_3R_46()) jj_scanpos = xsp; 4707 if (jj_3R_30()) return true; 4708 return false; 4709 } 4710 4711 private boolean jj_3R_44() 4712 { 4713 Token xsp; 4714 xsp = jj_scanpos; 4715 if (jj_scan_token(43)) jj_scanpos = xsp; 4716 if (jj_3R_76()) return true; 4717 return false; 4718 } 4719 4720 private boolean jj_3R_89() 4721 { 4722 if (jj_3R_77()) return true; 4723 return false; 4724 } 4725 4726 private boolean jj_3R_49() 4727 { 4728 if (jj_3R_78()) return true; 4729 Token xsp; 4730 while (true) { 4731 xsp = jj_scanpos; 4732 if (jj_3_14()) { jj_scanpos = xsp; break; } 4733 } 4734 return false; 4735 } 4736 4737 private boolean jj_3R_65() 4738 { 4739 if (jj_3R_77()) return true; 4740 return false; 4741 } 4742 4743 private boolean jj_3R_41() 4744 { 4745 if (jj_3R_77()) return true; 4746 return false; 4747 } 4748 4749 private boolean jj_3R_76() 4750 { 4751 if (jj_scan_token(78)) return true; 4752 Token xsp; 4753 xsp = jj_scanpos; 4754 if (jj_3R_89()) jj_scanpos = xsp; 4755 xsp = jj_scanpos; 4756 if (jj_3R_90()) jj_scanpos = xsp; 4757 if (jj_scan_token(79)) return true; 4758 return false; 4759 } 4760 4761 private boolean jj_3_13() 4762 { 4763 if (jj_3R_44()) return true; 4764 return false; 4765 } 4766 4767 private boolean jj_3_22() 4768 { 4769 Token xsp; 4770 xsp = jj_scanpos; 4771 if (jj_3R_65()) jj_scanpos = xsp; 4772 if (jj_3R_66()) return true; 4773 return false; 4774 } 4775 4776 private boolean jj_3_23() 4777 { 4778 if (jj_scan_token(IDENTIFIER)) return true; 4779 if (jj_scan_token(76)) return true; 4780 return false; 4781 } 4782 4783 private boolean jj_3R_108() 4784 { 4785 Token xsp; 4786 xsp = jj_scanpos; 4787 if (jj_3_23()) jj_scanpos = xsp; 4788 if (jj_3R_66()) return true; 4789 return false; 4790 } 4791 4792 private boolean jj_3_12() 4793 { 4794 Token xsp; 4795 xsp = jj_scanpos; 4796 if (jj_3R_41()) jj_scanpos = xsp; 4797 if (jj_scan_token(INVOCATION_OPERATOR)) return true; 4798 xsp = jj_scanpos; 4799 if (jj_3R_42()) jj_scanpos = xsp; 4800 if (jj_3R_43()) return true; 4801 return false; 4802 } 4803 4804 private boolean jj_3R_30() 4805 { 4806 if (jj_3R_67()) return true; 4807 Token xsp; 4808 while (true) { 4809 xsp = jj_scanpos; 4810 if (jj_3_12()) { jj_scanpos = xsp; break; } 4811 } 4812 while (true) { 4813 xsp = jj_scanpos; 4814 if (jj_3_13()) { jj_scanpos = xsp; break; } 4815 } 4816 return false; 4817 } 4818 4819 private boolean jj_3R_128() 4820 { 4821 if (jj_scan_token(RETURN)) return true; 4822 return false; 4823 } 4824 4825 private boolean jj_3R_78() 4826 { 4827 Token xsp; 4828 xsp = jj_scanpos; 4829 if (jj_scan_token(41)) jj_scanpos = xsp; 4830 if (jj_3R_30()) return true; 4831 return false; 4832 } 4833 4834 private boolean jj_3R_80() 4835 { 4836 if (jj_3R_77()) return true; 4837 return false; 4838 } 4839 4840 private boolean jj_3R_95() 4841 { 4842 if (jj_3R_77()) return true; 4843 return false; 4844 } 4845 4846 private boolean jj_3R_32() 4847 { 4848 if (jj_scan_token(IDENTIFIER)) return true; 4849 if (jj_scan_token(76)) return true; 4850 return false; 4851 } 4852 4853 private boolean jj_3R_85() 4854 { 4855 if (jj_scan_token(78)) return true; 4856 Token xsp; 4857 xsp = jj_scanpos; 4858 if (jj_3R_95()) jj_scanpos = xsp; 4859 if (jj_3R_66()) return true; 4860 return false; 4861 } 4862 4863 private boolean jj_3R_84() 4864 { 4865 if (jj_3R_94()) return true; 4866 return false; 4867 } 4868 4869 private boolean jj_3R_83() 4870 { 4871 if (jj_3R_93()) return true; 4872 return false; 4873 } 4874 4875 private boolean jj_3R_82() 4876 { 4877 if (jj_3R_92()) return true; 4878 return false; 4879 } 4880 4881 private boolean jj_3R_81() 4882 { 4883 if (jj_3R_91()) return true; 4884 return false; 4885 } 4886 4887 private boolean jj_3R_72() 4888 { 4889 if (jj_scan_token(VAR)) return true; 4890 if (jj_scan_token(IDENTIFIER)) return true; 4891 return false; 4892 } 4893 4894 private boolean jj_3_11() 4895 { 4896 if (jj_3R_31()) return true; 4897 return false; 4898 } 4899 4900 private boolean jj_3R_67() 4901 { 4902 Token xsp; 4903 xsp = jj_scanpos; 4904 if (jj_3_10()) { 4905 jj_scanpos = xsp; 4906 if (jj_3_11()) { 4907 jj_scanpos = xsp; 4908 if (jj_3R_81()) { 4909 jj_scanpos = xsp; 4910 if (jj_3R_82()) { 4911 jj_scanpos = xsp; 4912 if (jj_3R_83()) { 4913 jj_scanpos = xsp; 4914 if (jj_3R_84()) { 4915 jj_scanpos = xsp; 4916 if (jj_3R_85()) return true; 4917 } 4918 } 4919 } 4920 } 4921 } 4922 } 4923 return false; 4924 } 4925 4926 private boolean jj_3_10() 4927 { 4928 if (jj_3R_40()) return true; 4929 return false; 4930 } 4931 4932 private boolean jj_3R_71() 4933 { 4934 if (jj_scan_token(LET)) return true; 4935 if (jj_scan_token(IDENTIFIER)) return true; 4936 return false; 4937 } 4938 4939 private boolean jj_3R_34() 4940 { 4941 Token xsp; 4942 xsp = jj_scanpos; 4943 if (jj_3R_71()) { 4944 jj_scanpos = xsp; 4945 if (jj_3R_72()) return true; 4946 } 4947 return false; 4948 } 4949 4950 private boolean jj_3R_66() 4951 { 4952 if (jj_3R_79()) return true; 4953 Token xsp; 4954 xsp = jj_scanpos; 4955 if (jj_3R_80()) jj_scanpos = xsp; 4956 return false; 4957 } 4958 4959 /** Generated Token Manager. */ 4960 public GoloParserTokenManager token_source; 4961 JavaCharStream jj_input_stream; 4962 /** Current token. */ 4963 public Token token; 4964 /** Next token. */ 4965 public Token jj_nt; 4966 private int jj_ntk; 4967 private Token jj_scanpos, jj_lastpos; 4968 private int jj_la; 4969 private int jj_gen; 4970 final private int[] jj_la1 = new int[109]; 4971 static private int[] jj_la1_0; 4972 static private int[] jj_la1_1; 4973 static private int[] jj_la1_2; 4974 static { 4975 jj_la1_init_0(); 4976 jj_la1_init_1(); 4977 jj_la1_init_2(); 4978 } 4979 private static void jj_la1_init_0() { 4980 jj_la1_0 = new int[] {0x20,0x20,0x0,0x0,0x20,0x0,0x20,0x0,0x100,0x18000600,0xa0,0x0,0x20,0x20,0x0,0x20,0x0,0x0,0x0,0x0,0x400,0x18000600,0x18000600,0x0,0x0,0x0,0x0,0x0,0x0,0x200,0x0,0x0,0x20000000,0x0,0x20,0xc14dd800,0x20,0x20,0x20,0x20,0x800000,0x800000,0x0,0x0,0x800000,0x0,0x800000,0x0,0x200000,0x300000,0x20,0x20,0x20,0x1000000,0x0,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xc14dd820,0x0,0x0,0x20,0x0,0x0,0x20,0x20,0x0,0x18000,0x18000,0x18000,0x18000,0x20,0x1000000,0x0,0x20,0x0,0x20,0x0,0x20,0x0,0x20,0x0,0x20,0x20,0x0,0x20,0x20,0x20,0x0,0x20,0x1000000,0x0,0x0,0x1000,0x800000,0x800000,}; 4981 } 4982 private static void jj_la1_init_1() { 4983 jj_la1_1 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80200000,0x0,0x7003,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1000,0x0,0x1003,0x7003,0x0,0x0,0x0,0x0,0x0,0x0,0x1000,0x0,0x1000,0x0,0x800,0x0,0x9fff8200,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x9fff8000,0x200,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x9fffe200,0x0,0x0,0x0,0x0,0x8fff8000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x9fff8200,0x0,0x0,0x0,0x0,0x0,0x0,0x6000,0x0,0x0,0x0,0x0,0x6000,0x0,0x0,0x0,0x0,0x0,0x9fff8200,0x800,0x800,0x0,0x0,0x0,}; 4984 } 4985 private static void jj_la1_init_2() { 4986 jj_la1_2 = new int[] {0x8,0x8,0x100,0x200,0x8,0x200,0x8,0x0,0x0,0x40,0x48,0x40,0x8,0x8,0x200,0x8,0x100,0x400,0x40,0x0,0x0,0x0,0x40,0x40,0x200,0x40,0x200,0x1000,0x41,0x40,0x40,0x0,0x2000,0x0,0x8,0x66001,0x8,0x8,0x8,0x8,0x0,0x0,0x4001,0x10000,0x0,0x10000,0x0,0x4001,0x0,0x0,0x8,0x8,0x8,0x66000,0x0,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x66009,0x10000,0x20000,0x8,0x42000,0x0,0x8,0x8,0x200,0x0,0x0,0x80200,0x80200,0x8,0x66001,0x10000,0x8,0x10000,0x8,0x10000,0x8,0x1,0x8,0x200,0x8,0x8,0x0,0x8,0x8,0x8,0x200,0x8,0x66001,0x0,0x0,0x2000,0x0,0x0,}; 4987 } 4988 final private JJCalls[] jj_2_rtns = new JJCalls[25]; 4989 private boolean jj_rescan = false; 4990 private int jj_gc = 0; 4991 4992 /** Constructor with InputStream. */ 4993 public GoloParser(java.io.InputStream stream) { 4994 this(stream, null); 4995 } 4996 /** Constructor with InputStream and supplied encoding */ 4997 public GoloParser(java.io.InputStream stream, String encoding) { 4998 try { jj_input_stream = new JavaCharStream(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); } 4999 token_source = new GoloParserTokenManager(jj_input_stream); 5000 token = new Token(); 5001 jj_ntk = -1; 5002 jj_gen = 0; 5003 for (int i = 0; i < 109; i++) jj_la1[i] = -1; 5004 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); 5005 } 5006 5007 /** Reinitialise. */ 5008 public void ReInit(java.io.InputStream stream) { 5009 ReInit(stream, null); 5010 } 5011 /** Reinitialise. */ 5012 public void ReInit(java.io.InputStream stream, String encoding) { 5013 try { jj_input_stream.ReInit(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); } 5014 token_source.ReInit(jj_input_stream); 5015 token = new Token(); 5016 jj_ntk = -1; 5017 jjtree.reset(); 5018 jj_gen = 0; 5019 for (int i = 0; i < 109; i++) jj_la1[i] = -1; 5020 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); 5021 } 5022 5023 /** Constructor. */ 5024 public GoloParser(java.io.Reader stream) { 5025 jj_input_stream = new JavaCharStream(stream, 1, 1); 5026 token_source = new GoloParserTokenManager(jj_input_stream); 5027 token = new Token(); 5028 jj_ntk = -1; 5029 jj_gen = 0; 5030 for (int i = 0; i < 109; i++) jj_la1[i] = -1; 5031 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); 5032 } 5033 5034 /** Reinitialise. */ 5035 public void ReInit(java.io.Reader stream) { 5036 if (jj_input_stream == null) { 5037 jj_input_stream = new JavaCharStream(stream, 1, 1); 5038 } else { 5039 jj_input_stream.ReInit(stream, 1, 1); 5040 } 5041 if (token_source == null) { 5042 token_source = new GoloParserTokenManager(jj_input_stream); 5043 } 5044 5045 token_source.ReInit(jj_input_stream); 5046 token = new Token(); 5047 jj_ntk = -1; 5048 jjtree.reset(); 5049 jj_gen = 0; 5050 for (int i = 0; i < 109; i++) jj_la1[i] = -1; 5051 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); 5052 } 5053 5054 /** Constructor with generated Token Manager. */ 5055 public GoloParser(GoloParserTokenManager tm) { 5056 token_source = tm; 5057 token = new Token(); 5058 jj_ntk = -1; 5059 jj_gen = 0; 5060 for (int i = 0; i < 109; i++) jj_la1[i] = -1; 5061 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); 5062 } 5063 5064 /** Reinitialise. */ 5065 public void ReInit(GoloParserTokenManager tm) { 5066 token_source = tm; 5067 token = new Token(); 5068 jj_ntk = -1; 5069 jjtree.reset(); 5070 jj_gen = 0; 5071 for (int i = 0; i < 109; i++) jj_la1[i] = -1; 5072 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); 5073 } 5074 5075 private Token jj_consume_token(int kind) throws ParseException { 5076 Token oldToken; 5077 if ((oldToken = token).next != null) token = token.next; 5078 else token = token.next = token_source.getNextToken(); 5079 jj_ntk = -1; 5080 if (token.kind == kind) { 5081 jj_gen++; 5082 if (++jj_gc > 100) { 5083 jj_gc = 0; 5084 for (int i = 0; i < jj_2_rtns.length; i++) { 5085 JJCalls c = jj_2_rtns[i]; 5086 while (c != null) { 5087 if (c.gen < jj_gen) c.first = null; 5088 c = c.next; 5089 } 5090 } 5091 } 5092 return token; 5093 } 5094 token = oldToken; 5095 jj_kind = kind; 5096 throw generateParseException(); 5097 } 5098 5099 @SuppressWarnings("serial") 5100 static private final class LookaheadSuccess extends java.lang.Error { } 5101 final private LookaheadSuccess jj_ls = new LookaheadSuccess(); 5102 private boolean jj_scan_token(int kind) { 5103 if (jj_scanpos == jj_lastpos) { 5104 jj_la--; 5105 if (jj_scanpos.next == null) { 5106 jj_lastpos = jj_scanpos = jj_scanpos.next = token_source.getNextToken(); 5107 } else { 5108 jj_lastpos = jj_scanpos = jj_scanpos.next; 5109 } 5110 } else { 5111 jj_scanpos = jj_scanpos.next; 5112 } 5113 if (jj_rescan) { 5114 int i = 0; Token tok = token; 5115 while (tok != null && tok != jj_scanpos) { i++; tok = tok.next; } 5116 if (tok != null) jj_add_error_token(kind, i); 5117 } 5118 if (jj_scanpos.kind != kind) return true; 5119 if (jj_la == 0 && jj_scanpos == jj_lastpos) throw jj_ls; 5120 return false; 5121 } 5122 5123 5124/** Get the next Token. */ 5125 final public Token getNextToken() { 5126 if (token.next != null) token = token.next; 5127 else token = token.next = token_source.getNextToken(); 5128 jj_ntk = -1; 5129 jj_gen++; 5130 return token; 5131 } 5132 5133/** Get the specific Token. */ 5134 final public Token getToken(int index) { 5135 Token t = token; 5136 for (int i = 0; i < index; i++) { 5137 if (t.next != null) t = t.next; 5138 else t = t.next = token_source.getNextToken(); 5139 } 5140 return t; 5141 } 5142 5143 private int jj_ntk_f() { 5144 if ((jj_nt=token.next) == null) 5145 return (jj_ntk = (token.next=token_source.getNextToken()).kind); 5146 else 5147 return (jj_ntk = jj_nt.kind); 5148 } 5149 5150 private java.util.List<int[]> jj_expentries = new java.util.ArrayList<int[]>(); 5151 private int[] jj_expentry; 5152 private int jj_kind = -1; 5153 private int[] jj_lasttokens = new int[100]; 5154 private int jj_endpos; 5155 5156 private void jj_add_error_token(int kind, int pos) { 5157 if (pos >= 100) { 5158 return; 5159 } 5160 5161 if (pos == jj_endpos + 1) { 5162 jj_lasttokens[jj_endpos++] = kind; 5163 } else if (jj_endpos != 0) { 5164 jj_expentry = new int[jj_endpos]; 5165 5166 for (int i = 0; i < jj_endpos; i++) { 5167 jj_expentry[i] = jj_lasttokens[i]; 5168 } 5169 5170 for (int[] oldentry : jj_expentries) { 5171 if (oldentry.length == jj_expentry.length) { 5172 boolean isMatched = true; 5173 5174 for (int i = 0; i < jj_expentry.length; i++) { 5175 if (oldentry[i] != jj_expentry[i]) { 5176 isMatched = false; 5177 break; 5178 } 5179 5180 } 5181 if (isMatched) { 5182 jj_expentries.add(jj_expentry); 5183 break; 5184 } 5185 } 5186 } 5187 5188 if (pos != 0) { 5189 jj_lasttokens[(jj_endpos = pos) - 1] = kind; 5190 } 5191 } 5192 } 5193 5194 /** Generate ParseException. */ 5195 public ParseException generateParseException() { 5196 jj_expentries.clear(); 5197 boolean[] la1tokens = new boolean[85]; 5198 if (jj_kind >= 0) { 5199 la1tokens[jj_kind] = true; 5200 jj_kind = -1; 5201 } 5202 for (int i = 0; i < 109; i++) { 5203 if (jj_la1[i] == jj_gen) { 5204 for (int j = 0; j < 32; j++) { 5205 if ((jj_la1_0[i] & (1<<j)) != 0) { 5206 la1tokens[j] = true; 5207 } 5208 if ((jj_la1_1[i] & (1<<j)) != 0) { 5209 la1tokens[32+j] = true; 5210 } 5211 if ((jj_la1_2[i] & (1<<j)) != 0) { 5212 la1tokens[64+j] = true; 5213 } 5214 } 5215 } 5216 } 5217 for (int i = 0; i < 85; i++) { 5218 if (la1tokens[i]) { 5219 jj_expentry = new int[1]; 5220 jj_expentry[0] = i; 5221 jj_expentries.add(jj_expentry); 5222 } 5223 } 5224 jj_endpos = 0; 5225 jj_rescan_token(); 5226 jj_add_error_token(0, 0); 5227 int[][] exptokseq = new int[jj_expentries.size()][]; 5228 for (int i = 0; i < jj_expentries.size(); i++) { 5229 exptokseq[i] = jj_expentries.get(i); 5230 } 5231 return new ParseException(token, exptokseq, tokenImage); 5232 } 5233 5234 /** Enable tracing. */ 5235 final public void enable_tracing() { 5236 } 5237 5238 /** Disable tracing. */ 5239 final public void disable_tracing() { 5240 } 5241 5242 private void jj_rescan_token() { 5243 jj_rescan = true; 5244 for (int i = 0; i < 25; i++) { 5245 try { 5246 JJCalls p = jj_2_rtns[i]; 5247 5248 do { 5249 if (p.gen > jj_gen) { 5250 jj_la = p.arg; jj_lastpos = jj_scanpos = p.first; 5251 switch (i) { 5252 case 0: jj_3_1(); break; 5253 case 1: jj_3_2(); break; 5254 case 2: jj_3_3(); break; 5255 case 3: jj_3_4(); break; 5256 case 4: jj_3_5(); break; 5257 case 5: jj_3_6(); break; 5258 case 6: jj_3_7(); break; 5259 case 7: jj_3_8(); break; 5260 case 8: jj_3_9(); break; 5261 case 9: jj_3_10(); break; 5262 case 10: jj_3_11(); break; 5263 case 11: jj_3_12(); break; 5264 case 12: jj_3_13(); break; 5265 case 13: jj_3_14(); break; 5266 case 14: jj_3_15(); break; 5267 case 15: jj_3_16(); break; 5268 case 16: jj_3_17(); break; 5269 case 17: jj_3_18(); break; 5270 case 18: jj_3_19(); break; 5271 case 19: jj_3_20(); break; 5272 case 20: jj_3_21(); break; 5273 case 21: jj_3_22(); break; 5274 case 22: jj_3_23(); break; 5275 case 23: jj_3_24(); break; 5276 case 24: jj_3_25(); break; 5277 } 5278 } 5279 p = p.next; 5280 } while (p != null); 5281 5282 } catch(LookaheadSuccess ls) { } 5283 } 5284 jj_rescan = false; 5285 } 5286 5287 private void jj_save(int index, int xla) { 5288 JJCalls p = jj_2_rtns[index]; 5289 while (p.gen > jj_gen) { 5290 if (p.next == null) { p = p.next = new JJCalls(); break; } 5291 p = p.next; 5292 } 5293 5294 p.gen = jj_gen + xla - jj_la; 5295 p.first = token; 5296 p.arg = xla; 5297 } 5298 5299 static final class JJCalls { 5300 int gen; 5301 Token first; 5302 int arg; 5303 JJCalls next; 5304 } 5305 5306}