diff options
Diffstat (limited to 'web/server/h2o/libh2o/misc/oktavia/src/stemmer/russian-stemmer.jsx')
-rw-r--r-- | web/server/h2o/libh2o/misc/oktavia/src/stemmer/russian-stemmer.jsx | 875 |
1 files changed, 0 insertions, 875 deletions
diff --git a/web/server/h2o/libh2o/misc/oktavia/src/stemmer/russian-stemmer.jsx b/web/server/h2o/libh2o/misc/oktavia/src/stemmer/russian-stemmer.jsx deleted file mode 100644 index 2b7d30a9e..000000000 --- a/web/server/h2o/libh2o/misc/oktavia/src/stemmer/russian-stemmer.jsx +++ /dev/null @@ -1,875 +0,0 @@ -// 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 RussianStemmer extends BaseStemmer -{ - static const serialVersionUID = 1; - static const methodObject = new RussianStemmer(); - - static const a_0 = [ - new Among("\u0432", -1, 1), - new Among("\u0438\u0432", 0, 2), - new Among("\u044B\u0432", 0, 2), - new Among("\u0432\u0448\u0438", -1, 1), - new Among("\u0438\u0432\u0448\u0438", 3, 2), - new Among("\u044B\u0432\u0448\u0438", 3, 2), - new Among("\u0432\u0448\u0438\u0441\u044C", -1, 1), - new Among("\u0438\u0432\u0448\u0438\u0441\u044C", 6, 2), - new Among("\u044B\u0432\u0448\u0438\u0441\u044C", 6, 2) - ]; - - static const a_1 = [ - new Among("\u0435\u0435", -1, 1), - new Among("\u0438\u0435", -1, 1), - new Among("\u043E\u0435", -1, 1), - new Among("\u044B\u0435", -1, 1), - new Among("\u0438\u043C\u0438", -1, 1), - new Among("\u044B\u043C\u0438", -1, 1), - new Among("\u0435\u0439", -1, 1), - new Among("\u0438\u0439", -1, 1), - new Among("\u043E\u0439", -1, 1), - new Among("\u044B\u0439", -1, 1), - new Among("\u0435\u043C", -1, 1), - new Among("\u0438\u043C", -1, 1), - new Among("\u043E\u043C", -1, 1), - new Among("\u044B\u043C", -1, 1), - new Among("\u0435\u0433\u043E", -1, 1), - new Among("\u043E\u0433\u043E", -1, 1), - new Among("\u0435\u043C\u0443", -1, 1), - new Among("\u043E\u043C\u0443", -1, 1), - new Among("\u0438\u0445", -1, 1), - new Among("\u044B\u0445", -1, 1), - new Among("\u0435\u044E", -1, 1), - new Among("\u043E\u044E", -1, 1), - new Among("\u0443\u044E", -1, 1), - new Among("\u044E\u044E", -1, 1), - new Among("\u0430\u044F", -1, 1), - new Among("\u044F\u044F", -1, 1) - ]; - - static const a_2 = [ - new Among("\u0435\u043C", -1, 1), - new Among("\u043D\u043D", -1, 1), - new Among("\u0432\u0448", -1, 1), - new Among("\u0438\u0432\u0448", 2, 2), - new Among("\u044B\u0432\u0448", 2, 2), - new Among("\u0449", -1, 1), - new Among("\u044E\u0449", 5, 1), - new Among("\u0443\u044E\u0449", 6, 2) - ]; - - static const a_3 = [ - new Among("\u0441\u044C", -1, 1), - new Among("\u0441\u044F", -1, 1) - ]; - - static const a_4 = [ - new Among("\u043B\u0430", -1, 1), - new Among("\u0438\u043B\u0430", 0, 2), - new Among("\u044B\u043B\u0430", 0, 2), - new Among("\u043D\u0430", -1, 1), - new Among("\u0435\u043D\u0430", 3, 2), - new Among("\u0435\u0442\u0435", -1, 1), - new Among("\u0438\u0442\u0435", -1, 2), - new Among("\u0439\u0442\u0435", -1, 1), - new Among("\u0435\u0439\u0442\u0435", 7, 2), - new Among("\u0443\u0439\u0442\u0435", 7, 2), - new Among("\u043B\u0438", -1, 1), - new Among("\u0438\u043B\u0438", 10, 2), - new Among("\u044B\u043B\u0438", 10, 2), - new Among("\u0439", -1, 1), - new Among("\u0435\u0439", 13, 2), - new Among("\u0443\u0439", 13, 2), - new Among("\u043B", -1, 1), - new Among("\u0438\u043B", 16, 2), - new Among("\u044B\u043B", 16, 2), - new Among("\u0435\u043C", -1, 1), - new Among("\u0438\u043C", -1, 2), - new Among("\u044B\u043C", -1, 2), - new Among("\u043D", -1, 1), - new Among("\u0435\u043D", 22, 2), - new Among("\u043B\u043E", -1, 1), - new Among("\u0438\u043B\u043E", 24, 2), - new Among("\u044B\u043B\u043E", 24, 2), - new Among("\u043D\u043E", -1, 1), - new Among("\u0435\u043D\u043E", 27, 2), - new Among("\u043D\u043D\u043E", 27, 1), - new Among("\u0435\u0442", -1, 1), - new Among("\u0443\u0435\u0442", 30, 2), - new Among("\u0438\u0442", -1, 2), - new Among("\u044B\u0442", -1, 2), - new Among("\u044E\u0442", -1, 1), - new Among("\u0443\u044E\u0442", 34, 2), - new Among("\u044F\u0442", -1, 2), - new Among("\u043D\u044B", -1, 1), - new Among("\u0435\u043D\u044B", 37, 2), - new Among("\u0442\u044C", -1, 1), - new Among("\u0438\u0442\u044C", 39, 2), - new Among("\u044B\u0442\u044C", 39, 2), - new Among("\u0435\u0448\u044C", -1, 1), - new Among("\u0438\u0448\u044C", -1, 2), - new Among("\u044E", -1, 2), - new Among("\u0443\u044E", 44, 2) - ]; - - static const a_5 = [ - new Among("\u0430", -1, 1), - new Among("\u0435\u0432", -1, 1), - new Among("\u043E\u0432", -1, 1), - new Among("\u0435", -1, 1), - new Among("\u0438\u0435", 3, 1), - new Among("\u044C\u0435", 3, 1), - new Among("\u0438", -1, 1), - new Among("\u0435\u0438", 6, 1), - new Among("\u0438\u0438", 6, 1), - new Among("\u0430\u043C\u0438", 6, 1), - new Among("\u044F\u043C\u0438", 6, 1), - new Among("\u0438\u044F\u043C\u0438", 10, 1), - new Among("\u0439", -1, 1), - new Among("\u0435\u0439", 12, 1), - new Among("\u0438\u0435\u0439", 13, 1), - new Among("\u0438\u0439", 12, 1), - new Among("\u043E\u0439", 12, 1), - new Among("\u0430\u043C", -1, 1), - new Among("\u0435\u043C", -1, 1), - new Among("\u0438\u0435\u043C", 18, 1), - new Among("\u043E\u043C", -1, 1), - new Among("\u044F\u043C", -1, 1), - new Among("\u0438\u044F\u043C", 21, 1), - new Among("\u043E", -1, 1), - new Among("\u0443", -1, 1), - new Among("\u0430\u0445", -1, 1), - new Among("\u044F\u0445", -1, 1), - new Among("\u0438\u044F\u0445", 26, 1), - new Among("\u044B", -1, 1), - new Among("\u044C", -1, 1), - new Among("\u044E", -1, 1), - new Among("\u0438\u044E", 30, 1), - new Among("\u044C\u044E", 30, 1), - new Among("\u044F", -1, 1), - new Among("\u0438\u044F", 33, 1), - new Among("\u044C\u044F", 33, 1) - ]; - - static const a_6 = [ - new Among("\u043E\u0441\u0442", -1, 1), - new Among("\u043E\u0441\u0442\u044C", -1, 1) - ]; - - static const a_7 = [ - new Among("\u0435\u0439\u0448\u0435", -1, 1), - new Among("\u043D", -1, 2), - new Among("\u0435\u0439\u0448", -1, 1), - new Among("\u044C", -1, 3) - ]; - - static const g_v = [33, 65, 8, 232] : int[]; - - var I_p2 : int = 0; - var I_pV : int = 0; - - function copy_from (other : RussianStemmer) : void - { - this.I_p2 = other.I_p2; - this.I_pV = other.I_pV; - super.copy_from(other); - } - - function r_mark_regions () : boolean - { - var v_1 : int; - // (, line 57 - this.I_pV = this.limit; - this.I_p2 = this.limit; - // do, line 61 - v_1 = this.cursor; - var lab0 = true; - lab0: while (lab0 == true) - { - lab0 = false; - // (, line 61 - // gopast, line 62 - golab1: while(true) - { - var lab2 = true; - lab2: while (lab2 == true) - { - lab2 = false; - if (!(this.in_grouping(RussianStemmer.g_v, 1072, 1103))) - { - break lab2; - } - break golab1; - } - if (this.cursor >= this.limit) - { - break lab0; - } - this.cursor++; - } - // setmark pV, line 62 - this.I_pV = this.cursor; - // gopast, line 62 - golab3: while(true) - { - var lab4 = true; - lab4: while (lab4 == true) - { - lab4 = false; - if (!(this.out_grouping(RussianStemmer.g_v, 1072, 1103))) - { - break lab4; - } - break golab3; - } - if (this.cursor >= this.limit) - { - break lab0; - } - this.cursor++; - } - // gopast, line 63 - golab5: while(true) - { - var lab6 = true; - lab6: while (lab6 == true) - { - lab6 = false; - if (!(this.in_grouping(RussianStemmer.g_v, 1072, 1103))) - { - break lab6; - } - break golab5; - } - if (this.cursor >= this.limit) - { - break lab0; - } - this.cursor++; - } - // gopast, line 63 - golab7: while(true) - { - var lab8 = true; - lab8: while (lab8 == true) - { - lab8 = false; - if (!(this.out_grouping(RussianStemmer.g_v, 1072, 1103))) - { - break lab8; - } - break golab7; - } - if (this.cursor >= this.limit) - { - break lab0; - } - this.cursor++; - } - // setmark p2, line 63 - this.I_p2 = this.cursor; - } - this.cursor = v_1; - return true; - } - - function r_R2 () : boolean - { - if (!(this.I_p2 <= this.cursor)) - { - return false; - } - return true; - } - - function r_perfective_gerund () : boolean - { - var among_var : int; - var v_1 : int; - // (, line 71 - // [, line 72 - this.ket = this.cursor; - // substring, line 72 - among_var = this.find_among_b(RussianStemmer.a_0, 9); - if (among_var == 0) - { - return false; - } - // ], line 72 - this.bra = this.cursor; - switch (among_var) { - case 0: - return false; - case 1: - // (, line 76 - // or, line 76 - var lab0 = true; - lab0: while (lab0 == true) - { - lab0 = false; - v_1 = this.limit - this.cursor; - var lab1 = true; - lab1: while (lab1 == true) - { - lab1 = false; - // literal, line 76 - if (!(this.eq_s_b(1, "\u0430"))) - { - break lab1; - } - break lab0; - } - this.cursor = this.limit - v_1; - // literal, line 76 - if (!(this.eq_s_b(1, "\u044F"))) - { - return false; - } - } - // delete, line 76 - if (!this.slice_del()) - { - return false; - } - break; - case 2: - // (, line 83 - // delete, line 83 - if (!this.slice_del()) - { - return false; - } - break; - } - return true; - } - - function r_adjective () : boolean - { - var among_var : int; - // (, line 87 - // [, line 88 - this.ket = this.cursor; - // substring, line 88 - among_var = this.find_among_b(RussianStemmer.a_1, 26); - if (among_var == 0) - { - return false; - } - // ], line 88 - this.bra = this.cursor; - switch (among_var) { - case 0: - return false; - case 1: - // (, line 97 - // delete, line 97 - if (!this.slice_del()) - { - return false; - } - break; - } - return true; - } - - function r_adjectival () : boolean - { - var among_var : int; - var v_1 : int; - var v_2 : int; - // (, line 101 - // call adjective, line 102 - if (!this.r_adjective()) - { - return false; - } - // try, line 109 - v_1 = this.limit - this.cursor; - var lab0 = true; - lab0: while (lab0 == true) - { - lab0 = false; - // (, line 109 - // [, line 110 - this.ket = this.cursor; - // substring, line 110 - among_var = this.find_among_b(RussianStemmer.a_2, 8); - if (among_var == 0) - { - this.cursor = this.limit - v_1; - break lab0; - } - // ], line 110 - this.bra = this.cursor; - switch (among_var) { - case 0: - this.cursor = this.limit - v_1; - break lab0; - case 1: - // (, line 115 - // or, line 115 - var lab1 = true; - lab1: while (lab1 == true) - { - lab1 = false; - v_2 = this.limit - this.cursor; - var lab2 = true; - lab2: while (lab2 == true) - { - lab2 = false; - // literal, line 115 - if (!(this.eq_s_b(1, "\u0430"))) - { - break lab2; - } - break lab1; - } - this.cursor = this.limit - v_2; - // literal, line 115 - if (!(this.eq_s_b(1, "\u044F"))) - { - this.cursor = this.limit - v_1; - break lab0; - } - } - // delete, line 115 - if (!this.slice_del()) - { - return false; - } - break; - case 2: - // (, line 122 - // delete, line 122 - if (!this.slice_del()) - { - return false; - } - break; - } - } - return true; - } - - function r_reflexive () : boolean - { - var among_var : int; - // (, line 128 - // [, line 129 - this.ket = this.cursor; - // substring, line 129 - among_var = this.find_among_b(RussianStemmer.a_3, 2); - if (among_var == 0) - { - return false; - } - // ], line 129 - this.bra = this.cursor; - switch (among_var) { - case 0: - return false; - case 1: - // (, line 132 - // delete, line 132 - if (!this.slice_del()) - { - return false; - } - break; - } - return true; - } - - function r_verb () : boolean - { - var among_var : int; - var v_1 : int; - // (, line 136 - // [, line 137 - this.ket = this.cursor; - // substring, line 137 - among_var = this.find_among_b(RussianStemmer.a_4, 46); - if (among_var == 0) - { - return false; - } - // ], line 137 - this.bra = this.cursor; - switch (among_var) { - case 0: - return false; - case 1: - // (, line 143 - // or, line 143 - var lab0 = true; - lab0: while (lab0 == true) - { - lab0 = false; - v_1 = this.limit - this.cursor; - var lab1 = true; - lab1: while (lab1 == true) - { - lab1 = false; - // literal, line 143 - if (!(this.eq_s_b(1, "\u0430"))) - { - break lab1; - } - break lab0; - } - this.cursor = this.limit - v_1; - // literal, line 143 - if (!(this.eq_s_b(1, "\u044F"))) - { - return false; - } - } - // delete, line 143 - if (!this.slice_del()) - { - return false; - } - break; - case 2: - // (, line 151 - // delete, line 151 - if (!this.slice_del()) - { - return false; - } - break; - } - return true; - } - - function r_noun () : boolean - { - var among_var : int; - // (, line 159 - // [, line 160 - this.ket = this.cursor; - // substring, line 160 - among_var = this.find_among_b(RussianStemmer.a_5, 36); - if (among_var == 0) - { - return false; - } - // ], line 160 - this.bra = this.cursor; - switch (among_var) { - case 0: - return false; - case 1: - // (, line 167 - // delete, line 167 - if (!this.slice_del()) - { - return false; - } - break; - } - return true; - } - - function r_derivational () : boolean - { - var among_var : int; - // (, line 175 - // [, line 176 - this.ket = this.cursor; - // substring, line 176 - among_var = this.find_among_b(RussianStemmer.a_6, 2); - if (among_var == 0) - { - return false; - } - // ], line 176 - this.bra = this.cursor; - // call R2, line 176 - if (!this.r_R2()) - { - return false; - } - switch (among_var) { - case 0: - return false; - case 1: - // (, line 179 - // delete, line 179 - if (!this.slice_del()) - { - return false; - } - break; - } - return true; - } - - function r_tidy_up () : boolean - { - var among_var : int; - // (, line 183 - // [, line 184 - this.ket = this.cursor; - // substring, line 184 - among_var = this.find_among_b(RussianStemmer.a_7, 4); - if (among_var == 0) - { - return false; - } - // ], line 184 - this.bra = this.cursor; - switch (among_var) { - case 0: - return false; - case 1: - // (, line 188 - // delete, line 188 - if (!this.slice_del()) - { - return false; - } - // [, line 189 - this.ket = this.cursor; - // literal, line 189 - if (!(this.eq_s_b(1, "\u043D"))) - { - return false; - } - // ], line 189 - this.bra = this.cursor; - // literal, line 189 - if (!(this.eq_s_b(1, "\u043D"))) - { - return false; - } - // delete, line 189 - if (!this.slice_del()) - { - return false; - } - break; - case 2: - // (, line 192 - // literal, line 192 - if (!(this.eq_s_b(1, "\u043D"))) - { - return false; - } - // delete, line 192 - if (!this.slice_del()) - { - return false; - } - break; - case 3: - // (, line 194 - // delete, line 194 - 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; - var v_9 : int; - var v_10 : int; - // (, line 199 - // do, line 201 - v_1 = this.cursor; - var lab0 = true; - lab0: while (lab0 == true) - { - lab0 = false; - // call mark_regions, line 201 - if (!this.r_mark_regions()) - { - break lab0; - } - } - this.cursor = v_1; - // backwards, line 202 - this.limit_backward = this.cursor; this.cursor = this.limit; - // setlimit, line 202 - v_2 = this.limit - this.cursor; - // tomark, line 202 - if (this.cursor < this.I_pV) - { - return false; - } - this.cursor = this.I_pV; - v_3 = this.limit_backward; - this.limit_backward = this.cursor; - this.cursor = this.limit - v_2; - // (, line 202 - // do, line 203 - v_4 = this.limit - this.cursor; - var lab1 = true; - lab1: while (lab1 == true) - { - lab1 = false; - // (, line 203 - // or, line 204 - var lab2 = true; - lab2: while (lab2 == true) - { - lab2 = false; - v_5 = this.limit - this.cursor; - var lab3 = true; - lab3: while (lab3 == true) - { - lab3 = false; - // call perfective_gerund, line 204 - if (!this.r_perfective_gerund()) - { - break lab3; - } - break lab2; - } - this.cursor = this.limit - v_5; - // (, line 205 - // try, line 205 - v_6 = this.limit - this.cursor; - var lab4 = true; - lab4: while (lab4 == true) - { - lab4 = false; - // call reflexive, line 205 - if (!this.r_reflexive()) - { - this.cursor = this.limit - v_6; - break lab4; - } - } - // or, line 206 - var lab5 = true; - lab5: while (lab5 == true) - { - lab5 = false; - v_7 = this.limit - this.cursor; - var lab6 = true; - lab6: while (lab6 == true) - { - lab6 = false; - // call adjectival, line 206 - if (!this.r_adjectival()) - { - break lab6; - } - break lab5; - } - this.cursor = this.limit - v_7; - var lab7 = true; - lab7: while (lab7 == true) - { - lab7 = false; - // call verb, line 206 - if (!this.r_verb()) - { - break lab7; - } - break lab5; - } - this.cursor = this.limit - v_7; - // call noun, line 206 - if (!this.r_noun()) - { - break lab1; - } - } - } - } - this.cursor = this.limit - v_4; - // try, line 209 - v_8 = this.limit - this.cursor; - var lab8 = true; - lab8: while (lab8 == true) - { - lab8 = false; - // (, line 209 - // [, line 209 - this.ket = this.cursor; - // literal, line 209 - if (!(this.eq_s_b(1, "\u0438"))) - { - this.cursor = this.limit - v_8; - break lab8; - } - // ], line 209 - this.bra = this.cursor; - // delete, line 209 - if (!this.slice_del()) - { - return false; - } - } - // do, line 212 - v_9 = this.limit - this.cursor; - var lab9 = true; - lab9: while (lab9 == true) - { - lab9 = false; - // call derivational, line 212 - if (!this.r_derivational()) - { - break lab9; - } - } - this.cursor = this.limit - v_9; - // do, line 213 - v_10 = this.limit - this.cursor; - var lab10 = true; - lab10: while (lab10 == true) - { - lab10 = false; - // call tidy_up, line 213 - if (!this.r_tidy_up()) - { - break lab10; - } - } - this.cursor = this.limit - v_10; - this.limit_backward = v_3; - this.cursor = this.limit_backward; return true; - } - - function equals (o : variant) : boolean { - return o instanceof RussianStemmer; - } - - function hashCode() : int - { - //http://stackoverflow.com/questions/194846/is-there-any-kind-of-hashcode-function-in-javascript - var classname = "RussianStemmer"; - 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; - } - -} - |