xapian-core  2.1.0
english.cc
Go to the documentation of this file.
1 /* Generated from english.sbl by Snowball 3.1.1 - https://snowballstem.org/ */
2 
3 #include <config.h>
4 
5 #define SNOWBALL_RUNTIME_THROW_EXCEPTIONS
6 #include "english.h"
7 
8 #include <stddef.h>
9 
11 
12 static int r_shortv(struct SN_env * z);
13 
14 static const symbol s_0[] = { 'p', 'a', 's', 't' };
15 static const symbol s_1[] = { 's', 'k', 'i' };
16 static const symbol s_2[] = { 's', 'k', 'y' };
17 static const symbol s_3[] = { 'i', 'd', 'l' };
18 static const symbol s_4[] = { 'g', 'e', 'n', 't', 'l' };
19 static const symbol s_5[] = { 'u', 'g', 'l', 'i' };
20 static const symbol s_6[] = { 'e', 'a', 'r', 'l', 'i' };
21 static const symbol s_7[] = { 'o', 'n', 'l', 'i' };
22 static const symbol s_8[] = { 's', 'i', 'n', 'g', 'l' };
23 static const symbol s_9[] = { 'Y' };
24 static const symbol s_10[] = { 'Y' };
25 static const symbol s_11[] = { 's', 's' };
26 static const symbol s_12[] = { 'i' };
27 static const symbol s_13[] = { 'i', 'e' };
28 static const symbol s_14[] = { 'e', 'e' };
29 static const symbol s_15[] = { 'i', 'e' };
30 static const symbol s_16[] = { 'e' };
31 static const symbol s_17[] = { 'e' };
32 static const symbol s_18[] = { 'i' };
33 static const symbol s_19[] = { 't', 'i', 'o', 'n' };
34 static const symbol s_20[] = { 'e', 'n', 'c', 'e' };
35 static const symbol s_21[] = { 'a', 'n', 'c', 'e' };
36 static const symbol s_22[] = { 'a', 'b', 'l', 'e' };
37 static const symbol s_23[] = { 'e', 'n', 't' };
38 static const symbol s_24[] = { 'i', 'z', 'e' };
39 static const symbol s_25[] = { 'a', 't', 'e' };
40 static const symbol s_26[] = { 'a', 'l' };
41 static const symbol s_27[] = { 'f', 'u', 'l' };
42 static const symbol s_28[] = { 'o', 'u', 's' };
43 static const symbol s_29[] = { 'i', 'v', 'e' };
44 static const symbol s_30[] = { 'b', 'l', 'e' };
45 static const symbol s_31[] = { 'o', 'g' };
46 static const symbol s_32[] = { 'o', 'g' };
47 static const symbol s_33[] = { 'l', 'e', 's', 's' };
48 static const symbol s_34[] = { 't', 'i', 'o', 'n' };
49 static const symbol s_35[] = { 'a', 't', 'e' };
50 static const symbol s_36[] = { 'a', 'l' };
51 static const symbol s_37[] = { 'i', 'c' };
52 static const symbol s_38[] = { 'y' };
53 
54 static const symbol s_0_0[5] = { 'a', 'r', 's', 'e', 'n' };
55 static const symbol s_0_1[6] = { 'c', 'o', 'm', 'm', 'u', 'n' };
56 static const symbol s_0_2[5] = { 'e', 'm', 'e', 'r', 'g' };
57 static const symbol s_0_3[5] = { 'g', 'e', 'n', 'e', 'r' };
58 static const symbol s_0_4[5] = { 'i', 'n', 't', 'e', 'r' };
59 static const symbol s_0_5[5] = { 'l', 'a', 't', 'e', 'r' };
60 static const symbol s_0_6[5] = { 'o', 'r', 'g', 'a', 'n' };
61 static const symbol s_0_7[4] = { 'p', 'a', 's', 't' };
62 static const symbol s_0_8[7] = { 'u', 'n', 'i', 'v', 'e', 'r', 's' };
63 static const struct among a_0[9] = {
64 { 5, s_0_0, 0, -1, 0},
65 { 6, s_0_1, 0, -1, 0},
66 { 5, s_0_2, 0, -1, 0},
67 { 5, s_0_3, 0, -1, 0},
68 { 5, s_0_4, 0, -1, 0},
69 { 5, s_0_5, 0, -1, 0},
70 { 5, s_0_6, 0, -1, 0},
71 { 4, s_0_7, 0, -1, 0},
72 { 7, s_0_8, 0, -1, 0}
73 };
74 
75 static const symbol s_1_0[1] = { '\'' };
76 static const symbol s_1_1[3] = { '\'', 's', '\'' };
77 static const symbol s_1_2[2] = { '\'', 's' };
78 static const struct among a_1[3] = {
79 { 1, s_1_0, 0, 1, 0},
80 { 3, s_1_1, -1, 1, 0},
81 { 2, s_1_2, 0, 1, 0}
82 };
83 
84 static const symbol s_2_0[3] = { 'i', 'e', 'd' };
85 static const symbol s_2_1[1] = { 's' };
86 static const symbol s_2_2[3] = { 'i', 'e', 's' };
87 static const symbol s_2_3[4] = { 's', 's', 'e', 's' };
88 static const symbol s_2_4[2] = { 's', 's' };
89 static const symbol s_2_5[2] = { 'u', 's' };
90 static const struct among a_2[6] = {
91 { 3, s_2_0, 0, 2, 0},
92 { 1, s_2_1, 0, 3, 0},
93 { 3, s_2_2, -1, 2, 0},
94 { 4, s_2_3, -2, 1, 0},
95 { 2, s_2_4, -3, -1, 0},
96 { 2, s_2_5, -4, -1, 0}
97 };
98 
99 static const symbol s_3_0[4] = { 's', 'u', 'c', 'c' };
100 static const symbol s_3_1[4] = { 'p', 'r', 'o', 'c' };
101 static const symbol s_3_2[3] = { 'e', 'x', 'c' };
102 static const struct among a_3[3] = {
103 { 4, s_3_0, 0, 1, 0},
104 { 4, s_3_1, 0, 1, 0},
105 { 3, s_3_2, 0, 1, 0}
106 };
107 
108 static const symbol s_4_0[4] = { 'e', 'v', 'e', 'n' };
109 static const symbol s_4_1[4] = { 'c', 'a', 'n', 'n' };
110 static const symbol s_4_2[3] = { 'i', 'n', 'n' };
111 static const symbol s_4_3[4] = { 'e', 'a', 'r', 'r' };
112 static const symbol s_4_4[4] = { 'h', 'e', 'r', 'r' };
113 static const symbol s_4_5[3] = { 'o', 'u', 't' };
114 static const symbol s_4_6[1] = { 'y' };
115 static const struct among a_4[7] = {
116 { 4, s_4_0, 0, 2, 0},
117 { 4, s_4_1, 0, 2, 0},
118 { 3, s_4_2, 0, 2, 0},
119 { 4, s_4_3, 0, 2, 0},
120 { 4, s_4_4, 0, 2, 0},
121 { 3, s_4_5, 0, 2, 0},
122 { 1, s_4_6, 0, 1, 0}
123 };
124 
125 static const symbol s_5_1[2] = { 'e', 'd' };
126 static const symbol s_5_2[3] = { 'e', 'e', 'd' };
127 static const symbol s_5_3[3] = { 'i', 'n', 'g' };
128 static const symbol s_5_4[4] = { 'e', 'd', 'l', 'y' };
129 static const symbol s_5_5[5] = { 'e', 'e', 'd', 'l', 'y' };
130 static const symbol s_5_6[5] = { 'i', 'n', 'g', 'l', 'y' };
131 static const struct among a_5[7] = {
132 { 0, 0, 0, -1, 0},
133 { 2, s_5_1, -1, 2, 0},
134 { 3, s_5_2, -1, 1, 0},
135 { 3, s_5_3, -3, 3, 0},
136 { 4, s_5_4, -4, 2, 0},
137 { 5, s_5_5, -1, 1, 0},
138 { 5, s_5_6, -6, 2, 0}
139 };
140 
141 static const symbol s_6_1[2] = { 'b', 'b' };
142 static const symbol s_6_2[2] = { 'd', 'd' };
143 static const symbol s_6_3[2] = { 'f', 'f' };
144 static const symbol s_6_4[2] = { 'g', 'g' };
145 static const symbol s_6_5[2] = { 'b', 'l' };
146 static const symbol s_6_6[2] = { 'm', 'm' };
147 static const symbol s_6_7[2] = { 'n', 'n' };
148 static const symbol s_6_8[2] = { 'p', 'p' };
149 static const symbol s_6_9[2] = { 'r', 'r' };
150 static const symbol s_6_10[2] = { 'a', 't' };
151 static const symbol s_6_11[2] = { 't', 't' };
152 static const symbol s_6_12[2] = { 'i', 'z' };
153 static const struct among a_6[13] = {
154 { 0, 0, 0, 3, 0},
155 { 2, s_6_1, -1, 2, 0},
156 { 2, s_6_2, -2, 2, 0},
157 { 2, s_6_3, -3, 2, 0},
158 { 2, s_6_4, -4, 2, 0},
159 { 2, s_6_5, -5, 1, 0},
160 { 2, s_6_6, -6, 2, 0},
161 { 2, s_6_7, -7, 2, 0},
162 { 2, s_6_8, -8, 2, 0},
163 { 2, s_6_9, -9, 2, 0},
164 { 2, s_6_10, -10, 1, 0},
165 { 2, s_6_11, -11, 2, 0},
166 { 2, s_6_12, -12, 1, 0}
167 };
168 
169 static const symbol s_7_0[4] = { 'a', 'n', 'c', 'i' };
170 static const symbol s_7_1[4] = { 'e', 'n', 'c', 'i' };
171 static const symbol s_7_2[3] = { 'o', 'g', 'i' };
172 static const symbol s_7_3[2] = { 'l', 'i' };
173 static const symbol s_7_4[3] = { 'b', 'l', 'i' };
174 static const symbol s_7_5[4] = { 'a', 'b', 'l', 'i' };
175 static const symbol s_7_6[4] = { 'a', 'l', 'l', 'i' };
176 static const symbol s_7_7[5] = { 'f', 'u', 'l', 'l', 'i' };
177 static const symbol s_7_8[6] = { 'l', 'e', 's', 's', 'l', 'i' };
178 static const symbol s_7_9[5] = { 'o', 'u', 's', 'l', 'i' };
179 static const symbol s_7_10[5] = { 'e', 'n', 't', 'l', 'i' };
180 static const symbol s_7_11[5] = { 'a', 'l', 'i', 't', 'i' };
181 static const symbol s_7_12[6] = { 'b', 'i', 'l', 'i', 't', 'i' };
182 static const symbol s_7_13[5] = { 'i', 'v', 'i', 't', 'i' };
183 static const symbol s_7_14[6] = { 't', 'i', 'o', 'n', 'a', 'l' };
184 static const symbol s_7_15[7] = { 'a', 't', 'i', 'o', 'n', 'a', 'l' };
185 static const symbol s_7_16[5] = { 'a', 'l', 'i', 's', 'm' };
186 static const symbol s_7_17[5] = { 'a', 't', 'i', 'o', 'n' };
187 static const symbol s_7_18[7] = { 'i', 'z', 'a', 't', 'i', 'o', 'n' };
188 static const symbol s_7_19[4] = { 'i', 'z', 'e', 'r' };
189 static const symbol s_7_20[4] = { 'a', 't', 'o', 'r' };
190 static const symbol s_7_21[7] = { 'i', 'v', 'e', 'n', 'e', 's', 's' };
191 static const symbol s_7_22[7] = { 'f', 'u', 'l', 'n', 'e', 's', 's' };
192 static const symbol s_7_23[7] = { 'o', 'u', 's', 'n', 'e', 's', 's' };
193 static const symbol s_7_24[5] = { 'o', 'g', 'i', 's', 't' };
194 static const struct among a_7[25] = {
195 { 4, s_7_0, 0, 3, 0},
196 { 4, s_7_1, 0, 2, 0},
197 { 3, s_7_2, 0, 14, 0},
198 { 2, s_7_3, 0, 16, 0},
199 { 3, s_7_4, -1, 12, 0},
200 { 4, s_7_5, -1, 4, 0},
201 { 4, s_7_6, -3, 8, 0},
202 { 5, s_7_7, -4, 9, 0},
203 { 6, s_7_8, -5, 15, 0},
204 { 5, s_7_9, -6, 10, 0},
205 { 5, s_7_10, -7, 5, 0},
206 { 5, s_7_11, 0, 8, 0},
207 { 6, s_7_12, 0, 12, 0},
208 { 5, s_7_13, 0, 11, 0},
209 { 6, s_7_14, 0, 1, 0},
210 { 7, s_7_15, -1, 7, 0},
211 { 5, s_7_16, 0, 8, 0},
212 { 5, s_7_17, 0, 7, 0},
213 { 7, s_7_18, -1, 6, 0},
214 { 4, s_7_19, 0, 6, 0},
215 { 4, s_7_20, 0, 7, 0},
216 { 7, s_7_21, 0, 11, 0},
217 { 7, s_7_22, 0, 9, 0},
218 { 7, s_7_23, 0, 10, 0},
219 { 5, s_7_24, 0, 13, 0}
220 };
221 
222 static const symbol s_8_0[5] = { 'i', 'c', 'a', 't', 'e' };
223 static const symbol s_8_1[5] = { 'a', 't', 'i', 'v', 'e' };
224 static const symbol s_8_2[5] = { 'a', 'l', 'i', 'z', 'e' };
225 static const symbol s_8_3[5] = { 'i', 'c', 'i', 't', 'i' };
226 static const symbol s_8_4[4] = { 'i', 'c', 'a', 'l' };
227 static const symbol s_8_5[6] = { 't', 'i', 'o', 'n', 'a', 'l' };
228 static const symbol s_8_6[7] = { 'a', 't', 'i', 'o', 'n', 'a', 'l' };
229 static const symbol s_8_7[3] = { 'f', 'u', 'l' };
230 static const symbol s_8_8[4] = { 'n', 'e', 's', 's' };
231 static const struct among a_8[9] = {
232 { 5, s_8_0, 0, 4, 0},
233 { 5, s_8_1, 0, 6, 0},
234 { 5, s_8_2, 0, 3, 0},
235 { 5, s_8_3, 0, 4, 0},
236 { 4, s_8_4, 0, 4, 0},
237 { 6, s_8_5, 0, 1, 0},
238 { 7, s_8_6, -1, 2, 0},
239 { 3, s_8_7, 0, 5, 0},
240 { 4, s_8_8, 0, 5, 0}
241 };
242 
243 static const symbol s_9_0[2] = { 'i', 'c' };
244 static const symbol s_9_1[4] = { 'a', 'n', 'c', 'e' };
245 static const symbol s_9_2[4] = { 'e', 'n', 'c', 'e' };
246 static const symbol s_9_3[4] = { 'a', 'b', 'l', 'e' };
247 static const symbol s_9_4[4] = { 'i', 'b', 'l', 'e' };
248 static const symbol s_9_5[3] = { 'a', 't', 'e' };
249 static const symbol s_9_6[3] = { 'i', 'v', 'e' };
250 static const symbol s_9_7[3] = { 'i', 'z', 'e' };
251 static const symbol s_9_8[3] = { 'i', 't', 'i' };
252 static const symbol s_9_9[2] = { 'a', 'l' };
253 static const symbol s_9_10[3] = { 'i', 's', 'm' };
254 static const symbol s_9_11[3] = { 'i', 'o', 'n' };
255 static const symbol s_9_12[2] = { 'e', 'r' };
256 static const symbol s_9_13[3] = { 'o', 'u', 's' };
257 static const symbol s_9_14[3] = { 'a', 'n', 't' };
258 static const symbol s_9_15[3] = { 'e', 'n', 't' };
259 static const symbol s_9_16[4] = { 'm', 'e', 'n', 't' };
260 static const symbol s_9_17[5] = { 'e', 'm', 'e', 'n', 't' };
261 static const struct among a_9[18] = {
262 { 2, s_9_0, 0, 1, 0},
263 { 4, s_9_1, 0, 1, 0},
264 { 4, s_9_2, 0, 1, 0},
265 { 4, s_9_3, 0, 1, 0},
266 { 4, s_9_4, 0, 1, 0},
267 { 3, s_9_5, 0, 1, 0},
268 { 3, s_9_6, 0, 1, 0},
269 { 3, s_9_7, 0, 1, 0},
270 { 3, s_9_8, 0, 1, 0},
271 { 2, s_9_9, 0, 1, 0},
272 { 3, s_9_10, 0, 1, 0},
273 { 3, s_9_11, 0, 2, 0},
274 { 2, s_9_12, 0, 1, 0},
275 { 3, s_9_13, 0, 1, 0},
276 { 3, s_9_14, 0, 1, 0},
277 { 3, s_9_15, 0, 1, 0},
278 { 4, s_9_16, -1, 1, 0},
279 { 5, s_9_17, -1, 1, 0}
280 };
281 
282 static const symbol s_10_0[1] = { 'e' };
283 static const symbol s_10_1[1] = { 'l' };
284 static const struct among a_10[2] = {
285 { 1, s_10_0, 0, 1, 0},
286 { 1, s_10_1, 0, 2, 0}
287 };
288 
289 static const symbol s_11_0[5] = { 'a', 'n', 'd', 'e', 's' };
290 static const symbol s_11_1[5] = { 'a', 't', 'l', 'a', 's' };
291 static const symbol s_11_2[4] = { 'b', 'i', 'a', 's' };
292 static const symbol s_11_3[6] = { 'c', 'o', 's', 'm', 'o', 's' };
293 static const symbol s_11_4[5] = { 'e', 'a', 'r', 'l', 'y' };
294 static const symbol s_11_5[6] = { 'g', 'e', 'n', 't', 'l', 'y' };
295 static const symbol s_11_6[4] = { 'h', 'o', 'w', 'e' };
296 static const symbol s_11_7[4] = { 'i', 'd', 'l', 'y' };
297 static const symbol s_11_8[4] = { 'n', 'e', 'w', 's' };
298 static const symbol s_11_9[4] = { 'o', 'n', 'l', 'y' };
299 static const symbol s_11_10[6] = { 's', 'i', 'n', 'g', 'l', 'y' };
300 static const symbol s_11_11[5] = { 's', 'k', 'i', 'e', 's' };
301 static const symbol s_11_12[4] = { 's', 'k', 'i', 's' };
302 static const symbol s_11_13[3] = { 's', 'k', 'y' };
303 static const symbol s_11_14[4] = { 'u', 'g', 'l', 'y' };
304 static const struct among a_11[15] = {
305 { 5, s_11_0, 0, -1, 0},
306 { 5, s_11_1, 0, -1, 0},
307 { 4, s_11_2, 0, -1, 0},
308 { 6, s_11_3, 0, -1, 0},
309 { 5, s_11_4, 0, 6, 0},
310 { 6, s_11_5, 0, 4, 0},
311 { 4, s_11_6, 0, -1, 0},
312 { 4, s_11_7, 0, 3, 0},
313 { 4, s_11_8, 0, -1, 0},
314 { 4, s_11_9, 0, 7, 0},
315 { 6, s_11_10, 0, 8, 0},
316 { 5, s_11_11, 0, 2, 0},
317 { 4, s_11_12, 0, 1, 0},
318 { 3, s_11_13, 0, -1, 0},
319 { 4, s_11_14, 0, 5, 0}
320 };
321 
322 static const unsigned char g_aeo[] = { 17, 64 };
323 
324 static const unsigned char g_v[] = { 17, 65, 16, 1 };
325 
326 static const unsigned char g_v_WXY[] = { 1, 17, 65, 208, 1 };
327 
328 static const unsigned char g_valid_LI[] = { 55, 141, 2 };
329 
330 static int r_shortv(struct SN_env * z) {
331  do {
332  int v_1 = z->l - z->c;
333  if (out_grouping_b_U(z, g_v_WXY, 89, 121, 0)) goto lab0;
334  if (in_grouping_b_U(z, g_v, 97, 121, 0)) goto lab0;
335  if (out_grouping_b_U(z, g_v, 97, 121, 0)) goto lab0;
336  break;
337  lab0:
338  z->c = z->l - v_1;
339  if (out_grouping_b_U(z, g_v, 97, 121, 0)) goto lab1;
340  if (in_grouping_b_U(z, g_v, 97, 121, 0)) goto lab1;
341  if (z->c > z->lb) goto lab1;
342  break;
343  lab1:
344  z->c = z->l - v_1;
345  if (!(eq_s_b(z, 4, s_0))) return 0;
346  } while (0);
347  return 1;
348 }
349 
351  int among_var;
352  bool b_Y_found;
353  int i_p2;
354  int i_p1;
355  do {
356  int v_1 = z->c;
357  z->bra = z->c;
358  if (z->c + 2 >= z->l || z->p[z->c + 2] >> 5 != 3 || !((42750482 >> (z->p[z->c + 2] & 0x1f)) & 1)) goto lab0;
359  among_var = find_among(z, a_11, 15, 0);
360  if (!among_var) goto lab0;
361  z->ket = z->c;
362  if (z->c < z->l) goto lab0;
363  switch (among_var) {
364  case 1:
365  slice_from_s(z, 3, s_1);
366  break;
367  case 2:
368  slice_from_s(z, 3, s_2);
369  break;
370  case 3:
371  slice_from_s(z, 3, s_3);
372  break;
373  case 4:
374  slice_from_s(z, 5, s_4);
375  break;
376  case 5:
377  slice_from_s(z, 4, s_5);
378  break;
379  case 6:
380  slice_from_s(z, 5, s_6);
381  break;
382  case 7:
383  slice_from_s(z, 4, s_7);
384  break;
385  case 8:
386  slice_from_s(z, 5, s_8);
387  break;
388  }
389  break;
390  lab0:
391  z->c = v_1;
392  {
393  int ret = skip_utf8(z->p, z->c, z->l, 3);
394  if (ret < 0) goto lab2;
395  z->c = ret;
396  }
397  goto lab1;
398  lab2:
399  break;
400  lab1:
401  z->c = v_1;
402  b_Y_found = false;
403  {
404  int v_2 = z->c;
405  z->bra = z->c;
406  if (z->c == z->l || z->p[z->c] != '\'') goto lab4;
407  z->c++;
408  z->ket = z->c;
409  slice_del(z);
410  lab4:
411  z->c = v_2;
412  }
413  {
414  int v_3 = z->c;
415  z->bra = z->c;
416  if (z->c == z->l || z->p[z->c] != 'y') goto lab5;
417  z->c++;
418  z->ket = z->c;
419  slice_from_s(z, 1, s_9);
420  b_Y_found = true;
421  lab5:
422  z->c = v_3;
423  }
424  {
425  int v_4 = z->c;
426  while (1) {
427  int v_5 = z->c;
428  while (1) {
429  int v_6 = z->c;
430  if (in_grouping_U(z, g_v, 97, 121, 0)) goto lab8;
431  z->bra = z->c;
432  if (z->c == z->l || z->p[z->c] != 'y') goto lab8;
433  z->c++;
434  z->ket = z->c;
435  z->c = v_6;
436  break;
437  lab8:
438  z->c = v_6;
439  {
440  int ret = skip_utf8(z->p, z->c, z->l, 1);
441  if (ret < 0) goto lab7;
442  z->c = ret;
443  }
444  }
445  slice_from_s(z, 1, s_10);
446  b_Y_found = true;
447  continue;
448  lab7:
449  z->c = v_5;
450  break;
451  }
452  z->c = v_4;
453  }
454  i_p1 = z->l;
455  i_p2 = z->l;
456  {
457  int v_7 = z->c;
458  do {
459  int v_8 = z->c;
460  if (z->c + 3 >= z->l || z->p[z->c + 3] >> 5 != 3 || !((5513250 >> (z->p[z->c + 3] & 0x1f)) & 1)) goto lab11;
461  if (!find_among(z, a_0, 9, 0)) goto lab11;
462  break;
463  lab11:
464  z->c = v_8;
465  {
466  int ret = out_grouping_U(z, g_v, 97, 121, 1);
467  if (ret < 0) goto lab10;
468  z->c += ret;
469  }
470  {
471  int ret = in_grouping_U(z, g_v, 97, 121, 1);
472  if (ret < 0) goto lab10;
473  z->c += ret;
474  }
475  } while (0);
476  i_p1 = z->c;
477  {
478  int ret = out_grouping_U(z, g_v, 97, 121, 1);
479  if (ret < 0) goto lab10;
480  z->c += ret;
481  }
482  {
483  int ret = in_grouping_U(z, g_v, 97, 121, 1);
484  if (ret < 0) goto lab10;
485  z->c += ret;
486  }
487  i_p2 = z->c;
488  lab10:
489  z->c = v_7;
490  }
491  z->lb = z->c; z->c = z->l;
492  {
493  int v_9 = z->l - z->c;
494  {
495  int v_10 = z->l - z->c;
496  z->ket = z->c;
497  if (z->c <= z->lb || (z->p[z->c - 1] != 39 && z->p[z->c - 1] != 115)) { z->c = z->l - v_10; goto lab13; }
498  if (!find_among_b(z, a_1, 3, 0)) { z->c = z->l - v_10; goto lab13; }
499  z->bra = z->c;
500  slice_del(z);
501  lab13:
502  ;
503  }
504  z->ket = z->c;
505  if (z->c <= z->lb || (z->p[z->c - 1] != 100 && z->p[z->c - 1] != 115)) goto lab12;
506  among_var = find_among_b(z, a_2, 6, 0);
507  if (!among_var) goto lab12;
508  z->bra = z->c;
509  switch (among_var) {
510  case 1:
511  slice_from_s(z, 2, s_11);
512  break;
513  case 2:
514  do {
515  int v_11 = z->l - z->c;
516  {
517  int ret = skip_b_utf8(z->p, z->c, z->lb, 2);
518  if (ret < 0) goto lab14;
519  z->c = ret;
520  }
521  slice_from_s(z, 1, s_12);
522  break;
523  lab14:
524  z->c = z->l - v_11;
525  slice_from_s(z, 2, s_13);
526  } while (0);
527  break;
528  case 3:
529  {
530  int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
531  if (ret < 0) goto lab12;
532  z->c = ret;
533  }
534  {
535  int ret = out_grouping_b_U(z, g_v, 97, 121, 1);
536  if (ret < 0) goto lab12;
537  z->c -= ret;
538  }
539  slice_del(z);
540  break;
541  }
542  lab12:
543  z->c = z->l - v_9;
544  }
545  {
546  int v_12 = z->l - z->c;
547  z->ket = z->c;
548  if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((33554576 >> (z->p[z->c - 1] & 0x1f)) & 1)) among_var = -1; else
549  among_var = find_among_b(z, a_5, 7, 0);
550  z->bra = z->c;
551  do {
552  int v_13 = z->l - z->c;
553  switch (among_var) {
554  case 1:
555  {
556  int v_14 = z->l - z->c;
557  if (i_p1 > z->c) goto lab17;
558  do {
559  int v_15 = z->l - z->c;
560  if (z->c - 2 <= z->lb || z->p[z->c - 1] != 99) goto lab18;
561  if (!find_among_b(z, a_3, 3, 0)) goto lab18;
562  if (z->c > z->lb) goto lab18;
563  break;
564  lab18:
565  z->c = z->l - v_15;
566  slice_from_s(z, 2, s_14);
567  } while (0);
568  lab17:
569  z->c = z->l - v_14;
570  }
571  break;
572  case 2:
573  goto lab16;
574  break;
575  case 3:
576  if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((34881536 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab16;
577  among_var = find_among_b(z, a_4, 7, 0);
578  if (!among_var) goto lab16;
579  switch (among_var) {
580  case 1:
581  {
582  int v_16 = z->l - z->c;
583  if (out_grouping_b_U(z, g_v, 97, 121, 0)) goto lab16;
584  if (z->c > z->lb) goto lab16;
585  z->c = z->l - v_16;
586  }
587  z->bra = z->c;
588  slice_from_s(z, 2, s_15);
589  break;
590  case 2:
591  if (z->c > z->lb) goto lab16;
592  break;
593  }
594  break;
595  }
596  break;
597  lab16:
598  z->c = z->l - v_13;
599  {
600  int v_17 = z->l - z->c;
601  {
602  int ret = out_grouping_b_U(z, g_v, 97, 121, 1);
603  if (ret < 0) goto lab15;
604  z->c -= ret;
605  }
606  z->c = z->l - v_17;
607  }
608  slice_del(z);
609  z->ket = z->c;
610  z->bra = z->c;
611  {
612  int v_18 = z->l - z->c;
613  if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((68514004 >> (z->p[z->c - 1] & 0x1f)) & 1)) among_var = 3; else
614  among_var = find_among_b(z, a_6, 13, 0);
615  switch (among_var) {
616  case 1:
617  slice_from_s(z, 1, s_16);
618  goto lab15;
619  break;
620  case 2:
621  {
622  int v_19 = z->l - z->c;
623  if (in_grouping_b_U(z, g_aeo, 97, 111, 0)) goto lab19;
624  if (z->c > z->lb) goto lab19;
625  goto lab15;
626  lab19:
627  z->c = z->l - v_19;
628  }
629  break;
630  case 3:
631  if (z->c != i_p1) goto lab15;
632  {
633  int v_20 = z->l - z->c;
634  if (!r_shortv(z)) goto lab15;
635  z->c = z->l - v_20;
636  }
637  slice_from_s(z, 1, s_17);
638  goto lab15;
639  break;
640  }
641  z->c = z->l - v_18;
642  }
643  z->ket = z->c;
644  {
645  int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
646  if (ret < 0) goto lab15;
647  z->c = ret;
648  }
649  z->bra = z->c;
650  slice_del(z);
651  } while (0);
652  lab15:
653  z->c = z->l - v_12;
654  }
655  {
656  int v_21 = z->l - z->c;
657  z->ket = z->c;
658  do {
659  if (z->c <= z->lb || z->p[z->c - 1] != 'y') goto lab21;
660  z->c--;
661  break;
662  lab21:
663  if (z->c <= z->lb || z->p[z->c - 1] != 'Y') goto lab20;
664  z->c--;
665  } while (0);
666  z->bra = z->c;
667  if (out_grouping_b_U(z, g_v, 97, 121, 0)) goto lab20;
668  if (z->c <= z->lb) goto lab20;
669  slice_from_s(z, 1, s_18);
670  lab20:
671  z->c = z->l - v_21;
672  }
673  {
674  int v_22 = z->l - z->c;
675  z->ket = z->c;
676  if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1864192 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab22;
677  among_var = find_among_b(z, a_7, 25, 0);
678  if (!among_var) goto lab22;
679  z->bra = z->c;
680  if (i_p1 > z->c) goto lab22;
681  switch (among_var) {
682  case 1:
683  slice_from_s(z, 4, s_19);
684  break;
685  case 2:
686  slice_from_s(z, 4, s_20);
687  break;
688  case 3:
689  slice_from_s(z, 4, s_21);
690  break;
691  case 4:
692  slice_from_s(z, 4, s_22);
693  break;
694  case 5:
695  slice_from_s(z, 3, s_23);
696  break;
697  case 6:
698  slice_from_s(z, 3, s_24);
699  break;
700  case 7:
701  slice_from_s(z, 3, s_25);
702  break;
703  case 8:
704  slice_from_s(z, 2, s_26);
705  break;
706  case 9:
707  slice_from_s(z, 3, s_27);
708  break;
709  case 10:
710  slice_from_s(z, 3, s_28);
711  break;
712  case 11:
713  slice_from_s(z, 3, s_29);
714  break;
715  case 12:
716  slice_from_s(z, 3, s_30);
717  break;
718  case 13:
719  slice_from_s(z, 2, s_31);
720  break;
721  case 14:
722  if (z->c <= z->lb || z->p[z->c - 1] != 'l') goto lab22;
723  z->c--;
724  slice_from_s(z, 2, s_32);
725  break;
726  case 15:
727  slice_from_s(z, 4, s_33);
728  break;
729  case 16:
730  if (in_grouping_b_U(z, g_valid_LI, 99, 116, 0)) goto lab22;
731  slice_del(z);
732  break;
733  }
734  lab22:
735  z->c = z->l - v_22;
736  }
737  {
738  int v_23 = z->l - z->c;
739  z->ket = z->c;
740  if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((528928 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab23;
741  among_var = find_among_b(z, a_8, 9, 0);
742  if (!among_var) goto lab23;
743  z->bra = z->c;
744  if (i_p1 > z->c) goto lab23;
745  switch (among_var) {
746  case 1:
747  slice_from_s(z, 4, s_34);
748  break;
749  case 2:
750  slice_from_s(z, 3, s_35);
751  break;
752  case 3:
753  slice_from_s(z, 2, s_36);
754  break;
755  case 4:
756  slice_from_s(z, 2, s_37);
757  break;
758  case 5:
759  slice_del(z);
760  break;
761  case 6:
762  if (i_p2 > z->c) goto lab23;
763  slice_del(z);
764  break;
765  }
766  lab23:
767  z->c = z->l - v_23;
768  }
769  {
770  int v_24 = z->l - z->c;
771  z->ket = z->c;
772  if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1864232 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab24;
773  among_var = find_among_b(z, a_9, 18, 0);
774  if (!among_var) goto lab24;
775  z->bra = z->c;
776  if (i_p2 > z->c) goto lab24;
777  switch (among_var) {
778  case 1:
779  slice_del(z);
780  break;
781  case 2:
782  do {
783  if (z->c <= z->lb || z->p[z->c - 1] != 's') goto lab25;
784  z->c--;
785  break;
786  lab25:
787  if (z->c <= z->lb || z->p[z->c - 1] != 't') goto lab24;
788  z->c--;
789  } while (0);
790  slice_del(z);
791  break;
792  }
793  lab24:
794  z->c = z->l - v_24;
795  }
796  {
797  int v_25 = z->l - z->c;
798  z->ket = z->c;
799  if (z->c <= z->lb || (z->p[z->c - 1] != 101 && z->p[z->c - 1] != 108)) goto lab26;
800  among_var = find_among_b(z, a_10, 2, 0);
801  if (!among_var) goto lab26;
802  z->bra = z->c;
803  switch (among_var) {
804  case 1:
805  do {
806  if (i_p2 > z->c) goto lab27;
807  break;
808  lab27:
809  if (i_p1 > z->c) goto lab26;
810  {
811  int v_26 = z->l - z->c;
812  if (!r_shortv(z)) goto lab28;
813  goto lab26;
814  lab28:
815  z->c = z->l - v_26;
816  }
817  } while (0);
818  slice_del(z);
819  break;
820  case 2:
821  if (i_p2 > z->c) goto lab26;
822  if (z->c <= z->lb || z->p[z->c - 1] != 'l') goto lab26;
823  z->c--;
824  slice_del(z);
825  break;
826  }
827  lab26:
828  z->c = z->l - v_25;
829  }
830  z->c = z->lb;
831  {
832  int v_27 = z->c;
833  if (!b_Y_found) goto lab29;
834  while (1) {
835  int v_28 = z->c;
836  while (1) {
837  int v_29 = z->c;
838  z->bra = z->c;
839  if (z->c == z->l || z->p[z->c] != 'Y') goto lab31;
840  z->c++;
841  z->ket = z->c;
842  z->c = v_29;
843  break;
844  lab31:
845  z->c = v_29;
846  {
847  int ret = skip_utf8(z->p, z->c, z->l, 1);
848  if (ret < 0) goto lab30;
849  z->c = ret;
850  }
851  }
852  slice_from_s(z, 1, s_38);
853  continue;
854  lab30:
855  z->c = v_28;
856  break;
857  }
858  lab29:
859  z->c = v_27;
860  }
861  } while (0);
862  return 1;
863 }
unsigned char symbol
Definition: api.h:4
static int stem(struct SN_env *z)
Definition: english.cc:350
static const struct among a_11[15]
Definition: english.cc:304
static const struct among a_9[18]
Definition: english.cc:261
static const symbol s_6_6[2]
Definition: english.cc:146
static const symbol s_25[]
Definition: english.cc:39
static const struct among a_7[25]
Definition: english.cc:194
static const symbol s_2[]
Definition: english.cc:16
static const symbol s_7_21[7]
Definition: english.cc:190
static const symbol s_9_6[3]
Definition: english.cc:249
static const symbol s_7_19[4]
Definition: english.cc:188
static const symbol s_0_3[5]
Definition: english.cc:57
static const symbol s_7_15[7]
Definition: english.cc:184
static const symbol s_0_5[5]
Definition: english.cc:59
static const symbol s_0_0[5]
Definition: english.cc:54
static const symbol s_7_3[2]
Definition: english.cc:172
static const symbol s_10_0[1]
Definition: english.cc:282
static const symbol s_6_12[2]
Definition: english.cc:152
static const symbol s_9_2[4]
Definition: english.cc:245
static const symbol s_2_5[2]
Definition: english.cc:89
static const symbol s_7_23[7]
Definition: english.cc:192
static const symbol s_4[]
Definition: english.cc:18
static const symbol s_3_2[3]
Definition: english.cc:101
static const symbol s_7_13[5]
Definition: english.cc:182
static const symbol s_9_0[2]
Definition: english.cc:243
static const symbol s_11_8[4]
Definition: english.cc:297
static const symbol s_7_9[5]
Definition: english.cc:178
static const symbol s_30[]
Definition: english.cc:44
static const symbol s_38[]
Definition: english.cc:52
static const symbol s_10_1[1]
Definition: english.cc:283
static const symbol s_1_2[2]
Definition: english.cc:77
static const symbol s_0_6[5]
Definition: english.cc:60
static const symbol s_6_9[2]
Definition: english.cc:149
static const symbol s_4_3[4]
Definition: english.cc:111
static const symbol s_9_4[4]
Definition: english.cc:247
static const symbol s_11_1[5]
Definition: english.cc:290
static const struct among a_5[7]
Definition: english.cc:131
static const symbol s_9_13[3]
Definition: english.cc:256
static const symbol s_29[]
Definition: english.cc:43
static const symbol s_4_1[4]
Definition: english.cc:109
static const symbol s_9_16[4]
Definition: english.cc:259
static const struct among a_2[6]
Definition: english.cc:90
static const symbol s_8_0[5]
Definition: english.cc:222
static const symbol s_7_10[5]
Definition: english.cc:179
static const symbol s_4_4[4]
Definition: english.cc:112
static const symbol s_6_5[2]
Definition: english.cc:145
static const symbol s_27[]
Definition: english.cc:41
static const symbol s_9_12[2]
Definition: english.cc:255
static const symbol s_7_18[7]
Definition: english.cc:187
static const symbol s_3_0[4]
Definition: english.cc:99
static const symbol s_6[]
Definition: english.cc:20
static const symbol s_7_1[4]
Definition: english.cc:170
static const symbol s_6_8[2]
Definition: english.cc:148
static const symbol s_21[]
Definition: english.cc:35
static const symbol s_3[]
Definition: english.cc:17
static const symbol s_9_10[3]
Definition: english.cc:253
static const symbol s_37[]
Definition: english.cc:51
static const symbol s_7_14[6]
Definition: english.cc:183
static const struct among a_3[3]
Definition: english.cc:102
static const symbol s_8_3[5]
Definition: english.cc:225
static const symbol s_7_6[4]
Definition: english.cc:175
static const symbol s_6_4[2]
Definition: english.cc:144
static const symbol s_7[]
Definition: english.cc:21
static const symbol s_7_16[5]
Definition: english.cc:185
static const symbol s_32[]
Definition: english.cc:46
static const symbol s_13[]
Definition: english.cc:27
static const symbol s_7_7[5]
Definition: english.cc:176
static const symbol s_7_24[5]
Definition: english.cc:193
static const symbol s_11_4[5]
Definition: english.cc:293
static const symbol s_20[]
Definition: english.cc:34
static const symbol s_8_5[6]
Definition: english.cc:227
static const symbol s_35[]
Definition: english.cc:49
static const struct among a_10[2]
Definition: english.cc:284
static const symbol s_9_3[4]
Definition: english.cc:246
static const symbol s_7_8[6]
Definition: english.cc:177
static const symbol s_19[]
Definition: english.cc:33
static const symbol s_23[]
Definition: english.cc:37
static const symbol s_5_3[3]
Definition: english.cc:127
static const unsigned char g_valid_LI[]
Definition: english.cc:328
static const symbol s_24[]
Definition: english.cc:38
static const symbol s_4_5[3]
Definition: english.cc:113
static const symbol s_11_11[5]
Definition: english.cc:300
static const unsigned char g_v_WXY[]
Definition: english.cc:326
static const symbol s_9_8[3]
Definition: english.cc:251
static const symbol s_2_0[3]
Definition: english.cc:84
static const symbol s_6_2[2]
Definition: english.cc:142
static const symbol s_11_14[4]
Definition: english.cc:303
static const symbol s_8_4[4]
Definition: english.cc:226
static const symbol s_9_15[3]
Definition: english.cc:258
static const symbol s_6_11[2]
Definition: english.cc:151
static const symbol s_9_9[2]
Definition: english.cc:252
static const symbol s_16[]
Definition: english.cc:30
static const symbol s_5_4[4]
Definition: english.cc:128
static const struct among a_0[9]
Definition: english.cc:63
static const symbol s_14[]
Definition: english.cc:28
static const symbol s_4_0[4]
Definition: english.cc:108
static const symbol s_22[]
Definition: english.cc:36
static const symbol s_11_0[5]
Definition: english.cc:289
static const symbol s_8_2[5]
Definition: english.cc:224
static const symbol s_4_6[1]
Definition: english.cc:114
static const symbol s_8_7[3]
Definition: english.cc:229
static const symbol s_9_11[3]
Definition: english.cc:254
static const symbol s_0_7[4]
Definition: english.cc:61
static const symbol s_10[]
Definition: english.cc:24
static const symbol s_8_1[5]
Definition: english.cc:223
Xapian::Internal::Snowball::English::SN_local SN_local
Definition: english.cc:10
static const struct among a_1[3]
Definition: english.cc:78
static const symbol s_2_4[2]
Definition: english.cc:88
static const unsigned char g_aeo[]
Definition: english.cc:322
static const symbol s_7_22[7]
Definition: english.cc:191
static const symbol s_1[]
Definition: english.cc:15
static const symbol s_5_5[5]
Definition: english.cc:129
static const symbol s_11_2[4]
Definition: english.cc:291
static const symbol s_11_7[4]
Definition: english.cc:296
static const symbol s_9_1[4]
Definition: english.cc:244
static const symbol s_9_14[3]
Definition: english.cc:257
static int r_shortv(struct SN_env *z)
Definition: english.cc:330
static const symbol s_6_7[2]
Definition: english.cc:147
static const symbol s_3_1[4]
Definition: english.cc:100
static const symbol s_7_0[4]
Definition: english.cc:169
static const symbol s_5_6[5]
Definition: english.cc:130
static const symbol s_31[]
Definition: english.cc:45
static const symbol s_1_0[1]
Definition: english.cc:75
static const symbol s_7_12[6]
Definition: english.cc:181
static const symbol s_2_2[3]
Definition: english.cc:86
static const symbol s_0_8[7]
Definition: english.cc:62
static const symbol s_11_3[6]
Definition: english.cc:292
static const struct among a_8[9]
Definition: english.cc:231
static const symbol s_11[]
Definition: english.cc:25
static const symbol s_12[]
Definition: english.cc:26
static const symbol s_6_1[2]
Definition: english.cc:141
static const symbol s_6_10[2]
Definition: english.cc:150
static const symbol s_36[]
Definition: english.cc:50
static const symbol s_6_3[2]
Definition: english.cc:143
static const symbol s_2_1[1]
Definition: english.cc:85
static const symbol s_2_3[4]
Definition: english.cc:87
static const symbol s_7_5[4]
Definition: english.cc:174
static const symbol s_9_7[3]
Definition: english.cc:250
static const symbol s_11_13[3]
Definition: english.cc:302
static const symbol s_7_20[4]
Definition: english.cc:189
static const symbol s_7_2[3]
Definition: english.cc:171
static const symbol s_7_4[3]
Definition: english.cc:173
static const symbol s_33[]
Definition: english.cc:47
static const symbol s_11_10[6]
Definition: english.cc:299
static const struct among a_4[7]
Definition: english.cc:115
static const symbol s_5_1[2]
Definition: english.cc:125
static const symbol s_7_17[5]
Definition: english.cc:186
static const symbol s_1_1[3]
Definition: english.cc:76
static const symbol s_9_17[5]
Definition: english.cc:260
static const symbol s_18[]
Definition: english.cc:32
static const symbol s_0_1[6]
Definition: english.cc:55
static const symbol s_17[]
Definition: english.cc:31
static const symbol s_8_6[7]
Definition: english.cc:228
static const struct among a_6[13]
Definition: english.cc:153
static const symbol s_5_2[3]
Definition: english.cc:126
static const symbol s_28[]
Definition: english.cc:42
static const symbol s_8_8[4]
Definition: english.cc:230
static const unsigned char g_v[]
Definition: english.cc:324
static const symbol s_11_5[6]
Definition: english.cc:294
static const symbol s_8[]
Definition: english.cc:22
static const symbol s_9[]
Definition: english.cc:23
static const symbol s_0_2[5]
Definition: english.cc:56
static const symbol s_5[]
Definition: english.cc:19
static const symbol s_11_9[4]
Definition: english.cc:298
static const symbol s_15[]
Definition: english.cc:29
static const symbol s_11_12[4]
Definition: english.cc:301
static const symbol s_4_2[3]
Definition: english.cc:110
static const symbol s_26[]
Definition: english.cc:40
static const symbol s_7_11[5]
Definition: english.cc:180
static const symbol s_9_5[3]
Definition: english.cc:248
static const symbol s_0[]
Definition: english.cc:14
static const symbol s_0_4[5]
Definition: english.cc:58
static const symbol s_34[]
Definition: english.cc:48
static const symbol s_11_6[4]
Definition: english.cc:295
int out_grouping_U(struct SN_env *z, const unsigned char *s, int min, int max, int repeat)
int in_grouping_U(struct SN_env *z, const unsigned char *s, int min, int max, int repeat)
SNOWBALL_ERR slice_from_s(struct SN_env *z, int s_size, const symbol *s)
int find_among_b(struct SN_env *z, const struct among *v, int v_size, int(*call_among_func)(struct SN_env *))
int in_grouping_b_U(struct SN_env *z, const unsigned char *s, int min, int max, int repeat)
int skip_b_utf8(const symbol *p, int c, int limit, int n)
int eq_s_b(struct SN_env *z, int s_size, const symbol *s)
SNOWBALL_ERR slice_del(struct SN_env *z)
int out_grouping_b_U(struct SN_env *z, const unsigned char *s, int min, int max, int repeat)
int skip_utf8(const symbol *p, int c, int limit, int n)
int find_among(struct SN_env *z, const struct among *v, int v_size, int(*call_among_func)(struct SN_env *))
Definition: api.h:12
int lb
Definition: api.h:14
symbol * p
Definition: api.h:13
int ket
Definition: api.h:14
int c
Definition: api.h:14
int bra
Definition: api.h:14
int l
Definition: api.h:14
Definition: header.h:295