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