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