source: OpenWorkouts-current/docs/_build/html/_static/language_data.js @ 0398a0c

currentfeature/docs
Last change on this file since 0398a0c was 0398a0c, checked in by Borja Lopez <borja@…>, 5 years ago

(#72) Created docs infraestructure, using sphinx and rst

  • Property mode set to 100644
File size: 10.6 KB
Line 
1/*
2 * language_data.js
3 * ~~~~~~~~~~~~~~~~
4 *
5 * This script contains the language-specific data used by searchtools.js,
6 * namely the list of stopwords, stemmer, scorer and splitter.
7 *
8 * :copyright: Copyright 2007-2019 by the Sphinx team, see AUTHORS.
9 * :license: BSD, see LICENSE for details.
10 *
11 */
12
13var stopwords = ["a","and","are","as","at","be","but","by","for","if","in","into","is","it","near","no","not","of","on","or","such","that","the","their","then","there","these","they","this","to","was","will","with"];
14
15
16/* Non-minified version JS is _stemmer.js if file is provided */ 
17/**
18 * Porter Stemmer
19 */
20var Stemmer = function() {
21
22  var step2list = {
23    ational: 'ate',
24    tional: 'tion',
25    enci: 'ence',
26    anci: 'ance',
27    izer: 'ize',
28    bli: 'ble',
29    alli: 'al',
30    entli: 'ent',
31    eli: 'e',
32    ousli: 'ous',
33    ization: 'ize',
34    ation: 'ate',
35    ator: 'ate',
36    alism: 'al',
37    iveness: 'ive',
38    fulness: 'ful',
39    ousness: 'ous',
40    aliti: 'al',
41    iviti: 'ive',
42    biliti: 'ble',
43    logi: 'log'
44  };
45
46  var step3list = {
47    icate: 'ic',
48    ative: '',
49    alize: 'al',
50    iciti: 'ic',
51    ical: 'ic',
52    ful: '',
53    ness: ''
54  };
55
56  var c = "[^aeiou]";          // consonant
57  var v = "[aeiouy]";          // vowel
58  var C = c + "[^aeiouy]*";    // consonant sequence
59  var V = v + "[aeiou]*";      // vowel sequence
60
61  var mgr0 = "^(" + C + ")?" + V + C;                      // [C]VC... is m>0
62  var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$";    // [C]VC[V] is m=1
63  var mgr1 = "^(" + C + ")?" + V + C + V + C;              // [C]VCVC... is m>1
64  var s_v   = "^(" + C + ")?" + v;                         // vowel in stem
65
66  this.stemWord = function (w) {
67    var stem;
68    var suffix;
69    var firstch;
70    var origword = w;
71
72    if (w.length < 3)
73      return w;
74
75    var re;
76    var re2;
77    var re3;
78    var re4;
79
80    firstch = w.substr(0,1);
81    if (firstch == "y")
82      w = firstch.toUpperCase() + w.substr(1);
83
84    // Step 1a
85    re = /^(.+?)(ss|i)es$/;
86    re2 = /^(.+?)([^s])s$/;
87
88    if (re.test(w))
89      w = w.replace(re,"$1$2");
90    else if (re2.test(w))
91      w = w.replace(re2,"$1$2");
92
93    // Step 1b
94    re = /^(.+?)eed$/;
95    re2 = /^(.+?)(ed|ing)$/;
96    if (re.test(w)) {
97      var fp = re.exec(w);
98      re = new RegExp(mgr0);
99      if (re.test(fp[1])) {
100        re = /.$/;
101        w = w.replace(re,"");
102      }
103    }
104    else if (re2.test(w)) {
105      var fp = re2.exec(w);
106      stem = fp[1];
107      re2 = new RegExp(s_v);
108      if (re2.test(stem)) {
109        w = stem;
110        re2 = /(at|bl|iz)$/;
111        re3 = new RegExp("([^aeiouylsz])\\1$");
112        re4 = new RegExp("^" + C + v + "[^aeiouwxy]$");
113        if (re2.test(w))
114          w = w + "e";
115        else if (re3.test(w)) {
116          re = /.$/;
117          w = w.replace(re,"");
118        }
119        else if (re4.test(w))
120          w = w + "e";
121      }
122    }
123
124    // Step 1c
125    re = /^(.+?)y$/;
126    if (re.test(w)) {
127      var fp = re.exec(w);
128      stem = fp[1];
129      re = new RegExp(s_v);
130      if (re.test(stem))
131        w = stem + "i";
132    }
133
134    // Step 2
135    re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/;
136    if (re.test(w)) {
137      var fp = re.exec(w);
138      stem = fp[1];
139      suffix = fp[2];
140      re = new RegExp(mgr0);
141      if (re.test(stem))
142        w = stem + step2list[suffix];
143    }
144
145    // Step 3
146    re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/;
147    if (re.test(w)) {
148      var fp = re.exec(w);
149      stem = fp[1];
150      suffix = fp[2];
151      re = new RegExp(mgr0);
152      if (re.test(stem))
153        w = stem + step3list[suffix];
154    }
155
156    // Step 4
157    re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/;
158    re2 = /^(.+?)(s|t)(ion)$/;
159    if (re.test(w)) {
160      var fp = re.exec(w);
161      stem = fp[1];
162      re = new RegExp(mgr1);
163      if (re.test(stem))
164        w = stem;
165    }
166    else if (re2.test(w)) {
167      var fp = re2.exec(w);
168      stem = fp[1] + fp[2];
169      re2 = new RegExp(mgr1);
170      if (re2.test(stem))
171        w = stem;
172    }
173
174    // Step 5
175    re = /^(.+?)e$/;
176    if (re.test(w)) {
177      var fp = re.exec(w);
178      stem = fp[1];
179      re = new RegExp(mgr1);
180      re2 = new RegExp(meq1);
181      re3 = new RegExp("^" + C + v + "[^aeiouwxy]$");
182      if (re.test(stem) || (re2.test(stem) && !(re3.test(stem))))
183        w = stem;
184    }
185    re = /ll$/;
186    re2 = new RegExp(mgr1);
187    if (re.test(w) && re2.test(w)) {
188      re = /.$/;
189      w = w.replace(re,"");
190    }
191
192    // and turn initial Y back to y
193    if (firstch == "y")
194      w = firstch.toLowerCase() + w.substr(1);
195    return w;
196  }
197}
198
199
200
201
202
203var splitChars = (function() {
204    var result = {};
205    var singles = [96, 180, 187, 191, 215, 247, 749, 885, 903, 907, 909, 930, 1014, 1648,
206         1748, 1809, 2416, 2473, 2481, 2526, 2601, 2609, 2612, 2615, 2653, 2702,
207         2706, 2729, 2737, 2740, 2857, 2865, 2868, 2910, 2928, 2948, 2961, 2971,
208         2973, 3085, 3089, 3113, 3124, 3213, 3217, 3241, 3252, 3295, 3341, 3345,
209         3369, 3506, 3516, 3633, 3715, 3721, 3736, 3744, 3748, 3750, 3756, 3761,
210         3781, 3912, 4239, 4347, 4681, 4695, 4697, 4745, 4785, 4799, 4801, 4823,
211         4881, 5760, 5901, 5997, 6313, 7405, 8024, 8026, 8028, 8030, 8117, 8125,
212         8133, 8181, 8468, 8485, 8487, 8489, 8494, 8527, 11311, 11359, 11687, 11695,
213         11703, 11711, 11719, 11727, 11735, 12448, 12539, 43010, 43014, 43019, 43587,
214         43696, 43713, 64286, 64297, 64311, 64317, 64319, 64322, 64325, 65141];
215    var i, j, start, end;
216    for (i = 0; i < singles.length; i++) {
217        result[singles[i]] = true;
218    }
219    var ranges = [[0, 47], [58, 64], [91, 94], [123, 169], [171, 177], [182, 184], [706, 709],
220         [722, 735], [741, 747], [751, 879], [888, 889], [894, 901], [1154, 1161],
221         [1318, 1328], [1367, 1368], [1370, 1376], [1416, 1487], [1515, 1519], [1523, 1568],
222         [1611, 1631], [1642, 1645], [1750, 1764], [1767, 1773], [1789, 1790], [1792, 1807],
223         [1840, 1868], [1958, 1968], [1970, 1983], [2027, 2035], [2038, 2041], [2043, 2047],
224         [2070, 2073], [2075, 2083], [2085, 2087], [2089, 2307], [2362, 2364], [2366, 2383],
225         [2385, 2391], [2402, 2405], [2419, 2424], [2432, 2436], [2445, 2446], [2449, 2450],
226         [2483, 2485], [2490, 2492], [2494, 2509], [2511, 2523], [2530, 2533], [2546, 2547],
227         [2554, 2564], [2571, 2574], [2577, 2578], [2618, 2648], [2655, 2661], [2672, 2673],
228         [2677, 2692], [2746, 2748], [2750, 2767], [2769, 2783], [2786, 2789], [2800, 2820],
229         [2829, 2830], [2833, 2834], [2874, 2876], [2878, 2907], [2914, 2917], [2930, 2946],
230         [2955, 2957], [2966, 2968], [2976, 2978], [2981, 2983], [2987, 2989], [3002, 3023],
231         [3025, 3045], [3059, 3076], [3130, 3132], [3134, 3159], [3162, 3167], [3170, 3173],
232         [3184, 3191], [3199, 3204], [3258, 3260], [3262, 3293], [3298, 3301], [3312, 3332],
233         [3386, 3388], [3390, 3423], [3426, 3429], [3446, 3449], [3456, 3460], [3479, 3481],
234         [3518, 3519], [3527, 3584], [3636, 3647], [3655, 3663], [3674, 3712], [3717, 3718],
235         [3723, 3724], [3726, 3731], [3752, 3753], [3764, 3772], [3774, 3775], [3783, 3791],
236         [3802, 3803], [3806, 3839], [3841, 3871], [3892, 3903], [3949, 3975], [3980, 4095],
237         [4139, 4158], [4170, 4175], [4182, 4185], [4190, 4192], [4194, 4196], [4199, 4205],
238         [4209, 4212], [4226, 4237], [4250, 4255], [4294, 4303], [4349, 4351], [4686, 4687],
239         [4702, 4703], [4750, 4751], [4790, 4791], [4806, 4807], [4886, 4887], [4955, 4968],
240         [4989, 4991], [5008, 5023], [5109, 5120], [5741, 5742], [5787, 5791], [5867, 5869],
241         [5873, 5887], [5906, 5919], [5938, 5951], [5970, 5983], [6001, 6015], [6068, 6102],
242         [6104, 6107], [6109, 6111], [6122, 6127], [6138, 6159], [6170, 6175], [6264, 6271],
243         [6315, 6319], [6390, 6399], [6429, 6469], [6510, 6511], [6517, 6527], [6572, 6592],
244         [6600, 6607], [6619, 6655], [6679, 6687], [6741, 6783], [6794, 6799], [6810, 6822],
245         [6824, 6916], [6964, 6980], [6988, 6991], [7002, 7042], [7073, 7085], [7098, 7167],
246         [7204, 7231], [7242, 7244], [7294, 7400], [7410, 7423], [7616, 7679], [7958, 7959],
247         [7966, 7967], [8006, 8007], [8014, 8015], [8062, 8063], [8127, 8129], [8141, 8143],
248         [8148, 8149], [8156, 8159], [8173, 8177], [8189, 8303], [8306, 8307], [8314, 8318],
249         [8330, 8335], [8341, 8449], [8451, 8454], [8456, 8457], [8470, 8472], [8478, 8483],
250         [8506, 8507], [8512, 8516], [8522, 8525], [8586, 9311], [9372, 9449], [9472, 10101],
251         [10132, 11263], [11493, 11498], [11503, 11516], [11518, 11519], [11558, 11567],
252         [11622, 11630], [11632, 11647], [11671, 11679], [11743, 11822], [11824, 12292],
253         [12296, 12320], [12330, 12336], [12342, 12343], [12349, 12352], [12439, 12444],
254         [12544, 12548], [12590, 12592], [12687, 12689], [12694, 12703], [12728, 12783],
255         [12800, 12831], [12842, 12880], [12896, 12927], [12938, 12976], [12992, 13311],
256         [19894, 19967], [40908, 40959], [42125, 42191], [42238, 42239], [42509, 42511],
257         [42540, 42559], [42592, 42593], [42607, 42622], [42648, 42655], [42736, 42774],
258         [42784, 42785], [42889, 42890], [42893, 43002], [43043, 43055], [43062, 43071],
259         [43124, 43137], [43188, 43215], [43226, 43249], [43256, 43258], [43260, 43263],
260         [43302, 43311], [43335, 43359], [43389, 43395], [43443, 43470], [43482, 43519],
261         [43561, 43583], [43596, 43599], [43610, 43615], [43639, 43641], [43643, 43647],
262         [43698, 43700], [43703, 43704], [43710, 43711], [43715, 43738], [43742, 43967],
263         [44003, 44015], [44026, 44031], [55204, 55215], [55239, 55242], [55292, 55295],
264         [57344, 63743], [64046, 64047], [64110, 64111], [64218, 64255], [64263, 64274],
265         [64280, 64284], [64434, 64466], [64830, 64847], [64912, 64913], [64968, 65007],
266         [65020, 65135], [65277, 65295], [65306, 65312], [65339, 65344], [65371, 65381],
267         [65471, 65473], [65480, 65481], [65488, 65489], [65496, 65497]];
268    for (i = 0; i < ranges.length; i++) {
269        start = ranges[i][0];
270        end = ranges[i][1];
271        for (j = start; j <= end; j++) {
272            result[j] = true;
273        }
274    }
275    return result;
276})();
277
278function splitQuery(query) {
279    var result = [];
280    var start = -1;
281    for (var i = 0; i < query.length; i++) {
282        if (splitChars[query.charCodeAt(i)]) {
283            if (start !== -1) {
284                result.push(query.slice(start, i));
285                start = -1;
286            }
287        } else if (start === -1) {
288            start = i;
289        }
290    }
291    if (start !== -1) {
292        result.push(query.slice(start));
293    }
294    return result;
295}
296
297
Note: See TracBrowser for help on using the repository browser.