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/porter-stemmer.js | 749 ++++++++++++++++++++++++ 1 file changed, 749 insertions(+) create mode 100644 sphinx/search/non-minified-js/porter-stemmer.js (limited to 'sphinx/search/non-minified-js/porter-stemmer.js') diff --git a/sphinx/search/non-minified-js/porter-stemmer.js b/sphinx/search/non-minified-js/porter-stemmer.js new file mode 100644 index 0000000..0747d2c --- /dev/null +++ b/sphinx/search/non-minified-js/porter-stemmer.js @@ -0,0 +1,749 @@ +// Generated by Snowball 2.1.0 - https://snowballstem.org/ + +/**@constructor*/ +PorterStemmer = function() { + var base = new BaseStemmer(); + /** @const */ var a_0 = [ + ["s", -1, 3], + ["ies", 0, 2], + ["sses", 0, 1], + ["ss", 0, -1] + ]; + + /** @const */ var a_1 = [ + ["", -1, 3], + ["bb", 0, 2], + ["dd", 0, 2], + ["ff", 0, 2], + ["gg", 0, 2], + ["bl", 0, 1], + ["mm", 0, 2], + ["nn", 0, 2], + ["pp", 0, 2], + ["rr", 0, 2], + ["at", 0, 1], + ["tt", 0, 2], + ["iz", 0, 1] + ]; + + /** @const */ var a_2 = [ + ["ed", -1, 2], + ["eed", 0, 1], + ["ing", -1, 2] + ]; + + /** @const */ var a_3 = [ + ["anci", -1, 3], + ["enci", -1, 2], + ["abli", -1, 4], + ["eli", -1, 6], + ["alli", -1, 9], + ["ousli", -1, 11], + ["entli", -1, 5], + ["aliti", -1, 9], + ["biliti", -1, 13], + ["iviti", -1, 12], + ["tional", -1, 1], + ["ational", 10, 8], + ["alism", -1, 9], + ["ation", -1, 8], + ["ization", 13, 7], + ["izer", -1, 7], + ["ator", -1, 8], + ["iveness", -1, 12], + ["fulness", -1, 10], + ["ousness", -1, 11] + ]; + + /** @const */ var a_4 = [ + ["icate", -1, 2], + ["ative", -1, 3], + ["alize", -1, 1], + ["iciti", -1, 2], + ["ical", -1, 2], + ["ful", -1, 3], + ["ness", -1, 3] + ]; + + /** @const */ var a_5 = [ + ["ic", -1, 1], + ["ance", -1, 1], + ["ence", -1, 1], + ["able", -1, 1], + ["ible", -1, 1], + ["ate", -1, 1], + ["ive", -1, 1], + ["ize", -1, 1], + ["iti", -1, 1], + ["al", -1, 1], + ["ism", -1, 1], + ["ion", -1, 2], + ["er", -1, 1], + ["ous", -1, 1], + ["ant", -1, 1], + ["ent", -1, 1], + ["ment", 15, 1], + ["ement", 16, 1], + ["ou", -1, 1] + ]; + + /** @const */ var /** Array */ g_v = [17, 65, 16, 1]; + + /** @const */ var /** Array */ g_v_WXY = [1, 17, 65, 208, 1]; + + var /** boolean */ B_Y_found = false; + var /** number */ I_p2 = 0; + var /** number */ I_p1 = 0; + + + /** @return {boolean} */ + function r_shortv() { + if (!(base.out_grouping_b(g_v_WXY, 89, 121))) + { + return false; + } + if (!(base.in_grouping_b(g_v, 97, 121))) + { + return false; + } + if (!(base.out_grouping_b(g_v, 97, 121))) + { + return false; + } + return true; + }; + + /** @return {boolean} */ + function r_R1() { + if (!(I_p1 <= base.cursor)) + { + return false; + } + return true; + }; + + /** @return {boolean} */ + function r_R2() { + if (!(I_p2 <= base.cursor)) + { + return false; + } + return true; + }; + + /** @return {boolean} */ + function r_Step_1a() { + 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: + if (!base.slice_from("ss")) + { + return false; + } + break; + case 2: + if (!base.slice_from("i")) + { + return false; + } + break; + case 3: + if (!base.slice_del()) + { + return false; + } + break; + } + return true; + }; + + /** @return {boolean} */ + function r_Step_1b() { + var /** number */ among_var; + base.ket = base.cursor; + among_var = base.find_among_b(a_2); + if (among_var == 0) + { + return false; + } + base.bra = base.cursor; + switch (among_var) { + case 1: + if (!r_R1()) + { + return false; + } + if (!base.slice_from("ee")) + { + return false; + } + break; + case 2: + var /** number */ v_1 = base.limit - base.cursor; + golab0: while(true) + { + lab1: { + if (!(base.in_grouping_b(g_v, 97, 121))) + { + break lab1; + } + break golab0; + } + if (base.cursor <= base.limit_backward) + { + return false; + } + base.cursor--; + } + base.cursor = base.limit - v_1; + if (!base.slice_del()) + { + return false; + } + var /** number */ v_3 = base.limit - base.cursor; + among_var = base.find_among_b(a_1); + if (among_var == 0) + { + return false; + } + base.cursor = base.limit - v_3; + switch (among_var) { + case 1: + { + var /** number */ c1 = base.cursor; + base.insert(base.cursor, base.cursor, "e"); + base.cursor = c1; + } + break; + case 2: + base.ket = base.cursor; + if (base.cursor <= base.limit_backward) + { + return false; + } + base.cursor--; + base.bra = base.cursor; + if (!base.slice_del()) + { + return false; + } + break; + case 3: + if (base.cursor != I_p1) + { + return false; + } + var /** number */ v_4 = base.limit - base.cursor; + if (!r_shortv()) + { + return false; + } + base.cursor = base.limit - v_4; + { + var /** number */ c2 = base.cursor; + base.insert(base.cursor, base.cursor, "e"); + base.cursor = c2; + } + break; + } + break; + } + return true; + }; + + /** @return {boolean} */ + function r_Step_1c() { + base.ket = base.cursor; + lab0: { + var /** number */ v_1 = base.limit - base.cursor; + lab1: { + if (!(base.eq_s_b("y"))) + { + break lab1; + } + break lab0; + } + base.cursor = base.limit - v_1; + if (!(base.eq_s_b("Y"))) + { + return false; + } + } + base.bra = base.cursor; + golab2: while(true) + { + lab3: { + if (!(base.in_grouping_b(g_v, 97, 121))) + { + break lab3; + } + break golab2; + } + if (base.cursor <= base.limit_backward) + { + return false; + } + base.cursor--; + } + if (!base.slice_from("i")) + { + return false; + } + return true; + }; + + /** @return {boolean} */ + function r_Step_2() { + var /** number */ among_var; + base.ket = base.cursor; + among_var = base.find_among_b(a_3); + if (among_var == 0) + { + return false; + } + base.bra = base.cursor; + if (!r_R1()) + { + return false; + } + switch (among_var) { + case 1: + if (!base.slice_from("tion")) + { + return false; + } + break; + case 2: + if (!base.slice_from("ence")) + { + return false; + } + break; + case 3: + if (!base.slice_from("ance")) + { + return false; + } + break; + case 4: + if (!base.slice_from("able")) + { + return false; + } + break; + case 5: + if (!base.slice_from("ent")) + { + return false; + } + break; + case 6: + if (!base.slice_from("e")) + { + return false; + } + break; + case 7: + if (!base.slice_from("ize")) + { + return false; + } + break; + case 8: + if (!base.slice_from("ate")) + { + return false; + } + break; + case 9: + if (!base.slice_from("al")) + { + return false; + } + break; + case 10: + if (!base.slice_from("ful")) + { + return false; + } + break; + case 11: + if (!base.slice_from("ous")) + { + return false; + } + break; + case 12: + if (!base.slice_from("ive")) + { + return false; + } + break; + case 13: + if (!base.slice_from("ble")) + { + return false; + } + break; + } + return true; + }; + + /** @return {boolean} */ + function r_Step_3() { + 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; + if (!r_R1()) + { + return false; + } + switch (among_var) { + case 1: + if (!base.slice_from("al")) + { + return false; + } + break; + case 2: + if (!base.slice_from("ic")) + { + return false; + } + break; + case 3: + if (!base.slice_del()) + { + return false; + } + break; + } + return true; + }; + + /** @return {boolean} */ + function r_Step_4() { + var /** number */ among_var; + base.ket = base.cursor; + among_var = base.find_among_b(a_5); + if (among_var == 0) + { + return false; + } + base.bra = base.cursor; + if (!r_R2()) + { + return false; + } + switch (among_var) { + case 1: + if (!base.slice_del()) + { + return false; + } + break; + case 2: + lab0: { + var /** number */ v_1 = base.limit - base.cursor; + lab1: { + if (!(base.eq_s_b("s"))) + { + break lab1; + } + break lab0; + } + base.cursor = base.limit - v_1; + if (!(base.eq_s_b("t"))) + { + return false; + } + } + if (!base.slice_del()) + { + return false; + } + break; + } + return true; + }; + + /** @return {boolean} */ + function r_Step_5a() { + base.ket = base.cursor; + if (!(base.eq_s_b("e"))) + { + return false; + } + base.bra = base.cursor; + lab0: { + var /** number */ v_1 = base.limit - base.cursor; + lab1: { + if (!r_R2()) + { + break lab1; + } + break lab0; + } + base.cursor = base.limit - v_1; + if (!r_R1()) + { + return false; + } + { + var /** number */ v_2 = base.limit - base.cursor; + lab2: { + if (!r_shortv()) + { + break lab2; + } + return false; + } + base.cursor = base.limit - v_2; + } + } + if (!base.slice_del()) + { + return false; + } + return true; + }; + + /** @return {boolean} */ + function r_Step_5b() { + base.ket = base.cursor; + if (!(base.eq_s_b("l"))) + { + return false; + } + base.bra = base.cursor; + if (!r_R2()) + { + return false; + } + if (!(base.eq_s_b("l"))) + { + return false; + } + if (!base.slice_del()) + { + return false; + } + return true; + }; + + this.stem = /** @return {boolean} */ function() { + B_Y_found = false; + var /** number */ v_1 = base.cursor; + lab0: { + base.bra = base.cursor; + if (!(base.eq_s("y"))) + { + break lab0; + } + base.ket = base.cursor; + if (!base.slice_from("Y")) + { + return false; + } + B_Y_found = true; + } + base.cursor = v_1; + var /** number */ v_2 = base.cursor; + lab1: { + while(true) + { + var /** number */ v_3 = base.cursor; + lab2: { + golab3: while(true) + { + var /** number */ v_4 = base.cursor; + lab4: { + if (!(base.in_grouping(g_v, 97, 121))) + { + break lab4; + } + base.bra = base.cursor; + if (!(base.eq_s("y"))) + { + break lab4; + } + base.ket = base.cursor; + base.cursor = v_4; + break golab3; + } + base.cursor = v_4; + if (base.cursor >= base.limit) + { + break lab2; + } + base.cursor++; + } + if (!base.slice_from("Y")) + { + return false; + } + B_Y_found = true; + continue; + } + base.cursor = v_3; + break; + } + } + base.cursor = v_2; + I_p1 = base.limit; + I_p2 = base.limit; + var /** number */ v_5 = base.cursor; + lab5: { + golab6: while(true) + { + lab7: { + if (!(base.in_grouping(g_v, 97, 121))) + { + break lab7; + } + break golab6; + } + if (base.cursor >= base.limit) + { + break lab5; + } + base.cursor++; + } + golab8: while(true) + { + lab9: { + if (!(base.out_grouping(g_v, 97, 121))) + { + break lab9; + } + break golab8; + } + if (base.cursor >= base.limit) + { + break lab5; + } + base.cursor++; + } + I_p1 = base.cursor; + golab10: while(true) + { + lab11: { + if (!(base.in_grouping(g_v, 97, 121))) + { + break lab11; + } + break golab10; + } + if (base.cursor >= base.limit) + { + break lab5; + } + base.cursor++; + } + golab12: while(true) + { + lab13: { + if (!(base.out_grouping(g_v, 97, 121))) + { + break lab13; + } + break golab12; + } + if (base.cursor >= base.limit) + { + break lab5; + } + base.cursor++; + } + I_p2 = base.cursor; + } + base.cursor = v_5; + base.limit_backward = base.cursor; base.cursor = base.limit; + var /** number */ v_10 = base.limit - base.cursor; + r_Step_1a(); + base.cursor = base.limit - v_10; + var /** number */ v_11 = base.limit - base.cursor; + r_Step_1b(); + base.cursor = base.limit - v_11; + var /** number */ v_12 = base.limit - base.cursor; + r_Step_1c(); + base.cursor = base.limit - v_12; + var /** number */ v_13 = base.limit - base.cursor; + r_Step_2(); + base.cursor = base.limit - v_13; + var /** number */ v_14 = base.limit - base.cursor; + r_Step_3(); + base.cursor = base.limit - v_14; + var /** number */ v_15 = base.limit - base.cursor; + r_Step_4(); + base.cursor = base.limit - v_15; + var /** number */ v_16 = base.limit - base.cursor; + r_Step_5a(); + base.cursor = base.limit - v_16; + var /** number */ v_17 = base.limit - base.cursor; + r_Step_5b(); + base.cursor = base.limit - v_17; + base.cursor = base.limit_backward; + var /** number */ v_18 = base.cursor; + lab14: { + if (!B_Y_found) + { + break lab14; + } + while(true) + { + var /** number */ v_19 = base.cursor; + lab15: { + golab16: while(true) + { + var /** number */ v_20 = base.cursor; + lab17: { + base.bra = base.cursor; + if (!(base.eq_s("Y"))) + { + break lab17; + } + base.ket = base.cursor; + base.cursor = v_20; + break golab16; + } + base.cursor = v_20; + if (base.cursor >= base.limit) + { + break lab15; + } + base.cursor++; + } + if (!base.slice_from("y")) + { + return false; + } + continue; + } + base.cursor = v_19; + break; + } + } + base.cursor = v_18; + return true; + }; + + /**@return{string}*/ + this['stemWord'] = function(/**string*/word) { + base.setCurrent(word); + this.stem(); + return base.getCurrent(); + }; +}; -- cgit v1.2.3