All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.tartarus.snowball.ext.KpStemmer Maven / Gradle / Ivy

There is a newer version: 10.1.0
Show newest version
// Generated by Snowball 2.0.0 - https://snowballstem.org/

package org.tartarus.snowball.ext;

import org.tartarus.snowball.Among;

/**
 * This class implements the stemming algorithm defined by a snowball script.
 *
 * 

Generated by Snowball 2.0.0 - https://snowballstem.org/ */ @SuppressWarnings("unused") public class KpStemmer extends org.tartarus.snowball.SnowballStemmer { private static final long serialVersionUID = 1L; private static final java.lang.invoke.MethodHandles.Lookup methodObject = java.lang.invoke.MethodHandles.lookup(); private static final Among a_0[] = { new Among("nde", -1, 7), new Among("en", -1, 6), new Among("s", -1, 2), new Among("'s", 2, 1), new Among("es", 2, 4), new Among("ies", 4, 3), new Among("aus", 2, 5) }; private static final Among a_1[] = { new Among("de", -1, 5), new Among("ge", -1, 2), new Among("ische", -1, 4), new Among("je", -1, 1), new Among("lijke", -1, 3), new Among("le", -1, 9), new Among("ene", -1, 10), new Among("re", -1, 8), new Among("se", -1, 7), new Among("te", -1, 6), new Among("ieve", -1, 11) }; private static final Among a_2[] = { new Among("heid", -1, 3), new Among("fie", -1, 6), new Among("gie", -1, 7), new Among("atie", -1, 1), new Among("isme", -1, 2), new Among("ing", -1, 2), new Among("arij", -1, 5), new Among("erij", -1, 2), new Among("sel", -1, 3), new Among("rder", -1, 4), new Among("ster", -1, 3), new Among("iteit", -1, 2), new Among("dst", -1, 9), new Among("tst", -1, 8) }; private static final Among a_3[] = { new Among("end", -1, 9), new Among("atief", -1, 2), new Among("erig", -1, 9), new Among("achtig", -1, 3), new Among("ioneel", -1, 1), new Among("baar", -1, 3), new Among("laar", -1, 5), new Among("naar", -1, 4), new Among("raar", -1, 6), new Among("eriger", -1, 9), new Among("achtiger", -1, 3), new Among("lijker", -1, 8), new Among("tant", -1, 7), new Among("erigst", -1, 9), new Among("achtigst", -1, 3), new Among("lijkst", -1, 8) }; private static final Among a_4[] = { new Among("ig", -1, 1), new Among("iger", -1, 1), new Among("igst", -1, 1) }; private static final Among a_5[] = { new Among("ft", -1, 2), new Among("kt", -1, 1), new Among("pt", -1, 3) }; private static final Among a_6[] = { new Among("bb", -1, 1), new Among("cc", -1, 2), new Among("dd", -1, 3), new Among("ff", -1, 4), new Among("gg", -1, 5), new Among("hh", -1, 6), new Among("jj", -1, 7), new Among("kk", -1, 8), new Among("ll", -1, 9), new Among("mm", -1, 10), new Among("nn", -1, 11), new Among("pp", -1, 12), new Among("qq", -1, 13), new Among("rr", -1, 14), new Among("ss", -1, 15), new Among("tt", -1, 16), new Among("v", -1, 4), new Among("vv", 16, 17), new Among("ww", -1, 18), new Among("xx", -1, 19), new Among("z", -1, 15), new Among("zz", 20, 20) }; private static final Among a_7[] = {new Among("d", -1, 1), new Among("t", -1, 2)}; private static final char g_v[] = {17, 65, 16, 1}; private static final char g_v_WX[] = {17, 65, 208, 1}; private static final char g_AOU[] = {1, 64, 16}; private static final char g_AIOU[] = {1, 65, 16}; private boolean B_GE_removed; private boolean B_stemmed; private boolean B_Y_found; private int I_p2; private int I_p1; private java.lang.StringBuilder S_ch = new java.lang.StringBuilder(); private boolean r_R1() { if (!(I_p1 <= cursor)) { return false; } return true; } private boolean r_R2() { if (!(I_p2 <= cursor)) { return false; } return true; } private boolean r_V() { int v_1 = limit - cursor; lab0: { int v_2 = limit - cursor; lab1: { if (!(in_grouping_b(g_v, 97, 121))) { break lab1; } break lab0; } cursor = limit - v_2; if (!(eq_s_b("ij"))) { return false; } } cursor = limit - v_1; return true; } private boolean r_VX() { int v_1 = limit - cursor; if (cursor <= limit_backward) { return false; } cursor--; lab0: { int v_2 = limit - cursor; lab1: { if (!(in_grouping_b(g_v, 97, 121))) { break lab1; } break lab0; } cursor = limit - v_2; if (!(eq_s_b("ij"))) { return false; } } cursor = limit - v_1; return true; } private boolean r_C() { int v_1 = limit - cursor; { int v_2 = limit - cursor; lab0: { if (!(eq_s_b("ij"))) { break lab0; } return false; } cursor = limit - v_2; } if (!(out_grouping_b(g_v, 97, 121))) { return false; } cursor = limit - v_1; return true; } private boolean r_lengthen_V() { int v_1 = limit - cursor; lab0: { if (!(out_grouping_b(g_v_WX, 97, 121))) { break lab0; } ket = cursor; lab1: { int v_2 = limit - cursor; lab2: { if (!(in_grouping_b(g_AOU, 97, 117))) { break lab2; } bra = cursor; int v_3 = limit - cursor; lab3: { int v_4 = limit - cursor; lab4: { if (!(out_grouping_b(g_v, 97, 121))) { break lab4; } break lab3; } cursor = limit - v_4; if (cursor > limit_backward) { break lab2; } } cursor = limit - v_3; break lab1; } cursor = limit - v_2; if (!(eq_s_b("e"))) { break lab0; } bra = cursor; int v_5 = limit - cursor; lab5: { int v_6 = limit - cursor; lab6: { if (!(out_grouping_b(g_v, 97, 121))) { break lab6; } break lab5; } cursor = limit - v_6; if (cursor > limit_backward) { break lab0; } } { int v_7 = limit - cursor; lab7: { if (!(in_grouping_b(g_AIOU, 97, 117))) { break lab7; } break lab0; } cursor = limit - v_7; } { int v_8 = limit - cursor; lab8: { if (cursor <= limit_backward) { break lab8; } cursor--; if (!(in_grouping_b(g_AIOU, 97, 117))) { break lab8; } if (!(out_grouping_b(g_v, 97, 121))) { break lab8; } break lab0; } cursor = limit - v_8; } cursor = limit - v_5; } slice_to(S_ch); { int c = cursor; insert(cursor, cursor, S_ch); cursor = c; } } cursor = limit - v_1; return true; } private boolean r_Step_1() { int among_var; ket = cursor; among_var = find_among_b(a_0); if (among_var == 0) { return false; } bra = cursor; switch (among_var) { case 1: slice_del(); break; case 2: if (!r_R1()) { return false; } { int v_1 = limit - cursor; lab0: { if (!(eq_s_b("t"))) { break lab0; } if (!r_R1()) { break lab0; } return false; } cursor = limit - v_1; } if (!r_C()) { return false; } slice_del(); break; case 3: if (!r_R1()) { return false; } slice_from("ie"); break; case 4: lab1: { int v_2 = limit - cursor; lab2: { if (!(eq_s_b("ar"))) { break lab2; } if (!r_R1()) { break lab2; } if (!r_C()) { break lab2; } bra = cursor; slice_del(); if (!r_lengthen_V()) { break lab2; } break lab1; } cursor = limit - v_2; lab3: { if (!(eq_s_b("er"))) { break lab3; } if (!r_R1()) { break lab3; } if (!r_C()) { break lab3; } bra = cursor; slice_del(); break lab1; } cursor = limit - v_2; if (!r_R1()) { return false; } if (!r_C()) { return false; } slice_from("e"); } break; case 5: if (!r_R1()) { return false; } if (!r_V()) { return false; } slice_from("au"); break; case 6: lab4: { int v_3 = limit - cursor; lab5: { if (!(eq_s_b("hed"))) { break lab5; } if (!r_R1()) { break lab5; } bra = cursor; slice_from("heid"); break lab4; } cursor = limit - v_3; lab6: { if (!(eq_s_b("nd"))) { break lab6; } slice_del(); break lab4; } cursor = limit - v_3; lab7: { if (!(eq_s_b("d"))) { break lab7; } if (!r_R1()) { break lab7; } if (!r_C()) { break lab7; } bra = cursor; slice_del(); break lab4; } cursor = limit - v_3; lab8: { lab9: { int v_4 = limit - cursor; lab10: { if (!(eq_s_b("i"))) { break lab10; } break lab9; } cursor = limit - v_4; if (!(eq_s_b("j"))) { break lab8; } } if (!r_V()) { break lab8; } slice_del(); break lab4; } cursor = limit - v_3; if (!r_R1()) { return false; } if (!r_C()) { return false; } slice_del(); if (!r_lengthen_V()) { return false; } } break; case 7: slice_from("nd"); break; } return true; } private boolean r_Step_2() { int among_var; ket = cursor; among_var = find_among_b(a_1); if (among_var == 0) { return false; } bra = cursor; switch (among_var) { case 1: lab0: { int v_1 = limit - cursor; lab1: { if (!(eq_s_b("'t"))) { break lab1; } bra = cursor; slice_del(); break lab0; } cursor = limit - v_1; lab2: { if (!(eq_s_b("et"))) { break lab2; } bra = cursor; if (!r_R1()) { break lab2; } if (!r_C()) { break lab2; } slice_del(); break lab0; } cursor = limit - v_1; lab3: { if (!(eq_s_b("rnt"))) { break lab3; } bra = cursor; slice_from("rn"); break lab0; } cursor = limit - v_1; lab4: { if (!(eq_s_b("t"))) { break lab4; } bra = cursor; if (!r_R1()) { break lab4; } if (!r_VX()) { break lab4; } slice_del(); break lab0; } cursor = limit - v_1; lab5: { if (!(eq_s_b("ink"))) { break lab5; } bra = cursor; slice_from("ing"); break lab0; } cursor = limit - v_1; lab6: { if (!(eq_s_b("mp"))) { break lab6; } bra = cursor; slice_from("m"); break lab0; } cursor = limit - v_1; lab7: { if (!(eq_s_b("'"))) { break lab7; } bra = cursor; if (!r_R1()) { break lab7; } slice_del(); break lab0; } cursor = limit - v_1; bra = cursor; if (!r_R1()) { return false; } if (!r_C()) { return false; } slice_del(); } break; case 2: if (!r_R1()) { return false; } slice_from("g"); break; case 3: if (!r_R1()) { return false; } slice_from("lijk"); break; case 4: if (!r_R1()) { return false; } slice_from("isch"); break; case 5: if (!r_R1()) { return false; } if (!r_C()) { return false; } slice_del(); break; case 6: if (!r_R1()) { return false; } slice_from("t"); break; case 7: if (!r_R1()) { return false; } slice_from("s"); break; case 8: if (!r_R1()) { return false; } slice_from("r"); break; case 9: if (!r_R1()) { return false; } slice_del(); insert(cursor, cursor, "l"); if (!r_lengthen_V()) { return false; } break; case 10: if (!r_R1()) { return false; } if (!r_C()) { return false; } slice_del(); insert(cursor, cursor, "en"); if (!r_lengthen_V()) { return false; } break; case 11: if (!r_R1()) { return false; } if (!r_C()) { return false; } slice_from("ief"); break; } return true; } private boolean r_Step_3() { int among_var; ket = cursor; among_var = find_among_b(a_2); if (among_var == 0) { return false; } bra = cursor; switch (among_var) { case 1: if (!r_R1()) { return false; } slice_from("eer"); break; case 2: if (!r_R1()) { return false; } slice_del(); if (!r_lengthen_V()) { return false; } break; case 3: if (!r_R1()) { return false; } slice_del(); break; case 4: slice_from("r"); break; case 5: if (!r_R1()) { return false; } if (!r_C()) { return false; } slice_from("aar"); break; case 6: if (!r_R2()) { return false; } slice_del(); insert(cursor, cursor, "f"); if (!r_lengthen_V()) { return false; } break; case 7: if (!r_R2()) { return false; } slice_del(); insert(cursor, cursor, "g"); if (!r_lengthen_V()) { return false; } break; case 8: if (!r_R1()) { return false; } if (!r_C()) { return false; } slice_from("t"); break; case 9: if (!r_R1()) { return false; } if (!r_C()) { return false; } slice_from("d"); break; } return true; } private boolean r_Step_4() { int among_var; lab0: { int v_1 = limit - cursor; lab1: { ket = cursor; among_var = find_among_b(a_3); if (among_var == 0) { break lab1; } bra = cursor; switch (among_var) { case 1: if (!r_R1()) { break lab1; } slice_from("ie"); break; case 2: if (!r_R1()) { break lab1; } slice_from("eer"); break; case 3: if (!r_R1()) { break lab1; } slice_del(); break; case 4: if (!r_R1()) { break lab1; } if (!r_V()) { break lab1; } slice_from("n"); break; case 5: if (!r_R1()) { break lab1; } if (!r_V()) { break lab1; } slice_from("l"); break; case 6: if (!r_R1()) { break lab1; } if (!r_V()) { break lab1; } slice_from("r"); break; case 7: if (!r_R1()) { break lab1; } slice_from("teer"); break; case 8: if (!r_R1()) { break lab1; } slice_from("lijk"); break; case 9: if (!r_R1()) { break lab1; } if (!r_C()) { break lab1; } slice_del(); if (!r_lengthen_V()) { break lab1; } break; } break lab0; } cursor = limit - v_1; ket = cursor; if (find_among_b(a_4) == 0) { return false; } bra = cursor; if (!r_R1()) { return false; } if (!r_C()) { return false; } slice_del(); if (!r_lengthen_V()) { return false; } } return true; } private boolean r_Step_7() { int among_var; ket = cursor; among_var = find_among_b(a_5); if (among_var == 0) { return false; } bra = cursor; switch (among_var) { case 1: slice_from("k"); break; case 2: slice_from("f"); break; case 3: slice_from("p"); break; } return true; } private boolean r_Step_6() { int among_var; ket = cursor; among_var = find_among_b(a_6); if (among_var == 0) { return false; } bra = cursor; switch (among_var) { case 1: slice_from("b"); break; case 2: slice_from("c"); break; case 3: slice_from("d"); break; case 4: slice_from("f"); break; case 5: slice_from("g"); break; case 6: slice_from("h"); break; case 7: slice_from("j"); break; case 8: slice_from("k"); break; case 9: slice_from("l"); break; case 10: slice_from("m"); break; case 11: slice_from("n"); break; case 12: slice_from("p"); break; case 13: slice_from("q"); break; case 14: slice_from("r"); break; case 15: slice_from("s"); break; case 16: slice_from("t"); break; case 17: slice_from("v"); break; case 18: slice_from("w"); break; case 19: slice_from("x"); break; case 20: slice_from("z"); break; } return true; } private boolean r_Step_1c() { int among_var; ket = cursor; among_var = find_among_b(a_7); if (among_var == 0) { return false; } bra = cursor; if (!r_R1()) { return false; } if (!r_C()) { return false; } switch (among_var) { case 1: { int v_1 = limit - cursor; lab0: { if (!(eq_s_b("n"))) { break lab0; } if (!r_R1()) { break lab0; } return false; } cursor = limit - v_1; } slice_del(); break; case 2: { int v_2 = limit - cursor; lab1: { if (!(eq_s_b("h"))) { break lab1; } if (!r_R1()) { break lab1; } return false; } cursor = limit - v_2; } slice_del(); break; } return true; } private boolean r_Lose_prefix() { bra = cursor; if (!(eq_s("ge"))) { return false; } ket = cursor; int v_1 = cursor; { int c = cursor + 3; if (0 > c || c > limit) { return false; } cursor = c; } cursor = v_1; golab0: while (true) { int v_2 = cursor; lab1: { if (!(in_grouping(g_v, 97, 121))) { break lab1; } cursor = v_2; break golab0; } cursor = v_2; if (cursor >= limit) { return false; } cursor++; } golab2: while (true) { int v_3 = cursor; lab3: { if (!(out_grouping(g_v, 97, 121))) { break lab3; } cursor = v_3; break golab2; } cursor = v_3; if (cursor >= limit) { return false; } cursor++; } B_GE_removed = true; slice_del(); return true; } private boolean r_Lose_infix() { if (cursor >= limit) { return false; } cursor++; golab0: while (true) { lab1: { bra = cursor; if (!(eq_s("ge"))) { break lab1; } ket = cursor; break golab0; } if (cursor >= limit) { return false; } cursor++; } int v_2 = cursor; { int c = cursor + 3; if (0 > c || c > limit) { return false; } cursor = c; } cursor = v_2; golab2: while (true) { int v_3 = cursor; lab3: { if (!(in_grouping(g_v, 97, 121))) { break lab3; } cursor = v_3; break golab2; } cursor = v_3; if (cursor >= limit) { return false; } cursor++; } golab4: while (true) { int v_4 = cursor; lab5: { if (!(out_grouping(g_v, 97, 121))) { break lab5; } cursor = v_4; break golab4; } cursor = v_4; if (cursor >= limit) { return false; } cursor++; } B_GE_removed = true; slice_del(); return true; } private boolean r_measure() { I_p1 = limit; I_p2 = limit; int v_1 = cursor; lab0: { while (true) { lab1: { if (!(out_grouping(g_v, 97, 121))) { break lab1; } continue; } break; } { int v_3 = 1; while (true) { int v_4 = cursor; lab2: { lab3: { int v_5 = cursor; lab4: { if (!(eq_s("ij"))) { break lab4; } break lab3; } cursor = v_5; if (!(in_grouping(g_v, 97, 121))) { break lab2; } } v_3--; continue; } cursor = v_4; break; } if (v_3 > 0) { break lab0; } } if (!(out_grouping(g_v, 97, 121))) { break lab0; } I_p1 = cursor; while (true) { lab5: { if (!(out_grouping(g_v, 97, 121))) { break lab5; } continue; } break; } { int v_7 = 1; while (true) { int v_8 = cursor; lab6: { lab7: { int v_9 = cursor; lab8: { if (!(eq_s("ij"))) { break lab8; } break lab7; } cursor = v_9; if (!(in_grouping(g_v, 97, 121))) { break lab6; } } v_7--; continue; } cursor = v_8; break; } if (v_7 > 0) { break lab0; } } if (!(out_grouping(g_v, 97, 121))) { break lab0; } I_p2 = cursor; } cursor = v_1; return true; } @Override public boolean stem() { B_Y_found = false; B_stemmed = false; int v_1 = cursor; lab0: { bra = cursor; if (!(eq_s("y"))) { break lab0; } ket = cursor; slice_from("Y"); B_Y_found = true; } cursor = v_1; int v_2 = cursor; lab1: { while (true) { int v_3 = cursor; lab2: { golab3: while (true) { int v_4 = cursor; lab4: { if (!(in_grouping(g_v, 97, 121))) { break lab4; } bra = cursor; if (!(eq_s("y"))) { break lab4; } ket = cursor; cursor = v_4; break golab3; } cursor = v_4; if (cursor >= limit) { break lab2; } cursor++; } slice_from("Y"); B_Y_found = true; continue; } cursor = v_3; break; } } cursor = v_2; if (!r_measure()) { return false; } limit_backward = cursor; cursor = limit; int v_5 = limit - cursor; lab5: { if (!r_Step_1()) { break lab5; } B_stemmed = true; } cursor = limit - v_5; int v_6 = limit - cursor; lab6: { if (!r_Step_2()) { break lab6; } B_stemmed = true; } cursor = limit - v_6; int v_7 = limit - cursor; lab7: { if (!r_Step_3()) { break lab7; } B_stemmed = true; } cursor = limit - v_7; int v_8 = limit - cursor; lab8: { if (!r_Step_4()) { break lab8; } B_stemmed = true; } cursor = limit - v_8; cursor = limit_backward; B_GE_removed = false; int v_9 = cursor; lab9: { int v_10 = cursor; if (!r_Lose_prefix()) { break lab9; } cursor = v_10; if (!r_measure()) { break lab9; } } cursor = v_9; limit_backward = cursor; cursor = limit; int v_11 = limit - cursor; lab10: { if (!(B_GE_removed)) { break lab10; } if (!r_Step_1c()) { break lab10; } } cursor = limit - v_11; cursor = limit_backward; B_GE_removed = false; int v_12 = cursor; lab11: { int v_13 = cursor; if (!r_Lose_infix()) { break lab11; } cursor = v_13; if (!r_measure()) { break lab11; } } cursor = v_12; limit_backward = cursor; cursor = limit; int v_14 = limit - cursor; lab12: { if (!(B_GE_removed)) { break lab12; } if (!r_Step_1c()) { break lab12; } } cursor = limit - v_14; cursor = limit_backward; limit_backward = cursor; cursor = limit; int v_15 = limit - cursor; lab13: { if (!r_Step_7()) { break lab13; } B_stemmed = true; } cursor = limit - v_15; int v_16 = limit - cursor; lab14: { lab15: { lab16: { if (!(B_stemmed)) { break lab16; } break lab15; } if (!(B_GE_removed)) { break lab14; } } if (!r_Step_6()) { break lab14; } } cursor = limit - v_16; cursor = limit_backward; int v_18 = cursor; lab17: { if (!(B_Y_found)) { break lab17; } while (true) { int v_19 = cursor; lab18: { golab19: while (true) { int v_20 = cursor; lab20: { bra = cursor; if (!(eq_s("Y"))) { break lab20; } ket = cursor; cursor = v_20; break golab19; } cursor = v_20; if (cursor >= limit) { break lab18; } cursor++; } slice_from("y"); continue; } cursor = v_19; break; } } cursor = v_18; return true; } @Override public boolean equals(Object o) { return o instanceof KpStemmer; } @Override public int hashCode() { return KpStemmer.class.getName().hashCode(); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy