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 TurkishStemmer 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("m", -1, -1), 21 new Among("n", -1, -1), 22 new Among("miz", -1, -1), 23 new Among("niz", -1, -1), 24 new Among("muz", -1, -1), 25 new Among("nuz", -1, -1), 26 new Among("m\u00FCz", -1, -1), 27 new Among("n\u00FCz", -1, -1), 28 new Among("m\u0131z", -1, -1), 29 new Among("n\u0131z", -1, -1) 30 }; 31 32 private static final Among a_1[] = {new Among("leri", -1, -1), new Among("lar\u0131", -1, -1)}; 33 34 private static final Among a_2[] = { 35 new Among("ni", -1, -1), 36 new Among("nu", -1, -1), 37 new Among("n\u00FC", -1, -1), 38 new Among("n\u0131", -1, -1) 39 }; 40 41 private static final Among a_3[] = { 42 new Among("in", -1, -1), 43 new Among("un", -1, -1), 44 new Among("\u00FCn", -1, -1), 45 new Among("\u0131n", -1, -1) 46 }; 47 48 private static final Among a_4[] = {new Among("a", -1, -1), new Among("e", -1, -1)}; 49 50 private static final Among a_5[] = {new Among("na", -1, -1), new Among("ne", -1, -1)}; 51 52 private static final Among a_6[] = { 53 new Among("da", -1, -1), 54 new Among("ta", -1, -1), 55 new Among("de", -1, -1), 56 new Among("te", -1, -1) 57 }; 58 59 private static final Among a_7[] = {new Among("nda", -1, -1), new Among("nde", -1, -1)}; 60 61 private static final Among a_8[] = { 62 new Among("dan", -1, -1), 63 new Among("tan", -1, -1), 64 new Among("den", -1, -1), 65 new Among("ten", -1, -1) 66 }; 67 68 private static final Among a_9[] = {new Among("ndan", -1, -1), new Among("nden", -1, -1)}; 69 70 private static final Among a_10[] = {new Among("la", -1, -1), new Among("le", -1, -1)}; 71 72 private static final Among a_11[] = {new Among("ca", -1, -1), new Among("ce", -1, -1)}; 73 74 private static final Among a_12[] = { 75 new Among("im", -1, -1), 76 new Among("um", -1, -1), 77 new Among("\u00FCm", -1, -1), 78 new Among("\u0131m", -1, -1) 79 }; 80 81 private static final Among a_13[] = { 82 new Among("sin", -1, -1), 83 new Among("sun", -1, -1), 84 new Among("s\u00FCn", -1, -1), 85 new Among("s\u0131n", -1, -1) 86 }; 87 88 private static final Among a_14[] = { 89 new Among("iz", -1, -1), 90 new Among("uz", -1, -1), 91 new Among("\u00FCz", -1, -1), 92 new Among("\u0131z", -1, -1) 93 }; 94 95 private static final Among a_15[] = { 96 new Among("siniz", -1, -1), 97 new Among("sunuz", -1, -1), 98 new Among("s\u00FCn\u00FCz", -1, -1), 99 new Among("s\u0131n\u0131z", -1, -1) 100 }; 101 102 private static final Among a_16[] = {new Among("lar", -1, -1), new Among("ler", -1, -1)}; 103 104 private static final Among a_17[] = { 105 new Among("niz", -1, -1), 106 new Among("nuz", -1, -1), 107 new Among("n\u00FCz", -1, -1), 108 new Among("n\u0131z", -1, -1) 109 }; 110 111 private static final Among a_18[] = { 112 new Among("dir", -1, -1), 113 new Among("tir", -1, -1), 114 new Among("dur", -1, -1), 115 new Among("tur", -1, -1), 116 new Among("d\u00FCr", -1, -1), 117 new Among("t\u00FCr", -1, -1), 118 new Among("d\u0131r", -1, -1), 119 new Among("t\u0131r", -1, -1) 120 }; 121 122 private static final Among a_19[] = { 123 new Among("cas\u0131na", -1, -1), new Among("cesine", -1, -1) 124 }; 125 126 private static final Among a_20[] = { 127 new Among("di", -1, -1), 128 new Among("ti", -1, -1), 129 new Among("dik", -1, -1), 130 new Among("tik", -1, -1), 131 new Among("duk", -1, -1), 132 new Among("tuk", -1, -1), 133 new Among("d\u00FCk", -1, -1), 134 new Among("t\u00FCk", -1, -1), 135 new Among("d\u0131k", -1, -1), 136 new Among("t\u0131k", -1, -1), 137 new Among("dim", -1, -1), 138 new Among("tim", -1, -1), 139 new Among("dum", -1, -1), 140 new Among("tum", -1, -1), 141 new Among("d\u00FCm", -1, -1), 142 new Among("t\u00FCm", -1, -1), 143 new Among("d\u0131m", -1, -1), 144 new Among("t\u0131m", -1, -1), 145 new Among("din", -1, -1), 146 new Among("tin", -1, -1), 147 new Among("dun", -1, -1), 148 new Among("tun", -1, -1), 149 new Among("d\u00FCn", -1, -1), 150 new Among("t\u00FCn", -1, -1), 151 new Among("d\u0131n", -1, -1), 152 new Among("t\u0131n", -1, -1), 153 new Among("du", -1, -1), 154 new Among("tu", -1, -1), 155 new Among("d\u00FC", -1, -1), 156 new Among("t\u00FC", -1, -1), 157 new Among("d\u0131", -1, -1), 158 new Among("t\u0131", -1, -1) 159 }; 160 161 private static final Among a_21[] = { 162 new Among("sa", -1, -1), 163 new Among("se", -1, -1), 164 new Among("sak", -1, -1), 165 new Among("sek", -1, -1), 166 new Among("sam", -1, -1), 167 new Among("sem", -1, -1), 168 new Among("san", -1, -1), 169 new Among("sen", -1, -1) 170 }; 171 172 private static final Among a_22[] = { 173 new Among("mi\u015F", -1, -1), 174 new Among("mu\u015F", -1, -1), 175 new Among("m\u00FC\u015F", -1, -1), 176 new Among("m\u0131\u015F", -1, -1) 177 }; 178 179 private static final Among a_23[] = { 180 new Among("b", -1, 1), new Among("c", -1, 2), new Among("d", -1, 3), new Among("\u011F", -1, 4) 181 }; 182 183 private static final char g_vowel[] = { 184 17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 8, 0, 0, 0, 0, 0, 0, 1 185 }; 186 187 private static final char g_U[] = { 188 1, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 1 189 }; 190 191 private static final char g_vowel1[] = { 192 1, 64, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 193 }; 194 195 private static final char g_vowel2[] = { 196 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 130 197 }; 198 199 private static final char g_vowel3[] = { 200 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 201 }; 202 203 private static final char g_vowel4[] = {17}; 204 205 private static final char g_vowel5[] = {65}; 206 207 private static final char g_vowel6[] = {65}; 208 209 private boolean B_continue_stemming_noun_suffixes; 210 r_check_vowel_harmony()211 private boolean r_check_vowel_harmony() { 212 int v_1 = limit - cursor; 213 golab0: 214 while (true) { 215 int v_2 = limit - cursor; 216 lab1: 217 { 218 if (!(in_grouping_b(g_vowel, 97, 305))) { 219 break lab1; 220 } 221 cursor = limit - v_2; 222 break golab0; 223 } 224 cursor = limit - v_2; 225 if (cursor <= limit_backward) { 226 return false; 227 } 228 cursor--; 229 } 230 lab2: 231 { 232 int v_3 = limit - cursor; 233 lab3: 234 { 235 if (!(eq_s_b("a"))) { 236 break lab3; 237 } 238 golab4: 239 while (true) { 240 int v_4 = limit - cursor; 241 lab5: 242 { 243 if (!(in_grouping_b(g_vowel1, 97, 305))) { 244 break lab5; 245 } 246 cursor = limit - v_4; 247 break golab4; 248 } 249 cursor = limit - v_4; 250 if (cursor <= limit_backward) { 251 break lab3; 252 } 253 cursor--; 254 } 255 break lab2; 256 } 257 cursor = limit - v_3; 258 lab6: 259 { 260 if (!(eq_s_b("e"))) { 261 break lab6; 262 } 263 golab7: 264 while (true) { 265 int v_5 = limit - cursor; 266 lab8: 267 { 268 if (!(in_grouping_b(g_vowel2, 101, 252))) { 269 break lab8; 270 } 271 cursor = limit - v_5; 272 break golab7; 273 } 274 cursor = limit - v_5; 275 if (cursor <= limit_backward) { 276 break lab6; 277 } 278 cursor--; 279 } 280 break lab2; 281 } 282 cursor = limit - v_3; 283 lab9: 284 { 285 if (!(eq_s_b("\u0131"))) { 286 break lab9; 287 } 288 golab10: 289 while (true) { 290 int v_6 = limit - cursor; 291 lab11: 292 { 293 if (!(in_grouping_b(g_vowel3, 97, 305))) { 294 break lab11; 295 } 296 cursor = limit - v_6; 297 break golab10; 298 } 299 cursor = limit - v_6; 300 if (cursor <= limit_backward) { 301 break lab9; 302 } 303 cursor--; 304 } 305 break lab2; 306 } 307 cursor = limit - v_3; 308 lab12: 309 { 310 if (!(eq_s_b("i"))) { 311 break lab12; 312 } 313 golab13: 314 while (true) { 315 int v_7 = limit - cursor; 316 lab14: 317 { 318 if (!(in_grouping_b(g_vowel4, 101, 105))) { 319 break lab14; 320 } 321 cursor = limit - v_7; 322 break golab13; 323 } 324 cursor = limit - v_7; 325 if (cursor <= limit_backward) { 326 break lab12; 327 } 328 cursor--; 329 } 330 break lab2; 331 } 332 cursor = limit - v_3; 333 lab15: 334 { 335 if (!(eq_s_b("o"))) { 336 break lab15; 337 } 338 golab16: 339 while (true) { 340 int v_8 = limit - cursor; 341 lab17: 342 { 343 if (!(in_grouping_b(g_vowel5, 111, 117))) { 344 break lab17; 345 } 346 cursor = limit - v_8; 347 break golab16; 348 } 349 cursor = limit - v_8; 350 if (cursor <= limit_backward) { 351 break lab15; 352 } 353 cursor--; 354 } 355 break lab2; 356 } 357 cursor = limit - v_3; 358 lab18: 359 { 360 if (!(eq_s_b("\u00F6"))) { 361 break lab18; 362 } 363 golab19: 364 while (true) { 365 int v_9 = limit - cursor; 366 lab20: 367 { 368 if (!(in_grouping_b(g_vowel6, 246, 252))) { 369 break lab20; 370 } 371 cursor = limit - v_9; 372 break golab19; 373 } 374 cursor = limit - v_9; 375 if (cursor <= limit_backward) { 376 break lab18; 377 } 378 cursor--; 379 } 380 break lab2; 381 } 382 cursor = limit - v_3; 383 lab21: 384 { 385 if (!(eq_s_b("u"))) { 386 break lab21; 387 } 388 golab22: 389 while (true) { 390 int v_10 = limit - cursor; 391 lab23: 392 { 393 if (!(in_grouping_b(g_vowel5, 111, 117))) { 394 break lab23; 395 } 396 cursor = limit - v_10; 397 break golab22; 398 } 399 cursor = limit - v_10; 400 if (cursor <= limit_backward) { 401 break lab21; 402 } 403 cursor--; 404 } 405 break lab2; 406 } 407 cursor = limit - v_3; 408 if (!(eq_s_b("\u00FC"))) { 409 return false; 410 } 411 golab24: 412 while (true) { 413 int v_11 = limit - cursor; 414 lab25: 415 { 416 if (!(in_grouping_b(g_vowel6, 246, 252))) { 417 break lab25; 418 } 419 cursor = limit - v_11; 420 break golab24; 421 } 422 cursor = limit - v_11; 423 if (cursor <= limit_backward) { 424 return false; 425 } 426 cursor--; 427 } 428 } 429 cursor = limit - v_1; 430 return true; 431 } 432 r_mark_suffix_with_optional_n_consonant()433 private boolean r_mark_suffix_with_optional_n_consonant() { 434 lab0: 435 { 436 int v_1 = limit - cursor; 437 lab1: 438 { 439 if (!(eq_s_b("n"))) { 440 break lab1; 441 } 442 int v_2 = limit - cursor; 443 if (!(in_grouping_b(g_vowel, 97, 305))) { 444 break lab1; 445 } 446 cursor = limit - v_2; 447 break lab0; 448 } 449 cursor = limit - v_1; 450 { 451 int v_3 = limit - cursor; 452 lab2: 453 { 454 int v_4 = limit - cursor; 455 if (!(eq_s_b("n"))) { 456 break lab2; 457 } 458 cursor = limit - v_4; 459 return false; 460 } 461 cursor = limit - v_3; 462 } 463 int v_5 = limit - cursor; 464 if (cursor <= limit_backward) { 465 return false; 466 } 467 cursor--; 468 if (!(in_grouping_b(g_vowel, 97, 305))) { 469 return false; 470 } 471 cursor = limit - v_5; 472 } 473 return true; 474 } 475 r_mark_suffix_with_optional_s_consonant()476 private boolean r_mark_suffix_with_optional_s_consonant() { 477 lab0: 478 { 479 int v_1 = limit - cursor; 480 lab1: 481 { 482 if (!(eq_s_b("s"))) { 483 break lab1; 484 } 485 int v_2 = limit - cursor; 486 if (!(in_grouping_b(g_vowel, 97, 305))) { 487 break lab1; 488 } 489 cursor = limit - v_2; 490 break lab0; 491 } 492 cursor = limit - v_1; 493 { 494 int v_3 = limit - cursor; 495 lab2: 496 { 497 int v_4 = limit - cursor; 498 if (!(eq_s_b("s"))) { 499 break lab2; 500 } 501 cursor = limit - v_4; 502 return false; 503 } 504 cursor = limit - v_3; 505 } 506 int v_5 = limit - cursor; 507 if (cursor <= limit_backward) { 508 return false; 509 } 510 cursor--; 511 if (!(in_grouping_b(g_vowel, 97, 305))) { 512 return false; 513 } 514 cursor = limit - v_5; 515 } 516 return true; 517 } 518 r_mark_suffix_with_optional_y_consonant()519 private boolean r_mark_suffix_with_optional_y_consonant() { 520 lab0: 521 { 522 int v_1 = limit - cursor; 523 lab1: 524 { 525 if (!(eq_s_b("y"))) { 526 break lab1; 527 } 528 int v_2 = limit - cursor; 529 if (!(in_grouping_b(g_vowel, 97, 305))) { 530 break lab1; 531 } 532 cursor = limit - v_2; 533 break lab0; 534 } 535 cursor = limit - v_1; 536 { 537 int v_3 = limit - cursor; 538 lab2: 539 { 540 int v_4 = limit - cursor; 541 if (!(eq_s_b("y"))) { 542 break lab2; 543 } 544 cursor = limit - v_4; 545 return false; 546 } 547 cursor = limit - v_3; 548 } 549 int v_5 = limit - cursor; 550 if (cursor <= limit_backward) { 551 return false; 552 } 553 cursor--; 554 if (!(in_grouping_b(g_vowel, 97, 305))) { 555 return false; 556 } 557 cursor = limit - v_5; 558 } 559 return true; 560 } 561 r_mark_suffix_with_optional_U_vowel()562 private boolean r_mark_suffix_with_optional_U_vowel() { 563 lab0: 564 { 565 int v_1 = limit - cursor; 566 lab1: 567 { 568 if (!(in_grouping_b(g_U, 105, 305))) { 569 break lab1; 570 } 571 int v_2 = limit - cursor; 572 if (!(out_grouping_b(g_vowel, 97, 305))) { 573 break lab1; 574 } 575 cursor = limit - v_2; 576 break lab0; 577 } 578 cursor = limit - v_1; 579 { 580 int v_3 = limit - cursor; 581 lab2: 582 { 583 int v_4 = limit - cursor; 584 if (!(in_grouping_b(g_U, 105, 305))) { 585 break lab2; 586 } 587 cursor = limit - v_4; 588 return false; 589 } 590 cursor = limit - v_3; 591 } 592 int v_5 = limit - cursor; 593 if (cursor <= limit_backward) { 594 return false; 595 } 596 cursor--; 597 if (!(out_grouping_b(g_vowel, 97, 305))) { 598 return false; 599 } 600 cursor = limit - v_5; 601 } 602 return true; 603 } 604 r_mark_possessives()605 private boolean r_mark_possessives() { 606 if (find_among_b(a_0) == 0) { 607 return false; 608 } 609 if (!r_mark_suffix_with_optional_U_vowel()) { 610 return false; 611 } 612 return true; 613 } 614 r_mark_sU()615 private boolean r_mark_sU() { 616 if (!r_check_vowel_harmony()) { 617 return false; 618 } 619 if (!(in_grouping_b(g_U, 105, 305))) { 620 return false; 621 } 622 if (!r_mark_suffix_with_optional_s_consonant()) { 623 return false; 624 } 625 return true; 626 } 627 r_mark_lArI()628 private boolean r_mark_lArI() { 629 if (find_among_b(a_1) == 0) { 630 return false; 631 } 632 return true; 633 } 634 r_mark_yU()635 private boolean r_mark_yU() { 636 if (!r_check_vowel_harmony()) { 637 return false; 638 } 639 if (!(in_grouping_b(g_U, 105, 305))) { 640 return false; 641 } 642 if (!r_mark_suffix_with_optional_y_consonant()) { 643 return false; 644 } 645 return true; 646 } 647 r_mark_nU()648 private boolean r_mark_nU() { 649 if (!r_check_vowel_harmony()) { 650 return false; 651 } 652 if (find_among_b(a_2) == 0) { 653 return false; 654 } 655 return true; 656 } 657 r_mark_nUn()658 private boolean r_mark_nUn() { 659 if (!r_check_vowel_harmony()) { 660 return false; 661 } 662 if (find_among_b(a_3) == 0) { 663 return false; 664 } 665 if (!r_mark_suffix_with_optional_n_consonant()) { 666 return false; 667 } 668 return true; 669 } 670 r_mark_yA()671 private boolean r_mark_yA() { 672 if (!r_check_vowel_harmony()) { 673 return false; 674 } 675 if (find_among_b(a_4) == 0) { 676 return false; 677 } 678 if (!r_mark_suffix_with_optional_y_consonant()) { 679 return false; 680 } 681 return true; 682 } 683 r_mark_nA()684 private boolean r_mark_nA() { 685 if (!r_check_vowel_harmony()) { 686 return false; 687 } 688 if (find_among_b(a_5) == 0) { 689 return false; 690 } 691 return true; 692 } 693 r_mark_DA()694 private boolean r_mark_DA() { 695 if (!r_check_vowel_harmony()) { 696 return false; 697 } 698 if (find_among_b(a_6) == 0) { 699 return false; 700 } 701 return true; 702 } 703 r_mark_ndA()704 private boolean r_mark_ndA() { 705 if (!r_check_vowel_harmony()) { 706 return false; 707 } 708 if (find_among_b(a_7) == 0) { 709 return false; 710 } 711 return true; 712 } 713 r_mark_DAn()714 private boolean r_mark_DAn() { 715 if (!r_check_vowel_harmony()) { 716 return false; 717 } 718 if (find_among_b(a_8) == 0) { 719 return false; 720 } 721 return true; 722 } 723 r_mark_ndAn()724 private boolean r_mark_ndAn() { 725 if (!r_check_vowel_harmony()) { 726 return false; 727 } 728 if (find_among_b(a_9) == 0) { 729 return false; 730 } 731 return true; 732 } 733 r_mark_ylA()734 private boolean r_mark_ylA() { 735 if (!r_check_vowel_harmony()) { 736 return false; 737 } 738 if (find_among_b(a_10) == 0) { 739 return false; 740 } 741 if (!r_mark_suffix_with_optional_y_consonant()) { 742 return false; 743 } 744 return true; 745 } 746 r_mark_ki()747 private boolean r_mark_ki() { 748 if (!(eq_s_b("ki"))) { 749 return false; 750 } 751 return true; 752 } 753 r_mark_ncA()754 private boolean r_mark_ncA() { 755 if (!r_check_vowel_harmony()) { 756 return false; 757 } 758 if (find_among_b(a_11) == 0) { 759 return false; 760 } 761 if (!r_mark_suffix_with_optional_n_consonant()) { 762 return false; 763 } 764 return true; 765 } 766 r_mark_yUm()767 private boolean r_mark_yUm() { 768 if (!r_check_vowel_harmony()) { 769 return false; 770 } 771 if (find_among_b(a_12) == 0) { 772 return false; 773 } 774 if (!r_mark_suffix_with_optional_y_consonant()) { 775 return false; 776 } 777 return true; 778 } 779 r_mark_sUn()780 private boolean r_mark_sUn() { 781 if (!r_check_vowel_harmony()) { 782 return false; 783 } 784 if (find_among_b(a_13) == 0) { 785 return false; 786 } 787 return true; 788 } 789 r_mark_yUz()790 private boolean r_mark_yUz() { 791 if (!r_check_vowel_harmony()) { 792 return false; 793 } 794 if (find_among_b(a_14) == 0) { 795 return false; 796 } 797 if (!r_mark_suffix_with_optional_y_consonant()) { 798 return false; 799 } 800 return true; 801 } 802 r_mark_sUnUz()803 private boolean r_mark_sUnUz() { 804 if (find_among_b(a_15) == 0) { 805 return false; 806 } 807 return true; 808 } 809 r_mark_lAr()810 private boolean r_mark_lAr() { 811 if (!r_check_vowel_harmony()) { 812 return false; 813 } 814 if (find_among_b(a_16) == 0) { 815 return false; 816 } 817 return true; 818 } 819 r_mark_nUz()820 private boolean r_mark_nUz() { 821 if (!r_check_vowel_harmony()) { 822 return false; 823 } 824 if (find_among_b(a_17) == 0) { 825 return false; 826 } 827 return true; 828 } 829 r_mark_DUr()830 private boolean r_mark_DUr() { 831 if (!r_check_vowel_harmony()) { 832 return false; 833 } 834 if (find_among_b(a_18) == 0) { 835 return false; 836 } 837 return true; 838 } 839 r_mark_cAsInA()840 private boolean r_mark_cAsInA() { 841 if (find_among_b(a_19) == 0) { 842 return false; 843 } 844 return true; 845 } 846 r_mark_yDU()847 private boolean r_mark_yDU() { 848 if (!r_check_vowel_harmony()) { 849 return false; 850 } 851 if (find_among_b(a_20) == 0) { 852 return false; 853 } 854 if (!r_mark_suffix_with_optional_y_consonant()) { 855 return false; 856 } 857 return true; 858 } 859 r_mark_ysA()860 private boolean r_mark_ysA() { 861 if (find_among_b(a_21) == 0) { 862 return false; 863 } 864 if (!r_mark_suffix_with_optional_y_consonant()) { 865 return false; 866 } 867 return true; 868 } 869 r_mark_ymUs_()870 private boolean r_mark_ymUs_() { 871 if (!r_check_vowel_harmony()) { 872 return false; 873 } 874 if (find_among_b(a_22) == 0) { 875 return false; 876 } 877 if (!r_mark_suffix_with_optional_y_consonant()) { 878 return false; 879 } 880 return true; 881 } 882 r_mark_yken()883 private boolean r_mark_yken() { 884 if (!(eq_s_b("ken"))) { 885 return false; 886 } 887 if (!r_mark_suffix_with_optional_y_consonant()) { 888 return false; 889 } 890 return true; 891 } 892 r_stem_nominal_verb_suffixes()893 private boolean r_stem_nominal_verb_suffixes() { 894 ket = cursor; 895 B_continue_stemming_noun_suffixes = true; 896 lab0: 897 { 898 int v_1 = limit - cursor; 899 lab1: 900 { 901 lab2: 902 { 903 int v_2 = limit - cursor; 904 lab3: 905 { 906 if (!r_mark_ymUs_()) { 907 break lab3; 908 } 909 break lab2; 910 } 911 cursor = limit - v_2; 912 lab4: 913 { 914 if (!r_mark_yDU()) { 915 break lab4; 916 } 917 break lab2; 918 } 919 cursor = limit - v_2; 920 lab5: 921 { 922 if (!r_mark_ysA()) { 923 break lab5; 924 } 925 break lab2; 926 } 927 cursor = limit - v_2; 928 if (!r_mark_yken()) { 929 break lab1; 930 } 931 } 932 break lab0; 933 } 934 cursor = limit - v_1; 935 lab6: 936 { 937 if (!r_mark_cAsInA()) { 938 break lab6; 939 } 940 lab7: 941 { 942 int v_3 = limit - cursor; 943 lab8: 944 { 945 if (!r_mark_sUnUz()) { 946 break lab8; 947 } 948 break lab7; 949 } 950 cursor = limit - v_3; 951 lab9: 952 { 953 if (!r_mark_lAr()) { 954 break lab9; 955 } 956 break lab7; 957 } 958 cursor = limit - v_3; 959 lab10: 960 { 961 if (!r_mark_yUm()) { 962 break lab10; 963 } 964 break lab7; 965 } 966 cursor = limit - v_3; 967 lab11: 968 { 969 if (!r_mark_sUn()) { 970 break lab11; 971 } 972 break lab7; 973 } 974 cursor = limit - v_3; 975 lab12: 976 { 977 if (!r_mark_yUz()) { 978 break lab12; 979 } 980 break lab7; 981 } 982 cursor = limit - v_3; 983 } 984 if (!r_mark_ymUs_()) { 985 break lab6; 986 } 987 break lab0; 988 } 989 cursor = limit - v_1; 990 lab13: 991 { 992 if (!r_mark_lAr()) { 993 break lab13; 994 } 995 bra = cursor; 996 slice_del(); 997 int v_4 = limit - cursor; 998 lab14: 999 { 1000 ket = cursor; 1001 lab15: 1002 { 1003 int v_5 = limit - cursor; 1004 lab16: 1005 { 1006 if (!r_mark_DUr()) { 1007 break lab16; 1008 } 1009 break lab15; 1010 } 1011 cursor = limit - v_5; 1012 lab17: 1013 { 1014 if (!r_mark_yDU()) { 1015 break lab17; 1016 } 1017 break lab15; 1018 } 1019 cursor = limit - v_5; 1020 lab18: 1021 { 1022 if (!r_mark_ysA()) { 1023 break lab18; 1024 } 1025 break lab15; 1026 } 1027 cursor = limit - v_5; 1028 if (!r_mark_ymUs_()) { 1029 cursor = limit - v_4; 1030 break lab14; 1031 } 1032 } 1033 } 1034 B_continue_stemming_noun_suffixes = false; 1035 break lab0; 1036 } 1037 cursor = limit - v_1; 1038 lab19: 1039 { 1040 if (!r_mark_nUz()) { 1041 break lab19; 1042 } 1043 lab20: 1044 { 1045 int v_6 = limit - cursor; 1046 lab21: 1047 { 1048 if (!r_mark_yDU()) { 1049 break lab21; 1050 } 1051 break lab20; 1052 } 1053 cursor = limit - v_6; 1054 if (!r_mark_ysA()) { 1055 break lab19; 1056 } 1057 } 1058 break lab0; 1059 } 1060 cursor = limit - v_1; 1061 lab22: 1062 { 1063 lab23: 1064 { 1065 int v_7 = limit - cursor; 1066 lab24: 1067 { 1068 if (!r_mark_sUnUz()) { 1069 break lab24; 1070 } 1071 break lab23; 1072 } 1073 cursor = limit - v_7; 1074 lab25: 1075 { 1076 if (!r_mark_yUz()) { 1077 break lab25; 1078 } 1079 break lab23; 1080 } 1081 cursor = limit - v_7; 1082 lab26: 1083 { 1084 if (!r_mark_sUn()) { 1085 break lab26; 1086 } 1087 break lab23; 1088 } 1089 cursor = limit - v_7; 1090 if (!r_mark_yUm()) { 1091 break lab22; 1092 } 1093 } 1094 bra = cursor; 1095 slice_del(); 1096 int v_8 = limit - cursor; 1097 lab27: 1098 { 1099 ket = cursor; 1100 if (!r_mark_ymUs_()) { 1101 cursor = limit - v_8; 1102 break lab27; 1103 } 1104 } 1105 break lab0; 1106 } 1107 cursor = limit - v_1; 1108 if (!r_mark_DUr()) { 1109 return false; 1110 } 1111 bra = cursor; 1112 slice_del(); 1113 int v_9 = limit - cursor; 1114 lab28: 1115 { 1116 ket = cursor; 1117 lab29: 1118 { 1119 int v_10 = limit - cursor; 1120 lab30: 1121 { 1122 if (!r_mark_sUnUz()) { 1123 break lab30; 1124 } 1125 break lab29; 1126 } 1127 cursor = limit - v_10; 1128 lab31: 1129 { 1130 if (!r_mark_lAr()) { 1131 break lab31; 1132 } 1133 break lab29; 1134 } 1135 cursor = limit - v_10; 1136 lab32: 1137 { 1138 if (!r_mark_yUm()) { 1139 break lab32; 1140 } 1141 break lab29; 1142 } 1143 cursor = limit - v_10; 1144 lab33: 1145 { 1146 if (!r_mark_sUn()) { 1147 break lab33; 1148 } 1149 break lab29; 1150 } 1151 cursor = limit - v_10; 1152 lab34: 1153 { 1154 if (!r_mark_yUz()) { 1155 break lab34; 1156 } 1157 break lab29; 1158 } 1159 cursor = limit - v_10; 1160 } 1161 if (!r_mark_ymUs_()) { 1162 cursor = limit - v_9; 1163 break lab28; 1164 } 1165 } 1166 } 1167 bra = cursor; 1168 slice_del(); 1169 return true; 1170 } 1171 r_stem_suffix_chain_before_ki()1172 private boolean r_stem_suffix_chain_before_ki() { 1173 ket = cursor; 1174 if (!r_mark_ki()) { 1175 return false; 1176 } 1177 lab0: 1178 { 1179 int v_1 = limit - cursor; 1180 lab1: 1181 { 1182 if (!r_mark_DA()) { 1183 break lab1; 1184 } 1185 bra = cursor; 1186 slice_del(); 1187 int v_2 = limit - cursor; 1188 lab2: 1189 { 1190 ket = cursor; 1191 lab3: 1192 { 1193 int v_3 = limit - cursor; 1194 lab4: 1195 { 1196 if (!r_mark_lAr()) { 1197 break lab4; 1198 } 1199 bra = cursor; 1200 slice_del(); 1201 int v_4 = limit - cursor; 1202 lab5: 1203 { 1204 if (!r_stem_suffix_chain_before_ki()) { 1205 cursor = limit - v_4; 1206 break lab5; 1207 } 1208 } 1209 break lab3; 1210 } 1211 cursor = limit - v_3; 1212 if (!r_mark_possessives()) { 1213 cursor = limit - v_2; 1214 break lab2; 1215 } 1216 bra = cursor; 1217 slice_del(); 1218 int v_5 = limit - cursor; 1219 lab6: 1220 { 1221 ket = cursor; 1222 if (!r_mark_lAr()) { 1223 cursor = limit - v_5; 1224 break lab6; 1225 } 1226 bra = cursor; 1227 slice_del(); 1228 if (!r_stem_suffix_chain_before_ki()) { 1229 cursor = limit - v_5; 1230 break lab6; 1231 } 1232 } 1233 } 1234 } 1235 break lab0; 1236 } 1237 cursor = limit - v_1; 1238 lab7: 1239 { 1240 if (!r_mark_nUn()) { 1241 break lab7; 1242 } 1243 bra = cursor; 1244 slice_del(); 1245 int v_6 = limit - cursor; 1246 lab8: 1247 { 1248 ket = cursor; 1249 lab9: 1250 { 1251 int v_7 = limit - cursor; 1252 lab10: 1253 { 1254 if (!r_mark_lArI()) { 1255 break lab10; 1256 } 1257 bra = cursor; 1258 slice_del(); 1259 break lab9; 1260 } 1261 cursor = limit - v_7; 1262 lab11: 1263 { 1264 ket = cursor; 1265 lab12: 1266 { 1267 int v_8 = limit - cursor; 1268 lab13: 1269 { 1270 if (!r_mark_possessives()) { 1271 break lab13; 1272 } 1273 break lab12; 1274 } 1275 cursor = limit - v_8; 1276 if (!r_mark_sU()) { 1277 break lab11; 1278 } 1279 } 1280 bra = cursor; 1281 slice_del(); 1282 int v_9 = limit - cursor; 1283 lab14: 1284 { 1285 ket = cursor; 1286 if (!r_mark_lAr()) { 1287 cursor = limit - v_9; 1288 break lab14; 1289 } 1290 bra = cursor; 1291 slice_del(); 1292 if (!r_stem_suffix_chain_before_ki()) { 1293 cursor = limit - v_9; 1294 break lab14; 1295 } 1296 } 1297 break lab9; 1298 } 1299 cursor = limit - v_7; 1300 if (!r_stem_suffix_chain_before_ki()) { 1301 cursor = limit - v_6; 1302 break lab8; 1303 } 1304 } 1305 } 1306 break lab0; 1307 } 1308 cursor = limit - v_1; 1309 if (!r_mark_ndA()) { 1310 return false; 1311 } 1312 lab15: 1313 { 1314 int v_10 = limit - cursor; 1315 lab16: 1316 { 1317 if (!r_mark_lArI()) { 1318 break lab16; 1319 } 1320 bra = cursor; 1321 slice_del(); 1322 break lab15; 1323 } 1324 cursor = limit - v_10; 1325 lab17: 1326 { 1327 if (!r_mark_sU()) { 1328 break lab17; 1329 } 1330 bra = cursor; 1331 slice_del(); 1332 int v_11 = limit - cursor; 1333 lab18: 1334 { 1335 ket = cursor; 1336 if (!r_mark_lAr()) { 1337 cursor = limit - v_11; 1338 break lab18; 1339 } 1340 bra = cursor; 1341 slice_del(); 1342 if (!r_stem_suffix_chain_before_ki()) { 1343 cursor = limit - v_11; 1344 break lab18; 1345 } 1346 } 1347 break lab15; 1348 } 1349 cursor = limit - v_10; 1350 if (!r_stem_suffix_chain_before_ki()) { 1351 return false; 1352 } 1353 } 1354 } 1355 return true; 1356 } 1357 r_stem_noun_suffixes()1358 private boolean r_stem_noun_suffixes() { 1359 lab0: 1360 { 1361 int v_1 = limit - cursor; 1362 lab1: 1363 { 1364 ket = cursor; 1365 if (!r_mark_lAr()) { 1366 break lab1; 1367 } 1368 bra = cursor; 1369 slice_del(); 1370 int v_2 = limit - cursor; 1371 lab2: 1372 { 1373 if (!r_stem_suffix_chain_before_ki()) { 1374 cursor = limit - v_2; 1375 break lab2; 1376 } 1377 } 1378 break lab0; 1379 } 1380 cursor = limit - v_1; 1381 lab3: 1382 { 1383 ket = cursor; 1384 if (!r_mark_ncA()) { 1385 break lab3; 1386 } 1387 bra = cursor; 1388 slice_del(); 1389 int v_3 = limit - cursor; 1390 lab4: 1391 { 1392 lab5: 1393 { 1394 int v_4 = limit - cursor; 1395 lab6: 1396 { 1397 ket = cursor; 1398 if (!r_mark_lArI()) { 1399 break lab6; 1400 } 1401 bra = cursor; 1402 slice_del(); 1403 break lab5; 1404 } 1405 cursor = limit - v_4; 1406 lab7: 1407 { 1408 ket = cursor; 1409 lab8: 1410 { 1411 int v_5 = limit - cursor; 1412 lab9: 1413 { 1414 if (!r_mark_possessives()) { 1415 break lab9; 1416 } 1417 break lab8; 1418 } 1419 cursor = limit - v_5; 1420 if (!r_mark_sU()) { 1421 break lab7; 1422 } 1423 } 1424 bra = cursor; 1425 slice_del(); 1426 int v_6 = limit - cursor; 1427 lab10: 1428 { 1429 ket = cursor; 1430 if (!r_mark_lAr()) { 1431 cursor = limit - v_6; 1432 break lab10; 1433 } 1434 bra = cursor; 1435 slice_del(); 1436 if (!r_stem_suffix_chain_before_ki()) { 1437 cursor = limit - v_6; 1438 break lab10; 1439 } 1440 } 1441 break lab5; 1442 } 1443 cursor = limit - v_4; 1444 ket = cursor; 1445 if (!r_mark_lAr()) { 1446 cursor = limit - v_3; 1447 break lab4; 1448 } 1449 bra = cursor; 1450 slice_del(); 1451 if (!r_stem_suffix_chain_before_ki()) { 1452 cursor = limit - v_3; 1453 break lab4; 1454 } 1455 } 1456 } 1457 break lab0; 1458 } 1459 cursor = limit - v_1; 1460 lab11: 1461 { 1462 ket = cursor; 1463 lab12: 1464 { 1465 int v_7 = limit - cursor; 1466 lab13: 1467 { 1468 if (!r_mark_ndA()) { 1469 break lab13; 1470 } 1471 break lab12; 1472 } 1473 cursor = limit - v_7; 1474 if (!r_mark_nA()) { 1475 break lab11; 1476 } 1477 } 1478 lab14: 1479 { 1480 int v_8 = limit - cursor; 1481 lab15: 1482 { 1483 if (!r_mark_lArI()) { 1484 break lab15; 1485 } 1486 bra = cursor; 1487 slice_del(); 1488 break lab14; 1489 } 1490 cursor = limit - v_8; 1491 lab16: 1492 { 1493 if (!r_mark_sU()) { 1494 break lab16; 1495 } 1496 bra = cursor; 1497 slice_del(); 1498 int v_9 = limit - cursor; 1499 lab17: 1500 { 1501 ket = cursor; 1502 if (!r_mark_lAr()) { 1503 cursor = limit - v_9; 1504 break lab17; 1505 } 1506 bra = cursor; 1507 slice_del(); 1508 if (!r_stem_suffix_chain_before_ki()) { 1509 cursor = limit - v_9; 1510 break lab17; 1511 } 1512 } 1513 break lab14; 1514 } 1515 cursor = limit - v_8; 1516 if (!r_stem_suffix_chain_before_ki()) { 1517 break lab11; 1518 } 1519 } 1520 break lab0; 1521 } 1522 cursor = limit - v_1; 1523 lab18: 1524 { 1525 ket = cursor; 1526 lab19: 1527 { 1528 int v_10 = limit - cursor; 1529 lab20: 1530 { 1531 if (!r_mark_ndAn()) { 1532 break lab20; 1533 } 1534 break lab19; 1535 } 1536 cursor = limit - v_10; 1537 if (!r_mark_nU()) { 1538 break lab18; 1539 } 1540 } 1541 lab21: 1542 { 1543 int v_11 = limit - cursor; 1544 lab22: 1545 { 1546 if (!r_mark_sU()) { 1547 break lab22; 1548 } 1549 bra = cursor; 1550 slice_del(); 1551 int v_12 = limit - cursor; 1552 lab23: 1553 { 1554 ket = cursor; 1555 if (!r_mark_lAr()) { 1556 cursor = limit - v_12; 1557 break lab23; 1558 } 1559 bra = cursor; 1560 slice_del(); 1561 if (!r_stem_suffix_chain_before_ki()) { 1562 cursor = limit - v_12; 1563 break lab23; 1564 } 1565 } 1566 break lab21; 1567 } 1568 cursor = limit - v_11; 1569 if (!r_mark_lArI()) { 1570 break lab18; 1571 } 1572 } 1573 break lab0; 1574 } 1575 cursor = limit - v_1; 1576 lab24: 1577 { 1578 ket = cursor; 1579 if (!r_mark_DAn()) { 1580 break lab24; 1581 } 1582 bra = cursor; 1583 slice_del(); 1584 int v_13 = limit - cursor; 1585 lab25: 1586 { 1587 ket = cursor; 1588 lab26: 1589 { 1590 int v_14 = limit - cursor; 1591 lab27: 1592 { 1593 if (!r_mark_possessives()) { 1594 break lab27; 1595 } 1596 bra = cursor; 1597 slice_del(); 1598 int v_15 = limit - cursor; 1599 lab28: 1600 { 1601 ket = cursor; 1602 if (!r_mark_lAr()) { 1603 cursor = limit - v_15; 1604 break lab28; 1605 } 1606 bra = cursor; 1607 slice_del(); 1608 if (!r_stem_suffix_chain_before_ki()) { 1609 cursor = limit - v_15; 1610 break lab28; 1611 } 1612 } 1613 break lab26; 1614 } 1615 cursor = limit - v_14; 1616 lab29: 1617 { 1618 if (!r_mark_lAr()) { 1619 break lab29; 1620 } 1621 bra = cursor; 1622 slice_del(); 1623 int v_16 = limit - cursor; 1624 lab30: 1625 { 1626 if (!r_stem_suffix_chain_before_ki()) { 1627 cursor = limit - v_16; 1628 break lab30; 1629 } 1630 } 1631 break lab26; 1632 } 1633 cursor = limit - v_14; 1634 if (!r_stem_suffix_chain_before_ki()) { 1635 cursor = limit - v_13; 1636 break lab25; 1637 } 1638 } 1639 } 1640 break lab0; 1641 } 1642 cursor = limit - v_1; 1643 lab31: 1644 { 1645 ket = cursor; 1646 lab32: 1647 { 1648 int v_17 = limit - cursor; 1649 lab33: 1650 { 1651 if (!r_mark_nUn()) { 1652 break lab33; 1653 } 1654 break lab32; 1655 } 1656 cursor = limit - v_17; 1657 if (!r_mark_ylA()) { 1658 break lab31; 1659 } 1660 } 1661 bra = cursor; 1662 slice_del(); 1663 int v_18 = limit - cursor; 1664 lab34: 1665 { 1666 lab35: 1667 { 1668 int v_19 = limit - cursor; 1669 lab36: 1670 { 1671 ket = cursor; 1672 if (!r_mark_lAr()) { 1673 break lab36; 1674 } 1675 bra = cursor; 1676 slice_del(); 1677 if (!r_stem_suffix_chain_before_ki()) { 1678 break lab36; 1679 } 1680 break lab35; 1681 } 1682 cursor = limit - v_19; 1683 lab37: 1684 { 1685 ket = cursor; 1686 lab38: 1687 { 1688 int v_20 = limit - cursor; 1689 lab39: 1690 { 1691 if (!r_mark_possessives()) { 1692 break lab39; 1693 } 1694 break lab38; 1695 } 1696 cursor = limit - v_20; 1697 if (!r_mark_sU()) { 1698 break lab37; 1699 } 1700 } 1701 bra = cursor; 1702 slice_del(); 1703 int v_21 = limit - cursor; 1704 lab40: 1705 { 1706 ket = cursor; 1707 if (!r_mark_lAr()) { 1708 cursor = limit - v_21; 1709 break lab40; 1710 } 1711 bra = cursor; 1712 slice_del(); 1713 if (!r_stem_suffix_chain_before_ki()) { 1714 cursor = limit - v_21; 1715 break lab40; 1716 } 1717 } 1718 break lab35; 1719 } 1720 cursor = limit - v_19; 1721 if (!r_stem_suffix_chain_before_ki()) { 1722 cursor = limit - v_18; 1723 break lab34; 1724 } 1725 } 1726 } 1727 break lab0; 1728 } 1729 cursor = limit - v_1; 1730 lab41: 1731 { 1732 ket = cursor; 1733 if (!r_mark_lArI()) { 1734 break lab41; 1735 } 1736 bra = cursor; 1737 slice_del(); 1738 break lab0; 1739 } 1740 cursor = limit - v_1; 1741 lab42: 1742 { 1743 if (!r_stem_suffix_chain_before_ki()) { 1744 break lab42; 1745 } 1746 break lab0; 1747 } 1748 cursor = limit - v_1; 1749 lab43: 1750 { 1751 ket = cursor; 1752 lab44: 1753 { 1754 int v_22 = limit - cursor; 1755 lab45: 1756 { 1757 if (!r_mark_DA()) { 1758 break lab45; 1759 } 1760 break lab44; 1761 } 1762 cursor = limit - v_22; 1763 lab46: 1764 { 1765 if (!r_mark_yU()) { 1766 break lab46; 1767 } 1768 break lab44; 1769 } 1770 cursor = limit - v_22; 1771 if (!r_mark_yA()) { 1772 break lab43; 1773 } 1774 } 1775 bra = cursor; 1776 slice_del(); 1777 int v_23 = limit - cursor; 1778 lab47: 1779 { 1780 ket = cursor; 1781 lab48: 1782 { 1783 int v_24 = limit - cursor; 1784 lab49: 1785 { 1786 if (!r_mark_possessives()) { 1787 break lab49; 1788 } 1789 bra = cursor; 1790 slice_del(); 1791 int v_25 = limit - cursor; 1792 lab50: 1793 { 1794 ket = cursor; 1795 if (!r_mark_lAr()) { 1796 cursor = limit - v_25; 1797 break lab50; 1798 } 1799 } 1800 break lab48; 1801 } 1802 cursor = limit - v_24; 1803 if (!r_mark_lAr()) { 1804 cursor = limit - v_23; 1805 break lab47; 1806 } 1807 } 1808 bra = cursor; 1809 slice_del(); 1810 ket = cursor; 1811 if (!r_stem_suffix_chain_before_ki()) { 1812 cursor = limit - v_23; 1813 break lab47; 1814 } 1815 } 1816 break lab0; 1817 } 1818 cursor = limit - v_1; 1819 ket = cursor; 1820 lab51: 1821 { 1822 int v_26 = limit - cursor; 1823 lab52: 1824 { 1825 if (!r_mark_possessives()) { 1826 break lab52; 1827 } 1828 break lab51; 1829 } 1830 cursor = limit - v_26; 1831 if (!r_mark_sU()) { 1832 return false; 1833 } 1834 } 1835 bra = cursor; 1836 slice_del(); 1837 int v_27 = limit - cursor; 1838 lab53: 1839 { 1840 ket = cursor; 1841 if (!r_mark_lAr()) { 1842 cursor = limit - v_27; 1843 break lab53; 1844 } 1845 bra = cursor; 1846 slice_del(); 1847 if (!r_stem_suffix_chain_before_ki()) { 1848 cursor = limit - v_27; 1849 break lab53; 1850 } 1851 } 1852 } 1853 return true; 1854 } 1855 r_post_process_last_consonants()1856 private boolean r_post_process_last_consonants() { 1857 int among_var; 1858 ket = cursor; 1859 among_var = find_among_b(a_23); 1860 if (among_var == 0) { 1861 return false; 1862 } 1863 bra = cursor; 1864 switch (among_var) { 1865 case 1: 1866 slice_from("p"); 1867 break; 1868 case 2: 1869 slice_from("\u00E7"); 1870 break; 1871 case 3: 1872 slice_from("t"); 1873 break; 1874 case 4: 1875 slice_from("k"); 1876 break; 1877 } 1878 return true; 1879 } 1880 r_append_U_to_stems_ending_with_d_or_g()1881 private boolean r_append_U_to_stems_ending_with_d_or_g() { 1882 int v_1 = limit - cursor; 1883 lab0: 1884 { 1885 int v_2 = limit - cursor; 1886 lab1: 1887 { 1888 if (!(eq_s_b("d"))) { 1889 break lab1; 1890 } 1891 break lab0; 1892 } 1893 cursor = limit - v_2; 1894 if (!(eq_s_b("g"))) { 1895 return false; 1896 } 1897 } 1898 cursor = limit - v_1; 1899 lab2: 1900 { 1901 int v_3 = limit - cursor; 1902 lab3: 1903 { 1904 int v_4 = limit - cursor; 1905 golab4: 1906 while (true) { 1907 int v_5 = limit - cursor; 1908 lab5: 1909 { 1910 if (!(in_grouping_b(g_vowel, 97, 305))) { 1911 break lab5; 1912 } 1913 cursor = limit - v_5; 1914 break golab4; 1915 } 1916 cursor = limit - v_5; 1917 if (cursor <= limit_backward) { 1918 break lab3; 1919 } 1920 cursor--; 1921 } 1922 lab6: 1923 { 1924 int v_6 = limit - cursor; 1925 lab7: 1926 { 1927 if (!(eq_s_b("a"))) { 1928 break lab7; 1929 } 1930 break lab6; 1931 } 1932 cursor = limit - v_6; 1933 if (!(eq_s_b("\u0131"))) { 1934 break lab3; 1935 } 1936 } 1937 cursor = limit - v_4; 1938 { 1939 int c = cursor; 1940 insert(cursor, cursor, "\u0131"); 1941 cursor = c; 1942 } 1943 break lab2; 1944 } 1945 cursor = limit - v_3; 1946 lab8: 1947 { 1948 int v_7 = limit - cursor; 1949 golab9: 1950 while (true) { 1951 int v_8 = limit - cursor; 1952 lab10: 1953 { 1954 if (!(in_grouping_b(g_vowel, 97, 305))) { 1955 break lab10; 1956 } 1957 cursor = limit - v_8; 1958 break golab9; 1959 } 1960 cursor = limit - v_8; 1961 if (cursor <= limit_backward) { 1962 break lab8; 1963 } 1964 cursor--; 1965 } 1966 lab11: 1967 { 1968 int v_9 = limit - cursor; 1969 lab12: 1970 { 1971 if (!(eq_s_b("e"))) { 1972 break lab12; 1973 } 1974 break lab11; 1975 } 1976 cursor = limit - v_9; 1977 if (!(eq_s_b("i"))) { 1978 break lab8; 1979 } 1980 } 1981 cursor = limit - v_7; 1982 { 1983 int c = cursor; 1984 insert(cursor, cursor, "i"); 1985 cursor = c; 1986 } 1987 break lab2; 1988 } 1989 cursor = limit - v_3; 1990 lab13: 1991 { 1992 int v_10 = limit - cursor; 1993 golab14: 1994 while (true) { 1995 int v_11 = limit - cursor; 1996 lab15: 1997 { 1998 if (!(in_grouping_b(g_vowel, 97, 305))) { 1999 break lab15; 2000 } 2001 cursor = limit - v_11; 2002 break golab14; 2003 } 2004 cursor = limit - v_11; 2005 if (cursor <= limit_backward) { 2006 break lab13; 2007 } 2008 cursor--; 2009 } 2010 lab16: 2011 { 2012 int v_12 = limit - cursor; 2013 lab17: 2014 { 2015 if (!(eq_s_b("o"))) { 2016 break lab17; 2017 } 2018 break lab16; 2019 } 2020 cursor = limit - v_12; 2021 if (!(eq_s_b("u"))) { 2022 break lab13; 2023 } 2024 } 2025 cursor = limit - v_10; 2026 { 2027 int c = cursor; 2028 insert(cursor, cursor, "u"); 2029 cursor = c; 2030 } 2031 break lab2; 2032 } 2033 cursor = limit - v_3; 2034 int v_13 = limit - cursor; 2035 golab18: 2036 while (true) { 2037 int v_14 = limit - cursor; 2038 lab19: 2039 { 2040 if (!(in_grouping_b(g_vowel, 97, 305))) { 2041 break lab19; 2042 } 2043 cursor = limit - v_14; 2044 break golab18; 2045 } 2046 cursor = limit - v_14; 2047 if (cursor <= limit_backward) { 2048 return false; 2049 } 2050 cursor--; 2051 } 2052 lab20: 2053 { 2054 int v_15 = limit - cursor; 2055 lab21: 2056 { 2057 if (!(eq_s_b("\u00F6"))) { 2058 break lab21; 2059 } 2060 break lab20; 2061 } 2062 cursor = limit - v_15; 2063 if (!(eq_s_b("\u00FC"))) { 2064 return false; 2065 } 2066 } 2067 cursor = limit - v_13; 2068 { 2069 int c = cursor; 2070 insert(cursor, cursor, "\u00FC"); 2071 cursor = c; 2072 } 2073 } 2074 return true; 2075 } 2076 r_is_reserved_word()2077 private boolean r_is_reserved_word() { 2078 if (!(eq_s_b("ad"))) { 2079 return false; 2080 } 2081 int v_1 = limit - cursor; 2082 lab0: 2083 { 2084 if (!(eq_s_b("soy"))) { 2085 cursor = limit - v_1; 2086 break lab0; 2087 } 2088 } 2089 if (cursor > limit_backward) { 2090 return false; 2091 } 2092 return true; 2093 } 2094 r_more_than_one_syllable_word()2095 private boolean r_more_than_one_syllable_word() { 2096 int v_1 = cursor; 2097 { 2098 int v_2 = 2; 2099 while (true) { 2100 int v_3 = cursor; 2101 lab0: 2102 { 2103 golab1: 2104 while (true) { 2105 lab2: 2106 { 2107 if (!(in_grouping(g_vowel, 97, 305))) { 2108 break lab2; 2109 } 2110 break golab1; 2111 } 2112 if (cursor >= limit) { 2113 break lab0; 2114 } 2115 cursor++; 2116 } 2117 v_2--; 2118 continue; 2119 } 2120 cursor = v_3; 2121 break; 2122 } 2123 if (v_2 > 0) { 2124 return false; 2125 } 2126 } 2127 cursor = v_1; 2128 return true; 2129 } 2130 r_postlude()2131 private boolean r_postlude() { 2132 limit_backward = cursor; 2133 cursor = limit; 2134 { 2135 int v_1 = limit - cursor; 2136 lab0: 2137 { 2138 if (!r_is_reserved_word()) { 2139 break lab0; 2140 } 2141 return false; 2142 } 2143 cursor = limit - v_1; 2144 } 2145 int v_2 = limit - cursor; 2146 r_append_U_to_stems_ending_with_d_or_g(); 2147 cursor = limit - v_2; 2148 int v_3 = limit - cursor; 2149 r_post_process_last_consonants(); 2150 cursor = limit - v_3; 2151 cursor = limit_backward; 2152 return true; 2153 } 2154 2155 @Override stem()2156 public boolean stem() { 2157 if (!r_more_than_one_syllable_word()) { 2158 return false; 2159 } 2160 limit_backward = cursor; 2161 cursor = limit; 2162 int v_1 = limit - cursor; 2163 r_stem_nominal_verb_suffixes(); 2164 cursor = limit - v_1; 2165 if (!(B_continue_stemming_noun_suffixes)) { 2166 return false; 2167 } 2168 int v_2 = limit - cursor; 2169 r_stem_noun_suffixes(); 2170 cursor = limit - v_2; 2171 cursor = limit_backward; 2172 if (!r_postlude()) { 2173 return false; 2174 } 2175 return true; 2176 } 2177 2178 @Override equals(Object o)2179 public boolean equals(Object o) { 2180 return o instanceof TurkishStemmer; 2181 } 2182 2183 @Override hashCode()2184 public int hashCode() { 2185 return TurkishStemmer.class.getName().hashCode(); 2186 } 2187 } 2188