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