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