Coverage Report - org.tartarus.snowball.ext.finnishStemmer
 
Classes in this File Line Coverage Branch Coverage Complexity
finnishStemmer
0%
0/366
0%
0/171
12.8
 
 1  
 // This file was generated automatically by the Snowball to Java compiler
 2  
 
 3  
 package org.tartarus.snowball.ext;
 4  
 
 5  
 import org.tartarus.snowball.Among;
 6  
 
 7  
  /**
 8  
   * This class was automatically generated by a Snowball to Java compiler 
 9  
   * It implements the stemming algorithm defined by a snowball script.
 10  
   */
 11  
 
 12  0
 public class finnishStemmer extends org.tartarus.snowball.SnowballStemmer {
 13  
 
 14  
 private static final long serialVersionUID = 1L;
 15  
 
 16  0
         private final static finnishStemmer methodObject = new finnishStemmer ();
 17  
 
 18  0
                 private final static Among a_0[] = {
 19  
                     new Among ( "pa", -1, 1, "", methodObject ),
 20  
                     new Among ( "sti", -1, 2, "", methodObject ),
 21  
                     new Among ( "kaan", -1, 1, "", methodObject ),
 22  
                     new Among ( "han", -1, 1, "", methodObject ),
 23  
                     new Among ( "kin", -1, 1, "", methodObject ),
 24  
                     new Among ( "h\u00E4n", -1, 1, "", methodObject ),
 25  
                     new Among ( "k\u00E4\u00E4n", -1, 1, "", methodObject ),
 26  
                     new Among ( "ko", -1, 1, "", methodObject ),
 27  
                     new Among ( "p\u00E4", -1, 1, "", methodObject ),
 28  
                     new Among ( "k\u00F6", -1, 1, "", methodObject )
 29  
                 };
 30  
 
 31  0
                 private final static Among a_1[] = {
 32  
                     new Among ( "lla", -1, -1, "", methodObject ),
 33  
                     new Among ( "na", -1, -1, "", methodObject ),
 34  
                     new Among ( "ssa", -1, -1, "", methodObject ),
 35  
                     new Among ( "ta", -1, -1, "", methodObject ),
 36  
                     new Among ( "lta", 3, -1, "", methodObject ),
 37  
                     new Among ( "sta", 3, -1, "", methodObject )
 38  
                 };
 39  
 
 40  0
                 private final static Among a_2[] = {
 41  
                     new Among ( "ll\u00E4", -1, -1, "", methodObject ),
 42  
                     new Among ( "n\u00E4", -1, -1, "", methodObject ),
 43  
                     new Among ( "ss\u00E4", -1, -1, "", methodObject ),
 44  
                     new Among ( "t\u00E4", -1, -1, "", methodObject ),
 45  
                     new Among ( "lt\u00E4", 3, -1, "", methodObject ),
 46  
                     new Among ( "st\u00E4", 3, -1, "", methodObject )
 47  
                 };
 48  
 
 49  0
                 private final static Among a_3[] = {
 50  
                     new Among ( "lle", -1, -1, "", methodObject ),
 51  
                     new Among ( "ine", -1, -1, "", methodObject )
 52  
                 };
 53  
 
 54  0
                 private final static Among a_4[] = {
 55  
                     new Among ( "nsa", -1, 3, "", methodObject ),
 56  
                     new Among ( "mme", -1, 3, "", methodObject ),
 57  
                     new Among ( "nne", -1, 3, "", methodObject ),
 58  
                     new Among ( "ni", -1, 2, "", methodObject ),
 59  
                     new Among ( "si", -1, 1, "", methodObject ),
 60  
                     new Among ( "an", -1, 4, "", methodObject ),
 61  
                     new Among ( "en", -1, 6, "", methodObject ),
 62  
                     new Among ( "\u00E4n", -1, 5, "", methodObject ),
 63  
                     new Among ( "ns\u00E4", -1, 3, "", methodObject )
 64  
                 };
 65  
 
 66  0
                 private final static Among a_5[] = {
 67  
                     new Among ( "aa", -1, -1, "", methodObject ),
 68  
                     new Among ( "ee", -1, -1, "", methodObject ),
 69  
                     new Among ( "ii", -1, -1, "", methodObject ),
 70  
                     new Among ( "oo", -1, -1, "", methodObject ),
 71  
                     new Among ( "uu", -1, -1, "", methodObject ),
 72  
                     new Among ( "\u00E4\u00E4", -1, -1, "", methodObject ),
 73  
                     new Among ( "\u00F6\u00F6", -1, -1, "", methodObject )
 74  
                 };
 75  
 
 76  0
                 private final static Among a_6[] = {
 77  
                     new Among ( "a", -1, 8, "", methodObject ),
 78  
                     new Among ( "lla", 0, -1, "", methodObject ),
 79  
                     new Among ( "na", 0, -1, "", methodObject ),
 80  
                     new Among ( "ssa", 0, -1, "", methodObject ),
 81  
                     new Among ( "ta", 0, -1, "", methodObject ),
 82  
                     new Among ( "lta", 4, -1, "", methodObject ),
 83  
                     new Among ( "sta", 4, -1, "", methodObject ),
 84  
                     new Among ( "tta", 4, 9, "", methodObject ),
 85  
                     new Among ( "lle", -1, -1, "", methodObject ),
 86  
                     new Among ( "ine", -1, -1, "", methodObject ),
 87  
                     new Among ( "ksi", -1, -1, "", methodObject ),
 88  
                     new Among ( "n", -1, 7, "", methodObject ),
 89  
                     new Among ( "han", 11, 1, "", methodObject ),
 90  
                     new Among ( "den", 11, -1, "r_VI", methodObject ),
 91  
                     new Among ( "seen", 11, -1, "r_LONG", methodObject ),
 92  
                     new Among ( "hen", 11, 2, "", methodObject ),
 93  
                     new Among ( "tten", 11, -1, "r_VI", methodObject ),
 94  
                     new Among ( "hin", 11, 3, "", methodObject ),
 95  
                     new Among ( "siin", 11, -1, "r_VI", methodObject ),
 96  
                     new Among ( "hon", 11, 4, "", methodObject ),
 97  
                     new Among ( "h\u00E4n", 11, 5, "", methodObject ),
 98  
                     new Among ( "h\u00F6n", 11, 6, "", methodObject ),
 99  
                     new Among ( "\u00E4", -1, 8, "", methodObject ),
 100  
                     new Among ( "ll\u00E4", 22, -1, "", methodObject ),
 101  
                     new Among ( "n\u00E4", 22, -1, "", methodObject ),
 102  
                     new Among ( "ss\u00E4", 22, -1, "", methodObject ),
 103  
                     new Among ( "t\u00E4", 22, -1, "", methodObject ),
 104  
                     new Among ( "lt\u00E4", 26, -1, "", methodObject ),
 105  
                     new Among ( "st\u00E4", 26, -1, "", methodObject ),
 106  
                     new Among ( "tt\u00E4", 26, 9, "", methodObject )
 107  
                 };
 108  
 
 109  0
                 private final static Among a_7[] = {
 110  
                     new Among ( "eja", -1, -1, "", methodObject ),
 111  
                     new Among ( "mma", -1, 1, "", methodObject ),
 112  
                     new Among ( "imma", 1, -1, "", methodObject ),
 113  
                     new Among ( "mpa", -1, 1, "", methodObject ),
 114  
                     new Among ( "impa", 3, -1, "", methodObject ),
 115  
                     new Among ( "mmi", -1, 1, "", methodObject ),
 116  
                     new Among ( "immi", 5, -1, "", methodObject ),
 117  
                     new Among ( "mpi", -1, 1, "", methodObject ),
 118  
                     new Among ( "impi", 7, -1, "", methodObject ),
 119  
                     new Among ( "ej\u00E4", -1, -1, "", methodObject ),
 120  
                     new Among ( "mm\u00E4", -1, 1, "", methodObject ),
 121  
                     new Among ( "imm\u00E4", 10, -1, "", methodObject ),
 122  
                     new Among ( "mp\u00E4", -1, 1, "", methodObject ),
 123  
                     new Among ( "imp\u00E4", 12, -1, "", methodObject )
 124  
                 };
 125  
 
 126  0
                 private final static Among a_8[] = {
 127  
                     new Among ( "i", -1, -1, "", methodObject ),
 128  
                     new Among ( "j", -1, -1, "", methodObject )
 129  
                 };
 130  
 
 131  0
                 private final static Among a_9[] = {
 132  
                     new Among ( "mma", -1, 1, "", methodObject ),
 133  
                     new Among ( "imma", 0, -1, "", methodObject )
 134  
                 };
 135  
 
 136  0
                 private static final char g_AEI[] = {17, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8 };
 137  
 
 138  0
                 private static final char g_V1[] = {17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 32 };
 139  
 
 140  0
                 private static final char g_V2[] = {17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 32 };
 141  
 
 142  0
                 private static final char g_particle_end[] = {17, 97, 24, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 32 };
 143  
 
 144  
         private boolean B_ending_removed;
 145  0
         private java.lang.StringBuilder S_x = new java.lang.StringBuilder();
 146  
         private int I_p2;
 147  
         private int I_p1;
 148  
 
 149  
                 private void copy_from(finnishStemmer other) {
 150  0
                     B_ending_removed = other.B_ending_removed;
 151  0
                     S_x = other.S_x;
 152  0
                     I_p2 = other.I_p2;
 153  0
                     I_p1 = other.I_p1;
 154  0
                     super.copy_from(other);
 155  0
                 }
 156  
 
 157  
                 private boolean r_mark_regions() {
 158  
             int v_1;
 159  
             int v_3;
 160  
                     // (, line 41
 161  0
                     I_p1 = limit;
 162  0
                     I_p2 = limit;
 163  
                     // goto, line 46
 164  
                     golab0: while(true)
 165  
                     {
 166  0
                         v_1 = cursor;
 167  
                         lab1: do {
 168  0
                             if (!(in_grouping(g_V1, 97, 246)))
 169  
                             {
 170  0
                                 break lab1;
 171  
                             }
 172  0
                             cursor = v_1;
 173  0
                             break golab0;
 174  
                         } while (false);
 175  0
                         cursor = v_1;
 176  0
                         if (cursor >= limit)
 177  
                         {
 178  0
                             return false;
 179  
                         }
 180  0
                         cursor++;
 181  
                     }
 182  
                     // gopast, line 46
 183  
                     golab2: while(true)
 184  
                     {
 185  
                         lab3: do {
 186  0
                             if (!(out_grouping(g_V1, 97, 246)))
 187  
                             {
 188  
                                 break lab3;
 189  
                             }
 190  
                             break golab2;
 191  
                         } while (false);
 192  0
                         if (cursor >= limit)
 193  
                         {
 194  0
                             return false;
 195  
                         }
 196  0
                         cursor++;
 197  
                     }
 198  
                     // setmark p1, line 46
 199  0
                     I_p1 = cursor;
 200  
                     // goto, line 47
 201  
                     golab4: while(true)
 202  
                     {
 203  0
                         v_3 = cursor;
 204  
                         lab5: do {
 205  0
                             if (!(in_grouping(g_V1, 97, 246)))
 206  
                             {
 207  0
                                 break lab5;
 208  
                             }
 209  0
                             cursor = v_3;
 210  0
                             break golab4;
 211  
                         } while (false);
 212  0
                         cursor = v_3;
 213  0
                         if (cursor >= limit)
 214  
                         {
 215  0
                             return false;
 216  
                         }
 217  0
                         cursor++;
 218  
                     }
 219  
                     // gopast, line 47
 220  
                     golab6: while(true)
 221  
                     {
 222  
                         lab7: do {
 223  0
                             if (!(out_grouping(g_V1, 97, 246)))
 224  
                             {
 225  
                                 break lab7;
 226  
                             }
 227  
                             break golab6;
 228  
                         } while (false);
 229  0
                         if (cursor >= limit)
 230  
                         {
 231  0
                             return false;
 232  
                         }
 233  0
                         cursor++;
 234  
                     }
 235  
                     // setmark p2, line 47
 236  0
                     I_p2 = cursor;
 237  0
                     return true;
 238  
                 }
 239  
 
 240  
                 private boolean r_R2() {
 241  0
                     if (!(I_p2 <= cursor))
 242  
                     {
 243  0
                         return false;
 244  
                     }
 245  0
                     return true;
 246  
                 }
 247  
 
 248  
                 private boolean r_particle_etc() {
 249  
             int among_var;
 250  
             int v_1;
 251  
             int v_2;
 252  
                     // (, line 54
 253  
                     // setlimit, line 55
 254  0
                     v_1 = limit - cursor;
 255  
                     // tomark, line 55
 256  0
                     if (cursor < I_p1)
 257  
                     {
 258  0
                         return false;
 259  
                     }
 260  0
                     cursor = I_p1;
 261  0
                     v_2 = limit_backward;
 262  0
                     limit_backward = cursor;
 263  0
                     cursor = limit - v_1;
 264  
                     // (, line 55
 265  
                     // [, line 55
 266  0
                     ket = cursor;
 267  
                     // substring, line 55
 268  0
                     among_var = find_among_b(a_0, 10);
 269  0
                     if (among_var == 0)
 270  
                     {
 271  0
                         limit_backward = v_2;
 272  0
                         return false;
 273  
                     }
 274  
                     // ], line 55
 275  0
                     bra = cursor;
 276  0
                     limit_backward = v_2;
 277  0
                     switch(among_var) {
 278  
                         case 0:
 279  0
                             return false;
 280  
                         case 1:
 281  
                             // (, line 62
 282  0
                             if (!(in_grouping_b(g_particle_end, 97, 246)))
 283  
                             {
 284  0
                                 return false;
 285  
                             }
 286  
                             break;
 287  
                         case 2:
 288  
                             // (, line 64
 289  
                             // call R2, line 64
 290  0
                             if (!r_R2())
 291  
                             {
 292  0
                                 return false;
 293  
                             }
 294  
                             break;
 295  
                     }
 296  
                     // delete, line 66
 297  0
                     slice_del();
 298  0
                     return true;
 299  
                 }
 300  
 
 301  
                 private boolean r_possessive() {
 302  
             int among_var;
 303  
             int v_1;
 304  
             int v_2;
 305  
             int v_3;
 306  
                     // (, line 68
 307  
                     // setlimit, line 69
 308  0
                     v_1 = limit - cursor;
 309  
                     // tomark, line 69
 310  0
                     if (cursor < I_p1)
 311  
                     {
 312  0
                         return false;
 313  
                     }
 314  0
                     cursor = I_p1;
 315  0
                     v_2 = limit_backward;
 316  0
                     limit_backward = cursor;
 317  0
                     cursor = limit - v_1;
 318  
                     // (, line 69
 319  
                     // [, line 69
 320  0
                     ket = cursor;
 321  
                     // substring, line 69
 322  0
                     among_var = find_among_b(a_4, 9);
 323  0
                     if (among_var == 0)
 324  
                     {
 325  0
                         limit_backward = v_2;
 326  0
                         return false;
 327  
                     }
 328  
                     // ], line 69
 329  0
                     bra = cursor;
 330  0
                     limit_backward = v_2;
 331  0
                     switch(among_var) {
 332  
                         case 0:
 333  0
                             return false;
 334  
                         case 1:
 335  
                             // (, line 72
 336  
                             // not, line 72
 337  
                             {
 338  0
                                 v_3 = limit - cursor;
 339  
                                 lab0: do {
 340  
                                     // literal, line 72
 341  0
                                     if (!(eq_s_b(1, "k")))
 342  
                                     {
 343  0
                                         break lab0;
 344  
                                     }
 345  0
                                     return false;
 346  
                                 } while (false);
 347  0
                                 cursor = limit - v_3;
 348  
                             }
 349  
                             // delete, line 72
 350  0
                             slice_del();
 351  0
                             break;
 352  
                         case 2:
 353  
                             // (, line 74
 354  
                             // delete, line 74
 355  0
                             slice_del();
 356  
                             // [, line 74
 357  0
                             ket = cursor;
 358  
                             // literal, line 74
 359  0
                             if (!(eq_s_b(3, "kse")))
 360  
                             {
 361  0
                                 return false;
 362  
                             }
 363  
                             // ], line 74
 364  0
                             bra = cursor;
 365  
                             // <-, line 74
 366  0
                             slice_from("ksi");
 367  0
                             break;
 368  
                         case 3:
 369  
                             // (, line 78
 370  
                             // delete, line 78
 371  0
                             slice_del();
 372  0
                             break;
 373  
                         case 4:
 374  
                             // (, line 81
 375  
                             // among, line 81
 376  0
                             if (find_among_b(a_1, 6) == 0)
 377  
                             {
 378  0
                                 return false;
 379  
                             }
 380  
                             // delete, line 81
 381  0
                             slice_del();
 382  0
                             break;
 383  
                         case 5:
 384  
                             // (, line 83
 385  
                             // among, line 83
 386  0
                             if (find_among_b(a_2, 6) == 0)
 387  
                             {
 388  0
                                 return false;
 389  
                             }
 390  
                             // delete, line 84
 391  0
                             slice_del();
 392  0
                             break;
 393  
                         case 6:
 394  
                             // (, line 86
 395  
                             // among, line 86
 396  0
                             if (find_among_b(a_3, 2) == 0)
 397  
                             {
 398  0
                                 return false;
 399  
                             }
 400  
                             // delete, line 86
 401  0
                             slice_del();
 402  
                             break;
 403  
                     }
 404  0
                     return true;
 405  
                 }
 406  
 
 407  
                 private boolean r_LONG() {
 408  
                     // among, line 91
 409  0
                     if (find_among_b(a_5, 7) == 0)
 410  
                     {
 411  0
                         return false;
 412  
                     }
 413  0
                     return true;
 414  
                 }
 415  
 
 416  
                 private boolean r_VI() {
 417  
                     // (, line 93
 418  
                     // literal, line 93
 419  0
                     if (!(eq_s_b(1, "i")))
 420  
                     {
 421  0
                         return false;
 422  
                     }
 423  0
                     if (!(in_grouping_b(g_V2, 97, 246)))
 424  
                     {
 425  0
                         return false;
 426  
                     }
 427  0
                     return true;
 428  
                 }
 429  
 
 430  
                 private boolean r_case_ending() {
 431  
             int among_var;
 432  
             int v_1;
 433  
             int v_2;
 434  
             int v_3;
 435  
             int v_4;
 436  
             int v_5;
 437  
                     // (, line 95
 438  
                     // setlimit, line 96
 439  0
                     v_1 = limit - cursor;
 440  
                     // tomark, line 96
 441  0
                     if (cursor < I_p1)
 442  
                     {
 443  0
                         return false;
 444  
                     }
 445  0
                     cursor = I_p1;
 446  0
                     v_2 = limit_backward;
 447  0
                     limit_backward = cursor;
 448  0
                     cursor = limit - v_1;
 449  
                     // (, line 96
 450  
                     // [, line 96
 451  0
                     ket = cursor;
 452  
                     // substring, line 96
 453  0
                     among_var = find_among_b(a_6, 30);
 454  0
                     if (among_var == 0)
 455  
                     {
 456  0
                         limit_backward = v_2;
 457  0
                         return false;
 458  
                     }
 459  
                     // ], line 96
 460  0
                     bra = cursor;
 461  0
                     limit_backward = v_2;
 462  0
                     switch(among_var) {
 463  
                         case 0:
 464  0
                             return false;
 465  
                         case 1:
 466  
                             // (, line 98
 467  
                             // literal, line 98
 468  0
                             if (!(eq_s_b(1, "a")))
 469  
                             {
 470  0
                                 return false;
 471  
                             }
 472  
                             break;
 473  
                         case 2:
 474  
                             // (, line 99
 475  
                             // literal, line 99
 476  0
                             if (!(eq_s_b(1, "e")))
 477  
                             {
 478  0
                                 return false;
 479  
                             }
 480  
                             break;
 481  
                         case 3:
 482  
                             // (, line 100
 483  
                             // literal, line 100
 484  0
                             if (!(eq_s_b(1, "i")))
 485  
                             {
 486  0
                                 return false;
 487  
                             }
 488  
                             break;
 489  
                         case 4:
 490  
                             // (, line 101
 491  
                             // literal, line 101
 492  0
                             if (!(eq_s_b(1, "o")))
 493  
                             {
 494  0
                                 return false;
 495  
                             }
 496  
                             break;
 497  
                         case 5:
 498  
                             // (, line 102
 499  
                             // literal, line 102
 500  0
                             if (!(eq_s_b(1, "\u00E4")))
 501  
                             {
 502  0
                                 return false;
 503  
                             }
 504  
                             break;
 505  
                         case 6:
 506  
                             // (, line 103
 507  
                             // literal, line 103
 508  0
                             if (!(eq_s_b(1, "\u00F6")))
 509  
                             {
 510  0
                                 return false;
 511  
                             }
 512  
                             break;
 513  
                         case 7:
 514  
                             // (, line 111
 515  
                             // try, line 111
 516  0
                             v_3 = limit - cursor;
 517  
                             lab0: do {
 518  
                                 // (, line 111
 519  
                                 // and, line 113
 520  0
                                 v_4 = limit - cursor;
 521  
                                 // or, line 112
 522  
                                 lab1: do {
 523  0
                                     v_5 = limit - cursor;
 524  
                                     lab2: do {
 525  
                                         // call LONG, line 111
 526  0
                                         if (!r_LONG())
 527  
                                         {
 528  
                                             break lab2;
 529  
                                         }
 530  
                                         break lab1;
 531  
                                     } while (false);
 532  0
                                     cursor = limit - v_5;
 533  
                                     // literal, line 112
 534  0
                                     if (!(eq_s_b(2, "ie")))
 535  
                                     {
 536  0
                                         cursor = limit - v_3;
 537  0
                                         break lab0;
 538  
                                     }
 539  
                                 } while (false);
 540  0
                                 cursor = limit - v_4;
 541  
                                 // next, line 113
 542  0
                                 if (cursor <= limit_backward)
 543  
                                 {
 544  0
                                     cursor = limit - v_3;
 545  0
                                     break lab0;
 546  
                                 }
 547  0
                                 cursor--;
 548  
                                 // ], line 113
 549  0
                                 bra = cursor;
 550  
                             } while (false);
 551  0
                             break;
 552  
                         case 8:
 553  
                             // (, line 119
 554  0
                             if (!(in_grouping_b(g_V1, 97, 246)))
 555  
                             {
 556  0
                                 return false;
 557  
                             }
 558  0
                             if (!(out_grouping_b(g_V1, 97, 246)))
 559  
                             {
 560  0
                                 return false;
 561  
                             }
 562  
                             break;
 563  
                         case 9:
 564  
                             // (, line 121
 565  
                             // literal, line 121
 566  0
                             if (!(eq_s_b(1, "e")))
 567  
                             {
 568  0
                                 return false;
 569  
                             }
 570  
                             break;
 571  
                     }
 572  
                     // delete, line 138
 573  0
                     slice_del();
 574  
                     // set ending_removed, line 139
 575  0
                     B_ending_removed = true;
 576  0
                     return true;
 577  
                 }
 578  
 
 579  
                 private boolean r_other_endings() {
 580  
             int among_var;
 581  
             int v_1;
 582  
             int v_2;
 583  
             int v_3;
 584  
                     // (, line 141
 585  
                     // setlimit, line 142
 586  0
                     v_1 = limit - cursor;
 587  
                     // tomark, line 142
 588  0
                     if (cursor < I_p2)
 589  
                     {
 590  0
                         return false;
 591  
                     }
 592  0
                     cursor = I_p2;
 593  0
                     v_2 = limit_backward;
 594  0
                     limit_backward = cursor;
 595  0
                     cursor = limit - v_1;
 596  
                     // (, line 142
 597  
                     // [, line 142
 598  0
                     ket = cursor;
 599  
                     // substring, line 142
 600  0
                     among_var = find_among_b(a_7, 14);
 601  0
                     if (among_var == 0)
 602  
                     {
 603  0
                         limit_backward = v_2;
 604  0
                         return false;
 605  
                     }
 606  
                     // ], line 142
 607  0
                     bra = cursor;
 608  0
                     limit_backward = v_2;
 609  0
                     switch(among_var) {
 610  
                         case 0:
 611  0
                             return false;
 612  
                         case 1:
 613  
                             // (, line 146
 614  
                             // not, line 146
 615  
                             {
 616  0
                                 v_3 = limit - cursor;
 617  
                                 lab0: do {
 618  
                                     // literal, line 146
 619  0
                                     if (!(eq_s_b(2, "po")))
 620  
                                     {
 621  0
                                         break lab0;
 622  
                                     }
 623  0
                                     return false;
 624  
                                 } while (false);
 625  0
                                 cursor = limit - v_3;
 626  
                             }
 627  
                             break;
 628  
                     }
 629  
                     // delete, line 151
 630  0
                     slice_del();
 631  0
                     return true;
 632  
                 }
 633  
 
 634  
                 private boolean r_i_plural() {
 635  
             int v_1;
 636  
             int v_2;
 637  
                     // (, line 153
 638  
                     // setlimit, line 154
 639  0
                     v_1 = limit - cursor;
 640  
                     // tomark, line 154
 641  0
                     if (cursor < I_p1)
 642  
                     {
 643  0
                         return false;
 644  
                     }
 645  0
                     cursor = I_p1;
 646  0
                     v_2 = limit_backward;
 647  0
                     limit_backward = cursor;
 648  0
                     cursor = limit - v_1;
 649  
                     // (, line 154
 650  
                     // [, line 154
 651  0
                     ket = cursor;
 652  
                     // substring, line 154
 653  0
                     if (find_among_b(a_8, 2) == 0)
 654  
                     {
 655  0
                         limit_backward = v_2;
 656  0
                         return false;
 657  
                     }
 658  
                     // ], line 154
 659  0
                     bra = cursor;
 660  0
                     limit_backward = v_2;
 661  
                     // delete, line 158
 662  0
                     slice_del();
 663  0
                     return true;
 664  
                 }
 665  
 
 666  
                 private boolean r_t_plural() {
 667  
             int among_var;
 668  
             int v_1;
 669  
             int v_2;
 670  
             int v_3;
 671  
             int v_4;
 672  
             int v_5;
 673  
             int v_6;
 674  
                     // (, line 160
 675  
                     // setlimit, line 161
 676  0
                     v_1 = limit - cursor;
 677  
                     // tomark, line 161
 678  0
                     if (cursor < I_p1)
 679  
                     {
 680  0
                         return false;
 681  
                     }
 682  0
                     cursor = I_p1;
 683  0
                     v_2 = limit_backward;
 684  0
                     limit_backward = cursor;
 685  0
                     cursor = limit - v_1;
 686  
                     // (, line 161
 687  
                     // [, line 162
 688  0
                     ket = cursor;
 689  
                     // literal, line 162
 690  0
                     if (!(eq_s_b(1, "t")))
 691  
                     {
 692  0
                         limit_backward = v_2;
 693  0
                         return false;
 694  
                     }
 695  
                     // ], line 162
 696  0
                     bra = cursor;
 697  
                     // test, line 162
 698  0
                     v_3 = limit - cursor;
 699  0
                     if (!(in_grouping_b(g_V1, 97, 246)))
 700  
                     {
 701  0
                         limit_backward = v_2;
 702  0
                         return false;
 703  
                     }
 704  0
                     cursor = limit - v_3;
 705  
                     // delete, line 163
 706  0
                     slice_del();
 707  0
                     limit_backward = v_2;
 708  
                     // setlimit, line 165
 709  0
                     v_4 = limit - cursor;
 710  
                     // tomark, line 165
 711  0
                     if (cursor < I_p2)
 712  
                     {
 713  0
                         return false;
 714  
                     }
 715  0
                     cursor = I_p2;
 716  0
                     v_5 = limit_backward;
 717  0
                     limit_backward = cursor;
 718  0
                     cursor = limit - v_4;
 719  
                     // (, line 165
 720  
                     // [, line 165
 721  0
                     ket = cursor;
 722  
                     // substring, line 165
 723  0
                     among_var = find_among_b(a_9, 2);
 724  0
                     if (among_var == 0)
 725  
                     {
 726  0
                         limit_backward = v_5;
 727  0
                         return false;
 728  
                     }
 729  
                     // ], line 165
 730  0
                     bra = cursor;
 731  0
                     limit_backward = v_5;
 732  0
                     switch(among_var) {
 733  
                         case 0:
 734  0
                             return false;
 735  
                         case 1:
 736  
                             // (, line 167
 737  
                             // not, line 167
 738  
                             {
 739  0
                                 v_6 = limit - cursor;
 740  
                                 lab0: do {
 741  
                                     // literal, line 167
 742  0
                                     if (!(eq_s_b(2, "po")))
 743  
                                     {
 744  0
                                         break lab0;
 745  
                                     }
 746  0
                                     return false;
 747  
                                 } while (false);
 748  0
                                 cursor = limit - v_6;
 749  
                             }
 750  
                             break;
 751  
                     }
 752  
                     // delete, line 170
 753  0
                     slice_del();
 754  0
                     return true;
 755  
                 }
 756  
 
 757  
                 private boolean r_tidy() {
 758  
             int v_1;
 759  
             int v_2;
 760  
             int v_3;
 761  
             int v_4;
 762  
             int v_5;
 763  
             int v_6;
 764  
             int v_7;
 765  
             int v_8;
 766  
             int v_9;
 767  
                     // (, line 172
 768  
                     // setlimit, line 173
 769  0
                     v_1 = limit - cursor;
 770  
                     // tomark, line 173
 771  0
                     if (cursor < I_p1)
 772  
                     {
 773  0
                         return false;
 774  
                     }
 775  0
                     cursor = I_p1;
 776  0
                     v_2 = limit_backward;
 777  0
                     limit_backward = cursor;
 778  0
                     cursor = limit - v_1;
 779  
                     // (, line 173
 780  
                     // do, line 174
 781  0
                     v_3 = limit - cursor;
 782  
                     lab0: do {
 783  
                         // (, line 174
 784  
                         // and, line 174
 785  0
                         v_4 = limit - cursor;
 786  
                         // call LONG, line 174
 787  0
                         if (!r_LONG())
 788  
                         {
 789  0
                             break lab0;
 790  
                         }
 791  0
                         cursor = limit - v_4;
 792  
                         // (, line 174
 793  
                         // [, line 174
 794  0
                         ket = cursor;
 795  
                         // next, line 174
 796  0
                         if (cursor <= limit_backward)
 797  
                         {
 798  0
                             break lab0;
 799  
                         }
 800  0
                         cursor--;
 801  
                         // ], line 174
 802  0
                         bra = cursor;
 803  
                         // delete, line 174
 804  0
                         slice_del();
 805  
                     } while (false);
 806  0
                     cursor = limit - v_3;
 807  
                     // do, line 175
 808  0
                     v_5 = limit - cursor;
 809  
                     lab1: do {
 810  
                         // (, line 175
 811  
                         // [, line 175
 812  0
                         ket = cursor;
 813  0
                         if (!(in_grouping_b(g_AEI, 97, 228)))
 814  
                         {
 815  0
                             break lab1;
 816  
                         }
 817  
                         // ], line 175
 818  0
                         bra = cursor;
 819  0
                         if (!(out_grouping_b(g_V1, 97, 246)))
 820  
                         {
 821  0
                             break lab1;
 822  
                         }
 823  
                         // delete, line 175
 824  0
                         slice_del();
 825  
                     } while (false);
 826  0
                     cursor = limit - v_5;
 827  
                     // do, line 176
 828  0
                     v_6 = limit - cursor;
 829  
                     lab2: do {
 830  
                         // (, line 176
 831  
                         // [, line 176
 832  0
                         ket = cursor;
 833  
                         // literal, line 176
 834  0
                         if (!(eq_s_b(1, "j")))
 835  
                         {
 836  0
                             break lab2;
 837  
                         }
 838  
                         // ], line 176
 839  0
                         bra = cursor;
 840  
                         // or, line 176
 841  
                         lab3: do {
 842  0
                             v_7 = limit - cursor;
 843  
                             lab4: do {
 844  
                                 // literal, line 176
 845  0
                                 if (!(eq_s_b(1, "o")))
 846  
                                 {
 847  
                                     break lab4;
 848  
                                 }
 849  
                                 break lab3;
 850  
                             } while (false);
 851  0
                             cursor = limit - v_7;
 852  
                             // literal, line 176
 853  0
                             if (!(eq_s_b(1, "u")))
 854  
                             {
 855  0
                                 break lab2;
 856  
                             }
 857  
                         } while (false);
 858  
                         // delete, line 176
 859  0
                         slice_del();
 860  
                     } while (false);
 861  0
                     cursor = limit - v_6;
 862  
                     // do, line 177
 863  0
                     v_8 = limit - cursor;
 864  
                     lab5: do {
 865  
                         // (, line 177
 866  
                         // [, line 177
 867  0
                         ket = cursor;
 868  
                         // literal, line 177
 869  0
                         if (!(eq_s_b(1, "o")))
 870  
                         {
 871  0
                             break lab5;
 872  
                         }
 873  
                         // ], line 177
 874  0
                         bra = cursor;
 875  
                         // literal, line 177
 876  0
                         if (!(eq_s_b(1, "j")))
 877  
                         {
 878  0
                             break lab5;
 879  
                         }
 880  
                         // delete, line 177
 881  0
                         slice_del();
 882  
                     } while (false);
 883  0
                     cursor = limit - v_8;
 884  0
                     limit_backward = v_2;
 885  
                     // goto, line 179
 886  
                     golab6: while(true)
 887  
                     {
 888  0
                         v_9 = limit - cursor;
 889  
                         lab7: do {
 890  0
                             if (!(out_grouping_b(g_V1, 97, 246)))
 891  
                             {
 892  0
                                 break lab7;
 893  
                             }
 894  0
                             cursor = limit - v_9;
 895  0
                             break golab6;
 896  
                         } while (false);
 897  0
                         cursor = limit - v_9;
 898  0
                         if (cursor <= limit_backward)
 899  
                         {
 900  0
                             return false;
 901  
                         }
 902  0
                         cursor--;
 903  
                     }
 904  
                     // [, line 179
 905  0
                     ket = cursor;
 906  
                     // next, line 179
 907  0
                     if (cursor <= limit_backward)
 908  
                     {
 909  0
                         return false;
 910  
                     }
 911  0
                     cursor--;
 912  
                     // ], line 179
 913  0
                     bra = cursor;
 914  
                     // -> x, line 179
 915  0
                     S_x = slice_to(S_x);
 916  
                     // name x, line 179
 917  0
                     if (!(eq_v_b(S_x)))
 918  
                     {
 919  0
                         return false;
 920  
                     }
 921  
                     // delete, line 179
 922  0
                     slice_del();
 923  0
                     return true;
 924  
                 }
 925  
 
 926  
                 public boolean stem() {
 927  
             int v_1;
 928  
             int v_2;
 929  
             int v_3;
 930  
             int v_4;
 931  
             int v_5;
 932  
             int v_6;
 933  
             int v_7;
 934  
             int v_8;
 935  
             int v_9;
 936  
                     // (, line 183
 937  
                     // do, line 185
 938  0
                     v_1 = cursor;
 939  
                     lab0: do {
 940  
                         // call mark_regions, line 185
 941  0
                         if (!r_mark_regions())
 942  
                         {
 943  
                             break lab0;
 944  
                         }
 945  
                     } while (false);
 946  0
                     cursor = v_1;
 947  
                     // unset ending_removed, line 186
 948  0
                     B_ending_removed = false;
 949  
                     // backwards, line 187
 950  0
                     limit_backward = cursor; cursor = limit;
 951  
                     // (, line 187
 952  
                     // do, line 188
 953  0
                     v_2 = limit - cursor;
 954  
                     lab1: do {
 955  
                         // call particle_etc, line 188
 956  0
                         if (!r_particle_etc())
 957  
                         {
 958  
                             break lab1;
 959  
                         }
 960  
                     } while (false);
 961  0
                     cursor = limit - v_2;
 962  
                     // do, line 189
 963  0
                     v_3 = limit - cursor;
 964  
                     lab2: do {
 965  
                         // call possessive, line 189
 966  0
                         if (!r_possessive())
 967  
                         {
 968  
                             break lab2;
 969  
                         }
 970  
                     } while (false);
 971  0
                     cursor = limit - v_3;
 972  
                     // do, line 190
 973  0
                     v_4 = limit - cursor;
 974  
                     lab3: do {
 975  
                         // call case_ending, line 190
 976  0
                         if (!r_case_ending())
 977  
                         {
 978  
                             break lab3;
 979  
                         }
 980  
                     } while (false);
 981  0
                     cursor = limit - v_4;
 982  
                     // do, line 191
 983  0
                     v_5 = limit - cursor;
 984  
                     lab4: do {
 985  
                         // call other_endings, line 191
 986  0
                         if (!r_other_endings())
 987  
                         {
 988  
                             break lab4;
 989  
                         }
 990  
                     } while (false);
 991  0
                     cursor = limit - v_5;
 992  
                     // or, line 192
 993  
                     lab5: do {
 994  0
                         v_6 = limit - cursor;
 995  
                         lab6: do {
 996  
                             // (, line 192
 997  
                             // Boolean test ending_removed, line 192
 998  0
                             if (!(B_ending_removed))
 999  
                             {
 1000  0
                                 break lab6;
 1001  
                             }
 1002  
                             // do, line 192
 1003  0
                             v_7 = limit - cursor;
 1004  
                             lab7: do {
 1005  
                                 // call i_plural, line 192
 1006  0
                                 if (!r_i_plural())
 1007  
                                 {
 1008  
                                     break lab7;
 1009  
                                 }
 1010  
                             } while (false);
 1011  0
                             cursor = limit - v_7;
 1012  0
                             break lab5;
 1013  
                         } while (false);
 1014  0
                         cursor = limit - v_6;
 1015  
                         // do, line 192
 1016  0
                         v_8 = limit - cursor;
 1017  
                         lab8: do {
 1018  
                             // call t_plural, line 192
 1019  0
                             if (!r_t_plural())
 1020  
                             {
 1021  
                                 break lab8;
 1022  
                             }
 1023  
                         } while (false);
 1024  0
                         cursor = limit - v_8;
 1025  
                     } while (false);
 1026  
                     // do, line 193
 1027  0
                     v_9 = limit - cursor;
 1028  
                     lab9: do {
 1029  
                         // call tidy, line 193
 1030  0
                         if (!r_tidy())
 1031  
                         {
 1032  
                             break lab9;
 1033  
                         }
 1034  
                     } while (false);
 1035  0
                     cursor = limit - v_9;
 1036  0
                     cursor = limit_backward;                    return true;
 1037  
                 }
 1038  
 
 1039  
         public boolean equals( Object o ) {
 1040  0
             return o instanceof finnishStemmer;
 1041  
         }
 1042  
 
 1043  
         public int hashCode() {
 1044  0
             return finnishStemmer.class.getName().hashCode();
 1045  
         }
 1046  
 
 1047  
 
 1048  
 
 1049  
 }
 1050