+++ /dev/null
-// This file was generated automatically by the Snowball to Java compiler
-
-package org.tartarus.snowball.ext;
-import org.tartarus.snowball.SnowballProgram;
-import org.tartarus.snowball.Among;
-
-/**
- * Generated class implementing code defined by a snowball script.
- */
-public class ItalianStemmer extends SnowballProgram {
-
- private Among a_0[] = {
- new Among ( "", -1, 7, "", this),
- new Among ( "qu", 0, 6, "", this),
- new Among ( "\u00E1", 0, 1, "", this),
- new Among ( "\u00E9", 0, 2, "", this),
- new Among ( "\u00ED", 0, 3, "", this),
- new Among ( "\u00F3", 0, 4, "", this),
- new Among ( "\u00FA", 0, 5, "", this)
- };
-
- private Among a_1[] = {
- new Among ( "", -1, 3, "", this),
- new Among ( "I", 0, 1, "", this),
- new Among ( "U", 0, 2, "", this)
- };
-
- private Among a_2[] = {
- new Among ( "la", -1, -1, "", this),
- new Among ( "cela", 0, -1, "", this),
- new Among ( "gliela", 0, -1, "", this),
- new Among ( "mela", 0, -1, "", this),
- new Among ( "tela", 0, -1, "", this),
- new Among ( "vela", 0, -1, "", this),
- new Among ( "le", -1, -1, "", this),
- new Among ( "cele", 6, -1, "", this),
- new Among ( "gliele", 6, -1, "", this),
- new Among ( "mele", 6, -1, "", this),
- new Among ( "tele", 6, -1, "", this),
- new Among ( "vele", 6, -1, "", this),
- new Among ( "ne", -1, -1, "", this),
- new Among ( "cene", 12, -1, "", this),
- new Among ( "gliene", 12, -1, "", this),
- new Among ( "mene", 12, -1, "", this),
- new Among ( "sene", 12, -1, "", this),
- new Among ( "tene", 12, -1, "", this),
- new Among ( "vene", 12, -1, "", this),
- new Among ( "ci", -1, -1, "", this),
- new Among ( "li", -1, -1, "", this),
- new Among ( "celi", 20, -1, "", this),
- new Among ( "glieli", 20, -1, "", this),
- new Among ( "meli", 20, -1, "", this),
- new Among ( "teli", 20, -1, "", this),
- new Among ( "veli", 20, -1, "", this),
- new Among ( "gli", 20, -1, "", this),
- new Among ( "mi", -1, -1, "", this),
- new Among ( "si", -1, -1, "", this),
- new Among ( "ti", -1, -1, "", this),
- new Among ( "vi", -1, -1, "", this),
- new Among ( "lo", -1, -1, "", this),
- new Among ( "celo", 31, -1, "", this),
- new Among ( "glielo", 31, -1, "", this),
- new Among ( "melo", 31, -1, "", this),
- new Among ( "telo", 31, -1, "", this),
- new Among ( "velo", 31, -1, "", this)
- };
-
- private Among a_3[] = {
- new Among ( "ando", -1, 1, "", this),
- new Among ( "endo", -1, 1, "", this),
- new Among ( "ar", -1, 2, "", this),
- new Among ( "er", -1, 2, "", this),
- new Among ( "ir", -1, 2, "", this)
- };
-
- private Among a_4[] = {
- new Among ( "ic", -1, -1, "", this),
- new Among ( "abil", -1, -1, "", this),
- new Among ( "os", -1, -1, "", this),
- new Among ( "iv", -1, 1, "", this)
- };
-
- private Among a_5[] = {
- new Among ( "ic", -1, 1, "", this),
- new Among ( "abil", -1, 1, "", this),
- new Among ( "iv", -1, 1, "", this)
- };
-
- private Among a_6[] = {
- new Among ( "ica", -1, 1, "", this),
- new Among ( "logia", -1, 3, "", this),
- new Among ( "osa", -1, 1, "", this),
- new Among ( "ista", -1, 1, "", this),
- new Among ( "iva", -1, 9, "", this),
- new Among ( "anza", -1, 1, "", this),
- new Among ( "enza", -1, 5, "", this),
- new Among ( "ice", -1, 1, "", this),
- new Among ( "atrice", 7, 1, "", this),
- new Among ( "iche", -1, 1, "", this),
- new Among ( "logie", -1, 3, "", this),
- new Among ( "abile", -1, 1, "", this),
- new Among ( "ibile", -1, 1, "", this),
- new Among ( "usione", -1, 4, "", this),
- new Among ( "azione", -1, 2, "", this),
- new Among ( "uzione", -1, 4, "", this),
- new Among ( "atore", -1, 2, "", this),
- new Among ( "ose", -1, 1, "", this),
- new Among ( "ante", -1, 1, "", this),
- new Among ( "mente", -1, 1, "", this),
- new Among ( "amente", 19, 7, "", this),
- new Among ( "iste", -1, 1, "", this),
- new Among ( "ive", -1, 9, "", this),
- new Among ( "anze", -1, 1, "", this),
- new Among ( "enze", -1, 5, "", this),
- new Among ( "ici", -1, 1, "", this),
- new Among ( "atrici", 25, 1, "", this),
- new Among ( "ichi", -1, 1, "", this),
- new Among ( "abili", -1, 1, "", this),
- new Among ( "ibili", -1, 1, "", this),
- new Among ( "ismi", -1, 1, "", this),
- new Among ( "usioni", -1, 4, "", this),
- new Among ( "azioni", -1, 2, "", this),
- new Among ( "uzioni", -1, 4, "", this),
- new Among ( "atori", -1, 2, "", this),
- new Among ( "osi", -1, 1, "", this),
- new Among ( "anti", -1, 1, "", this),
- new Among ( "amenti", -1, 6, "", this),
- new Among ( "imenti", -1, 6, "", this),
- new Among ( "isti", -1, 1, "", this),
- new Among ( "ivi", -1, 9, "", this),
- new Among ( "ico", -1, 1, "", this),
- new Among ( "ismo", -1, 1, "", this),
- new Among ( "oso", -1, 1, "", this),
- new Among ( "amento", -1, 6, "", this),
- new Among ( "imento", -1, 6, "", this),
- new Among ( "ivo", -1, 9, "", this),
- new Among ( "it\u00E0", -1, 8, "", this),
- new Among ( "ist\u00E0", -1, 1, "", this),
- new Among ( "ist\u00E8", -1, 1, "", this),
- new Among ( "ist\u00EC", -1, 1, "", this)
- };
-
- private Among a_7[] = {
- new Among ( "isca", -1, 1, "", this),
- new Among ( "enda", -1, 1, "", this),
- new Among ( "ata", -1, 1, "", this),
- new Among ( "ita", -1, 1, "", this),
- new Among ( "uta", -1, 1, "", this),
- new Among ( "ava", -1, 1, "", this),
- new Among ( "eva", -1, 1, "", this),
- new Among ( "iva", -1, 1, "", this),
- new Among ( "erebbe", -1, 1, "", this),
- new Among ( "irebbe", -1, 1, "", this),
- new Among ( "isce", -1, 1, "", this),
- new Among ( "ende", -1, 1, "", this),
- new Among ( "are", -1, 1, "", this),
- new Among ( "ere", -1, 1, "", this),
- new Among ( "ire", -1, 1, "", this),
- new Among ( "asse", -1, 1, "", this),
- new Among ( "ate", -1, 1, "", this),
- new Among ( "avate", 16, 1, "", this),
- new Among ( "evate", 16, 1, "", this),
- new Among ( "ivate", 16, 1, "", this),
- new Among ( "ete", -1, 1, "", this),
- new Among ( "erete", 20, 1, "", this),
- new Among ( "irete", 20, 1, "", this),
- new Among ( "ite", -1, 1, "", this),
- new Among ( "ereste", -1, 1, "", this),
- new Among ( "ireste", -1, 1, "", this),
- new Among ( "ute", -1, 1, "", this),
- new Among ( "erai", -1, 1, "", this),
- new Among ( "irai", -1, 1, "", this),
- new Among ( "isci", -1, 1, "", this),
- new Among ( "endi", -1, 1, "", this),
- new Among ( "erei", -1, 1, "", this),
- new Among ( "irei", -1, 1, "", this),
- new Among ( "assi", -1, 1, "", this),
- new Among ( "ati", -1, 1, "", this),
- new Among ( "iti", -1, 1, "", this),
- new Among ( "eresti", -1, 1, "", this),
- new Among ( "iresti", -1, 1, "", this),
- new Among ( "uti", -1, 1, "", this),
- new Among ( "avi", -1, 1, "", this),
- new Among ( "evi", -1, 1, "", this),
- new Among ( "ivi", -1, 1, "", this),
- new Among ( "isco", -1, 1, "", this),
- new Among ( "ando", -1, 1, "", this),
- new Among ( "endo", -1, 1, "", this),
- new Among ( "Yamo", -1, 1, "", this),
- new Among ( "iamo", -1, 1, "", this),
- new Among ( "avamo", -1, 1, "", this),
- new Among ( "evamo", -1, 1, "", this),
- new Among ( "ivamo", -1, 1, "", this),
- new Among ( "eremo", -1, 1, "", this),
- new Among ( "iremo", -1, 1, "", this),
- new Among ( "assimo", -1, 1, "", this),
- new Among ( "ammo", -1, 1, "", this),
- new Among ( "emmo", -1, 1, "", this),
- new Among ( "eremmo", 54, 1, "", this),
- new Among ( "iremmo", 54, 1, "", this),
- new Among ( "immo", -1, 1, "", this),
- new Among ( "ano", -1, 1, "", this),
- new Among ( "iscano", 58, 1, "", this),
- new Among ( "avano", 58, 1, "", this),
- new Among ( "evano", 58, 1, "", this),
- new Among ( "ivano", 58, 1, "", this),
- new Among ( "eranno", -1, 1, "", this),
- new Among ( "iranno", -1, 1, "", this),
- new Among ( "ono", -1, 1, "", this),
- new Among ( "iscono", 65, 1, "", this),
- new Among ( "arono", 65, 1, "", this),
- new Among ( "erono", 65, 1, "", this),
- new Among ( "irono", 65, 1, "", this),
- new Among ( "erebbero", -1, 1, "", this),
- new Among ( "irebbero", -1, 1, "", this),
- new Among ( "assero", -1, 1, "", this),
- new Among ( "essero", -1, 1, "", this),
- new Among ( "issero", -1, 1, "", this),
- new Among ( "ato", -1, 1, "", this),
- new Among ( "ito", -1, 1, "", this),
- new Among ( "uto", -1, 1, "", this),
- new Among ( "avo", -1, 1, "", this),
- new Among ( "evo", -1, 1, "", this),
- new Among ( "ivo", -1, 1, "", this),
- new Among ( "ar", -1, 1, "", this),
- new Among ( "ir", -1, 1, "", this),
- new Among ( "er\u00E0", -1, 1, "", this),
- new Among ( "ir\u00E0", -1, 1, "", this),
- new Among ( "er\u00F2", -1, 1, "", this),
- new Among ( "ir\u00F2", -1, 1, "", this)
- };
-
- private static final char g_v[] = {17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 8, 2, 1 };
-
- private static final char g_AEIO[] = {17, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 8, 2 };
-
- private static final char g_CG[] = {17 };
-
- private int I_p2;
- private int I_p1;
- private int I_pV;
-
- private void copy_from(ItalianStemmer other) {
- I_p2 = other.I_p2;
- I_p1 = other.I_p1;
- I_pV = other.I_pV;
- super.copy_from(other);
- }
-
- private boolean r_prelude() {
- int among_var;
- int v_1;
- int v_2;
- int v_3;
- int v_4;
- int v_5;
- // (, line 34
- // test, line 35
- v_1 = cursor;
- // repeat, line 35
- replab0: while(true)
- {
- v_2 = cursor;
- lab1: do {
- // (, line 35
- // [, line 36
- bra = cursor;
- // substring, line 36
- among_var = find_among(a_0, 7);
- if (among_var == 0)
- {
- break lab1;
- }
- // ], line 36
- ket = cursor;
- switch(among_var) {
- case 0:
- break lab1;
- case 1:
- // (, line 37
- // <-, line 37
- slice_from("\u00E0");
- break;
- case 2:
- // (, line 38
- // <-, line 38
- slice_from("\u00E8");
- break;
- case 3:
- // (, line 39
- // <-, line 39
- slice_from("\u00EC");
- break;
- case 4:
- // (, line 40
- // <-, line 40
- slice_from("\u00F2");
- break;
- case 5:
- // (, line 41
- // <-, line 41
- slice_from("\u00F9");
- break;
- case 6:
- // (, line 42
- // <-, line 42
- slice_from("qU");
- break;
- case 7:
- // (, line 43
- // next, line 43
- if (cursor >= limit)
- {
- break lab1;
- }
- cursor++;
- break;
- }
- continue replab0;
- } while (false);
- cursor = v_2;
- break replab0;
- }
- cursor = v_1;
- // repeat, line 46
- replab2: while(true)
- {
- v_3 = cursor;
- lab3: do {
- // goto, line 46
- golab4: while(true)
- {
- v_4 = cursor;
- lab5: do {
- // (, line 46
- if (!(in_grouping(g_v, 97, 249)))
- {
- break lab5;
- }
- // [, line 47
- bra = cursor;
- // or, line 47
- lab6: do {
- v_5 = cursor;
- lab7: do {
- // (, line 47
- // literal, line 47
- if (!(eq_s(1, "u")))
- {
- break lab7;
- }
- // ], line 47
- ket = cursor;
- if (!(in_grouping(g_v, 97, 249)))
- {
- break lab7;
- }
- // <-, line 47
- slice_from("U");
- break lab6;
- } while (false);
- cursor = v_5;
- // (, line 48
- // literal, line 48
- if (!(eq_s(1, "i")))
- {
- break lab5;
- }
- // ], line 48
- ket = cursor;
- if (!(in_grouping(g_v, 97, 249)))
- {
- break lab5;
- }
- // <-, line 48
- slice_from("I");
- } while (false);
- cursor = v_4;
- break golab4;
- } while (false);
- cursor = v_4;
- if (cursor >= limit)
- {
- break lab3;
- }
- cursor++;
- }
- continue replab2;
- } while (false);
- cursor = v_3;
- break replab2;
- }
- return true;
- }
-
- private boolean r_mark_regions() {
- int v_1;
- int v_2;
- int v_3;
- int v_6;
- int v_8;
- // (, line 52
- I_pV = limit;
- I_p1 = limit;
- I_p2 = limit;
- // do, line 58
- v_1 = cursor;
- lab0: do {
- // (, line 58
- // or, line 60
- lab1: do {
- v_2 = cursor;
- lab2: do {
- // (, line 59
- if (!(in_grouping(g_v, 97, 249)))
- {
- break lab2;
- }
- // or, line 59
- lab3: do {
- v_3 = cursor;
- lab4: do {
- // (, line 59
- if (!(out_grouping(g_v, 97, 249)))
- {
- break lab4;
- }
- // gopast, line 59
- golab5: while(true)
- {
- lab6: do {
- if (!(in_grouping(g_v, 97, 249)))
- {
- break lab6;
- }
- break golab5;
- } while (false);
- if (cursor >= limit)
- {
- break lab4;
- }
- cursor++;
- }
- break lab3;
- } while (false);
- cursor = v_3;
- // (, line 59
- if (!(in_grouping(g_v, 97, 249)))
- {
- break lab2;
- }
- // gopast, line 59
- golab7: while(true)
- {
- lab8: do {
- if (!(out_grouping(g_v, 97, 249)))
- {
- break lab8;
- }
- break golab7;
- } while (false);
- if (cursor >= limit)
- {
- break lab2;
- }
- cursor++;
- }
- } while (false);
- break lab1;
- } while (false);
- cursor = v_2;
- // (, line 61
- if (!(out_grouping(g_v, 97, 249)))
- {
- break lab0;
- }
- // or, line 61
- lab9: do {
- v_6 = cursor;
- lab10: do {
- // (, line 61
- if (!(out_grouping(g_v, 97, 249)))
- {
- break lab10;
- }
- // gopast, line 61
- golab11: while(true)
- {
- lab12: do {
- if (!(in_grouping(g_v, 97, 249)))
- {
- break lab12;
- }
- break golab11;
- } while (false);
- if (cursor >= limit)
- {
- break lab10;
- }
- cursor++;
- }
- break lab9;
- } while (false);
- cursor = v_6;
- // (, line 61
- if (!(in_grouping(g_v, 97, 249)))
- {
- break lab0;
- }
- // next, line 61
- if (cursor >= limit)
- {
- break lab0;
- }
- cursor++;
- } while (false);
- } while (false);
- // setmark pV, line 62
- I_pV = cursor;
- } while (false);
- cursor = v_1;
- // do, line 64
- v_8 = cursor;
- lab13: do {
- // (, line 64
- // gopast, line 65
- golab14: while(true)
- {
- lab15: do {
- if (!(in_grouping(g_v, 97, 249)))
- {
- break lab15;
- }
- break golab14;
- } while (false);
- if (cursor >= limit)
- {
- break lab13;
- }
- cursor++;
- }
- // gopast, line 65
- golab16: while(true)
- {
- lab17: do {
- if (!(out_grouping(g_v, 97, 249)))
- {
- break lab17;
- }
- break golab16;
- } while (false);
- if (cursor >= limit)
- {
- break lab13;
- }
- cursor++;
- }
- // setmark p1, line 65
- I_p1 = cursor;
- // gopast, line 66
- golab18: while(true)
- {
- lab19: do {
- if (!(in_grouping(g_v, 97, 249)))
- {
- break lab19;
- }
- break golab18;
- } while (false);
- if (cursor >= limit)
- {
- break lab13;
- }
- cursor++;
- }
- // gopast, line 66
- golab20: while(true)
- {
- lab21: do {
- if (!(out_grouping(g_v, 97, 249)))
- {
- break lab21;
- }
- break golab20;
- } while (false);
- if (cursor >= limit)
- {
- break lab13;
- }
- cursor++;
- }
- // setmark p2, line 66
- I_p2 = cursor;
- } while (false);
- cursor = v_8;
- return true;
- }
-
- private boolean r_postlude() {
- int among_var;
- int v_1;
- // repeat, line 70
- replab0: while(true)
- {
- v_1 = cursor;
- lab1: do {
- // (, line 70
- // [, line 72
- bra = cursor;
- // substring, line 72
- among_var = find_among(a_1, 3);
- if (among_var == 0)
- {
- break lab1;
- }
- // ], line 72
- ket = cursor;
- switch(among_var) {
- case 0:
- break lab1;
- case 1:
- // (, line 73
- // <-, line 73
- slice_from("i");
- break;
- case 2:
- // (, line 74
- // <-, line 74
- slice_from("u");
- break;
- case 3:
- // (, line 75
- // next, line 75
- if (cursor >= limit)
- {
- break lab1;
- }
- cursor++;
- break;
- }
- continue replab0;
- } while (false);
- cursor = v_1;
- break replab0;
- }
- return true;
- }
-
- private boolean r_RV() {
- if (!(I_pV <= cursor))
- {
- return false;
- }
- return true;
- }
-
- 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_attached_pronoun() {
- int among_var;
- // (, line 86
- // [, line 87
- ket = cursor;
- // substring, line 87
- if (find_among_b(a_2, 37) == 0)
- {
- return false;
- }
- // ], line 87
- bra = cursor;
- // among, line 97
- among_var = find_among_b(a_3, 5);
- if (among_var == 0)
- {
- return false;
- }
- // (, line 97
- // call RV, line 97
- if (!r_RV())
- {
- return false;
- }
- switch(among_var) {
- case 0:
- return false;
- case 1:
- // (, line 98
- // delete, line 98
- slice_del();
- break;
- case 2:
- // (, line 99
- // <-, line 99
- slice_from("e");
- break;
- }
- return true;
- }
-
- private boolean r_standard_suffix() {
- int among_var;
- int v_1;
- int v_2;
- int v_3;
- int v_4;
- // (, line 103
- // [, line 104
- ket = cursor;
- // substring, line 104
- among_var = find_among_b(a_6, 51);
- if (among_var == 0)
- {
- return false;
- }
- // ], line 104
- bra = cursor;
- switch(among_var) {
- case 0:
- return false;
- case 1:
- // (, line 111
- // call R2, line 111
- if (!r_R2())
- {
- return false;
- }
- // delete, line 111
- slice_del();
- break;
- case 2:
- // (, line 113
- // call R2, line 113
- if (!r_R2())
- {
- return false;
- }
- // delete, line 113
- slice_del();
- // try, line 114
- v_1 = limit - cursor;
- lab0: do {
- // (, line 114
- // [, line 114
- ket = cursor;
- // literal, line 114
- if (!(eq_s_b(2, "ic")))
- {
- cursor = limit - v_1;
- break lab0;
- }
- // ], line 114
- bra = cursor;
- // call R2, line 114
- if (!r_R2())
- {
- cursor = limit - v_1;
- break lab0;
- }
- // delete, line 114
- slice_del();
- } while (false);
- break;
- case 3:
- // (, line 117
- // call R2, line 117
- if (!r_R2())
- {
- return false;
- }
- // <-, line 117
- slice_from("log");
- break;
- case 4:
- // (, line 119
- // call R2, line 119
- if (!r_R2())
- {
- return false;
- }
- // <-, line 119
- slice_from("u");
- break;
- case 5:
- // (, line 121
- // call R2, line 121
- if (!r_R2())
- {
- return false;
- }
- // <-, line 121
- slice_from("ente");
- break;
- case 6:
- // (, line 123
- // call RV, line 123
- if (!r_RV())
- {
- return false;
- }
- // delete, line 123
- slice_del();
- break;
- case 7:
- // (, line 124
- // call R1, line 125
- if (!r_R1())
- {
- return false;
- }
- // delete, line 125
- slice_del();
- // try, line 126
- v_2 = limit - cursor;
- lab1: do {
- // (, line 126
- // [, line 127
- ket = cursor;
- // substring, line 127
- among_var = find_among_b(a_4, 4);
- if (among_var == 0)
- {
- cursor = limit - v_2;
- break lab1;
- }
- // ], line 127
- bra = cursor;
- // call R2, line 127
- if (!r_R2())
- {
- cursor = limit - v_2;
- break lab1;
- }
- // delete, line 127
- slice_del();
- switch(among_var) {
- case 0:
- cursor = limit - v_2;
- break lab1;
- case 1:
- // (, line 128
- // [, line 128
- ket = cursor;
- // literal, line 128
- if (!(eq_s_b(2, "at")))
- {
- cursor = limit - v_2;
- break lab1;
- }
- // ], line 128
- bra = cursor;
- // call R2, line 128
- if (!r_R2())
- {
- cursor = limit - v_2;
- break lab1;
- }
- // delete, line 128
- slice_del();
- break;
- }
- } while (false);
- break;
- case 8:
- // (, line 133
- // call R2, line 134
- if (!r_R2())
- {
- return false;
- }
- // delete, line 134
- slice_del();
- // try, line 135
- v_3 = limit - cursor;
- lab2: do {
- // (, line 135
- // [, line 136
- ket = cursor;
- // substring, line 136
- among_var = find_among_b(a_5, 3);
- if (among_var == 0)
- {
- cursor = limit - v_3;
- break lab2;
- }
- // ], line 136
- bra = cursor;
- switch(among_var) {
- case 0:
- cursor = limit - v_3;
- break lab2;
- case 1:
- // (, line 137
- // call R2, line 137
- if (!r_R2())
- {
- cursor = limit - v_3;
- break lab2;
- }
- // delete, line 137
- slice_del();
- break;
- }
- } while (false);
- break;
- case 9:
- // (, line 141
- // call R2, line 142
- if (!r_R2())
- {
- return false;
- }
- // delete, line 142
- slice_del();
- // try, line 143
- v_4 = limit - cursor;
- lab3: do {
- // (, line 143
- // [, line 143
- ket = cursor;
- // literal, line 143
- if (!(eq_s_b(2, "at")))
- {
- cursor = limit - v_4;
- break lab3;
- }
- // ], line 143
- bra = cursor;
- // call R2, line 143
- if (!r_R2())
- {
- cursor = limit - v_4;
- break lab3;
- }
- // delete, line 143
- slice_del();
- // [, line 143
- ket = cursor;
- // literal, line 143
- if (!(eq_s_b(2, "ic")))
- {
- cursor = limit - v_4;
- break lab3;
- }
- // ], line 143
- bra = cursor;
- // call R2, line 143
- if (!r_R2())
- {
- cursor = limit - v_4;
- break lab3;
- }
- // delete, line 143
- slice_del();
- } while (false);
- break;
- }
- return true;
- }
-
- private boolean r_verb_suffix() {
- int among_var;
- int v_1;
- int v_2;
- // setlimit, line 148
- v_1 = limit - cursor;
- // tomark, line 148
- if (cursor < I_pV)
- {
- return false;
- }
- cursor = I_pV;
- v_2 = limit_backward;
- limit_backward = cursor;
- cursor = limit - v_1;
- // (, line 148
- // [, line 149
- ket = cursor;
- // substring, line 149
- among_var = find_among_b(a_7, 87);
- if (among_var == 0)
- {
- limit_backward = v_2;
- return false;
- }
- // ], line 149
- bra = cursor;
- switch(among_var) {
- case 0:
- limit_backward = v_2;
- return false;
- case 1:
- // (, line 163
- // delete, line 163
- slice_del();
- break;
- }
- limit_backward = v_2;
- return true;
- }
-
- private boolean r_vowel_suffix() {
- int v_1;
- int v_2;
- // (, line 170
- // try, line 171
- v_1 = limit - cursor;
- lab0: do {
- // (, line 171
- // [, line 172
- ket = cursor;
- if (!(in_grouping_b(g_AEIO, 97, 242)))
- {
- cursor = limit - v_1;
- break lab0;
- }
- // ], line 172
- bra = cursor;
- // call RV, line 172
- if (!r_RV())
- {
- cursor = limit - v_1;
- break lab0;
- }
- // delete, line 172
- slice_del();
- // [, line 173
- ket = cursor;
- // literal, line 173
- if (!(eq_s_b(1, "i")))
- {
- cursor = limit - v_1;
- break lab0;
- }
- // ], line 173
- bra = cursor;
- // call RV, line 173
- if (!r_RV())
- {
- cursor = limit - v_1;
- break lab0;
- }
- // delete, line 173
- slice_del();
- } while (false);
- // try, line 175
- v_2 = limit - cursor;
- lab1: do {
- // (, line 175
- // [, line 176
- ket = cursor;
- // literal, line 176
- if (!(eq_s_b(1, "h")))
- {
- cursor = limit - v_2;
- break lab1;
- }
- // ], line 176
- bra = cursor;
- if (!(in_grouping_b(g_CG, 99, 103)))
- {
- cursor = limit - v_2;
- break lab1;
- }
- // call RV, line 176
- if (!r_RV())
- {
- cursor = limit - v_2;
- break lab1;
- }
- // delete, line 176
- slice_del();
- } while (false);
- return true;
- }
-
- public boolean stem() {
- int v_1;
- int v_2;
- int v_3;
- int v_4;
- int v_5;
- int v_6;
- int v_7;
- // (, line 181
- // do, line 182
- v_1 = cursor;
- lab0: do {
- // call prelude, line 182
- if (!r_prelude())
- {
- break lab0;
- }
- } while (false);
- cursor = v_1;
- // do, line 183
- v_2 = cursor;
- lab1: do {
- // call mark_regions, line 183
- if (!r_mark_regions())
- {
- break lab1;
- }
- } while (false);
- cursor = v_2;
- // backwards, line 184
- limit_backward = cursor; cursor = limit;
- // (, line 184
- // do, line 185
- v_3 = limit - cursor;
- lab2: do {
- // call attached_pronoun, line 185
- if (!r_attached_pronoun())
- {
- break lab2;
- }
- } while (false);
- cursor = limit - v_3;
- // do, line 186
- v_4 = limit - cursor;
- lab3: do {
- // (, line 186
- // or, line 186
- lab4: do {
- v_5 = limit - cursor;
- lab5: do {
- // call standard_suffix, line 186
- if (!r_standard_suffix())
- {
- break lab5;
- }
- break lab4;
- } while (false);
- cursor = limit - v_5;
- // call verb_suffix, line 186
- if (!r_verb_suffix())
- {
- break lab3;
- }
- } while (false);
- } while (false);
- cursor = limit - v_4;
- // do, line 187
- v_6 = limit - cursor;
- lab6: do {
- // call vowel_suffix, line 187
- if (!r_vowel_suffix())
- {
- break lab6;
- }
- } while (false);
- cursor = limit - v_6;
- cursor = limit_backward; // do, line 189
- v_7 = cursor;
- lab7: do {
- // call postlude, line 189
- if (!r_postlude())
- {
- break lab7;
- }
- } while (false);
- cursor = v_7;
- return true;
- }
-
-}
-