1 /* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
2 
3 
4 #include <config.h>
5 #include <limits.h>
6 #include "kraaij_pohlmann.h"
7 
8 static const symbol s_pool[] = {
9 #define s_0_0 0
10 'n', 'd', 'e',
11 #define s_0_1 3
12 'e', 'n',
13 #define s_0_2 (s_0_3 + 1)
14 #define s_0_3 5
15 '\'', 's',
16 #define s_0_4 (s_0_5 + 1)
17 #define s_0_5 7
18 'i', 'e', 's',
19 #define s_0_6 10
20 'a', 'u', 's',
21 #define s_1_0 13
22 'd', 'e',
23 #define s_1_1 15
24 'g', 'e',
25 #define s_1_2 17
26 'i', 's', 'c', 'h', 'e',
27 #define s_1_3 22
28 'j', 'e',
29 #define s_1_4 24
30 'l', 'i', 'j', 'k', 'e',
31 #define s_1_5 29
32 'l', 'e',
33 #define s_1_6 31
34 'e', 'n', 'e',
35 #define s_1_7 34
36 'r', 'e',
37 #define s_1_8 36
38 's', 'e',
39 #define s_1_9 38
40 't', 'e',
41 #define s_1_10 40
42 'i', 'e', 'v', 'e',
43 #define s_2_0 44
44 'h', 'e', 'i', 'd',
45 #define s_2_1 48
46 'f', 'i', 'e',
47 #define s_2_2 51
48 'g', 'i', 'e',
49 #define s_2_3 54
50 'a', 't', 'i', 'e',
51 #define s_2_4 58
52 'i', 's', 'm', 'e',
53 #define s_2_5 62
54 'i', 'n', 'g',
55 #define s_2_6 65
56 'a', 'r', 'i', 'j',
57 #define s_2_7 69
58 'e', 'r', 'i', 'j',
59 #define s_2_8 73
60 's', 'e', 'l',
61 #define s_2_9 76
62 'r', 'd', 'e', 'r',
63 #define s_2_10 80
64 's', 't', 'e', 'r',
65 #define s_2_11 84
66 'i', 't', 'e', 'i', 't',
67 #define s_2_12 89
68 'd', 's', 't',
69 #define s_2_13 92
70 't', 's', 't',
71 #define s_3_0 95
72 'e', 'n', 'd',
73 #define s_3_1 98
74 'a', 't', 'i', 'e', 'f',
75 #define s_3_2 s_3_9
76 #define s_3_3 s_3_10
77 #define s_3_4 103
78 'i', 'o', 'n', 'e', 'e', 'l',
79 #define s_3_5 109
80 'b', 'a', 'a', 'r',
81 #define s_3_6 113
82 'l', 'a', 'a', 'r',
83 #define s_3_7 117
84 'n', 'a', 'a', 'r',
85 #define s_3_8 121
86 'r', 'a', 'a', 'r',
87 #define s_3_9 125
88 'e', 'r', 'i', 'g', 'e', 'r',
89 #define s_3_10 131
90 'a', 'c', 'h', 't', 'i', 'g', 'e', 'r',
91 #define s_3_11 139
92 'l', 'i', 'j', 'k', 'e', 'r',
93 #define s_3_12 145
94 't', 'a', 'n', 't',
95 #define s_3_13 149
96 'e', 'r', 'i', 'g', 's', 't',
97 #define s_3_14 155
98 'a', 'c', 'h', 't', 'i', 'g', 's', 't',
99 #define s_3_15 163
100 'l', 'i', 'j', 'k', 's', 't',
101 #define s_4_0 s_4_1
102 #define s_4_1 169
103 'i', 'g', 'e', 'r',
104 #define s_4_2 173
105 'i', 'g', 's', 't',
106 #define s_5_0 177
107 'f', 't',
108 #define s_5_1 179
109 'k', 't',
110 #define s_5_2 181
111 'p', 't',
112 #define s_6_0 183
113 'b', 'b',
114 #define s_6_1 185
115 'c', 'c',
116 #define s_6_2 187
117 'd', 'd',
118 #define s_6_3 189
119 'f', 'f',
120 #define s_6_4 191
121 'g', 'g',
122 #define s_6_5 193
123 'h', 'h',
124 #define s_6_6 195
125 'j', 'j',
126 #define s_6_7 197
127 'k', 'k',
128 #define s_6_8 199
129 'l', 'l',
130 #define s_6_9 201
131 'm', 'm',
132 #define s_6_10 203
133 'n', 'n',
134 #define s_6_11 205
135 'p', 'p',
136 #define s_6_12 207
137 'q', 'q',
138 #define s_6_13 209
139 'r', 'r',
140 #define s_6_14 211
141 's', 's',
142 #define s_6_15 213
143 't', 't',
144 #define s_6_16 (s_6_17 + 1)
145 #define s_6_17 215
146 'v', 'v',
147 #define s_6_18 217
148 'w', 'w',
149 #define s_6_19 219
150 'x', 'x',
151 #define s_6_20 (s_6_21 + 1)
152 #define s_6_21 221
153 'z', 'z',
154 #define s_7_0 223
155 'd',
156 #define s_7_1 224
157 't',
158 };
159 
160 
161 static const struct among a_0[7] =
162 {
163 /*  0 */ { 3, s_0_0, -1, 7},
164 /*  1 */ { 2, s_0_1, -1, 6},
165 /*  2 */ { 1, s_0_2, -1, 2},
166 /*  3 */ { 2, s_0_3, 2, 1},
167 /*  4 */ { 2, s_0_4, 2, 4},
168 /*  5 */ { 3, s_0_5, 4, 3},
169 /*  6 */ { 3, s_0_6, 2, 5}
170 };
171 
172 
173 static const struct among a_1[11] =
174 {
175 /*  0 */ { 2, s_1_0, -1, 5},
176 /*  1 */ { 2, s_1_1, -1, 2},
177 /*  2 */ { 5, s_1_2, -1, 4},
178 /*  3 */ { 2, s_1_3, -1, 1},
179 /*  4 */ { 5, s_1_4, -1, 3},
180 /*  5 */ { 2, s_1_5, -1, 9},
181 /*  6 */ { 3, s_1_6, -1, 10},
182 /*  7 */ { 2, s_1_7, -1, 8},
183 /*  8 */ { 2, s_1_8, -1, 7},
184 /*  9 */ { 2, s_1_9, -1, 6},
185 /* 10 */ { 4, s_1_10, -1, 11}
186 };
187 
188 
189 static const struct among a_2[14] =
190 {
191 /*  0 */ { 4, s_2_0, -1, 3},
192 /*  1 */ { 3, s_2_1, -1, 6},
193 /*  2 */ { 3, s_2_2, -1, 7},
194 /*  3 */ { 4, s_2_3, -1, 1},
195 /*  4 */ { 4, s_2_4, -1, 2},
196 /*  5 */ { 3, s_2_5, -1, 2},
197 /*  6 */ { 4, s_2_6, -1, 5},
198 /*  7 */ { 4, s_2_7, -1, 2},
199 /*  8 */ { 3, s_2_8, -1, 3},
200 /*  9 */ { 4, s_2_9, -1, 4},
201 /* 10 */ { 4, s_2_10, -1, 3},
202 /* 11 */ { 5, s_2_11, -1, 2},
203 /* 12 */ { 3, s_2_12, -1, 9},
204 /* 13 */ { 3, s_2_13, -1, 8}
205 };
206 
207 
208 static const struct among a_3[16] =
209 {
210 /*  0 */ { 3, s_3_0, -1, 9},
211 /*  1 */ { 5, s_3_1, -1, 2},
212 /*  2 */ { 4, s_3_2, -1, 9},
213 /*  3 */ { 6, s_3_3, -1, 3},
214 /*  4 */ { 6, s_3_4, -1, 1},
215 /*  5 */ { 4, s_3_5, -1, 3},
216 /*  6 */ { 4, s_3_6, -1, 5},
217 /*  7 */ { 4, s_3_7, -1, 4},
218 /*  8 */ { 4, s_3_8, -1, 6},
219 /*  9 */ { 6, s_3_9, -1, 9},
220 /* 10 */ { 8, s_3_10, -1, 3},
221 /* 11 */ { 6, s_3_11, -1, 8},
222 /* 12 */ { 4, s_3_12, -1, 7},
223 /* 13 */ { 6, s_3_13, -1, 9},
224 /* 14 */ { 8, s_3_14, -1, 3},
225 /* 15 */ { 6, s_3_15, -1, 8}
226 };
227 
228 
229 static const struct among a_4[3] =
230 {
231 /*  0 */ { 2, s_4_0, -1, 1},
232 /*  1 */ { 4, s_4_1, -1, 1},
233 /*  2 */ { 4, s_4_2, -1, 1}
234 };
235 
236 
237 static const struct among a_5[3] =
238 {
239 /*  0 */ { 2, s_5_0, -1, 2},
240 /*  1 */ { 2, s_5_1, -1, 1},
241 /*  2 */ { 2, s_5_2, -1, 3}
242 };
243 
244 
245 static const struct among a_6[22] =
246 {
247 /*  0 */ { 2, s_6_0, -1, 1},
248 /*  1 */ { 2, s_6_1, -1, 2},
249 /*  2 */ { 2, s_6_2, -1, 3},
250 /*  3 */ { 2, s_6_3, -1, 4},
251 /*  4 */ { 2, s_6_4, -1, 5},
252 /*  5 */ { 2, s_6_5, -1, 6},
253 /*  6 */ { 2, s_6_6, -1, 7},
254 /*  7 */ { 2, s_6_7, -1, 8},
255 /*  8 */ { 2, s_6_8, -1, 9},
256 /*  9 */ { 2, s_6_9, -1, 10},
257 /* 10 */ { 2, s_6_10, -1, 11},
258 /* 11 */ { 2, s_6_11, -1, 12},
259 /* 12 */ { 2, s_6_12, -1, 13},
260 /* 13 */ { 2, s_6_13, -1, 14},
261 /* 14 */ { 2, s_6_14, -1, 15},
262 /* 15 */ { 2, s_6_15, -1, 16},
263 /* 16 */ { 1, s_6_16, -1, 4},
264 /* 17 */ { 2, s_6_17, 16, 17},
265 /* 18 */ { 2, s_6_18, -1, 18},
266 /* 19 */ { 2, s_6_19, -1, 19},
267 /* 20 */ { 1, s_6_20, -1, 15},
268 /* 21 */ { 2, s_6_21, 20, 20}
269 };
270 
271 
272 static const struct among a_7[2] =
273 {
274 /*  0 */ { 1, s_7_0, -1, 1},
275 /*  1 */ { 1, s_7_1, -1, 2}
276 };
277 
278 static const unsigned char g_v[] = { 17, 65, 16, 1 };
279 
280 static const unsigned char g_v_WX[] = { 17, 65, 208, 1 };
281 
282 static const unsigned char g_AOU[] = { 1, 64, 16 };
283 
284 static const unsigned char g_AIOU[] = { 1, 65, 16 };
285 
286 static const symbol s_0[] = { 'i', 'j' };
287 static const symbol s_1[] = { 'i', 'j' };
288 static const symbol s_2[] = { 'i', 'j' };
289 static const symbol s_3[] = { 'i', 'e' };
290 static const symbol s_4[] = { 'a', 'r' };
291 static const symbol s_5[] = { 'e', 'r' };
292 static const symbol s_6[] = { 'e' };
293 static const symbol s_7[] = { 'a', 'u' };
294 static const symbol s_8[] = { 'h', 'e', 'd' };
295 static const symbol s_9[] = { 'h', 'e', 'i', 'd' };
296 static const symbol s_10[] = { 'n', 'd' };
297 static const symbol s_11[] = { 'n', 'd' };
298 static const symbol s_12[] = { '\'', 't' };
299 static const symbol s_13[] = { 'e', 't' };
300 static const symbol s_14[] = { 'r', 'n', 't' };
301 static const symbol s_15[] = { 'r', 'n' };
302 static const symbol s_16[] = { 'i', 'n', 'k' };
303 static const symbol s_17[] = { 'i', 'n', 'g' };
304 static const symbol s_18[] = { 'm', 'p' };
305 static const symbol s_19[] = { 'm' };
306 static const symbol s_20[] = { 'g' };
307 static const symbol s_21[] = { 'l', 'i', 'j', 'k' };
308 static const symbol s_22[] = { 'i', 's', 'c', 'h' };
309 static const symbol s_23[] = { 't' };
310 static const symbol s_24[] = { 's' };
311 static const symbol s_25[] = { 'r' };
312 static const symbol s_26[] = { 'l' };
313 static const symbol s_27[] = { 'e', 'n' };
314 static const symbol s_28[] = { 'i', 'e', 'f' };
315 static const symbol s_29[] = { 'e', 'e', 'r' };
316 static const symbol s_30[] = { 'r' };
317 static const symbol s_31[] = { 'a', 'a', 'r' };
318 static const symbol s_32[] = { 'f' };
319 static const symbol s_33[] = { 'g' };
320 static const symbol s_34[] = { 't' };
321 static const symbol s_35[] = { 'd' };
322 static const symbol s_36[] = { 'i', 'e' };
323 static const symbol s_37[] = { 'e', 'e', 'r' };
324 static const symbol s_38[] = { 'n' };
325 static const symbol s_39[] = { 'l' };
326 static const symbol s_40[] = { 'r' };
327 static const symbol s_41[] = { 't', 'e', 'e', 'r' };
328 static const symbol s_42[] = { 'l', 'i', 'j', 'k' };
329 static const symbol s_43[] = { 'k' };
330 static const symbol s_44[] = { 'f' };
331 static const symbol s_45[] = { 'p' };
332 static const symbol s_46[] = { 'b' };
333 static const symbol s_47[] = { 'c' };
334 static const symbol s_48[] = { 'd' };
335 static const symbol s_49[] = { 'f' };
336 static const symbol s_50[] = { 'g' };
337 static const symbol s_51[] = { 'h' };
338 static const symbol s_52[] = { 'j' };
339 static const symbol s_53[] = { 'k' };
340 static const symbol s_54[] = { 'l' };
341 static const symbol s_55[] = { 'm' };
342 static const symbol s_56[] = { 'n' };
343 static const symbol s_57[] = { 'p' };
344 static const symbol s_58[] = { 'q' };
345 static const symbol s_59[] = { 'r' };
346 static const symbol s_60[] = { 's' };
347 static const symbol s_61[] = { 't' };
348 static const symbol s_62[] = { 'v' };
349 static const symbol s_63[] = { 'w' };
350 static const symbol s_64[] = { 'x' };
351 static const symbol s_65[] = { 'z' };
352 static const symbol s_66[] = { 'g', 'e' };
353 static const symbol s_67[] = { 'g', 'e' };
354 static const symbol s_68[] = { 'i', 'j' };
355 static const symbol s_69[] = { 'i', 'j' };
356 static const symbol s_70[] = { 'Y' };
357 static const symbol s_71[] = { 'Y' };
358 static const symbol s_72[] = { 'y' };
359 
r_R1()360 int Xapian::InternalStemKraaij_pohlmann::r_R1() {
361     if (!(I_p1 <= c)) return 0;
362     return 1;
363 }
364 
r_R2()365 int Xapian::InternalStemKraaij_pohlmann::r_R2() {
366     if (!(I_p2 <= c)) return 0;
367     return 1;
368 }
369 
r_V()370 int Xapian::InternalStemKraaij_pohlmann::r_V() {
371     {   int m_test1 = l - c;
372         {   int m2 = l - c; (void)m2;
373             if (in_grouping_b_U(g_v, 97, 121, 0)) goto lab1;
374             goto lab0;
375         lab1:
376             c = l - m2;
377             if (!(eq_s_b(2, s_0))) return 0;
378         }
379     lab0:
380         c = l - m_test1;
381     }
382     return 1;
383 }
384 
r_VX()385 int Xapian::InternalStemKraaij_pohlmann::r_VX() {
386     {   int m_test1 = l - c;
387         {   int ret = skip_utf8(p, c, lb, 0, -1);
388             if (ret < 0) return 0;
389             c = ret;
390         }
391         {   int m2 = l - c; (void)m2;
392             if (in_grouping_b_U(g_v, 97, 121, 0)) goto lab1;
393             goto lab0;
394         lab1:
395             c = l - m2;
396             if (!(eq_s_b(2, s_1))) return 0;
397         }
398     lab0:
399         c = l - m_test1;
400     }
401     return 1;
402 }
403 
r_C()404 int Xapian::InternalStemKraaij_pohlmann::r_C() {
405     {   int m_test1 = l - c;
406         {   int m2 = l - c; (void)m2;
407             if (!(eq_s_b(2, s_2))) goto lab0;
408             return 0;
409         lab0:
410             c = l - m2;
411         }
412         if (out_grouping_b_U(g_v, 97, 121, 0)) return 0;
413         c = l - m_test1;
414     }
415     return 1;
416 }
417 
r_lengthen_V()418 int Xapian::InternalStemKraaij_pohlmann::r_lengthen_V() {
419     {   int m1 = l - c; (void)m1;
420         if (out_grouping_b_U(g_v_WX, 97, 121, 0)) goto lab0;
421         ket = c;
422         {   int m2 = l - c; (void)m2;
423             if (in_grouping_b_U(g_AOU, 97, 117, 0)) goto lab2;
424             bra = c;
425             {   int m_test3 = l - c;
426                 {   int m4 = l - c; (void)m4;
427                     if (out_grouping_b_U(g_v, 97, 121, 0)) goto lab4;
428                     goto lab3;
429                 lab4:
430                     c = l - m4;
431                     if (c > lb) goto lab2;
432                 }
433             lab3:
434                 c = l - m_test3;
435             }
436             goto lab1;
437         lab2:
438             c = l - m2;
439             if (c <= lb || p[c - 1] != 'e') goto lab0;
440             c--;
441             bra = c;
442             {   int m_test5 = l - c;
443                 {   int m6 = l - c; (void)m6;
444                     if (out_grouping_b_U(g_v, 97, 121, 0)) goto lab6;
445                     goto lab5;
446                 lab6:
447                     c = l - m6;
448                     if (c > lb) goto lab0;
449                 }
450             lab5:
451                 {   int m7 = l - c; (void)m7;
452                     if (in_grouping_b_U(g_AIOU, 97, 117, 0)) goto lab7;
453                     goto lab0;
454                 lab7:
455                     c = l - m7;
456                 }
457                 {   int m8 = l - c; (void)m8;
458                     {   int ret = skip_utf8(p, c, lb, 0, -1);
459                         if (ret < 0) goto lab8;
460                         c = ret;
461                     }
462                     if (in_grouping_b_U(g_AIOU, 97, 117, 0)) goto lab8;
463                     if (out_grouping_b_U(g_v, 97, 121, 0)) goto lab8;
464                     goto lab0;
465                 lab8:
466                     c = l - m8;
467                 }
468                 c = l - m_test5;
469             }
470         }
471     lab1:
472         {   symbol * ret = slice_to(S_ch);
473             if (ret == 0) return -1;
474             S_ch = ret;
475         }
476         {   int saved_c = c;
477             insert_v(c, c, S_ch);
478             c = saved_c;
479         }
480     lab0:
481         c = l - m1;
482     }
483     return 1;
484 }
485 
r_Step_1()486 int Xapian::InternalStemKraaij_pohlmann::r_Step_1() {
487     int among_var;
488     ket = c;
489     if (c <= lb || p[c - 1] >> 5 != 3 || !((540704 >> (p[c - 1] & 0x1f)) & 1)) return 0;
490     among_var = find_among_b(s_pool, a_0, 7, 0, 0);
491     if (!(among_var)) return 0;
492     bra = c;
493     switch (among_var) {
494         case 1:
495             {   int ret = slice_del();
496                 if (ret < 0) return ret;
497             }
498             break;
499         case 2:
500             {   int ret = r_R1();
501                 if (ret <= 0) return ret;
502             }
503             {   int m1 = l - c; (void)m1;
504                 if (c <= lb || p[c - 1] != 't') goto lab0;
505                 c--;
506                 {   int ret = r_R1();
507                     if (ret == 0) goto lab0;
508                     if (ret < 0) return ret;
509                 }
510                 return 0;
511             lab0:
512                 c = l - m1;
513             }
514             {   int ret = r_C();
515                 if (ret <= 0) return ret;
516             }
517             {   int ret = slice_del();
518                 if (ret < 0) return ret;
519             }
520             break;
521         case 3:
522             {   int ret = r_R1();
523                 if (ret <= 0) return ret;
524             }
525             {   int ret = slice_from_s(2, s_3);
526                 if (ret < 0) return ret;
527             }
528             break;
529         case 4:
530             {   int m2 = l - c; (void)m2;
531                 if (!(eq_s_b(2, s_4))) goto lab2;
532                 {   int ret = r_R1();
533                     if (ret == 0) goto lab2;
534                     if (ret < 0) return ret;
535                 }
536                 {   int ret = r_C();
537                     if (ret == 0) goto lab2;
538                     if (ret < 0) return ret;
539                 }
540                 bra = c;
541                 {   int ret = slice_del();
542                     if (ret < 0) return ret;
543                 }
544                 {   int ret = r_lengthen_V();
545                     if (ret == 0) goto lab2;
546                     if (ret < 0) return ret;
547                 }
548                 goto lab1;
549             lab2:
550                 c = l - m2;
551                 if (!(eq_s_b(2, s_5))) goto lab3;
552                 {   int ret = r_R1();
553                     if (ret == 0) goto lab3;
554                     if (ret < 0) return ret;
555                 }
556                 {   int ret = r_C();
557                     if (ret == 0) goto lab3;
558                     if (ret < 0) return ret;
559                 }
560                 bra = c;
561                 {   int ret = slice_del();
562                     if (ret < 0) return ret;
563                 }
564                 goto lab1;
565             lab3:
566                 c = l - m2;
567                 {   int ret = r_R1();
568                     if (ret <= 0) return ret;
569                 }
570                 {   int ret = r_C();
571                     if (ret <= 0) return ret;
572                 }
573                 {   int ret = slice_from_s(1, s_6);
574                     if (ret < 0) return ret;
575                 }
576             }
577         lab1:
578             break;
579         case 5:
580             {   int ret = r_R1();
581                 if (ret <= 0) return ret;
582             }
583             {   int ret = r_V();
584                 if (ret <= 0) return ret;
585             }
586             {   int ret = slice_from_s(2, s_7);
587                 if (ret < 0) return ret;
588             }
589             break;
590         case 6:
591             {   int m3 = l - c; (void)m3;
592                 if (!(eq_s_b(3, s_8))) goto lab5;
593                 {   int ret = r_R1();
594                     if (ret == 0) goto lab5;
595                     if (ret < 0) return ret;
596                 }
597                 bra = c;
598                 {   int ret = slice_from_s(4, s_9);
599                     if (ret < 0) return ret;
600                 }
601                 goto lab4;
602             lab5:
603                 c = l - m3;
604                 if (!(eq_s_b(2, s_10))) goto lab6;
605                 {   int ret = slice_del();
606                     if (ret < 0) return ret;
607                 }
608                 goto lab4;
609             lab6:
610                 c = l - m3;
611                 if (c <= lb || p[c - 1] != 'd') goto lab7;
612                 c--;
613                 {   int ret = r_R1();
614                     if (ret == 0) goto lab7;
615                     if (ret < 0) return ret;
616                 }
617                 {   int ret = r_C();
618                     if (ret == 0) goto lab7;
619                     if (ret < 0) return ret;
620                 }
621                 bra = c;
622                 {   int ret = slice_del();
623                     if (ret < 0) return ret;
624                 }
625                 goto lab4;
626             lab7:
627                 c = l - m3;
628                 {   int m4 = l - c; (void)m4;
629                     if (c <= lb || p[c - 1] != 'i') goto lab10;
630                     c--;
631                     goto lab9;
632                 lab10:
633                     c = l - m4;
634                     if (c <= lb || p[c - 1] != 'j') goto lab8;
635                     c--;
636                 }
637             lab9:
638                 {   int ret = r_V();
639                     if (ret == 0) goto lab8;
640                     if (ret < 0) return ret;
641                 }
642                 {   int ret = slice_del();
643                     if (ret < 0) return ret;
644                 }
645                 goto lab4;
646             lab8:
647                 c = l - m3;
648                 {   int ret = r_R1();
649                     if (ret <= 0) return ret;
650                 }
651                 {   int ret = r_C();
652                     if (ret <= 0) return ret;
653                 }
654                 {   int ret = slice_del();
655                     if (ret < 0) return ret;
656                 }
657                 {   int ret = r_lengthen_V();
658                     if (ret <= 0) return ret;
659                 }
660             }
661         lab4:
662             break;
663         case 7:
664             {   int ret = slice_from_s(2, s_11);
665                 if (ret < 0) return ret;
666             }
667             break;
668     }
669     return 1;
670 }
671 
r_Step_2()672 int Xapian::InternalStemKraaij_pohlmann::r_Step_2() {
673     int among_var;
674     ket = c;
675     if (c - 1 <= lb || p[c - 1] != 101) return 0;
676     among_var = find_among_b(s_pool, a_1, 11, 0, 0);
677     if (!(among_var)) return 0;
678     bra = c;
679     switch (among_var) {
680         case 1:
681             {   int m1 = l - c; (void)m1;
682                 if (!(eq_s_b(2, s_12))) goto lab1;
683                 bra = c;
684                 {   int ret = slice_del();
685                     if (ret < 0) return ret;
686                 }
687                 goto lab0;
688             lab1:
689                 c = l - m1;
690                 if (!(eq_s_b(2, s_13))) goto lab2;
691                 bra = c;
692                 {   int ret = r_R1();
693                     if (ret == 0) goto lab2;
694                     if (ret < 0) return ret;
695                 }
696                 {   int ret = r_C();
697                     if (ret == 0) goto lab2;
698                     if (ret < 0) return ret;
699                 }
700                 {   int ret = slice_del();
701                     if (ret < 0) return ret;
702                 }
703                 goto lab0;
704             lab2:
705                 c = l - m1;
706                 if (!(eq_s_b(3, s_14))) goto lab3;
707                 bra = c;
708                 {   int ret = slice_from_s(2, s_15);
709                     if (ret < 0) return ret;
710                 }
711                 goto lab0;
712             lab3:
713                 c = l - m1;
714                 if (c <= lb || p[c - 1] != 't') goto lab4;
715                 c--;
716                 bra = c;
717                 {   int ret = r_R1();
718                     if (ret == 0) goto lab4;
719                     if (ret < 0) return ret;
720                 }
721                 {   int ret = r_VX();
722                     if (ret == 0) goto lab4;
723                     if (ret < 0) return ret;
724                 }
725                 {   int ret = slice_del();
726                     if (ret < 0) return ret;
727                 }
728                 goto lab0;
729             lab4:
730                 c = l - m1;
731                 if (!(eq_s_b(3, s_16))) goto lab5;
732                 bra = c;
733                 {   int ret = slice_from_s(3, s_17);
734                     if (ret < 0) return ret;
735                 }
736                 goto lab0;
737             lab5:
738                 c = l - m1;
739                 if (!(eq_s_b(2, s_18))) goto lab6;
740                 bra = c;
741                 {   int ret = slice_from_s(1, s_19);
742                     if (ret < 0) return ret;
743                 }
744                 goto lab0;
745             lab6:
746                 c = l - m1;
747                 if (c <= lb || p[c - 1] != '\'') goto lab7;
748                 c--;
749                 bra = c;
750                 {   int ret = r_R1();
751                     if (ret == 0) goto lab7;
752                     if (ret < 0) return ret;
753                 }
754                 {   int ret = slice_del();
755                     if (ret < 0) return ret;
756                 }
757                 goto lab0;
758             lab7:
759                 c = l - m1;
760                 bra = c;
761                 {   int ret = r_R1();
762                     if (ret <= 0) return ret;
763                 }
764                 {   int ret = r_C();
765                     if (ret <= 0) return ret;
766                 }
767                 {   int ret = slice_del();
768                     if (ret < 0) return ret;
769                 }
770             }
771         lab0:
772             break;
773         case 2:
774             {   int ret = r_R1();
775                 if (ret <= 0) return ret;
776             }
777             {   int ret = slice_from_s(1, s_20);
778                 if (ret < 0) return ret;
779             }
780             break;
781         case 3:
782             {   int ret = r_R1();
783                 if (ret <= 0) return ret;
784             }
785             {   int ret = slice_from_s(4, s_21);
786                 if (ret < 0) return ret;
787             }
788             break;
789         case 4:
790             {   int ret = r_R1();
791                 if (ret <= 0) return ret;
792             }
793             {   int ret = slice_from_s(4, s_22);
794                 if (ret < 0) return ret;
795             }
796             break;
797         case 5:
798             {   int ret = r_R1();
799                 if (ret <= 0) return ret;
800             }
801             {   int ret = r_C();
802                 if (ret <= 0) return ret;
803             }
804             {   int ret = slice_del();
805                 if (ret < 0) return ret;
806             }
807             break;
808         case 6:
809             {   int ret = r_R1();
810                 if (ret <= 0) return ret;
811             }
812             {   int ret = slice_from_s(1, s_23);
813                 if (ret < 0) return ret;
814             }
815             break;
816         case 7:
817             {   int ret = r_R1();
818                 if (ret <= 0) return ret;
819             }
820             {   int ret = slice_from_s(1, s_24);
821                 if (ret < 0) return ret;
822             }
823             break;
824         case 8:
825             {   int ret = r_R1();
826                 if (ret <= 0) return ret;
827             }
828             {   int ret = slice_from_s(1, s_25);
829                 if (ret < 0) return ret;
830             }
831             break;
832         case 9:
833             {   int ret = r_R1();
834                 if (ret <= 0) return ret;
835             }
836             {   int ret = slice_del();
837                 if (ret < 0) return ret;
838             }
839             insert_s(c, c, 1, s_26);
840             {   int ret = r_lengthen_V();
841                 if (ret <= 0) return ret;
842             }
843             break;
844         case 10:
845             {   int ret = r_R1();
846                 if (ret <= 0) return ret;
847             }
848             {   int ret = r_C();
849                 if (ret <= 0) return ret;
850             }
851             {   int ret = slice_del();
852                 if (ret < 0) return ret;
853             }
854             insert_s(c, c, 2, s_27);
855             {   int ret = r_lengthen_V();
856                 if (ret <= 0) return ret;
857             }
858             break;
859         case 11:
860             {   int ret = r_R1();
861                 if (ret <= 0) return ret;
862             }
863             {   int ret = r_C();
864                 if (ret <= 0) return ret;
865             }
866             {   int ret = slice_from_s(3, s_28);
867                 if (ret < 0) return ret;
868             }
869             break;
870     }
871     return 1;
872 }
873 
r_Step_3()874 int Xapian::InternalStemKraaij_pohlmann::r_Step_3() {
875     int among_var;
876     ket = c;
877     if (c - 2 <= lb || p[c - 1] >> 5 != 3 || !((1316016 >> (p[c - 1] & 0x1f)) & 1)) return 0;
878     among_var = find_among_b(s_pool, a_2, 14, 0, 0);
879     if (!(among_var)) return 0;
880     bra = c;
881     switch (among_var) {
882         case 1:
883             {   int ret = r_R1();
884                 if (ret <= 0) return ret;
885             }
886             {   int ret = slice_from_s(3, s_29);
887                 if (ret < 0) return ret;
888             }
889             break;
890         case 2:
891             {   int ret = r_R1();
892                 if (ret <= 0) return ret;
893             }
894             {   int ret = slice_del();
895                 if (ret < 0) return ret;
896             }
897             {   int ret = r_lengthen_V();
898                 if (ret <= 0) return ret;
899             }
900             break;
901         case 3:
902             {   int ret = r_R1();
903                 if (ret <= 0) return ret;
904             }
905             {   int ret = slice_del();
906                 if (ret < 0) return ret;
907             }
908             break;
909         case 4:
910             {   int ret = slice_from_s(1, s_30);
911                 if (ret < 0) return ret;
912             }
913             break;
914         case 5:
915             {   int ret = r_R1();
916                 if (ret <= 0) return ret;
917             }
918             {   int ret = r_C();
919                 if (ret <= 0) return ret;
920             }
921             {   int ret = slice_from_s(3, s_31);
922                 if (ret < 0) return ret;
923             }
924             break;
925         case 6:
926             {   int ret = r_R2();
927                 if (ret <= 0) return ret;
928             }
929             {   int ret = slice_del();
930                 if (ret < 0) return ret;
931             }
932             insert_s(c, c, 1, s_32);
933             {   int ret = r_lengthen_V();
934                 if (ret <= 0) return ret;
935             }
936             break;
937         case 7:
938             {   int ret = r_R2();
939                 if (ret <= 0) return ret;
940             }
941             {   int ret = slice_del();
942                 if (ret < 0) return ret;
943             }
944             insert_s(c, c, 1, s_33);
945             {   int ret = r_lengthen_V();
946                 if (ret <= 0) return ret;
947             }
948             break;
949         case 8:
950             {   int ret = r_R1();
951                 if (ret <= 0) return ret;
952             }
953             {   int ret = r_C();
954                 if (ret <= 0) return ret;
955             }
956             {   int ret = slice_from_s(1, s_34);
957                 if (ret < 0) return ret;
958             }
959             break;
960         case 9:
961             {   int ret = r_R1();
962                 if (ret <= 0) return ret;
963             }
964             {   int ret = r_C();
965                 if (ret <= 0) return ret;
966             }
967             {   int ret = slice_from_s(1, s_35);
968                 if (ret < 0) return ret;
969             }
970             break;
971     }
972     return 1;
973 }
974 
r_Step_4()975 int Xapian::InternalStemKraaij_pohlmann::r_Step_4() {
976     int among_var;
977     {   int m1 = l - c; (void)m1;
978         ket = c;
979         if (c - 2 <= lb || p[c - 1] >> 5 != 3 || !((1315024 >> (p[c - 1] & 0x1f)) & 1)) goto lab1;
980         among_var = find_among_b(s_pool, a_3, 16, 0, 0);
981         if (!(among_var)) goto lab1;
982         bra = c;
983         switch (among_var) {
984             case 1:
985                 {   int ret = r_R1();
986                     if (ret == 0) goto lab1;
987                     if (ret < 0) return ret;
988                 }
989                 {   int ret = slice_from_s(2, s_36);
990                     if (ret < 0) return ret;
991                 }
992                 break;
993             case 2:
994                 {   int ret = r_R1();
995                     if (ret == 0) goto lab1;
996                     if (ret < 0) return ret;
997                 }
998                 {   int ret = slice_from_s(3, s_37);
999                     if (ret < 0) return ret;
1000                 }
1001                 break;
1002             case 3:
1003                 {   int ret = r_R1();
1004                     if (ret == 0) goto lab1;
1005                     if (ret < 0) return ret;
1006                 }
1007                 {   int ret = slice_del();
1008                     if (ret < 0) return ret;
1009                 }
1010                 break;
1011             case 4:
1012                 {   int ret = r_R1();
1013                     if (ret == 0) goto lab1;
1014                     if (ret < 0) return ret;
1015                 }
1016                 {   int ret = r_V();
1017                     if (ret == 0) goto lab1;
1018                     if (ret < 0) return ret;
1019                 }
1020                 {   int ret = slice_from_s(1, s_38);
1021                     if (ret < 0) return ret;
1022                 }
1023                 break;
1024             case 5:
1025                 {   int ret = r_R1();
1026                     if (ret == 0) goto lab1;
1027                     if (ret < 0) return ret;
1028                 }
1029                 {   int ret = r_V();
1030                     if (ret == 0) goto lab1;
1031                     if (ret < 0) return ret;
1032                 }
1033                 {   int ret = slice_from_s(1, s_39);
1034                     if (ret < 0) return ret;
1035                 }
1036                 break;
1037             case 6:
1038                 {   int ret = r_R1();
1039                     if (ret == 0) goto lab1;
1040                     if (ret < 0) return ret;
1041                 }
1042                 {   int ret = r_V();
1043                     if (ret == 0) goto lab1;
1044                     if (ret < 0) return ret;
1045                 }
1046                 {   int ret = slice_from_s(1, s_40);
1047                     if (ret < 0) return ret;
1048                 }
1049                 break;
1050             case 7:
1051                 {   int ret = r_R1();
1052                     if (ret == 0) goto lab1;
1053                     if (ret < 0) return ret;
1054                 }
1055                 {   int ret = slice_from_s(4, s_41);
1056                     if (ret < 0) return ret;
1057                 }
1058                 break;
1059             case 8:
1060                 {   int ret = r_R1();
1061                     if (ret == 0) goto lab1;
1062                     if (ret < 0) return ret;
1063                 }
1064                 {   int ret = slice_from_s(4, s_42);
1065                     if (ret < 0) return ret;
1066                 }
1067                 break;
1068             case 9:
1069                 {   int ret = r_R1();
1070                     if (ret == 0) goto lab1;
1071                     if (ret < 0) return ret;
1072                 }
1073                 {   int ret = r_C();
1074                     if (ret == 0) goto lab1;
1075                     if (ret < 0) return ret;
1076                 }
1077                 {   int ret = slice_del();
1078                     if (ret < 0) return ret;
1079                 }
1080                 {   int ret = r_lengthen_V();
1081                     if (ret == 0) goto lab1;
1082                     if (ret < 0) return ret;
1083                 }
1084                 break;
1085         }
1086         goto lab0;
1087     lab1:
1088         c = l - m1;
1089         ket = c;
1090         if (c - 1 <= lb || p[c - 1] >> 5 != 3 || !((1310848 >> (p[c - 1] & 0x1f)) & 1)) return 0;
1091         among_var = find_among_b(s_pool, a_4, 3, 0, 0);
1092         if (!(among_var)) return 0;
1093         bra = c;
1094         {   int ret = r_R1();
1095             if (ret <= 0) return ret;
1096         }
1097         {   int ret = r_C();
1098             if (ret <= 0) return ret;
1099         }
1100         {   int ret = slice_del();
1101             if (ret < 0) return ret;
1102         }
1103         {   int ret = r_lengthen_V();
1104             if (ret <= 0) return ret;
1105         }
1106     }
1107 lab0:
1108     return 1;
1109 }
1110 
r_Step_7()1111 int Xapian::InternalStemKraaij_pohlmann::r_Step_7() {
1112     int among_var;
1113     ket = c;
1114     if (c - 1 <= lb || p[c - 1] != 116) return 0;
1115     among_var = find_among_b(s_pool, a_5, 3, 0, 0);
1116     if (!(among_var)) return 0;
1117     bra = c;
1118     switch (among_var) {
1119         case 1:
1120             {   int ret = slice_from_s(1, s_43);
1121                 if (ret < 0) return ret;
1122             }
1123             break;
1124         case 2:
1125             {   int ret = slice_from_s(1, s_44);
1126                 if (ret < 0) return ret;
1127             }
1128             break;
1129         case 3:
1130             {   int ret = slice_from_s(1, s_45);
1131                 if (ret < 0) return ret;
1132             }
1133             break;
1134     }
1135     return 1;
1136 }
1137 
r_Step_6()1138 int Xapian::InternalStemKraaij_pohlmann::r_Step_6() {
1139     int among_var;
1140     ket = c;
1141     if (c <= lb || p[c - 1] >> 5 != 3 || !((98532828 >> (p[c - 1] & 0x1f)) & 1)) return 0;
1142     among_var = find_among_b(s_pool, a_6, 22, 0, 0);
1143     if (!(among_var)) return 0;
1144     bra = c;
1145     switch (among_var) {
1146         case 1:
1147             {   int ret = slice_from_s(1, s_46);
1148                 if (ret < 0) return ret;
1149             }
1150             break;
1151         case 2:
1152             {   int ret = slice_from_s(1, s_47);
1153                 if (ret < 0) return ret;
1154             }
1155             break;
1156         case 3:
1157             {   int ret = slice_from_s(1, s_48);
1158                 if (ret < 0) return ret;
1159             }
1160             break;
1161         case 4:
1162             {   int ret = slice_from_s(1, s_49);
1163                 if (ret < 0) return ret;
1164             }
1165             break;
1166         case 5:
1167             {   int ret = slice_from_s(1, s_50);
1168                 if (ret < 0) return ret;
1169             }
1170             break;
1171         case 6:
1172             {   int ret = slice_from_s(1, s_51);
1173                 if (ret < 0) return ret;
1174             }
1175             break;
1176         case 7:
1177             {   int ret = slice_from_s(1, s_52);
1178                 if (ret < 0) return ret;
1179             }
1180             break;
1181         case 8:
1182             {   int ret = slice_from_s(1, s_53);
1183                 if (ret < 0) return ret;
1184             }
1185             break;
1186         case 9:
1187             {   int ret = slice_from_s(1, s_54);
1188                 if (ret < 0) return ret;
1189             }
1190             break;
1191         case 10:
1192             {   int ret = slice_from_s(1, s_55);
1193                 if (ret < 0) return ret;
1194             }
1195             break;
1196         case 11:
1197             {   int ret = slice_from_s(1, s_56);
1198                 if (ret < 0) return ret;
1199             }
1200             break;
1201         case 12:
1202             {   int ret = slice_from_s(1, s_57);
1203                 if (ret < 0) return ret;
1204             }
1205             break;
1206         case 13:
1207             {   int ret = slice_from_s(1, s_58);
1208                 if (ret < 0) return ret;
1209             }
1210             break;
1211         case 14:
1212             {   int ret = slice_from_s(1, s_59);
1213                 if (ret < 0) return ret;
1214             }
1215             break;
1216         case 15:
1217             {   int ret = slice_from_s(1, s_60);
1218                 if (ret < 0) return ret;
1219             }
1220             break;
1221         case 16:
1222             {   int ret = slice_from_s(1, s_61);
1223                 if (ret < 0) return ret;
1224             }
1225             break;
1226         case 17:
1227             {   int ret = slice_from_s(1, s_62);
1228                 if (ret < 0) return ret;
1229             }
1230             break;
1231         case 18:
1232             {   int ret = slice_from_s(1, s_63);
1233                 if (ret < 0) return ret;
1234             }
1235             break;
1236         case 19:
1237             {   int ret = slice_from_s(1, s_64);
1238                 if (ret < 0) return ret;
1239             }
1240             break;
1241         case 20:
1242             {   int ret = slice_from_s(1, s_65);
1243                 if (ret < 0) return ret;
1244             }
1245             break;
1246     }
1247     return 1;
1248 }
1249 
r_Step_1c()1250 int Xapian::InternalStemKraaij_pohlmann::r_Step_1c() {
1251     int among_var;
1252     ket = c;
1253     if (c <= lb || (p[c - 1] != 100 && p[c - 1] != 116)) return 0;
1254     among_var = find_among_b(s_pool, a_7, 2, 0, 0);
1255     if (!(among_var)) return 0;
1256     bra = c;
1257     {   int ret = r_R1();
1258         if (ret <= 0) return ret;
1259     }
1260     {   int ret = r_C();
1261         if (ret <= 0) return ret;
1262     }
1263     switch (among_var) {
1264         case 1:
1265             {   int m1 = l - c; (void)m1;
1266                 if (c <= lb || p[c - 1] != 'n') goto lab0;
1267                 c--;
1268                 {   int ret = r_R1();
1269                     if (ret == 0) goto lab0;
1270                     if (ret < 0) return ret;
1271                 }
1272                 return 0;
1273             lab0:
1274                 c = l - m1;
1275             }
1276             {   int ret = slice_del();
1277                 if (ret < 0) return ret;
1278             }
1279             break;
1280         case 2:
1281             {   int m2 = l - c; (void)m2;
1282                 if (c <= lb || p[c - 1] != 'h') goto lab1;
1283                 c--;
1284                 {   int ret = r_R1();
1285                     if (ret == 0) goto lab1;
1286                     if (ret < 0) return ret;
1287                 }
1288                 return 0;
1289             lab1:
1290                 c = l - m2;
1291             }
1292             {   int ret = slice_del();
1293                 if (ret < 0) return ret;
1294             }
1295             break;
1296     }
1297     return 1;
1298 }
1299 
r_Lose_prefix()1300 int Xapian::InternalStemKraaij_pohlmann::r_Lose_prefix() {
1301     bra = c;
1302     if (!(eq_s(2, s_66))) return 0;
1303     ket = c;
1304     {   int c_test1 = c;
1305         {   int ret = skip_utf8(p, c, 0, l, + 3);
1306             if (ret < 0) return 0;
1307             c = ret;
1308         }
1309         c = c_test1;
1310     }
1311     if (out_grouping_U(g_v, 97, 121, 1) < 0) return 0;
1312     if (in_grouping_U(g_v, 97, 121, 1) < 0) return 0;
1313     I_GE_removed = 1;
1314     {   int ret = slice_del();
1315         if (ret < 0) return ret;
1316     }
1317     return 1;
1318 }
1319 
r_Lose_infix()1320 int Xapian::InternalStemKraaij_pohlmann::r_Lose_infix() {
1321     {   int ret = skip_utf8(p, c, 0, l, 1);
1322         if (ret < 0) return 0;
1323         c = ret;
1324     }
1325     while(1) {
1326         bra = c;
1327         if (!(eq_s(2, s_67))) goto lab0;
1328         ket = c;
1329         break;
1330     lab0:
1331         {   int ret = skip_utf8(p, c, 0, l, 1);
1332             if (ret < 0) return 0;
1333             c = ret;
1334         }
1335     }
1336     {   int c_test1 = c;
1337         {   int ret = skip_utf8(p, c, 0, l, + 3);
1338             if (ret < 0) return 0;
1339             c = ret;
1340         }
1341         c = c_test1;
1342     }
1343     if (out_grouping_U(g_v, 97, 121, 1) < 0) return 0;
1344     if (in_grouping_U(g_v, 97, 121, 1) < 0) return 0;
1345     I_GE_removed = 1;
1346     {   int ret = slice_del();
1347         if (ret < 0) return ret;
1348     }
1349     return 1;
1350 }
1351 
r_measure()1352 int Xapian::InternalStemKraaij_pohlmann::r_measure() {
1353     {   int c1 = c;
1354         c = l;
1355         I_p1 = c;
1356         I_p2 = c;
1357         c = c1;
1358     }
1359     {   int c2 = c;
1360         while(1) {
1361             if (out_grouping_U(g_v, 97, 121, 0)) goto lab2;
1362             continue;
1363         lab2:
1364             break;
1365         }
1366         {   int i = 1;
1367             while(1) {
1368                 int c3 = c;
1369                 {   int c4 = c;
1370                     if (!(eq_s(2, s_68))) goto lab5;
1371                     goto lab4;
1372                 lab5:
1373                     c = c4;
1374                     if (in_grouping_U(g_v, 97, 121, 0)) goto lab3;
1375                 }
1376             lab4:
1377                 i--;
1378                 continue;
1379             lab3:
1380                 c = c3;
1381                 break;
1382             }
1383             if (i > 0) goto lab1;
1384         }
1385         if (out_grouping_U(g_v, 97, 121, 0)) goto lab1;
1386         I_p1 = c;
1387         while(1) {
1388             if (out_grouping_U(g_v, 97, 121, 0)) goto lab6;
1389             continue;
1390         lab6:
1391             break;
1392         }
1393         {   int i = 1;
1394             while(1) {
1395                 int c5 = c;
1396                 {   int c6 = c;
1397                     if (!(eq_s(2, s_69))) goto lab9;
1398                     goto lab8;
1399                 lab9:
1400                     c = c6;
1401                     if (in_grouping_U(g_v, 97, 121, 0)) goto lab7;
1402                 }
1403             lab8:
1404                 i--;
1405                 continue;
1406             lab7:
1407                 c = c5;
1408                 break;
1409             }
1410             if (i > 0) goto lab1;
1411         }
1412         if (out_grouping_U(g_v, 97, 121, 0)) goto lab1;
1413         I_p2 = c;
1414     lab1:
1415         c = c2;
1416     }
1417     return 1;
1418 }
1419 
stem()1420 int Xapian::InternalStemKraaij_pohlmann::stem() {
1421     I_Y_found = 0;
1422     I_stemmed = 0;
1423     {   int c1 = c;
1424         bra = c;
1425         if (c == l || p[c] != 'y') goto lab0;
1426         c++;
1427         ket = c;
1428         {   int ret = slice_from_s(1, s_70);
1429             if (ret < 0) return ret;
1430         }
1431         I_Y_found = 1;
1432     lab0:
1433         c = c1;
1434     }
1435     {   int c2 = c;
1436         while(1) {
1437             int c3 = c;
1438             while(1) {
1439                 int c4 = c;
1440                 if (in_grouping_U(g_v, 97, 121, 0)) goto lab3;
1441                 bra = c;
1442                 if (c == l || p[c] != 'y') goto lab3;
1443                 c++;
1444                 ket = c;
1445                 c = c4;
1446                 break;
1447             lab3:
1448                 c = c4;
1449                 {   int ret = skip_utf8(p, c, 0, l, 1);
1450                     if (ret < 0) goto lab2;
1451                     c = ret;
1452                 }
1453             }
1454             {   int ret = slice_from_s(1, s_71);
1455                 if (ret < 0) return ret;
1456             }
1457             I_Y_found = 1;
1458             continue;
1459         lab2:
1460             c = c3;
1461             break;
1462         }
1463         c = c2;
1464     }
1465     {   int ret = r_measure();
1466         if (ret <= 0) return ret;
1467     }
1468     lb = c; c = l;
1469 
1470     {   int m5 = l - c; (void)m5;
1471         {   int ret = r_Step_1();
1472             if (ret == 0) goto lab4;
1473             if (ret < 0) return ret;
1474         }
1475         I_stemmed = 1;
1476     lab4:
1477         c = l - m5;
1478     }
1479     {   int m6 = l - c; (void)m6;
1480         {   int ret = r_Step_2();
1481             if (ret == 0) goto lab5;
1482             if (ret < 0) return ret;
1483         }
1484         I_stemmed = 1;
1485     lab5:
1486         c = l - m6;
1487     }
1488     {   int m7 = l - c; (void)m7;
1489         {   int ret = r_Step_3();
1490             if (ret == 0) goto lab6;
1491             if (ret < 0) return ret;
1492         }
1493         I_stemmed = 1;
1494     lab6:
1495         c = l - m7;
1496     }
1497     {   int m8 = l - c; (void)m8;
1498         {   int ret = r_Step_4();
1499             if (ret == 0) goto lab7;
1500             if (ret < 0) return ret;
1501         }
1502         I_stemmed = 1;
1503     lab7:
1504         c = l - m8;
1505     }
1506     c = lb;
1507     I_GE_removed = 0;
1508     {   int c9 = c;
1509         {   int c10 = c;
1510             {   int ret = r_Lose_prefix();
1511                 if (ret == 0) goto lab8;
1512                 if (ret < 0) return ret;
1513             }
1514             c = c10;
1515             {   int ret = r_measure();
1516                 if (ret == 0) goto lab8;
1517                 if (ret < 0) return ret;
1518             }
1519         }
1520     lab8:
1521         c = c9;
1522     }
1523     lb = c; c = l;
1524 
1525     {   int m11 = l - c; (void)m11;
1526         if (!(I_GE_removed)) goto lab9;
1527         {   int ret = r_Step_1c();
1528             if (ret == 0) goto lab9;
1529             if (ret < 0) return ret;
1530         }
1531     lab9:
1532         c = l - m11;
1533     }
1534     c = lb;
1535     I_GE_removed = 0;
1536     {   int c12 = c;
1537         {   int c13 = c;
1538             {   int ret = r_Lose_infix();
1539                 if (ret == 0) goto lab10;
1540                 if (ret < 0) return ret;
1541             }
1542             c = c13;
1543             {   int ret = r_measure();
1544                 if (ret == 0) goto lab10;
1545                 if (ret < 0) return ret;
1546             }
1547         }
1548     lab10:
1549         c = c12;
1550     }
1551     lb = c; c = l;
1552 
1553     {   int m14 = l - c; (void)m14;
1554         if (!(I_GE_removed)) goto lab11;
1555         {   int ret = r_Step_1c();
1556             if (ret == 0) goto lab11;
1557             if (ret < 0) return ret;
1558         }
1559     lab11:
1560         c = l - m14;
1561     }
1562     c = lb;
1563     lb = c; c = l;
1564 
1565     {   int m15 = l - c; (void)m15;
1566         {   int ret = r_Step_7();
1567             if (ret == 0) goto lab12;
1568             if (ret < 0) return ret;
1569         }
1570         I_stemmed = 1;
1571     lab12:
1572         c = l - m15;
1573     }
1574     {   int m16 = l - c; (void)m16;
1575 
1576         if (!(I_stemmed)) goto lab15;
1577         goto lab14;
1578     lab15:
1579         if (!(I_GE_removed)) goto lab13;
1580     lab14:
1581         {   int ret = r_Step_6();
1582             if (ret == 0) goto lab13;
1583             if (ret < 0) return ret;
1584         }
1585     lab13:
1586         c = l - m16;
1587     }
1588     c = lb;
1589     {   int c17 = c;
1590         if (!(I_Y_found)) goto lab16;
1591         while(1) {
1592             int c18 = c;
1593             while(1) {
1594                 int c19 = c;
1595                 bra = c;
1596                 if (c == l || p[c] != 'Y') goto lab18;
1597                 c++;
1598                 ket = c;
1599                 c = c19;
1600                 break;
1601             lab18:
1602                 c = c19;
1603                 {   int ret = skip_utf8(p, c, 0, l, 1);
1604                     if (ret < 0) goto lab17;
1605                     c = ret;
1606                 }
1607             }
1608             {   int ret = slice_from_s(1, s_72);
1609                 if (ret < 0) return ret;
1610             }
1611             continue;
1612         lab17:
1613             c = c18;
1614             break;
1615         }
1616     lab16:
1617         c = c17;
1618     }
1619     return 1;
1620 }
1621 
InternalStemKraaij_pohlmann()1622 Xapian::InternalStemKraaij_pohlmann::InternalStemKraaij_pohlmann()
1623     : I_GE_removed(0), I_stemmed(0), I_Y_found(0), I_p2(0), I_p1(0), S_ch(0)
1624 {
1625     S_ch = create_s();
1626 }
1627 
~InternalStemKraaij_pohlmann()1628 Xapian::InternalStemKraaij_pohlmann::~InternalStemKraaij_pohlmann()
1629 {
1630     lose_s(S_ch);
1631 }
1632 
1633 std::string
get_description() const1634 Xapian::InternalStemKraaij_pohlmann::get_description() const
1635 {
1636     return "kraaij_pohlmann";
1637 }
1638