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