From cf7da1843c45a4c2df7a749f7886a2d2ba0ee92a Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Mon, 15 Apr 2024 19:25:40 +0200 Subject: Adding upstream version 7.2.6. Signed-off-by: Daniel Baumann --- sphinx/search/non-minified-js/russian-stemmer.js | 624 +++++++++++++++++++++++ 1 file changed, 624 insertions(+) create mode 100644 sphinx/search/non-minified-js/russian-stemmer.js (limited to 'sphinx/search/non-minified-js/russian-stemmer.js') diff --git a/sphinx/search/non-minified-js/russian-stemmer.js b/sphinx/search/non-minified-js/russian-stemmer.js new file mode 100644 index 0000000..28ded5f --- /dev/null +++ b/sphinx/search/non-minified-js/russian-stemmer.js @@ -0,0 +1,624 @@ +// Generated by Snowball 2.1.0 - https://snowballstem.org/ + +/**@constructor*/ +RussianStemmer = function() { + var base = new BaseStemmer(); + /** @const */ var a_0 = [ + ["\u0432", -1, 1], + ["\u0438\u0432", 0, 2], + ["\u044B\u0432", 0, 2], + ["\u0432\u0448\u0438", -1, 1], + ["\u0438\u0432\u0448\u0438", 3, 2], + ["\u044B\u0432\u0448\u0438", 3, 2], + ["\u0432\u0448\u0438\u0441\u044C", -1, 1], + ["\u0438\u0432\u0448\u0438\u0441\u044C", 6, 2], + ["\u044B\u0432\u0448\u0438\u0441\u044C", 6, 2] + ]; + + /** @const */ var a_1 = [ + ["\u0435\u0435", -1, 1], + ["\u0438\u0435", -1, 1], + ["\u043E\u0435", -1, 1], + ["\u044B\u0435", -1, 1], + ["\u0438\u043C\u0438", -1, 1], + ["\u044B\u043C\u0438", -1, 1], + ["\u0435\u0439", -1, 1], + ["\u0438\u0439", -1, 1], + ["\u043E\u0439", -1, 1], + ["\u044B\u0439", -1, 1], + ["\u0435\u043C", -1, 1], + ["\u0438\u043C", -1, 1], + ["\u043E\u043C", -1, 1], + ["\u044B\u043C", -1, 1], + ["\u0435\u0433\u043E", -1, 1], + ["\u043E\u0433\u043E", -1, 1], + ["\u0435\u043C\u0443", -1, 1], + ["\u043E\u043C\u0443", -1, 1], + ["\u0438\u0445", -1, 1], + ["\u044B\u0445", -1, 1], + ["\u0435\u044E", -1, 1], + ["\u043E\u044E", -1, 1], + ["\u0443\u044E", -1, 1], + ["\u044E\u044E", -1, 1], + ["\u0430\u044F", -1, 1], + ["\u044F\u044F", -1, 1] + ]; + + /** @const */ var a_2 = [ + ["\u0435\u043C", -1, 1], + ["\u043D\u043D", -1, 1], + ["\u0432\u0448", -1, 1], + ["\u0438\u0432\u0448", 2, 2], + ["\u044B\u0432\u0448", 2, 2], + ["\u0449", -1, 1], + ["\u044E\u0449", 5, 1], + ["\u0443\u044E\u0449", 6, 2] + ]; + + /** @const */ var a_3 = [ + ["\u0441\u044C", -1, 1], + ["\u0441\u044F", -1, 1] + ]; + + /** @const */ var a_4 = [ + ["\u043B\u0430", -1, 1], + ["\u0438\u043B\u0430", 0, 2], + ["\u044B\u043B\u0430", 0, 2], + ["\u043D\u0430", -1, 1], + ["\u0435\u043D\u0430", 3, 2], + ["\u0435\u0442\u0435", -1, 1], + ["\u0438\u0442\u0435", -1, 2], + ["\u0439\u0442\u0435", -1, 1], + ["\u0435\u0439\u0442\u0435", 7, 2], + ["\u0443\u0439\u0442\u0435", 7, 2], + ["\u043B\u0438", -1, 1], + ["\u0438\u043B\u0438", 10, 2], + ["\u044B\u043B\u0438", 10, 2], + ["\u0439", -1, 1], + ["\u0435\u0439", 13, 2], + ["\u0443\u0439", 13, 2], + ["\u043B", -1, 1], + ["\u0438\u043B", 16, 2], + ["\u044B\u043B", 16, 2], + ["\u0435\u043C", -1, 1], + ["\u0438\u043C", -1, 2], + ["\u044B\u043C", -1, 2], + ["\u043D", -1, 1], + ["\u0435\u043D", 22, 2], + ["\u043B\u043E", -1, 1], + ["\u0438\u043B\u043E", 24, 2], + ["\u044B\u043B\u043E", 24, 2], + ["\u043D\u043E", -1, 1], + ["\u0435\u043D\u043E", 27, 2], + ["\u043D\u043D\u043E", 27, 1], + ["\u0435\u0442", -1, 1], + ["\u0443\u0435\u0442", 30, 2], + ["\u0438\u0442", -1, 2], + ["\u044B\u0442", -1, 2], + ["\u044E\u0442", -1, 1], + ["\u0443\u044E\u0442", 34, 2], + ["\u044F\u0442", -1, 2], + ["\u043D\u044B", -1, 1], + ["\u0435\u043D\u044B", 37, 2], + ["\u0442\u044C", -1, 1], + ["\u0438\u0442\u044C", 39, 2], + ["\u044B\u0442\u044C", 39, 2], + ["\u0435\u0448\u044C", -1, 1], + ["\u0438\u0448\u044C", -1, 2], + ["\u044E", -1, 2], + ["\u0443\u044E", 44, 2] + ]; + + /** @const */ var a_5 = [ + ["\u0430", -1, 1], + ["\u0435\u0432", -1, 1], + ["\u043E\u0432", -1, 1], + ["\u0435", -1, 1], + ["\u0438\u0435", 3, 1], + ["\u044C\u0435", 3, 1], + ["\u0438", -1, 1], + ["\u0435\u0438", 6, 1], + ["\u0438\u0438", 6, 1], + ["\u0430\u043C\u0438", 6, 1], + ["\u044F\u043C\u0438", 6, 1], + ["\u0438\u044F\u043C\u0438", 10, 1], + ["\u0439", -1, 1], + ["\u0435\u0439", 12, 1], + ["\u0438\u0435\u0439", 13, 1], + ["\u0438\u0439", 12, 1], + ["\u043E\u0439", 12, 1], + ["\u0430\u043C", -1, 1], + ["\u0435\u043C", -1, 1], + ["\u0438\u0435\u043C", 18, 1], + ["\u043E\u043C", -1, 1], + ["\u044F\u043C", -1, 1], + ["\u0438\u044F\u043C", 21, 1], + ["\u043E", -1, 1], + ["\u0443", -1, 1], + ["\u0430\u0445", -1, 1], + ["\u044F\u0445", -1, 1], + ["\u0438\u044F\u0445", 26, 1], + ["\u044B", -1, 1], + ["\u044C", -1, 1], + ["\u044E", -1, 1], + ["\u0438\u044E", 30, 1], + ["\u044C\u044E", 30, 1], + ["\u044F", -1, 1], + ["\u0438\u044F", 33, 1], + ["\u044C\u044F", 33, 1] + ]; + + /** @const */ var a_6 = [ + ["\u043E\u0441\u0442", -1, 1], + ["\u043E\u0441\u0442\u044C", -1, 1] + ]; + + /** @const */ var a_7 = [ + ["\u0435\u0439\u0448\u0435", -1, 1], + ["\u043D", -1, 2], + ["\u0435\u0439\u0448", -1, 1], + ["\u044C", -1, 3] + ]; + + /** @const */ var /** Array */ g_v = [33, 65, 8, 232]; + + var /** number */ I_p2 = 0; + var /** number */ I_pV = 0; + + + /** @return {boolean} */ + function r_mark_regions() { + I_pV = base.limit; + I_p2 = base.limit; + var /** number */ v_1 = base.cursor; + lab0: { + golab1: while(true) + { + lab2: { + if (!(base.in_grouping(g_v, 1072, 1103))) + { + break lab2; + } + break golab1; + } + if (base.cursor >= base.limit) + { + break lab0; + } + base.cursor++; + } + I_pV = base.cursor; + golab3: while(true) + { + lab4: { + if (!(base.out_grouping(g_v, 1072, 1103))) + { + break lab4; + } + break golab3; + } + if (base.cursor >= base.limit) + { + break lab0; + } + base.cursor++; + } + golab5: while(true) + { + lab6: { + if (!(base.in_grouping(g_v, 1072, 1103))) + { + break lab6; + } + break golab5; + } + if (base.cursor >= base.limit) + { + break lab0; + } + base.cursor++; + } + golab7: while(true) + { + lab8: { + if (!(base.out_grouping(g_v, 1072, 1103))) + { + break lab8; + } + break golab7; + } + if (base.cursor >= base.limit) + { + break lab0; + } + base.cursor++; + } + I_p2 = base.cursor; + } + base.cursor = v_1; + return true; + }; + + /** @return {boolean} */ + function r_R2() { + if (!(I_p2 <= base.cursor)) + { + return false; + } + return true; + }; + + /** @return {boolean} */ + function r_perfective_gerund() { + var /** number */ among_var; + base.ket = base.cursor; + among_var = base.find_among_b(a_0); + if (among_var == 0) + { + return false; + } + base.bra = base.cursor; + switch (among_var) { + case 1: + lab0: { + var /** number */ v_1 = base.limit - base.cursor; + lab1: { + if (!(base.eq_s_b("\u0430"))) + { + break lab1; + } + break lab0; + } + base.cursor = base.limit - v_1; + if (!(base.eq_s_b("\u044F"))) + { + return false; + } + } + if (!base.slice_del()) + { + return false; + } + break; + case 2: + if (!base.slice_del()) + { + return false; + } + break; + } + return true; + }; + + /** @return {boolean} */ + function r_adjective() { + base.ket = base.cursor; + if (base.find_among_b(a_1) == 0) + { + return false; + } + base.bra = base.cursor; + if (!base.slice_del()) + { + return false; + } + return true; + }; + + /** @return {boolean} */ + function r_adjectival() { + var /** number */ among_var; + if (!r_adjective()) + { + return false; + } + var /** number */ v_1 = base.limit - base.cursor; + lab0: { + base.ket = base.cursor; + among_var = base.find_among_b(a_2); + if (among_var == 0) + { + base.cursor = base.limit - v_1; + break lab0; + } + base.bra = base.cursor; + switch (among_var) { + case 1: + lab1: { + var /** number */ v_2 = base.limit - base.cursor; + lab2: { + if (!(base.eq_s_b("\u0430"))) + { + break lab2; + } + break lab1; + } + base.cursor = base.limit - v_2; + if (!(base.eq_s_b("\u044F"))) + { + base.cursor = base.limit - v_1; + break lab0; + } + } + if (!base.slice_del()) + { + return false; + } + break; + case 2: + if (!base.slice_del()) + { + return false; + } + break; + } + } + return true; + }; + + /** @return {boolean} */ + function r_reflexive() { + base.ket = base.cursor; + if (base.find_among_b(a_3) == 0) + { + return false; + } + base.bra = base.cursor; + if (!base.slice_del()) + { + return false; + } + return true; + }; + + /** @return {boolean} */ + function r_verb() { + var /** number */ among_var; + base.ket = base.cursor; + among_var = base.find_among_b(a_4); + if (among_var == 0) + { + return false; + } + base.bra = base.cursor; + switch (among_var) { + case 1: + lab0: { + var /** number */ v_1 = base.limit - base.cursor; + lab1: { + if (!(base.eq_s_b("\u0430"))) + { + break lab1; + } + break lab0; + } + base.cursor = base.limit - v_1; + if (!(base.eq_s_b("\u044F"))) + { + return false; + } + } + if (!base.slice_del()) + { + return false; + } + break; + case 2: + if (!base.slice_del()) + { + return false; + } + break; + } + return true; + }; + + /** @return {boolean} */ + function r_noun() { + base.ket = base.cursor; + if (base.find_among_b(a_5) == 0) + { + return false; + } + base.bra = base.cursor; + if (!base.slice_del()) + { + return false; + } + return true; + }; + + /** @return {boolean} */ + function r_derivational() { + base.ket = base.cursor; + if (base.find_among_b(a_6) == 0) + { + return false; + } + base.bra = base.cursor; + if (!r_R2()) + { + return false; + } + if (!base.slice_del()) + { + return false; + } + return true; + }; + + /** @return {boolean} */ + function r_tidy_up() { + var /** number */ among_var; + base.ket = base.cursor; + among_var = base.find_among_b(a_7); + if (among_var == 0) + { + return false; + } + base.bra = base.cursor; + switch (among_var) { + case 1: + if (!base.slice_del()) + { + return false; + } + base.ket = base.cursor; + if (!(base.eq_s_b("\u043D"))) + { + return false; + } + base.bra = base.cursor; + if (!(base.eq_s_b("\u043D"))) + { + return false; + } + if (!base.slice_del()) + { + return false; + } + break; + case 2: + if (!(base.eq_s_b("\u043D"))) + { + return false; + } + if (!base.slice_del()) + { + return false; + } + break; + case 3: + if (!base.slice_del()) + { + return false; + } + break; + } + return true; + }; + + this.stem = /** @return {boolean} */ function() { + var /** number */ v_1 = base.cursor; + lab0: { + while(true) + { + var /** number */ v_2 = base.cursor; + lab1: { + golab2: while(true) + { + var /** number */ v_3 = base.cursor; + lab3: { + base.bra = base.cursor; + if (!(base.eq_s("\u0451"))) + { + break lab3; + } + base.ket = base.cursor; + base.cursor = v_3; + break golab2; + } + base.cursor = v_3; + if (base.cursor >= base.limit) + { + break lab1; + } + base.cursor++; + } + if (!base.slice_from("\u0435")) + { + return false; + } + continue; + } + base.cursor = v_2; + break; + } + } + base.cursor = v_1; + r_mark_regions(); + base.limit_backward = base.cursor; base.cursor = base.limit; + if (base.cursor < I_pV) + { + return false; + } + var /** number */ v_6 = base.limit_backward; + base.limit_backward = I_pV; + var /** number */ v_7 = base.limit - base.cursor; + lab4: { + lab5: { + var /** number */ v_8 = base.limit - base.cursor; + lab6: { + if (!r_perfective_gerund()) + { + break lab6; + } + break lab5; + } + base.cursor = base.limit - v_8; + var /** number */ v_9 = base.limit - base.cursor; + lab7: { + if (!r_reflexive()) + { + base.cursor = base.limit - v_9; + break lab7; + } + } + lab8: { + var /** number */ v_10 = base.limit - base.cursor; + lab9: { + if (!r_adjectival()) + { + break lab9; + } + break lab8; + } + base.cursor = base.limit - v_10; + lab10: { + if (!r_verb()) + { + break lab10; + } + break lab8; + } + base.cursor = base.limit - v_10; + if (!r_noun()) + { + break lab4; + } + } + } + } + base.cursor = base.limit - v_7; + var /** number */ v_11 = base.limit - base.cursor; + lab11: { + base.ket = base.cursor; + if (!(base.eq_s_b("\u0438"))) + { + base.cursor = base.limit - v_11; + break lab11; + } + base.bra = base.cursor; + if (!base.slice_del()) + { + return false; + } + } + var /** number */ v_12 = base.limit - base.cursor; + r_derivational(); + base.cursor = base.limit - v_12; + var /** number */ v_13 = base.limit - base.cursor; + r_tidy_up(); + base.cursor = base.limit - v_13; + base.limit_backward = v_6; + base.cursor = base.limit_backward; + return true; + }; + + /**@return{string}*/ + this['stemWord'] = function(/**string*/word) { + base.setCurrent(word); + this.stem(); + return base.getCurrent(); + }; +}; -- cgit v1.2.3