Branch data Line data Source code
1 : : /* This file was generated automatically by the Snowball to ISO C++ compiler */
2 : :
3 : : #include <limits.h>
4 : : #include "german2.h"
5 : :
6 : : static const symbol s_pool[] = {
7 : : #define s_0_1 0
8 : : 'a', 'e',
9 : : #define s_0_2 2
10 : : 'o', 'e',
11 : : #define s_0_3 4
12 : : 'q', 'u',
13 : : #define s_0_4 6
14 : : 'u', 'e',
15 : : #define s_0_5 8
16 : : 0xC3, 0x9F,
17 : : #define s_1_1 10
18 : : 'U',
19 : : #define s_1_2 11
20 : : 'Y',
21 : : #define s_1_3 12
22 : : 0xC3, 0xA4,
23 : : #define s_1_4 14
24 : : 0xC3, 0xB6,
25 : : #define s_1_5 16
26 : : 0xC3, 0xBC,
27 : : #define s_2_0 s_2_1
28 : : #define s_2_1 18
29 : : 'e', 'm',
30 : : #define s_2_2 20
31 : : 'e', 'n',
32 : : #define s_2_3 22
33 : : 'e', 'r', 'n',
34 : : #define s_2_4 s_2_3
35 : : #define s_2_5 (s_2_6 + 1)
36 : : #define s_2_6 25
37 : : 'e', 's',
38 : : #define s_3_0 27
39 : : 'e', 'n',
40 : : #define s_3_1 29
41 : : 'e', 'r',
42 : : #define s_3_2 (s_3_3 + 1)
43 : : #define s_3_3 31
44 : : 'e', 's', 't',
45 : : #define s_4_0 34
46 : : 'i', 'g',
47 : : #define s_4_1 36
48 : : 'l', 'i', 'c', 'h',
49 : : #define s_5_0 40
50 : : 'e', 'n', 'd',
51 : : #define s_5_1 43
52 : : 'i', 'g',
53 : : #define s_5_2 45
54 : : 'u', 'n', 'g',
55 : : #define s_5_3 48
56 : : 'l', 'i', 'c', 'h',
57 : : #define s_5_4 52
58 : : 'i', 's', 'c', 'h',
59 : : #define s_5_5 56
60 : : 'i', 'k',
61 : : #define s_5_6 58
62 : : 'h', 'e', 'i', 't',
63 : : #define s_5_7 62
64 : : 'k', 'e', 'i', 't',
65 : : };
66 : :
67 : :
68 : : static const struct among a_0[6] =
69 : : {
70 : : /* 0 */ { 0, 0, -1, 6},
71 : : /* 1 */ { 2, s_0_1, 0, 2},
72 : : /* 2 */ { 2, s_0_2, 0, 3},
73 : : /* 3 */ { 2, s_0_3, 0, 5},
74 : : /* 4 */ { 2, s_0_4, 0, 4},
75 : : /* 5 */ { 2, s_0_5, 0, 1}
76 : : };
77 : :
78 : :
79 : : static const struct among a_1[6] =
80 : : {
81 : : /* 0 */ { 0, 0, -1, 6},
82 : : /* 1 */ { 1, s_1_1, 0, 2},
83 : : /* 2 */ { 1, s_1_2, 0, 1},
84 : : /* 3 */ { 2, s_1_3, 0, 3},
85 : : /* 4 */ { 2, s_1_4, 0, 4},
86 : : /* 5 */ { 2, s_1_5, 0, 5}
87 : : };
88 : :
89 : :
90 : : static const struct among a_2[7] =
91 : : {
92 : : /* 0 */ { 1, s_2_0, -1, 2},
93 : : /* 1 */ { 2, s_2_1, -1, 1},
94 : : /* 2 */ { 2, s_2_2, -1, 2},
95 : : /* 3 */ { 3, s_2_3, -1, 1},
96 : : /* 4 */ { 2, s_2_4, -1, 1},
97 : : /* 5 */ { 1, s_2_5, -1, 3},
98 : : /* 6 */ { 2, s_2_6, 5, 2}
99 : : };
100 : :
101 : :
102 : : static const struct among a_3[4] =
103 : : {
104 : : /* 0 */ { 2, s_3_0, -1, 1},
105 : : /* 1 */ { 2, s_3_1, -1, 1},
106 : : /* 2 */ { 2, s_3_2, -1, 2},
107 : : /* 3 */ { 3, s_3_3, 2, 1}
108 : : };
109 : :
110 : :
111 : : static const struct among a_4[2] =
112 : : {
113 : : /* 0 */ { 2, s_4_0, -1, 1},
114 : : /* 1 */ { 4, s_4_1, -1, 1}
115 : : };
116 : :
117 : :
118 : : static const struct among a_5[8] =
119 : : {
120 : : /* 0 */ { 3, s_5_0, -1, 1},
121 : : /* 1 */ { 2, s_5_1, -1, 2},
122 : : /* 2 */ { 3, s_5_2, -1, 1},
123 : : /* 3 */ { 4, s_5_3, -1, 3},
124 : : /* 4 */ { 4, s_5_4, -1, 2},
125 : : /* 5 */ { 2, s_5_5, -1, 2},
126 : : /* 6 */ { 4, s_5_6, -1, 3},
127 : : /* 7 */ { 4, s_5_7, -1, 4}
128 : : };
129 : :
130 : : static const unsigned char g_v[] = { 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 32, 8 };
131 : :
132 : : static const unsigned char g_s_ending[] = { 117, 30, 5 };
133 : :
134 : : static const unsigned char g_st_ending[] = { 117, 30, 4 };
135 : :
136 : : static const symbol s_0[] = { 'U' };
137 : : static const symbol s_1[] = { 'Y' };
138 : : static const symbol s_2[] = { 's', 's' };
139 : : static const symbol s_3[] = { 0xC3, 0xA4 };
140 : : static const symbol s_4[] = { 0xC3, 0xB6 };
141 : : static const symbol s_5[] = { 0xC3, 0xBC };
142 : : static const symbol s_6[] = { 'y' };
143 : : static const symbol s_7[] = { 'u' };
144 : : static const symbol s_8[] = { 'a' };
145 : : static const symbol s_9[] = { 'o' };
146 : : static const symbol s_10[] = { 'u' };
147 : : static const symbol s_11[] = { 'n', 'i', 's' };
148 : : static const symbol s_12[] = { 'i', 'g' };
149 : : static const symbol s_13[] = { 'e', 'r' };
150 : : static const symbol s_14[] = { 'e', 'n' };
151 : :
152 : 105649 : int Xapian::InternalStemGerman2::r_prelude() { /* forwardmode */
153 : : int among_var;
154 : 105649 : { int c_test1 = c; /* test, line 35 */
155 : 4617 : while(1) { /* repeat, line 35 */
156 : 110266 : int c2 = c;
157 : 4274680 : while(1) { /* goto, line 35 */
158 : 4384946 : int c3 = c;
159 [ + + ]: 4384946 : if (in_grouping_U(g_v, 97, 252, 0)) goto lab1; /* grouping v, line 36 */
160 : 555034 : bra = c; /* [, line 36 */
161 : 555034 : { int c4 = c; /* or, line 36 */
162 [ + + ][ + + ]: 555034 : if (c == l || p[c] != 'u') goto lab3;
163 : 15380 : c++;
164 : 15380 : ket = c; /* ], line 36 */
165 [ + + ]: 15380 : if (in_grouping_U(g_v, 97, 252, 0)) goto lab3; /* grouping v, line 36 */
166 : 2483 : { int ret = slice_from_s(1, s_0); /* <-, line 36 */
167 [ - + ]: 2483 : if (ret < 0) return ret;
168 : : }
169 : 2483 : goto lab2;
170 : : lab3:
171 : 552551 : c = c4;
172 [ + + ][ + + ]: 552551 : if (c == l || p[c] != 'y') goto lab1;
173 : 11338 : c++;
174 : 11338 : ket = c; /* ], line 37 */
175 [ + + ]: 11338 : if (in_grouping_U(g_v, 97, 252, 0)) goto lab1; /* grouping v, line 37 */
176 : 2134 : { int ret = slice_from_s(1, s_1); /* <-, line 37 */
177 [ - + ]: 2134 : if (ret < 0) return ret;
178 : : }
179 : : }
180 : : lab2:
181 : 4617 : c = c3;
182 : : break;
183 : : lab1:
184 : 4380329 : c = c3;
185 : 4380329 : { int ret = skip_utf8(p, c, 0, l, 1);
186 [ + + ]: 4380329 : if (ret < 0) goto lab0;
187 : 4274680 : c = ret; /* goto, line 35 */
188 : : }
189 : : }
190 : 4617 : continue;
191 : : lab0:
192 : 105649 : c = c2;
193 : : break;
194 : : }
195 : 105649 : c = c_test1;
196 : : }
197 : 4262785 : while(1) { /* repeat, line 40 */
198 : 4368434 : int c5 = c;
199 : 4368434 : bra = c; /* [, line 41 */
200 : 4368434 : among_var = find_among(s_pool, a_0, 6, 0, 0); /* substring, line 41 */
201 [ - + ]: 4368434 : if (!(among_var)) goto lab4;
202 : 4368434 : ket = c; /* ], line 41 */
203 [ - + + + + : 4368434 : switch(among_var) { /* among, line 41 */
+ + - ]
204 : 0 : case 0: goto lab4;
205 : : case 1:
206 : 587 : { int ret = slice_from_s(2, s_2); /* <-, line 42 */
207 [ - + ]: 587 : if (ret < 0) return ret;
208 : : }
209 : 587 : break;
210 : : case 2:
211 : 2007 : { int ret = slice_from_s(2, s_3); /* <-, line 43 */
212 [ - + ]: 2007 : if (ret < 0) return ret;
213 : : }
214 : 2007 : break;
215 : : case 3:
216 : 1957 : { int ret = slice_from_s(2, s_4); /* <-, line 44 */
217 [ - + ]: 1957 : if (ret < 0) return ret;
218 : : }
219 : 1957 : break;
220 : : case 4:
221 : 1664 : { int ret = slice_from_s(2, s_5); /* <-, line 45 */
222 [ - + ]: 1664 : if (ret < 0) return ret;
223 : : }
224 : 1664 : break;
225 : : case 5:
226 : 2113 : { int ret = skip_utf8(p, c, 0, l, + 2); /* hop, line 46 */
227 [ + + ]: 2113 : if (ret < 0) goto lab4;
228 : 1975 : c = ret;
229 : : }
230 : 1975 : break;
231 : : case 6:
232 : 4360106 : { int ret = skip_utf8(p, c, 0, l, 1);
233 [ + + ]: 4360106 : if (ret < 0) goto lab4;
234 : 4254595 : c = ret; /* next, line 47 */
235 : : }
236 : : break;
237 : : }
238 : 4262785 : continue;
239 : : lab4:
240 : 105649 : c = c5;
241 : : break;
242 : : }
243 : 105649 : return 1;
244 : : }
245 : :
246 : 105649 : int Xapian::InternalStemGerman2::r_mark_regions() { /* forwardmode */
247 : 105649 : I_p1 = l; /* p1 = <integer expression>, line 55 */
248 : 105649 : I_p2 = l; /* p2 = <integer expression>, line 56 */
249 : 105649 : { int c_test1 = c; /* test, line 58 */
250 : 105649 : { int ret = skip_utf8(p, c, 0, l, + 3); /* hop, line 58 */
251 [ + + ]: 105649 : if (ret < 0) return 0;
252 : 101688 : c = ret;
253 : : }
254 : 101688 : I_x = c; /* setmark x, line 58 */
255 : 101688 : c = c_test1;
256 : : }
257 : 101688 : { int ret = out_grouping_U(g_v, 97, 252, 1); /* gopast */ /* grouping v, line 60 */
258 [ + + ]: 101688 : if (ret < 0) return 0;
259 : 95771 : c += ret;
260 : : }
261 : 95771 : { int ret = in_grouping_U(g_v, 97, 252, 1); /* gopast */ /* non v, line 60 */
262 [ + + ]: 95771 : if (ret < 0) return 0;
263 : 94367 : c += ret;
264 : : }
265 : 94367 : I_p1 = c; /* setmark p1, line 60 */
266 : : /* try, line 61 */
267 [ + + ]: 94367 : if (!(I_p1 < I_x)) goto lab0; /* p1 < <integer expression>, line 61 */
268 : 15430 : I_p1 = I_x; /* p1 = <integer expression>, line 61 */
269 : : lab0:
270 : 94367 : { int ret = out_grouping_U(g_v, 97, 252, 1); /* gopast */ /* grouping v, line 62 */
271 [ + + ]: 94367 : if (ret < 0) return 0;
272 : 83873 : c += ret;
273 : : }
274 : 83873 : { int ret = in_grouping_U(g_v, 97, 252, 1); /* gopast */ /* non v, line 62 */
275 [ + + ]: 83873 : if (ret < 0) return 0;
276 : 80254 : c += ret;
277 : : }
278 : 80254 : I_p2 = c; /* setmark p2, line 62 */
279 : 105649 : return 1;
280 : : }
281 : :
282 : 4318626 : int Xapian::InternalStemGerman2::r_postlude() { /* forwardmode */
283 : : int among_var;
284 : 4212977 : while(1) { /* repeat, line 66 */
285 : 4318626 : int c1 = c;
286 : 4318626 : bra = c; /* [, line 68 */
287 : 4318626 : among_var = find_among(s_pool, a_1, 6, 0, 0); /* substring, line 68 */
288 [ - + ]: 4318626 : if (!(among_var)) goto lab0;
289 : 4318626 : ket = c; /* ], line 68 */
290 [ - + + + + : 4318626 : switch(among_var) { /* among, line 68 */
+ + - ]
291 : 0 : case 0: goto lab0;
292 : : case 1:
293 : 10318 : { int ret = slice_from_s(1, s_6); /* <-, line 69 */
294 [ - + ]: 10318 : if (ret < 0) return ret;
295 : : }
296 : 10318 : break;
297 : : case 2:
298 : 10628 : { int ret = slice_from_s(1, s_7); /* <-, line 70 */
299 [ - + ]: 10628 : if (ret < 0) return ret;
300 : : }
301 : 10628 : break;
302 : : case 3:
303 : 5060 : { int ret = slice_from_s(1, s_8); /* <-, line 71 */
304 [ - + ]: 5060 : if (ret < 0) return ret;
305 : : }
306 : 5060 : break;
307 : : case 4:
308 : 3208 : { int ret = slice_from_s(1, s_9); /* <-, line 72 */
309 [ - + ]: 3208 : if (ret < 0) return ret;
310 : : }
311 : 3208 : break;
312 : : case 5:
313 : 4678 : { int ret = slice_from_s(1, s_10); /* <-, line 73 */
314 [ - + ]: 4678 : if (ret < 0) return ret;
315 : : }
316 : 4678 : break;
317 : : case 6:
318 : 4284734 : { int ret = skip_utf8(p, c, 0, l, 1);
319 [ + + ]: 4284734 : if (ret < 0) goto lab0;
320 : 4179085 : c = ret; /* next, line 74 */
321 : : }
322 : : break;
323 : : }
324 : 4212977 : continue;
325 : : lab0:
326 : 105649 : c = c1;
327 : : break;
328 : : }
329 : 105649 : return 1;
330 : : }
331 : :
332 : 29298 : int Xapian::InternalStemGerman2::r_R1() { /* backwardmode */
333 [ + + ]: 29298 : if (!(I_p1 <= c)) return 0; /* p1 <= <integer expression>, line 81 */
334 : 29298 : return 1;
335 : : }
336 : :
337 : 7071 : int Xapian::InternalStemGerman2::r_R2() { /* backwardmode */
338 [ + + ]: 7071 : if (!(I_p2 <= c)) return 0; /* p2 <= <integer expression>, line 82 */
339 : 7071 : return 1;
340 : : }
341 : :
342 : 105649 : int Xapian::InternalStemGerman2::r_standard_suffix() { /* backwardmode */
343 : : int among_var;
344 : 105649 : { int m1 = l - c; (void)m1; /* do, line 85 */
345 : 105649 : ket = c; /* [, line 86 */
346 [ + - ][ + + ]: 105649 : if (c <= lb || p[c - 1] >> 5 != 3 || !((811040 >> (p[c - 1] & 0x1f)) & 1)) goto lab0; /* substring, line 86 */
[ + + ]
347 : 33811 : among_var = find_among_b(s_pool, a_2, 7, 0, 0);
348 [ + + ]: 33811 : if (!(among_var)) goto lab0;
349 : 26188 : bra = c; /* ], line 86 */
350 : 26188 : { int ret = r_R1(); /* call R1, line 86 */
351 [ + + ]: 26188 : if (ret == 0) goto lab0;
352 [ - + ]: 25251 : if (ret < 0) return ret;
353 : : }
354 [ - + + + : 25251 : switch(among_var) { /* among, line 86 */
- ]
355 : 0 : case 0: goto lab0;
356 : : case 1:
357 [ - + ]: 3080 : if (slice_del() == -1) return -1; /* delete, line 88 */
358 : 3080 : break;
359 : : case 2:
360 [ - + ]: 18963 : if (slice_del() == -1) return -1; /* delete, line 91 */
361 : 18963 : { int m2 = l - c; (void)m2; /* try, line 92 */
362 : 18963 : ket = c; /* [, line 92 */
363 [ + - ][ + + ]: 18963 : if (c <= lb || p[c - 1] != 's') { c = l - m2; goto lab1; }
364 : 1278 : c--;
365 : 1278 : bra = c; /* ], line 92 */
366 [ + + ]: 1278 : if (!(eq_s_b(3, s_11))) { c = l - m2; goto lab1; } /* literal, line 92 */
367 [ - + ]: 70 : if (slice_del() == -1) return -1; /* delete, line 92 */
368 : : lab1:
369 : : ;
370 : : }
371 : 18963 : break;
372 : : case 3:
373 [ + + ]: 3208 : if (in_grouping_b_U(g_s_ending, 98, 116, 0)) goto lab0; /* grouping s_ending, line 95 */
374 [ - + ]: 1466 : if (slice_del() == -1) return -1; /* delete, line 95 */
375 : : break;
376 : : }
377 : : lab0:
378 : 105649 : c = l - m1;
379 : : }
380 : 105649 : { int m3 = l - c; (void)m3; /* do, line 99 */
381 : 105649 : ket = c; /* [, line 100 */
382 [ + + ][ + + ]: 105649 : if (c - 1 <= lb || p[c - 1] >> 5 != 3 || !((1327104 >> (p[c - 1] & 0x1f)) & 1)) goto lab2; /* substring, line 100 */
[ + + ]
383 : 20553 : among_var = find_among_b(s_pool, a_3, 4, 0, 0);
384 [ + + ]: 20553 : if (!(among_var)) goto lab2;
385 : 2910 : bra = c; /* ], line 100 */
386 : 2910 : { int ret = r_R1(); /* call R1, line 100 */
387 [ + + ]: 2910 : if (ret == 0) goto lab2;
388 [ - + ]: 2569 : if (ret < 0) return ret;
389 : : }
390 [ - + + - ]: 2569 : switch(among_var) { /* among, line 100 */
391 : 0 : case 0: goto lab2;
392 : : case 1:
393 [ - + ]: 1484 : if (slice_del() == -1) return -1; /* delete, line 102 */
394 : 1484 : break;
395 : : case 2:
396 [ + + ]: 1085 : if (in_grouping_b_U(g_st_ending, 98, 116, 0)) goto lab2; /* grouping st_ending, line 105 */
397 : 513 : { int ret = skip_utf8(p, c, lb, l, - 3); /* hop, line 105 */
398 [ + + ]: 513 : if (ret < 0) goto lab2;
399 : 471 : c = ret;
400 : : }
401 [ - + ]: 471 : if (slice_del() == -1) return -1; /* delete, line 105 */
402 : : break;
403 : : }
404 : : lab2:
405 : 105649 : c = l - m3;
406 : : }
407 : 105649 : { int m4 = l - c; (void)m4; /* do, line 109 */
408 : 105649 : ket = c; /* [, line 110 */
409 [ + + ][ + + ]: 105649 : if (c - 1 <= lb || p[c - 1] >> 5 != 3 || !((1051024 >> (p[c - 1] & 0x1f)) & 1)) goto lab3; /* substring, line 110 */
[ + + ]
410 : 32669 : among_var = find_among_b(s_pool, a_5, 8, 0, 0);
411 [ + + ]: 32669 : if (!(among_var)) goto lab3;
412 : 6673 : bra = c; /* ], line 110 */
413 : 6673 : { int ret = r_R2(); /* call R2, line 110 */
414 [ + + ]: 6673 : if (ret == 0) goto lab3;
415 [ - + ]: 4369 : if (ret < 0) return ret;
416 : : }
417 [ - + + + + : 4369 : switch(among_var) { /* among, line 110 */
- ]
418 : 0 : case 0: goto lab3;
419 : : case 1:
420 [ - + ]: 1670 : if (slice_del() == -1) return -1; /* delete, line 112 */
421 : 1670 : { int m5 = l - c; (void)m5; /* try, line 113 */
422 : 1670 : ket = c; /* [, line 113 */
423 [ + + ]: 1670 : if (!(eq_s_b(2, s_12))) { c = l - m5; goto lab4; } /* literal, line 113 */
424 : 91 : bra = c; /* ], line 113 */
425 : 91 : { int m6 = l - c; (void)m6; /* not, line 113 */
426 [ + - ][ + + ]: 91 : if (c <= lb || p[c - 1] != 'e') goto lab5;
427 : 11 : c--;
428 : 11 : { c = l - m5; goto lab4; }
429 : : lab5:
430 : 80 : c = l - m6;
431 : : }
432 : 80 : { int ret = r_R2(); /* call R2, line 113 */
433 [ + + ]: 80 : if (ret == 0) { c = l - m5; goto lab4; }
434 [ - + ]: 64 : if (ret < 0) return ret;
435 : : }
436 [ - + ]: 64 : if (slice_del() == -1) return -1; /* delete, line 113 */
437 : : lab4:
438 : : ;
439 : : }
440 : 1670 : break;
441 : : case 2:
442 : 1492 : { int m7 = l - c; (void)m7; /* not, line 116 */
443 [ + - ][ + + ]: 1492 : if (c <= lb || p[c - 1] != 'e') goto lab6;
444 : 20 : c--;
445 : 20 : goto lab3;
446 : : lab6:
447 : 1472 : c = l - m7;
448 : : }
449 [ - + ]: 1472 : if (slice_del() == -1) return -1; /* delete, line 116 */
450 : 1472 : break;
451 : : case 3:
452 [ - + ]: 845 : if (slice_del() == -1) return -1; /* delete, line 119 */
453 : 845 : { int m8 = l - c; (void)m8; /* try, line 120 */
454 : 845 : ket = c; /* [, line 121 */
455 : 845 : { int m9 = l - c; (void)m9; /* or, line 121 */
456 [ + + ]: 845 : if (!(eq_s_b(2, s_13))) goto lab9; /* literal, line 121 */
457 : 133 : goto lab8;
458 : : lab9:
459 : 712 : c = l - m9;
460 [ + + ]: 712 : if (!(eq_s_b(2, s_14))) { c = l - m8; goto lab7; } /* literal, line 121 */
461 : : }
462 : : lab8:
463 : 200 : bra = c; /* ], line 121 */
464 : 200 : { int ret = r_R1(); /* call R1, line 121 */
465 [ - + ]: 200 : if (ret == 0) { c = l - m8; goto lab7; }
466 [ - + ]: 200 : if (ret < 0) return ret;
467 : : }
468 [ - + ]: 200 : if (slice_del() == -1) return -1; /* delete, line 121 */
469 : : lab7:
470 : : ;
471 : : }
472 : 845 : break;
473 : : case 4:
474 [ - + ]: 362 : if (slice_del() == -1) return -1; /* delete, line 125 */
475 : 362 : { int m10 = l - c; (void)m10; /* try, line 126 */
476 : 362 : ket = c; /* [, line 127 */
477 [ + - ][ + + ]: 362 : if (c - 1 <= lb || (p[c - 1] != 103 && p[c - 1] != 104)) { c = l - m10; goto lab10; } /* substring, line 127 */
[ + + ]
478 : 318 : among_var = find_among_b(s_pool, a_4, 2, 0, 0);
479 [ - + ]: 318 : if (!(among_var)) { c = l - m10; goto lab10; }
480 : 318 : bra = c; /* ], line 127 */
481 : 318 : { int ret = r_R2(); /* call R2, line 127 */
482 [ + + ]: 318 : if (ret == 0) { c = l - m10; goto lab10; }
483 [ - + ]: 217 : if (ret < 0) return ret;
484 : : }
485 [ - + - ]: 217 : switch(among_var) { /* among, line 127 */
486 : 0 : case 0: { c = l - m10; goto lab10; }
487 : : case 1:
488 [ - + ]: 217 : if (slice_del() == -1) return -1; /* delete, line 129 */
489 : : break;
490 : : }
491 : : lab10:
492 : : ;
493 : : }
494 : : break;
495 : : }
496 : : lab3:
497 : 105649 : c = l - m4;
498 : : }
499 : 105649 : return 1;
500 : : }
501 : :
502 : 105649 : int Xapian::InternalStemGerman2::stem() { /* forwardmode */
503 : 105649 : { int c1 = c; /* do, line 140 */
504 : 105649 : { int ret = r_prelude(); /* call prelude, line 140 */
505 [ - + ]: 105649 : if (ret == 0) goto lab0;
506 [ - + ]: 105649 : if (ret < 0) return ret;
507 : : }
508 : : lab0:
509 : 105649 : c = c1;
510 : : }
511 : 105649 : { int c2 = c; /* do, line 141 */
512 : 105649 : { int ret = r_mark_regions(); /* call mark_regions, line 141 */
513 [ + + ]: 105649 : if (ret == 0) goto lab1;
514 [ - + ]: 80254 : if (ret < 0) return ret;
515 : : }
516 : : lab1:
517 : 105649 : c = c2;
518 : : }
519 : 105649 : lb = c; c = l; /* backwards, line 142 */
520 : :
521 : 105649 : { int m3 = l - c; (void)m3; /* do, line 143 */
522 : 105649 : { int ret = r_standard_suffix(); /* call standard_suffix, line 143 */
523 [ - + ]: 105649 : if (ret == 0) goto lab2;
524 [ - + ]: 105649 : if (ret < 0) return ret;
525 : : }
526 : : lab2:
527 : 105649 : c = l - m3;
528 : : }
529 : 105649 : c = lb;
530 : 105649 : { int c4 = c; /* do, line 144 */
531 : 105649 : { int ret = r_postlude(); /* call postlude, line 144 */
532 [ - + ]: 105649 : if (ret == 0) goto lab3;
533 [ - + ]: 105649 : if (ret < 0) return ret;
534 : : }
535 : : lab3:
536 : 105649 : c = c4;
537 : : }
538 : 105649 : return 1;
539 : : }
540 : :
541 : 2 : Xapian::InternalStemGerman2::InternalStemGerman2()
542 : 2 : : I_x(0), I_p2(0), I_p1(0)
543 : : {
544 : 2 : }
545 : :
546 : 2 : Xapian::InternalStemGerman2::~InternalStemGerman2()
547 : : {
548 [ + - ][ # # ]: 2 : }
[ # # ]
549 : :
550 : : std::string
551 : 1 : Xapian::InternalStemGerman2::get_description() const
552 : : {
553 : 1 : return "german2";
554 : : }
|