blob: 48b5c3aee5a6f488bca4af2e9f58c6549f7d27b7 [file] [log] [blame]
// 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.
* <p>
* Generated by Snowball 2.0.0 - https://snowballstem.org/
* </p>
*/
@SuppressWarnings("unused")
public class LithuanianStemmer 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 final static Among a_0[] = {
new Among("a", -1, -1),
new Among("ia", 0, -1),
new Among("eria", 1, -1),
new Among("osna", 0, -1),
new Among("iosna", 3, -1),
new Among("uosna", 3, -1),
new Among("iuosna", 5, -1),
new Among("ysna", 0, -1),
new Among("\u0117sna", 0, -1),
new Among("e", -1, -1),
new Among("ie", 9, -1),
new Among("enie", 10, -1),
new Among("erie", 10, -1),
new Among("oje", 9, -1),
new Among("ioje", 13, -1),
new Among("uje", 9, -1),
new Among("iuje", 15, -1),
new Among("yje", 9, -1),
new Among("enyje", 17, -1),
new Among("eryje", 17, -1),
new Among("\u0117je", 9, -1),
new Among("ame", 9, -1),
new Among("iame", 21, -1),
new Among("sime", 9, -1),
new Among("ome", 9, -1),
new Among("\u0117me", 9, -1),
new Among("tum\u0117me", 25, -1),
new Among("ose", 9, -1),
new Among("iose", 27, -1),
new Among("uose", 27, -1),
new Among("iuose", 29, -1),
new Among("yse", 9, -1),
new Among("enyse", 31, -1),
new Among("eryse", 31, -1),
new Among("\u0117se", 9, -1),
new Among("ate", 9, -1),
new Among("iate", 35, -1),
new Among("ite", 9, -1),
new Among("kite", 37, -1),
new Among("site", 37, -1),
new Among("ote", 9, -1),
new Among("tute", 9, -1),
new Among("\u0117te", 9, -1),
new Among("tum\u0117te", 42, -1),
new Among("i", -1, -1),
new Among("ai", 44, -1),
new Among("iai", 45, -1),
new Among("eriai", 46, -1),
new Among("ei", 44, -1),
new Among("tumei", 48, -1),
new Among("ki", 44, -1),
new Among("imi", 44, -1),
new Among("erimi", 51, -1),
new Among("umi", 44, -1),
new Among("iumi", 53, -1),
new Among("si", 44, -1),
new Among("asi", 55, -1),
new Among("iasi", 56, -1),
new Among("esi", 55, -1),
new Among("iesi", 58, -1),
new Among("siesi", 59, -1),
new Among("isi", 55, -1),
new Among("aisi", 61, -1),
new Among("eisi", 61, -1),
new Among("tumeisi", 63, -1),
new Among("uisi", 61, -1),
new Among("osi", 55, -1),
new Among("\u0117josi", 66, -1),
new Among("uosi", 66, -1),
new Among("iuosi", 68, -1),
new Among("siuosi", 69, -1),
new Among("usi", 55, -1),
new Among("ausi", 71, -1),
new Among("\u010Diausi", 72, -1),
new Among("\u0105si", 55, -1),
new Among("\u0117si", 55, -1),
new Among("\u0173si", 55, -1),
new Among("t\u0173si", 76, -1),
new Among("ti", 44, -1),
new Among("enti", 78, -1),
new Among("inti", 78, -1),
new Among("oti", 78, -1),
new Among("ioti", 81, -1),
new Among("uoti", 81, -1),
new Among("iuoti", 83, -1),
new Among("auti", 78, -1),
new Among("iauti", 85, -1),
new Among("yti", 78, -1),
new Among("\u0117ti", 78, -1),
new Among("tel\u0117ti", 88, -1),
new Among("in\u0117ti", 88, -1),
new Among("ter\u0117ti", 88, -1),
new Among("ui", 44, -1),
new Among("iui", 92, -1),
new Among("eniui", 93, -1),
new Among("oj", -1, -1),
new Among("\u0117j", -1, -1),
new Among("k", -1, -1),
new Among("am", -1, -1),
new Among("iam", 98, -1),
new Among("iem", -1, -1),
new Among("im", -1, -1),
new Among("sim", 101, -1),
new Among("om", -1, -1),
new Among("tum", -1, -1),
new Among("\u0117m", -1, -1),
new Among("tum\u0117m", 105, -1),
new Among("an", -1, -1),
new Among("on", -1, -1),
new Among("ion", 108, -1),
new Among("un", -1, -1),
new Among("iun", 110, -1),
new Among("\u0117n", -1, -1),
new Among("o", -1, -1),
new Among("io", 113, -1),
new Among("enio", 114, -1),
new Among("\u0117jo", 113, -1),
new Among("uo", 113, -1),
new Among("s", -1, -1),
new Among("as", 118, -1),
new Among("ias", 119, -1),
new Among("es", 118, -1),
new Among("ies", 121, -1),
new Among("is", 118, -1),
new Among("ais", 123, -1),
new Among("iais", 124, -1),
new Among("tumeis", 123, -1),
new Among("imis", 123, -1),
new Among("enimis", 127, -1),
new Among("omis", 123, -1),
new Among("iomis", 129, -1),
new Among("umis", 123, -1),
new Among("\u0117mis", 123, -1),
new Among("enis", 123, -1),
new Among("asis", 123, -1),
new Among("ysis", 123, -1),
new Among("ams", 118, -1),
new Among("iams", 136, -1),
new Among("iems", 118, -1),
new Among("ims", 118, -1),
new Among("enims", 139, -1),
new Among("erims", 139, -1),
new Among("oms", 118, -1),
new Among("ioms", 142, -1),
new Among("ums", 118, -1),
new Among("\u0117ms", 118, -1),
new Among("ens", 118, -1),
new Among("os", 118, -1),
new Among("ios", 147, -1),
new Among("uos", 147, -1),
new Among("iuos", 149, -1),
new Among("ers", 118, -1),
new Among("us", 118, -1),
new Among("aus", 152, -1),
new Among("iaus", 153, -1),
new Among("ius", 152, -1),
new Among("ys", 118, -1),
new Among("enys", 156, -1),
new Among("erys", 156, -1),
new Among("\u0105s", 118, -1),
new Among("i\u0105s", 159, -1),
new Among("\u0117s", 118, -1),
new Among("am\u0117s", 161, -1),
new Among("iam\u0117s", 162, -1),
new Among("im\u0117s", 161, -1),
new Among("kim\u0117s", 164, -1),
new Among("sim\u0117s", 164, -1),
new Among("om\u0117s", 161, -1),
new Among("\u0117m\u0117s", 161, -1),
new Among("tum\u0117m\u0117s", 168, -1),
new Among("at\u0117s", 161, -1),
new Among("iat\u0117s", 170, -1),
new Among("sit\u0117s", 161, -1),
new Among("ot\u0117s", 161, -1),
new Among("\u0117t\u0117s", 161, -1),
new Among("tum\u0117t\u0117s", 174, -1),
new Among("\u012Fs", 118, -1),
new Among("\u016Bs", 118, -1),
new Among("t\u0173s", 118, -1),
new Among("at", -1, -1),
new Among("iat", 179, -1),
new Among("it", -1, -1),
new Among("sit", 181, -1),
new Among("ot", -1, -1),
new Among("\u0117t", -1, -1),
new Among("tum\u0117t", 184, -1),
new Among("u", -1, -1),
new Among("au", 186, -1),
new Among("iau", 187, -1),
new Among("\u010Diau", 188, -1),
new Among("iu", 186, -1),
new Among("eniu", 190, -1),
new Among("siu", 190, -1),
new Among("y", -1, -1),
new Among("\u0105", -1, -1),
new Among("i\u0105", 194, -1),
new Among("\u0117", -1, -1),
new Among("\u0119", -1, -1),
new Among("\u012F", -1, -1),
new Among("en\u012F", 198, -1),
new Among("er\u012F", 198, -1),
new Among("\u0173", -1, -1),
new Among("i\u0173", 201, -1),
new Among("er\u0173", 201, -1)
};
private final static Among a_1[] = {
new Among("ing", -1, -1),
new Among("aj", -1, -1),
new Among("iaj", 1, -1),
new Among("iej", -1, -1),
new Among("oj", -1, -1),
new Among("ioj", 4, -1),
new Among("uoj", 4, -1),
new Among("iuoj", 6, -1),
new Among("auj", -1, -1),
new Among("\u0105j", -1, -1),
new Among("i\u0105j", 9, -1),
new Among("\u0117j", -1, -1),
new Among("\u0173j", -1, -1),
new Among("i\u0173j", 12, -1),
new Among("ok", -1, -1),
new Among("iok", 14, -1),
new Among("iuk", -1, -1),
new Among("uliuk", 16, -1),
new Among("u\u010Diuk", 16, -1),
new Among("i\u0161k", -1, -1),
new Among("iul", -1, -1),
new Among("yl", -1, -1),
new Among("\u0117l", -1, -1),
new Among("am", -1, -1),
new Among("dam", 23, -1),
new Among("jam", 23, -1),
new Among("zgan", -1, -1),
new Among("ain", -1, -1),
new Among("esn", -1, -1),
new Among("op", -1, -1),
new Among("iop", 29, -1),
new Among("ias", -1, -1),
new Among("ies", -1, -1),
new Among("ais", -1, -1),
new Among("iais", 33, -1),
new Among("os", -1, -1),
new Among("ios", 35, -1),
new Among("uos", 35, -1),
new Among("iuos", 37, -1),
new Among("aus", -1, -1),
new Among("iaus", 39, -1),
new Among("\u0105s", -1, -1),
new Among("i\u0105s", 41, -1),
new Among("\u0119s", -1, -1),
new Among("ut\u0117ait", -1, -1),
new Among("ant", -1, -1),
new Among("iant", 45, -1),
new Among("siant", 46, -1),
new Among("int", -1, -1),
new Among("ot", -1, -1),
new Among("uot", 49, -1),
new Among("iuot", 50, -1),
new Among("yt", -1, -1),
new Among("\u0117t", -1, -1),
new Among("yk\u0161t", -1, -1),
new Among("iau", -1, -1),
new Among("dav", -1, -1),
new Among("sv", -1, -1),
new Among("\u0161v", -1, -1),
new Among("yk\u0161\u010D", -1, -1),
new Among("\u0119", -1, -1),
new Among("\u0117j\u0119", 60, -1)
};
private final static Among a_2[] = {
new Among("ojime", -1, 7),
new Among("\u0117jime", -1, 3),
new Among("avime", -1, 6),
new Among("okate", -1, 8),
new Among("aite", -1, 1),
new Among("uote", -1, 2),
new Among("asius", -1, 5),
new Among("okat\u0117s", -1, 8),
new Among("ait\u0117s", -1, 1),
new Among("uot\u0117s", -1, 2),
new Among("esiu", -1, 4)
};
private final static Among a_3[] = {
new Among("\u010D", -1, 1),
new Among("d\u017E", -1, 2)
};
private final static Among a_4[] = {
new Among("gd", -1, 1)
};
private static final char g_v[] = {17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 64, 1, 0, 64, 0, 0, 0, 0, 0, 0, 0, 4, 4 };
private int I_p1;
private boolean r_R1() {
if (!(I_p1 <= cursor))
{
return false;
}
return true;
}
private boolean r_step1() {
if (cursor < I_p1)
{
return false;
}
int v_2 = limit_backward;
limit_backward = I_p1;
ket = cursor;
if (find_among_b(a_0) == 0)
{
limit_backward = v_2;
return false;
}
bra = cursor;
limit_backward = v_2;
if (!r_R1())
{
return false;
}
slice_del();
return true;
}
private boolean r_step2() {
while(true)
{
int v_1 = limit - cursor;
lab0: {
if (cursor < I_p1)
{
break lab0;
}
int v_3 = limit_backward;
limit_backward = I_p1;
ket = cursor;
if (find_among_b(a_1) == 0)
{
limit_backward = v_3;
break lab0;
}
bra = cursor;
limit_backward = v_3;
slice_del();
continue;
}
cursor = limit - v_1;
break;
}
return true;
}
private boolean r_fix_conflicts() {
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:
slice_from("ait\u0117");
break;
case 2:
slice_from("uot\u0117");
break;
case 3:
slice_from("\u0117jimas");
break;
case 4:
slice_from("esys");
break;
case 5:
slice_from("asys");
break;
case 6:
slice_from("avimas");
break;
case 7:
slice_from("ojimas");
break;
case 8:
slice_from("okat\u0117");
break;
}
return true;
}
private boolean r_fix_chdz() {
int among_var;
ket = cursor;
among_var = find_among_b(a_3);
if (among_var == 0)
{
return false;
}
bra = cursor;
switch (among_var) {
case 1:
slice_from("t");
break;
case 2:
slice_from("d");
break;
}
return true;
}
private boolean r_fix_gd() {
ket = cursor;
if (find_among_b(a_4) == 0)
{
return false;
}
bra = cursor;
slice_from("g");
return true;
}
public boolean stem() {
I_p1 = limit;
int v_1 = cursor;
lab0: {
int v_2 = cursor;
lab1: {
int v_3 = cursor;
if (!(eq_s("a")))
{
cursor = v_2;
break lab1;
}
cursor = v_3;
if (!(limit > 6))
{
cursor = v_2;
break lab1;
}
{
int c = cursor + 1;
if (0 > c || c > limit)
{
cursor = v_2;
break lab1;
}
cursor = c;
}
}
golab2: while(true)
{
lab3: {
if (!(in_grouping(g_v, 97, 371)))
{
break lab3;
}
break golab2;
}
if (cursor >= limit)
{
break lab0;
}
cursor++;
}
golab4: while(true)
{
lab5: {
if (!(out_grouping(g_v, 97, 371)))
{
break lab5;
}
break golab4;
}
if (cursor >= limit)
{
break lab0;
}
cursor++;
}
I_p1 = cursor;
}
cursor = v_1;
limit_backward = cursor;
cursor = limit;
int v_6 = limit - cursor;
r_fix_conflicts();
cursor = limit - v_6;
int v_7 = limit - cursor;
r_step1();
cursor = limit - v_7;
int v_8 = limit - cursor;
r_fix_chdz();
cursor = limit - v_8;
int v_9 = limit - cursor;
r_step2();
cursor = limit - v_9;
int v_10 = limit - cursor;
r_fix_chdz();
cursor = limit - v_10;
int v_11 = limit - cursor;
r_fix_gd();
cursor = limit - v_11;
cursor = limit_backward;
return true;
}
@Override
public boolean equals( Object o ) {
return o instanceof LithuanianStemmer;
}
@Override
public int hashCode() {
return LithuanianStemmer.class.getName().hashCode();
}
}