1 /* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
2 
3 
4 #include <config.h>
5 #include <limits.h>
6 #include "earlyenglish.h"
7 
8 #define s_0_0 (s_0_1 + 2)
9 static const symbol s_pool[] = {
10 #define s_0_1 0
11 'i', 'e', 's',
12 #define s_0_2 3
13 's', 's', 'e', 's',
14 #define s_0_3 s_0_2
15 #define s_1_1 7
16 'b', 'b',
17 #define s_1_2 9
18 'd', 'd',
19 #define s_1_3 11
20 'f', 'f',
21 #define s_1_4 13
22 'g', 'g',
23 #define s_1_5 15
24 'b', 'l',
25 #define s_1_6 17
26 'm', 'm',
27 #define s_1_7 19
28 'n', 'n',
29 #define s_1_8 21
30 'p', 'p',
31 #define s_1_9 23
32 'r', 'r',
33 #define s_1_10 25
34 'a', 't',
35 #define s_1_11 27
36 't', 't',
37 #define s_1_12 29
38 'i', 'z',
39 #define s_2_0 (s_2_1 + 1)
40 #define s_2_1 31
41 'e', 'e', 'd',
42 #define s_2_2 34
43 'i', 'n', 'g',
44 #define s_2_3 37
45 'e', 't', 'h',
46 #define s_2_4 40
47 'e', 's', 't',
48 #define s_3_0 43
49 'a', 'n', 'c', 'i',
50 #define s_3_1 47
51 'e', 'n', 'c', 'i',
52 #define s_3_2 51
53 'a', 'b', 'l', 'i',
54 #define s_3_3 55
55 'e', 'l', 'i',
56 #define s_3_4 58
57 'a', 'l', 'l', 'i',
58 #define s_3_5 62
59 'o', 'u', 's', 'l', 'i',
60 #define s_3_6 67
61 'e', 'n', 't', 'l', 'i',
62 #define s_3_7 72
63 'a', 'l', 'i', 't', 'i',
64 #define s_3_8 77
65 'b', 'i', 'l', 'i', 't', 'i',
66 #define s_3_9 83
67 'i', 'v', 'i', 't', 'i',
68 #define s_3_10 (s_3_11 + 1)
69 #define s_3_11 88
70 'a', 't', 'i', 'o', 'n', 'a', 'l',
71 #define s_3_12 95
72 'a', 'l', 'i', 's', 'm',
73 #define s_3_13 s_3_11
74 #define s_3_14 100
75 'i', 'z', 'a', 't', 'i', 'o', 'n',
76 #define s_3_15 107
77 'i', 'z', 'e', 'r',
78 #define s_3_16 111
79 'a', 't', 'o', 'r',
80 #define s_3_17 115
81 'i', 'v', 'e', 'n', 'e', 's', 's',
82 #define s_3_18 122
83 'f', 'u', 'l', 'n', 'e', 's', 's',
84 #define s_3_19 129
85 'o', 'u', 's', 'n', 'e', 's', 's',
86 #define s_4_0 136
87 'i', 'c', 'a', 't', 'e',
88 #define s_4_1 141
89 'a', 't', 'i', 'v', 'e',
90 #define s_4_2 146
91 'a', 'l', 'i', 'z', 'e',
92 #define s_4_3 151
93 'i', 'c', 'i', 't', 'i',
94 #define s_4_4 156
95 'i', 'c', 'a', 'l',
96 #define s_4_5 160
97 'f', 'u', 'l',
98 #define s_4_6 163
99 'n', 'e', 's', 's',
100 #define s_5_0 167
101 'i', 'c',
102 #define s_5_1 169
103 'a', 'n', 'c', 'e',
104 #define s_5_2 173
105 'e', 'n', 'c', 'e',
106 #define s_5_3 177
107 'a', 'b', 'l', 'e',
108 #define s_5_4 181
109 'i', 'b', 'l', 'e',
110 #define s_5_5 185
111 'a', 't', 'e',
112 #define s_5_6 188
113 'i', 'v', 'e',
114 #define s_5_7 191
115 'i', 'z', 'e',
116 #define s_5_8 194
117 'i', 't', 'i',
118 #define s_5_9 197
119 'a', 'l',
120 #define s_5_10 199
121 'i', 's', 'm',
122 #define s_5_11 202
123 'i', 'o', 'n',
124 #define s_5_12 205
125 'e', 'r',
126 #define s_5_13 207
127 'o', 'u', 's',
128 #define s_5_14 210
129 'a', 'n', 't',
130 #define s_5_15 (s_5_16 + 1)
131 #define s_5_16 (s_5_17 + 1)
132 #define s_5_17 213
133 'e', 'm', 'e', 'n', 't',
134 #define s_5_18 s_5_13
135 };
136 
137 
138 static const struct among a_0[4] =
139 {
140 /*  0 */ { 1, s_0_0, -1, 3},
141 /*  1 */ { 3, s_0_1, 0, 2},
142 /*  2 */ { 4, s_0_2, 0, 1},
143 /*  3 */ { 2, s_0_3, 0, -1}
144 };
145 
146 
147 static const struct among a_1[13] =
148 {
149 /*  0 */ { 0, 0, -1, 3},
150 /*  1 */ { 2, s_1_1, 0, 2},
151 /*  2 */ { 2, s_1_2, 0, 2},
152 /*  3 */ { 2, s_1_3, 0, 2},
153 /*  4 */ { 2, s_1_4, 0, 2},
154 /*  5 */ { 2, s_1_5, 0, 1},
155 /*  6 */ { 2, s_1_6, 0, 2},
156 /*  7 */ { 2, s_1_7, 0, 2},
157 /*  8 */ { 2, s_1_8, 0, 2},
158 /*  9 */ { 2, s_1_9, 0, 2},
159 /* 10 */ { 2, s_1_10, 0, 1},
160 /* 11 */ { 2, s_1_11, 0, 2},
161 /* 12 */ { 2, s_1_12, 0, 1}
162 };
163 
164 
165 static const struct among a_2[5] =
166 {
167 /*  0 */ { 2, s_2_0, -1, 2},
168 /*  1 */ { 3, s_2_1, 0, 1},
169 /*  2 */ { 3, s_2_2, -1, 2},
170 /*  3 */ { 3, s_2_3, -1, 2},
171 /*  4 */ { 3, s_2_4, -1, 2}
172 };
173 
174 
175 static const struct among a_3[20] =
176 {
177 /*  0 */ { 4, s_3_0, -1, 3},
178 /*  1 */ { 4, s_3_1, -1, 2},
179 /*  2 */ { 4, s_3_2, -1, 4},
180 /*  3 */ { 3, s_3_3, -1, 6},
181 /*  4 */ { 4, s_3_4, -1, 9},
182 /*  5 */ { 5, s_3_5, -1, 11},
183 /*  6 */ { 5, s_3_6, -1, 5},
184 /*  7 */ { 5, s_3_7, -1, 9},
185 /*  8 */ { 6, s_3_8, -1, 13},
186 /*  9 */ { 5, s_3_9, -1, 12},
187 /* 10 */ { 6, s_3_10, -1, 1},
188 /* 11 */ { 7, s_3_11, 10, 8},
189 /* 12 */ { 5, s_3_12, -1, 9},
190 /* 13 */ { 5, s_3_13, -1, 8},
191 /* 14 */ { 7, s_3_14, 13, 7},
192 /* 15 */ { 4, s_3_15, -1, 7},
193 /* 16 */ { 4, s_3_16, -1, 8},
194 /* 17 */ { 7, s_3_17, -1, 12},
195 /* 18 */ { 7, s_3_18, -1, 10},
196 /* 19 */ { 7, s_3_19, -1, 11}
197 };
198 
199 
200 static const struct among a_4[7] =
201 {
202 /*  0 */ { 5, s_4_0, -1, 2},
203 /*  1 */ { 5, s_4_1, -1, 3},
204 /*  2 */ { 5, s_4_2, -1, 1},
205 /*  3 */ { 5, s_4_3, -1, 2},
206 /*  4 */ { 4, s_4_4, -1, 2},
207 /*  5 */ { 3, s_4_5, -1, 3},
208 /*  6 */ { 4, s_4_6, -1, 3}
209 };
210 
211 
212 static const struct among a_5[19] =
213 {
214 /*  0 */ { 2, s_5_0, -1, 1},
215 /*  1 */ { 4, s_5_1, -1, 1},
216 /*  2 */ { 4, s_5_2, -1, 1},
217 /*  3 */ { 4, s_5_3, -1, 1},
218 /*  4 */ { 4, s_5_4, -1, 1},
219 /*  5 */ { 3, s_5_5, -1, 1},
220 /*  6 */ { 3, s_5_6, -1, 1},
221 /*  7 */ { 3, s_5_7, -1, 1},
222 /*  8 */ { 3, s_5_8, -1, 1},
223 /*  9 */ { 2, s_5_9, -1, 1},
224 /* 10 */ { 3, s_5_10, -1, 1},
225 /* 11 */ { 3, s_5_11, -1, 2},
226 /* 12 */ { 2, s_5_12, -1, 1},
227 /* 13 */ { 3, s_5_13, -1, 1},
228 /* 14 */ { 3, s_5_14, -1, 1},
229 /* 15 */ { 3, s_5_15, -1, 1},
230 /* 16 */ { 4, s_5_16, 15, 1},
231 /* 17 */ { 5, s_5_17, 16, 1},
232 /* 18 */ { 2, s_5_18, -1, 1}
233 };
234 
235 static const unsigned char g_v[] = { 17, 65, 16, 1 };
236 
237 static const unsigned char g_v_WXY[] = { 1, 17, 65, 208, 1 };
238 
239 static const symbol s_0[] = { 's', 's' };
240 static const symbol s_1[] = { 'i' };
241 static const symbol s_2[] = { 'e', 'e' };
242 static const symbol s_3[] = { 'e' };
243 static const symbol s_4[] = { 'e' };
244 static const symbol s_5[] = { 'i' };
245 static const symbol s_6[] = { 't', 'i', 'o', 'n' };
246 static const symbol s_7[] = { 'e', 'n', 'c', 'e' };
247 static const symbol s_8[] = { 'a', 'n', 'c', 'e' };
248 static const symbol s_9[] = { 'a', 'b', 'l', 'e' };
249 static const symbol s_10[] = { 'e', 'n', 't' };
250 static const symbol s_11[] = { 'e' };
251 static const symbol s_12[] = { 'i', 'z', 'e' };
252 static const symbol s_13[] = { 'a', 't', 'e' };
253 static const symbol s_14[] = { 'a', 'l' };
254 static const symbol s_15[] = { 'f', 'u', 'l' };
255 static const symbol s_16[] = { 'o', 'u', 's' };
256 static const symbol s_17[] = { 'i', 'v', 'e' };
257 static const symbol s_18[] = { 'b', 'l', 'e' };
258 static const symbol s_19[] = { 'a', 'l' };
259 static const symbol s_20[] = { 'i', 'c' };
260 static const symbol s_21[] = { 'Y' };
261 static const symbol s_22[] = { 'Y' };
262 static const symbol s_23[] = { 'y' };
263 
r_shortv()264 int Xapian::InternalStemEarlyenglish::r_shortv() {
265     if (out_grouping_b_U(g_v_WXY, 89, 121, 0)) return 0;
266     if (in_grouping_b_U(g_v, 97, 121, 0)) return 0;
267     if (out_grouping_b_U(g_v, 97, 121, 0)) return 0;
268     return 1;
269 }
270 
r_R1()271 int Xapian::InternalStemEarlyenglish::r_R1() {
272     if (!(I_p1 <= c)) return 0;
273     return 1;
274 }
275 
r_R2()276 int Xapian::InternalStemEarlyenglish::r_R2() {
277     if (!(I_p2 <= c)) return 0;
278     return 1;
279 }
280 
r_Step_1a()281 int Xapian::InternalStemEarlyenglish::r_Step_1a() {
282     int among_var;
283     ket = c;
284     if (c <= lb || p[c - 1] != 115) return 0;
285     among_var = find_among_b(s_pool, a_0, 4, 0, 0);
286     if (!(among_var)) return 0;
287     bra = c;
288     switch (among_var) {
289         case 1:
290             {   int ret = slice_from_s(2, s_0);
291                 if (ret < 0) return ret;
292             }
293             break;
294         case 2:
295             {   int ret = slice_from_s(1, s_1);
296                 if (ret < 0) return ret;
297             }
298             break;
299         case 3:
300             {   int ret = slice_del();
301                 if (ret < 0) return ret;
302             }
303             break;
304     }
305     return 1;
306 }
307 
r_Step_1b()308 int Xapian::InternalStemEarlyenglish::r_Step_1b() {
309     int among_var;
310     ket = c;
311     if (c - 1 <= lb || p[c - 1] >> 5 != 3 || !((1048976 >> (p[c - 1] & 0x1f)) & 1)) return 0;
312     among_var = find_among_b(s_pool, a_2, 5, 0, 0);
313     if (!(among_var)) return 0;
314     bra = c;
315     switch (among_var) {
316         case 1:
317             {   int ret = r_R1();
318                 if (ret <= 0) return ret;
319             }
320             {   int ret = slice_from_s(2, s_2);
321                 if (ret < 0) return ret;
322             }
323             break;
324         case 2:
325             {   int m_test1 = l - c;
326                 {
327                     int ret = out_grouping_b_U(g_v, 97, 121, 1);
328                     if (ret < 0) return 0;
329                     c -= ret;
330                 }
331                 c = l - m_test1;
332             }
333             {   int ret = slice_del();
334                 if (ret < 0) return ret;
335             }
336             {   int m_test2 = l - c;
337                 if (c - 1 <= lb || p[c - 1] >> 5 != 3 || !((68514004 >> (p[c - 1] & 0x1f)) & 1)) among_var = 3; else
338                 among_var = find_among_b(s_pool, a_1, 13, 0, 0);
339                 if (!(among_var)) return 0;
340                 c = l - m_test2;
341             }
342             switch (among_var) {
343                 case 1:
344                     {   int saved_c = c;
345                         insert_s(c, c, 1, s_3);
346                         c = saved_c;
347                     }
348                     break;
349                 case 2:
350                     ket = c;
351                     {   int ret = skip_utf8(p, c, lb, 0, -1);
352                         if (ret < 0) return 0;
353                         c = ret;
354                     }
355                     bra = c;
356                     {   int ret = slice_del();
357                         if (ret < 0) return ret;
358                     }
359                     break;
360                 case 3:
361                     if (c != I_p1) return 0;
362                     {   int m_test3 = l - c;
363                         {   int ret = r_shortv();
364                             if (ret <= 0) return ret;
365                         }
366                         c = l - m_test3;
367                     }
368                     {   int saved_c = c;
369                         insert_s(c, c, 1, s_4);
370                         c = saved_c;
371                     }
372                     break;
373             }
374             break;
375     }
376     return 1;
377 }
378 
r_Step_1c()379 int Xapian::InternalStemEarlyenglish::r_Step_1c() {
380     ket = c;
381     {   int m1 = l - c; (void)m1;
382         if (c <= lb || p[c - 1] != 'y') goto lab1;
383         c--;
384         goto lab0;
385     lab1:
386         c = l - m1;
387         if (c <= lb || p[c - 1] != 'Y') return 0;
388         c--;
389     }
390 lab0:
391     bra = c;
392     {
393         int ret = out_grouping_b_U(g_v, 97, 121, 1);
394         if (ret < 0) return 0;
395         c -= ret;
396     }
397     {   int ret = slice_from_s(1, s_5);
398         if (ret < 0) return ret;
399     }
400     return 1;
401 }
402 
r_Step_2()403 int Xapian::InternalStemEarlyenglish::r_Step_2() {
404     int among_var;
405     ket = c;
406     if (c - 2 <= lb || p[c - 1] >> 5 != 3 || !((815616 >> (p[c - 1] & 0x1f)) & 1)) return 0;
407     among_var = find_among_b(s_pool, a_3, 20, 0, 0);
408     if (!(among_var)) return 0;
409     bra = c;
410     {   int ret = r_R1();
411         if (ret <= 0) return ret;
412     }
413     switch (among_var) {
414         case 1:
415             {   int ret = slice_from_s(4, s_6);
416                 if (ret < 0) return ret;
417             }
418             break;
419         case 2:
420             {   int ret = slice_from_s(4, s_7);
421                 if (ret < 0) return ret;
422             }
423             break;
424         case 3:
425             {   int ret = slice_from_s(4, s_8);
426                 if (ret < 0) return ret;
427             }
428             break;
429         case 4:
430             {   int ret = slice_from_s(4, s_9);
431                 if (ret < 0) return ret;
432             }
433             break;
434         case 5:
435             {   int ret = slice_from_s(3, s_10);
436                 if (ret < 0) return ret;
437             }
438             break;
439         case 6:
440             {   int ret = slice_from_s(1, s_11);
441                 if (ret < 0) return ret;
442             }
443             break;
444         case 7:
445             {   int ret = slice_from_s(3, s_12);
446                 if (ret < 0) return ret;
447             }
448             break;
449         case 8:
450             {   int ret = slice_from_s(3, s_13);
451                 if (ret < 0) return ret;
452             }
453             break;
454         case 9:
455             {   int ret = slice_from_s(2, s_14);
456                 if (ret < 0) return ret;
457             }
458             break;
459         case 10:
460             {   int ret = slice_from_s(3, s_15);
461                 if (ret < 0) return ret;
462             }
463             break;
464         case 11:
465             {   int ret = slice_from_s(3, s_16);
466                 if (ret < 0) return ret;
467             }
468             break;
469         case 12:
470             {   int ret = slice_from_s(3, s_17);
471                 if (ret < 0) return ret;
472             }
473             break;
474         case 13:
475             {   int ret = slice_from_s(3, s_18);
476                 if (ret < 0) return ret;
477             }
478             break;
479     }
480     return 1;
481 }
482 
r_Step_3()483 int Xapian::InternalStemEarlyenglish::r_Step_3() {
484     int among_var;
485     ket = c;
486     if (c - 2 <= lb || p[c - 1] >> 5 != 3 || !((528928 >> (p[c - 1] & 0x1f)) & 1)) return 0;
487     among_var = find_among_b(s_pool, a_4, 7, 0, 0);
488     if (!(among_var)) return 0;
489     bra = c;
490     {   int ret = r_R1();
491         if (ret <= 0) return ret;
492     }
493     switch (among_var) {
494         case 1:
495             {   int ret = slice_from_s(2, s_19);
496                 if (ret < 0) return ret;
497             }
498             break;
499         case 2:
500             {   int ret = slice_from_s(2, s_20);
501                 if (ret < 0) return ret;
502             }
503             break;
504         case 3:
505             {   int ret = slice_del();
506                 if (ret < 0) return ret;
507             }
508             break;
509     }
510     return 1;
511 }
512 
r_Step_4()513 int Xapian::InternalStemEarlyenglish::r_Step_4() {
514     int among_var;
515     ket = c;
516     if (c - 1 <= lb || p[c - 1] >> 5 != 3 || !((3961384 >> (p[c - 1] & 0x1f)) & 1)) return 0;
517     among_var = find_among_b(s_pool, a_5, 19, 0, 0);
518     if (!(among_var)) return 0;
519     bra = c;
520     {   int ret = r_R2();
521         if (ret <= 0) return ret;
522     }
523     switch (among_var) {
524         case 1:
525             {   int ret = slice_del();
526                 if (ret < 0) return ret;
527             }
528             break;
529         case 2:
530             {   int m1 = l - c; (void)m1;
531                 if (c <= lb || p[c - 1] != 's') goto lab1;
532                 c--;
533                 goto lab0;
534             lab1:
535                 c = l - m1;
536                 if (c <= lb || p[c - 1] != 't') return 0;
537                 c--;
538             }
539         lab0:
540             {   int ret = slice_del();
541                 if (ret < 0) return ret;
542             }
543             break;
544     }
545     return 1;
546 }
547 
r_Step_5a()548 int Xapian::InternalStemEarlyenglish::r_Step_5a() {
549     ket = c;
550     if (c <= lb || p[c - 1] != 'e') return 0;
551     c--;
552     bra = c;
553     {   int m1 = l - c; (void)m1;
554         {   int ret = r_R2();
555             if (ret == 0) goto lab1;
556             if (ret < 0) return ret;
557         }
558         goto lab0;
559     lab1:
560         c = l - m1;
561         {   int ret = r_R1();
562             if (ret <= 0) return ret;
563         }
564         {   int m2 = l - c; (void)m2;
565             {   int ret = r_shortv();
566                 if (ret == 0) goto lab2;
567                 if (ret < 0) return ret;
568             }
569             return 0;
570         lab2:
571             c = l - m2;
572         }
573     }
574 lab0:
575     {   int ret = slice_del();
576         if (ret < 0) return ret;
577     }
578     return 1;
579 }
580 
r_Step_5b()581 int Xapian::InternalStemEarlyenglish::r_Step_5b() {
582     ket = c;
583     if (c <= lb || p[c - 1] != 'l') return 0;
584     c--;
585     bra = c;
586     {   int ret = r_R2();
587         if (ret <= 0) return ret;
588     }
589     if (c <= lb || p[c - 1] != 'l') return 0;
590     c--;
591     {   int ret = slice_del();
592         if (ret < 0) return ret;
593     }
594     return 1;
595 }
596 
stem()597 int Xapian::InternalStemEarlyenglish::stem() {
598     I_Y_found = 0;
599     {   int c1 = c;
600         bra = c;
601         if (c == l || p[c] != 'y') goto lab0;
602         c++;
603         ket = c;
604         {   int ret = slice_from_s(1, s_21);
605             if (ret < 0) return ret;
606         }
607         I_Y_found = 1;
608     lab0:
609         c = c1;
610     }
611     {   int c2 = c;
612         while(1) {
613             int c3 = c;
614             while(1) {
615                 int c4 = c;
616                 if (in_grouping_U(g_v, 97, 121, 0)) goto lab3;
617                 bra = c;
618                 if (c == l || p[c] != 'y') goto lab3;
619                 c++;
620                 ket = c;
621                 c = c4;
622                 break;
623             lab3:
624                 c = c4;
625                 {   int ret = skip_utf8(p, c, 0, l, 1);
626                     if (ret < 0) goto lab2;
627                     c = ret;
628                 }
629             }
630             {   int ret = slice_from_s(1, s_22);
631                 if (ret < 0) return ret;
632             }
633             I_Y_found = 1;
634             continue;
635         lab2:
636             c = c3;
637             break;
638         }
639         c = c2;
640     }
641     I_p1 = l;
642     I_p2 = l;
643     {   int c5 = c;
644         {
645             int ret = out_grouping_U(g_v, 97, 121, 1);
646             if (ret < 0) goto lab4;
647             c += ret;
648         }
649         {
650             int ret = in_grouping_U(g_v, 97, 121, 1);
651             if (ret < 0) goto lab4;
652             c += ret;
653         }
654         I_p1 = c;
655         {
656             int ret = out_grouping_U(g_v, 97, 121, 1);
657             if (ret < 0) goto lab4;
658             c += ret;
659         }
660         {
661             int ret = in_grouping_U(g_v, 97, 121, 1);
662             if (ret < 0) goto lab4;
663             c += ret;
664         }
665         I_p2 = c;
666     lab4:
667         c = c5;
668     }
669     lb = c; c = l;
670 
671     {   int m6 = l - c; (void)m6;
672         {   int ret = r_Step_1a();
673             if (ret < 0) return ret;
674         }
675         c = l - m6;
676     }
677     {   int m7 = l - c; (void)m7;
678         {   int ret = r_Step_1b();
679             if (ret < 0) return ret;
680         }
681         c = l - m7;
682     }
683     {   int m8 = l - c; (void)m8;
684         {   int ret = r_Step_1c();
685             if (ret < 0) return ret;
686         }
687         c = l - m8;
688     }
689     {   int m9 = l - c; (void)m9;
690         {   int ret = r_Step_2();
691             if (ret < 0) return ret;
692         }
693         c = l - m9;
694     }
695     {   int m10 = l - c; (void)m10;
696         {   int ret = r_Step_3();
697             if (ret < 0) return ret;
698         }
699         c = l - m10;
700     }
701     {   int m11 = l - c; (void)m11;
702         {   int ret = r_Step_4();
703             if (ret < 0) return ret;
704         }
705         c = l - m11;
706     }
707     {   int m12 = l - c; (void)m12;
708         {   int ret = r_Step_5a();
709             if (ret < 0) return ret;
710         }
711         c = l - m12;
712     }
713     {   int m13 = l - c; (void)m13;
714         {   int ret = r_Step_5b();
715             if (ret < 0) return ret;
716         }
717         c = l - m13;
718     }
719     c = lb;
720     {   int c14 = c;
721         if (!(I_Y_found)) goto lab5;
722         while(1) {
723             int c15 = c;
724             while(1) {
725                 int c16 = c;
726                 bra = c;
727                 if (c == l || p[c] != 'Y') goto lab7;
728                 c++;
729                 ket = c;
730                 c = c16;
731                 break;
732             lab7:
733                 c = c16;
734                 {   int ret = skip_utf8(p, c, 0, l, 1);
735                     if (ret < 0) goto lab6;
736                     c = ret;
737                 }
738             }
739             {   int ret = slice_from_s(1, s_23);
740                 if (ret < 0) return ret;
741             }
742             continue;
743         lab6:
744             c = c15;
745             break;
746         }
747     lab5:
748         c = c14;
749     }
750     return 1;
751 }
752 
InternalStemEarlyenglish()753 Xapian::InternalStemEarlyenglish::InternalStemEarlyenglish()
754     : I_Y_found(0), I_p2(0), I_p1(0)
755 {
756 }
757 
~InternalStemEarlyenglish()758 Xapian::InternalStemEarlyenglish::~InternalStemEarlyenglish()
759 {
760 }
761 
762 std::string
get_description() const763 Xapian::InternalStemEarlyenglish::get_description() const
764 {
765     return "earlyenglish";
766 }
767