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