diff options
Diffstat (limited to 'web/server/h2o/libh2o/misc/oktavia/src/stemmer/romanian-stemmer.jsx')
-rw-r--r-- | web/server/h2o/libh2o/misc/oktavia/src/stemmer/romanian-stemmer.jsx | 1227 |
1 files changed, 1227 insertions, 0 deletions
diff --git a/web/server/h2o/libh2o/misc/oktavia/src/stemmer/romanian-stemmer.jsx b/web/server/h2o/libh2o/misc/oktavia/src/stemmer/romanian-stemmer.jsx new file mode 100644 index 000000000..1eb9f3d88 --- /dev/null +++ b/web/server/h2o/libh2o/misc/oktavia/src/stemmer/romanian-stemmer.jsx @@ -0,0 +1,1227 @@ +// This file was generated automatically by the Snowball to JSX compiler + +import "base-stemmer.jsx"; +import "among.jsx"; + + /** + * This class was automatically generated by a Snowball to JSX compiler + * It implements the stemming algorithm defined by a snowball script. + */ + +class RomanianStemmer extends BaseStemmer +{ + static const serialVersionUID = 1; + static const methodObject = new RomanianStemmer(); + + static const a_0 = [ + new Among("", -1, 3), + new Among("I", 0, 1), + new Among("U", 0, 2) + ]; + + static const a_1 = [ + new Among("ea", -1, 3), + new Among("a\u0163ia", -1, 7), + new Among("aua", -1, 2), + new Among("iua", -1, 4), + new Among("a\u0163ie", -1, 7), + new Among("ele", -1, 3), + new Among("ile", -1, 5), + new Among("iile", 6, 4), + new Among("iei", -1, 4), + new Among("atei", -1, 6), + new Among("ii", -1, 4), + new Among("ului", -1, 1), + new Among("ul", -1, 1), + new Among("elor", -1, 3), + new Among("ilor", -1, 4), + new Among("iilor", 14, 4) + ]; + + static const a_2 = [ + new Among("icala", -1, 4), + new Among("iciva", -1, 4), + new Among("ativa", -1, 5), + new Among("itiva", -1, 6), + new Among("icale", -1, 4), + new Among("a\u0163iune", -1, 5), + new Among("i\u0163iune", -1, 6), + new Among("atoare", -1, 5), + new Among("itoare", -1, 6), + new Among("\u0103toare", -1, 5), + new Among("icitate", -1, 4), + new Among("abilitate", -1, 1), + new Among("ibilitate", -1, 2), + new Among("ivitate", -1, 3), + new Among("icive", -1, 4), + new Among("ative", -1, 5), + new Among("itive", -1, 6), + new Among("icali", -1, 4), + new Among("atori", -1, 5), + new Among("icatori", 18, 4), + new Among("itori", -1, 6), + new Among("\u0103tori", -1, 5), + new Among("icitati", -1, 4), + new Among("abilitati", -1, 1), + new Among("ivitati", -1, 3), + new Among("icivi", -1, 4), + new Among("ativi", -1, 5), + new Among("itivi", -1, 6), + new Among("icit\u0103i", -1, 4), + new Among("abilit\u0103i", -1, 1), + new Among("ivit\u0103i", -1, 3), + new Among("icit\u0103\u0163i", -1, 4), + new Among("abilit\u0103\u0163i", -1, 1), + new Among("ivit\u0103\u0163i", -1, 3), + new Among("ical", -1, 4), + new Among("ator", -1, 5), + new Among("icator", 35, 4), + new Among("itor", -1, 6), + new Among("\u0103tor", -1, 5), + new Among("iciv", -1, 4), + new Among("ativ", -1, 5), + new Among("itiv", -1, 6), + new Among("ical\u0103", -1, 4), + new Among("iciv\u0103", -1, 4), + new Among("ativ\u0103", -1, 5), + new Among("itiv\u0103", -1, 6) + ]; + + static const a_3 = [ + new Among("ica", -1, 1), + new Among("abila", -1, 1), + new Among("ibila", -1, 1), + new Among("oasa", -1, 1), + new Among("ata", -1, 1), + new Among("ita", -1, 1), + new Among("anta", -1, 1), + new Among("ista", -1, 3), + new Among("uta", -1, 1), + new Among("iva", -1, 1), + new Among("ic", -1, 1), + new Among("ice", -1, 1), + new Among("abile", -1, 1), + new Among("ibile", -1, 1), + new Among("isme", -1, 3), + new Among("iune", -1, 2), + new Among("oase", -1, 1), + new Among("ate", -1, 1), + new Among("itate", 17, 1), + new Among("ite", -1, 1), + new Among("ante", -1, 1), + new Among("iste", -1, 3), + new Among("ute", -1, 1), + new Among("ive", -1, 1), + new Among("ici", -1, 1), + new Among("abili", -1, 1), + new Among("ibili", -1, 1), + new Among("iuni", -1, 2), + new Among("atori", -1, 1), + new Among("osi", -1, 1), + new Among("ati", -1, 1), + new Among("itati", 30, 1), + new Among("iti", -1, 1), + new Among("anti", -1, 1), + new Among("isti", -1, 3), + new Among("uti", -1, 1), + new Among("i\u015Fti", -1, 3), + new Among("ivi", -1, 1), + new Among("it\u0103i", -1, 1), + new Among("o\u015Fi", -1, 1), + new Among("it\u0103\u0163i", -1, 1), + new Among("abil", -1, 1), + new Among("ibil", -1, 1), + new Among("ism", -1, 3), + new Among("ator", -1, 1), + new Among("os", -1, 1), + new Among("at", -1, 1), + new Among("it", -1, 1), + new Among("ant", -1, 1), + new Among("ist", -1, 3), + new Among("ut", -1, 1), + new Among("iv", -1, 1), + new Among("ic\u0103", -1, 1), + new Among("abil\u0103", -1, 1), + new Among("ibil\u0103", -1, 1), + new Among("oas\u0103", -1, 1), + new Among("at\u0103", -1, 1), + new Among("it\u0103", -1, 1), + new Among("ant\u0103", -1, 1), + new Among("ist\u0103", -1, 3), + new Among("ut\u0103", -1, 1), + new Among("iv\u0103", -1, 1) + ]; + + static const a_4 = [ + new Among("ea", -1, 1), + new Among("ia", -1, 1), + new Among("esc", -1, 1), + new Among("\u0103sc", -1, 1), + new Among("ind", -1, 1), + new Among("\u00E2nd", -1, 1), + new Among("are", -1, 1), + new Among("ere", -1, 1), + new Among("ire", -1, 1), + new Among("\u00E2re", -1, 1), + new Among("se", -1, 2), + new Among("ase", 10, 1), + new Among("sese", 10, 2), + new Among("ise", 10, 1), + new Among("use", 10, 1), + new Among("\u00E2se", 10, 1), + new Among("e\u015Fte", -1, 1), + new Among("\u0103\u015Fte", -1, 1), + new Among("eze", -1, 1), + new Among("ai", -1, 1), + new Among("eai", 19, 1), + new Among("iai", 19, 1), + new Among("sei", -1, 2), + new Among("e\u015Fti", -1, 1), + new Among("\u0103\u015Fti", -1, 1), + new Among("ui", -1, 1), + new Among("ezi", -1, 1), + new Among("\u00E2i", -1, 1), + new Among("a\u015Fi", -1, 1), + new Among("se\u015Fi", -1, 2), + new Among("ase\u015Fi", 29, 1), + new Among("sese\u015Fi", 29, 2), + new Among("ise\u015Fi", 29, 1), + new Among("use\u015Fi", 29, 1), + new Among("\u00E2se\u015Fi", 29, 1), + new Among("i\u015Fi", -1, 1), + new Among("u\u015Fi", -1, 1), + new Among("\u00E2\u015Fi", -1, 1), + new Among("a\u0163i", -1, 2), + new Among("ea\u0163i", 38, 1), + new Among("ia\u0163i", 38, 1), + new Among("e\u0163i", -1, 2), + new Among("i\u0163i", -1, 2), + new Among("\u00E2\u0163i", -1, 2), + new Among("ar\u0103\u0163i", -1, 1), + new Among("ser\u0103\u0163i", -1, 2), + new Among("aser\u0103\u0163i", 45, 1), + new Among("seser\u0103\u0163i", 45, 2), + new Among("iser\u0103\u0163i", 45, 1), + new Among("user\u0103\u0163i", 45, 1), + new Among("\u00E2ser\u0103\u0163i", 45, 1), + new Among("ir\u0103\u0163i", -1, 1), + new Among("ur\u0103\u0163i", -1, 1), + new Among("\u00E2r\u0103\u0163i", -1, 1), + new Among("am", -1, 1), + new Among("eam", 54, 1), + new Among("iam", 54, 1), + new Among("em", -1, 2), + new Among("asem", 57, 1), + new Among("sesem", 57, 2), + new Among("isem", 57, 1), + new Among("usem", 57, 1), + new Among("\u00E2sem", 57, 1), + new Among("im", -1, 2), + new Among("\u00E2m", -1, 2), + new Among("\u0103m", -1, 2), + new Among("ar\u0103m", 65, 1), + new Among("ser\u0103m", 65, 2), + new Among("aser\u0103m", 67, 1), + new Among("seser\u0103m", 67, 2), + new Among("iser\u0103m", 67, 1), + new Among("user\u0103m", 67, 1), + new Among("\u00E2ser\u0103m", 67, 1), + new Among("ir\u0103m", 65, 1), + new Among("ur\u0103m", 65, 1), + new Among("\u00E2r\u0103m", 65, 1), + new Among("au", -1, 1), + new Among("eau", 76, 1), + new Among("iau", 76, 1), + new Among("indu", -1, 1), + new Among("\u00E2ndu", -1, 1), + new Among("ez", -1, 1), + new Among("easc\u0103", -1, 1), + new Among("ar\u0103", -1, 1), + new Among("ser\u0103", -1, 2), + new Among("aser\u0103", 84, 1), + new Among("seser\u0103", 84, 2), + new Among("iser\u0103", 84, 1), + new Among("user\u0103", 84, 1), + new Among("\u00E2ser\u0103", 84, 1), + new Among("ir\u0103", -1, 1), + new Among("ur\u0103", -1, 1), + new Among("\u00E2r\u0103", -1, 1), + new Among("eaz\u0103", -1, 1) + ]; + + static const a_5 = [ + new Among("a", -1, 1), + new Among("e", -1, 1), + new Among("ie", 1, 1), + new Among("i", -1, 1), + new Among("\u0103", -1, 1) + ]; + + static const g_v = [17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 32, 0, 0, 4] : int[]; + + var B_standard_suffix_removed : boolean = false; + var I_p2 : int = 0; + var I_p1 : int = 0; + var I_pV : int = 0; + + function copy_from (other : RomanianStemmer) : void + { + this.B_standard_suffix_removed = other.B_standard_suffix_removed; + this.I_p2 = other.I_p2; + this.I_p1 = other.I_p1; + this.I_pV = other.I_pV; + super.copy_from(other); + } + + function r_prelude () : boolean + { + var v_1 : int; + var v_2 : int; + var v_3 : int; + // (, line 31 + // repeat, line 32 + replab0: while(true) + { + v_1 = this.cursor; + var lab1 = true; + lab1: while (lab1 == true) + { + lab1 = false; + // goto, line 32 + golab2: while(true) + { + v_2 = this.cursor; + var lab3 = true; + lab3: while (lab3 == true) + { + lab3 = false; + // (, line 32 + if (!(this.in_grouping(RomanianStemmer.g_v, 97, 259))) + { + break lab3; + } + // [, line 33 + this.bra = this.cursor; + // or, line 33 + var lab4 = true; + lab4: while (lab4 == true) + { + lab4 = false; + v_3 = this.cursor; + var lab5 = true; + lab5: while (lab5 == true) + { + lab5 = false; + // (, line 33 + // literal, line 33 + if (!(this.eq_s(1, "u"))) + { + break lab5; + } + // ], line 33 + this.ket = this.cursor; + if (!(this.in_grouping(RomanianStemmer.g_v, 97, 259))) + { + break lab5; + } + // <-, line 33 + if (!this.slice_from("U")) + { + return false; + } + break lab4; + } + this.cursor = v_3; + // (, line 34 + // literal, line 34 + if (!(this.eq_s(1, "i"))) + { + break lab3; + } + // ], line 34 + this.ket = this.cursor; + if (!(this.in_grouping(RomanianStemmer.g_v, 97, 259))) + { + break lab3; + } + // <-, line 34 + if (!this.slice_from("I")) + { + return false; + } + } + this.cursor = v_2; + break golab2; + } + this.cursor = v_2; + if (this.cursor >= this.limit) + { + break lab1; + } + this.cursor++; + } + continue replab0; + } + this.cursor = v_1; + break replab0; + } + return true; + } + + function r_mark_regions () : boolean + { + var v_1 : int; + var v_2 : int; + var v_3 : int; + var v_6 : int; + var v_8 : int; + // (, line 38 + this.I_pV = this.limit; + this.I_p1 = this.limit; + this.I_p2 = this.limit; + // do, line 44 + v_1 = this.cursor; + var lab0 = true; + lab0: while (lab0 == true) + { + lab0 = false; + // (, line 44 + // or, line 46 + var lab1 = true; + lab1: while (lab1 == true) + { + lab1 = false; + v_2 = this.cursor; + var lab2 = true; + lab2: while (lab2 == true) + { + lab2 = false; + // (, line 45 + if (!(this.in_grouping(RomanianStemmer.g_v, 97, 259))) + { + break lab2; + } + // or, line 45 + var lab3 = true; + lab3: while (lab3 == true) + { + lab3 = false; + v_3 = this.cursor; + var lab4 = true; + lab4: while (lab4 == true) + { + lab4 = false; + // (, line 45 + if (!(this.out_grouping(RomanianStemmer.g_v, 97, 259))) + { + break lab4; + } + // gopast, line 45 + golab5: while(true) + { + var lab6 = true; + lab6: while (lab6 == true) + { + lab6 = false; + if (!(this.in_grouping(RomanianStemmer.g_v, 97, 259))) + { + break lab6; + } + break golab5; + } + if (this.cursor >= this.limit) + { + break lab4; + } + this.cursor++; + } + break lab3; + } + this.cursor = v_3; + // (, line 45 + if (!(this.in_grouping(RomanianStemmer.g_v, 97, 259))) + { + break lab2; + } + // gopast, line 45 + golab7: while(true) + { + var lab8 = true; + lab8: while (lab8 == true) + { + lab8 = false; + if (!(this.out_grouping(RomanianStemmer.g_v, 97, 259))) + { + break lab8; + } + break golab7; + } + if (this.cursor >= this.limit) + { + break lab2; + } + this.cursor++; + } + } + break lab1; + } + this.cursor = v_2; + // (, line 47 + if (!(this.out_grouping(RomanianStemmer.g_v, 97, 259))) + { + break lab0; + } + // or, line 47 + var lab9 = true; + lab9: while (lab9 == true) + { + lab9 = false; + v_6 = this.cursor; + var lab10 = true; + lab10: while (lab10 == true) + { + lab10 = false; + // (, line 47 + if (!(this.out_grouping(RomanianStemmer.g_v, 97, 259))) + { + break lab10; + } + // gopast, line 47 + golab11: while(true) + { + var lab12 = true; + lab12: while (lab12 == true) + { + lab12 = false; + if (!(this.in_grouping(RomanianStemmer.g_v, 97, 259))) + { + break lab12; + } + break golab11; + } + if (this.cursor >= this.limit) + { + break lab10; + } + this.cursor++; + } + break lab9; + } + this.cursor = v_6; + // (, line 47 + if (!(this.in_grouping(RomanianStemmer.g_v, 97, 259))) + { + break lab0; + } + // next, line 47 + if (this.cursor >= this.limit) + { + break lab0; + } + this.cursor++; + } + } + // setmark pV, line 48 + this.I_pV = this.cursor; + } + this.cursor = v_1; + // do, line 50 + v_8 = this.cursor; + var lab13 = true; + lab13: while (lab13 == true) + { + lab13 = false; + // (, line 50 + // gopast, line 51 + golab14: while(true) + { + var lab15 = true; + lab15: while (lab15 == true) + { + lab15 = false; + if (!(this.in_grouping(RomanianStemmer.g_v, 97, 259))) + { + break lab15; + } + break golab14; + } + if (this.cursor >= this.limit) + { + break lab13; + } + this.cursor++; + } + // gopast, line 51 + golab16: while(true) + { + var lab17 = true; + lab17: while (lab17 == true) + { + lab17 = false; + if (!(this.out_grouping(RomanianStemmer.g_v, 97, 259))) + { + break lab17; + } + break golab16; + } + if (this.cursor >= this.limit) + { + break lab13; + } + this.cursor++; + } + // setmark p1, line 51 + this.I_p1 = this.cursor; + // gopast, line 52 + golab18: while(true) + { + var lab19 = true; + lab19: while (lab19 == true) + { + lab19 = false; + if (!(this.in_grouping(RomanianStemmer.g_v, 97, 259))) + { + break lab19; + } + break golab18; + } + if (this.cursor >= this.limit) + { + break lab13; + } + this.cursor++; + } + // gopast, line 52 + golab20: while(true) + { + var lab21 = true; + lab21: while (lab21 == true) + { + lab21 = false; + if (!(this.out_grouping(RomanianStemmer.g_v, 97, 259))) + { + break lab21; + } + break golab20; + } + if (this.cursor >= this.limit) + { + break lab13; + } + this.cursor++; + } + // setmark p2, line 52 + this.I_p2 = this.cursor; + } + this.cursor = v_8; + return true; + } + + function r_postlude () : boolean + { + var among_var : int; + var v_1 : int; + // repeat, line 56 + replab0: while(true) + { + v_1 = this.cursor; + var lab1 = true; + lab1: while (lab1 == true) + { + lab1 = false; + // (, line 56 + // [, line 58 + this.bra = this.cursor; + // substring, line 58 + among_var = this.find_among(RomanianStemmer.a_0, 3); + if (among_var == 0) + { + break lab1; + } + // ], line 58 + this.ket = this.cursor; + switch (among_var) { + case 0: + break lab1; + case 1: + // (, line 59 + // <-, line 59 + if (!this.slice_from("i")) + { + return false; + } + break; + case 2: + // (, line 60 + // <-, line 60 + if (!this.slice_from("u")) + { + return false; + } + break; + case 3: + // (, line 61 + // next, line 61 + if (this.cursor >= this.limit) + { + break lab1; + } + this.cursor++; + break; + } + continue replab0; + } + this.cursor = v_1; + break replab0; + } + return true; + } + + function r_RV () : boolean + { + if (!(this.I_pV <= this.cursor)) + { + return false; + } + return true; + } + + function r_R1 () : boolean + { + if (!(this.I_p1 <= this.cursor)) + { + return false; + } + return true; + } + + function r_R2 () : boolean + { + if (!(this.I_p2 <= this.cursor)) + { + return false; + } + return true; + } + + function r_step_0 () : boolean + { + var among_var : int; + var v_1 : int; + // (, line 72 + // [, line 73 + this.ket = this.cursor; + // substring, line 73 + among_var = this.find_among_b(RomanianStemmer.a_1, 16); + if (among_var == 0) + { + return false; + } + // ], line 73 + this.bra = this.cursor; + // call R1, line 73 + if (!this.r_R1()) + { + return false; + } + switch (among_var) { + case 0: + return false; + case 1: + // (, line 75 + // delete, line 75 + if (!this.slice_del()) + { + return false; + } + break; + case 2: + // (, line 77 + // <-, line 77 + if (!this.slice_from("a")) + { + return false; + } + break; + case 3: + // (, line 79 + // <-, line 79 + if (!this.slice_from("e")) + { + return false; + } + break; + case 4: + // (, line 81 + // <-, line 81 + if (!this.slice_from("i")) + { + return false; + } + break; + case 5: + // (, line 83 + // not, line 83 + { + v_1 = this.limit - this.cursor; + var lab0 = true; + lab0: while (lab0 == true) + { + lab0 = false; + // literal, line 83 + if (!(this.eq_s_b(2, "ab"))) + { + break lab0; + } + return false; + } + this.cursor = this.limit - v_1; + } + // <-, line 83 + if (!this.slice_from("i")) + { + return false; + } + break; + case 6: + // (, line 85 + // <-, line 85 + if (!this.slice_from("at")) + { + return false; + } + break; + case 7: + // (, line 87 + // <-, line 87 + if (!this.slice_from("a\u0163i")) + { + return false; + } + break; + } + return true; + } + + function r_combo_suffix () : boolean + { + var among_var : int; + var v_1 : int; + // test, line 91 + v_1 = this.limit - this.cursor; + // (, line 91 + // [, line 92 + this.ket = this.cursor; + // substring, line 92 + among_var = this.find_among_b(RomanianStemmer.a_2, 46); + if (among_var == 0) + { + return false; + } + // ], line 92 + this.bra = this.cursor; + // call R1, line 92 + if (!this.r_R1()) + { + return false; + } + // (, line 92 + switch (among_var) { + case 0: + return false; + case 1: + // (, line 100 + // <-, line 101 + if (!this.slice_from("abil")) + { + return false; + } + break; + case 2: + // (, line 103 + // <-, line 104 + if (!this.slice_from("ibil")) + { + return false; + } + break; + case 3: + // (, line 106 + // <-, line 107 + if (!this.slice_from("iv")) + { + return false; + } + break; + case 4: + // (, line 112 + // <-, line 113 + if (!this.slice_from("ic")) + { + return false; + } + break; + case 5: + // (, line 117 + // <-, line 118 + if (!this.slice_from("at")) + { + return false; + } + break; + case 6: + // (, line 121 + // <-, line 122 + if (!this.slice_from("it")) + { + return false; + } + break; + } + // set standard_suffix_removed, line 125 + this.B_standard_suffix_removed = true; + this.cursor = this.limit - v_1; + return true; + } + + function r_standard_suffix () : boolean + { + var among_var : int; + var v_1 : int; + // (, line 129 + // unset standard_suffix_removed, line 130 + this.B_standard_suffix_removed = false; + // repeat, line 131 + replab0: while(true) + { + v_1 = this.limit - this.cursor; + var lab1 = true; + lab1: while (lab1 == true) + { + lab1 = false; + // call combo_suffix, line 131 + if (!this.r_combo_suffix()) + { + break lab1; + } + continue replab0; + } + this.cursor = this.limit - v_1; + break replab0; + } + // [, line 132 + this.ket = this.cursor; + // substring, line 132 + among_var = this.find_among_b(RomanianStemmer.a_3, 62); + if (among_var == 0) + { + return false; + } + // ], line 132 + this.bra = this.cursor; + // call R2, line 132 + if (!this.r_R2()) + { + return false; + } + // (, line 132 + switch (among_var) { + case 0: + return false; + case 1: + // (, line 148 + // delete, line 149 + if (!this.slice_del()) + { + return false; + } + break; + case 2: + // (, line 151 + // literal, line 152 + if (!(this.eq_s_b(1, "\u0163"))) + { + return false; + } + // ], line 152 + this.bra = this.cursor; + // <-, line 152 + if (!this.slice_from("t")) + { + return false; + } + break; + case 3: + // (, line 155 + // <-, line 156 + if (!this.slice_from("ist")) + { + return false; + } + break; + } + // set standard_suffix_removed, line 160 + this.B_standard_suffix_removed = true; + return true; + } + + function r_verb_suffix () : boolean + { + var among_var : int; + var v_1 : int; + var v_2 : int; + var v_3 : int; + // setlimit, line 164 + v_1 = this.limit - this.cursor; + // tomark, line 164 + if (this.cursor < this.I_pV) + { + return false; + } + this.cursor = this.I_pV; + v_2 = this.limit_backward; + this.limit_backward = this.cursor; + this.cursor = this.limit - v_1; + // (, line 164 + // [, line 165 + this.ket = this.cursor; + // substring, line 165 + among_var = this.find_among_b(RomanianStemmer.a_4, 94); + if (among_var == 0) + { + this.limit_backward = v_2; + return false; + } + // ], line 165 + this.bra = this.cursor; + switch (among_var) { + case 0: + this.limit_backward = v_2; + return false; + case 1: + // (, line 200 + // or, line 200 + var lab0 = true; + lab0: while (lab0 == true) + { + lab0 = false; + v_3 = this.limit - this.cursor; + var lab1 = true; + lab1: while (lab1 == true) + { + lab1 = false; + if (!(this.out_grouping_b(RomanianStemmer.g_v, 97, 259))) + { + break lab1; + } + break lab0; + } + this.cursor = this.limit - v_3; + // literal, line 200 + if (!(this.eq_s_b(1, "u"))) + { + this.limit_backward = v_2; + return false; + } + } + // delete, line 200 + if (!this.slice_del()) + { + return false; + } + break; + case 2: + // (, line 214 + // delete, line 214 + if (!this.slice_del()) + { + return false; + } + break; + } + this.limit_backward = v_2; + return true; + } + + function r_vowel_suffix () : boolean + { + var among_var : int; + // (, line 218 + // [, line 219 + this.ket = this.cursor; + // substring, line 219 + among_var = this.find_among_b(RomanianStemmer.a_5, 5); + if (among_var == 0) + { + return false; + } + // ], line 219 + this.bra = this.cursor; + // call RV, line 219 + if (!this.r_RV()) + { + return false; + } + switch (among_var) { + case 0: + return false; + case 1: + // (, line 220 + // delete, line 220 + if (!this.slice_del()) + { + return false; + } + break; + } + return true; + } + + override function stem () : boolean + { + var v_1 : int; + var v_2 : int; + var v_3 : int; + var v_4 : int; + var v_5 : int; + var v_6 : int; + var v_7 : int; + var v_8 : int; + // (, line 225 + // do, line 226 + v_1 = this.cursor; + var lab0 = true; + lab0: while (lab0 == true) + { + lab0 = false; + // call prelude, line 226 + if (!this.r_prelude()) + { + break lab0; + } + } + this.cursor = v_1; + // do, line 227 + v_2 = this.cursor; + var lab1 = true; + lab1: while (lab1 == true) + { + lab1 = false; + // call mark_regions, line 227 + if (!this.r_mark_regions()) + { + break lab1; + } + } + this.cursor = v_2; + // backwards, line 228 + this.limit_backward = this.cursor; this.cursor = this.limit; + // (, line 228 + // do, line 229 + v_3 = this.limit - this.cursor; + var lab2 = true; + lab2: while (lab2 == true) + { + lab2 = false; + // call step_0, line 229 + if (!this.r_step_0()) + { + break lab2; + } + } + this.cursor = this.limit - v_3; + // do, line 230 + v_4 = this.limit - this.cursor; + var lab3 = true; + lab3: while (lab3 == true) + { + lab3 = false; + // call standard_suffix, line 230 + if (!this.r_standard_suffix()) + { + break lab3; + } + } + this.cursor = this.limit - v_4; + // do, line 231 + v_5 = this.limit - this.cursor; + var lab4 = true; + lab4: while (lab4 == true) + { + lab4 = false; + // (, line 231 + // or, line 231 + var lab5 = true; + lab5: while (lab5 == true) + { + lab5 = false; + v_6 = this.limit - this.cursor; + var lab6 = true; + lab6: while (lab6 == true) + { + lab6 = false; + // Boolean test standard_suffix_removed, line 231 + if (!(this.B_standard_suffix_removed)) + { + break lab6; + } + break lab5; + } + this.cursor = this.limit - v_6; + // call verb_suffix, line 231 + if (!this.r_verb_suffix()) + { + break lab4; + } + } + } + this.cursor = this.limit - v_5; + // do, line 232 + v_7 = this.limit - this.cursor; + var lab7 = true; + lab7: while (lab7 == true) + { + lab7 = false; + // call vowel_suffix, line 232 + if (!this.r_vowel_suffix()) + { + break lab7; + } + } + this.cursor = this.limit - v_7; + this.cursor = this.limit_backward; // do, line 234 + v_8 = this.cursor; + var lab8 = true; + lab8: while (lab8 == true) + { + lab8 = false; + // call postlude, line 234 + if (!this.r_postlude()) + { + break lab8; + } + } + this.cursor = v_8; + return true; + } + + function equals (o : variant) : boolean { + return o instanceof RomanianStemmer; + } + + function hashCode() : int + { + //http://stackoverflow.com/questions/194846/is-there-any-kind-of-hashcode-function-in-javascript + var classname = "RomanianStemmer"; + var hash = 0; + if (classname.length == 0) return hash; + for (var i = 0; i < classname.length; i++) { + var char = classname.charCodeAt(i); + hash = ((hash << 5) - hash) + char; + hash = hash & hash; // Convert to 32bit integer + } + return hash; + } + +} + |