1 // Generated by Snowball 2.0.0 - https://snowballstem.org/ 2 3 package org.tartarus.snowball.ext; 4 5 import org.tartarus.snowball.Among; 6 7 /** 8 * This class implements the stemming algorithm defined by a snowball script. 9 * 10 * <p>Generated by Snowball 2.0.0 - https://snowballstem.org/ 11 */ 12 @SuppressWarnings("unused") 13 public class FrenchStemmer extends org.tartarus.snowball.SnowballStemmer { 14 15 private static final long serialVersionUID = 1L; 16 private static final java.lang.invoke.MethodHandles.Lookup methodObject = 17 java.lang.invoke.MethodHandles.lookup(); 18 19 private static final Among a_0[] = { 20 new Among("col", -1, -1), new Among("par", -1, -1), new Among("tap", -1, -1) 21 }; 22 23 private static final Among a_1[] = { 24 new Among("", -1, 7), 25 new Among("H", 0, 6), 26 new Among("He", 1, 4), 27 new Among("Hi", 1, 5), 28 new Among("I", 0, 1), 29 new Among("U", 0, 2), 30 new Among("Y", 0, 3) 31 }; 32 33 private static final Among a_2[] = { 34 new Among("iqU", -1, 3), 35 new Among("abl", -1, 3), 36 new Among("I\u00E8r", -1, 4), 37 new Among("i\u00E8r", -1, 4), 38 new Among("eus", -1, 2), 39 new Among("iv", -1, 1) 40 }; 41 42 private static final Among a_3[] = { 43 new Among("ic", -1, 2), new Among("abil", -1, 1), new Among("iv", -1, 3) 44 }; 45 46 private static final Among a_4[] = { 47 new Among("iqUe", -1, 1), 48 new Among("atrice", -1, 2), 49 new Among("ance", -1, 1), 50 new Among("ence", -1, 5), 51 new Among("logie", -1, 3), 52 new Among("able", -1, 1), 53 new Among("isme", -1, 1), 54 new Among("euse", -1, 11), 55 new Among("iste", -1, 1), 56 new Among("ive", -1, 8), 57 new Among("if", -1, 8), 58 new Among("usion", -1, 4), 59 new Among("ation", -1, 2), 60 new Among("ution", -1, 4), 61 new Among("ateur", -1, 2), 62 new Among("iqUes", -1, 1), 63 new Among("atrices", -1, 2), 64 new Among("ances", -1, 1), 65 new Among("ences", -1, 5), 66 new Among("logies", -1, 3), 67 new Among("ables", -1, 1), 68 new Among("ismes", -1, 1), 69 new Among("euses", -1, 11), 70 new Among("istes", -1, 1), 71 new Among("ives", -1, 8), 72 new Among("ifs", -1, 8), 73 new Among("usions", -1, 4), 74 new Among("ations", -1, 2), 75 new Among("utions", -1, 4), 76 new Among("ateurs", -1, 2), 77 new Among("ments", -1, 15), 78 new Among("ements", 30, 6), 79 new Among("issements", 31, 12), 80 new Among("it\u00E9s", -1, 7), 81 new Among("ment", -1, 15), 82 new Among("ement", 34, 6), 83 new Among("issement", 35, 12), 84 new Among("amment", 34, 13), 85 new Among("emment", 34, 14), 86 new Among("aux", -1, 10), 87 new Among("eaux", 39, 9), 88 new Among("eux", -1, 1), 89 new Among("it\u00E9", -1, 7) 90 }; 91 92 private static final Among a_5[] = { 93 new Among("ira", -1, 1), 94 new Among("ie", -1, 1), 95 new Among("isse", -1, 1), 96 new Among("issante", -1, 1), 97 new Among("i", -1, 1), 98 new Among("irai", 4, 1), 99 new Among("ir", -1, 1), 100 new Among("iras", -1, 1), 101 new Among("ies", -1, 1), 102 new Among("\u00EEmes", -1, 1), 103 new Among("isses", -1, 1), 104 new Among("issantes", -1, 1), 105 new Among("\u00EEtes", -1, 1), 106 new Among("is", -1, 1), 107 new Among("irais", 13, 1), 108 new Among("issais", 13, 1), 109 new Among("irions", -1, 1), 110 new Among("issions", -1, 1), 111 new Among("irons", -1, 1), 112 new Among("issons", -1, 1), 113 new Among("issants", -1, 1), 114 new Among("it", -1, 1), 115 new Among("irait", 21, 1), 116 new Among("issait", 21, 1), 117 new Among("issant", -1, 1), 118 new Among("iraIent", -1, 1), 119 new Among("issaIent", -1, 1), 120 new Among("irent", -1, 1), 121 new Among("issent", -1, 1), 122 new Among("iront", -1, 1), 123 new Among("\u00EEt", -1, 1), 124 new Among("iriez", -1, 1), 125 new Among("issiez", -1, 1), 126 new Among("irez", -1, 1), 127 new Among("issez", -1, 1) 128 }; 129 130 private static final Among a_6[] = { 131 new Among("a", -1, 3), 132 new Among("era", 0, 2), 133 new Among("asse", -1, 3), 134 new Among("ante", -1, 3), 135 new Among("\u00E9e", -1, 2), 136 new Among("ai", -1, 3), 137 new Among("erai", 5, 2), 138 new Among("er", -1, 2), 139 new Among("as", -1, 3), 140 new Among("eras", 8, 2), 141 new Among("\u00E2mes", -1, 3), 142 new Among("asses", -1, 3), 143 new Among("antes", -1, 3), 144 new Among("\u00E2tes", -1, 3), 145 new Among("\u00E9es", -1, 2), 146 new Among("ais", -1, 3), 147 new Among("erais", 15, 2), 148 new Among("ions", -1, 1), 149 new Among("erions", 17, 2), 150 new Among("assions", 17, 3), 151 new Among("erons", -1, 2), 152 new Among("ants", -1, 3), 153 new Among("\u00E9s", -1, 2), 154 new Among("ait", -1, 3), 155 new Among("erait", 23, 2), 156 new Among("ant", -1, 3), 157 new Among("aIent", -1, 3), 158 new Among("eraIent", 26, 2), 159 new Among("\u00E8rent", -1, 2), 160 new Among("assent", -1, 3), 161 new Among("eront", -1, 2), 162 new Among("\u00E2t", -1, 3), 163 new Among("ez", -1, 2), 164 new Among("iez", 32, 2), 165 new Among("eriez", 33, 2), 166 new Among("assiez", 33, 3), 167 new Among("erez", 32, 2), 168 new Among("\u00E9", -1, 2) 169 }; 170 171 private static final Among a_7[] = { 172 new Among("e", -1, 3), 173 new Among("I\u00E8re", 0, 2), 174 new Among("i\u00E8re", 0, 2), 175 new Among("ion", -1, 1), 176 new Among("Ier", -1, 2), 177 new Among("ier", -1, 2) 178 }; 179 180 private static final Among a_8[] = { 181 new Among("ell", -1, -1), 182 new Among("eill", -1, -1), 183 new Among("enn", -1, -1), 184 new Among("onn", -1, -1), 185 new Among("ett", -1, -1) 186 }; 187 188 private static final char g_v[] = { 189 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 130, 103, 8, 5 190 }; 191 192 private static final char g_keep_with_s[] = { 193 1, 65, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 194 }; 195 196 private int I_p2; 197 private int I_p1; 198 private int I_pV; 199 r_prelude()200 private boolean r_prelude() { 201 while (true) { 202 int v_1 = cursor; 203 lab0: 204 { 205 golab1: 206 while (true) { 207 int v_2 = cursor; 208 lab2: 209 { 210 lab3: 211 { 212 int v_3 = cursor; 213 lab4: 214 { 215 if (!(in_grouping(g_v, 97, 251))) { 216 break lab4; 217 } 218 bra = cursor; 219 lab5: 220 { 221 int v_4 = cursor; 222 lab6: 223 { 224 if (!(eq_s("u"))) { 225 break lab6; 226 } 227 ket = cursor; 228 if (!(in_grouping(g_v, 97, 251))) { 229 break lab6; 230 } 231 slice_from("U"); 232 break lab5; 233 } 234 cursor = v_4; 235 lab7: 236 { 237 if (!(eq_s("i"))) { 238 break lab7; 239 } 240 ket = cursor; 241 if (!(in_grouping(g_v, 97, 251))) { 242 break lab7; 243 } 244 slice_from("I"); 245 break lab5; 246 } 247 cursor = v_4; 248 if (!(eq_s("y"))) { 249 break lab4; 250 } 251 ket = cursor; 252 slice_from("Y"); 253 } 254 break lab3; 255 } 256 cursor = v_3; 257 lab8: 258 { 259 bra = cursor; 260 if (!(eq_s("\u00EB"))) { 261 break lab8; 262 } 263 ket = cursor; 264 slice_from("He"); 265 break lab3; 266 } 267 cursor = v_3; 268 lab9: 269 { 270 bra = cursor; 271 if (!(eq_s("\u00EF"))) { 272 break lab9; 273 } 274 ket = cursor; 275 slice_from("Hi"); 276 break lab3; 277 } 278 cursor = v_3; 279 lab10: 280 { 281 bra = cursor; 282 if (!(eq_s("y"))) { 283 break lab10; 284 } 285 ket = cursor; 286 if (!(in_grouping(g_v, 97, 251))) { 287 break lab10; 288 } 289 slice_from("Y"); 290 break lab3; 291 } 292 cursor = v_3; 293 if (!(eq_s("q"))) { 294 break lab2; 295 } 296 bra = cursor; 297 if (!(eq_s("u"))) { 298 break lab2; 299 } 300 ket = cursor; 301 slice_from("U"); 302 } 303 cursor = v_2; 304 break golab1; 305 } 306 cursor = v_2; 307 if (cursor >= limit) { 308 break lab0; 309 } 310 cursor++; 311 } 312 continue; 313 } 314 cursor = v_1; 315 break; 316 } 317 return true; 318 } 319 r_mark_regions()320 private boolean r_mark_regions() { 321 I_pV = limit; 322 I_p1 = limit; 323 I_p2 = limit; 324 int v_1 = cursor; 325 lab0: 326 { 327 lab1: 328 { 329 int v_2 = cursor; 330 lab2: 331 { 332 if (!(in_grouping(g_v, 97, 251))) { 333 break lab2; 334 } 335 if (!(in_grouping(g_v, 97, 251))) { 336 break lab2; 337 } 338 if (cursor >= limit) { 339 break lab2; 340 } 341 cursor++; 342 break lab1; 343 } 344 cursor = v_2; 345 lab3: 346 { 347 if (find_among(a_0) == 0) { 348 break lab3; 349 } 350 break lab1; 351 } 352 cursor = v_2; 353 if (cursor >= limit) { 354 break lab0; 355 } 356 cursor++; 357 golab4: 358 while (true) { 359 lab5: 360 { 361 if (!(in_grouping(g_v, 97, 251))) { 362 break lab5; 363 } 364 break golab4; 365 } 366 if (cursor >= limit) { 367 break lab0; 368 } 369 cursor++; 370 } 371 } 372 I_pV = cursor; 373 } 374 cursor = v_1; 375 int v_4 = cursor; 376 lab6: 377 { 378 golab7: 379 while (true) { 380 lab8: 381 { 382 if (!(in_grouping(g_v, 97, 251))) { 383 break lab8; 384 } 385 break golab7; 386 } 387 if (cursor >= limit) { 388 break lab6; 389 } 390 cursor++; 391 } 392 golab9: 393 while (true) { 394 lab10: 395 { 396 if (!(out_grouping(g_v, 97, 251))) { 397 break lab10; 398 } 399 break golab9; 400 } 401 if (cursor >= limit) { 402 break lab6; 403 } 404 cursor++; 405 } 406 I_p1 = cursor; 407 golab11: 408 while (true) { 409 lab12: 410 { 411 if (!(in_grouping(g_v, 97, 251))) { 412 break lab12; 413 } 414 break golab11; 415 } 416 if (cursor >= limit) { 417 break lab6; 418 } 419 cursor++; 420 } 421 golab13: 422 while (true) { 423 lab14: 424 { 425 if (!(out_grouping(g_v, 97, 251))) { 426 break lab14; 427 } 428 break golab13; 429 } 430 if (cursor >= limit) { 431 break lab6; 432 } 433 cursor++; 434 } 435 I_p2 = cursor; 436 } 437 cursor = v_4; 438 return true; 439 } 440 r_postlude()441 private boolean r_postlude() { 442 int among_var; 443 while (true) { 444 int v_1 = cursor; 445 lab0: 446 { 447 bra = cursor; 448 among_var = find_among(a_1); 449 if (among_var == 0) { 450 break lab0; 451 } 452 ket = cursor; 453 switch (among_var) { 454 case 1: 455 slice_from("i"); 456 break; 457 case 2: 458 slice_from("u"); 459 break; 460 case 3: 461 slice_from("y"); 462 break; 463 case 4: 464 slice_from("\u00EB"); 465 break; 466 case 5: 467 slice_from("\u00EF"); 468 break; 469 case 6: 470 slice_del(); 471 break; 472 case 7: 473 if (cursor >= limit) { 474 break lab0; 475 } 476 cursor++; 477 break; 478 } 479 continue; 480 } 481 cursor = v_1; 482 break; 483 } 484 return true; 485 } 486 r_RV()487 private boolean r_RV() { 488 if (!(I_pV <= cursor)) { 489 return false; 490 } 491 return true; 492 } 493 r_R1()494 private boolean r_R1() { 495 if (!(I_p1 <= cursor)) { 496 return false; 497 } 498 return true; 499 } 500 r_R2()501 private boolean r_R2() { 502 if (!(I_p2 <= cursor)) { 503 return false; 504 } 505 return true; 506 } 507 r_standard_suffix()508 private boolean r_standard_suffix() { 509 int among_var; 510 ket = cursor; 511 among_var = find_among_b(a_4); 512 if (among_var == 0) { 513 return false; 514 } 515 bra = cursor; 516 switch (among_var) { 517 case 1: 518 if (!r_R2()) { 519 return false; 520 } 521 slice_del(); 522 break; 523 case 2: 524 if (!r_R2()) { 525 return false; 526 } 527 slice_del(); 528 int v_1 = limit - cursor; 529 lab0: 530 { 531 ket = cursor; 532 if (!(eq_s_b("ic"))) { 533 cursor = limit - v_1; 534 break lab0; 535 } 536 bra = cursor; 537 lab1: 538 { 539 int v_2 = limit - cursor; 540 lab2: 541 { 542 if (!r_R2()) { 543 break lab2; 544 } 545 slice_del(); 546 break lab1; 547 } 548 cursor = limit - v_2; 549 slice_from("iqU"); 550 } 551 } 552 break; 553 case 3: 554 if (!r_R2()) { 555 return false; 556 } 557 slice_from("log"); 558 break; 559 case 4: 560 if (!r_R2()) { 561 return false; 562 } 563 slice_from("u"); 564 break; 565 case 5: 566 if (!r_R2()) { 567 return false; 568 } 569 slice_from("ent"); 570 break; 571 case 6: 572 if (!r_RV()) { 573 return false; 574 } 575 slice_del(); 576 int v_3 = limit - cursor; 577 lab3: 578 { 579 ket = cursor; 580 among_var = find_among_b(a_2); 581 if (among_var == 0) { 582 cursor = limit - v_3; 583 break lab3; 584 } 585 bra = cursor; 586 switch (among_var) { 587 case 1: 588 if (!r_R2()) { 589 cursor = limit - v_3; 590 break lab3; 591 } 592 slice_del(); 593 ket = cursor; 594 if (!(eq_s_b("at"))) { 595 cursor = limit - v_3; 596 break lab3; 597 } 598 bra = cursor; 599 if (!r_R2()) { 600 cursor = limit - v_3; 601 break lab3; 602 } 603 slice_del(); 604 break; 605 case 2: 606 lab4: 607 { 608 int v_4 = limit - cursor; 609 lab5: 610 { 611 if (!r_R2()) { 612 break lab5; 613 } 614 slice_del(); 615 break lab4; 616 } 617 cursor = limit - v_4; 618 if (!r_R1()) { 619 cursor = limit - v_3; 620 break lab3; 621 } 622 slice_from("eux"); 623 } 624 break; 625 case 3: 626 if (!r_R2()) { 627 cursor = limit - v_3; 628 break lab3; 629 } 630 slice_del(); 631 break; 632 case 4: 633 if (!r_RV()) { 634 cursor = limit - v_3; 635 break lab3; 636 } 637 slice_from("i"); 638 break; 639 } 640 } 641 break; 642 case 7: 643 if (!r_R2()) { 644 return false; 645 } 646 slice_del(); 647 int v_5 = limit - cursor; 648 lab6: 649 { 650 ket = cursor; 651 among_var = find_among_b(a_3); 652 if (among_var == 0) { 653 cursor = limit - v_5; 654 break lab6; 655 } 656 bra = cursor; 657 switch (among_var) { 658 case 1: 659 lab7: 660 { 661 int v_6 = limit - cursor; 662 lab8: 663 { 664 if (!r_R2()) { 665 break lab8; 666 } 667 slice_del(); 668 break lab7; 669 } 670 cursor = limit - v_6; 671 slice_from("abl"); 672 } 673 break; 674 case 2: 675 lab9: 676 { 677 int v_7 = limit - cursor; 678 lab10: 679 { 680 if (!r_R2()) { 681 break lab10; 682 } 683 slice_del(); 684 break lab9; 685 } 686 cursor = limit - v_7; 687 slice_from("iqU"); 688 } 689 break; 690 case 3: 691 if (!r_R2()) { 692 cursor = limit - v_5; 693 break lab6; 694 } 695 slice_del(); 696 break; 697 } 698 } 699 break; 700 case 8: 701 if (!r_R2()) { 702 return false; 703 } 704 slice_del(); 705 int v_8 = limit - cursor; 706 lab11: 707 { 708 ket = cursor; 709 if (!(eq_s_b("at"))) { 710 cursor = limit - v_8; 711 break lab11; 712 } 713 bra = cursor; 714 if (!r_R2()) { 715 cursor = limit - v_8; 716 break lab11; 717 } 718 slice_del(); 719 ket = cursor; 720 if (!(eq_s_b("ic"))) { 721 cursor = limit - v_8; 722 break lab11; 723 } 724 bra = cursor; 725 lab12: 726 { 727 int v_9 = limit - cursor; 728 lab13: 729 { 730 if (!r_R2()) { 731 break lab13; 732 } 733 slice_del(); 734 break lab12; 735 } 736 cursor = limit - v_9; 737 slice_from("iqU"); 738 } 739 } 740 break; 741 case 9: 742 slice_from("eau"); 743 break; 744 case 10: 745 if (!r_R1()) { 746 return false; 747 } 748 slice_from("al"); 749 break; 750 case 11: 751 lab14: 752 { 753 int v_10 = limit - cursor; 754 lab15: 755 { 756 if (!r_R2()) { 757 break lab15; 758 } 759 slice_del(); 760 break lab14; 761 } 762 cursor = limit - v_10; 763 if (!r_R1()) { 764 return false; 765 } 766 slice_from("eux"); 767 } 768 break; 769 case 12: 770 if (!r_R1()) { 771 return false; 772 } 773 if (!(out_grouping_b(g_v, 97, 251))) { 774 return false; 775 } 776 slice_del(); 777 break; 778 case 13: 779 if (!r_RV()) { 780 return false; 781 } 782 slice_from("ant"); 783 return false; 784 case 14: 785 if (!r_RV()) { 786 return false; 787 } 788 slice_from("ent"); 789 return false; 790 case 15: 791 int v_11 = limit - cursor; 792 if (!(in_grouping_b(g_v, 97, 251))) { 793 return false; 794 } 795 if (!r_RV()) { 796 return false; 797 } 798 cursor = limit - v_11; 799 slice_del(); 800 return false; 801 } 802 return true; 803 } 804 r_i_verb_suffix()805 private boolean r_i_verb_suffix() { 806 if (cursor < I_pV) { 807 return false; 808 } 809 int v_2 = limit_backward; 810 limit_backward = I_pV; 811 ket = cursor; 812 if (find_among_b(a_5) == 0) { 813 limit_backward = v_2; 814 return false; 815 } 816 bra = cursor; 817 { 818 int v_3 = limit - cursor; 819 lab0: 820 { 821 if (!(eq_s_b("H"))) { 822 break lab0; 823 } 824 limit_backward = v_2; 825 return false; 826 } 827 cursor = limit - v_3; 828 } 829 if (!(out_grouping_b(g_v, 97, 251))) { 830 limit_backward = v_2; 831 return false; 832 } 833 slice_del(); 834 limit_backward = v_2; 835 return true; 836 } 837 r_verb_suffix()838 private boolean r_verb_suffix() { 839 int among_var; 840 if (cursor < I_pV) { 841 return false; 842 } 843 int v_2 = limit_backward; 844 limit_backward = I_pV; 845 ket = cursor; 846 among_var = find_among_b(a_6); 847 if (among_var == 0) { 848 limit_backward = v_2; 849 return false; 850 } 851 bra = cursor; 852 switch (among_var) { 853 case 1: 854 if (!r_R2()) { 855 limit_backward = v_2; 856 return false; 857 } 858 slice_del(); 859 break; 860 case 2: 861 slice_del(); 862 break; 863 case 3: 864 slice_del(); 865 int v_3 = limit - cursor; 866 lab0: 867 { 868 ket = cursor; 869 if (!(eq_s_b("e"))) { 870 cursor = limit - v_3; 871 break lab0; 872 } 873 bra = cursor; 874 slice_del(); 875 } 876 break; 877 } 878 limit_backward = v_2; 879 return true; 880 } 881 r_residual_suffix()882 private boolean r_residual_suffix() { 883 int among_var; 884 int v_1 = limit - cursor; 885 lab0: 886 { 887 ket = cursor; 888 if (!(eq_s_b("s"))) { 889 cursor = limit - v_1; 890 break lab0; 891 } 892 bra = cursor; 893 int v_2 = limit - cursor; 894 lab1: 895 { 896 int v_3 = limit - cursor; 897 lab2: 898 { 899 if (!(eq_s_b("Hi"))) { 900 break lab2; 901 } 902 break lab1; 903 } 904 cursor = limit - v_3; 905 if (!(out_grouping_b(g_keep_with_s, 97, 232))) { 906 cursor = limit - v_1; 907 break lab0; 908 } 909 } 910 cursor = limit - v_2; 911 slice_del(); 912 } 913 if (cursor < I_pV) { 914 return false; 915 } 916 int v_5 = limit_backward; 917 limit_backward = I_pV; 918 ket = cursor; 919 among_var = find_among_b(a_7); 920 if (among_var == 0) { 921 limit_backward = v_5; 922 return false; 923 } 924 bra = cursor; 925 switch (among_var) { 926 case 1: 927 if (!r_R2()) { 928 limit_backward = v_5; 929 return false; 930 } 931 lab3: 932 { 933 int v_6 = limit - cursor; 934 lab4: 935 { 936 if (!(eq_s_b("s"))) { 937 break lab4; 938 } 939 break lab3; 940 } 941 cursor = limit - v_6; 942 if (!(eq_s_b("t"))) { 943 limit_backward = v_5; 944 return false; 945 } 946 } 947 slice_del(); 948 break; 949 case 2: 950 slice_from("i"); 951 break; 952 case 3: 953 slice_del(); 954 break; 955 } 956 limit_backward = v_5; 957 return true; 958 } 959 r_un_double()960 private boolean r_un_double() { 961 int v_1 = limit - cursor; 962 if (find_among_b(a_8) == 0) { 963 return false; 964 } 965 cursor = limit - v_1; 966 ket = cursor; 967 if (cursor <= limit_backward) { 968 return false; 969 } 970 cursor--; 971 bra = cursor; 972 slice_del(); 973 return true; 974 } 975 r_un_accent()976 private boolean r_un_accent() { 977 { 978 int v_1 = 1; 979 while (true) { 980 lab0: 981 { 982 if (!(out_grouping_b(g_v, 97, 251))) { 983 break lab0; 984 } 985 v_1--; 986 continue; 987 } 988 break; 989 } 990 if (v_1 > 0) { 991 return false; 992 } 993 } 994 ket = cursor; 995 lab1: 996 { 997 int v_3 = limit - cursor; 998 lab2: 999 { 1000 if (!(eq_s_b("\u00E9"))) { 1001 break lab2; 1002 } 1003 break lab1; 1004 } 1005 cursor = limit - v_3; 1006 if (!(eq_s_b("\u00E8"))) { 1007 return false; 1008 } 1009 } 1010 bra = cursor; 1011 slice_from("e"); 1012 return true; 1013 } 1014 1015 @Override stem()1016 public boolean stem() { 1017 int v_1 = cursor; 1018 r_prelude(); 1019 cursor = v_1; 1020 r_mark_regions(); 1021 limit_backward = cursor; 1022 cursor = limit; 1023 int v_3 = limit - cursor; 1024 lab0: 1025 { 1026 lab1: 1027 { 1028 int v_4 = limit - cursor; 1029 lab2: 1030 { 1031 int v_5 = limit - cursor; 1032 lab3: 1033 { 1034 int v_6 = limit - cursor; 1035 lab4: 1036 { 1037 if (!r_standard_suffix()) { 1038 break lab4; 1039 } 1040 break lab3; 1041 } 1042 cursor = limit - v_6; 1043 lab5: 1044 { 1045 if (!r_i_verb_suffix()) { 1046 break lab5; 1047 } 1048 break lab3; 1049 } 1050 cursor = limit - v_6; 1051 if (!r_verb_suffix()) { 1052 break lab2; 1053 } 1054 } 1055 cursor = limit - v_5; 1056 int v_7 = limit - cursor; 1057 lab6: 1058 { 1059 ket = cursor; 1060 lab7: 1061 { 1062 int v_8 = limit - cursor; 1063 lab8: 1064 { 1065 if (!(eq_s_b("Y"))) { 1066 break lab8; 1067 } 1068 bra = cursor; 1069 slice_from("i"); 1070 break lab7; 1071 } 1072 cursor = limit - v_8; 1073 if (!(eq_s_b("\u00E7"))) { 1074 cursor = limit - v_7; 1075 break lab6; 1076 } 1077 bra = cursor; 1078 slice_from("c"); 1079 } 1080 } 1081 break lab1; 1082 } 1083 cursor = limit - v_4; 1084 if (!r_residual_suffix()) { 1085 break lab0; 1086 } 1087 } 1088 } 1089 cursor = limit - v_3; 1090 int v_9 = limit - cursor; 1091 r_un_double(); 1092 cursor = limit - v_9; 1093 int v_10 = limit - cursor; 1094 r_un_accent(); 1095 cursor = limit - v_10; 1096 cursor = limit_backward; 1097 int v_11 = cursor; 1098 r_postlude(); 1099 cursor = v_11; 1100 return true; 1101 } 1102 1103 @Override equals(Object o)1104 public boolean equals(Object o) { 1105 return o instanceof FrenchStemmer; 1106 } 1107 1108 @Override hashCode()1109 public int hashCode() { 1110 return FrenchStemmer.class.getName().hashCode(); 1111 } 1112 } 1113