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 "hungarian.h"
5 : :
6 : : static const symbol s_pool[] = {
7 : : #define s_0_0 0
8 : : 'c', 's',
9 : : #define s_0_1 2
10 : : 'd', 'z', 's',
11 : : #define s_0_2 5
12 : : 'g', 'y',
13 : : #define s_0_3 7
14 : : 'l', 'y',
15 : : #define s_0_4 9
16 : : 'n', 'y',
17 : : #define s_0_5 11
18 : : 's', 'z',
19 : : #define s_0_6 13
20 : : 't', 'y',
21 : : #define s_0_7 (s_0_1 + 1)
22 : : #define s_1_0 15
23 : : 0xC3, 0xA1,
24 : : #define s_1_1 17
25 : : 0xC3, 0xA9,
26 : : #define s_2_0 19
27 : : 'b', 'b',
28 : : #define s_2_1 s_2_12
29 : : #define s_2_2 21
30 : : 'd', 'd',
31 : : #define s_2_3 23
32 : : 'f', 'f',
33 : : #define s_2_4 s_2_17
34 : : #define s_2_5 25
35 : : 'j', 'j',
36 : : #define s_2_6 27
37 : : 'k', 'k',
38 : : #define s_2_7 s_2_18
39 : : #define s_2_8 29
40 : : 'm', 'm',
41 : : #define s_2_9 s_2_19
42 : : #define s_2_10 31
43 : : 'p', 'p',
44 : : #define s_2_11 33
45 : : 'r', 'r',
46 : : #define s_2_12 35
47 : : 'c', 'c', 's',
48 : : #define s_2_13 s_2_21
49 : : #define s_2_14 38
50 : : 'z', 'z', 's',
51 : : #define s_2_15 s_2_20
52 : : #define s_2_16 41
53 : : 'v', 'v',
54 : : #define s_2_17 43
55 : : 'g', 'g', 'y',
56 : : #define s_2_18 46
57 : : 'l', 'l', 'y',
58 : : #define s_2_19 49
59 : : 'n', 'n', 'y',
60 : : #define s_2_20 52
61 : : 't', 't', 'y',
62 : : #define s_2_21 55
63 : : 's', 's', 'z',
64 : : #define s_2_22 s_2_14
65 : : #define s_3_0 58
66 : : 'a', 'l',
67 : : #define s_3_1 60
68 : : 'e', 'l',
69 : : #define s_4_0 s_4_21
70 : : #define s_4_1 62
71 : : 'r', 'a',
72 : : #define s_4_2 s_4_23
73 : : #define s_4_3 64
74 : : 'r', 'e',
75 : : #define s_4_4 66
76 : : 'i', 'g',
77 : : #define s_4_5 68
78 : : 'n', 'a', 'k',
79 : : #define s_4_6 71
80 : : 'n', 'e', 'k',
81 : : #define s_4_7 74
82 : : 'v', 'a', 'l',
83 : : #define s_4_8 77
84 : : 'v', 'e', 'l',
85 : : #define s_4_9 80
86 : : 'u', 'l',
87 : : #define s_4_10 82
88 : : 'n', 0xC3, 0xA1, 'l',
89 : : #define s_4_11 86
90 : : 'n', 0xC3, 0xA9, 'l',
91 : : #define s_4_12 90
92 : : 'b', 0xC3, 0xB3, 'l',
93 : : #define s_4_13 94
94 : : 'r', 0xC3, 0xB3, 'l',
95 : : #define s_4_14 98
96 : : 't', 0xC3, 0xB3, 'l',
97 : : #define s_4_15 102
98 : : 'b', 0xC3, 0xB5, 'l',
99 : : #define s_4_16 106
100 : : 'r', 0xC3, 0xB5, 'l',
101 : : #define s_4_17 110
102 : : 't', 0xC3, 0xB5, 'l',
103 : : #define s_4_18 114
104 : : 0xC3, 0xBC, 'l',
105 : : #define s_4_19 s_4_5
106 : : #define s_4_20 (s_4_21 + 1)
107 : : #define s_4_21 117
108 : : 'b', 'a', 'n',
109 : : #define s_4_22 (s_4_23 + 1)
110 : : #define s_4_23 120
111 : : 'b', 'e', 'n',
112 : : #define s_4_24 123
113 : : 'k', 0xC3, 0xA9, 'p', 'p', 'e', 'n',
114 : : #define s_4_25 s_4_35
115 : : #define s_4_26 130
116 : : 0xC3, 0xB6, 'n',
117 : : #define s_4_27 s_4_24
118 : : #define s_4_28 133
119 : : 'k', 'o', 'r',
120 : : #define s_4_29 s_4_14
121 : : #define s_4_30 136
122 : : 'a', 't',
123 : : #define s_4_31 138
124 : : 'e', 't',
125 : : #define s_4_32 (s_4_33 + 2)
126 : : #define s_4_33 140
127 : : 'a', 'n', 'k', 0xC3, 0xA9, 'n', 't',
128 : : #define s_4_34 147
129 : : 'e', 'n', 'k', 0xC3, 0xA9, 'n', 't',
130 : : #define s_4_35 154
131 : : 'o', 'n', 'k', 0xC3, 0xA9, 'n', 't',
132 : : #define s_4_36 161
133 : : 'o', 't',
134 : : #define s_4_37 163
135 : : 0xC3, 0xA9, 'r', 't',
136 : : #define s_4_38 167
137 : : 0xC3, 0xB6, 't',
138 : : #define s_4_39 170
139 : : 'h', 'e', 'z',
140 : : #define s_4_40 173
141 : : 'h', 'o', 'z',
142 : : #define s_4_41 176
143 : : 'h', 0xC3, 0xB6, 'z',
144 : : #define s_4_42 180
145 : : 'v', 0xC3, 0xA1,
146 : : #define s_4_43 183
147 : : 'v', 0xC3, 0xA9,
148 : : #define s_5_0 s_5_2
149 : : #define s_5_1 (s_5_2 + 4)
150 : : #define s_5_2 186
151 : : 0xC3, 0xA1, 'n', 'k', 0xC3, 0xA9, 'n', 't',
152 : : #define s_6_0 (s_6_1 + 1)
153 : : #define s_6_1 194
154 : : 'a', 's', 't', 'u', 'l',
155 : : #define s_6_2 199
156 : : 0xC3, 0xA1, 's', 't', 'u', 'l',
157 : : #define s_6_3 (s_6_4 + 1)
158 : : #define s_6_4 205
159 : : 'e', 's', 't', 0xC3, 0xBC, 'l',
160 : : #define s_6_5 211
161 : : 0xC3, 0xA9, 's', 't', 0xC3, 0xBC, 'l',
162 : : #define s_7_0 218
163 : : 0xC3, 0xA1,
164 : : #define s_7_1 220
165 : : 0xC3, 0xA9,
166 : : #define s_8_0 (s_8_1 + 1)
167 : : #define s_8_1 222
168 : : 'a', 'k',
169 : : #define s_8_2 224
170 : : 'e', 'k',
171 : : #define s_8_3 226
172 : : 'o', 'k',
173 : : #define s_8_4 228
174 : : 0xC3, 0xA1, 'k',
175 : : #define s_8_5 231
176 : : 0xC3, 0xA9, 'k',
177 : : #define s_8_6 234
178 : : 0xC3, 0xB6, 'k',
179 : : #define s_9_0 (s_9_1 + 2)
180 : : #define s_9_1 237
181 : : 0xC3, 0xA1, 0xC3, 0xA9, 'i',
182 : : #define s_9_2 242
183 : : 0xC3, 0xA9, 0xC3, 0xA9, 'i',
184 : : #define s_9_3 s_9_0
185 : : #define s_9_4 (s_9_5 + 1)
186 : : #define s_9_5 247
187 : : 'a', 'k', 0xC3, 0xA9,
188 : : #define s_9_6 251
189 : : 'e', 'k', 0xC3, 0xA9,
190 : : #define s_9_7 255
191 : : 'o', 'k', 0xC3, 0xA9,
192 : : #define s_9_8 259
193 : : 0xC3, 0xA1, 'k', 0xC3, 0xA9,
194 : : #define s_9_9 264
195 : : 0xC3, 0xA9, 'k', 0xC3, 0xA9,
196 : : #define s_9_10 269
197 : : 0xC3, 0xB6, 'k', 0xC3, 0xA9,
198 : : #define s_9_11 s_9_2
199 : : #define s_10_0 (s_10_1 + 1)
200 : : #define s_10_1 274
201 : : 'j', 'a',
202 : : #define s_10_2 (s_10_3 + 1)
203 : : #define s_10_3 276
204 : : 'a', 'd',
205 : : #define s_10_4 278
206 : : 'e', 'd',
207 : : #define s_10_5 280
208 : : 'o', 'd',
209 : : #define s_10_6 282
210 : : 0xC3, 0xA1, 'd',
211 : : #define s_10_7 285
212 : : 0xC3, 0xA9, 'd',
213 : : #define s_10_8 288
214 : : 0xC3, 0xB6, 'd',
215 : : #define s_10_9 s_10_4
216 : : #define s_10_10 291
217 : : 'j', 'e',
218 : : #define s_10_11 (s_10_12 + 1)
219 : : #define s_10_12 293
220 : : 'u', 'n', 'k',
221 : : #define s_10_13 296
222 : : 0xC3, 0xA1, 'n', 'k',
223 : : #define s_10_14 300
224 : : 0xC3, 0xA9, 'n', 'k',
225 : : #define s_10_15 304
226 : : 0xC3, 0xBC, 'n', 'k',
227 : : #define s_10_16 (s_10_17 + 1)
228 : : #define s_10_17 (s_10_18 + 2)
229 : : #define s_10_18 308
230 : : 0xC3, 0xA1, 'j', 'u', 'k',
231 : : #define s_10_19 (s_10_20 + 1)
232 : : #define s_10_20 (s_10_21 + 2)
233 : : #define s_10_21 313
234 : : 0xC3, 0xA9, 'j', 0xC3, 0xBC, 'k',
235 : : #define s_10_22 (s_10_23 + 1)
236 : : #define s_10_23 319
237 : : 'a', 'm',
238 : : #define s_10_24 321
239 : : 'e', 'm',
240 : : #define s_10_25 323
241 : : 'o', 'm',
242 : : #define s_10_26 325
243 : : 0xC3, 0xA1, 'm',
244 : : #define s_10_27 328
245 : : 0xC3, 0xA9, 'm',
246 : : #define s_10_28 s_10_5
247 : : #define s_10_29 s_10_6
248 : : #define s_10_30 s_10_7
249 : : #define s_11_0 (s_11_1 + 1)
250 : : #define s_11_1 (s_11_2 + 1)
251 : : #define s_11_2 331
252 : : 'j', 'a', 'i', 'd',
253 : : #define s_11_3 (s_11_4 + 1)
254 : : #define s_11_4 335
255 : : 'j', 'e', 'i', 'd',
256 : : #define s_11_5 339
257 : : 0xC3, 0xA1, 'i', 'd',
258 : : #define s_11_6 343
259 : : 0xC3, 0xA9, 'i', 'd',
260 : : #define s_11_7 s_11_0
261 : : #define s_11_8 s_11_1
262 : : #define s_11_9 s_11_2
263 : : #define s_11_10 s_11_3
264 : : #define s_11_11 s_11_4
265 : : #define s_11_12 s_11_5
266 : : #define s_11_13 s_11_6
267 : : #define s_11_14 (s_11_15 + 1)
268 : : #define s_11_15 (s_11_16 + 1)
269 : : #define s_11_16 347
270 : : 'j', 'e', 'i', 't', 'e', 'k',
271 : : #define s_11_17 353
272 : : 0xC3, 0xA9, 'i', 't', 'e', 'k',
273 : : #define s_11_18 (s_11_19 + 1)
274 : : #define s_11_19 (s_11_20 + 1)
275 : : #define s_11_20 359
276 : : 'j', 'a', 'i', 'k',
277 : : #define s_11_21 (s_11_22 + 1)
278 : : #define s_11_22 363
279 : : 'j', 'e', 'i', 'k',
280 : : #define s_11_23 367
281 : : 0xC3, 0xA1, 'i', 'k',
282 : : #define s_11_24 371
283 : : 0xC3, 0xA9, 'i', 'k',
284 : : #define s_11_25 (s_11_26 + 1)
285 : : #define s_11_26 (s_11_27 + 1)
286 : : #define s_11_27 375
287 : : 'j', 'a', 'i', 'n', 'k',
288 : : #define s_11_28 (s_11_29 + 1)
289 : : #define s_11_29 380
290 : : 'j', 'e', 'i', 'n', 'k',
291 : : #define s_11_30 385
292 : : 0xC3, 0xA1, 'i', 'n', 'k',
293 : : #define s_11_31 390
294 : : 0xC3, 0xA9, 'i', 'n', 'k',
295 : : #define s_11_32 (s_11_33 + 1)
296 : : #define s_11_33 395
297 : : 'j', 'a', 'i', 't', 'o', 'k',
298 : : #define s_11_34 401
299 : : 0xC3, 0xA1, 'i', 't', 'o', 'k',
300 : : #define s_11_35 (s_11_36 + 1)
301 : : #define s_11_36 (s_11_37 + 1)
302 : : #define s_11_37 407
303 : : 'j', 'a', 'i', 'm',
304 : : #define s_11_38 (s_11_39 + 1)
305 : : #define s_11_39 411
306 : : 'j', 'e', 'i', 'm',
307 : : #define s_11_40 415
308 : : 0xC3, 0xA1, 'i', 'm',
309 : : #define s_11_41 419
310 : : 0xC3, 0xA9, 'i', 'm',
311 : : };
312 : :
313 : :
314 : : static const struct among a_0[8] =
315 : : {
316 : : /* 0 */ { 2, s_0_0, -1, -1},
317 : : /* 1 */ { 3, s_0_1, -1, -1},
318 : : /* 2 */ { 2, s_0_2, -1, -1},
319 : : /* 3 */ { 2, s_0_3, -1, -1},
320 : : /* 4 */ { 2, s_0_4, -1, -1},
321 : : /* 5 */ { 2, s_0_5, -1, -1},
322 : : /* 6 */ { 2, s_0_6, -1, -1},
323 : : /* 7 */ { 2, s_0_7, -1, -1}
324 : : };
325 : :
326 : :
327 : : static const struct among a_1[2] =
328 : : {
329 : : /* 0 */ { 2, s_1_0, -1, 1},
330 : : /* 1 */ { 2, s_1_1, -1, 2}
331 : : };
332 : :
333 : :
334 : : static const struct among a_2[23] =
335 : : {
336 : : /* 0 */ { 2, s_2_0, -1, -1},
337 : : /* 1 */ { 2, s_2_1, -1, -1},
338 : : /* 2 */ { 2, s_2_2, -1, -1},
339 : : /* 3 */ { 2, s_2_3, -1, -1},
340 : : /* 4 */ { 2, s_2_4, -1, -1},
341 : : /* 5 */ { 2, s_2_5, -1, -1},
342 : : /* 6 */ { 2, s_2_6, -1, -1},
343 : : /* 7 */ { 2, s_2_7, -1, -1},
344 : : /* 8 */ { 2, s_2_8, -1, -1},
345 : : /* 9 */ { 2, s_2_9, -1, -1},
346 : : /* 10 */ { 2, s_2_10, -1, -1},
347 : : /* 11 */ { 2, s_2_11, -1, -1},
348 : : /* 12 */ { 3, s_2_12, -1, -1},
349 : : /* 13 */ { 2, s_2_13, -1, -1},
350 : : /* 14 */ { 3, s_2_14, -1, -1},
351 : : /* 15 */ { 2, s_2_15, -1, -1},
352 : : /* 16 */ { 2, s_2_16, -1, -1},
353 : : /* 17 */ { 3, s_2_17, -1, -1},
354 : : /* 18 */ { 3, s_2_18, -1, -1},
355 : : /* 19 */ { 3, s_2_19, -1, -1},
356 : : /* 20 */ { 3, s_2_20, -1, -1},
357 : : /* 21 */ { 3, s_2_21, -1, -1},
358 : : /* 22 */ { 2, s_2_22, -1, -1}
359 : : };
360 : :
361 : :
362 : : static const struct among a_3[2] =
363 : : {
364 : : /* 0 */ { 2, s_3_0, -1, 1},
365 : : /* 1 */ { 2, s_3_1, -1, 2}
366 : : };
367 : :
368 : :
369 : : static const struct among a_4[44] =
370 : : {
371 : : /* 0 */ { 2, s_4_0, -1, -1},
372 : : /* 1 */ { 2, s_4_1, -1, -1},
373 : : /* 2 */ { 2, s_4_2, -1, -1},
374 : : /* 3 */ { 2, s_4_3, -1, -1},
375 : : /* 4 */ { 2, s_4_4, -1, -1},
376 : : /* 5 */ { 3, s_4_5, -1, -1},
377 : : /* 6 */ { 3, s_4_6, -1, -1},
378 : : /* 7 */ { 3, s_4_7, -1, -1},
379 : : /* 8 */ { 3, s_4_8, -1, -1},
380 : : /* 9 */ { 2, s_4_9, -1, -1},
381 : : /* 10 */ { 4, s_4_10, -1, -1},
382 : : /* 11 */ { 4, s_4_11, -1, -1},
383 : : /* 12 */ { 4, s_4_12, -1, -1},
384 : : /* 13 */ { 4, s_4_13, -1, -1},
385 : : /* 14 */ { 4, s_4_14, -1, -1},
386 : : /* 15 */ { 4, s_4_15, -1, -1},
387 : : /* 16 */ { 4, s_4_16, -1, -1},
388 : : /* 17 */ { 4, s_4_17, -1, -1},
389 : : /* 18 */ { 3, s_4_18, -1, -1},
390 : : /* 19 */ { 1, s_4_19, -1, -1},
391 : : /* 20 */ { 2, s_4_20, 19, -1},
392 : : /* 21 */ { 3, s_4_21, 20, -1},
393 : : /* 22 */ { 2, s_4_22, 19, -1},
394 : : /* 23 */ { 3, s_4_23, 22, -1},
395 : : /* 24 */ { 7, s_4_24, 22, -1},
396 : : /* 25 */ { 2, s_4_25, 19, -1},
397 : : /* 26 */ { 3, s_4_26, 19, -1},
398 : : /* 27 */ { 5, s_4_27, -1, -1},
399 : : /* 28 */ { 3, s_4_28, -1, -1},
400 : : /* 29 */ { 1, s_4_29, -1, -1},
401 : : /* 30 */ { 2, s_4_30, 29, -1},
402 : : /* 31 */ { 2, s_4_31, 29, -1},
403 : : /* 32 */ { 5, s_4_32, 29, -1},
404 : : /* 33 */ { 7, s_4_33, 32, -1},
405 : : /* 34 */ { 7, s_4_34, 32, -1},
406 : : /* 35 */ { 7, s_4_35, 32, -1},
407 : : /* 36 */ { 2, s_4_36, 29, -1},
408 : : /* 37 */ { 4, s_4_37, 29, -1},
409 : : /* 38 */ { 3, s_4_38, 29, -1},
410 : : /* 39 */ { 3, s_4_39, -1, -1},
411 : : /* 40 */ { 3, s_4_40, -1, -1},
412 : : /* 41 */ { 4, s_4_41, -1, -1},
413 : : /* 42 */ { 3, s_4_42, -1, -1},
414 : : /* 43 */ { 3, s_4_43, -1, -1}
415 : : };
416 : :
417 : :
418 : : static const struct among a_5[3] =
419 : : {
420 : : /* 0 */ { 3, s_5_0, -1, 2},
421 : : /* 1 */ { 3, s_5_1, -1, 1},
422 : : /* 2 */ { 8, s_5_2, -1, 3}
423 : : };
424 : :
425 : :
426 : : static const struct among a_6[6] =
427 : : {
428 : : /* 0 */ { 4, s_6_0, -1, 2},
429 : : /* 1 */ { 5, s_6_1, 0, 1},
430 : : /* 2 */ { 6, s_6_2, 0, 3},
431 : : /* 3 */ { 5, s_6_3, -1, 2},
432 : : /* 4 */ { 6, s_6_4, 3, 1},
433 : : /* 5 */ { 7, s_6_5, 3, 4}
434 : : };
435 : :
436 : :
437 : : static const struct among a_7[2] =
438 : : {
439 : : /* 0 */ { 2, s_7_0, -1, 1},
440 : : /* 1 */ { 2, s_7_1, -1, 2}
441 : : };
442 : :
443 : :
444 : : static const struct among a_8[7] =
445 : : {
446 : : /* 0 */ { 1, s_8_0, -1, 7},
447 : : /* 1 */ { 2, s_8_1, 0, 4},
448 : : /* 2 */ { 2, s_8_2, 0, 6},
449 : : /* 3 */ { 2, s_8_3, 0, 5},
450 : : /* 4 */ { 3, s_8_4, 0, 1},
451 : : /* 5 */ { 3, s_8_5, 0, 2},
452 : : /* 6 */ { 3, s_8_6, 0, 3}
453 : : };
454 : :
455 : :
456 : : static const struct among a_9[12] =
457 : : {
458 : : /* 0 */ { 3, s_9_0, -1, 7},
459 : : /* 1 */ { 5, s_9_1, 0, 6},
460 : : /* 2 */ { 5, s_9_2, 0, 5},
461 : : /* 3 */ { 2, s_9_3, -1, 9},
462 : : /* 4 */ { 3, s_9_4, 3, 4},
463 : : /* 5 */ { 4, s_9_5, 4, 1},
464 : : /* 6 */ { 4, s_9_6, 4, 1},
465 : : /* 7 */ { 4, s_9_7, 4, 1},
466 : : /* 8 */ { 5, s_9_8, 4, 3},
467 : : /* 9 */ { 5, s_9_9, 4, 2},
468 : : /* 10 */ { 5, s_9_10, 4, 1},
469 : : /* 11 */ { 4, s_9_11, 3, 8}
470 : : };
471 : :
472 : :
473 : : static const struct among a_10[31] =
474 : : {
475 : : /* 0 */ { 1, s_10_0, -1, 18},
476 : : /* 1 */ { 2, s_10_1, 0, 17},
477 : : /* 2 */ { 1, s_10_2, -1, 16},
478 : : /* 3 */ { 2, s_10_3, 2, 13},
479 : : /* 4 */ { 2, s_10_4, 2, 13},
480 : : /* 5 */ { 2, s_10_5, 2, 13},
481 : : /* 6 */ { 3, s_10_6, 2, 14},
482 : : /* 7 */ { 3, s_10_7, 2, 15},
483 : : /* 8 */ { 3, s_10_8, 2, 13},
484 : : /* 9 */ { 1, s_10_9, -1, 18},
485 : : /* 10 */ { 2, s_10_10, 9, 17},
486 : : /* 11 */ { 2, s_10_11, -1, 4},
487 : : /* 12 */ { 3, s_10_12, 11, 1},
488 : : /* 13 */ { 4, s_10_13, 11, 2},
489 : : /* 14 */ { 4, s_10_14, 11, 3},
490 : : /* 15 */ { 4, s_10_15, 11, 1},
491 : : /* 16 */ { 2, s_10_16, -1, 8},
492 : : /* 17 */ { 3, s_10_17, 16, 7},
493 : : /* 18 */ { 5, s_10_18, 17, 5},
494 : : /* 19 */ { 3, s_10_19, -1, 8},
495 : : /* 20 */ { 4, s_10_20, 19, 7},
496 : : /* 21 */ { 6, s_10_21, 20, 6},
497 : : /* 22 */ { 1, s_10_22, -1, 12},
498 : : /* 23 */ { 2, s_10_23, 22, 9},
499 : : /* 24 */ { 2, s_10_24, 22, 9},
500 : : /* 25 */ { 2, s_10_25, 22, 9},
501 : : /* 26 */ { 3, s_10_26, 22, 10},
502 : : /* 27 */ { 3, s_10_27, 22, 11},
503 : : /* 28 */ { 1, s_10_28, -1, 18},
504 : : /* 29 */ { 2, s_10_29, -1, 19},
505 : : /* 30 */ { 2, s_10_30, -1, 20}
506 : : };
507 : :
508 : :
509 : : static const struct among a_11[42] =
510 : : {
511 : : /* 0 */ { 2, s_11_0, -1, 10},
512 : : /* 1 */ { 3, s_11_1, 0, 9},
513 : : /* 2 */ { 4, s_11_2, 1, 6},
514 : : /* 3 */ { 3, s_11_3, 0, 9},
515 : : /* 4 */ { 4, s_11_4, 3, 6},
516 : : /* 5 */ { 4, s_11_5, 0, 7},
517 : : /* 6 */ { 4, s_11_6, 0, 8},
518 : : /* 7 */ { 1, s_11_7, -1, 15},
519 : : /* 8 */ { 2, s_11_8, 7, 14},
520 : : /* 9 */ { 3, s_11_9, 8, 11},
521 : : /* 10 */ { 2, s_11_10, 7, 14},
522 : : /* 11 */ { 3, s_11_11, 10, 11},
523 : : /* 12 */ { 3, s_11_12, 7, 12},
524 : : /* 13 */ { 3, s_11_13, 7, 13},
525 : : /* 14 */ { 4, s_11_14, -1, 24},
526 : : /* 15 */ { 5, s_11_15, 14, 21},
527 : : /* 16 */ { 6, s_11_16, 15, 20},
528 : : /* 17 */ { 6, s_11_17, 14, 23},
529 : : /* 18 */ { 2, s_11_18, -1, 29},
530 : : /* 19 */ { 3, s_11_19, 18, 26},
531 : : /* 20 */ { 4, s_11_20, 19, 25},
532 : : /* 21 */ { 3, s_11_21, 18, 26},
533 : : /* 22 */ { 4, s_11_22, 21, 25},
534 : : /* 23 */ { 4, s_11_23, 18, 27},
535 : : /* 24 */ { 4, s_11_24, 18, 28},
536 : : /* 25 */ { 3, s_11_25, -1, 20},
537 : : /* 26 */ { 4, s_11_26, 25, 17},
538 : : /* 27 */ { 5, s_11_27, 26, 16},
539 : : /* 28 */ { 4, s_11_28, 25, 17},
540 : : /* 29 */ { 5, s_11_29, 28, 16},
541 : : /* 30 */ { 5, s_11_30, 25, 18},
542 : : /* 31 */ { 5, s_11_31, 25, 19},
543 : : /* 32 */ { 5, s_11_32, -1, 21},
544 : : /* 33 */ { 6, s_11_33, 32, 20},
545 : : /* 34 */ { 6, s_11_34, -1, 22},
546 : : /* 35 */ { 2, s_11_35, -1, 5},
547 : : /* 36 */ { 3, s_11_36, 35, 4},
548 : : /* 37 */ { 4, s_11_37, 36, 1},
549 : : /* 38 */ { 3, s_11_38, 35, 4},
550 : : /* 39 */ { 4, s_11_39, 38, 1},
551 : : /* 40 */ { 4, s_11_40, 35, 2},
552 : : /* 41 */ { 4, s_11_41, 35, 3}
553 : : };
554 : :
555 : : static const unsigned char g_v[] = { 17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 17, 52, 14 };
556 : :
557 : : static const symbol s_0[] = { 'a' };
558 : : static const symbol s_1[] = { 'e' };
559 : : static const symbol s_2[] = { 'e' };
560 : : static const symbol s_3[] = { 'a' };
561 : : static const symbol s_4[] = { 'a' };
562 : : static const symbol s_5[] = { 'a' };
563 : : static const symbol s_6[] = { 'e' };
564 : : static const symbol s_7[] = { 'a' };
565 : : static const symbol s_8[] = { 'e' };
566 : : static const symbol s_9[] = { 'e' };
567 : : static const symbol s_10[] = { 'a' };
568 : : static const symbol s_11[] = { 'e' };
569 : : static const symbol s_12[] = { 'a' };
570 : : static const symbol s_13[] = { 'e' };
571 : : static const symbol s_14[] = { 'a' };
572 : : static const symbol s_15[] = { 'e' };
573 : : static const symbol s_16[] = { 'a' };
574 : : static const symbol s_17[] = { 'e' };
575 : : static const symbol s_18[] = { 'a' };
576 : : static const symbol s_19[] = { 'e' };
577 : : static const symbol s_20[] = { 'a' };
578 : : static const symbol s_21[] = { 'e' };
579 : : static const symbol s_22[] = { 'a' };
580 : : static const symbol s_23[] = { 'e' };
581 : : static const symbol s_24[] = { 'a' };
582 : : static const symbol s_25[] = { 'e' };
583 : : static const symbol s_26[] = { 'a' };
584 : : static const symbol s_27[] = { 'e' };
585 : : static const symbol s_28[] = { 'a' };
586 : : static const symbol s_29[] = { 'e' };
587 : : static const symbol s_30[] = { 'a' };
588 : : static const symbol s_31[] = { 'e' };
589 : : static const symbol s_32[] = { 'a' };
590 : : static const symbol s_33[] = { 'e' };
591 : : static const symbol s_34[] = { 'a' };
592 : : static const symbol s_35[] = { 'e' };
593 : :
594 : 100616 : int Xapian::InternalStemHungarian::r_mark_regions() { /* forwardmode */
595 : 100616 : I_p1 = l; /* p1 = <integer expression>, line 46 */
596 : 100616 : { int c1 = c; /* or, line 51 */
597 [ + + ]: 100616 : if (in_grouping_U(g_v, 97, 252, 0)) goto lab1; /* grouping v, line 48 */
598 [ + + ]: 13173 : if (in_grouping_U(g_v, 97, 252, 1) < 0) goto lab1; /* goto */ /* non v, line 48 */
599 : 12803 : { int c2 = c; /* or, line 49 */
600 [ + + ][ + + ]: 12803 : if (c + 1 >= l || p[c + 1] >> 5 != 3 || !((101187584 >> (p[c + 1] & 0x1f)) & 1)) goto lab3; /* among, line 49 */
[ + + ]
601 [ + + ]: 1278 : if (!(find_among(s_pool, a_0, 8, 0, 0))) goto lab3;
602 : 373 : goto lab2;
603 : : lab3:
604 : 12430 : c = c2;
605 : 12430 : { int ret = skip_utf8(p, c, 0, l, 1);
606 [ - + ]: 12430 : if (ret < 0) goto lab1;
607 : 12430 : c = ret; /* next, line 49 */
608 : : }
609 : : }
610 : : lab2:
611 : 12803 : I_p1 = c; /* setmark p1, line 50 */
612 : 12803 : goto lab0;
613 : : lab1:
614 : 87813 : c = c1;
615 [ + + ]: 87813 : if (out_grouping_U(g_v, 97, 252, 0)) return 0; /* non v, line 53 */
616 : 87443 : { int ret = out_grouping_U(g_v, 97, 252, 1); /* gopast */ /* grouping v, line 53 */
617 [ + + ]: 87443 : if (ret < 0) return 0;
618 : 76995 : c += ret;
619 : : }
620 : 76995 : I_p1 = c; /* setmark p1, line 53 */
621 : : }
622 : : lab0:
623 : 100616 : return 1;
624 : : }
625 : :
626 : 58343 : int Xapian::InternalStemHungarian::r_R1() { /* backwardmode */
627 [ + + ]: 58343 : if (!(I_p1 <= c)) return 0; /* p1 <= <integer expression>, line 58 */
628 : 58343 : return 1;
629 : : }
630 : :
631 : 17795 : int Xapian::InternalStemHungarian::r_v_ending() { /* backwardmode */
632 : : int among_var;
633 : 17795 : ket = c; /* [, line 61 */
634 [ + - ][ + + ]: 17795 : if (c - 1 <= lb || (p[c - 1] != 161 && p[c - 1] != 169)) return 0; /* substring, line 61 */
[ + + ]
635 : 3450 : among_var = find_among_b(s_pool, a_1, 2, 0, 0);
636 [ + + ]: 3450 : if (!(among_var)) return 0;
637 : 3449 : bra = c; /* ], line 61 */
638 : 3449 : { int ret = r_R1(); /* call R1, line 61 */
639 [ + + ]: 3449 : if (ret <= 0) return ret;
640 : : }
641 [ - + + - ]: 3429 : switch(among_var) { /* among, line 61 */
642 : 0 : case 0: return 0;
643 : : case 1:
644 : 2074 : { int ret = slice_from_s(1, s_0); /* <-, line 62 */
645 [ - + ]: 2074 : if (ret < 0) return ret;
646 : : }
647 : 2074 : break;
648 : : case 2:
649 : 1355 : { int ret = slice_from_s(1, s_1); /* <-, line 63 */
650 [ - + ]: 1355 : if (ret < 0) return ret;
651 : : }
652 : : break;
653 : : }
654 : 17795 : return 1;
655 : : }
656 : :
657 : 1730 : int Xapian::InternalStemHungarian::r_double() { /* backwardmode */
658 : 1730 : { int m_test1 = l - c; /* test, line 68 */
659 [ + - ][ + + ]: 1730 : if (c - 1 <= lb || p[c - 1] >> 5 != 3 || !((106790108 >> (p[c - 1] & 0x1f)) & 1)) return 0; /* among, line 68 */
[ + + ]
660 [ + + ]: 1668 : if (!(find_among_b(s_pool, a_2, 23, 0, 0))) return 0;
661 : 945 : c = l - m_test1;
662 : : }
663 : 1730 : return 1;
664 : : }
665 : :
666 : 945 : int Xapian::InternalStemHungarian::r_undouble() { /* backwardmode */
667 : 945 : { int ret = skip_utf8(p, c, lb, 0, -1);
668 [ - + ]: 945 : if (ret < 0) return 0;
669 : 945 : c = ret; /* next, line 73 */
670 : : }
671 : 945 : ket = c; /* [, line 73 */
672 : 945 : { int ret = skip_utf8(p, c, lb, l, - 1); /* hop, line 73 */
673 [ - + ]: 945 : if (ret < 0) return 0;
674 : 945 : c = ret;
675 : : }
676 : 945 : bra = c; /* ], line 73 */
677 [ - + ]: 945 : if (slice_del() == -1) return -1; /* delete, line 73 */
678 : 945 : return 1;
679 : : }
680 : :
681 : 100616 : int Xapian::InternalStemHungarian::r_instrum() { /* backwardmode */
682 : : int among_var;
683 : 100616 : ket = c; /* [, line 77 */
684 [ + + ][ + + ]: 100616 : if (c - 1 <= lb || p[c - 1] != 108) return 0; /* substring, line 77 */
685 : 5310 : among_var = find_among_b(s_pool, a_3, 2, 0, 0);
686 [ + + ]: 5310 : if (!(among_var)) return 0;
687 : 1521 : bra = c; /* ], line 77 */
688 : 1521 : { int ret = r_R1(); /* call R1, line 77 */
689 [ + + ]: 1521 : if (ret <= 0) return ret;
690 : : }
691 [ - + + - ]: 1491 : switch(among_var) { /* among, line 77 */
692 : 0 : case 0: return 0;
693 : : case 1:
694 : 857 : { int ret = r_double(); /* call double, line 78 */
695 [ + + ]: 857 : if (ret <= 0) return ret;
696 : : }
697 : 487 : break;
698 : : case 2:
699 : 634 : { int ret = r_double(); /* call double, line 79 */
700 [ + + ]: 634 : if (ret <= 0) return ret;
701 : : }
702 : : break;
703 : : }
704 [ - + ]: 840 : if (slice_del() == -1) return -1; /* delete, line 81 */
705 : 840 : { int ret = r_undouble(); /* call undouble, line 82 */
706 [ - + ]: 840 : if (ret <= 0) return ret;
707 : : }
708 : 100616 : return 1;
709 : : }
710 : :
711 : 100616 : int Xapian::InternalStemHungarian::r_case() { /* backwardmode */
712 : 100616 : ket = c; /* [, line 87 */
713 [ + + ]: 100616 : if (!(find_among_b(s_pool, a_4, 44, 0, 0))) return 0; /* substring, line 87 */
714 : 18644 : bra = c; /* ], line 87 */
715 : 18644 : { int ret = r_R1(); /* call R1, line 87 */
716 [ + + ]: 18644 : if (ret <= 0) return ret;
717 : : }
718 [ - + ]: 17795 : if (slice_del() == -1) return -1; /* delete, line 111 */
719 : 17795 : { int ret = r_v_ending(); /* call v_ending, line 112 */
720 [ + + ]: 17795 : if (ret <= 0) return ret;
721 : : }
722 : 100616 : return 1;
723 : : }
724 : :
725 : 100616 : int Xapian::InternalStemHungarian::r_case_special() { /* backwardmode */
726 : : int among_var;
727 : 100616 : ket = c; /* [, line 116 */
728 [ + + ][ + + ]: 100616 : if (c - 2 <= lb || (p[c - 1] != 110 && p[c - 1] != 116)) return 0; /* substring, line 116 */
[ + + ]
729 : 2539 : among_var = find_among_b(s_pool, a_5, 3, 0, 0);
730 [ + + ]: 2539 : if (!(among_var)) return 0;
731 : 23 : bra = c; /* ], line 116 */
732 : 23 : { int ret = r_R1(); /* call R1, line 116 */
733 [ + + ]: 23 : if (ret <= 0) return ret;
734 : : }
735 [ - + + - : 21 : switch(among_var) { /* among, line 116 */
- ]
736 : 0 : case 0: return 0;
737 : : case 1:
738 : 4 : { int ret = slice_from_s(1, s_2); /* <-, line 117 */
739 [ - + ]: 4 : if (ret < 0) return ret;
740 : : }
741 : 4 : break;
742 : : case 2:
743 : 17 : { int ret = slice_from_s(1, s_3); /* <-, line 118 */
744 [ - + ]: 17 : if (ret < 0) return ret;
745 : : }
746 : 17 : break;
747 : : case 3:
748 : 0 : { int ret = slice_from_s(1, s_4); /* <-, line 119 */
749 [ # # ]: 0 : if (ret < 0) return ret;
750 : : }
751 : : break;
752 : : }
753 : 100616 : return 1;
754 : : }
755 : :
756 : 100616 : int Xapian::InternalStemHungarian::r_case_other() { /* backwardmode */
757 : : int among_var;
758 : 100616 : ket = c; /* [, line 124 */
759 [ + + ][ + + ]: 100616 : if (c - 3 <= lb || p[c - 1] != 108) return 0; /* substring, line 124 */
760 : 2959 : among_var = find_among_b(s_pool, a_6, 6, 0, 0);
761 [ + + ]: 2959 : if (!(among_var)) return 0;
762 : 1 : bra = c; /* ], line 124 */
763 : 1 : { int ret = r_R1(); /* call R1, line 124 */
764 [ - + ]: 1 : if (ret <= 0) return ret;
765 : : }
766 [ - + - - - : 1 : switch(among_var) { /* among, line 124 */
- ]
767 : 0 : case 0: return 0;
768 : : case 1:
769 [ - + ]: 1 : if (slice_del() == -1) return -1; /* delete, line 125 */
770 : 1 : break;
771 : : case 2:
772 [ # # ]: 0 : if (slice_del() == -1) return -1; /* delete, line 126 */
773 : 0 : break;
774 : : case 3:
775 : 0 : { int ret = slice_from_s(1, s_5); /* <-, line 127 */
776 [ # # ]: 0 : if (ret < 0) return ret;
777 : : }
778 : 0 : break;
779 : : case 4:
780 : 0 : { int ret = slice_from_s(1, s_6); /* <-, line 128 */
781 [ # # ]: 0 : if (ret < 0) return ret;
782 : : }
783 : : break;
784 : : }
785 : 100616 : return 1;
786 : : }
787 : :
788 : 100616 : int Xapian::InternalStemHungarian::r_factive() { /* backwardmode */
789 : : int among_var;
790 : 100616 : ket = c; /* [, line 133 */
791 [ + + ][ + + ]: 100616 : if (c - 1 <= lb || (p[c - 1] != 161 && p[c - 1] != 169)) return 0; /* substring, line 133 */
[ + + ]
792 : 331 : among_var = find_among_b(s_pool, a_7, 2, 0, 0);
793 [ + + ]: 331 : if (!(among_var)) return 0;
794 : 266 : bra = c; /* ], line 133 */
795 : 266 : { int ret = r_R1(); /* call R1, line 133 */
796 [ + + ]: 266 : if (ret <= 0) return ret;
797 : : }
798 [ - + + - ]: 239 : switch(among_var) { /* among, line 133 */
799 : 0 : case 0: return 0;
800 : : case 1:
801 : 94 : { int ret = r_double(); /* call double, line 134 */
802 [ + + ]: 94 : if (ret <= 0) return ret;
803 : : }
804 : 50 : break;
805 : : case 2:
806 : 145 : { int ret = r_double(); /* call double, line 135 */
807 [ + + ]: 145 : if (ret <= 0) return ret;
808 : : }
809 : : break;
810 : : }
811 [ - + ]: 105 : if (slice_del() == -1) return -1; /* delete, line 137 */
812 : 105 : { int ret = r_undouble(); /* call undouble, line 138 */
813 [ - + ]: 105 : if (ret <= 0) return ret;
814 : : }
815 : 100616 : return 1;
816 : : }
817 : :
818 : 100616 : int Xapian::InternalStemHungarian::r_plural() { /* backwardmode */
819 : : int among_var;
820 : 100616 : ket = c; /* [, line 142 */
821 [ + - ][ + + ]: 100616 : if (c <= lb || p[c - 1] != 107) return 0; /* substring, line 142 */
822 : 7362 : among_var = find_among_b(s_pool, a_8, 7, 0, 0);
823 [ - + ]: 7362 : if (!(among_var)) return 0;
824 : 7362 : bra = c; /* ], line 142 */
825 : 7362 : { int ret = r_R1(); /* call R1, line 142 */
826 [ + + ]: 7362 : if (ret <= 0) return ret;
827 : : }
828 [ - + + + + : 6894 : switch(among_var) { /* among, line 142 */
+ + + - ]
829 : 0 : case 0: return 0;
830 : : case 1:
831 : 673 : { int ret = slice_from_s(1, s_7); /* <-, line 143 */
832 [ - + ]: 673 : if (ret < 0) return ret;
833 : : }
834 : 673 : break;
835 : : case 2:
836 : 521 : { int ret = slice_from_s(1, s_8); /* <-, line 144 */
837 [ - + ]: 521 : if (ret < 0) return ret;
838 : : }
839 : 521 : break;
840 : : case 3:
841 [ - + ]: 104 : if (slice_del() == -1) return -1; /* delete, line 145 */
842 : 104 : break;
843 : : case 4:
844 [ - + ]: 666 : if (slice_del() == -1) return -1; /* delete, line 146 */
845 : 666 : break;
846 : : case 5:
847 [ - + ]: 1214 : if (slice_del() == -1) return -1; /* delete, line 147 */
848 : 1214 : break;
849 : : case 6:
850 [ - + ]: 1309 : if (slice_del() == -1) return -1; /* delete, line 148 */
851 : 1309 : break;
852 : : case 7:
853 [ - + ]: 2407 : if (slice_del() == -1) return -1; /* delete, line 149 */
854 : : break;
855 : : }
856 : 100616 : return 1;
857 : : }
858 : :
859 : 100616 : int Xapian::InternalStemHungarian::r_owned() { /* backwardmode */
860 : : int among_var;
861 : 100616 : ket = c; /* [, line 154 */
862 [ + + ][ + + ]: 100616 : if (c - 1 <= lb || (p[c - 1] != 105 && p[c - 1] != 169)) return 0; /* substring, line 154 */
[ + + ]
863 : 4970 : among_var = find_among_b(s_pool, a_9, 12, 0, 0);
864 [ + + ]: 4970 : if (!(among_var)) return 0;
865 : 106 : bra = c; /* ], line 154 */
866 : 106 : { int ret = r_R1(); /* call R1, line 154 */
867 [ + + ]: 106 : if (ret <= 0) return ret;
868 : : }
869 [ - + - + + : 97 : switch(among_var) { /* among, line 154 */
- + + - +
- ]
870 : 0 : case 0: return 0;
871 : : case 1:
872 [ - + ]: 8 : if (slice_del() == -1) return -1; /* delete, line 155 */
873 : 8 : break;
874 : : case 2:
875 : 0 : { int ret = slice_from_s(1, s_9); /* <-, line 156 */
876 [ # # ]: 0 : if (ret < 0) return ret;
877 : : }
878 : 0 : break;
879 : : case 3:
880 : 3 : { int ret = slice_from_s(1, s_10); /* <-, line 157 */
881 [ - + ]: 3 : if (ret < 0) return ret;
882 : : }
883 : 3 : break;
884 : : case 4:
885 [ - + ]: 5 : if (slice_del() == -1) return -1; /* delete, line 158 */
886 : 5 : break;
887 : : case 5:
888 : 0 : { int ret = slice_from_s(1, s_11); /* <-, line 159 */
889 [ # # ]: 0 : if (ret < 0) return ret;
890 : : }
891 : 0 : break;
892 : : case 6:
893 : 1 : { int ret = slice_from_s(1, s_12); /* <-, line 160 */
894 [ - + ]: 1 : if (ret < 0) return ret;
895 : : }
896 : 1 : break;
897 : : case 7:
898 [ - + ]: 6 : if (slice_del() == -1) return -1; /* delete, line 161 */
899 : 6 : break;
900 : : case 8:
901 : 0 : { int ret = slice_from_s(1, s_13); /* <-, line 162 */
902 [ # # ]: 0 : if (ret < 0) return ret;
903 : : }
904 : 0 : break;
905 : : case 9:
906 [ - + ]: 74 : if (slice_del() == -1) return -1; /* delete, line 163 */
907 : : break;
908 : : }
909 : 100616 : return 1;
910 : : }
911 : :
912 : 100616 : int Xapian::InternalStemHungarian::r_sing_owner() { /* backwardmode */
913 : : int among_var;
914 : 100616 : ket = c; /* [, line 168 */
915 : 100616 : among_var = find_among_b(s_pool, a_10, 31, 0, 0); /* substring, line 168 */
916 [ + + ]: 100616 : if (!(among_var)) return 0;
917 : 20560 : bra = c; /* ], line 168 */
918 : 20560 : { int ret = r_R1(); /* call R1, line 168 */
919 [ + + ]: 20560 : if (ret <= 0) return ret;
920 : : }
921 [ - + + + + : 18696 : switch(among_var) { /* among, line 168 */
+ + + + +
+ + + + +
+ + + + +
- - ]
922 : 0 : case 0: return 0;
923 : : case 1:
924 [ - + ]: 693 : if (slice_del() == -1) return -1; /* delete, line 169 */
925 : 693 : break;
926 : : case 2:
927 : 37 : { int ret = slice_from_s(1, s_14); /* <-, line 170 */
928 [ - + ]: 37 : if (ret < 0) return ret;
929 : : }
930 : 37 : break;
931 : : case 3:
932 : 22 : { int ret = slice_from_s(1, s_15); /* <-, line 171 */
933 [ - + ]: 22 : if (ret < 0) return ret;
934 : : }
935 : 22 : break;
936 : : case 4:
937 [ - + ]: 147 : if (slice_del() == -1) return -1; /* delete, line 172 */
938 : 147 : break;
939 : : case 5:
940 : 16 : { int ret = slice_from_s(1, s_16); /* <-, line 173 */
941 [ - + ]: 16 : if (ret < 0) return ret;
942 : : }
943 : 16 : break;
944 : : case 6:
945 : 2 : { int ret = slice_from_s(1, s_17); /* <-, line 174 */
946 [ - + ]: 2 : if (ret < 0) return ret;
947 : : }
948 : 2 : break;
949 : : case 7:
950 [ - + ]: 197 : if (slice_del() == -1) return -1; /* delete, line 175 */
951 : 197 : break;
952 : : case 8:
953 [ - + ]: 606 : if (slice_del() == -1) return -1; /* delete, line 176 */
954 : 606 : break;
955 : : case 9:
956 [ - + ]: 1273 : if (slice_del() == -1) return -1; /* delete, line 177 */
957 : 1273 : break;
958 : : case 10:
959 : 99 : { int ret = slice_from_s(1, s_18); /* <-, line 178 */
960 [ - + ]: 99 : if (ret < 0) return ret;
961 : : }
962 : 99 : break;
963 : : case 11:
964 : 38 : { int ret = slice_from_s(1, s_19); /* <-, line 179 */
965 [ - + ]: 38 : if (ret < 0) return ret;
966 : : }
967 : 38 : break;
968 : : case 12:
969 [ - + ]: 1911 : if (slice_del() == -1) return -1; /* delete, line 180 */
970 : 1911 : break;
971 : : case 13:
972 [ - + ]: 382 : if (slice_del() == -1) return -1; /* delete, line 181 */
973 : 382 : break;
974 : : case 14:
975 : 13 : { int ret = slice_from_s(1, s_20); /* <-, line 182 */
976 [ - + ]: 13 : if (ret < 0) return ret;
977 : : }
978 : 13 : break;
979 : : case 15:
980 : 13 : { int ret = slice_from_s(1, s_21); /* <-, line 183 */
981 [ - + ]: 13 : if (ret < 0) return ret;
982 : : }
983 : 13 : break;
984 : : case 16:
985 [ - + ]: 1812 : if (slice_del() == -1) return -1; /* delete, line 184 */
986 : 1812 : break;
987 : : case 17:
988 [ - + ]: 1196 : if (slice_del() == -1) return -1; /* delete, line 185 */
989 : 1196 : break;
990 : : case 18:
991 [ - + ]: 10193 : if (slice_del() == -1) return -1; /* delete, line 186 */
992 : 10193 : break;
993 : : case 19:
994 : 46 : { int ret = slice_from_s(1, s_22); /* <-, line 187 */
995 [ - + ]: 46 : if (ret < 0) return ret;
996 : : }
997 : 46 : break;
998 : : case 20:
999 : 0 : { int ret = slice_from_s(1, s_23); /* <-, line 188 */
1000 [ # # ]: 0 : if (ret < 0) return ret;
1001 : : }
1002 : : break;
1003 : : }
1004 : 100616 : return 1;
1005 : : }
1006 : :
1007 : 100616 : int Xapian::InternalStemHungarian::r_plur_owner() { /* backwardmode */
1008 : : int among_var;
1009 : 100616 : ket = c; /* [, line 193 */
1010 [ + - ][ + + ]: 100616 : if (c <= lb || p[c - 1] >> 5 != 3 || !((10768 >> (p[c - 1] & 0x1f)) & 1)) return 0; /* substring, line 193 */
[ + + ]
1011 : 15206 : among_var = find_among_b(s_pool, a_11, 42, 0, 0);
1012 [ + + ]: 15206 : if (!(among_var)) return 0;
1013 : 6411 : bra = c; /* ], line 193 */
1014 : 6411 : { int ret = r_R1(); /* call R1, line 193 */
1015 [ + + ]: 6411 : if (ret <= 0) return ret;
1016 : : }
1017 [ - - - - + : 5905 : switch(among_var) { /* among, line 193 */
+ - - - +
+ + + - +
+ - - - -
+ + - - +
+ + + - +
- ]
1018 : 0 : case 0: return 0;
1019 : : case 1:
1020 [ # # ]: 0 : if (slice_del() == -1) return -1; /* delete, line 194 */
1021 : 0 : break;
1022 : : case 2:
1023 : 0 : { int ret = slice_from_s(1, s_24); /* <-, line 195 */
1024 [ # # ]: 0 : if (ret < 0) return ret;
1025 : : }
1026 : 0 : break;
1027 : : case 3:
1028 : 0 : { int ret = slice_from_s(1, s_25); /* <-, line 196 */
1029 [ # # ]: 0 : if (ret < 0) return ret;
1030 : : }
1031 : 0 : break;
1032 : : case 4:
1033 [ - + ]: 1 : if (slice_del() == -1) return -1; /* delete, line 197 */
1034 : 1 : break;
1035 : : case 5:
1036 [ - + ]: 6 : if (slice_del() == -1) return -1; /* delete, line 198 */
1037 : 6 : break;
1038 : : case 6:
1039 [ # # ]: 0 : if (slice_del() == -1) return -1; /* delete, line 199 */
1040 : 0 : break;
1041 : : case 7:
1042 : 0 : { int ret = slice_from_s(1, s_26); /* <-, line 200 */
1043 [ # # ]: 0 : if (ret < 0) return ret;
1044 : : }
1045 : 0 : break;
1046 : : case 8:
1047 : 0 : { int ret = slice_from_s(1, s_27); /* <-, line 201 */
1048 [ # # ]: 0 : if (ret < 0) return ret;
1049 : : }
1050 : 0 : break;
1051 : : case 9:
1052 [ - + ]: 2 : if (slice_del() == -1) return -1; /* delete, line 202 */
1053 : 2 : break;
1054 : : case 10:
1055 [ - + ]: 9 : if (slice_del() == -1) return -1; /* delete, line 203 */
1056 : 9 : break;
1057 : : case 11:
1058 [ - + ]: 66 : if (slice_del() == -1) return -1; /* delete, line 204 */
1059 : 66 : break;
1060 : : case 12:
1061 : 46 : { int ret = slice_from_s(1, s_28); /* <-, line 205 */
1062 [ - + ]: 46 : if (ret < 0) return ret;
1063 : : }
1064 : 46 : break;
1065 : : case 13:
1066 : 0 : { int ret = slice_from_s(1, s_29); /* <-, line 206 */
1067 [ # # ]: 0 : if (ret < 0) return ret;
1068 : : }
1069 : 0 : break;
1070 : : case 14:
1071 [ - + ]: 816 : if (slice_del() == -1) return -1; /* delete, line 207 */
1072 : 816 : break;
1073 : : case 15:
1074 [ - + ]: 4292 : if (slice_del() == -1) return -1; /* delete, line 208 */
1075 : 4292 : break;
1076 : : case 16:
1077 [ # # ]: 0 : if (slice_del() == -1) return -1; /* delete, line 209 */
1078 : 0 : break;
1079 : : case 17:
1080 [ # # ]: 0 : if (slice_del() == -1) return -1; /* delete, line 210 */
1081 : 0 : break;
1082 : : case 18:
1083 : 0 : { int ret = slice_from_s(1, s_30); /* <-, line 211 */
1084 [ # # ]: 0 : if (ret < 0) return ret;
1085 : : }
1086 : 0 : break;
1087 : : case 19:
1088 : 0 : { int ret = slice_from_s(1, s_31); /* <-, line 212 */
1089 [ # # ]: 0 : if (ret < 0) return ret;
1090 : : }
1091 : 0 : break;
1092 : : case 20:
1093 [ - + ]: 2 : if (slice_del() == -1) return -1; /* delete, line 214 */
1094 : 2 : break;
1095 : : case 21:
1096 [ - + ]: 2 : if (slice_del() == -1) return -1; /* delete, line 215 */
1097 : 2 : break;
1098 : : case 22:
1099 : 0 : { int ret = slice_from_s(1, s_32); /* <-, line 216 */
1100 [ # # ]: 0 : if (ret < 0) return ret;
1101 : : }
1102 : 0 : break;
1103 : : case 23:
1104 : 0 : { int ret = slice_from_s(1, s_33); /* <-, line 217 */
1105 [ # # ]: 0 : if (ret < 0) return ret;
1106 : : }
1107 : 0 : break;
1108 : : case 24:
1109 [ - + ]: 5 : if (slice_del() == -1) return -1; /* delete, line 218 */
1110 : 5 : break;
1111 : : case 25:
1112 [ - + ]: 9 : if (slice_del() == -1) return -1; /* delete, line 219 */
1113 : 9 : break;
1114 : : case 26:
1115 [ - + ]: 88 : if (slice_del() == -1) return -1; /* delete, line 220 */
1116 : 88 : break;
1117 : : case 27:
1118 : 9 : { int ret = slice_from_s(1, s_34); /* <-, line 221 */
1119 [ - + ]: 9 : if (ret < 0) return ret;
1120 : : }
1121 : 9 : break;
1122 : : case 28:
1123 : 0 : { int ret = slice_from_s(1, s_35); /* <-, line 222 */
1124 [ # # ]: 0 : if (ret < 0) return ret;
1125 : : }
1126 : 0 : break;
1127 : : case 29:
1128 [ - + ]: 552 : if (slice_del() == -1) return -1; /* delete, line 223 */
1129 : : break;
1130 : : }
1131 : 100616 : return 1;
1132 : : }
1133 : :
1134 : 100616 : int Xapian::InternalStemHungarian::stem() { /* forwardmode */
1135 : 100616 : { int c1 = c; /* do, line 229 */
1136 : 100616 : { int ret = r_mark_regions(); /* call mark_regions, line 229 */
1137 [ + + ]: 100616 : if (ret == 0) goto lab0;
1138 [ - + ]: 89798 : if (ret < 0) return ret;
1139 : : }
1140 : : lab0:
1141 : 100616 : c = c1;
1142 : : }
1143 : 100616 : lb = c; c = l; /* backwards, line 230 */
1144 : :
1145 : 100616 : { int m2 = l - c; (void)m2; /* do, line 231 */
1146 : 100616 : { int ret = r_instrum(); /* call instrum, line 231 */
1147 [ + + ]: 100616 : if (ret == 0) goto lab1;
1148 [ - + ]: 840 : if (ret < 0) return ret;
1149 : : }
1150 : : lab1:
1151 : 100616 : c = l - m2;
1152 : : }
1153 : 100616 : { int m3 = l - c; (void)m3; /* do, line 232 */
1154 : 100616 : { int ret = r_case(); /* call case, line 232 */
1155 [ + + ]: 100616 : if (ret == 0) goto lab2;
1156 [ - + ]: 3429 : if (ret < 0) return ret;
1157 : : }
1158 : : lab2:
1159 : 100616 : c = l - m3;
1160 : : }
1161 : 100616 : { int m4 = l - c; (void)m4; /* do, line 233 */
1162 : 100616 : { int ret = r_case_special(); /* call case_special, line 233 */
1163 [ + + ]: 100616 : if (ret == 0) goto lab3;
1164 [ - + ]: 21 : if (ret < 0) return ret;
1165 : : }
1166 : : lab3:
1167 : 100616 : c = l - m4;
1168 : : }
1169 : 100616 : { int m5 = l - c; (void)m5; /* do, line 234 */
1170 : 100616 : { int ret = r_case_other(); /* call case_other, line 234 */
1171 [ + + ]: 100616 : if (ret == 0) goto lab4;
1172 [ - + ]: 1 : if (ret < 0) return ret;
1173 : : }
1174 : : lab4:
1175 : 100616 : c = l - m5;
1176 : : }
1177 : 100616 : { int m6 = l - c; (void)m6; /* do, line 235 */
1178 : 100616 : { int ret = r_factive(); /* call factive, line 235 */
1179 [ + + ]: 100616 : if (ret == 0) goto lab5;
1180 [ - + ]: 105 : if (ret < 0) return ret;
1181 : : }
1182 : : lab5:
1183 : 100616 : c = l - m6;
1184 : : }
1185 : 100616 : { int m7 = l - c; (void)m7; /* do, line 236 */
1186 : 100616 : { int ret = r_owned(); /* call owned, line 236 */
1187 [ + + ]: 100616 : if (ret == 0) goto lab6;
1188 [ - + ]: 97 : if (ret < 0) return ret;
1189 : : }
1190 : : lab6:
1191 : 100616 : c = l - m7;
1192 : : }
1193 : 100616 : { int m8 = l - c; (void)m8; /* do, line 237 */
1194 : 100616 : { int ret = r_sing_owner(); /* call sing_owner, line 237 */
1195 [ + + ]: 100616 : if (ret == 0) goto lab7;
1196 [ - + ]: 18696 : if (ret < 0) return ret;
1197 : : }
1198 : : lab7:
1199 : 100616 : c = l - m8;
1200 : : }
1201 : 100616 : { int m9 = l - c; (void)m9; /* do, line 238 */
1202 : 100616 : { int ret = r_plur_owner(); /* call plur_owner, line 238 */
1203 [ + + ]: 100616 : if (ret == 0) goto lab8;
1204 [ - + ]: 5905 : if (ret < 0) return ret;
1205 : : }
1206 : : lab8:
1207 : 100616 : c = l - m9;
1208 : : }
1209 : 100616 : { int m10 = l - c; (void)m10; /* do, line 239 */
1210 : 100616 : { int ret = r_plural(); /* call plural, line 239 */
1211 [ + + ]: 100616 : if (ret == 0) goto lab9;
1212 [ - + ]: 6894 : if (ret < 0) return ret;
1213 : : }
1214 : : lab9:
1215 : 100616 : c = l - m10;
1216 : : }
1217 : 100616 : c = lb;
1218 : 100616 : return 1;
1219 : : }
1220 : :
1221 : 3 : Xapian::InternalStemHungarian::InternalStemHungarian()
1222 : 3 : : I_p1(0)
1223 : : {
1224 : 3 : }
1225 : :
1226 : 3 : Xapian::InternalStemHungarian::~InternalStemHungarian()
1227 : : {
1228 [ + - ][ # # ]: 3 : }
[ # # ]
1229 : :
1230 : : std::string
1231 : 1 : Xapian::InternalStemHungarian::get_description() const
1232 : : {
1233 : 1 : return "hungarian";
1234 : : }
|