1// Generated by Snowball 2.1.0 - https://snowballstem.org/ 2 3/**@constructor*/ 4SpanishStemmer = function() { 5 var base = new BaseStemmer(); 6 /** @const */ var a_0 = [ 7 ["", -1, 6], 8 ["\u00E1", 0, 1], 9 ["\u00E9", 0, 2], 10 ["\u00ED", 0, 3], 11 ["\u00F3", 0, 4], 12 ["\u00FA", 0, 5] 13 ]; 14 15 /** @const */ var a_1 = [ 16 ["la", -1, -1], 17 ["sela", 0, -1], 18 ["le", -1, -1], 19 ["me", -1, -1], 20 ["se", -1, -1], 21 ["lo", -1, -1], 22 ["selo", 5, -1], 23 ["las", -1, -1], 24 ["selas", 7, -1], 25 ["les", -1, -1], 26 ["los", -1, -1], 27 ["selos", 10, -1], 28 ["nos", -1, -1] 29 ]; 30 31 /** @const */ var a_2 = [ 32 ["ando", -1, 6], 33 ["iendo", -1, 6], 34 ["yendo", -1, 7], 35 ["\u00E1ndo", -1, 2], 36 ["i\u00E9ndo", -1, 1], 37 ["ar", -1, 6], 38 ["er", -1, 6], 39 ["ir", -1, 6], 40 ["\u00E1r", -1, 3], 41 ["\u00E9r", -1, 4], 42 ["\u00EDr", -1, 5] 43 ]; 44 45 /** @const */ var a_3 = [ 46 ["ic", -1, -1], 47 ["ad", -1, -1], 48 ["os", -1, -1], 49 ["iv", -1, 1] 50 ]; 51 52 /** @const */ var a_4 = [ 53 ["able", -1, 1], 54 ["ible", -1, 1], 55 ["ante", -1, 1] 56 ]; 57 58 /** @const */ var a_5 = [ 59 ["ic", -1, 1], 60 ["abil", -1, 1], 61 ["iv", -1, 1] 62 ]; 63 64 /** @const */ var a_6 = [ 65 ["ica", -1, 1], 66 ["ancia", -1, 2], 67 ["encia", -1, 5], 68 ["adora", -1, 2], 69 ["osa", -1, 1], 70 ["ista", -1, 1], 71 ["iva", -1, 9], 72 ["anza", -1, 1], 73 ["log\u00EDa", -1, 3], 74 ["idad", -1, 8], 75 ["able", -1, 1], 76 ["ible", -1, 1], 77 ["ante", -1, 2], 78 ["mente", -1, 7], 79 ["amente", 13, 6], 80 ["aci\u00F3n", -1, 2], 81 ["uci\u00F3n", -1, 4], 82 ["ico", -1, 1], 83 ["ismo", -1, 1], 84 ["oso", -1, 1], 85 ["amiento", -1, 1], 86 ["imiento", -1, 1], 87 ["ivo", -1, 9], 88 ["ador", -1, 2], 89 ["icas", -1, 1], 90 ["ancias", -1, 2], 91 ["encias", -1, 5], 92 ["adoras", -1, 2], 93 ["osas", -1, 1], 94 ["istas", -1, 1], 95 ["ivas", -1, 9], 96 ["anzas", -1, 1], 97 ["log\u00EDas", -1, 3], 98 ["idades", -1, 8], 99 ["ables", -1, 1], 100 ["ibles", -1, 1], 101 ["aciones", -1, 2], 102 ["uciones", -1, 4], 103 ["adores", -1, 2], 104 ["antes", -1, 2], 105 ["icos", -1, 1], 106 ["ismos", -1, 1], 107 ["osos", -1, 1], 108 ["amientos", -1, 1], 109 ["imientos", -1, 1], 110 ["ivos", -1, 9] 111 ]; 112 113 /** @const */ var a_7 = [ 114 ["ya", -1, 1], 115 ["ye", -1, 1], 116 ["yan", -1, 1], 117 ["yen", -1, 1], 118 ["yeron", -1, 1], 119 ["yendo", -1, 1], 120 ["yo", -1, 1], 121 ["yas", -1, 1], 122 ["yes", -1, 1], 123 ["yais", -1, 1], 124 ["yamos", -1, 1], 125 ["y\u00F3", -1, 1] 126 ]; 127 128 /** @const */ var a_8 = [ 129 ["aba", -1, 2], 130 ["ada", -1, 2], 131 ["ida", -1, 2], 132 ["ara", -1, 2], 133 ["iera", -1, 2], 134 ["\u00EDa", -1, 2], 135 ["ar\u00EDa", 5, 2], 136 ["er\u00EDa", 5, 2], 137 ["ir\u00EDa", 5, 2], 138 ["ad", -1, 2], 139 ["ed", -1, 2], 140 ["id", -1, 2], 141 ["ase", -1, 2], 142 ["iese", -1, 2], 143 ["aste", -1, 2], 144 ["iste", -1, 2], 145 ["an", -1, 2], 146 ["aban", 16, 2], 147 ["aran", 16, 2], 148 ["ieran", 16, 2], 149 ["\u00EDan", 16, 2], 150 ["ar\u00EDan", 20, 2], 151 ["er\u00EDan", 20, 2], 152 ["ir\u00EDan", 20, 2], 153 ["en", -1, 1], 154 ["asen", 24, 2], 155 ["iesen", 24, 2], 156 ["aron", -1, 2], 157 ["ieron", -1, 2], 158 ["ar\u00E1n", -1, 2], 159 ["er\u00E1n", -1, 2], 160 ["ir\u00E1n", -1, 2], 161 ["ado", -1, 2], 162 ["ido", -1, 2], 163 ["ando", -1, 2], 164 ["iendo", -1, 2], 165 ["ar", -1, 2], 166 ["er", -1, 2], 167 ["ir", -1, 2], 168 ["as", -1, 2], 169 ["abas", 39, 2], 170 ["adas", 39, 2], 171 ["idas", 39, 2], 172 ["aras", 39, 2], 173 ["ieras", 39, 2], 174 ["\u00EDas", 39, 2], 175 ["ar\u00EDas", 45, 2], 176 ["er\u00EDas", 45, 2], 177 ["ir\u00EDas", 45, 2], 178 ["es", -1, 1], 179 ["ases", 49, 2], 180 ["ieses", 49, 2], 181 ["abais", -1, 2], 182 ["arais", -1, 2], 183 ["ierais", -1, 2], 184 ["\u00EDais", -1, 2], 185 ["ar\u00EDais", 55, 2], 186 ["er\u00EDais", 55, 2], 187 ["ir\u00EDais", 55, 2], 188 ["aseis", -1, 2], 189 ["ieseis", -1, 2], 190 ["asteis", -1, 2], 191 ["isteis", -1, 2], 192 ["\u00E1is", -1, 2], 193 ["\u00E9is", -1, 1], 194 ["ar\u00E9is", 64, 2], 195 ["er\u00E9is", 64, 2], 196 ["ir\u00E9is", 64, 2], 197 ["ados", -1, 2], 198 ["idos", -1, 2], 199 ["amos", -1, 2], 200 ["\u00E1bamos", 70, 2], 201 ["\u00E1ramos", 70, 2], 202 ["i\u00E9ramos", 70, 2], 203 ["\u00EDamos", 70, 2], 204 ["ar\u00EDamos", 74, 2], 205 ["er\u00EDamos", 74, 2], 206 ["ir\u00EDamos", 74, 2], 207 ["emos", -1, 1], 208 ["aremos", 78, 2], 209 ["eremos", 78, 2], 210 ["iremos", 78, 2], 211 ["\u00E1semos", 78, 2], 212 ["i\u00E9semos", 78, 2], 213 ["imos", -1, 2], 214 ["ar\u00E1s", -1, 2], 215 ["er\u00E1s", -1, 2], 216 ["ir\u00E1s", -1, 2], 217 ["\u00EDs", -1, 2], 218 ["ar\u00E1", -1, 2], 219 ["er\u00E1", -1, 2], 220 ["ir\u00E1", -1, 2], 221 ["ar\u00E9", -1, 2], 222 ["er\u00E9", -1, 2], 223 ["ir\u00E9", -1, 2], 224 ["i\u00F3", -1, 2] 225 ]; 226 227 /** @const */ var a_9 = [ 228 ["a", -1, 1], 229 ["e", -1, 2], 230 ["o", -1, 1], 231 ["os", -1, 1], 232 ["\u00E1", -1, 1], 233 ["\u00E9", -1, 2], 234 ["\u00ED", -1, 1], 235 ["\u00F3", -1, 1] 236 ]; 237 238 /** @const */ var /** Array<int> */ g_v = [17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 17, 4, 10]; 239 240 var /** number */ I_p2 = 0; 241 var /** number */ I_p1 = 0; 242 var /** number */ I_pV = 0; 243 244 245 /** @return {boolean} */ 246 function r_mark_regions() { 247 I_pV = base.limit; 248 I_p1 = base.limit; 249 I_p2 = base.limit; 250 var /** number */ v_1 = base.cursor; 251 lab0: { 252 lab1: { 253 var /** number */ v_2 = base.cursor; 254 lab2: { 255 if (!(base.in_grouping(g_v, 97, 252))) 256 { 257 break lab2; 258 } 259 lab3: { 260 var /** number */ v_3 = base.cursor; 261 lab4: { 262 if (!(base.out_grouping(g_v, 97, 252))) 263 { 264 break lab4; 265 } 266 golab5: while(true) 267 { 268 lab6: { 269 if (!(base.in_grouping(g_v, 97, 252))) 270 { 271 break lab6; 272 } 273 break golab5; 274 } 275 if (base.cursor >= base.limit) 276 { 277 break lab4; 278 } 279 base.cursor++; 280 } 281 break lab3; 282 } 283 base.cursor = v_3; 284 if (!(base.in_grouping(g_v, 97, 252))) 285 { 286 break lab2; 287 } 288 golab7: while(true) 289 { 290 lab8: { 291 if (!(base.out_grouping(g_v, 97, 252))) 292 { 293 break lab8; 294 } 295 break golab7; 296 } 297 if (base.cursor >= base.limit) 298 { 299 break lab2; 300 } 301 base.cursor++; 302 } 303 } 304 break lab1; 305 } 306 base.cursor = v_2; 307 if (!(base.out_grouping(g_v, 97, 252))) 308 { 309 break lab0; 310 } 311 lab9: { 312 var /** number */ v_6 = base.cursor; 313 lab10: { 314 if (!(base.out_grouping(g_v, 97, 252))) 315 { 316 break lab10; 317 } 318 golab11: while(true) 319 { 320 lab12: { 321 if (!(base.in_grouping(g_v, 97, 252))) 322 { 323 break lab12; 324 } 325 break golab11; 326 } 327 if (base.cursor >= base.limit) 328 { 329 break lab10; 330 } 331 base.cursor++; 332 } 333 break lab9; 334 } 335 base.cursor = v_6; 336 if (!(base.in_grouping(g_v, 97, 252))) 337 { 338 break lab0; 339 } 340 if (base.cursor >= base.limit) 341 { 342 break lab0; 343 } 344 base.cursor++; 345 } 346 } 347 I_pV = base.cursor; 348 } 349 base.cursor = v_1; 350 var /** number */ v_8 = base.cursor; 351 lab13: { 352 golab14: while(true) 353 { 354 lab15: { 355 if (!(base.in_grouping(g_v, 97, 252))) 356 { 357 break lab15; 358 } 359 break golab14; 360 } 361 if (base.cursor >= base.limit) 362 { 363 break lab13; 364 } 365 base.cursor++; 366 } 367 golab16: while(true) 368 { 369 lab17: { 370 if (!(base.out_grouping(g_v, 97, 252))) 371 { 372 break lab17; 373 } 374 break golab16; 375 } 376 if (base.cursor >= base.limit) 377 { 378 break lab13; 379 } 380 base.cursor++; 381 } 382 I_p1 = base.cursor; 383 golab18: while(true) 384 { 385 lab19: { 386 if (!(base.in_grouping(g_v, 97, 252))) 387 { 388 break lab19; 389 } 390 break golab18; 391 } 392 if (base.cursor >= base.limit) 393 { 394 break lab13; 395 } 396 base.cursor++; 397 } 398 golab20: while(true) 399 { 400 lab21: { 401 if (!(base.out_grouping(g_v, 97, 252))) 402 { 403 break lab21; 404 } 405 break golab20; 406 } 407 if (base.cursor >= base.limit) 408 { 409 break lab13; 410 } 411 base.cursor++; 412 } 413 I_p2 = base.cursor; 414 } 415 base.cursor = v_8; 416 return true; 417 }; 418 419 /** @return {boolean} */ 420 function r_postlude() { 421 var /** number */ among_var; 422 while(true) 423 { 424 var /** number */ v_1 = base.cursor; 425 lab0: { 426 base.bra = base.cursor; 427 among_var = base.find_among(a_0); 428 if (among_var == 0) 429 { 430 break lab0; 431 } 432 base.ket = base.cursor; 433 switch (among_var) { 434 case 1: 435 if (!base.slice_from("a")) 436 { 437 return false; 438 } 439 break; 440 case 2: 441 if (!base.slice_from("e")) 442 { 443 return false; 444 } 445 break; 446 case 3: 447 if (!base.slice_from("i")) 448 { 449 return false; 450 } 451 break; 452 case 4: 453 if (!base.slice_from("o")) 454 { 455 return false; 456 } 457 break; 458 case 5: 459 if (!base.slice_from("u")) 460 { 461 return false; 462 } 463 break; 464 case 6: 465 if (base.cursor >= base.limit) 466 { 467 break lab0; 468 } 469 base.cursor++; 470 break; 471 } 472 continue; 473 } 474 base.cursor = v_1; 475 break; 476 } 477 return true; 478 }; 479 480 /** @return {boolean} */ 481 function r_RV() { 482 if (!(I_pV <= base.cursor)) 483 { 484 return false; 485 } 486 return true; 487 }; 488 489 /** @return {boolean} */ 490 function r_R1() { 491 if (!(I_p1 <= base.cursor)) 492 { 493 return false; 494 } 495 return true; 496 }; 497 498 /** @return {boolean} */ 499 function r_R2() { 500 if (!(I_p2 <= base.cursor)) 501 { 502 return false; 503 } 504 return true; 505 }; 506 507 /** @return {boolean} */ 508 function r_attached_pronoun() { 509 var /** number */ among_var; 510 base.ket = base.cursor; 511 if (base.find_among_b(a_1) == 0) 512 { 513 return false; 514 } 515 base.bra = base.cursor; 516 among_var = base.find_among_b(a_2); 517 if (among_var == 0) 518 { 519 return false; 520 } 521 if (!r_RV()) 522 { 523 return false; 524 } 525 switch (among_var) { 526 case 1: 527 base.bra = base.cursor; 528 if (!base.slice_from("iendo")) 529 { 530 return false; 531 } 532 break; 533 case 2: 534 base.bra = base.cursor; 535 if (!base.slice_from("ando")) 536 { 537 return false; 538 } 539 break; 540 case 3: 541 base.bra = base.cursor; 542 if (!base.slice_from("ar")) 543 { 544 return false; 545 } 546 break; 547 case 4: 548 base.bra = base.cursor; 549 if (!base.slice_from("er")) 550 { 551 return false; 552 } 553 break; 554 case 5: 555 base.bra = base.cursor; 556 if (!base.slice_from("ir")) 557 { 558 return false; 559 } 560 break; 561 case 6: 562 if (!base.slice_del()) 563 { 564 return false; 565 } 566 break; 567 case 7: 568 if (!(base.eq_s_b("u"))) 569 { 570 return false; 571 } 572 if (!base.slice_del()) 573 { 574 return false; 575 } 576 break; 577 } 578 return true; 579 }; 580 581 /** @return {boolean} */ 582 function r_standard_suffix() { 583 var /** number */ among_var; 584 base.ket = base.cursor; 585 among_var = base.find_among_b(a_6); 586 if (among_var == 0) 587 { 588 return false; 589 } 590 base.bra = base.cursor; 591 switch (among_var) { 592 case 1: 593 if (!r_R2()) 594 { 595 return false; 596 } 597 if (!base.slice_del()) 598 { 599 return false; 600 } 601 break; 602 case 2: 603 if (!r_R2()) 604 { 605 return false; 606 } 607 if (!base.slice_del()) 608 { 609 return false; 610 } 611 var /** number */ v_1 = base.limit - base.cursor; 612 lab0: { 613 base.ket = base.cursor; 614 if (!(base.eq_s_b("ic"))) 615 { 616 base.cursor = base.limit - v_1; 617 break lab0; 618 } 619 base.bra = base.cursor; 620 if (!r_R2()) 621 { 622 base.cursor = base.limit - v_1; 623 break lab0; 624 } 625 if (!base.slice_del()) 626 { 627 return false; 628 } 629 } 630 break; 631 case 3: 632 if (!r_R2()) 633 { 634 return false; 635 } 636 if (!base.slice_from("log")) 637 { 638 return false; 639 } 640 break; 641 case 4: 642 if (!r_R2()) 643 { 644 return false; 645 } 646 if (!base.slice_from("u")) 647 { 648 return false; 649 } 650 break; 651 case 5: 652 if (!r_R2()) 653 { 654 return false; 655 } 656 if (!base.slice_from("ente")) 657 { 658 return false; 659 } 660 break; 661 case 6: 662 if (!r_R1()) 663 { 664 return false; 665 } 666 if (!base.slice_del()) 667 { 668 return false; 669 } 670 var /** number */ v_2 = base.limit - base.cursor; 671 lab1: { 672 base.ket = base.cursor; 673 among_var = base.find_among_b(a_3); 674 if (among_var == 0) 675 { 676 base.cursor = base.limit - v_2; 677 break lab1; 678 } 679 base.bra = base.cursor; 680 if (!r_R2()) 681 { 682 base.cursor = base.limit - v_2; 683 break lab1; 684 } 685 if (!base.slice_del()) 686 { 687 return false; 688 } 689 switch (among_var) { 690 case 1: 691 base.ket = base.cursor; 692 if (!(base.eq_s_b("at"))) 693 { 694 base.cursor = base.limit - v_2; 695 break lab1; 696 } 697 base.bra = base.cursor; 698 if (!r_R2()) 699 { 700 base.cursor = base.limit - v_2; 701 break lab1; 702 } 703 if (!base.slice_del()) 704 { 705 return false; 706 } 707 break; 708 } 709 } 710 break; 711 case 7: 712 if (!r_R2()) 713 { 714 return false; 715 } 716 if (!base.slice_del()) 717 { 718 return false; 719 } 720 var /** number */ v_3 = base.limit - base.cursor; 721 lab2: { 722 base.ket = base.cursor; 723 if (base.find_among_b(a_4) == 0) 724 { 725 base.cursor = base.limit - v_3; 726 break lab2; 727 } 728 base.bra = base.cursor; 729 if (!r_R2()) 730 { 731 base.cursor = base.limit - v_3; 732 break lab2; 733 } 734 if (!base.slice_del()) 735 { 736 return false; 737 } 738 } 739 break; 740 case 8: 741 if (!r_R2()) 742 { 743 return false; 744 } 745 if (!base.slice_del()) 746 { 747 return false; 748 } 749 var /** number */ v_4 = base.limit - base.cursor; 750 lab3: { 751 base.ket = base.cursor; 752 if (base.find_among_b(a_5) == 0) 753 { 754 base.cursor = base.limit - v_4; 755 break lab3; 756 } 757 base.bra = base.cursor; 758 if (!r_R2()) 759 { 760 base.cursor = base.limit - v_4; 761 break lab3; 762 } 763 if (!base.slice_del()) 764 { 765 return false; 766 } 767 } 768 break; 769 case 9: 770 if (!r_R2()) 771 { 772 return false; 773 } 774 if (!base.slice_del()) 775 { 776 return false; 777 } 778 var /** number */ v_5 = base.limit - base.cursor; 779 lab4: { 780 base.ket = base.cursor; 781 if (!(base.eq_s_b("at"))) 782 { 783 base.cursor = base.limit - v_5; 784 break lab4; 785 } 786 base.bra = base.cursor; 787 if (!r_R2()) 788 { 789 base.cursor = base.limit - v_5; 790 break lab4; 791 } 792 if (!base.slice_del()) 793 { 794 return false; 795 } 796 } 797 break; 798 } 799 return true; 800 }; 801 802 /** @return {boolean} */ 803 function r_y_verb_suffix() { 804 if (base.cursor < I_pV) 805 { 806 return false; 807 } 808 var /** number */ v_2 = base.limit_backward; 809 base.limit_backward = I_pV; 810 base.ket = base.cursor; 811 if (base.find_among_b(a_7) == 0) 812 { 813 base.limit_backward = v_2; 814 return false; 815 } 816 base.bra = base.cursor; 817 base.limit_backward = v_2; 818 if (!(base.eq_s_b("u"))) 819 { 820 return false; 821 } 822 if (!base.slice_del()) 823 { 824 return false; 825 } 826 return true; 827 }; 828 829 /** @return {boolean} */ 830 function r_verb_suffix() { 831 var /** number */ among_var; 832 if (base.cursor < I_pV) 833 { 834 return false; 835 } 836 var /** number */ v_2 = base.limit_backward; 837 base.limit_backward = I_pV; 838 base.ket = base.cursor; 839 among_var = base.find_among_b(a_8); 840 if (among_var == 0) 841 { 842 base.limit_backward = v_2; 843 return false; 844 } 845 base.bra = base.cursor; 846 base.limit_backward = v_2; 847 switch (among_var) { 848 case 1: 849 var /** number */ v_3 = base.limit - base.cursor; 850 lab0: { 851 if (!(base.eq_s_b("u"))) 852 { 853 base.cursor = base.limit - v_3; 854 break lab0; 855 } 856 var /** number */ v_4 = base.limit - base.cursor; 857 if (!(base.eq_s_b("g"))) 858 { 859 base.cursor = base.limit - v_3; 860 break lab0; 861 } 862 base.cursor = base.limit - v_4; 863 } 864 base.bra = base.cursor; 865 if (!base.slice_del()) 866 { 867 return false; 868 } 869 break; 870 case 2: 871 if (!base.slice_del()) 872 { 873 return false; 874 } 875 break; 876 } 877 return true; 878 }; 879 880 /** @return {boolean} */ 881 function r_residual_suffix() { 882 var /** number */ among_var; 883 base.ket = base.cursor; 884 among_var = base.find_among_b(a_9); 885 if (among_var == 0) 886 { 887 return false; 888 } 889 base.bra = base.cursor; 890 switch (among_var) { 891 case 1: 892 if (!r_RV()) 893 { 894 return false; 895 } 896 if (!base.slice_del()) 897 { 898 return false; 899 } 900 break; 901 case 2: 902 if (!r_RV()) 903 { 904 return false; 905 } 906 if (!base.slice_del()) 907 { 908 return false; 909 } 910 var /** number */ v_1 = base.limit - base.cursor; 911 lab0: { 912 base.ket = base.cursor; 913 if (!(base.eq_s_b("u"))) 914 { 915 base.cursor = base.limit - v_1; 916 break lab0; 917 } 918 base.bra = base.cursor; 919 var /** number */ v_2 = base.limit - base.cursor; 920 if (!(base.eq_s_b("g"))) 921 { 922 base.cursor = base.limit - v_1; 923 break lab0; 924 } 925 base.cursor = base.limit - v_2; 926 if (!r_RV()) 927 { 928 base.cursor = base.limit - v_1; 929 break lab0; 930 } 931 if (!base.slice_del()) 932 { 933 return false; 934 } 935 } 936 break; 937 } 938 return true; 939 }; 940 941 this.stem = /** @return {boolean} */ function() { 942 r_mark_regions(); 943 base.limit_backward = base.cursor; base.cursor = base.limit; 944 var /** number */ v_2 = base.limit - base.cursor; 945 r_attached_pronoun(); 946 base.cursor = base.limit - v_2; 947 var /** number */ v_3 = base.limit - base.cursor; 948 lab0: { 949 lab1: { 950 var /** number */ v_4 = base.limit - base.cursor; 951 lab2: { 952 if (!r_standard_suffix()) 953 { 954 break lab2; 955 } 956 break lab1; 957 } 958 base.cursor = base.limit - v_4; 959 lab3: { 960 if (!r_y_verb_suffix()) 961 { 962 break lab3; 963 } 964 break lab1; 965 } 966 base.cursor = base.limit - v_4; 967 if (!r_verb_suffix()) 968 { 969 break lab0; 970 } 971 } 972 } 973 base.cursor = base.limit - v_3; 974 var /** number */ v_5 = base.limit - base.cursor; 975 r_residual_suffix(); 976 base.cursor = base.limit - v_5; 977 base.cursor = base.limit_backward; 978 var /** number */ v_6 = base.cursor; 979 r_postlude(); 980 base.cursor = v_6; 981 return true; 982 }; 983 984 /**@return{string}*/ 985 this['stemWord'] = function(/**string*/word) { 986 base.setCurrent(word); 987 this.stem(); 988 return base.getCurrent(); 989 }; 990}; 991