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 LovinsStemmer 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("d", -1, -1), 21 new Among("f", -1, -1), 22 new Among("ph", -1, -1), 23 new Among("th", -1, -1), 24 new Among("l", -1, -1), 25 new Among("er", -1, -1), 26 new Among("or", -1, -1), 27 new Among("es", -1, -1), 28 new Among("t", -1, -1) 29 }; 30 31 private static final Among a_1[] = { 32 new Among("s'", -1, 1, "r_A", methodObject), 33 new Among("a", -1, 1, "r_A", methodObject), 34 new Among("ia", 1, 1, "r_A", methodObject), 35 new Among("ata", 1, 1, "r_A", methodObject), 36 new Among("ic", -1, 1, "r_A", methodObject), 37 new Among("aic", 4, 1, "r_A", methodObject), 38 new Among("allic", 4, 1, "r_BB", methodObject), 39 new Among("aric", 4, 1, "r_A", methodObject), 40 new Among("atic", 4, 1, "r_B", methodObject), 41 new Among("itic", 4, 1, "r_H", methodObject), 42 new Among("antic", 4, 1, "r_C", methodObject), 43 new Among("istic", 4, 1, "r_A", methodObject), 44 new Among("alistic", 11, 1, "r_B", methodObject), 45 new Among("aristic", 11, 1, "r_A", methodObject), 46 new Among("ivistic", 11, 1, "r_A", methodObject), 47 new Among("ed", -1, 1, "r_E", methodObject), 48 new Among("anced", 15, 1, "r_B", methodObject), 49 new Among("enced", 15, 1, "r_A", methodObject), 50 new Among("ished", 15, 1, "r_A", methodObject), 51 new Among("ied", 15, 1, "r_A", methodObject), 52 new Among("ened", 15, 1, "r_E", methodObject), 53 new Among("ioned", 15, 1, "r_A", methodObject), 54 new Among("ated", 15, 1, "r_I", methodObject), 55 new Among("ented", 15, 1, "r_C", methodObject), 56 new Among("ized", 15, 1, "r_F", methodObject), 57 new Among("arized", 24, 1, "r_A", methodObject), 58 new Among("oid", -1, 1, "r_A", methodObject), 59 new Among("aroid", 26, 1, "r_A", methodObject), 60 new Among("hood", -1, 1, "r_A", methodObject), 61 new Among("ehood", 28, 1, "r_A", methodObject), 62 new Among("ihood", 28, 1, "r_A", methodObject), 63 new Among("elihood", 30, 1, "r_E", methodObject), 64 new Among("ward", -1, 1, "r_A", methodObject), 65 new Among("e", -1, 1, "r_A", methodObject), 66 new Among("ae", 33, 1, "r_A", methodObject), 67 new Among("ance", 33, 1, "r_B", methodObject), 68 new Among("icance", 35, 1, "r_A", methodObject), 69 new Among("ence", 33, 1, "r_A", methodObject), 70 new Among("ide", 33, 1, "r_L", methodObject), 71 new Among("icide", 38, 1, "r_A", methodObject), 72 new Among("otide", 38, 1, "r_A", methodObject), 73 new Among("age", 33, 1, "r_B", methodObject), 74 new Among("able", 33, 1, "r_A", methodObject), 75 new Among("atable", 42, 1, "r_A", methodObject), 76 new Among("izable", 42, 1, "r_E", methodObject), 77 new Among("arizable", 44, 1, "r_A", methodObject), 78 new Among("ible", 33, 1, "r_A", methodObject), 79 new Among("encible", 46, 1, "r_A", methodObject), 80 new Among("ene", 33, 1, "r_E", methodObject), 81 new Among("ine", 33, 1, "r_M", methodObject), 82 new Among("idine", 49, 1, "r_I", methodObject), 83 new Among("one", 33, 1, "r_R", methodObject), 84 new Among("ature", 33, 1, "r_E", methodObject), 85 new Among("eature", 52, 1, "r_Z", methodObject), 86 new Among("ese", 33, 1, "r_A", methodObject), 87 new Among("wise", 33, 1, "r_A", methodObject), 88 new Among("ate", 33, 1, "r_A", methodObject), 89 new Among("entiate", 56, 1, "r_A", methodObject), 90 new Among("inate", 56, 1, "r_A", methodObject), 91 new Among("ionate", 56, 1, "r_D", methodObject), 92 new Among("ite", 33, 1, "r_AA", methodObject), 93 new Among("ive", 33, 1, "r_A", methodObject), 94 new Among("ative", 61, 1, "r_A", methodObject), 95 new Among("ize", 33, 1, "r_F", methodObject), 96 new Among("alize", 63, 1, "r_A", methodObject), 97 new Among("icalize", 64, 1, "r_A", methodObject), 98 new Among("ialize", 64, 1, "r_A", methodObject), 99 new Among("entialize", 66, 1, "r_A", methodObject), 100 new Among("ionalize", 64, 1, "r_A", methodObject), 101 new Among("arize", 63, 1, "r_A", methodObject), 102 new Among("ing", -1, 1, "r_N", methodObject), 103 new Among("ancing", 70, 1, "r_B", methodObject), 104 new Among("encing", 70, 1, "r_A", methodObject), 105 new Among("aging", 70, 1, "r_B", methodObject), 106 new Among("ening", 70, 1, "r_E", methodObject), 107 new Among("ioning", 70, 1, "r_A", methodObject), 108 new Among("ating", 70, 1, "r_I", methodObject), 109 new Among("enting", 70, 1, "r_C", methodObject), 110 new Among("ying", 70, 1, "r_B", methodObject), 111 new Among("izing", 70, 1, "r_F", methodObject), 112 new Among("arizing", 79, 1, "r_A", methodObject), 113 new Among("ish", -1, 1, "r_C", methodObject), 114 new Among("yish", 81, 1, "r_A", methodObject), 115 new Among("i", -1, 1, "r_A", methodObject), 116 new Among("al", -1, 1, "r_BB", methodObject), 117 new Among("ical", 84, 1, "r_A", methodObject), 118 new Among("aical", 85, 1, "r_A", methodObject), 119 new Among("istical", 85, 1, "r_A", methodObject), 120 new Among("oidal", 84, 1, "r_A", methodObject), 121 new Among("eal", 84, 1, "r_Y", methodObject), 122 new Among("ial", 84, 1, "r_A", methodObject), 123 new Among("ancial", 90, 1, "r_A", methodObject), 124 new Among("arial", 90, 1, "r_A", methodObject), 125 new Among("ential", 90, 1, "r_A", methodObject), 126 new Among("ional", 84, 1, "r_A", methodObject), 127 new Among("ational", 94, 1, "r_B", methodObject), 128 new Among("izational", 95, 1, "r_A", methodObject), 129 new Among("ental", 84, 1, "r_A", methodObject), 130 new Among("ful", -1, 1, "r_A", methodObject), 131 new Among("eful", 98, 1, "r_A", methodObject), 132 new Among("iful", 98, 1, "r_A", methodObject), 133 new Among("yl", -1, 1, "r_R", methodObject), 134 new Among("ism", -1, 1, "r_B", methodObject), 135 new Among("icism", 102, 1, "r_A", methodObject), 136 new Among("oidism", 102, 1, "r_A", methodObject), 137 new Among("alism", 102, 1, "r_B", methodObject), 138 new Among("icalism", 105, 1, "r_A", methodObject), 139 new Among("ionalism", 105, 1, "r_A", methodObject), 140 new Among("inism", 102, 1, "r_J", methodObject), 141 new Among("ativism", 102, 1, "r_A", methodObject), 142 new Among("um", -1, 1, "r_U", methodObject), 143 new Among("ium", 110, 1, "r_A", methodObject), 144 new Among("ian", -1, 1, "r_A", methodObject), 145 new Among("ician", 112, 1, "r_A", methodObject), 146 new Among("en", -1, 1, "r_F", methodObject), 147 new Among("ogen", 114, 1, "r_A", methodObject), 148 new Among("on", -1, 1, "r_S", methodObject), 149 new Among("ion", 116, 1, "r_Q", methodObject), 150 new Among("ation", 117, 1, "r_B", methodObject), 151 new Among("ication", 118, 1, "r_G", methodObject), 152 new Among("entiation", 118, 1, "r_A", methodObject), 153 new Among("ination", 118, 1, "r_A", methodObject), 154 new Among("isation", 118, 1, "r_A", methodObject), 155 new Among("arisation", 122, 1, "r_A", methodObject), 156 new Among("entation", 118, 1, "r_A", methodObject), 157 new Among("ization", 118, 1, "r_F", methodObject), 158 new Among("arization", 125, 1, "r_A", methodObject), 159 new Among("action", 117, 1, "r_G", methodObject), 160 new Among("o", -1, 1, "r_A", methodObject), 161 new Among("ar", -1, 1, "r_X", methodObject), 162 new Among("ear", 129, 1, "r_Y", methodObject), 163 new Among("ier", -1, 1, "r_A", methodObject), 164 new Among("ariser", -1, 1, "r_A", methodObject), 165 new Among("izer", -1, 1, "r_F", methodObject), 166 new Among("arizer", 133, 1, "r_A", methodObject), 167 new Among("or", -1, 1, "r_T", methodObject), 168 new Among("ator", 135, 1, "r_A", methodObject), 169 new Among("s", -1, 1, "r_W", methodObject), 170 new Among("'s", 137, 1, "r_A", methodObject), 171 new Among("as", 137, 1, "r_B", methodObject), 172 new Among("ics", 137, 1, "r_A", methodObject), 173 new Among("istics", 140, 1, "r_A", methodObject), 174 new Among("es", 137, 1, "r_E", methodObject), 175 new Among("ances", 142, 1, "r_B", methodObject), 176 new Among("ences", 142, 1, "r_A", methodObject), 177 new Among("ides", 142, 1, "r_L", methodObject), 178 new Among("oides", 145, 1, "r_A", methodObject), 179 new Among("ages", 142, 1, "r_B", methodObject), 180 new Among("ies", 142, 1, "r_P", methodObject), 181 new Among("acies", 148, 1, "r_A", methodObject), 182 new Among("ancies", 148, 1, "r_A", methodObject), 183 new Among("encies", 148, 1, "r_A", methodObject), 184 new Among("aries", 148, 1, "r_A", methodObject), 185 new Among("ities", 148, 1, "r_A", methodObject), 186 new Among("alities", 153, 1, "r_A", methodObject), 187 new Among("ivities", 153, 1, "r_A", methodObject), 188 new Among("ines", 142, 1, "r_M", methodObject), 189 new Among("nesses", 142, 1, "r_A", methodObject), 190 new Among("ates", 142, 1, "r_A", methodObject), 191 new Among("atives", 142, 1, "r_A", methodObject), 192 new Among("ings", 137, 1, "r_N", methodObject), 193 new Among("is", 137, 1, "r_A", methodObject), 194 new Among("als", 137, 1, "r_BB", methodObject), 195 new Among("ials", 162, 1, "r_A", methodObject), 196 new Among("entials", 163, 1, "r_A", methodObject), 197 new Among("ionals", 162, 1, "r_A", methodObject), 198 new Among("isms", 137, 1, "r_B", methodObject), 199 new Among("ians", 137, 1, "r_A", methodObject), 200 new Among("icians", 167, 1, "r_A", methodObject), 201 new Among("ions", 137, 1, "r_B", methodObject), 202 new Among("ations", 169, 1, "r_B", methodObject), 203 new Among("arisations", 170, 1, "r_A", methodObject), 204 new Among("entations", 170, 1, "r_A", methodObject), 205 new Among("izations", 170, 1, "r_A", methodObject), 206 new Among("arizations", 173, 1, "r_A", methodObject), 207 new Among("ars", 137, 1, "r_O", methodObject), 208 new Among("iers", 137, 1, "r_A", methodObject), 209 new Among("izers", 137, 1, "r_F", methodObject), 210 new Among("ators", 137, 1, "r_A", methodObject), 211 new Among("less", 137, 1, "r_A", methodObject), 212 new Among("eless", 179, 1, "r_A", methodObject), 213 new Among("ness", 137, 1, "r_A", methodObject), 214 new Among("eness", 181, 1, "r_E", methodObject), 215 new Among("ableness", 182, 1, "r_A", methodObject), 216 new Among("eableness", 183, 1, "r_E", methodObject), 217 new Among("ibleness", 182, 1, "r_A", methodObject), 218 new Among("ateness", 182, 1, "r_A", methodObject), 219 new Among("iteness", 182, 1, "r_A", methodObject), 220 new Among("iveness", 182, 1, "r_A", methodObject), 221 new Among("ativeness", 188, 1, "r_A", methodObject), 222 new Among("ingness", 181, 1, "r_A", methodObject), 223 new Among("ishness", 181, 1, "r_A", methodObject), 224 new Among("iness", 181, 1, "r_A", methodObject), 225 new Among("ariness", 192, 1, "r_E", methodObject), 226 new Among("alness", 181, 1, "r_A", methodObject), 227 new Among("icalness", 194, 1, "r_A", methodObject), 228 new Among("antialness", 194, 1, "r_A", methodObject), 229 new Among("entialness", 194, 1, "r_A", methodObject), 230 new Among("ionalness", 194, 1, "r_A", methodObject), 231 new Among("fulness", 181, 1, "r_A", methodObject), 232 new Among("lessness", 181, 1, "r_A", methodObject), 233 new Among("ousness", 181, 1, "r_A", methodObject), 234 new Among("eousness", 201, 1, "r_A", methodObject), 235 new Among("iousness", 201, 1, "r_A", methodObject), 236 new Among("itousness", 201, 1, "r_A", methodObject), 237 new Among("entness", 181, 1, "r_A", methodObject), 238 new Among("ants", 137, 1, "r_B", methodObject), 239 new Among("ists", 137, 1, "r_A", methodObject), 240 new Among("icists", 207, 1, "r_A", methodObject), 241 new Among("us", 137, 1, "r_V", methodObject), 242 new Among("ous", 209, 1, "r_A", methodObject), 243 new Among("eous", 210, 1, "r_A", methodObject), 244 new Among("aceous", 211, 1, "r_A", methodObject), 245 new Among("antaneous", 211, 1, "r_A", methodObject), 246 new Among("ious", 210, 1, "r_A", methodObject), 247 new Among("acious", 214, 1, "r_B", methodObject), 248 new Among("itous", 210, 1, "r_A", methodObject), 249 new Among("ant", -1, 1, "r_B", methodObject), 250 new Among("icant", 217, 1, "r_A", methodObject), 251 new Among("ent", -1, 1, "r_C", methodObject), 252 new Among("ement", 219, 1, "r_A", methodObject), 253 new Among("izement", 220, 1, "r_A", methodObject), 254 new Among("ist", -1, 1, "r_A", methodObject), 255 new Among("icist", 222, 1, "r_A", methodObject), 256 new Among("alist", 222, 1, "r_A", methodObject), 257 new Among("icalist", 224, 1, "r_A", methodObject), 258 new Among("ialist", 224, 1, "r_A", methodObject), 259 new Among("ionist", 222, 1, "r_A", methodObject), 260 new Among("entist", 222, 1, "r_A", methodObject), 261 new Among("y", -1, 1, "r_B", methodObject), 262 new Among("acy", 229, 1, "r_A", methodObject), 263 new Among("ancy", 229, 1, "r_B", methodObject), 264 new Among("ency", 229, 1, "r_A", methodObject), 265 new Among("ly", 229, 1, "r_B", methodObject), 266 new Among("ealy", 233, 1, "r_Y", methodObject), 267 new Among("ably", 233, 1, "r_A", methodObject), 268 new Among("ibly", 233, 1, "r_A", methodObject), 269 new Among("edly", 233, 1, "r_E", methodObject), 270 new Among("iedly", 237, 1, "r_A", methodObject), 271 new Among("ely", 233, 1, "r_E", methodObject), 272 new Among("ately", 239, 1, "r_A", methodObject), 273 new Among("ively", 239, 1, "r_A", methodObject), 274 new Among("atively", 241, 1, "r_A", methodObject), 275 new Among("ingly", 233, 1, "r_B", methodObject), 276 new Among("atingly", 243, 1, "r_A", methodObject), 277 new Among("ily", 233, 1, "r_A", methodObject), 278 new Among("lily", 245, 1, "r_A", methodObject), 279 new Among("arily", 245, 1, "r_A", methodObject), 280 new Among("ally", 233, 1, "r_B", methodObject), 281 new Among("ically", 248, 1, "r_A", methodObject), 282 new Among("aically", 249, 1, "r_A", methodObject), 283 new Among("allically", 249, 1, "r_C", methodObject), 284 new Among("istically", 249, 1, "r_A", methodObject), 285 new Among("alistically", 252, 1, "r_B", methodObject), 286 new Among("oidally", 248, 1, "r_A", methodObject), 287 new Among("ially", 248, 1, "r_A", methodObject), 288 new Among("entially", 255, 1, "r_A", methodObject), 289 new Among("ionally", 248, 1, "r_A", methodObject), 290 new Among("ationally", 257, 1, "r_B", methodObject), 291 new Among("izationally", 258, 1, "r_B", methodObject), 292 new Among("entally", 248, 1, "r_A", methodObject), 293 new Among("fully", 233, 1, "r_A", methodObject), 294 new Among("efully", 261, 1, "r_A", methodObject), 295 new Among("ifully", 261, 1, "r_A", methodObject), 296 new Among("enly", 233, 1, "r_E", methodObject), 297 new Among("arly", 233, 1, "r_K", methodObject), 298 new Among("early", 265, 1, "r_Y", methodObject), 299 new Among("lessly", 233, 1, "r_A", methodObject), 300 new Among("ously", 233, 1, "r_A", methodObject), 301 new Among("eously", 268, 1, "r_A", methodObject), 302 new Among("iously", 268, 1, "r_A", methodObject), 303 new Among("ently", 233, 1, "r_A", methodObject), 304 new Among("ary", 229, 1, "r_F", methodObject), 305 new Among("ery", 229, 1, "r_E", methodObject), 306 new Among("icianry", 229, 1, "r_A", methodObject), 307 new Among("atory", 229, 1, "r_A", methodObject), 308 new Among("ity", 229, 1, "r_A", methodObject), 309 new Among("acity", 276, 1, "r_A", methodObject), 310 new Among("icity", 276, 1, "r_A", methodObject), 311 new Among("eity", 276, 1, "r_A", methodObject), 312 new Among("ality", 276, 1, "r_A", methodObject), 313 new Among("icality", 280, 1, "r_A", methodObject), 314 new Among("iality", 280, 1, "r_A", methodObject), 315 new Among("antiality", 282, 1, "r_A", methodObject), 316 new Among("entiality", 282, 1, "r_A", methodObject), 317 new Among("ionality", 280, 1, "r_A", methodObject), 318 new Among("elity", 276, 1, "r_A", methodObject), 319 new Among("ability", 276, 1, "r_A", methodObject), 320 new Among("izability", 287, 1, "r_A", methodObject), 321 new Among("arizability", 288, 1, "r_A", methodObject), 322 new Among("ibility", 276, 1, "r_A", methodObject), 323 new Among("inity", 276, 1, "r_CC", methodObject), 324 new Among("arity", 276, 1, "r_B", methodObject), 325 new Among("ivity", 276, 1, "r_A", methodObject) 326 }; 327 328 private static final Among a_2[] = { 329 new Among("bb", -1, -1), 330 new Among("dd", -1, -1), 331 new Among("gg", -1, -1), 332 new Among("ll", -1, -1), 333 new Among("mm", -1, -1), 334 new Among("nn", -1, -1), 335 new Among("pp", -1, -1), 336 new Among("rr", -1, -1), 337 new Among("ss", -1, -1), 338 new Among("tt", -1, -1) 339 }; 340 341 private static final Among a_3[] = { 342 new Among("uad", -1, 18), 343 new Among("vad", -1, 19), 344 new Among("cid", -1, 20), 345 new Among("lid", -1, 21), 346 new Among("erid", -1, 22), 347 new Among("pand", -1, 23), 348 new Among("end", -1, 24), 349 new Among("ond", -1, 25), 350 new Among("lud", -1, 26), 351 new Among("rud", -1, 27), 352 new Among("ul", -1, 9), 353 new Among("her", -1, 28), 354 new Among("metr", -1, 7), 355 new Among("istr", -1, 6), 356 new Among("urs", -1, 5), 357 new Among("uct", -1, 2), 358 new Among("et", -1, 32), 359 new Among("mit", -1, 29), 360 new Among("ent", -1, 30), 361 new Among("umpt", -1, 3), 362 new Among("rpt", -1, 4), 363 new Among("ert", -1, 31), 364 new Among("yt", -1, 33), 365 new Among("iev", -1, 1), 366 new Among("olv", -1, 8), 367 new Among("ax", -1, 14), 368 new Among("ex", -1, 15), 369 new Among("bex", 26, 10), 370 new Among("dex", 26, 11), 371 new Among("pex", 26, 12), 372 new Among("tex", 26, 13), 373 new Among("ix", -1, 16), 374 new Among("lux", -1, 17), 375 new Among("yz", -1, 33) 376 }; 377 r_A()378 public boolean r_A() { 379 { 380 int c = cursor - 2; 381 if (limit_backward > c || c > limit) { 382 return false; 383 } 384 cursor = c; 385 } 386 return true; 387 } 388 r_B()389 public boolean r_B() { 390 { 391 int c = cursor - 3; 392 if (limit_backward > c || c > limit) { 393 return false; 394 } 395 cursor = c; 396 } 397 return true; 398 } 399 r_C()400 public boolean r_C() { 401 { 402 int c = cursor - 4; 403 if (limit_backward > c || c > limit) { 404 return false; 405 } 406 cursor = c; 407 } 408 return true; 409 } 410 r_D()411 public boolean r_D() { 412 { 413 int c = cursor - 5; 414 if (limit_backward > c || c > limit) { 415 return false; 416 } 417 cursor = c; 418 } 419 return true; 420 } 421 r_E()422 public boolean r_E() { 423 int v_1 = limit - cursor; 424 { 425 int c = cursor - 2; 426 if (limit_backward > c || c > limit) { 427 return false; 428 } 429 cursor = c; 430 } 431 cursor = limit - v_1; 432 { 433 int v_2 = limit - cursor; 434 lab0: 435 { 436 if (!(eq_s_b("e"))) { 437 break lab0; 438 } 439 return false; 440 } 441 cursor = limit - v_2; 442 } 443 return true; 444 } 445 r_F()446 public boolean r_F() { 447 int v_1 = limit - cursor; 448 { 449 int c = cursor - 3; 450 if (limit_backward > c || c > limit) { 451 return false; 452 } 453 cursor = c; 454 } 455 cursor = limit - v_1; 456 { 457 int v_2 = limit - cursor; 458 lab0: 459 { 460 if (!(eq_s_b("e"))) { 461 break lab0; 462 } 463 return false; 464 } 465 cursor = limit - v_2; 466 } 467 return true; 468 } 469 r_G()470 public boolean r_G() { 471 int v_1 = limit - cursor; 472 { 473 int c = cursor - 3; 474 if (limit_backward > c || c > limit) { 475 return false; 476 } 477 cursor = c; 478 } 479 cursor = limit - v_1; 480 if (!(eq_s_b("f"))) { 481 return false; 482 } 483 return true; 484 } 485 r_H()486 public boolean r_H() { 487 int v_1 = limit - cursor; 488 { 489 int c = cursor - 2; 490 if (limit_backward > c || c > limit) { 491 return false; 492 } 493 cursor = c; 494 } 495 cursor = limit - v_1; 496 lab0: 497 { 498 int v_2 = limit - cursor; 499 lab1: 500 { 501 if (!(eq_s_b("t"))) { 502 break lab1; 503 } 504 break lab0; 505 } 506 cursor = limit - v_2; 507 if (!(eq_s_b("ll"))) { 508 return false; 509 } 510 } 511 return true; 512 } 513 r_I()514 public boolean r_I() { 515 int v_1 = limit - cursor; 516 { 517 int c = cursor - 2; 518 if (limit_backward > c || c > limit) { 519 return false; 520 } 521 cursor = c; 522 } 523 cursor = limit - v_1; 524 { 525 int v_2 = limit - cursor; 526 lab0: 527 { 528 if (!(eq_s_b("o"))) { 529 break lab0; 530 } 531 return false; 532 } 533 cursor = limit - v_2; 534 } 535 { 536 int v_3 = limit - cursor; 537 lab1: 538 { 539 if (!(eq_s_b("e"))) { 540 break lab1; 541 } 542 return false; 543 } 544 cursor = limit - v_3; 545 } 546 return true; 547 } 548 r_J()549 public boolean r_J() { 550 int v_1 = limit - cursor; 551 { 552 int c = cursor - 2; 553 if (limit_backward > c || c > limit) { 554 return false; 555 } 556 cursor = c; 557 } 558 cursor = limit - v_1; 559 { 560 int v_2 = limit - cursor; 561 lab0: 562 { 563 if (!(eq_s_b("a"))) { 564 break lab0; 565 } 566 return false; 567 } 568 cursor = limit - v_2; 569 } 570 { 571 int v_3 = limit - cursor; 572 lab1: 573 { 574 if (!(eq_s_b("e"))) { 575 break lab1; 576 } 577 return false; 578 } 579 cursor = limit - v_3; 580 } 581 return true; 582 } 583 r_K()584 public boolean r_K() { 585 int v_1 = limit - cursor; 586 { 587 int c = cursor - 3; 588 if (limit_backward > c || c > limit) { 589 return false; 590 } 591 cursor = c; 592 } 593 cursor = limit - v_1; 594 lab0: 595 { 596 int v_2 = limit - cursor; 597 lab1: 598 { 599 if (!(eq_s_b("l"))) { 600 break lab1; 601 } 602 break lab0; 603 } 604 cursor = limit - v_2; 605 lab2: 606 { 607 if (!(eq_s_b("i"))) { 608 break lab2; 609 } 610 break lab0; 611 } 612 cursor = limit - v_2; 613 if (!(eq_s_b("e"))) { 614 return false; 615 } 616 if (cursor <= limit_backward) { 617 return false; 618 } 619 cursor--; 620 if (!(eq_s_b("u"))) { 621 return false; 622 } 623 } 624 return true; 625 } 626 r_L()627 public boolean r_L() { 628 int v_1 = limit - cursor; 629 { 630 int c = cursor - 2; 631 if (limit_backward > c || c > limit) { 632 return false; 633 } 634 cursor = c; 635 } 636 cursor = limit - v_1; 637 { 638 int v_2 = limit - cursor; 639 lab0: 640 { 641 if (!(eq_s_b("u"))) { 642 break lab0; 643 } 644 return false; 645 } 646 cursor = limit - v_2; 647 } 648 { 649 int v_3 = limit - cursor; 650 lab1: 651 { 652 if (!(eq_s_b("x"))) { 653 break lab1; 654 } 655 return false; 656 } 657 cursor = limit - v_3; 658 } 659 { 660 int v_4 = limit - cursor; 661 lab2: 662 { 663 if (!(eq_s_b("s"))) { 664 break lab2; 665 } 666 { 667 int v_5 = limit - cursor; 668 lab3: 669 { 670 if (!(eq_s_b("o"))) { 671 break lab3; 672 } 673 break lab2; 674 } 675 cursor = limit - v_5; 676 } 677 return false; 678 } 679 cursor = limit - v_4; 680 } 681 return true; 682 } 683 r_M()684 public boolean r_M() { 685 int v_1 = limit - cursor; 686 { 687 int c = cursor - 2; 688 if (limit_backward > c || c > limit) { 689 return false; 690 } 691 cursor = c; 692 } 693 cursor = limit - v_1; 694 { 695 int v_2 = limit - cursor; 696 lab0: 697 { 698 if (!(eq_s_b("a"))) { 699 break lab0; 700 } 701 return false; 702 } 703 cursor = limit - v_2; 704 } 705 { 706 int v_3 = limit - cursor; 707 lab1: 708 { 709 if (!(eq_s_b("c"))) { 710 break lab1; 711 } 712 return false; 713 } 714 cursor = limit - v_3; 715 } 716 { 717 int v_4 = limit - cursor; 718 lab2: 719 { 720 if (!(eq_s_b("e"))) { 721 break lab2; 722 } 723 return false; 724 } 725 cursor = limit - v_4; 726 } 727 { 728 int v_5 = limit - cursor; 729 lab3: 730 { 731 if (!(eq_s_b("m"))) { 732 break lab3; 733 } 734 return false; 735 } 736 cursor = limit - v_5; 737 } 738 return true; 739 } 740 r_N()741 public boolean r_N() { 742 int v_1 = limit - cursor; 743 { 744 int c = cursor - 3; 745 if (limit_backward > c || c > limit) { 746 return false; 747 } 748 cursor = c; 749 } 750 cursor = limit - v_1; 751 { 752 int c = cursor - 2; 753 if (limit_backward > c || c > limit) { 754 return false; 755 } 756 cursor = c; 757 } 758 lab0: 759 { 760 int v_2 = limit - cursor; 761 lab1: 762 { 763 { 764 int v_3 = limit - cursor; 765 lab2: 766 { 767 if (!(eq_s_b("s"))) { 768 break lab2; 769 } 770 break lab1; 771 } 772 cursor = limit - v_3; 773 } 774 break lab0; 775 } 776 cursor = limit - v_2; 777 { 778 int c = cursor - 2; 779 if (limit_backward > c || c > limit) { 780 return false; 781 } 782 cursor = c; 783 } 784 } 785 return true; 786 } 787 r_O()788 public boolean r_O() { 789 int v_1 = limit - cursor; 790 { 791 int c = cursor - 2; 792 if (limit_backward > c || c > limit) { 793 return false; 794 } 795 cursor = c; 796 } 797 cursor = limit - v_1; 798 lab0: 799 { 800 int v_2 = limit - cursor; 801 lab1: 802 { 803 if (!(eq_s_b("l"))) { 804 break lab1; 805 } 806 break lab0; 807 } 808 cursor = limit - v_2; 809 if (!(eq_s_b("i"))) { 810 return false; 811 } 812 } 813 return true; 814 } 815 r_P()816 public boolean r_P() { 817 int v_1 = limit - cursor; 818 { 819 int c = cursor - 2; 820 if (limit_backward > c || c > limit) { 821 return false; 822 } 823 cursor = c; 824 } 825 cursor = limit - v_1; 826 { 827 int v_2 = limit - cursor; 828 lab0: 829 { 830 if (!(eq_s_b("c"))) { 831 break lab0; 832 } 833 return false; 834 } 835 cursor = limit - v_2; 836 } 837 return true; 838 } 839 r_Q()840 public boolean r_Q() { 841 int v_1 = limit - cursor; 842 { 843 int c = cursor - 2; 844 if (limit_backward > c || c > limit) { 845 return false; 846 } 847 cursor = c; 848 } 849 cursor = limit - v_1; 850 int v_2 = limit - cursor; 851 { 852 int c = cursor - 3; 853 if (limit_backward > c || c > limit) { 854 return false; 855 } 856 cursor = c; 857 } 858 cursor = limit - v_2; 859 { 860 int v_3 = limit - cursor; 861 lab0: 862 { 863 if (!(eq_s_b("l"))) { 864 break lab0; 865 } 866 return false; 867 } 868 cursor = limit - v_3; 869 } 870 { 871 int v_4 = limit - cursor; 872 lab1: 873 { 874 if (!(eq_s_b("n"))) { 875 break lab1; 876 } 877 return false; 878 } 879 cursor = limit - v_4; 880 } 881 return true; 882 } 883 r_R()884 public boolean r_R() { 885 int v_1 = limit - cursor; 886 { 887 int c = cursor - 2; 888 if (limit_backward > c || c > limit) { 889 return false; 890 } 891 cursor = c; 892 } 893 cursor = limit - v_1; 894 lab0: 895 { 896 int v_2 = limit - cursor; 897 lab1: 898 { 899 if (!(eq_s_b("n"))) { 900 break lab1; 901 } 902 break lab0; 903 } 904 cursor = limit - v_2; 905 if (!(eq_s_b("r"))) { 906 return false; 907 } 908 } 909 return true; 910 } 911 r_S()912 public boolean r_S() { 913 int v_1 = limit - cursor; 914 { 915 int c = cursor - 2; 916 if (limit_backward > c || c > limit) { 917 return false; 918 } 919 cursor = c; 920 } 921 cursor = limit - v_1; 922 lab0: 923 { 924 int v_2 = limit - cursor; 925 lab1: 926 { 927 if (!(eq_s_b("dr"))) { 928 break lab1; 929 } 930 break lab0; 931 } 932 cursor = limit - v_2; 933 if (!(eq_s_b("t"))) { 934 return false; 935 } 936 { 937 int v_3 = limit - cursor; 938 lab2: 939 { 940 if (!(eq_s_b("t"))) { 941 break lab2; 942 } 943 return false; 944 } 945 cursor = limit - v_3; 946 } 947 } 948 return true; 949 } 950 r_T()951 public boolean r_T() { 952 int v_1 = limit - cursor; 953 { 954 int c = cursor - 2; 955 if (limit_backward > c || c > limit) { 956 return false; 957 } 958 cursor = c; 959 } 960 cursor = limit - v_1; 961 lab0: 962 { 963 int v_2 = limit - cursor; 964 lab1: 965 { 966 if (!(eq_s_b("s"))) { 967 break lab1; 968 } 969 break lab0; 970 } 971 cursor = limit - v_2; 972 if (!(eq_s_b("t"))) { 973 return false; 974 } 975 { 976 int v_3 = limit - cursor; 977 lab2: 978 { 979 if (!(eq_s_b("o"))) { 980 break lab2; 981 } 982 return false; 983 } 984 cursor = limit - v_3; 985 } 986 } 987 return true; 988 } 989 r_U()990 public boolean r_U() { 991 int v_1 = limit - cursor; 992 { 993 int c = cursor - 2; 994 if (limit_backward > c || c > limit) { 995 return false; 996 } 997 cursor = c; 998 } 999 cursor = limit - v_1; 1000 lab0: 1001 { 1002 int v_2 = limit - cursor; 1003 lab1: 1004 { 1005 if (!(eq_s_b("l"))) { 1006 break lab1; 1007 } 1008 break lab0; 1009 } 1010 cursor = limit - v_2; 1011 lab2: 1012 { 1013 if (!(eq_s_b("m"))) { 1014 break lab2; 1015 } 1016 break lab0; 1017 } 1018 cursor = limit - v_2; 1019 lab3: 1020 { 1021 if (!(eq_s_b("n"))) { 1022 break lab3; 1023 } 1024 break lab0; 1025 } 1026 cursor = limit - v_2; 1027 if (!(eq_s_b("r"))) { 1028 return false; 1029 } 1030 } 1031 return true; 1032 } 1033 r_V()1034 public boolean r_V() { 1035 int v_1 = limit - cursor; 1036 { 1037 int c = cursor - 2; 1038 if (limit_backward > c || c > limit) { 1039 return false; 1040 } 1041 cursor = c; 1042 } 1043 cursor = limit - v_1; 1044 if (!(eq_s_b("c"))) { 1045 return false; 1046 } 1047 return true; 1048 } 1049 r_W()1050 public boolean r_W() { 1051 int v_1 = limit - cursor; 1052 { 1053 int c = cursor - 2; 1054 if (limit_backward > c || c > limit) { 1055 return false; 1056 } 1057 cursor = c; 1058 } 1059 cursor = limit - v_1; 1060 { 1061 int v_2 = limit - cursor; 1062 lab0: 1063 { 1064 if (!(eq_s_b("s"))) { 1065 break lab0; 1066 } 1067 return false; 1068 } 1069 cursor = limit - v_2; 1070 } 1071 { 1072 int v_3 = limit - cursor; 1073 lab1: 1074 { 1075 if (!(eq_s_b("u"))) { 1076 break lab1; 1077 } 1078 return false; 1079 } 1080 cursor = limit - v_3; 1081 } 1082 return true; 1083 } 1084 r_X()1085 public boolean r_X() { 1086 int v_1 = limit - cursor; 1087 { 1088 int c = cursor - 2; 1089 if (limit_backward > c || c > limit) { 1090 return false; 1091 } 1092 cursor = c; 1093 } 1094 cursor = limit - v_1; 1095 lab0: 1096 { 1097 int v_2 = limit - cursor; 1098 lab1: 1099 { 1100 if (!(eq_s_b("l"))) { 1101 break lab1; 1102 } 1103 break lab0; 1104 } 1105 cursor = limit - v_2; 1106 lab2: 1107 { 1108 if (!(eq_s_b("i"))) { 1109 break lab2; 1110 } 1111 break lab0; 1112 } 1113 cursor = limit - v_2; 1114 if (!(eq_s_b("e"))) { 1115 return false; 1116 } 1117 if (cursor <= limit_backward) { 1118 return false; 1119 } 1120 cursor--; 1121 if (!(eq_s_b("u"))) { 1122 return false; 1123 } 1124 } 1125 return true; 1126 } 1127 r_Y()1128 public boolean r_Y() { 1129 int v_1 = limit - cursor; 1130 { 1131 int c = cursor - 2; 1132 if (limit_backward > c || c > limit) { 1133 return false; 1134 } 1135 cursor = c; 1136 } 1137 cursor = limit - v_1; 1138 if (!(eq_s_b("in"))) { 1139 return false; 1140 } 1141 return true; 1142 } 1143 r_Z()1144 public boolean r_Z() { 1145 int v_1 = limit - cursor; 1146 { 1147 int c = cursor - 2; 1148 if (limit_backward > c || c > limit) { 1149 return false; 1150 } 1151 cursor = c; 1152 } 1153 cursor = limit - v_1; 1154 { 1155 int v_2 = limit - cursor; 1156 lab0: 1157 { 1158 if (!(eq_s_b("f"))) { 1159 break lab0; 1160 } 1161 return false; 1162 } 1163 cursor = limit - v_2; 1164 } 1165 return true; 1166 } 1167 r_AA()1168 public boolean r_AA() { 1169 int v_1 = limit - cursor; 1170 { 1171 int c = cursor - 2; 1172 if (limit_backward > c || c > limit) { 1173 return false; 1174 } 1175 cursor = c; 1176 } 1177 cursor = limit - v_1; 1178 if (find_among_b(a_0) == 0) { 1179 return false; 1180 } 1181 return true; 1182 } 1183 r_BB()1184 public boolean r_BB() { 1185 int v_1 = limit - cursor; 1186 { 1187 int c = cursor - 3; 1188 if (limit_backward > c || c > limit) { 1189 return false; 1190 } 1191 cursor = c; 1192 } 1193 cursor = limit - v_1; 1194 { 1195 int v_2 = limit - cursor; 1196 lab0: 1197 { 1198 if (!(eq_s_b("met"))) { 1199 break lab0; 1200 } 1201 return false; 1202 } 1203 cursor = limit - v_2; 1204 } 1205 { 1206 int v_3 = limit - cursor; 1207 lab1: 1208 { 1209 if (!(eq_s_b("ryst"))) { 1210 break lab1; 1211 } 1212 return false; 1213 } 1214 cursor = limit - v_3; 1215 } 1216 return true; 1217 } 1218 r_CC()1219 public boolean r_CC() { 1220 int v_1 = limit - cursor; 1221 { 1222 int c = cursor - 2; 1223 if (limit_backward > c || c > limit) { 1224 return false; 1225 } 1226 cursor = c; 1227 } 1228 cursor = limit - v_1; 1229 if (!(eq_s_b("l"))) { 1230 return false; 1231 } 1232 return true; 1233 } 1234 r_endings()1235 private boolean r_endings() { 1236 ket = cursor; 1237 if (find_among_b(a_1) == 0) { 1238 return false; 1239 } 1240 bra = cursor; 1241 slice_del(); 1242 return true; 1243 } 1244 r_undouble()1245 private boolean r_undouble() { 1246 int v_1 = limit - cursor; 1247 if (find_among_b(a_2) == 0) { 1248 return false; 1249 } 1250 cursor = limit - v_1; 1251 ket = cursor; 1252 if (cursor <= limit_backward) { 1253 return false; 1254 } 1255 cursor--; 1256 bra = cursor; 1257 slice_del(); 1258 return true; 1259 } 1260 r_respell()1261 private boolean r_respell() { 1262 int among_var; 1263 ket = cursor; 1264 among_var = find_among_b(a_3); 1265 if (among_var == 0) { 1266 return false; 1267 } 1268 bra = cursor; 1269 switch (among_var) { 1270 case 1: 1271 slice_from("ief"); 1272 break; 1273 case 2: 1274 slice_from("uc"); 1275 break; 1276 case 3: 1277 slice_from("um"); 1278 break; 1279 case 4: 1280 slice_from("rb"); 1281 break; 1282 case 5: 1283 slice_from("ur"); 1284 break; 1285 case 6: 1286 slice_from("ister"); 1287 break; 1288 case 7: 1289 slice_from("meter"); 1290 break; 1291 case 8: 1292 slice_from("olut"); 1293 break; 1294 case 9: 1295 { 1296 int v_1 = limit - cursor; 1297 lab0: 1298 { 1299 if (!(eq_s_b("a"))) { 1300 break lab0; 1301 } 1302 return false; 1303 } 1304 cursor = limit - v_1; 1305 } 1306 { 1307 int v_2 = limit - cursor; 1308 lab1: 1309 { 1310 if (!(eq_s_b("i"))) { 1311 break lab1; 1312 } 1313 return false; 1314 } 1315 cursor = limit - v_2; 1316 } 1317 { 1318 int v_3 = limit - cursor; 1319 lab2: 1320 { 1321 if (!(eq_s_b("o"))) { 1322 break lab2; 1323 } 1324 return false; 1325 } 1326 cursor = limit - v_3; 1327 } 1328 slice_from("l"); 1329 break; 1330 case 10: 1331 slice_from("bic"); 1332 break; 1333 case 11: 1334 slice_from("dic"); 1335 break; 1336 case 12: 1337 slice_from("pic"); 1338 break; 1339 case 13: 1340 slice_from("tic"); 1341 break; 1342 case 14: 1343 slice_from("ac"); 1344 break; 1345 case 15: 1346 slice_from("ec"); 1347 break; 1348 case 16: 1349 slice_from("ic"); 1350 break; 1351 case 17: 1352 slice_from("luc"); 1353 break; 1354 case 18: 1355 slice_from("uas"); 1356 break; 1357 case 19: 1358 slice_from("vas"); 1359 break; 1360 case 20: 1361 slice_from("cis"); 1362 break; 1363 case 21: 1364 slice_from("lis"); 1365 break; 1366 case 22: 1367 slice_from("eris"); 1368 break; 1369 case 23: 1370 slice_from("pans"); 1371 break; 1372 case 24: 1373 { 1374 int v_4 = limit - cursor; 1375 lab3: 1376 { 1377 if (!(eq_s_b("s"))) { 1378 break lab3; 1379 } 1380 return false; 1381 } 1382 cursor = limit - v_4; 1383 } 1384 slice_from("ens"); 1385 break; 1386 case 25: 1387 slice_from("ons"); 1388 break; 1389 case 26: 1390 slice_from("lus"); 1391 break; 1392 case 27: 1393 slice_from("rus"); 1394 break; 1395 case 28: 1396 { 1397 int v_5 = limit - cursor; 1398 lab4: 1399 { 1400 if (!(eq_s_b("p"))) { 1401 break lab4; 1402 } 1403 return false; 1404 } 1405 cursor = limit - v_5; 1406 } 1407 { 1408 int v_6 = limit - cursor; 1409 lab5: 1410 { 1411 if (!(eq_s_b("t"))) { 1412 break lab5; 1413 } 1414 return false; 1415 } 1416 cursor = limit - v_6; 1417 } 1418 slice_from("hes"); 1419 break; 1420 case 29: 1421 slice_from("mis"); 1422 break; 1423 case 30: 1424 { 1425 int v_7 = limit - cursor; 1426 lab6: 1427 { 1428 if (!(eq_s_b("m"))) { 1429 break lab6; 1430 } 1431 return false; 1432 } 1433 cursor = limit - v_7; 1434 } 1435 slice_from("ens"); 1436 break; 1437 case 31: 1438 slice_from("ers"); 1439 break; 1440 case 32: 1441 { 1442 int v_8 = limit - cursor; 1443 lab7: 1444 { 1445 if (!(eq_s_b("n"))) { 1446 break lab7; 1447 } 1448 return false; 1449 } 1450 cursor = limit - v_8; 1451 } 1452 slice_from("es"); 1453 break; 1454 case 33: 1455 slice_from("ys"); 1456 break; 1457 } 1458 return true; 1459 } 1460 1461 @Override stem()1462 public boolean stem() { 1463 limit_backward = cursor; 1464 cursor = limit; 1465 int v_1 = limit - cursor; 1466 r_endings(); 1467 cursor = limit - v_1; 1468 int v_2 = limit - cursor; 1469 r_undouble(); 1470 cursor = limit - v_2; 1471 int v_3 = limit - cursor; 1472 r_respell(); 1473 cursor = limit - v_3; 1474 cursor = limit_backward; 1475 return true; 1476 } 1477 1478 @Override equals(Object o)1479 public boolean equals(Object o) { 1480 return o instanceof LovinsStemmer; 1481 } 1482 1483 @Override hashCode()1484 public int hashCode() { 1485 return LovinsStemmer.class.getName().hashCode(); 1486 } 1487 } 1488