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