Age Owner TLA Line data Source code
1 : /* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
2 :
3 : #include "header.h"
4 :
5 : #ifdef __cplusplus
6 : extern "C" {
7 : #endif
8 : extern int turkish_UTF_8_stem(struct SN_env * z);
9 : #ifdef __cplusplus
10 : }
11 : #endif
12 : static int r_stem_suffix_chain_before_ki(struct SN_env * z);
13 : static int r_stem_noun_suffixes(struct SN_env * z);
14 : static int r_stem_nominal_verb_suffixes(struct SN_env * z);
15 : static int r_postlude(struct SN_env * z);
16 : static int r_post_process_last_consonants(struct SN_env * z);
17 : static int r_more_than_one_syllable_word(struct SN_env * z);
18 : static int r_mark_suffix_with_optional_s_consonant(struct SN_env * z);
19 : static int r_mark_suffix_with_optional_n_consonant(struct SN_env * z);
20 : static int r_mark_suffix_with_optional_U_vowel(struct SN_env * z);
21 : static int r_mark_suffix_with_optional_y_consonant(struct SN_env * z);
22 : static int r_mark_ysA(struct SN_env * z);
23 : static int r_mark_ymUs_(struct SN_env * z);
24 : static int r_mark_yken(struct SN_env * z);
25 : static int r_mark_yDU(struct SN_env * z);
26 : static int r_mark_yUz(struct SN_env * z);
27 : static int r_mark_yUm(struct SN_env * z);
28 : static int r_mark_yU(struct SN_env * z);
29 : static int r_mark_ylA(struct SN_env * z);
30 : static int r_mark_yA(struct SN_env * z);
31 : static int r_mark_possessives(struct SN_env * z);
32 : static int r_mark_sUnUz(struct SN_env * z);
33 : static int r_mark_sUn(struct SN_env * z);
34 : static int r_mark_sU(struct SN_env * z);
35 : static int r_mark_nUz(struct SN_env * z);
36 : static int r_mark_nUn(struct SN_env * z);
37 : static int r_mark_nU(struct SN_env * z);
38 : static int r_mark_ndAn(struct SN_env * z);
39 : static int r_mark_ndA(struct SN_env * z);
40 : static int r_mark_ncA(struct SN_env * z);
41 : static int r_mark_nA(struct SN_env * z);
42 : static int r_mark_lArI(struct SN_env * z);
43 : static int r_mark_lAr(struct SN_env * z);
44 : static int r_mark_ki(struct SN_env * z);
45 : static int r_mark_DUr(struct SN_env * z);
46 : static int r_mark_DAn(struct SN_env * z);
47 : static int r_mark_DA(struct SN_env * z);
48 : static int r_mark_cAsInA(struct SN_env * z);
49 : static int r_is_reserved_word(struct SN_env * z);
50 : static int r_check_vowel_harmony(struct SN_env * z);
51 : static int r_append_U_to_stems_ending_with_d_or_g(struct SN_env * z);
52 : #ifdef __cplusplus
53 : extern "C" {
54 : #endif
55 :
56 :
57 : extern struct SN_env * turkish_UTF_8_create_env(void);
58 : extern void turkish_UTF_8_close_env(struct SN_env * z);
59 :
60 :
61 : #ifdef __cplusplus
62 : }
63 : #endif
64 : static const symbol s_0_0[1] = { 'm' };
65 : static const symbol s_0_1[1] = { 'n' };
66 : static const symbol s_0_2[3] = { 'm', 'i', 'z' };
67 : static const symbol s_0_3[3] = { 'n', 'i', 'z' };
68 : static const symbol s_0_4[3] = { 'm', 'u', 'z' };
69 : static const symbol s_0_5[3] = { 'n', 'u', 'z' };
70 : static const symbol s_0_6[4] = { 'm', 0xC4, 0xB1, 'z' };
71 : static const symbol s_0_7[4] = { 'n', 0xC4, 0xB1, 'z' };
72 : static const symbol s_0_8[4] = { 'm', 0xC3, 0xBC, 'z' };
73 : static const symbol s_0_9[4] = { 'n', 0xC3, 0xBC, 'z' };
74 :
75 : static const struct among a_0[10] =
76 : {
77 : { 1, s_0_0, -1, -1, 0},
78 : { 1, s_0_1, -1, -1, 0},
79 : { 3, s_0_2, -1, -1, 0},
80 : { 3, s_0_3, -1, -1, 0},
81 : { 3, s_0_4, -1, -1, 0},
82 : { 3, s_0_5, -1, -1, 0},
83 : { 4, s_0_6, -1, -1, 0},
84 : { 4, s_0_7, -1, -1, 0},
85 : { 4, s_0_8, -1, -1, 0},
86 : { 4, s_0_9, -1, -1, 0}
87 : };
88 :
89 : static const symbol s_1_0[4] = { 'l', 'e', 'r', 'i' };
90 : static const symbol s_1_1[5] = { 'l', 'a', 'r', 0xC4, 0xB1 };
91 :
92 : static const struct among a_1[2] =
93 : {
94 : { 4, s_1_0, -1, -1, 0},
95 : { 5, s_1_1, -1, -1, 0}
96 : };
97 :
98 : static const symbol s_2_0[2] = { 'n', 'i' };
99 : static const symbol s_2_1[2] = { 'n', 'u' };
100 : static const symbol s_2_2[3] = { 'n', 0xC4, 0xB1 };
101 : static const symbol s_2_3[3] = { 'n', 0xC3, 0xBC };
102 :
103 : static const struct among a_2[4] =
104 : {
105 : { 2, s_2_0, -1, -1, 0},
106 : { 2, s_2_1, -1, -1, 0},
107 : { 3, s_2_2, -1, -1, 0},
108 : { 3, s_2_3, -1, -1, 0}
109 : };
110 :
111 : static const symbol s_3_0[2] = { 'i', 'n' };
112 : static const symbol s_3_1[2] = { 'u', 'n' };
113 : static const symbol s_3_2[3] = { 0xC4, 0xB1, 'n' };
114 : static const symbol s_3_3[3] = { 0xC3, 0xBC, 'n' };
115 :
116 : static const struct among a_3[4] =
117 : {
118 : { 2, s_3_0, -1, -1, 0},
119 : { 2, s_3_1, -1, -1, 0},
120 : { 3, s_3_2, -1, -1, 0},
121 : { 3, s_3_3, -1, -1, 0}
122 : };
123 :
124 : static const symbol s_4_0[1] = { 'a' };
125 : static const symbol s_4_1[1] = { 'e' };
126 :
127 : static const struct among a_4[2] =
128 : {
129 : { 1, s_4_0, -1, -1, 0},
130 : { 1, s_4_1, -1, -1, 0}
131 : };
132 :
133 : static const symbol s_5_0[2] = { 'n', 'a' };
134 : static const symbol s_5_1[2] = { 'n', 'e' };
135 :
136 : static const struct among a_5[2] =
137 : {
138 : { 2, s_5_0, -1, -1, 0},
139 : { 2, s_5_1, -1, -1, 0}
140 : };
141 :
142 : static const symbol s_6_0[2] = { 'd', 'a' };
143 : static const symbol s_6_1[2] = { 't', 'a' };
144 : static const symbol s_6_2[2] = { 'd', 'e' };
145 : static const symbol s_6_3[2] = { 't', 'e' };
146 :
147 : static const struct among a_6[4] =
148 : {
149 : { 2, s_6_0, -1, -1, 0},
150 : { 2, s_6_1, -1, -1, 0},
151 : { 2, s_6_2, -1, -1, 0},
152 : { 2, s_6_3, -1, -1, 0}
153 : };
154 :
155 : static const symbol s_7_0[3] = { 'n', 'd', 'a' };
156 : static const symbol s_7_1[3] = { 'n', 'd', 'e' };
157 :
158 : static const struct among a_7[2] =
159 : {
160 : { 3, s_7_0, -1, -1, 0},
161 : { 3, s_7_1, -1, -1, 0}
162 : };
163 :
164 : static const symbol s_8_0[3] = { 'd', 'a', 'n' };
165 : static const symbol s_8_1[3] = { 't', 'a', 'n' };
166 : static const symbol s_8_2[3] = { 'd', 'e', 'n' };
167 : static const symbol s_8_3[3] = { 't', 'e', 'n' };
168 :
169 : static const struct among a_8[4] =
170 : {
171 : { 3, s_8_0, -1, -1, 0},
172 : { 3, s_8_1, -1, -1, 0},
173 : { 3, s_8_2, -1, -1, 0},
174 : { 3, s_8_3, -1, -1, 0}
175 : };
176 :
177 : static const symbol s_9_0[4] = { 'n', 'd', 'a', 'n' };
178 : static const symbol s_9_1[4] = { 'n', 'd', 'e', 'n' };
179 :
180 : static const struct among a_9[2] =
181 : {
182 : { 4, s_9_0, -1, -1, 0},
183 : { 4, s_9_1, -1, -1, 0}
184 : };
185 :
186 : static const symbol s_10_0[2] = { 'l', 'a' };
187 : static const symbol s_10_1[2] = { 'l', 'e' };
188 :
189 : static const struct among a_10[2] =
190 : {
191 : { 2, s_10_0, -1, -1, 0},
192 : { 2, s_10_1, -1, -1, 0}
193 : };
194 :
195 : static const symbol s_11_0[2] = { 'c', 'a' };
196 : static const symbol s_11_1[2] = { 'c', 'e' };
197 :
198 : static const struct among a_11[2] =
199 : {
200 : { 2, s_11_0, -1, -1, 0},
201 : { 2, s_11_1, -1, -1, 0}
202 : };
203 :
204 : static const symbol s_12_0[2] = { 'i', 'm' };
205 : static const symbol s_12_1[2] = { 'u', 'm' };
206 : static const symbol s_12_2[3] = { 0xC4, 0xB1, 'm' };
207 : static const symbol s_12_3[3] = { 0xC3, 0xBC, 'm' };
208 :
209 : static const struct among a_12[4] =
210 : {
211 : { 2, s_12_0, -1, -1, 0},
212 : { 2, s_12_1, -1, -1, 0},
213 : { 3, s_12_2, -1, -1, 0},
214 : { 3, s_12_3, -1, -1, 0}
215 : };
216 :
217 : static const symbol s_13_0[3] = { 's', 'i', 'n' };
218 : static const symbol s_13_1[3] = { 's', 'u', 'n' };
219 : static const symbol s_13_2[4] = { 's', 0xC4, 0xB1, 'n' };
220 : static const symbol s_13_3[4] = { 's', 0xC3, 0xBC, 'n' };
221 :
222 : static const struct among a_13[4] =
223 : {
224 : { 3, s_13_0, -1, -1, 0},
225 : { 3, s_13_1, -1, -1, 0},
226 : { 4, s_13_2, -1, -1, 0},
227 : { 4, s_13_3, -1, -1, 0}
228 : };
229 :
230 : static const symbol s_14_0[2] = { 'i', 'z' };
231 : static const symbol s_14_1[2] = { 'u', 'z' };
232 : static const symbol s_14_2[3] = { 0xC4, 0xB1, 'z' };
233 : static const symbol s_14_3[3] = { 0xC3, 0xBC, 'z' };
234 :
235 : static const struct among a_14[4] =
236 : {
237 : { 2, s_14_0, -1, -1, 0},
238 : { 2, s_14_1, -1, -1, 0},
239 : { 3, s_14_2, -1, -1, 0},
240 : { 3, s_14_3, -1, -1, 0}
241 : };
242 :
243 : static const symbol s_15_0[5] = { 's', 'i', 'n', 'i', 'z' };
244 : static const symbol s_15_1[5] = { 's', 'u', 'n', 'u', 'z' };
245 : static const symbol s_15_2[7] = { 's', 0xC4, 0xB1, 'n', 0xC4, 0xB1, 'z' };
246 : static const symbol s_15_3[7] = { 's', 0xC3, 0xBC, 'n', 0xC3, 0xBC, 'z' };
247 :
248 : static const struct among a_15[4] =
249 : {
250 : { 5, s_15_0, -1, -1, 0},
251 : { 5, s_15_1, -1, -1, 0},
252 : { 7, s_15_2, -1, -1, 0},
253 : { 7, s_15_3, -1, -1, 0}
254 : };
255 :
256 : static const symbol s_16_0[3] = { 'l', 'a', 'r' };
257 : static const symbol s_16_1[3] = { 'l', 'e', 'r' };
258 :
259 : static const struct among a_16[2] =
260 : {
261 : { 3, s_16_0, -1, -1, 0},
262 : { 3, s_16_1, -1, -1, 0}
263 : };
264 :
265 : static const symbol s_17_0[3] = { 'n', 'i', 'z' };
266 : static const symbol s_17_1[3] = { 'n', 'u', 'z' };
267 : static const symbol s_17_2[4] = { 'n', 0xC4, 0xB1, 'z' };
268 : static const symbol s_17_3[4] = { 'n', 0xC3, 0xBC, 'z' };
269 :
270 : static const struct among a_17[4] =
271 : {
272 : { 3, s_17_0, -1, -1, 0},
273 : { 3, s_17_1, -1, -1, 0},
274 : { 4, s_17_2, -1, -1, 0},
275 : { 4, s_17_3, -1, -1, 0}
276 : };
277 :
278 : static const symbol s_18_0[3] = { 'd', 'i', 'r' };
279 : static const symbol s_18_1[3] = { 't', 'i', 'r' };
280 : static const symbol s_18_2[3] = { 'd', 'u', 'r' };
281 : static const symbol s_18_3[3] = { 't', 'u', 'r' };
282 : static const symbol s_18_4[4] = { 'd', 0xC4, 0xB1, 'r' };
283 : static const symbol s_18_5[4] = { 't', 0xC4, 0xB1, 'r' };
284 : static const symbol s_18_6[4] = { 'd', 0xC3, 0xBC, 'r' };
285 : static const symbol s_18_7[4] = { 't', 0xC3, 0xBC, 'r' };
286 :
287 : static const struct among a_18[8] =
288 : {
289 : { 3, s_18_0, -1, -1, 0},
290 : { 3, s_18_1, -1, -1, 0},
291 : { 3, s_18_2, -1, -1, 0},
292 : { 3, s_18_3, -1, -1, 0},
293 : { 4, s_18_4, -1, -1, 0},
294 : { 4, s_18_5, -1, -1, 0},
295 : { 4, s_18_6, -1, -1, 0},
296 : { 4, s_18_7, -1, -1, 0}
297 : };
298 :
299 : static const symbol s_19_0[7] = { 'c', 'a', 's', 0xC4, 0xB1, 'n', 'a' };
300 : static const symbol s_19_1[6] = { 'c', 'e', 's', 'i', 'n', 'e' };
301 :
302 : static const struct among a_19[2] =
303 : {
304 : { 7, s_19_0, -1, -1, 0},
305 : { 6, s_19_1, -1, -1, 0}
306 : };
307 :
308 : static const symbol s_20_0[2] = { 'd', 'i' };
309 : static const symbol s_20_1[2] = { 't', 'i' };
310 : static const symbol s_20_2[3] = { 'd', 'i', 'k' };
311 : static const symbol s_20_3[3] = { 't', 'i', 'k' };
312 : static const symbol s_20_4[3] = { 'd', 'u', 'k' };
313 : static const symbol s_20_5[3] = { 't', 'u', 'k' };
314 : static const symbol s_20_6[4] = { 'd', 0xC4, 0xB1, 'k' };
315 : static const symbol s_20_7[4] = { 't', 0xC4, 0xB1, 'k' };
316 : static const symbol s_20_8[4] = { 'd', 0xC3, 0xBC, 'k' };
317 : static const symbol s_20_9[4] = { 't', 0xC3, 0xBC, 'k' };
318 : static const symbol s_20_10[3] = { 'd', 'i', 'm' };
319 : static const symbol s_20_11[3] = { 't', 'i', 'm' };
320 : static const symbol s_20_12[3] = { 'd', 'u', 'm' };
321 : static const symbol s_20_13[3] = { 't', 'u', 'm' };
322 : static const symbol s_20_14[4] = { 'd', 0xC4, 0xB1, 'm' };
323 : static const symbol s_20_15[4] = { 't', 0xC4, 0xB1, 'm' };
324 : static const symbol s_20_16[4] = { 'd', 0xC3, 0xBC, 'm' };
325 : static const symbol s_20_17[4] = { 't', 0xC3, 0xBC, 'm' };
326 : static const symbol s_20_18[3] = { 'd', 'i', 'n' };
327 : static const symbol s_20_19[3] = { 't', 'i', 'n' };
328 : static const symbol s_20_20[3] = { 'd', 'u', 'n' };
329 : static const symbol s_20_21[3] = { 't', 'u', 'n' };
330 : static const symbol s_20_22[4] = { 'd', 0xC4, 0xB1, 'n' };
331 : static const symbol s_20_23[4] = { 't', 0xC4, 0xB1, 'n' };
332 : static const symbol s_20_24[4] = { 'd', 0xC3, 0xBC, 'n' };
333 : static const symbol s_20_25[4] = { 't', 0xC3, 0xBC, 'n' };
334 : static const symbol s_20_26[2] = { 'd', 'u' };
335 : static const symbol s_20_27[2] = { 't', 'u' };
336 : static const symbol s_20_28[3] = { 'd', 0xC4, 0xB1 };
337 : static const symbol s_20_29[3] = { 't', 0xC4, 0xB1 };
338 : static const symbol s_20_30[3] = { 'd', 0xC3, 0xBC };
339 : static const symbol s_20_31[3] = { 't', 0xC3, 0xBC };
340 :
341 : static const struct among a_20[32] =
342 : {
343 : { 2, s_20_0, -1, -1, 0},
344 : { 2, s_20_1, -1, -1, 0},
345 : { 3, s_20_2, -1, -1, 0},
346 : { 3, s_20_3, -1, -1, 0},
347 : { 3, s_20_4, -1, -1, 0},
348 : { 3, s_20_5, -1, -1, 0},
349 : { 4, s_20_6, -1, -1, 0},
350 : { 4, s_20_7, -1, -1, 0},
351 : { 4, s_20_8, -1, -1, 0},
352 : { 4, s_20_9, -1, -1, 0},
353 : { 3, s_20_10, -1, -1, 0},
354 : { 3, s_20_11, -1, -1, 0},
355 : { 3, s_20_12, -1, -1, 0},
356 : { 3, s_20_13, -1, -1, 0},
357 : { 4, s_20_14, -1, -1, 0},
358 : { 4, s_20_15, -1, -1, 0},
359 : { 4, s_20_16, -1, -1, 0},
360 : { 4, s_20_17, -1, -1, 0},
361 : { 3, s_20_18, -1, -1, 0},
362 : { 3, s_20_19, -1, -1, 0},
363 : { 3, s_20_20, -1, -1, 0},
364 : { 3, s_20_21, -1, -1, 0},
365 : { 4, s_20_22, -1, -1, 0},
366 : { 4, s_20_23, -1, -1, 0},
367 : { 4, s_20_24, -1, -1, 0},
368 : { 4, s_20_25, -1, -1, 0},
369 : { 2, s_20_26, -1, -1, 0},
370 : { 2, s_20_27, -1, -1, 0},
371 : { 3, s_20_28, -1, -1, 0},
372 : { 3, s_20_29, -1, -1, 0},
373 : { 3, s_20_30, -1, -1, 0},
374 : { 3, s_20_31, -1, -1, 0}
375 : };
376 :
377 : static const symbol s_21_0[2] = { 's', 'a' };
378 : static const symbol s_21_1[2] = { 's', 'e' };
379 : static const symbol s_21_2[3] = { 's', 'a', 'k' };
380 : static const symbol s_21_3[3] = { 's', 'e', 'k' };
381 : static const symbol s_21_4[3] = { 's', 'a', 'm' };
382 : static const symbol s_21_5[3] = { 's', 'e', 'm' };
383 : static const symbol s_21_6[3] = { 's', 'a', 'n' };
384 : static const symbol s_21_7[3] = { 's', 'e', 'n' };
385 :
386 : static const struct among a_21[8] =
387 : {
388 : { 2, s_21_0, -1, -1, 0},
389 : { 2, s_21_1, -1, -1, 0},
390 : { 3, s_21_2, -1, -1, 0},
391 : { 3, s_21_3, -1, -1, 0},
392 : { 3, s_21_4, -1, -1, 0},
393 : { 3, s_21_5, -1, -1, 0},
394 : { 3, s_21_6, -1, -1, 0},
395 : { 3, s_21_7, -1, -1, 0}
396 : };
397 :
398 : static const symbol s_22_0[4] = { 'm', 'i', 0xC5, 0x9F };
399 : static const symbol s_22_1[4] = { 'm', 'u', 0xC5, 0x9F };
400 : static const symbol s_22_2[5] = { 'm', 0xC4, 0xB1, 0xC5, 0x9F };
401 : static const symbol s_22_3[5] = { 'm', 0xC3, 0xBC, 0xC5, 0x9F };
402 :
403 : static const struct among a_22[4] =
404 : {
405 : { 4, s_22_0, -1, -1, 0},
406 : { 4, s_22_1, -1, -1, 0},
407 : { 5, s_22_2, -1, -1, 0},
408 : { 5, s_22_3, -1, -1, 0}
409 : };
410 :
411 : static const symbol s_23_0[1] = { 'b' };
412 : static const symbol s_23_1[1] = { 'c' };
413 : static const symbol s_23_2[1] = { 'd' };
414 : static const symbol s_23_3[2] = { 0xC4, 0x9F };
415 :
416 : static const struct among a_23[4] =
417 : {
418 : { 1, s_23_0, -1, 1, 0},
419 : { 1, s_23_1, -1, 2, 0},
420 : { 1, s_23_2, -1, 3, 0},
421 : { 2, s_23_3, -1, 4, 0}
422 : };
423 :
424 : static const unsigned char g_vowel[] = { 17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 8, 0, 0, 0, 0, 0, 0, 1 };
425 :
426 : static const unsigned char g_U[] = { 1, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 1 };
427 :
428 : static const unsigned char g_vowel1[] = { 1, 64, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 };
429 :
430 : static const unsigned char g_vowel2[] = { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 130 };
431 :
432 : static const unsigned char g_vowel3[] = { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 };
433 :
434 : static const unsigned char g_vowel4[] = { 17 };
435 :
436 : static const unsigned char g_vowel5[] = { 65 };
437 :
438 : static const unsigned char g_vowel6[] = { 65 };
439 :
440 : static const symbol s_0[] = { 0xC4, 0xB1 };
441 : static const symbol s_1[] = { 0xC3, 0xB6 };
442 : static const symbol s_2[] = { 0xC3, 0xBC };
443 : static const symbol s_3[] = { 'k', 'i' };
444 : static const symbol s_4[] = { 'k', 'e', 'n' };
445 : static const symbol s_5[] = { 'p' };
446 : static const symbol s_6[] = { 0xC3, 0xA7 };
447 : static const symbol s_7[] = { 't' };
448 : static const symbol s_8[] = { 'k' };
449 : static const symbol s_9[] = { 0xC4, 0xB1 };
450 : static const symbol s_10[] = { 0xC4, 0xB1 };
451 : static const symbol s_11[] = { 'i' };
452 : static const symbol s_12[] = { 'u' };
453 : static const symbol s_13[] = { 0xC3, 0xB6 };
454 : static const symbol s_14[] = { 0xC3, 0xBC };
455 : static const symbol s_15[] = { 0xC3, 0xBC };
456 : static const symbol s_16[] = { 'a', 'd' };
457 : static const symbol s_17[] = { 's', 'o', 'y' };
458 :
779 peter 459 UBC 0 : static int r_check_vowel_harmony(struct SN_env * z) {
460 0 : { int m_test1 = z->l - z->c;
461 0 : if (out_grouping_b_U(z, g_vowel, 97, 305, 1) < 0) return 0;
462 0 : { int m2 = z->l - z->c; (void)m2;
463 0 : if (z->c <= z->lb || z->p[z->c - 1] != 'a') goto lab1;
1658 tgl 464 0 : z->c--;
779 peter 465 0 : if (out_grouping_b_U(z, g_vowel1, 97, 305, 1) < 0) goto lab1;
5710 tgl 466 0 : goto lab0;
467 0 : lab1:
1658 468 0 : z->c = z->l - m2;
779 peter 469 0 : if (z->c <= z->lb || z->p[z->c - 1] != 'e') goto lab2;
1658 tgl 470 0 : z->c--;
779 peter 471 0 : if (out_grouping_b_U(z, g_vowel2, 101, 252, 1) < 0) goto lab2;
5710 tgl 472 0 : goto lab0;
473 0 : lab2:
1658 474 0 : z->c = z->l - m2;
779 peter 475 0 : if (!(eq_s_b(z, 2, s_0))) goto lab3;
476 0 : if (out_grouping_b_U(z, g_vowel3, 97, 305, 1) < 0) goto lab3;
5710 tgl 477 0 : goto lab0;
478 0 : lab3:
1658 479 0 : z->c = z->l - m2;
779 peter 480 0 : if (z->c <= z->lb || z->p[z->c - 1] != 'i') goto lab4;
1658 tgl 481 0 : z->c--;
779 peter 482 0 : if (out_grouping_b_U(z, g_vowel4, 101, 105, 1) < 0) goto lab4;
5710 tgl 483 0 : goto lab0;
484 0 : lab4:
1658 485 0 : z->c = z->l - m2;
779 peter 486 0 : if (z->c <= z->lb || z->p[z->c - 1] != 'o') goto lab5;
1658 tgl 487 0 : z->c--;
779 peter 488 0 : if (out_grouping_b_U(z, g_vowel5, 111, 117, 1) < 0) goto lab5;
5710 tgl 489 0 : goto lab0;
490 0 : lab5:
1658 491 0 : z->c = z->l - m2;
779 peter 492 0 : if (!(eq_s_b(z, 2, s_1))) goto lab6;
493 0 : if (out_grouping_b_U(z, g_vowel6, 246, 252, 1) < 0) goto lab6;
5710 tgl 494 0 : goto lab0;
495 0 : lab6:
1658 496 0 : z->c = z->l - m2;
779 peter 497 0 : if (z->c <= z->lb || z->p[z->c - 1] != 'u') goto lab7;
1658 tgl 498 0 : z->c--;
779 peter 499 0 : if (out_grouping_b_U(z, g_vowel5, 111, 117, 1) < 0) goto lab7;
5710 tgl 500 0 : goto lab0;
501 0 : lab7:
1658 502 0 : z->c = z->l - m2;
779 peter 503 0 : if (!(eq_s_b(z, 2, s_2))) return 0;
504 0 : if (out_grouping_b_U(z, g_vowel6, 246, 252, 1) < 0) return 0;
505 : }
5710 tgl 506 0 : lab0:
1658 507 0 : z->c = z->l - m_test1;
508 : }
5710 509 0 : return 1;
510 : }
511 :
779 peter 512 0 : static int r_mark_suffix_with_optional_n_consonant(struct SN_env * z) {
513 0 : { int m1 = z->l - z->c; (void)m1;
514 0 : if (z->c <= z->lb || z->p[z->c - 1] != 'n') goto lab1;
1658 tgl 515 0 : z->c--;
779 peter 516 0 : { int m_test2 = z->l - z->c;
517 0 : if (in_grouping_b_U(z, g_vowel, 97, 305, 0)) goto lab1;
1658 tgl 518 0 : z->c = z->l - m_test2;
519 : }
5710 520 0 : goto lab0;
521 0 : lab1:
522 0 : z->c = z->l - m1;
779 peter 523 0 : { int m3 = z->l - z->c; (void)m3;
524 0 : { int m_test4 = z->l - z->c;
525 0 : if (z->c <= z->lb || z->p[z->c - 1] != 'n') goto lab2;
1658 tgl 526 0 : z->c--;
527 0 : z->c = z->l - m_test4;
528 : }
5710 529 0 : return 0;
530 0 : lab2:
1658 531 0 : z->c = z->l - m3;
532 : }
779 peter 533 0 : { int m_test5 = z->l - z->c;
534 0 : { int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
5710 tgl 535 0 : if (ret < 0) return 0;
779 peter 536 0 : z->c = ret;
537 : }
538 0 : if (in_grouping_b_U(z, g_vowel, 97, 305, 0)) return 0;
1658 tgl 539 0 : z->c = z->l - m_test5;
540 : }
541 : }
5710 542 0 : lab0:
543 0 : return 1;
544 : }
545 :
779 peter 546 0 : static int r_mark_suffix_with_optional_s_consonant(struct SN_env * z) {
547 0 : { int m1 = z->l - z->c; (void)m1;
548 0 : if (z->c <= z->lb || z->p[z->c - 1] != 's') goto lab1;
1658 tgl 549 0 : z->c--;
779 peter 550 0 : { int m_test2 = z->l - z->c;
551 0 : if (in_grouping_b_U(z, g_vowel, 97, 305, 0)) goto lab1;
1658 tgl 552 0 : z->c = z->l - m_test2;
553 : }
5710 554 0 : goto lab0;
555 0 : lab1:
556 0 : z->c = z->l - m1;
779 peter 557 0 : { int m3 = z->l - z->c; (void)m3;
558 0 : { int m_test4 = z->l - z->c;
559 0 : if (z->c <= z->lb || z->p[z->c - 1] != 's') goto lab2;
1658 tgl 560 0 : z->c--;
561 0 : z->c = z->l - m_test4;
562 : }
5710 563 0 : return 0;
564 0 : lab2:
1658 565 0 : z->c = z->l - m3;
566 : }
779 peter 567 0 : { int m_test5 = z->l - z->c;
568 0 : { int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
5710 tgl 569 0 : if (ret < 0) return 0;
779 peter 570 0 : z->c = ret;
571 : }
572 0 : if (in_grouping_b_U(z, g_vowel, 97, 305, 0)) return 0;
1658 tgl 573 0 : z->c = z->l - m_test5;
574 : }
575 : }
5710 576 0 : lab0:
577 0 : return 1;
578 : }
579 :
779 peter 580 0 : static int r_mark_suffix_with_optional_y_consonant(struct SN_env * z) {
581 0 : { int m1 = z->l - z->c; (void)m1;
582 0 : if (z->c <= z->lb || z->p[z->c - 1] != 'y') goto lab1;
1658 tgl 583 0 : z->c--;
779 peter 584 0 : { int m_test2 = z->l - z->c;
585 0 : if (in_grouping_b_U(z, g_vowel, 97, 305, 0)) goto lab1;
1658 tgl 586 0 : z->c = z->l - m_test2;
587 : }
5710 588 0 : goto lab0;
589 0 : lab1:
590 0 : z->c = z->l - m1;
779 peter 591 0 : { int m3 = z->l - z->c; (void)m3;
592 0 : { int m_test4 = z->l - z->c;
593 0 : if (z->c <= z->lb || z->p[z->c - 1] != 'y') goto lab2;
1658 tgl 594 0 : z->c--;
595 0 : z->c = z->l - m_test4;
596 : }
5710 597 0 : return 0;
598 0 : lab2:
1658 599 0 : z->c = z->l - m3;
600 : }
779 peter 601 0 : { int m_test5 = z->l - z->c;
602 0 : { int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
5710 tgl 603 0 : if (ret < 0) return 0;
779 peter 604 0 : z->c = ret;
605 : }
606 0 : if (in_grouping_b_U(z, g_vowel, 97, 305, 0)) return 0;
1658 tgl 607 0 : z->c = z->l - m_test5;
608 : }
609 : }
5710 610 0 : lab0:
611 0 : return 1;
612 : }
613 :
779 peter 614 0 : static int r_mark_suffix_with_optional_U_vowel(struct SN_env * z) {
615 0 : { int m1 = z->l - z->c; (void)m1;
616 0 : if (in_grouping_b_U(z, g_U, 105, 305, 0)) goto lab1;
617 0 : { int m_test2 = z->l - z->c;
618 0 : if (out_grouping_b_U(z, g_vowel, 97, 305, 0)) goto lab1;
1658 tgl 619 0 : z->c = z->l - m_test2;
620 : }
5710 621 0 : goto lab0;
622 0 : lab1:
623 0 : z->c = z->l - m1;
779 peter 624 0 : { int m3 = z->l - z->c; (void)m3;
625 0 : { int m_test4 = z->l - z->c;
626 0 : if (in_grouping_b_U(z, g_U, 105, 305, 0)) goto lab2;
1658 tgl 627 0 : z->c = z->l - m_test4;
628 : }
5710 629 0 : return 0;
630 0 : lab2:
1658 631 0 : z->c = z->l - m3;
632 : }
779 peter 633 0 : { int m_test5 = z->l - z->c;
634 0 : { int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
5710 tgl 635 0 : if (ret < 0) return 0;
779 peter 636 0 : z->c = ret;
637 : }
638 0 : if (out_grouping_b_U(z, g_vowel, 97, 305, 0)) return 0;
1658 tgl 639 0 : z->c = z->l - m_test5;
640 : }
641 : }
5710 642 0 : lab0:
643 0 : return 1;
644 : }
645 :
779 peter 646 0 : static int r_mark_possessives(struct SN_env * z) {
647 0 : if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((67133440 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
1658 tgl 648 0 : if (!(find_among_b(z, a_0, 10))) return 0;
779 peter 649 0 : { int ret = r_mark_suffix_with_optional_U_vowel(z);
1658 tgl 650 0 : if (ret <= 0) return ret;
651 : }
5710 652 0 : return 1;
653 : }
654 :
779 peter 655 0 : static int r_mark_sU(struct SN_env * z) {
656 0 : { int ret = r_check_vowel_harmony(z);
1658 tgl 657 0 : if (ret <= 0) return ret;
658 : }
779 peter 659 0 : if (in_grouping_b_U(z, g_U, 105, 305, 0)) return 0;
660 0 : { int ret = r_mark_suffix_with_optional_s_consonant(z);
1658 tgl 661 0 : if (ret <= 0) return ret;
662 : }
5710 663 0 : return 1;
664 : }
665 :
779 peter 666 0 : static int r_mark_lArI(struct SN_env * z) {
667 0 : if (z->c - 3 <= z->lb || (z->p[z->c - 1] != 105 && z->p[z->c - 1] != 177)) return 0;
1658 tgl 668 0 : if (!(find_among_b(z, a_1, 2))) return 0;
5710 669 0 : return 1;
670 : }
671 :
779 peter 672 0 : static int r_mark_yU(struct SN_env * z) {
673 0 : { int ret = r_check_vowel_harmony(z);
1658 tgl 674 0 : if (ret <= 0) return ret;
675 : }
779 peter 676 0 : if (in_grouping_b_U(z, g_U, 105, 305, 0)) return 0;
677 0 : { int ret = r_mark_suffix_with_optional_y_consonant(z);
1658 tgl 678 0 : if (ret <= 0) return ret;
679 : }
5710 680 0 : return 1;
681 : }
682 :
779 peter 683 0 : static int r_mark_nU(struct SN_env * z) {
684 0 : { int ret = r_check_vowel_harmony(z);
1658 tgl 685 0 : if (ret <= 0) return ret;
686 : }
779 peter 687 0 : if (!(find_among_b(z, a_2, 4))) return 0;
5710 tgl 688 0 : return 1;
689 : }
690 :
779 peter 691 0 : static int r_mark_nUn(struct SN_env * z) {
692 0 : { int ret = r_check_vowel_harmony(z);
1658 tgl 693 0 : if (ret <= 0) return ret;
694 : }
779 peter 695 0 : if (z->c - 1 <= z->lb || z->p[z->c - 1] != 110) return 0;
1658 tgl 696 0 : if (!(find_among_b(z, a_3, 4))) return 0;
779 peter 697 0 : { int ret = r_mark_suffix_with_optional_n_consonant(z);
1658 tgl 698 0 : if (ret <= 0) return ret;
699 : }
5710 700 0 : return 1;
701 : }
702 :
779 peter 703 0 : static int r_mark_yA(struct SN_env * z) {
704 0 : { int ret = r_check_vowel_harmony(z);
1658 tgl 705 0 : if (ret <= 0) return ret;
706 : }
779 peter 707 0 : if (z->c <= z->lb || (z->p[z->c - 1] != 97 && z->p[z->c - 1] != 101)) return 0;
1658 tgl 708 0 : if (!(find_among_b(z, a_4, 2))) return 0;
779 peter 709 0 : { int ret = r_mark_suffix_with_optional_y_consonant(z);
1658 tgl 710 0 : if (ret <= 0) return ret;
711 : }
5710 712 0 : return 1;
713 : }
714 :
779 peter 715 0 : static int r_mark_nA(struct SN_env * z) {
716 0 : { int ret = r_check_vowel_harmony(z);
1658 tgl 717 0 : if (ret <= 0) return ret;
718 : }
779 peter 719 0 : if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 97 && z->p[z->c - 1] != 101)) return 0;
1658 tgl 720 0 : if (!(find_among_b(z, a_5, 2))) return 0;
5710 721 0 : return 1;
722 : }
723 :
779 peter 724 0 : static int r_mark_DA(struct SN_env * z) {
725 0 : { int ret = r_check_vowel_harmony(z);
1658 tgl 726 0 : if (ret <= 0) return ret;
727 : }
779 peter 728 0 : if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 97 && z->p[z->c - 1] != 101)) return 0;
1658 tgl 729 0 : if (!(find_among_b(z, a_6, 4))) return 0;
5710 730 0 : return 1;
731 : }
732 :
779 peter 733 0 : static int r_mark_ndA(struct SN_env * z) {
734 0 : { int ret = r_check_vowel_harmony(z);
1658 tgl 735 0 : if (ret <= 0) return ret;
736 : }
779 peter 737 0 : if (z->c - 2 <= z->lb || (z->p[z->c - 1] != 97 && z->p[z->c - 1] != 101)) return 0;
1658 tgl 738 0 : if (!(find_among_b(z, a_7, 2))) return 0;
5710 739 0 : return 1;
740 : }
741 :
779 peter 742 0 : static int r_mark_DAn(struct SN_env * z) {
743 0 : { int ret = r_check_vowel_harmony(z);
1658 tgl 744 0 : if (ret <= 0) return ret;
745 : }
779 peter 746 0 : if (z->c - 2 <= z->lb || z->p[z->c - 1] != 110) return 0;
1658 tgl 747 0 : if (!(find_among_b(z, a_8, 4))) return 0;
5710 748 0 : return 1;
749 : }
750 :
779 peter 751 0 : static int r_mark_ndAn(struct SN_env * z) {
752 0 : { int ret = r_check_vowel_harmony(z);
1658 tgl 753 0 : if (ret <= 0) return ret;
754 : }
779 peter 755 0 : if (z->c - 3 <= z->lb || z->p[z->c - 1] != 110) return 0;
1658 tgl 756 0 : if (!(find_among_b(z, a_9, 2))) return 0;
5710 757 0 : return 1;
758 : }
759 :
779 peter 760 0 : static int r_mark_ylA(struct SN_env * z) {
761 0 : { int ret = r_check_vowel_harmony(z);
1658 tgl 762 0 : if (ret <= 0) return ret;
763 : }
779 peter 764 0 : if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 97 && z->p[z->c - 1] != 101)) return 0;
1658 tgl 765 0 : if (!(find_among_b(z, a_10, 2))) return 0;
779 peter 766 0 : { int ret = r_mark_suffix_with_optional_y_consonant(z);
1658 tgl 767 0 : if (ret <= 0) return ret;
768 : }
5710 769 0 : return 1;
770 : }
771 :
779 peter 772 0 : static int r_mark_ki(struct SN_env * z) {
773 0 : if (!(eq_s_b(z, 2, s_3))) return 0;
5710 tgl 774 0 : return 1;
775 : }
776 :
779 peter 777 0 : static int r_mark_ncA(struct SN_env * z) {
778 0 : { int ret = r_check_vowel_harmony(z);
1658 tgl 779 0 : if (ret <= 0) return ret;
780 : }
779 peter 781 0 : if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 97 && z->p[z->c - 1] != 101)) return 0;
1658 tgl 782 0 : if (!(find_among_b(z, a_11, 2))) return 0;
779 peter 783 0 : { int ret = r_mark_suffix_with_optional_n_consonant(z);
1658 tgl 784 0 : if (ret <= 0) return ret;
785 : }
5710 786 0 : return 1;
787 : }
788 :
779 peter 789 0 : static int r_mark_yUm(struct SN_env * z) {
790 0 : { int ret = r_check_vowel_harmony(z);
1658 tgl 791 0 : if (ret <= 0) return ret;
792 : }
779 peter 793 0 : if (z->c - 1 <= z->lb || z->p[z->c - 1] != 109) return 0;
1658 tgl 794 0 : if (!(find_among_b(z, a_12, 4))) return 0;
779 peter 795 0 : { int ret = r_mark_suffix_with_optional_y_consonant(z);
1658 tgl 796 0 : if (ret <= 0) return ret;
797 : }
5710 798 0 : return 1;
799 : }
800 :
779 peter 801 0 : static int r_mark_sUn(struct SN_env * z) {
802 0 : { int ret = r_check_vowel_harmony(z);
1658 tgl 803 0 : if (ret <= 0) return ret;
804 : }
779 peter 805 0 : if (z->c - 2 <= z->lb || z->p[z->c - 1] != 110) return 0;
1658 tgl 806 0 : if (!(find_among_b(z, a_13, 4))) return 0;
5710 807 0 : return 1;
808 : }
809 :
779 peter 810 0 : static int r_mark_yUz(struct SN_env * z) {
811 0 : { int ret = r_check_vowel_harmony(z);
1658 tgl 812 0 : if (ret <= 0) return ret;
813 : }
779 peter 814 0 : if (z->c - 1 <= z->lb || z->p[z->c - 1] != 122) return 0;
1658 tgl 815 0 : if (!(find_among_b(z, a_14, 4))) return 0;
779 peter 816 0 : { int ret = r_mark_suffix_with_optional_y_consonant(z);
1658 tgl 817 0 : if (ret <= 0) return ret;
818 : }
5710 819 0 : return 1;
820 : }
821 :
779 peter 822 0 : static int r_mark_sUnUz(struct SN_env * z) {
823 0 : if (z->c - 4 <= z->lb || z->p[z->c - 1] != 122) return 0;
1658 tgl 824 0 : if (!(find_among_b(z, a_15, 4))) return 0;
5710 825 0 : return 1;
826 : }
827 :
779 peter 828 0 : static int r_mark_lAr(struct SN_env * z) {
829 0 : { int ret = r_check_vowel_harmony(z);
1658 tgl 830 0 : if (ret <= 0) return ret;
831 : }
779 peter 832 0 : if (z->c - 2 <= z->lb || z->p[z->c - 1] != 114) return 0;
1658 tgl 833 0 : if (!(find_among_b(z, a_16, 2))) return 0;
5710 834 0 : return 1;
835 : }
836 :
779 peter 837 0 : static int r_mark_nUz(struct SN_env * z) {
838 0 : { int ret = r_check_vowel_harmony(z);
1658 tgl 839 0 : if (ret <= 0) return ret;
840 : }
779 peter 841 0 : if (z->c - 2 <= z->lb || z->p[z->c - 1] != 122) return 0;
1658 tgl 842 0 : if (!(find_among_b(z, a_17, 4))) return 0;
5710 843 0 : return 1;
844 : }
845 :
779 peter 846 0 : static int r_mark_DUr(struct SN_env * z) {
847 0 : { int ret = r_check_vowel_harmony(z);
1658 tgl 848 0 : if (ret <= 0) return ret;
849 : }
779 peter 850 0 : if (z->c - 2 <= z->lb || z->p[z->c - 1] != 114) return 0;
1658 tgl 851 0 : if (!(find_among_b(z, a_18, 8))) return 0;
5710 852 0 : return 1;
853 : }
854 :
779 peter 855 0 : static int r_mark_cAsInA(struct SN_env * z) {
856 0 : if (z->c - 5 <= z->lb || (z->p[z->c - 1] != 97 && z->p[z->c - 1] != 101)) return 0;
1658 tgl 857 0 : if (!(find_among_b(z, a_19, 2))) return 0;
5710 858 0 : return 1;
859 : }
860 :
779 peter 861 0 : static int r_mark_yDU(struct SN_env * z) {
862 0 : { int ret = r_check_vowel_harmony(z);
1658 tgl 863 0 : if (ret <= 0) return ret;
864 : }
779 peter 865 0 : if (!(find_among_b(z, a_20, 32))) return 0;
866 0 : { int ret = r_mark_suffix_with_optional_y_consonant(z);
1658 tgl 867 0 : if (ret <= 0) return ret;
868 : }
5710 869 0 : return 1;
870 : }
871 :
779 peter 872 0 : static int r_mark_ysA(struct SN_env * z) {
873 0 : if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((26658 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
1658 tgl 874 0 : if (!(find_among_b(z, a_21, 8))) return 0;
779 peter 875 0 : { int ret = r_mark_suffix_with_optional_y_consonant(z);
1658 tgl 876 0 : if (ret <= 0) return ret;
877 : }
5710 878 0 : return 1;
879 : }
880 :
779 peter 881 0 : static int r_mark_ymUs_(struct SN_env * z) {
882 0 : { int ret = r_check_vowel_harmony(z);
1658 tgl 883 0 : if (ret <= 0) return ret;
884 : }
779 peter 885 0 : if (z->c - 3 <= z->lb || z->p[z->c - 1] != 159) return 0;
1658 tgl 886 0 : if (!(find_among_b(z, a_22, 4))) return 0;
779 peter 887 0 : { int ret = r_mark_suffix_with_optional_y_consonant(z);
1658 tgl 888 0 : if (ret <= 0) return ret;
889 : }
5710 890 0 : return 1;
891 : }
892 :
779 peter 893 0 : static int r_mark_yken(struct SN_env * z) {
894 0 : if (!(eq_s_b(z, 3, s_4))) return 0;
895 0 : { int ret = r_mark_suffix_with_optional_y_consonant(z);
1658 tgl 896 0 : if (ret <= 0) return ret;
897 : }
5710 898 0 : return 1;
899 : }
900 :
779 peter 901 0 : static int r_stem_nominal_verb_suffixes(struct SN_env * z) {
902 0 : z->ket = z->c;
903 0 : z->I[0] = 1;
904 0 : { int m1 = z->l - z->c; (void)m1;
905 0 : { int m2 = z->l - z->c; (void)m2;
906 0 : { int ret = r_mark_ymUs_(z);
1658 tgl 907 0 : if (ret == 0) goto lab3;
5710 908 0 : if (ret < 0) return ret;
909 : }
910 0 : goto lab2;
911 0 : lab3:
912 0 : z->c = z->l - m2;
779 peter 913 0 : { int ret = r_mark_yDU(z);
1658 tgl 914 0 : if (ret == 0) goto lab4;
5710 915 0 : if (ret < 0) return ret;
916 : }
917 0 : goto lab2;
918 0 : lab4:
919 0 : z->c = z->l - m2;
779 peter 920 0 : { int ret = r_mark_ysA(z);
1658 tgl 921 0 : if (ret == 0) goto lab5;
5710 922 0 : if (ret < 0) return ret;
923 : }
924 0 : goto lab2;
925 0 : lab5:
926 0 : z->c = z->l - m2;
779 peter 927 0 : { int ret = r_mark_yken(z);
1658 tgl 928 0 : if (ret == 0) goto lab1;
5710 929 0 : if (ret < 0) return ret;
930 : }
931 : }
932 0 : lab2:
933 0 : goto lab0;
934 0 : lab1:
935 0 : z->c = z->l - m1;
779 peter 936 0 : { int ret = r_mark_cAsInA(z);
1658 tgl 937 0 : if (ret == 0) goto lab6;
5710 938 0 : if (ret < 0) return ret;
939 : }
779 peter 940 0 : { int m3 = z->l - z->c; (void)m3;
941 0 : { int ret = r_mark_sUnUz(z);
1658 tgl 942 0 : if (ret == 0) goto lab8;
5710 943 0 : if (ret < 0) return ret;
944 : }
945 0 : goto lab7;
946 0 : lab8:
947 0 : z->c = z->l - m3;
779 peter 948 0 : { int ret = r_mark_lAr(z);
1658 tgl 949 0 : if (ret == 0) goto lab9;
5710 950 0 : if (ret < 0) return ret;
951 : }
952 0 : goto lab7;
953 0 : lab9:
954 0 : z->c = z->l - m3;
779 peter 955 0 : { int ret = r_mark_yUm(z);
1658 tgl 956 0 : if (ret == 0) goto lab10;
5710 957 0 : if (ret < 0) return ret;
958 : }
959 0 : goto lab7;
960 0 : lab10:
961 0 : z->c = z->l - m3;
779 peter 962 0 : { int ret = r_mark_sUn(z);
1658 tgl 963 0 : if (ret == 0) goto lab11;
5710 964 0 : if (ret < 0) return ret;
965 : }
966 0 : goto lab7;
967 0 : lab11:
968 0 : z->c = z->l - m3;
779 peter 969 0 : { int ret = r_mark_yUz(z);
1658 tgl 970 0 : if (ret == 0) goto lab12;
5710 971 0 : if (ret < 0) return ret;
972 : }
973 0 : goto lab7;
974 0 : lab12:
975 0 : z->c = z->l - m3;
976 : }
977 0 : lab7:
779 peter 978 0 : { int ret = r_mark_ymUs_(z);
1658 tgl 979 0 : if (ret == 0) goto lab6;
5710 980 0 : if (ret < 0) return ret;
981 : }
982 0 : goto lab0;
983 0 : lab6:
984 0 : z->c = z->l - m1;
779 peter 985 0 : { int ret = r_mark_lAr(z);
1658 tgl 986 0 : if (ret == 0) goto lab13;
5710 987 0 : if (ret < 0) return ret;
988 : }
779 peter 989 0 : z->bra = z->c;
990 0 : { int ret = slice_del(z);
5710 tgl 991 0 : if (ret < 0) return ret;
992 : }
779 peter 993 0 : { int m4 = z->l - z->c; (void)m4;
994 0 : z->ket = z->c;
995 0 : { int m5 = z->l - z->c; (void)m5;
996 0 : { int ret = r_mark_DUr(z);
1658 tgl 997 0 : if (ret == 0) goto lab16;
5710 998 0 : if (ret < 0) return ret;
999 : }
1000 0 : goto lab15;
1001 0 : lab16:
1658 1002 0 : z->c = z->l - m5;
779 peter 1003 0 : { int ret = r_mark_yDU(z);
1658 tgl 1004 0 : if (ret == 0) goto lab17;
5710 1005 0 : if (ret < 0) return ret;
1006 : }
1007 0 : goto lab15;
1008 0 : lab17:
1658 1009 0 : z->c = z->l - m5;
779 peter 1010 0 : { int ret = r_mark_ysA(z);
1658 tgl 1011 0 : if (ret == 0) goto lab18;
5710 1012 0 : if (ret < 0) return ret;
1013 : }
1014 0 : goto lab15;
1015 0 : lab18:
1658 1016 0 : z->c = z->l - m5;
779 peter 1017 0 : { int ret = r_mark_ymUs_(z);
1658 tgl 1018 0 : if (ret == 0) { z->c = z->l - m4; goto lab14; }
5710 1019 0 : if (ret < 0) return ret;
1020 : }
1021 : }
1022 0 : lab15:
1023 0 : lab14:
1024 : ;
1025 : }
779 peter 1026 0 : z->I[0] = 0;
5710 tgl 1027 0 : goto lab0;
1028 0 : lab13:
1029 0 : z->c = z->l - m1;
779 peter 1030 0 : { int ret = r_mark_nUz(z);
1658 tgl 1031 0 : if (ret == 0) goto lab19;
5710 1032 0 : if (ret < 0) return ret;
1033 : }
779 peter 1034 0 : { int m6 = z->l - z->c; (void)m6;
1035 0 : { int ret = r_mark_yDU(z);
1658 tgl 1036 0 : if (ret == 0) goto lab21;
5710 1037 0 : if (ret < 0) return ret;
1038 : }
1039 0 : goto lab20;
1040 0 : lab21:
1658 1041 0 : z->c = z->l - m6;
779 peter 1042 0 : { int ret = r_mark_ysA(z);
1658 tgl 1043 0 : if (ret == 0) goto lab19;
5710 1044 0 : if (ret < 0) return ret;
1045 : }
1046 : }
1047 0 : lab20:
1048 0 : goto lab0;
1049 0 : lab19:
1050 0 : z->c = z->l - m1;
779 peter 1051 0 : { int m7 = z->l - z->c; (void)m7;
1052 0 : { int ret = r_mark_sUnUz(z);
1658 tgl 1053 0 : if (ret == 0) goto lab24;
5710 1054 0 : if (ret < 0) return ret;
1055 : }
1056 0 : goto lab23;
1057 0 : lab24:
1658 1058 0 : z->c = z->l - m7;
779 peter 1059 0 : { int ret = r_mark_yUz(z);
1658 tgl 1060 0 : if (ret == 0) goto lab25;
5710 1061 0 : if (ret < 0) return ret;
1062 : }
1063 0 : goto lab23;
1064 0 : lab25:
1658 1065 0 : z->c = z->l - m7;
779 peter 1066 0 : { int ret = r_mark_sUn(z);
1658 tgl 1067 0 : if (ret == 0) goto lab26;
5710 1068 0 : if (ret < 0) return ret;
1069 : }
1070 0 : goto lab23;
1071 0 : lab26:
1658 1072 0 : z->c = z->l - m7;
779 peter 1073 0 : { int ret = r_mark_yUm(z);
1658 tgl 1074 0 : if (ret == 0) goto lab22;
5710 1075 0 : if (ret < 0) return ret;
1076 : }
1077 : }
1078 0 : lab23:
779 peter 1079 0 : z->bra = z->c;
1080 0 : { int ret = slice_del(z);
5710 tgl 1081 0 : if (ret < 0) return ret;
1082 : }
779 peter 1083 0 : { int m8 = z->l - z->c; (void)m8;
1084 0 : z->ket = z->c;
1085 0 : { int ret = r_mark_ymUs_(z);
1658 tgl 1086 0 : if (ret == 0) { z->c = z->l - m8; goto lab27; }
5710 1087 0 : if (ret < 0) return ret;
1088 : }
1089 0 : lab27:
1090 : ;
1091 : }
1092 0 : goto lab0;
1093 0 : lab22:
1094 0 : z->c = z->l - m1;
779 peter 1095 0 : { int ret = r_mark_DUr(z);
1658 tgl 1096 0 : if (ret <= 0) return ret;
1097 : }
779 peter 1098 0 : z->bra = z->c;
1099 0 : { int ret = slice_del(z);
5710 tgl 1100 0 : if (ret < 0) return ret;
1101 : }
779 peter 1102 0 : { int m9 = z->l - z->c; (void)m9;
1103 0 : z->ket = z->c;
1104 0 : { int m10 = z->l - z->c; (void)m10;
1105 0 : { int ret = r_mark_sUnUz(z);
1658 tgl 1106 0 : if (ret == 0) goto lab30;
5710 1107 0 : if (ret < 0) return ret;
1108 : }
1109 0 : goto lab29;
1110 0 : lab30:
1658 1111 0 : z->c = z->l - m10;
779 peter 1112 0 : { int ret = r_mark_lAr(z);
1658 tgl 1113 0 : if (ret == 0) goto lab31;
5710 1114 0 : if (ret < 0) return ret;
1115 : }
1116 0 : goto lab29;
1117 0 : lab31:
1658 1118 0 : z->c = z->l - m10;
779 peter 1119 0 : { int ret = r_mark_yUm(z);
1658 tgl 1120 0 : if (ret == 0) goto lab32;
5710 1121 0 : if (ret < 0) return ret;
1122 : }
1123 0 : goto lab29;
1124 0 : lab32:
1658 1125 0 : z->c = z->l - m10;
779 peter 1126 0 : { int ret = r_mark_sUn(z);
1658 tgl 1127 0 : if (ret == 0) goto lab33;
5710 1128 0 : if (ret < 0) return ret;
1129 : }
1130 0 : goto lab29;
1131 0 : lab33:
1658 1132 0 : z->c = z->l - m10;
779 peter 1133 0 : { int ret = r_mark_yUz(z);
1658 tgl 1134 0 : if (ret == 0) goto lab34;
5710 1135 0 : if (ret < 0) return ret;
1136 : }
1137 0 : goto lab29;
1138 0 : lab34:
1658 1139 0 : z->c = z->l - m10;
1140 : }
5710 1141 0 : lab29:
779 peter 1142 0 : { int ret = r_mark_ymUs_(z);
1658 tgl 1143 0 : if (ret == 0) { z->c = z->l - m9; goto lab28; }
5710 1144 0 : if (ret < 0) return ret;
1145 : }
1146 0 : lab28:
1147 : ;
1148 : }
1149 : }
1150 0 : lab0:
779 peter 1151 0 : z->bra = z->c;
1152 0 : { int ret = slice_del(z);
5710 tgl 1153 0 : if (ret < 0) return ret;
1154 : }
1155 0 : return 1;
1156 : }
1157 :
779 peter 1158 0 : static int r_stem_suffix_chain_before_ki(struct SN_env * z) {
1159 0 : z->ket = z->c;
1160 0 : { int ret = r_mark_ki(z);
1658 tgl 1161 0 : if (ret <= 0) return ret;
1162 : }
779 peter 1163 0 : { int m1 = z->l - z->c; (void)m1;
1164 0 : { int ret = r_mark_DA(z);
1658 tgl 1165 0 : if (ret == 0) goto lab1;
5710 1166 0 : if (ret < 0) return ret;
1167 : }
779 peter 1168 0 : z->bra = z->c;
1169 0 : { int ret = slice_del(z);
5710 tgl 1170 0 : if (ret < 0) return ret;
1171 : }
779 peter 1172 0 : { int m2 = z->l - z->c; (void)m2;
1173 0 : z->ket = z->c;
1174 0 : { int m3 = z->l - z->c; (void)m3;
1175 0 : { int ret = r_mark_lAr(z);
1658 tgl 1176 0 : if (ret == 0) goto lab4;
5710 1177 0 : if (ret < 0) return ret;
1178 : }
779 peter 1179 0 : z->bra = z->c;
1180 0 : { int ret = slice_del(z);
5710 tgl 1181 0 : if (ret < 0) return ret;
1182 : }
779 peter 1183 0 : { int m4 = z->l - z->c; (void)m4;
1184 0 : { int ret = r_stem_suffix_chain_before_ki(z);
1658 tgl 1185 0 : if (ret == 0) { z->c = z->l - m4; goto lab5; }
5710 1186 0 : if (ret < 0) return ret;
1187 : }
1188 0 : lab5:
1189 : ;
1190 : }
1191 0 : goto lab3;
1192 0 : lab4:
1658 1193 0 : z->c = z->l - m3;
779 peter 1194 0 : { int ret = r_mark_possessives(z);
1658 tgl 1195 0 : if (ret == 0) { z->c = z->l - m2; goto lab2; }
5710 1196 0 : if (ret < 0) return ret;
1197 : }
779 peter 1198 0 : z->bra = z->c;
1199 0 : { int ret = slice_del(z);
5710 tgl 1200 0 : if (ret < 0) return ret;
1201 : }
779 peter 1202 0 : { int m5 = z->l - z->c; (void)m5;
1203 0 : z->ket = z->c;
1204 0 : { int ret = r_mark_lAr(z);
1658 tgl 1205 0 : if (ret == 0) { z->c = z->l - m5; goto lab6; }
5710 1206 0 : if (ret < 0) return ret;
1207 : }
779 peter 1208 0 : z->bra = z->c;
1209 0 : { int ret = slice_del(z);
5710 tgl 1210 0 : if (ret < 0) return ret;
1211 : }
779 peter 1212 0 : { int ret = r_stem_suffix_chain_before_ki(z);
1658 tgl 1213 0 : if (ret == 0) { z->c = z->l - m5; goto lab6; }
5710 1214 0 : if (ret < 0) return ret;
1215 : }
1216 0 : lab6:
1217 : ;
1218 : }
1219 : }
1220 0 : lab3:
1221 0 : lab2:
1222 : ;
1223 : }
1224 0 : goto lab0;
1225 0 : lab1:
1226 0 : z->c = z->l - m1;
779 peter 1227 0 : { int ret = r_mark_nUn(z);
1658 tgl 1228 0 : if (ret == 0) goto lab7;
5710 1229 0 : if (ret < 0) return ret;
1230 : }
779 peter 1231 0 : z->bra = z->c;
1232 0 : { int ret = slice_del(z);
5710 tgl 1233 0 : if (ret < 0) return ret;
1234 : }
779 peter 1235 0 : { int m6 = z->l - z->c; (void)m6;
1236 0 : z->ket = z->c;
1237 0 : { int m7 = z->l - z->c; (void)m7;
1238 0 : { int ret = r_mark_lArI(z);
1658 tgl 1239 0 : if (ret == 0) goto lab10;
5710 1240 0 : if (ret < 0) return ret;
1241 : }
779 peter 1242 0 : z->bra = z->c;
1243 0 : { int ret = slice_del(z);
5710 tgl 1244 0 : if (ret < 0) return ret;
1245 : }
1246 0 : goto lab9;
1247 0 : lab10:
1658 1248 0 : z->c = z->l - m7;
779 peter 1249 0 : z->ket = z->c;
1250 0 : { int m8 = z->l - z->c; (void)m8;
1251 0 : { int ret = r_mark_possessives(z);
1658 tgl 1252 0 : if (ret == 0) goto lab13;
5710 1253 0 : if (ret < 0) return ret;
1254 : }
1255 0 : goto lab12;
1256 0 : lab13:
1658 1257 0 : z->c = z->l - m8;
779 peter 1258 0 : { int ret = r_mark_sU(z);
1658 tgl 1259 0 : if (ret == 0) goto lab11;
5710 1260 0 : if (ret < 0) return ret;
1261 : }
1262 : }
1263 0 : lab12:
779 peter 1264 0 : z->bra = z->c;
1265 0 : { int ret = slice_del(z);
5710 tgl 1266 0 : if (ret < 0) return ret;
1267 : }
779 peter 1268 0 : { int m9 = z->l - z->c; (void)m9;
1269 0 : z->ket = z->c;
1270 0 : { int ret = r_mark_lAr(z);
1658 tgl 1271 0 : if (ret == 0) { z->c = z->l - m9; goto lab14; }
5710 1272 0 : if (ret < 0) return ret;
1273 : }
779 peter 1274 0 : z->bra = z->c;
1275 0 : { int ret = slice_del(z);
5710 tgl 1276 0 : if (ret < 0) return ret;
1277 : }
779 peter 1278 0 : { int ret = r_stem_suffix_chain_before_ki(z);
1658 tgl 1279 0 : if (ret == 0) { z->c = z->l - m9; goto lab14; }
5710 1280 0 : if (ret < 0) return ret;
1281 : }
1282 0 : lab14:
1283 : ;
1284 : }
1285 0 : goto lab9;
1286 0 : lab11:
1658 1287 0 : z->c = z->l - m7;
779 peter 1288 0 : { int ret = r_stem_suffix_chain_before_ki(z);
1658 tgl 1289 0 : if (ret == 0) { z->c = z->l - m6; goto lab8; }
5710 1290 0 : if (ret < 0) return ret;
1291 : }
1292 : }
1293 0 : lab9:
1294 0 : lab8:
1295 : ;
1296 : }
1297 0 : goto lab0;
1298 0 : lab7:
1299 0 : z->c = z->l - m1;
779 peter 1300 0 : { int ret = r_mark_ndA(z);
1658 tgl 1301 0 : if (ret <= 0) return ret;
1302 : }
779 peter 1303 0 : { int m10 = z->l - z->c; (void)m10;
1304 0 : { int ret = r_mark_lArI(z);
1658 tgl 1305 0 : if (ret == 0) goto lab16;
5710 1306 0 : if (ret < 0) return ret;
1307 : }
779 peter 1308 0 : z->bra = z->c;
1309 0 : { int ret = slice_del(z);
5710 tgl 1310 0 : if (ret < 0) return ret;
1311 : }
1312 0 : goto lab15;
1313 0 : lab16:
1658 1314 0 : z->c = z->l - m10;
779 peter 1315 0 : { int ret = r_mark_sU(z);
1658 tgl 1316 0 : if (ret == 0) goto lab17;
5710 1317 0 : if (ret < 0) return ret;
1318 : }
779 peter 1319 0 : z->bra = z->c;
1320 0 : { int ret = slice_del(z);
5710 tgl 1321 0 : if (ret < 0) return ret;
1322 : }
779 peter 1323 0 : { int m11 = z->l - z->c; (void)m11;
1324 0 : z->ket = z->c;
1325 0 : { int ret = r_mark_lAr(z);
1658 tgl 1326 0 : if (ret == 0) { z->c = z->l - m11; goto lab18; }
5710 1327 0 : if (ret < 0) return ret;
1328 : }
779 peter 1329 0 : z->bra = z->c;
1330 0 : { int ret = slice_del(z);
5710 tgl 1331 0 : if (ret < 0) return ret;
1332 : }
779 peter 1333 0 : { int ret = r_stem_suffix_chain_before_ki(z);
1658 tgl 1334 0 : if (ret == 0) { z->c = z->l - m11; goto lab18; }
5710 1335 0 : if (ret < 0) return ret;
1336 : }
1337 0 : lab18:
1338 : ;
1339 : }
1340 0 : goto lab15;
1341 0 : lab17:
1658 1342 0 : z->c = z->l - m10;
779 peter 1343 0 : { int ret = r_stem_suffix_chain_before_ki(z);
1658 tgl 1344 0 : if (ret <= 0) return ret;
1345 : }
1346 : }
5710 1347 0 : lab15:
1348 : ;
1349 : }
1350 0 : lab0:
1351 0 : return 1;
1352 : }
1353 :
779 peter 1354 0 : static int r_stem_noun_suffixes(struct SN_env * z) {
1355 0 : { int m1 = z->l - z->c; (void)m1;
1356 0 : z->ket = z->c;
1357 0 : { int ret = r_mark_lAr(z);
1658 tgl 1358 0 : if (ret == 0) goto lab1;
5710 1359 0 : if (ret < 0) return ret;
1360 : }
779 peter 1361 0 : z->bra = z->c;
1362 0 : { int ret = slice_del(z);
5710 tgl 1363 0 : if (ret < 0) return ret;
1364 : }
779 peter 1365 0 : { int m2 = z->l - z->c; (void)m2;
1366 0 : { int ret = r_stem_suffix_chain_before_ki(z);
1658 tgl 1367 0 : if (ret == 0) { z->c = z->l - m2; goto lab2; }
5710 1368 0 : if (ret < 0) return ret;
1369 : }
1370 0 : lab2:
1371 : ;
1372 : }
1373 0 : goto lab0;
1374 0 : lab1:
1375 0 : z->c = z->l - m1;
779 peter 1376 0 : z->ket = z->c;
1377 0 : { int ret = r_mark_ncA(z);
1658 tgl 1378 0 : if (ret == 0) goto lab3;
5710 1379 0 : if (ret < 0) return ret;
1380 : }
779 peter 1381 0 : z->bra = z->c;
1382 0 : { int ret = slice_del(z);
5710 tgl 1383 0 : if (ret < 0) return ret;
1384 : }
779 peter 1385 0 : { int m3 = z->l - z->c; (void)m3;
1386 0 : { int m4 = z->l - z->c; (void)m4;
1387 0 : z->ket = z->c;
1388 0 : { int ret = r_mark_lArI(z);
1658 tgl 1389 0 : if (ret == 0) goto lab6;
5710 1390 0 : if (ret < 0) return ret;
1391 : }
779 peter 1392 0 : z->bra = z->c;
1393 0 : { int ret = slice_del(z);
5710 tgl 1394 0 : if (ret < 0) return ret;
1395 : }
1396 0 : goto lab5;
1397 0 : lab6:
1658 1398 0 : z->c = z->l - m4;
779 peter 1399 0 : z->ket = z->c;
1400 0 : { int m5 = z->l - z->c; (void)m5;
1401 0 : { int ret = r_mark_possessives(z);
1658 tgl 1402 0 : if (ret == 0) goto lab9;
5710 1403 0 : if (ret < 0) return ret;
1404 : }
1405 0 : goto lab8;
1406 0 : lab9:
1658 1407 0 : z->c = z->l - m5;
779 peter 1408 0 : { int ret = r_mark_sU(z);
1658 tgl 1409 0 : if (ret == 0) goto lab7;
5710 1410 0 : if (ret < 0) return ret;
1411 : }
1412 : }
1413 0 : lab8:
779 peter 1414 0 : z->bra = z->c;
1415 0 : { int ret = slice_del(z);
5710 tgl 1416 0 : if (ret < 0) return ret;
1417 : }
779 peter 1418 0 : { int m6 = z->l - z->c; (void)m6;
1419 0 : z->ket = z->c;
1420 0 : { int ret = r_mark_lAr(z);
1658 tgl 1421 0 : if (ret == 0) { z->c = z->l - m6; goto lab10; }
5710 1422 0 : if (ret < 0) return ret;
1423 : }
779 peter 1424 0 : z->bra = z->c;
1425 0 : { int ret = slice_del(z);
5710 tgl 1426 0 : if (ret < 0) return ret;
1427 : }
779 peter 1428 0 : { int ret = r_stem_suffix_chain_before_ki(z);
1658 tgl 1429 0 : if (ret == 0) { z->c = z->l - m6; goto lab10; }
5710 1430 0 : if (ret < 0) return ret;
1431 : }
1432 0 : lab10:
1433 : ;
1434 : }
1435 0 : goto lab5;
1436 0 : lab7:
1658 1437 0 : z->c = z->l - m4;
779 peter 1438 0 : z->ket = z->c;
1439 0 : { int ret = r_mark_lAr(z);
1658 tgl 1440 0 : if (ret == 0) { z->c = z->l - m3; goto lab4; }
5710 1441 0 : if (ret < 0) return ret;
1442 : }
779 peter 1443 0 : z->bra = z->c;
1444 0 : { int ret = slice_del(z);
5710 tgl 1445 0 : if (ret < 0) return ret;
1446 : }
779 peter 1447 0 : { int ret = r_stem_suffix_chain_before_ki(z);
1658 tgl 1448 0 : if (ret == 0) { z->c = z->l - m3; goto lab4; }
5710 1449 0 : if (ret < 0) return ret;
1450 : }
1451 : }
1452 0 : lab5:
1453 0 : lab4:
1454 : ;
1455 : }
1456 0 : goto lab0;
1457 0 : lab3:
1458 0 : z->c = z->l - m1;
779 peter 1459 0 : z->ket = z->c;
1460 0 : { int m7 = z->l - z->c; (void)m7;
1461 0 : { int ret = r_mark_ndA(z);
1658 tgl 1462 0 : if (ret == 0) goto lab13;
5710 1463 0 : if (ret < 0) return ret;
1464 : }
1465 0 : goto lab12;
1466 0 : lab13:
1658 1467 0 : z->c = z->l - m7;
779 peter 1468 0 : { int ret = r_mark_nA(z);
1658 tgl 1469 0 : if (ret == 0) goto lab11;
5710 1470 0 : if (ret < 0) return ret;
1471 : }
1472 : }
1473 0 : lab12:
779 peter 1474 0 : { int m8 = z->l - z->c; (void)m8;
1475 0 : { int ret = r_mark_lArI(z);
1658 tgl 1476 0 : if (ret == 0) goto lab15;
5710 1477 0 : if (ret < 0) return ret;
1478 : }
779 peter 1479 0 : z->bra = z->c;
1480 0 : { int ret = slice_del(z);
5710 tgl 1481 0 : if (ret < 0) return ret;
1482 : }
1483 0 : goto lab14;
1484 0 : lab15:
1658 1485 0 : z->c = z->l - m8;
779 peter 1486 0 : { int ret = r_mark_sU(z);
1658 tgl 1487 0 : if (ret == 0) goto lab16;
5710 1488 0 : if (ret < 0) return ret;
1489 : }
779 peter 1490 0 : z->bra = z->c;
1491 0 : { int ret = slice_del(z);
5710 tgl 1492 0 : if (ret < 0) return ret;
1493 : }
779 peter 1494 0 : { int m9 = z->l - z->c; (void)m9;
1495 0 : z->ket = z->c;
1496 0 : { int ret = r_mark_lAr(z);
1658 tgl 1497 0 : if (ret == 0) { z->c = z->l - m9; goto lab17; }
5710 1498 0 : if (ret < 0) return ret;
1499 : }
779 peter 1500 0 : z->bra = z->c;
1501 0 : { int ret = slice_del(z);
5710 tgl 1502 0 : if (ret < 0) return ret;
1503 : }
779 peter 1504 0 : { int ret = r_stem_suffix_chain_before_ki(z);
1658 tgl 1505 0 : if (ret == 0) { z->c = z->l - m9; goto lab17; }
5710 1506 0 : if (ret < 0) return ret;
1507 : }
1508 0 : lab17:
1509 : ;
1510 : }
1511 0 : goto lab14;
1512 0 : lab16:
1658 1513 0 : z->c = z->l - m8;
779 peter 1514 0 : { int ret = r_stem_suffix_chain_before_ki(z);
1658 tgl 1515 0 : if (ret == 0) goto lab11;
5710 1516 0 : if (ret < 0) return ret;
1517 : }
1518 : }
1519 0 : lab14:
1520 0 : goto lab0;
1521 0 : lab11:
1522 0 : z->c = z->l - m1;
779 peter 1523 0 : z->ket = z->c;
1524 0 : { int m10 = z->l - z->c; (void)m10;
1525 0 : { int ret = r_mark_ndAn(z);
1658 tgl 1526 0 : if (ret == 0) goto lab20;
5710 1527 0 : if (ret < 0) return ret;
1528 : }
1529 0 : goto lab19;
1530 0 : lab20:
1658 1531 0 : z->c = z->l - m10;
779 peter 1532 0 : { int ret = r_mark_nU(z);
1658 tgl 1533 0 : if (ret == 0) goto lab18;
5710 1534 0 : if (ret < 0) return ret;
1535 : }
1536 : }
1537 0 : lab19:
779 peter 1538 0 : { int m11 = z->l - z->c; (void)m11;
1539 0 : { int ret = r_mark_sU(z);
1658 tgl 1540 0 : if (ret == 0) goto lab22;
5710 1541 0 : if (ret < 0) return ret;
1542 : }
779 peter 1543 0 : z->bra = z->c;
1544 0 : { int ret = slice_del(z);
5710 tgl 1545 0 : if (ret < 0) return ret;
1546 : }
779 peter 1547 0 : { int m12 = z->l - z->c; (void)m12;
1548 0 : z->ket = z->c;
1549 0 : { int ret = r_mark_lAr(z);
1658 tgl 1550 0 : if (ret == 0) { z->c = z->l - m12; goto lab23; }
5710 1551 0 : if (ret < 0) return ret;
1552 : }
779 peter 1553 0 : z->bra = z->c;
1554 0 : { int ret = slice_del(z);
5710 tgl 1555 0 : if (ret < 0) return ret;
1556 : }
779 peter 1557 0 : { int ret = r_stem_suffix_chain_before_ki(z);
1658 tgl 1558 0 : if (ret == 0) { z->c = z->l - m12; goto lab23; }
5710 1559 0 : if (ret < 0) return ret;
1560 : }
1561 0 : lab23:
1562 : ;
1563 : }
1564 0 : goto lab21;
1565 0 : lab22:
1658 1566 0 : z->c = z->l - m11;
779 peter 1567 0 : { int ret = r_mark_lArI(z);
1658 tgl 1568 0 : if (ret == 0) goto lab18;
5710 1569 0 : if (ret < 0) return ret;
1570 : }
1571 : }
1572 0 : lab21:
1573 0 : goto lab0;
1574 0 : lab18:
1575 0 : z->c = z->l - m1;
779 peter 1576 0 : z->ket = z->c;
1577 0 : { int ret = r_mark_DAn(z);
1658 tgl 1578 0 : if (ret == 0) goto lab24;
5710 1579 0 : if (ret < 0) return ret;
1580 : }
779 peter 1581 0 : z->bra = z->c;
1582 0 : { int ret = slice_del(z);
5710 tgl 1583 0 : if (ret < 0) return ret;
1584 : }
779 peter 1585 0 : { int m13 = z->l - z->c; (void)m13;
1586 0 : z->ket = z->c;
1587 0 : { int m14 = z->l - z->c; (void)m14;
1588 0 : { int ret = r_mark_possessives(z);
1658 tgl 1589 0 : if (ret == 0) goto lab27;
5710 1590 0 : if (ret < 0) return ret;
1591 : }
779 peter 1592 0 : z->bra = z->c;
1593 0 : { int ret = slice_del(z);
5710 tgl 1594 0 : if (ret < 0) return ret;
1595 : }
779 peter 1596 0 : { int m15 = z->l - z->c; (void)m15;
1597 0 : z->ket = z->c;
1598 0 : { int ret = r_mark_lAr(z);
1658 tgl 1599 0 : if (ret == 0) { z->c = z->l - m15; goto lab28; }
5710 1600 0 : if (ret < 0) return ret;
1601 : }
779 peter 1602 0 : z->bra = z->c;
1603 0 : { int ret = slice_del(z);
5710 tgl 1604 0 : if (ret < 0) return ret;
1605 : }
779 peter 1606 0 : { int ret = r_stem_suffix_chain_before_ki(z);
1658 tgl 1607 0 : if (ret == 0) { z->c = z->l - m15; goto lab28; }
5710 1608 0 : if (ret < 0) return ret;
1609 : }
1610 0 : lab28:
1611 : ;
1612 : }
1613 0 : goto lab26;
1614 0 : lab27:
1658 1615 0 : z->c = z->l - m14;
779 peter 1616 0 : { int ret = r_mark_lAr(z);
1658 tgl 1617 0 : if (ret == 0) goto lab29;
5710 1618 0 : if (ret < 0) return ret;
1619 : }
779 peter 1620 0 : z->bra = z->c;
1621 0 : { int ret = slice_del(z);
5710 tgl 1622 0 : if (ret < 0) return ret;
1623 : }
779 peter 1624 0 : { int m16 = z->l - z->c; (void)m16;
1625 0 : { int ret = r_stem_suffix_chain_before_ki(z);
1658 tgl 1626 0 : if (ret == 0) { z->c = z->l - m16; goto lab30; }
5710 1627 0 : if (ret < 0) return ret;
1628 : }
1629 0 : lab30:
1630 : ;
1631 : }
1632 0 : goto lab26;
1633 0 : lab29:
1658 1634 0 : z->c = z->l - m14;
779 peter 1635 0 : { int ret = r_stem_suffix_chain_before_ki(z);
1658 tgl 1636 0 : if (ret == 0) { z->c = z->l - m13; goto lab25; }
5710 1637 0 : if (ret < 0) return ret;
1638 : }
1639 : }
1640 0 : lab26:
1641 0 : lab25:
1642 : ;
1643 : }
1644 0 : goto lab0;
1645 0 : lab24:
1646 0 : z->c = z->l - m1;
779 peter 1647 0 : z->ket = z->c;
1648 0 : { int m17 = z->l - z->c; (void)m17;
1649 0 : { int ret = r_mark_nUn(z);
1658 tgl 1650 0 : if (ret == 0) goto lab33;
5710 1651 0 : if (ret < 0) return ret;
1652 : }
1653 0 : goto lab32;
1654 0 : lab33:
1658 1655 0 : z->c = z->l - m17;
779 peter 1656 0 : { int ret = r_mark_ylA(z);
1658 tgl 1657 0 : if (ret == 0) goto lab31;
5710 1658 0 : if (ret < 0) return ret;
1659 : }
1660 : }
1661 0 : lab32:
779 peter 1662 0 : z->bra = z->c;
1663 0 : { int ret = slice_del(z);
5710 tgl 1664 0 : if (ret < 0) return ret;
1665 : }
779 peter 1666 0 : { int m18 = z->l - z->c; (void)m18;
1667 0 : { int m19 = z->l - z->c; (void)m19;
1668 0 : z->ket = z->c;
1669 0 : { int ret = r_mark_lAr(z);
1658 tgl 1670 0 : if (ret == 0) goto lab36;
5710 1671 0 : if (ret < 0) return ret;
1672 : }
779 peter 1673 0 : z->bra = z->c;
1674 0 : { int ret = slice_del(z);
5710 tgl 1675 0 : if (ret < 0) return ret;
1676 : }
779 peter 1677 0 : { int ret = r_stem_suffix_chain_before_ki(z);
1658 tgl 1678 0 : if (ret == 0) goto lab36;
5710 1679 0 : if (ret < 0) return ret;
1680 : }
1681 0 : goto lab35;
1682 0 : lab36:
1658 1683 0 : z->c = z->l - m19;
779 peter 1684 0 : z->ket = z->c;
1685 0 : { int m20 = z->l - z->c; (void)m20;
1686 0 : { int ret = r_mark_possessives(z);
1658 tgl 1687 0 : if (ret == 0) goto lab39;
5710 1688 0 : if (ret < 0) return ret;
1689 : }
1690 0 : goto lab38;
1691 0 : lab39:
1658 1692 0 : z->c = z->l - m20;
779 peter 1693 0 : { int ret = r_mark_sU(z);
1658 tgl 1694 0 : if (ret == 0) goto lab37;
5710 1695 0 : if (ret < 0) return ret;
1696 : }
1697 : }
1698 0 : lab38:
779 peter 1699 0 : z->bra = z->c;
1700 0 : { int ret = slice_del(z);
5710 tgl 1701 0 : if (ret < 0) return ret;
1702 : }
779 peter 1703 0 : { int m21 = z->l - z->c; (void)m21;
1704 0 : z->ket = z->c;
1705 0 : { int ret = r_mark_lAr(z);
1658 tgl 1706 0 : if (ret == 0) { z->c = z->l - m21; goto lab40; }
5710 1707 0 : if (ret < 0) return ret;
1708 : }
779 peter 1709 0 : z->bra = z->c;
1710 0 : { int ret = slice_del(z);
5710 tgl 1711 0 : if (ret < 0) return ret;
1712 : }
779 peter 1713 0 : { int ret = r_stem_suffix_chain_before_ki(z);
1658 tgl 1714 0 : if (ret == 0) { z->c = z->l - m21; goto lab40; }
5710 1715 0 : if (ret < 0) return ret;
1716 : }
1717 0 : lab40:
1718 : ;
1719 : }
1720 0 : goto lab35;
1721 0 : lab37:
1658 1722 0 : z->c = z->l - m19;
779 peter 1723 0 : { int ret = r_stem_suffix_chain_before_ki(z);
1658 tgl 1724 0 : if (ret == 0) { z->c = z->l - m18; goto lab34; }
5710 1725 0 : if (ret < 0) return ret;
1726 : }
1727 : }
1728 0 : lab35:
1729 0 : lab34:
1730 : ;
1731 : }
1732 0 : goto lab0;
1733 0 : lab31:
1734 0 : z->c = z->l - m1;
779 peter 1735 0 : z->ket = z->c;
1736 0 : { int ret = r_mark_lArI(z);
1658 tgl 1737 0 : if (ret == 0) goto lab41;
5710 1738 0 : if (ret < 0) return ret;
1739 : }
779 peter 1740 0 : z->bra = z->c;
1741 0 : { int ret = slice_del(z);
5710 tgl 1742 0 : if (ret < 0) return ret;
1743 : }
1744 0 : goto lab0;
1745 0 : lab41:
1746 0 : z->c = z->l - m1;
779 peter 1747 0 : { int ret = r_stem_suffix_chain_before_ki(z);
1658 tgl 1748 0 : if (ret == 0) goto lab42;
5710 1749 0 : if (ret < 0) return ret;
1750 : }
1751 0 : goto lab0;
1752 0 : lab42:
1753 0 : z->c = z->l - m1;
779 peter 1754 0 : z->ket = z->c;
1755 0 : { int m22 = z->l - z->c; (void)m22;
1756 0 : { int ret = r_mark_DA(z);
1658 tgl 1757 0 : if (ret == 0) goto lab45;
5710 1758 0 : if (ret < 0) return ret;
1759 : }
1760 0 : goto lab44;
1761 0 : lab45:
1658 1762 0 : z->c = z->l - m22;
779 peter 1763 0 : { int ret = r_mark_yU(z);
1658 tgl 1764 0 : if (ret == 0) goto lab46;
5710 1765 0 : if (ret < 0) return ret;
1766 : }
1767 0 : goto lab44;
1768 0 : lab46:
1658 1769 0 : z->c = z->l - m22;
779 peter 1770 0 : { int ret = r_mark_yA(z);
1658 tgl 1771 0 : if (ret == 0) goto lab43;
5710 1772 0 : if (ret < 0) return ret;
1773 : }
1774 : }
1775 0 : lab44:
779 peter 1776 0 : z->bra = z->c;
1777 0 : { int ret = slice_del(z);
5710 tgl 1778 0 : if (ret < 0) return ret;
1779 : }
779 peter 1780 0 : { int m23 = z->l - z->c; (void)m23;
1781 0 : z->ket = z->c;
1782 0 : { int m24 = z->l - z->c; (void)m24;
1783 0 : { int ret = r_mark_possessives(z);
1658 tgl 1784 0 : if (ret == 0) goto lab49;
5710 1785 0 : if (ret < 0) return ret;
1786 : }
779 peter 1787 0 : z->bra = z->c;
1788 0 : { int ret = slice_del(z);
5710 tgl 1789 0 : if (ret < 0) return ret;
1790 : }
779 peter 1791 0 : { int m25 = z->l - z->c; (void)m25;
1792 0 : z->ket = z->c;
1793 0 : { int ret = r_mark_lAr(z);
1658 tgl 1794 0 : if (ret == 0) { z->c = z->l - m25; goto lab50; }
5710 1795 0 : if (ret < 0) return ret;
1796 : }
1797 0 : lab50:
1798 : ;
1799 : }
1800 0 : goto lab48;
1801 0 : lab49:
1658 1802 0 : z->c = z->l - m24;
779 peter 1803 0 : { int ret = r_mark_lAr(z);
1658 tgl 1804 0 : if (ret == 0) { z->c = z->l - m23; goto lab47; }
5710 1805 0 : if (ret < 0) return ret;
1806 : }
1807 : }
1808 0 : lab48:
779 peter 1809 0 : z->bra = z->c;
1810 0 : { int ret = slice_del(z);
5710 tgl 1811 0 : if (ret < 0) return ret;
1812 : }
779 peter 1813 0 : z->ket = z->c;
1814 0 : { int ret = r_stem_suffix_chain_before_ki(z);
1658 tgl 1815 0 : if (ret == 0) { z->c = z->l - m23; goto lab47; }
5710 1816 0 : if (ret < 0) return ret;
1817 : }
1818 0 : lab47:
1819 : ;
1820 : }
1821 0 : goto lab0;
1822 0 : lab43:
1823 0 : z->c = z->l - m1;
779 peter 1824 0 : z->ket = z->c;
1825 0 : { int m26 = z->l - z->c; (void)m26;
1826 0 : { int ret = r_mark_possessives(z);
1658 tgl 1827 0 : if (ret == 0) goto lab52;
5710 1828 0 : if (ret < 0) return ret;
1829 : }
1830 0 : goto lab51;
1831 0 : lab52:
1658 1832 0 : z->c = z->l - m26;
779 peter 1833 0 : { int ret = r_mark_sU(z);
1658 tgl 1834 0 : if (ret <= 0) return ret;
1835 : }
1836 : }
5710 1837 0 : lab51:
779 peter 1838 0 : z->bra = z->c;
1839 0 : { int ret = slice_del(z);
5710 tgl 1840 0 : if (ret < 0) return ret;
1841 : }
779 peter 1842 0 : { int m27 = z->l - z->c; (void)m27;
1843 0 : z->ket = z->c;
1844 0 : { int ret = r_mark_lAr(z);
1658 tgl 1845 0 : if (ret == 0) { z->c = z->l - m27; goto lab53; }
5710 1846 0 : if (ret < 0) return ret;
1847 : }
779 peter 1848 0 : z->bra = z->c;
1849 0 : { int ret = slice_del(z);
5710 tgl 1850 0 : if (ret < 0) return ret;
1851 : }
779 peter 1852 0 : { int ret = r_stem_suffix_chain_before_ki(z);
1658 tgl 1853 0 : if (ret == 0) { z->c = z->l - m27; goto lab53; }
5710 1854 0 : if (ret < 0) return ret;
1855 : }
1856 0 : lab53:
1857 : ;
1858 : }
1859 : }
1860 0 : lab0:
1861 0 : return 1;
1862 : }
1863 :
779 peter 1864 0 : static int r_post_process_last_consonants(struct SN_env * z) {
1865 : int among_var;
1866 0 : z->ket = z->c;
1867 0 : among_var = find_among_b(z, a_23, 4);
5710 tgl 1868 0 : if (!(among_var)) return 0;
779 peter 1869 0 : z->bra = z->c;
1870 0 : switch (among_var) {
5710 tgl 1871 0 : case 1:
779 peter 1872 0 : { int ret = slice_from_s(z, 1, s_5);
5710 tgl 1873 0 : if (ret < 0) return ret;
1874 : }
1875 0 : break;
1876 0 : case 2:
779 peter 1877 0 : { int ret = slice_from_s(z, 2, s_6);
5710 tgl 1878 0 : if (ret < 0) return ret;
1879 : }
1880 0 : break;
1881 0 : case 3:
779 peter 1882 0 : { int ret = slice_from_s(z, 1, s_7);
5710 tgl 1883 0 : if (ret < 0) return ret;
1884 : }
1885 0 : break;
1886 0 : case 4:
779 peter 1887 0 : { int ret = slice_from_s(z, 1, s_8);
5710 tgl 1888 0 : if (ret < 0) return ret;
1889 : }
1890 0 : break;
1891 : }
1892 0 : return 1;
1893 : }
1894 :
779 peter 1895 0 : static int r_append_U_to_stems_ending_with_d_or_g(struct SN_env * z) {
1896 0 : { int m_test1 = z->l - z->c;
1897 0 : { int m2 = z->l - z->c; (void)m2;
1898 0 : if (z->c <= z->lb || z->p[z->c - 1] != 'd') goto lab1;
1658 tgl 1899 0 : z->c--;
5710 1900 0 : goto lab0;
1901 0 : lab1:
1658 1902 0 : z->c = z->l - m2;
779 peter 1903 0 : if (z->c <= z->lb || z->p[z->c - 1] != 'g') return 0;
1658 tgl 1904 0 : z->c--;
1905 : }
5710 1906 0 : lab0:
1658 1907 0 : z->c = z->l - m_test1;
1908 : }
779 peter 1909 0 : { int m3 = z->l - z->c; (void)m3;
1910 0 : { int m_test4 = z->l - z->c;
1911 0 : if (out_grouping_b_U(z, g_vowel, 97, 305, 1) < 0) goto lab3;
1912 0 : { int m5 = z->l - z->c; (void)m5;
1913 0 : if (z->c <= z->lb || z->p[z->c - 1] != 'a') goto lab5;
1658 tgl 1914 0 : z->c--;
5710 1915 0 : goto lab4;
1916 0 : lab5:
1658 1917 0 : z->c = z->l - m5;
779 peter 1918 0 : if (!(eq_s_b(z, 2, s_9))) goto lab3;
1919 : }
5710 tgl 1920 0 : lab4:
1658 1921 0 : z->c = z->l - m_test4;
1922 : }
1923 : { int ret;
1924 0 : { int saved_c = z->c;
779 peter 1925 0 : ret = insert_s(z, z->c, z->c, 2, s_10);
1658 tgl 1926 0 : z->c = saved_c;
1927 : }
5710 1928 0 : if (ret < 0) return ret;
1929 : }
1930 0 : goto lab2;
1931 0 : lab3:
1658 1932 0 : z->c = z->l - m3;
779 peter 1933 0 : { int m_test6 = z->l - z->c;
1934 0 : if (out_grouping_b_U(z, g_vowel, 97, 305, 1) < 0) goto lab6;
1935 0 : { int m7 = z->l - z->c; (void)m7;
1936 0 : if (z->c <= z->lb || z->p[z->c - 1] != 'e') goto lab8;
1658 tgl 1937 0 : z->c--;
5710 1938 0 : goto lab7;
1939 0 : lab8:
1658 1940 0 : z->c = z->l - m7;
779 peter 1941 0 : if (z->c <= z->lb || z->p[z->c - 1] != 'i') goto lab6;
1658 tgl 1942 0 : z->c--;
1943 : }
5710 1944 0 : lab7:
1658 1945 0 : z->c = z->l - m_test6;
1946 : }
1947 : { int ret;
1948 0 : { int saved_c = z->c;
779 peter 1949 0 : ret = insert_s(z, z->c, z->c, 1, s_11);
1658 tgl 1950 0 : z->c = saved_c;
1951 : }
5710 1952 0 : if (ret < 0) return ret;
1953 : }
1954 0 : goto lab2;
1955 0 : lab6:
1658 1956 0 : z->c = z->l - m3;
779 peter 1957 0 : { int m_test8 = z->l - z->c;
1958 0 : if (out_grouping_b_U(z, g_vowel, 97, 305, 1) < 0) goto lab9;
1959 0 : { int m9 = z->l - z->c; (void)m9;
1960 0 : if (z->c <= z->lb || z->p[z->c - 1] != 'o') goto lab11;
1658 tgl 1961 0 : z->c--;
5710 1962 0 : goto lab10;
1963 0 : lab11:
1658 1964 0 : z->c = z->l - m9;
779 peter 1965 0 : if (z->c <= z->lb || z->p[z->c - 1] != 'u') goto lab9;
1658 tgl 1966 0 : z->c--;
1967 : }
5710 1968 0 : lab10:
1658 1969 0 : z->c = z->l - m_test8;
1970 : }
1971 : { int ret;
1972 0 : { int saved_c = z->c;
779 peter 1973 0 : ret = insert_s(z, z->c, z->c, 1, s_12);
1658 tgl 1974 0 : z->c = saved_c;
1975 : }
5710 1976 0 : if (ret < 0) return ret;
1977 : }
1978 0 : goto lab2;
1979 0 : lab9:
1658 1980 0 : z->c = z->l - m3;
779 peter 1981 0 : { int m_test10 = z->l - z->c;
1982 0 : if (out_grouping_b_U(z, g_vowel, 97, 305, 1) < 0) return 0;
1983 0 : { int m11 = z->l - z->c; (void)m11;
1984 0 : if (!(eq_s_b(z, 2, s_13))) goto lab13;
5710 tgl 1985 0 : goto lab12;
1986 0 : lab13:
1658 1987 0 : z->c = z->l - m11;
779 peter 1988 0 : if (!(eq_s_b(z, 2, s_14))) return 0;
1989 : }
5710 tgl 1990 0 : lab12:
1658 1991 0 : z->c = z->l - m_test10;
1992 : }
1993 : { int ret;
1994 0 : { int saved_c = z->c;
779 peter 1995 0 : ret = insert_s(z, z->c, z->c, 2, s_15);
1658 tgl 1996 0 : z->c = saved_c;
1997 : }
5710 1998 0 : if (ret < 0) return ret;
1999 : }
2000 : }
2001 0 : lab2:
2002 0 : return 1;
2003 : }
2004 :
779 peter 2005 0 : static int r_is_reserved_word(struct SN_env * z) {
2006 0 : if (!(eq_s_b(z, 2, s_16))) return 0;
2007 0 : { int m1 = z->l - z->c; (void)m1;
2008 0 : if (!(eq_s_b(z, 3, s_17))) { z->c = z->l - m1; goto lab0; }
1658 tgl 2009 0 : lab0:
2010 : ;
2011 : }
779 peter 2012 0 : if (z->c > z->lb) return 0;
1658 tgl 2013 0 : return 1;
2014 : }
2015 :
779 peter 2016 0 : static int r_more_than_one_syllable_word(struct SN_env * z) {
2017 0 : { int c_test1 = z->c;
5710 tgl 2018 0 : { int i = 2;
779 peter 2019 0 : while(1) {
2020 0 : int c2 = z->c;
2021 : {
5710 tgl 2022 0 : int ret = out_grouping_U(z, g_vowel, 97, 305, 1);
2023 0 : if (ret < 0) goto lab0;
2024 0 : z->c += ret;
2025 : }
2026 0 : i--;
2027 0 : continue;
2028 0 : lab0:
1658 2029 0 : z->c = c2;
5710 2030 0 : break;
2031 : }
2032 0 : if (i > 0) return 0;
2033 : }
1658 2034 0 : z->c = c_test1;
2035 : }
5710 2036 0 : return 1;
2037 : }
2038 :
779 peter 2039 0 : static int r_postlude(struct SN_env * z) {
2040 0 : z->lb = z->c; z->c = z->l;
2041 :
2042 0 : { int m1 = z->l - z->c; (void)m1;
2043 0 : { int ret = r_is_reserved_word(z);
1658 tgl 2044 0 : if (ret == 0) goto lab0;
5710 2045 0 : if (ret < 0) return ret;
2046 : }
2047 0 : return 0;
2048 0 : lab0:
1658 2049 0 : z->c = z->l - m1;
2050 : }
779 peter 2051 0 : { int m2 = z->l - z->c; (void)m2;
2052 0 : { int ret = r_append_U_to_stems_ending_with_d_or_g(z);
5710 tgl 2053 0 : if (ret < 0) return ret;
2054 : }
2055 0 : z->c = z->l - m2;
2056 : }
779 peter 2057 0 : { int m3 = z->l - z->c; (void)m3;
2058 0 : { int ret = r_post_process_last_consonants(z);
5710 tgl 2059 0 : if (ret < 0) return ret;
2060 : }
2061 0 : z->c = z->l - m3;
2062 : }
2063 0 : z->c = z->lb;
2064 0 : return 1;
2065 : }
2066 :
779 peter 2067 0 : extern int turkish_UTF_8_stem(struct SN_env * z) {
2068 0 : { int ret = r_more_than_one_syllable_word(z);
1658 tgl 2069 0 : if (ret <= 0) return ret;
2070 : }
779 peter 2071 0 : z->lb = z->c; z->c = z->l;
2072 :
2073 0 : { int m1 = z->l - z->c; (void)m1;
2074 0 : { int ret = r_stem_nominal_verb_suffixes(z);
5710 tgl 2075 0 : if (ret < 0) return ret;
2076 : }
2077 0 : z->c = z->l - m1;
2078 : }
779 peter 2079 0 : if (!(z->I[0])) return 0;
2080 0 : { int m2 = z->l - z->c; (void)m2;
2081 0 : { int ret = r_stem_noun_suffixes(z);
5710 tgl 2082 0 : if (ret < 0) return ret;
2083 : }
2084 0 : z->c = z->l - m2;
2085 : }
2086 0 : z->c = z->lb;
779 peter 2087 0 : { int ret = r_postlude(z);
1658 tgl 2088 0 : if (ret <= 0) return ret;
2089 : }
5710 2090 0 : return 1;
2091 : }
2092 :
779 peter 2093 0 : extern struct SN_env * turkish_UTF_8_create_env(void) { return SN_create_env(0, 1); }
2094 :
5710 tgl 2095 0 : extern void turkish_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); }
2096 :
|