xapian-core  1.4.25
hungarian.cc
Go to the documentation of this file.
1 /* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
2 
3 
4 #include <config.h>
5 #include <limits.h>
6 #include "hungarian.h"
7 
8 static const symbol s_pool[] = {
9 #define s_0_0 0
10 'c', 's',
11 #define s_0_1 2
12 'd', 'z', 's',
13 #define s_0_2 5
14 'g', 'y',
15 #define s_0_3 7
16 'l', 'y',
17 #define s_0_4 9
18 'n', 'y',
19 #define s_0_5 11
20 's', 'z',
21 #define s_0_6 13
22 't', 'y',
23 #define s_0_7 (s_0_1 + 1)
24 #define s_1_0 15
25 0xC3, 0xA1,
26 #define s_1_1 17
27 0xC3, 0xA9,
28 #define s_2_0 19
29 'b', 'b',
30 #define s_2_1 s_2_12
31 #define s_2_2 21
32 'd', 'd',
33 #define s_2_3 23
34 'f', 'f',
35 #define s_2_4 s_2_17
36 #define s_2_5 25
37 'j', 'j',
38 #define s_2_6 27
39 'k', 'k',
40 #define s_2_7 s_2_18
41 #define s_2_8 29
42 'm', 'm',
43 #define s_2_9 s_2_19
44 #define s_2_10 31
45 'p', 'p',
46 #define s_2_11 33
47 'r', 'r',
48 #define s_2_12 35
49 'c', 'c', 's',
50 #define s_2_13 s_2_21
51 #define s_2_14 38
52 'z', 'z', 's',
53 #define s_2_15 s_2_20
54 #define s_2_16 41
55 'v', 'v',
56 #define s_2_17 43
57 'g', 'g', 'y',
58 #define s_2_18 46
59 'l', 'l', 'y',
60 #define s_2_19 49
61 'n', 'n', 'y',
62 #define s_2_20 52
63 't', 't', 'y',
64 #define s_2_21 55
65 's', 's', 'z',
66 #define s_2_22 s_2_14
67 #define s_3_0 58
68 'a', 'l',
69 #define s_3_1 60
70 'e', 'l',
71 #define s_4_0 s_4_21
72 #define s_4_1 62
73 'r', 'a',
74 #define s_4_2 s_4_23
75 #define s_4_3 64
76 'r', 'e',
77 #define s_4_4 66
78 'i', 'g',
79 #define s_4_5 68
80 'n', 'a', 'k',
81 #define s_4_6 71
82 'n', 'e', 'k',
83 #define s_4_7 74
84 'v', 'a', 'l',
85 #define s_4_8 77
86 'v', 'e', 'l',
87 #define s_4_9 80
88 'u', 'l',
89 #define s_4_10 82
90 'b', 0xC5, 0x91, 'l',
91 #define s_4_11 86
92 'r', 0xC5, 0x91, 'l',
93 #define s_4_12 90
94 't', 0xC5, 0x91, 'l',
95 #define s_4_13 94
96 'n', 0xC3, 0xA1, 'l',
97 #define s_4_14 98
98 'n', 0xC3, 0xA9, 'l',
99 #define s_4_15 102
100 'b', 0xC3, 0xB3, 'l',
101 #define s_4_16 106
102 'r', 0xC3, 0xB3, 'l',
103 #define s_4_17 110
104 't', 0xC3, 0xB3, 'l',
105 #define s_4_18 114
106 0xC3, 0xBC, 'l',
107 #define s_4_19 s_4_5
108 #define s_4_20 (s_4_21 + 1)
109 #define s_4_21 117
110 'b', 'a', 'n',
111 #define s_4_22 (s_4_23 + 1)
112 #define s_4_23 120
113 'b', 'e', 'n',
114 #define s_4_24 123
115 'k', 0xC3, 0xA9, 'p', 'p', 'e', 'n',
116 #define s_4_25 s_4_35
117 #define s_4_26 130
118 0xC3, 0xB6, 'n',
119 #define s_4_27 s_4_24
120 #define s_4_28 133
121 'k', 'o', 'r',
122 #define s_4_29 s_4_12
123 #define s_4_30 136
124 'a', 't',
125 #define s_4_31 138
126 'e', 't',
127 #define s_4_32 (s_4_33 + 2)
128 #define s_4_33 140
129 'a', 'n', 'k', 0xC3, 0xA9, 'n', 't',
130 #define s_4_34 147
131 'e', 'n', 'k', 0xC3, 0xA9, 'n', 't',
132 #define s_4_35 154
133 'o', 'n', 'k', 0xC3, 0xA9, 'n', 't',
134 #define s_4_36 161
135 'o', 't',
136 #define s_4_37 163
137 0xC3, 0xA9, 'r', 't',
138 #define s_4_38 167
139 0xC3, 0xB6, 't',
140 #define s_4_39 170
141 'h', 'e', 'z',
142 #define s_4_40 173
143 'h', 'o', 'z',
144 #define s_4_41 176
145 'h', 0xC3, 0xB6, 'z',
146 #define s_4_42 180
147 'v', 0xC3, 0xA1,
148 #define s_4_43 183
149 'v', 0xC3, 0xA9,
150 #define s_5_0 s_5_2
151 #define s_5_1 (s_5_2 + 4)
152 #define s_5_2 186
153 0xC3, 0xA1, 'n', 'k', 0xC3, 0xA9, 'n', 't',
154 #define s_6_0 (s_6_1 + 1)
155 #define s_6_1 194
156 'a', 's', 't', 'u', 'l',
157 #define s_6_2 199
158 0xC3, 0xA1, 's', 't', 'u', 'l',
159 #define s_6_3 (s_6_4 + 1)
160 #define s_6_4 205
161 'e', 's', 't', 0xC3, 0xBC, 'l',
162 #define s_6_5 211
163 0xC3, 0xA9, 's', 't', 0xC3, 0xBC, 'l',
164 #define s_7_0 218
165 0xC3, 0xA1,
166 #define s_7_1 220
167 0xC3, 0xA9,
168 #define s_8_0 (s_8_1 + 1)
169 #define s_8_1 222
170 'a', 'k',
171 #define s_8_2 224
172 'e', 'k',
173 #define s_8_3 226
174 'o', 'k',
175 #define s_8_4 228
176 0xC3, 0xA1, 'k',
177 #define s_8_5 231
178 0xC3, 0xA9, 'k',
179 #define s_8_6 234
180 0xC3, 0xB6, 'k',
181 #define s_9_0 (s_9_1 + 2)
182 #define s_9_1 237
183 0xC3, 0xA1, 0xC3, 0xA9, 'i',
184 #define s_9_2 242
185 0xC3, 0xA9, 0xC3, 0xA9, 'i',
186 #define s_9_3 s_9_0
187 #define s_9_4 (s_9_5 + 1)
188 #define s_9_5 247
189 'a', 'k', 0xC3, 0xA9,
190 #define s_9_6 251
191 'e', 'k', 0xC3, 0xA9,
192 #define s_9_7 255
193 'o', 'k', 0xC3, 0xA9,
194 #define s_9_8 259
195 0xC3, 0xA1, 'k', 0xC3, 0xA9,
196 #define s_9_9 264
197 0xC3, 0xA9, 'k', 0xC3, 0xA9,
198 #define s_9_10 269
199 0xC3, 0xB6, 'k', 0xC3, 0xA9,
200 #define s_9_11 s_9_2
201 #define s_10_0 (s_10_1 + 1)
202 #define s_10_1 274
203 'j', 'a',
204 #define s_10_2 (s_10_3 + 1)
205 #define s_10_3 276
206 'a', 'd',
207 #define s_10_4 278
208 'e', 'd',
209 #define s_10_5 280
210 'o', 'd',
211 #define s_10_6 282
212 0xC3, 0xA1, 'd',
213 #define s_10_7 285
214 0xC3, 0xA9, 'd',
215 #define s_10_8 288
216 0xC3, 0xB6, 'd',
217 #define s_10_9 s_10_4
218 #define s_10_10 291
219 'j', 'e',
220 #define s_10_11 (s_10_12 + 1)
221 #define s_10_12 293
222 'u', 'n', 'k',
223 #define s_10_13 296
224 0xC3, 0xA1, 'n', 'k',
225 #define s_10_14 300
226 0xC3, 0xA9, 'n', 'k',
227 #define s_10_15 304
228 0xC3, 0xBC, 'n', 'k',
229 #define s_10_16 (s_10_17 + 1)
230 #define s_10_17 (s_10_18 + 2)
231 #define s_10_18 308
232 0xC3, 0xA1, 'j', 'u', 'k',
233 #define s_10_19 (s_10_20 + 1)
234 #define s_10_20 (s_10_21 + 2)
235 #define s_10_21 313
236 0xC3, 0xA9, 'j', 0xC3, 0xBC, 'k',
237 #define s_10_22 (s_10_23 + 1)
238 #define s_10_23 319
239 'a', 'm',
240 #define s_10_24 321
241 'e', 'm',
242 #define s_10_25 323
243 'o', 'm',
244 #define s_10_26 325
245 0xC3, 0xA1, 'm',
246 #define s_10_27 328
247 0xC3, 0xA9, 'm',
248 #define s_10_28 s_10_5
249 #define s_10_29 s_10_6
250 #define s_10_30 s_10_7
251 #define s_11_0 (s_11_1 + 1)
252 #define s_11_1 (s_11_2 + 1)
253 #define s_11_2 331
254 'j', 'a', 'i', 'd',
255 #define s_11_3 (s_11_4 + 1)
256 #define s_11_4 335
257 'j', 'e', 'i', 'd',
258 #define s_11_5 339
259 0xC3, 0xA1, 'i', 'd',
260 #define s_11_6 343
261 0xC3, 0xA9, 'i', 'd',
262 #define s_11_7 s_11_0
263 #define s_11_8 s_11_1
264 #define s_11_9 s_11_2
265 #define s_11_10 s_11_3
266 #define s_11_11 s_11_4
267 #define s_11_12 s_11_5
268 #define s_11_13 s_11_6
269 #define s_11_14 (s_11_15 + 1)
270 #define s_11_15 (s_11_16 + 1)
271 #define s_11_16 347
272 'j', 'e', 'i', 't', 'e', 'k',
273 #define s_11_17 353
274 0xC3, 0xA9, 'i', 't', 'e', 'k',
275 #define s_11_18 (s_11_19 + 1)
276 #define s_11_19 (s_11_20 + 1)
277 #define s_11_20 359
278 'j', 'a', 'i', 'k',
279 #define s_11_21 (s_11_22 + 1)
280 #define s_11_22 363
281 'j', 'e', 'i', 'k',
282 #define s_11_23 367
283 0xC3, 0xA1, 'i', 'k',
284 #define s_11_24 371
285 0xC3, 0xA9, 'i', 'k',
286 #define s_11_25 (s_11_26 + 1)
287 #define s_11_26 (s_11_27 + 1)
288 #define s_11_27 375
289 'j', 'a', 'i', 'n', 'k',
290 #define s_11_28 (s_11_29 + 1)
291 #define s_11_29 380
292 'j', 'e', 'i', 'n', 'k',
293 #define s_11_30 385
294 0xC3, 0xA1, 'i', 'n', 'k',
295 #define s_11_31 390
296 0xC3, 0xA9, 'i', 'n', 'k',
297 #define s_11_32 (s_11_33 + 1)
298 #define s_11_33 395
299 'j', 'a', 'i', 't', 'o', 'k',
300 #define s_11_34 401
301 0xC3, 0xA1, 'i', 't', 'o', 'k',
302 #define s_11_35 (s_11_36 + 1)
303 #define s_11_36 (s_11_37 + 1)
304 #define s_11_37 407
305 'j', 'a', 'i', 'm',
306 #define s_11_38 (s_11_39 + 1)
307 #define s_11_39 411
308 'j', 'e', 'i', 'm',
309 #define s_11_40 415
310 0xC3, 0xA1, 'i', 'm',
311 #define s_11_41 419
312 0xC3, 0xA9, 'i', 'm',
313 };
314 
315 
316 static const struct among a_0[8] =
317 {
318 /* 0 */ { 2, s_0_0, -1, -1},
319 /* 1 */ { 3, s_0_1, -1, -1},
320 /* 2 */ { 2, s_0_2, -1, -1},
321 /* 3 */ { 2, s_0_3, -1, -1},
322 /* 4 */ { 2, s_0_4, -1, -1},
323 /* 5 */ { 2, s_0_5, -1, -1},
324 /* 6 */ { 2, s_0_6, -1, -1},
325 /* 7 */ { 2, s_0_7, -1, -1}
326 };
327 
328 
329 static const struct among a_1[2] =
330 {
331 /* 0 */ { 2, s_1_0, -1, 1},
332 /* 1 */ { 2, s_1_1, -1, 2}
333 };
334 
335 
336 static const struct among a_2[23] =
337 {
338 /* 0 */ { 2, s_2_0, -1, -1},
339 /* 1 */ { 2, s_2_1, -1, -1},
340 /* 2 */ { 2, s_2_2, -1, -1},
341 /* 3 */ { 2, s_2_3, -1, -1},
342 /* 4 */ { 2, s_2_4, -1, -1},
343 /* 5 */ { 2, s_2_5, -1, -1},
344 /* 6 */ { 2, s_2_6, -1, -1},
345 /* 7 */ { 2, s_2_7, -1, -1},
346 /* 8 */ { 2, s_2_8, -1, -1},
347 /* 9 */ { 2, s_2_9, -1, -1},
348 /* 10 */ { 2, s_2_10, -1, -1},
349 /* 11 */ { 2, s_2_11, -1, -1},
350 /* 12 */ { 3, s_2_12, -1, -1},
351 /* 13 */ { 2, s_2_13, -1, -1},
352 /* 14 */ { 3, s_2_14, -1, -1},
353 /* 15 */ { 2, s_2_15, -1, -1},
354 /* 16 */ { 2, s_2_16, -1, -1},
355 /* 17 */ { 3, s_2_17, -1, -1},
356 /* 18 */ { 3, s_2_18, -1, -1},
357 /* 19 */ { 3, s_2_19, -1, -1},
358 /* 20 */ { 3, s_2_20, -1, -1},
359 /* 21 */ { 3, s_2_21, -1, -1},
360 /* 22 */ { 2, s_2_22, -1, -1}
361 };
362 
363 
364 static const struct among a_3[2] =
365 {
366 /* 0 */ { 2, s_3_0, -1, 1},
367 /* 1 */ { 2, s_3_1, -1, 1}
368 };
369 
370 
371 static const struct among a_4[44] =
372 {
373 /* 0 */ { 2, s_4_0, -1, -1},
374 /* 1 */ { 2, s_4_1, -1, -1},
375 /* 2 */ { 2, s_4_2, -1, -1},
376 /* 3 */ { 2, s_4_3, -1, -1},
377 /* 4 */ { 2, s_4_4, -1, -1},
378 /* 5 */ { 3, s_4_5, -1, -1},
379 /* 6 */ { 3, s_4_6, -1, -1},
380 /* 7 */ { 3, s_4_7, -1, -1},
381 /* 8 */ { 3, s_4_8, -1, -1},
382 /* 9 */ { 2, s_4_9, -1, -1},
383 /* 10 */ { 4, s_4_10, -1, -1},
384 /* 11 */ { 4, s_4_11, -1, -1},
385 /* 12 */ { 4, s_4_12, -1, -1},
386 /* 13 */ { 4, s_4_13, -1, -1},
387 /* 14 */ { 4, s_4_14, -1, -1},
388 /* 15 */ { 4, s_4_15, -1, -1},
389 /* 16 */ { 4, s_4_16, -1, -1},
390 /* 17 */ { 4, s_4_17, -1, -1},
391 /* 18 */ { 3, s_4_18, -1, -1},
392 /* 19 */ { 1, s_4_19, -1, -1},
393 /* 20 */ { 2, s_4_20, 19, -1},
394 /* 21 */ { 3, s_4_21, 20, -1},
395 /* 22 */ { 2, s_4_22, 19, -1},
396 /* 23 */ { 3, s_4_23, 22, -1},
397 /* 24 */ { 7, s_4_24, 22, -1},
398 /* 25 */ { 2, s_4_25, 19, -1},
399 /* 26 */ { 3, s_4_26, 19, -1},
400 /* 27 */ { 5, s_4_27, -1, -1},
401 /* 28 */ { 3, s_4_28, -1, -1},
402 /* 29 */ { 1, s_4_29, -1, -1},
403 /* 30 */ { 2, s_4_30, 29, -1},
404 /* 31 */ { 2, s_4_31, 29, -1},
405 /* 32 */ { 5, s_4_32, 29, -1},
406 /* 33 */ { 7, s_4_33, 32, -1},
407 /* 34 */ { 7, s_4_34, 32, -1},
408 /* 35 */ { 7, s_4_35, 32, -1},
409 /* 36 */ { 2, s_4_36, 29, -1},
410 /* 37 */ { 4, s_4_37, 29, -1},
411 /* 38 */ { 3, s_4_38, 29, -1},
412 /* 39 */ { 3, s_4_39, -1, -1},
413 /* 40 */ { 3, s_4_40, -1, -1},
414 /* 41 */ { 4, s_4_41, -1, -1},
415 /* 42 */ { 3, s_4_42, -1, -1},
416 /* 43 */ { 3, s_4_43, -1, -1}
417 };
418 
419 
420 static const struct among a_5[3] =
421 {
422 /* 0 */ { 3, s_5_0, -1, 2},
423 /* 1 */ { 3, s_5_1, -1, 1},
424 /* 2 */ { 8, s_5_2, -1, 2}
425 };
426 
427 
428 static const struct among a_6[6] =
429 {
430 /* 0 */ { 4, s_6_0, -1, 1},
431 /* 1 */ { 5, s_6_1, 0, 1},
432 /* 2 */ { 6, s_6_2, 0, 2},
433 /* 3 */ { 5, s_6_3, -1, 1},
434 /* 4 */ { 6, s_6_4, 3, 1},
435 /* 5 */ { 7, s_6_5, 3, 3}
436 };
437 
438 
439 static const struct among a_7[2] =
440 {
441 /* 0 */ { 2, s_7_0, -1, 1},
442 /* 1 */ { 2, s_7_1, -1, 1}
443 };
444 
445 
446 static const struct among a_8[7] =
447 {
448 /* 0 */ { 1, s_8_0, -1, 3},
449 /* 1 */ { 2, s_8_1, 0, 3},
450 /* 2 */ { 2, s_8_2, 0, 3},
451 /* 3 */ { 2, s_8_3, 0, 3},
452 /* 4 */ { 3, s_8_4, 0, 1},
453 /* 5 */ { 3, s_8_5, 0, 2},
454 /* 6 */ { 3, s_8_6, 0, 3}
455 };
456 
457 
458 static const struct among a_9[12] =
459 {
460 /* 0 */ { 3, s_9_0, -1, 1},
461 /* 1 */ { 5, s_9_1, 0, 3},
462 /* 2 */ { 5, s_9_2, 0, 2},
463 /* 3 */ { 2, s_9_3, -1, 1},
464 /* 4 */ { 3, s_9_4, 3, 1},
465 /* 5 */ { 4, s_9_5, 4, 1},
466 /* 6 */ { 4, s_9_6, 4, 1},
467 /* 7 */ { 4, s_9_7, 4, 1},
468 /* 8 */ { 5, s_9_8, 4, 3},
469 /* 9 */ { 5, s_9_9, 4, 2},
470 /* 10 */ { 5, s_9_10, 4, 1},
471 /* 11 */ { 4, s_9_11, 3, 2}
472 };
473 
474 
475 static const struct among a_10[31] =
476 {
477 /* 0 */ { 1, s_10_0, -1, 1},
478 /* 1 */ { 2, s_10_1, 0, 1},
479 /* 2 */ { 1, s_10_2, -1, 1},
480 /* 3 */ { 2, s_10_3, 2, 1},
481 /* 4 */ { 2, s_10_4, 2, 1},
482 /* 5 */ { 2, s_10_5, 2, 1},
483 /* 6 */ { 3, s_10_6, 2, 2},
484 /* 7 */ { 3, s_10_7, 2, 3},
485 /* 8 */ { 3, s_10_8, 2, 1},
486 /* 9 */ { 1, s_10_9, -1, 1},
487 /* 10 */ { 2, s_10_10, 9, 1},
488 /* 11 */ { 2, s_10_11, -1, 1},
489 /* 12 */ { 3, s_10_12, 11, 1},
490 /* 13 */ { 4, s_10_13, 11, 2},
491 /* 14 */ { 4, s_10_14, 11, 3},
492 /* 15 */ { 4, s_10_15, 11, 1},
493 /* 16 */ { 2, s_10_16, -1, 1},
494 /* 17 */ { 3, s_10_17, 16, 1},
495 /* 18 */ { 5, s_10_18, 17, 2},
496 /* 19 */ { 3, s_10_19, -1, 1},
497 /* 20 */ { 4, s_10_20, 19, 1},
498 /* 21 */ { 6, s_10_21, 20, 3},
499 /* 22 */ { 1, s_10_22, -1, 1},
500 /* 23 */ { 2, s_10_23, 22, 1},
501 /* 24 */ { 2, s_10_24, 22, 1},
502 /* 25 */ { 2, s_10_25, 22, 1},
503 /* 26 */ { 3, s_10_26, 22, 2},
504 /* 27 */ { 3, s_10_27, 22, 3},
505 /* 28 */ { 1, s_10_28, -1, 1},
506 /* 29 */ { 2, s_10_29, -1, 2},
507 /* 30 */ { 2, s_10_30, -1, 3}
508 };
509 
510 
511 static const struct among a_11[42] =
512 {
513 /* 0 */ { 2, s_11_0, -1, 1},
514 /* 1 */ { 3, s_11_1, 0, 1},
515 /* 2 */ { 4, s_11_2, 1, 1},
516 /* 3 */ { 3, s_11_3, 0, 1},
517 /* 4 */ { 4, s_11_4, 3, 1},
518 /* 5 */ { 4, s_11_5, 0, 2},
519 /* 6 */ { 4, s_11_6, 0, 3},
520 /* 7 */ { 1, s_11_7, -1, 1},
521 /* 8 */ { 2, s_11_8, 7, 1},
522 /* 9 */ { 3, s_11_9, 8, 1},
523 /* 10 */ { 2, s_11_10, 7, 1},
524 /* 11 */ { 3, s_11_11, 10, 1},
525 /* 12 */ { 3, s_11_12, 7, 2},
526 /* 13 */ { 3, s_11_13, 7, 3},
527 /* 14 */ { 4, s_11_14, -1, 1},
528 /* 15 */ { 5, s_11_15, 14, 1},
529 /* 16 */ { 6, s_11_16, 15, 1},
530 /* 17 */ { 6, s_11_17, 14, 3},
531 /* 18 */ { 2, s_11_18, -1, 1},
532 /* 19 */ { 3, s_11_19, 18, 1},
533 /* 20 */ { 4, s_11_20, 19, 1},
534 /* 21 */ { 3, s_11_21, 18, 1},
535 /* 22 */ { 4, s_11_22, 21, 1},
536 /* 23 */ { 4, s_11_23, 18, 2},
537 /* 24 */ { 4, s_11_24, 18, 3},
538 /* 25 */ { 3, s_11_25, -1, 1},
539 /* 26 */ { 4, s_11_26, 25, 1},
540 /* 27 */ { 5, s_11_27, 26, 1},
541 /* 28 */ { 4, s_11_28, 25, 1},
542 /* 29 */ { 5, s_11_29, 28, 1},
543 /* 30 */ { 5, s_11_30, 25, 2},
544 /* 31 */ { 5, s_11_31, 25, 3},
545 /* 32 */ { 5, s_11_32, -1, 1},
546 /* 33 */ { 6, s_11_33, 32, 1},
547 /* 34 */ { 6, s_11_34, -1, 2},
548 /* 35 */ { 2, s_11_35, -1, 1},
549 /* 36 */ { 3, s_11_36, 35, 1},
550 /* 37 */ { 4, s_11_37, 36, 1},
551 /* 38 */ { 3, s_11_38, 35, 1},
552 /* 39 */ { 4, s_11_39, 38, 1},
553 /* 40 */ { 4, s_11_40, 35, 2},
554 /* 41 */ { 4, s_11_41, 35, 3}
555 };
556 
557 static const unsigned char g_v[] = { 17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 17, 36, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1 };
558 
559 static const symbol s_0[] = { 'a' };
560 static const symbol s_1[] = { 'e' };
561 static const symbol s_2[] = { 'e' };
562 static const symbol s_3[] = { 'a' };
563 static const symbol s_4[] = { 'a' };
564 static const symbol s_5[] = { 'e' };
565 static const symbol s_6[] = { 'a' };
566 static const symbol s_7[] = { 'e' };
567 static const symbol s_8[] = { 'e' };
568 static const symbol s_9[] = { 'a' };
569 static const symbol s_10[] = { 'a' };
570 static const symbol s_11[] = { 'e' };
571 static const symbol s_12[] = { 'a' };
572 static const symbol s_13[] = { 'e' };
573 
575  I_p1 = l;
576  { int c1 = c;
577  if (in_grouping_U(g_v, 97, 369, 0)) goto lab1;
578  if (in_grouping_U(g_v, 97, 369, 1) < 0) goto lab1;
579  { int c2 = c;
580  if (c + 1 >= l || p[c + 1] >> 5 != 3 || !((101187584 >> (p[c + 1] & 0x1f)) & 1)) goto lab3;
581  if (!(find_among(s_pool, a_0, 8, 0, 0))) goto lab3;
582  goto lab2;
583  lab3:
584  c = c2;
585  { int ret = skip_utf8(p, c, 0, l, 1);
586  if (ret < 0) goto lab1;
587  c = ret;
588  }
589  }
590  lab2:
591  I_p1 = c;
592  goto lab0;
593  lab1:
594  c = c1;
595  if (out_grouping_U(g_v, 97, 369, 0)) return 0;
596  {
597  int ret = out_grouping_U(g_v, 97, 369, 1);
598  if (ret < 0) return 0;
599  c += ret;
600  }
601  I_p1 = c;
602  }
603 lab0:
604  return 1;
605 }
606 
608  if (!(I_p1 <= c)) return 0;
609  return 1;
610 }
611 
613  int among_var;
614  ket = c;
615  if (c - 1 <= lb || (p[c - 1] != 161 && p[c - 1] != 169)) return 0;
616  among_var = find_among_b(s_pool, a_1, 2, 0, 0);
617  if (!(among_var)) return 0;
618  bra = c;
619  { int ret = r_R1();
620  if (ret <= 0) return ret;
621  }
622  switch (among_var) {
623  case 1:
624  { int ret = slice_from_s(1, s_0);
625  if (ret < 0) return ret;
626  }
627  break;
628  case 2:
629  { int ret = slice_from_s(1, s_1);
630  if (ret < 0) return ret;
631  }
632  break;
633  }
634  return 1;
635 }
636 
638  { int m_test1 = l - c;
639  if (c - 1 <= lb || p[c - 1] >> 5 != 3 || !((106790108 >> (p[c - 1] & 0x1f)) & 1)) return 0;
640  if (!(find_among_b(s_pool, a_2, 23, 0, 0))) return 0;
641  c = l - m_test1;
642  }
643  return 1;
644 }
645 
647  { int ret = skip_utf8(p, c, lb, 0, -1);
648  if (ret < 0) return 0;
649  c = ret;
650  }
651  ket = c;
652  { int ret = skip_utf8(p, c, lb, l, - 1);
653  if (ret < 0) return 0;
654  c = ret;
655  }
656  bra = c;
657  { int ret = slice_del();
658  if (ret < 0) return ret;
659  }
660  return 1;
661 }
662 
664  ket = c;
665  if (c - 1 <= lb || p[c - 1] != 108) return 0;
666  if (!(find_among_b(s_pool, a_3, 2, 0, 0))) return 0;
667  bra = c;
668  { int ret = r_R1();
669  if (ret <= 0) return ret;
670  }
671  { int ret = r_double();
672  if (ret <= 0) return ret;
673  }
674  { int ret = slice_del();
675  if (ret < 0) return ret;
676  }
677  { int ret = r_undouble();
678  if (ret <= 0) return ret;
679  }
680  return 1;
681 }
682 
684  ket = c;
685  if (!(find_among_b(s_pool, a_4, 44, 0, 0))) return 0;
686  bra = c;
687  { int ret = r_R1();
688  if (ret <= 0) return ret;
689  }
690  { int ret = slice_del();
691  if (ret < 0) return ret;
692  }
693  { int ret = r_v_ending();
694  if (ret <= 0) return ret;
695  }
696  return 1;
697 }
698 
700  int among_var;
701  ket = c;
702  if (c - 2 <= lb || (p[c - 1] != 110 && p[c - 1] != 116)) return 0;
703  among_var = find_among_b(s_pool, a_5, 3, 0, 0);
704  if (!(among_var)) return 0;
705  bra = c;
706  { int ret = r_R1();
707  if (ret <= 0) return ret;
708  }
709  switch (among_var) {
710  case 1:
711  { int ret = slice_from_s(1, s_2);
712  if (ret < 0) return ret;
713  }
714  break;
715  case 2:
716  { int ret = slice_from_s(1, s_3);
717  if (ret < 0) return ret;
718  }
719  break;
720  }
721  return 1;
722 }
723 
725  int among_var;
726  ket = c;
727  if (c - 3 <= lb || p[c - 1] != 108) return 0;
728  among_var = find_among_b(s_pool, a_6, 6, 0, 0);
729  if (!(among_var)) return 0;
730  bra = c;
731  { int ret = r_R1();
732  if (ret <= 0) return ret;
733  }
734  switch (among_var) {
735  case 1:
736  { int ret = slice_del();
737  if (ret < 0) return ret;
738  }
739  break;
740  case 2:
741  { int ret = slice_from_s(1, s_4);
742  if (ret < 0) return ret;
743  }
744  break;
745  case 3:
746  { int ret = slice_from_s(1, s_5);
747  if (ret < 0) return ret;
748  }
749  break;
750  }
751  return 1;
752 }
753 
755  ket = c;
756  if (c - 1 <= lb || (p[c - 1] != 161 && p[c - 1] != 169)) return 0;
757  if (!(find_among_b(s_pool, a_7, 2, 0, 0))) return 0;
758  bra = c;
759  { int ret = r_R1();
760  if (ret <= 0) return ret;
761  }
762  { int ret = r_double();
763  if (ret <= 0) return ret;
764  }
765  { int ret = slice_del();
766  if (ret < 0) return ret;
767  }
768  { int ret = r_undouble();
769  if (ret <= 0) return ret;
770  }
771  return 1;
772 }
773 
775  int among_var;
776  ket = c;
777  if (c <= lb || p[c - 1] != 107) return 0;
778  among_var = find_among_b(s_pool, a_8, 7, 0, 0);
779  if (!(among_var)) return 0;
780  bra = c;
781  { int ret = r_R1();
782  if (ret <= 0) return ret;
783  }
784  switch (among_var) {
785  case 1:
786  { int ret = slice_from_s(1, s_6);
787  if (ret < 0) return ret;
788  }
789  break;
790  case 2:
791  { int ret = slice_from_s(1, s_7);
792  if (ret < 0) return ret;
793  }
794  break;
795  case 3:
796  { int ret = slice_del();
797  if (ret < 0) return ret;
798  }
799  break;
800  }
801  return 1;
802 }
803 
805  int among_var;
806  ket = c;
807  if (c - 1 <= lb || (p[c - 1] != 105 && p[c - 1] != 169)) return 0;
808  among_var = find_among_b(s_pool, a_9, 12, 0, 0);
809  if (!(among_var)) return 0;
810  bra = c;
811  { int ret = r_R1();
812  if (ret <= 0) return ret;
813  }
814  switch (among_var) {
815  case 1:
816  { int ret = slice_del();
817  if (ret < 0) return ret;
818  }
819  break;
820  case 2:
821  { int ret = slice_from_s(1, s_8);
822  if (ret < 0) return ret;
823  }
824  break;
825  case 3:
826  { int ret = slice_from_s(1, s_9);
827  if (ret < 0) return ret;
828  }
829  break;
830  }
831  return 1;
832 }
833 
835  int among_var;
836  ket = c;
837  among_var = find_among_b(s_pool, a_10, 31, 0, 0);
838  if (!(among_var)) return 0;
839  bra = c;
840  { int ret = r_R1();
841  if (ret <= 0) return ret;
842  }
843  switch (among_var) {
844  case 1:
845  { int ret = slice_del();
846  if (ret < 0) return ret;
847  }
848  break;
849  case 2:
850  { int ret = slice_from_s(1, s_10);
851  if (ret < 0) return ret;
852  }
853  break;
854  case 3:
855  { int ret = slice_from_s(1, s_11);
856  if (ret < 0) return ret;
857  }
858  break;
859  }
860  return 1;
861 }
862 
864  int among_var;
865  ket = c;
866  if (c <= lb || p[c - 1] >> 5 != 3 || !((10768 >> (p[c - 1] & 0x1f)) & 1)) return 0;
867  among_var = find_among_b(s_pool, a_11, 42, 0, 0);
868  if (!(among_var)) return 0;
869  bra = c;
870  { int ret = r_R1();
871  if (ret <= 0) return ret;
872  }
873  switch (among_var) {
874  case 1:
875  { int ret = slice_del();
876  if (ret < 0) return ret;
877  }
878  break;
879  case 2:
880  { int ret = slice_from_s(1, s_12);
881  if (ret < 0) return ret;
882  }
883  break;
884  case 3:
885  { int ret = slice_from_s(1, s_13);
886  if (ret < 0) return ret;
887  }
888  break;
889  }
890  return 1;
891 }
892 
894  { int c1 = c;
895  { int ret = r_mark_regions();
896  if (ret < 0) return ret;
897  }
898  c = c1;
899  }
900  lb = c; c = l;
901 
902  { int m2 = l - c; (void)m2;
903  { int ret = r_instrum();
904  if (ret < 0) return ret;
905  }
906  c = l - m2;
907  }
908  { int m3 = l - c; (void)m3;
909  { int ret = r_case();
910  if (ret < 0) return ret;
911  }
912  c = l - m3;
913  }
914  { int m4 = l - c; (void)m4;
915  { int ret = r_case_special();
916  if (ret < 0) return ret;
917  }
918  c = l - m4;
919  }
920  { int m5 = l - c; (void)m5;
921  { int ret = r_case_other();
922  if (ret < 0) return ret;
923  }
924  c = l - m5;
925  }
926  { int m6 = l - c; (void)m6;
927  { int ret = r_factive();
928  if (ret < 0) return ret;
929  }
930  c = l - m6;
931  }
932  { int m7 = l - c; (void)m7;
933  { int ret = r_owned();
934  if (ret < 0) return ret;
935  }
936  c = l - m7;
937  }
938  { int m8 = l - c; (void)m8;
939  { int ret = r_sing_owner();
940  if (ret < 0) return ret;
941  }
942  c = l - m8;
943  }
944  { int m9 = l - c; (void)m9;
945  { int ret = r_plur_owner();
946  if (ret < 0) return ret;
947  }
948  c = l - m9;
949  }
950  { int m10 = l - c; (void)m10;
951  { int ret = r_plural();
952  if (ret < 0) return ret;
953  }
954  c = l - m10;
955  }
956  c = lb;
957  return 1;
958 }
959 
961  : I_p1(0)
962 {
963 }
964 
966 {
967 }
968 
969 std::string
971 {
972  return "hungarian";
973 }
#define s_11_19
#define s_4_15
#define s_8_4
#define s_2_7
#define s_2_20
std::string get_description() const
Return a string describing this object.
Definition: hungarian.cc:970
#define s_2_13
#define s_2_22
#define s_2_8
#define s_10_14
#define s_10_19
#define s_10_15
static const symbol s_4[]
Definition: hungarian.cc:563
static const symbol s_8[]
Definition: hungarian.cc:567
#define s_2_15
static const symbol s_0[]
Definition: hungarian.cc:559
#define s_10_9
#define s_3_1
#define s_2_11
int find_among_b(const symbol *pool, const struct among *v, int v_size, const unsigned char *fnum, const among_function *f)
#define s_4_24
#define s_6_5
#define s_7_1
#define s_4_6
#define s_11_29
static const symbol s_12[]
Definition: hungarian.cc:571
#define s_4_5
static const symbol s_9[]
Definition: hungarian.cc:568
#define s_6_2
#define s_9_0
#define s_10_11
#define s_4_13
#define s_2_21
#define s_4_12
#define s_11_14
#define s_4_43
#define s_9_10
#define s_10_22
#define s_2_4
static const struct among a_7[2]
Definition: hungarian.cc:439
#define s_6_4
#define s_11_12
#define s_10_27
#define s_2_18
#define s_2_19
#define s_4_27
int stem()
Virtual method implemented by the subclass to actually do the work.
Definition: hungarian.cc:893
#define s_10_13
#define s_6_1
static const struct among a_2[23]
Definition: hungarian.cc:336
#define s_11_20
#define s_11_4
#define s_9_8
#define s_4_4
#define s_4_29
#define s_8_6
#define s_11_7
#define s_11_17
#define s_4_41
#define s_8_2
#define s_11_18
#define s_11_24
#define s_10_26
#define s_1_1
static const symbol s_11[]
Definition: hungarian.cc:570
#define s_11_31
#define s_6_0
static const struct among a_5[3]
Definition: hungarian.cc:420
#define s_4_42
#define s_10_21
#define s_4_2
#define s_10_18
#define s_4_37
#define s_10_29
#define s_9_7
#define s_4_16
static const symbol s_3[]
Definition: hungarian.cc:562
#define s_8_5
#define s_0_6
#define s_10_30
#define s_4_38
#define s_10_20
#define s_4_0
#define s_11_37
#define s_11_16
#define s_2_3
static const symbol s_10[]
Definition: hungarian.cc:569
#define s_4_28
int slice_from_s(int s_size, const symbol *s)
#define s_7_0
#define s_4_8
#define s_2_6
#define s_11_15
#define s_2_10
#define s_10_16
#define s_9_6
#define s_0_7
#define s_2_1
#define s_11_2
#define s_3_0
#define s_10_0
#define s_11_30
#define s_11_1
#define s_11_11
#define s_2_12
#define s_11_21
#define s_4_33
#define s_11_35
#define s_4_26
#define s_11_27
#define s_4_9
#define s_4_30
#define s_2_2
#define s_6_3
static const struct among a_6[6]
Definition: hungarian.cc:428
#define s_11_41
#define s_11_13
#define s_11_34
#define s_4_19
#define s_4_11
#define s_0_3
unsigned short symbol
Definition: header.h:6
#define s_10_17
#define s_11_6
#define s_4_7
#define s_10_1
#define s_4_32
#define s_11_36
#define s_2_14
#define s_9_1
#define s_2_0
#define s_10_5
#define s_11_9
#define s_4_40
#define s_2_9
#define s_4_35
#define s_4_10
#define s_4_22
#define s_0_0
#define s_11_39
#define s_11_22
static const symbol s_pool[]
Definition: hungarian.cc:8
#define s_9_2
#define s_9_9
#define s_0_5
#define s_9_3
Definition: header.h:191
static const symbol s_6[]
Definition: hungarian.cc:565
#define s_9_4
#define s_11_25
#define s_10_2
static const struct among a_10[31]
Definition: hungarian.cc:475
#define s_10_7
static int skip_utf8(const symbol *p, int c, int lb, int l, int n)
Definition: steminternal.cc:94
#define s_11_8
#define s_10_3
#define s_10_10
#define s_11_23
#define s_10_12
static const struct among a_4[44]
Definition: hungarian.cc:371
#define s_4_34
#define s_0_2
#define s_4_39
#define s_4_21
#define s_11_10
#define s_0_4
#define s_5_2
#define s_9_5
#define s_11_26
#define s_9_11
#define s_11_3
static const symbol s_7[]
Definition: hungarian.cc:566
#define s_4_14
#define s_10_23
#define s_11_28
static const struct among a_11[42]
Definition: hungarian.cc:511
#define s_1_0
#define s_2_5
#define s_2_17
#define s_10_4
#define s_5_1
#define s_4_23
static const struct among a_9[12]
Definition: hungarian.cc:458
#define s_10_28
#define s_4_1
static const unsigned char g_v[]
Definition: hungarian.cc:557
#define s_4_31
#define s_11_32
#define s_5_0
#define s_10_24
static const symbol s_1[]
Definition: hungarian.cc:560
#define s_4_36
int find_among(const symbol *pool, const struct among *v, int v_size, const unsigned char *fnum, const among_function *f)
int out_grouping_U(const unsigned char *s, int min, int max, int repeat)
static const struct among a_0[8]
Definition: hungarian.cc:316
#define s_4_20
#define s_8_1
#define s_8_3
#define s_10_8
#define s_11_33
#define s_0_1
#define s_8_0
#define s_10_25
#define s_4_3
#define s_4_18
#define s_11_0
#define s_2_16
static const symbol s_13[]
Definition: hungarian.cc:572
#define s_11_38
static const struct among a_1[2]
Definition: hungarian.cc:329
#define s_11_40
#define s_4_17
static const struct among a_8[7]
Definition: hungarian.cc:446
#define s_4_25
static const symbol s_5[]
Definition: hungarian.cc:564
static const symbol s_2[]
Definition: hungarian.cc:561
static const struct among a_3[2]
Definition: hungarian.cc:364
#define s_11_5
#define s_10_6
int in_grouping_U(const unsigned char *s, int min, int max, int repeat)