YAZ 5.35.1
stem_UTF_8_turkish.c
Go to the documentation of this file.
1
2/* This file was generated automatically by the Snowball to ANSI C compiler */
3
4#include "../runtime/header.h"
5
6#ifdef __cplusplus
7extern "C"
8{
9#endif
10 extern int turkish_UTF_8_stem (struct SN_env *z);
11#ifdef __cplusplus
12}
13#endif
14static int r_stem_suffix_chain_before_ki (struct SN_env *z);
15static int r_stem_noun_suffixes (struct SN_env *z);
16static int r_stem_nominal_verb_suffixes (struct SN_env *z);
17static int r_postlude (struct SN_env *z);
18static int r_post_process_last_consonants (struct SN_env *z);
19static int r_more_than_one_syllable_word (struct SN_env *z);
22static int r_mark_suffix_with_optional_U_vowel (struct SN_env *z);
24static int r_mark_ysA (struct SN_env *z);
25static int r_mark_ymUs_ (struct SN_env *z);
26static int r_mark_yken (struct SN_env *z);
27static int r_mark_yDU (struct SN_env *z);
28static int r_mark_yUz (struct SN_env *z);
29static int r_mark_yUm (struct SN_env *z);
30static int r_mark_yU (struct SN_env *z);
31static int r_mark_ylA (struct SN_env *z);
32static int r_mark_yA (struct SN_env *z);
33static int r_mark_possessives (struct SN_env *z);
34static int r_mark_sUnUz (struct SN_env *z);
35static int r_mark_sUn (struct SN_env *z);
36static int r_mark_sU (struct SN_env *z);
37static int r_mark_nUz (struct SN_env *z);
38static int r_mark_nUn (struct SN_env *z);
39static int r_mark_nU (struct SN_env *z);
40static int r_mark_ndAn (struct SN_env *z);
41static int r_mark_ndA (struct SN_env *z);
42static int r_mark_ncA (struct SN_env *z);
43static int r_mark_nA (struct SN_env *z);
44static int r_mark_lArI (struct SN_env *z);
45static int r_mark_lAr (struct SN_env *z);
46static int r_mark_ki (struct SN_env *z);
47static int r_mark_DUr (struct SN_env *z);
48static int r_mark_DAn (struct SN_env *z);
49static int r_mark_DA (struct SN_env *z);
50static int r_mark_cAsInA (struct SN_env *z);
51static int r_is_reserved_word (struct SN_env *z);
52static int r_check_vowel_harmony (struct SN_env *z);
54#ifdef __cplusplus
55extern "C"
56{
57#endif
58
59
60 extern struct SN_env *turkish_UTF_8_create_env (void);
61 extern void turkish_UTF_8_close_env (struct SN_env *z);
62
63
64#ifdef __cplusplus
65}
66#endif
67static const symbol s_0_0[1] = { 'm' };
68static const symbol s_0_1[1] = { 'n' };
69static const symbol s_0_2[3] = { 'm', 'i', 'z' };
70static const symbol s_0_3[3] = { 'n', 'i', 'z' };
71static const symbol s_0_4[3] = { 'm', 'u', 'z' };
72static const symbol s_0_5[3] = { 'n', 'u', 'z' };
73static const symbol s_0_6[4] = { 'm', 0xC4, 0xB1, 'z' };
74static const symbol s_0_7[4] = { 'n', 0xC4, 0xB1, 'z' };
75static const symbol s_0_8[4] = { 'm', 0xC3, 0xBC, 'z' };
76static const symbol s_0_9[4] = { 'n', 0xC3, 0xBC, 'z' };
77
78static const struct among a_0[10] = {
79/* 0 */ {1, s_0_0, -1, -1, 0},
80/* 1 */ {1, s_0_1, -1, -1, 0},
81/* 2 */ {3, s_0_2, -1, -1, 0},
82/* 3 */ {3, s_0_3, -1, -1, 0},
83/* 4 */ {3, s_0_4, -1, -1, 0},
84/* 5 */ {3, s_0_5, -1, -1, 0},
85/* 6 */ {4, s_0_6, -1, -1, 0},
86/* 7 */ {4, s_0_7, -1, -1, 0},
87/* 8 */ {4, s_0_8, -1, -1, 0},
88/* 9 */ {4, s_0_9, -1, -1, 0}
89};
90
91static const symbol s_1_0[4] = { 'l', 'e', 'r', 'i' };
92static const symbol s_1_1[5] = { 'l', 'a', 'r', 0xC4, 0xB1 };
93
94static const struct among a_1[2] = {
95/* 0 */ {4, s_1_0, -1, -1, 0},
96/* 1 */ {5, s_1_1, -1, -1, 0}
97};
98
99static const symbol s_2_0[2] = { 'n', 'i' };
100static const symbol s_2_1[2] = { 'n', 'u' };
101static const symbol s_2_2[3] = { 'n', 0xC4, 0xB1 };
102static const symbol s_2_3[3] = { 'n', 0xC3, 0xBC };
103
104static const struct among a_2[4] = {
105/* 0 */ {2, s_2_0, -1, -1, 0},
106/* 1 */ {2, s_2_1, -1, -1, 0},
107/* 2 */ {3, s_2_2, -1, -1, 0},
108/* 3 */ {3, s_2_3, -1, -1, 0}
109};
110
111static const symbol s_3_0[2] = { 'i', 'n' };
112static const symbol s_3_1[2] = { 'u', 'n' };
113static const symbol s_3_2[3] = { 0xC4, 0xB1, 'n' };
114static const symbol s_3_3[3] = { 0xC3, 0xBC, 'n' };
115
116static const struct among a_3[4] = {
117/* 0 */ {2, s_3_0, -1, -1, 0},
118/* 1 */ {2, s_3_1, -1, -1, 0},
119/* 2 */ {3, s_3_2, -1, -1, 0},
120/* 3 */ {3, s_3_3, -1, -1, 0}
121};
122
123static const symbol s_4_0[1] = { 'a' };
124static const symbol s_4_1[1] = { 'e' };
125
126static const struct among a_4[2] = {
127/* 0 */ {1, s_4_0, -1, -1, 0},
128/* 1 */ {1, s_4_1, -1, -1, 0}
129};
130
131static const symbol s_5_0[2] = { 'n', 'a' };
132static const symbol s_5_1[2] = { 'n', 'e' };
133
134static const struct among a_5[2] = {
135/* 0 */ {2, s_5_0, -1, -1, 0},
136/* 1 */ {2, s_5_1, -1, -1, 0}
137};
138
139static const symbol s_6_0[2] = { 'd', 'a' };
140static const symbol s_6_1[2] = { 't', 'a' };
141static const symbol s_6_2[2] = { 'd', 'e' };
142static const symbol s_6_3[2] = { 't', 'e' };
143
144static const struct among a_6[4] = {
145/* 0 */ {2, s_6_0, -1, -1, 0},
146/* 1 */ {2, s_6_1, -1, -1, 0},
147/* 2 */ {2, s_6_2, -1, -1, 0},
148/* 3 */ {2, s_6_3, -1, -1, 0}
149};
150
151static const symbol s_7_0[3] = { 'n', 'd', 'a' };
152static const symbol s_7_1[3] = { 'n', 'd', 'e' };
153
154static const struct among a_7[2] = {
155/* 0 */ {3, s_7_0, -1, -1, 0},
156/* 1 */ {3, s_7_1, -1, -1, 0}
157};
158
159static const symbol s_8_0[3] = { 'd', 'a', 'n' };
160static const symbol s_8_1[3] = { 't', 'a', 'n' };
161static const symbol s_8_2[3] = { 'd', 'e', 'n' };
162static const symbol s_8_3[3] = { 't', 'e', 'n' };
163
164static const struct among a_8[4] = {
165/* 0 */ {3, s_8_0, -1, -1, 0},
166/* 1 */ {3, s_8_1, -1, -1, 0},
167/* 2 */ {3, s_8_2, -1, -1, 0},
168/* 3 */ {3, s_8_3, -1, -1, 0}
169};
170
171static const symbol s_9_0[4] = { 'n', 'd', 'a', 'n' };
172static const symbol s_9_1[4] = { 'n', 'd', 'e', 'n' };
173
174static const struct among a_9[2] = {
175/* 0 */ {4, s_9_0, -1, -1, 0},
176/* 1 */ {4, s_9_1, -1, -1, 0}
177};
178
179static const symbol s_10_0[2] = { 'l', 'a' };
180static const symbol s_10_1[2] = { 'l', 'e' };
181
182static const struct among a_10[2] = {
183/* 0 */ {2, s_10_0, -1, -1, 0},
184/* 1 */ {2, s_10_1, -1, -1, 0}
185};
186
187static const symbol s_11_0[2] = { 'c', 'a' };
188static const symbol s_11_1[2] = { 'c', 'e' };
189
190static const struct among a_11[2] = {
191/* 0 */ {2, s_11_0, -1, -1, 0},
192/* 1 */ {2, s_11_1, -1, -1, 0}
193};
194
195static const symbol s_12_0[2] = { 'i', 'm' };
196static const symbol s_12_1[2] = { 'u', 'm' };
197static const symbol s_12_2[3] = { 0xC4, 0xB1, 'm' };
198static const symbol s_12_3[3] = { 0xC3, 0xBC, 'm' };
199
200static const struct among a_12[4] = {
201/* 0 */ {2, s_12_0, -1, -1, 0},
202/* 1 */ {2, s_12_1, -1, -1, 0},
203/* 2 */ {3, s_12_2, -1, -1, 0},
204/* 3 */ {3, s_12_3, -1, -1, 0}
205};
206
207static const symbol s_13_0[3] = { 's', 'i', 'n' };
208static const symbol s_13_1[3] = { 's', 'u', 'n' };
209static const symbol s_13_2[4] = { 's', 0xC4, 0xB1, 'n' };
210static const symbol s_13_3[4] = { 's', 0xC3, 0xBC, 'n' };
211
212static const struct among a_13[4] = {
213/* 0 */ {3, s_13_0, -1, -1, 0},
214/* 1 */ {3, s_13_1, -1, -1, 0},
215/* 2 */ {4, s_13_2, -1, -1, 0},
216/* 3 */ {4, s_13_3, -1, -1, 0}
217};
218
219static const symbol s_14_0[2] = { 'i', 'z' };
220static const symbol s_14_1[2] = { 'u', 'z' };
221static const symbol s_14_2[3] = { 0xC4, 0xB1, 'z' };
222static const symbol s_14_3[3] = { 0xC3, 0xBC, 'z' };
223
224static const struct among a_14[4] = {
225/* 0 */ {2, s_14_0, -1, -1, 0},
226/* 1 */ {2, s_14_1, -1, -1, 0},
227/* 2 */ {3, s_14_2, -1, -1, 0},
228/* 3 */ {3, s_14_3, -1, -1, 0}
229};
230
231static const symbol s_15_0[5] = { 's', 'i', 'n', 'i', 'z' };
232static const symbol s_15_1[5] = { 's', 'u', 'n', 'u', 'z' };
233static const symbol s_15_2[7] = { 's', 0xC4, 0xB1, 'n', 0xC4, 0xB1, 'z' };
234static const symbol s_15_3[7] = { 's', 0xC3, 0xBC, 'n', 0xC3, 0xBC, 'z' };
235
236static const struct among a_15[4] = {
237/* 0 */ {5, s_15_0, -1, -1, 0},
238/* 1 */ {5, s_15_1, -1, -1, 0},
239/* 2 */ {7, s_15_2, -1, -1, 0},
240/* 3 */ {7, s_15_3, -1, -1, 0}
241};
242
243static const symbol s_16_0[3] = { 'l', 'a', 'r' };
244static const symbol s_16_1[3] = { 'l', 'e', 'r' };
245
246static const struct among a_16[2] = {
247/* 0 */ {3, s_16_0, -1, -1, 0},
248/* 1 */ {3, s_16_1, -1, -1, 0}
249};
250
251static const symbol s_17_0[3] = { 'n', 'i', 'z' };
252static const symbol s_17_1[3] = { 'n', 'u', 'z' };
253static const symbol s_17_2[4] = { 'n', 0xC4, 0xB1, 'z' };
254static const symbol s_17_3[4] = { 'n', 0xC3, 0xBC, 'z' };
255
256static const struct among a_17[4] = {
257/* 0 */ {3, s_17_0, -1, -1, 0},
258/* 1 */ {3, s_17_1, -1, -1, 0},
259/* 2 */ {4, s_17_2, -1, -1, 0},
260/* 3 */ {4, s_17_3, -1, -1, 0}
261};
262
263static const symbol s_18_0[3] = { 'd', 'i', 'r' };
264static const symbol s_18_1[3] = { 't', 'i', 'r' };
265static const symbol s_18_2[3] = { 'd', 'u', 'r' };
266static const symbol s_18_3[3] = { 't', 'u', 'r' };
267static const symbol s_18_4[4] = { 'd', 0xC4, 0xB1, 'r' };
268static const symbol s_18_5[4] = { 't', 0xC4, 0xB1, 'r' };
269static const symbol s_18_6[4] = { 'd', 0xC3, 0xBC, 'r' };
270static const symbol s_18_7[4] = { 't', 0xC3, 0xBC, 'r' };
271
272static const struct among a_18[8] = {
273/* 0 */ {3, s_18_0, -1, -1, 0},
274/* 1 */ {3, s_18_1, -1, -1, 0},
275/* 2 */ {3, s_18_2, -1, -1, 0},
276/* 3 */ {3, s_18_3, -1, -1, 0},
277/* 4 */ {4, s_18_4, -1, -1, 0},
278/* 5 */ {4, s_18_5, -1, -1, 0},
279/* 6 */ {4, s_18_6, -1, -1, 0},
280/* 7 */ {4, s_18_7, -1, -1, 0}
281};
282
283static const symbol s_19_0[7] = { 'c', 'a', 's', 0xC4, 0xB1, 'n', 'a' };
284static const symbol s_19_1[6] = { 'c', 'e', 's', 'i', 'n', 'e' };
285
286static const struct among a_19[2] = {
287/* 0 */ {7, s_19_0, -1, -1, 0},
288/* 1 */ {6, s_19_1, -1, -1, 0}
289};
290
291static const symbol s_20_0[2] = { 'd', 'i' };
292static const symbol s_20_1[2] = { 't', 'i' };
293static const symbol s_20_2[3] = { 'd', 'i', 'k' };
294static const symbol s_20_3[3] = { 't', 'i', 'k' };
295static const symbol s_20_4[3] = { 'd', 'u', 'k' };
296static const symbol s_20_5[3] = { 't', 'u', 'k' };
297static const symbol s_20_6[4] = { 'd', 0xC4, 0xB1, 'k' };
298static const symbol s_20_7[4] = { 't', 0xC4, 0xB1, 'k' };
299static const symbol s_20_8[4] = { 'd', 0xC3, 0xBC, 'k' };
300static const symbol s_20_9[4] = { 't', 0xC3, 0xBC, 'k' };
301static const symbol s_20_10[3] = { 'd', 'i', 'm' };
302static const symbol s_20_11[3] = { 't', 'i', 'm' };
303static const symbol s_20_12[3] = { 'd', 'u', 'm' };
304static const symbol s_20_13[3] = { 't', 'u', 'm' };
305static const symbol s_20_14[4] = { 'd', 0xC4, 0xB1, 'm' };
306static const symbol s_20_15[4] = { 't', 0xC4, 0xB1, 'm' };
307static const symbol s_20_16[4] = { 'd', 0xC3, 0xBC, 'm' };
308static const symbol s_20_17[4] = { 't', 0xC3, 0xBC, 'm' };
309static const symbol s_20_18[3] = { 'd', 'i', 'n' };
310static const symbol s_20_19[3] = { 't', 'i', 'n' };
311static const symbol s_20_20[3] = { 'd', 'u', 'n' };
312static const symbol s_20_21[3] = { 't', 'u', 'n' };
313static const symbol s_20_22[4] = { 'd', 0xC4, 0xB1, 'n' };
314static const symbol s_20_23[4] = { 't', 0xC4, 0xB1, 'n' };
315static const symbol s_20_24[4] = { 'd', 0xC3, 0xBC, 'n' };
316static const symbol s_20_25[4] = { 't', 0xC3, 0xBC, 'n' };
317static const symbol s_20_26[2] = { 'd', 'u' };
318static const symbol s_20_27[2] = { 't', 'u' };
319static const symbol s_20_28[3] = { 'd', 0xC4, 0xB1 };
320static const symbol s_20_29[3] = { 't', 0xC4, 0xB1 };
321static const symbol s_20_30[3] = { 'd', 0xC3, 0xBC };
322static const symbol s_20_31[3] = { 't', 0xC3, 0xBC };
323
324static const struct among a_20[32] = {
325/* 0 */ {2, s_20_0, -1, -1, 0},
326/* 1 */ {2, s_20_1, -1, -1, 0},
327/* 2 */ {3, s_20_2, -1, -1, 0},
328/* 3 */ {3, s_20_3, -1, -1, 0},
329/* 4 */ {3, s_20_4, -1, -1, 0},
330/* 5 */ {3, s_20_5, -1, -1, 0},
331/* 6 */ {4, s_20_6, -1, -1, 0},
332/* 7 */ {4, s_20_7, -1, -1, 0},
333/* 8 */ {4, s_20_8, -1, -1, 0},
334/* 9 */ {4, s_20_9, -1, -1, 0},
335/* 10 */ {3, s_20_10, -1, -1, 0},
336/* 11 */ {3, s_20_11, -1, -1, 0},
337/* 12 */ {3, s_20_12, -1, -1, 0},
338/* 13 */ {3, s_20_13, -1, -1, 0},
339/* 14 */ {4, s_20_14, -1, -1, 0},
340/* 15 */ {4, s_20_15, -1, -1, 0},
341/* 16 */ {4, s_20_16, -1, -1, 0},
342/* 17 */ {4, s_20_17, -1, -1, 0},
343/* 18 */ {3, s_20_18, -1, -1, 0},
344/* 19 */ {3, s_20_19, -1, -1, 0},
345/* 20 */ {3, s_20_20, -1, -1, 0},
346/* 21 */ {3, s_20_21, -1, -1, 0},
347/* 22 */ {4, s_20_22, -1, -1, 0},
348/* 23 */ {4, s_20_23, -1, -1, 0},
349/* 24 */ {4, s_20_24, -1, -1, 0},
350/* 25 */ {4, s_20_25, -1, -1, 0},
351/* 26 */ {2, s_20_26, -1, -1, 0},
352/* 27 */ {2, s_20_27, -1, -1, 0},
353/* 28 */ {3, s_20_28, -1, -1, 0},
354/* 29 */ {3, s_20_29, -1, -1, 0},
355/* 30 */ {3, s_20_30, -1, -1, 0},
356/* 31 */ {3, s_20_31, -1, -1, 0}
357};
358
359static const symbol s_21_0[2] = { 's', 'a' };
360static const symbol s_21_1[2] = { 's', 'e' };
361static const symbol s_21_2[3] = { 's', 'a', 'k' };
362static const symbol s_21_3[3] = { 's', 'e', 'k' };
363static const symbol s_21_4[3] = { 's', 'a', 'm' };
364static const symbol s_21_5[3] = { 's', 'e', 'm' };
365static const symbol s_21_6[3] = { 's', 'a', 'n' };
366static const symbol s_21_7[3] = { 's', 'e', 'n' };
367
368static const struct among a_21[8] = {
369/* 0 */ {2, s_21_0, -1, -1, 0},
370/* 1 */ {2, s_21_1, -1, -1, 0},
371/* 2 */ {3, s_21_2, -1, -1, 0},
372/* 3 */ {3, s_21_3, -1, -1, 0},
373/* 4 */ {3, s_21_4, -1, -1, 0},
374/* 5 */ {3, s_21_5, -1, -1, 0},
375/* 6 */ {3, s_21_6, -1, -1, 0},
376/* 7 */ {3, s_21_7, -1, -1, 0}
377};
378
379static const symbol s_22_0[4] = { 'm', 'i', 0xC5, 0x9F };
380static const symbol s_22_1[4] = { 'm', 'u', 0xC5, 0x9F };
381static const symbol s_22_2[5] = { 'm', 0xC4, 0xB1, 0xC5, 0x9F };
382static const symbol s_22_3[5] = { 'm', 0xC3, 0xBC, 0xC5, 0x9F };
383
384static const struct among a_22[4] = {
385/* 0 */ {4, s_22_0, -1, -1, 0},
386/* 1 */ {4, s_22_1, -1, -1, 0},
387/* 2 */ {5, s_22_2, -1, -1, 0},
388/* 3 */ {5, s_22_3, -1, -1, 0}
389};
390
391static const symbol s_23_0[1] = { 'b' };
392static const symbol s_23_1[1] = { 'c' };
393static const symbol s_23_2[1] = { 'd' };
394static const symbol s_23_3[2] = { 0xC4, 0x9F };
395
396static const struct among a_23[4] = {
397/* 0 */ {1, s_23_0, -1, 1, 0},
398/* 1 */ {1, s_23_1, -1, 2, 0},
399/* 2 */ {1, s_23_2, -1, 3, 0},
400/* 3 */ {2, s_23_3, -1, 4, 0}
401};
402
403static const unsigned char g_vowel[] =
404 { 17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 8, 0, 0, 0,
4050, 0, 0, 1 };
406
407static const unsigned char g_U[] =
408 { 1, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0,
4090, 1 };
410
411static const unsigned char g_vowel1[] =
412 { 1, 64, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4130, 0, 1 };
414
415static const unsigned char g_vowel2[] =
416 { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 130 };
417
418static const unsigned char g_vowel3[] =
419 { 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,
4200, 1 };
421
422static const unsigned char g_vowel4[] = { 17 };
423
424static const unsigned char g_vowel5[] = { 65 };
425
426static const unsigned char g_vowel6[] = { 65 };
427
428static const symbol s_0[] = { 'a' };
429static const symbol s_1[] = { 'e' };
430static const symbol s_2[] = { 0xC4, 0xB1 };
431static const symbol s_3[] = { 'i' };
432static const symbol s_4[] = { 'o' };
433static const symbol s_5[] = { 0xC3, 0xB6 };
434static const symbol s_6[] = { 'u' };
435static const symbol s_7[] = { 0xC3, 0xBC };
436static const symbol s_8[] = { 'n' };
437static const symbol s_9[] = { 'n' };
438static const symbol s_10[] = { 's' };
439static const symbol s_11[] = { 's' };
440static const symbol s_12[] = { 'y' };
441static const symbol s_13[] = { 'y' };
442static const symbol s_14[] = { 'k', 'i' };
443static const symbol s_15[] = { 'k', 'e', 'n' };
444static const symbol s_16[] = { 'p' };
445static const symbol s_17[] = { 0xC3, 0xA7 };
446static const symbol s_18[] = { 't' };
447static const symbol s_19[] = { 'k' };
448static const symbol s_20[] = { 'd' };
449static const symbol s_21[] = { 'g' };
450static const symbol s_22[] = { 'a' };
451static const symbol s_23[] = { 0xC4, 0xB1 };
452static const symbol s_24[] = { 0xC4, 0xB1 };
453static const symbol s_25[] = { 'e' };
454static const symbol s_26[] = { 'i' };
455static const symbol s_27[] = { 'i' };
456static const symbol s_28[] = { 'o' };
457static const symbol s_29[] = { 'u' };
458static const symbol s_30[] = { 'u' };
459static const symbol s_31[] = { 0xC3, 0xB6 };
460static const symbol s_32[] = { 0xC3, 0xBC };
461static const symbol s_33[] = { 0xC3, 0xBC };
462static const symbol s_34[] = { 'a', 'd' };
463static const symbol s_35[] = { 's', 'o', 'y', 'a', 'd' };
464
465static int
467{
468 {
469 int m_test = z->l - z->c; /* test, line 112 */
470 if (out_grouping_b_U (z, g_vowel, 97, 305, 1) < 0)
471 return 0; /* goto *//* grouping vowel, line 114 */
472 {
473 int m1 = z->l - z->c;
474 (void) m1; /* or, line 116 */
475 if (!(eq_s_b (z, 1, s_0)))
476 goto lab1;
477 if (out_grouping_b_U (z, g_vowel1, 97, 305, 1) < 0)
478 goto lab1; /* goto *//* grouping vowel1, line 116 */
479 goto lab0;
480 lab1:
481 z->c = z->l - m1;
482 if (!(eq_s_b (z, 1, s_1)))
483 goto lab2;
484 if (out_grouping_b_U (z, g_vowel2, 101, 252, 1) < 0)
485 goto lab2; /* goto *//* grouping vowel2, line 117 */
486 goto lab0;
487 lab2:
488 z->c = z->l - m1;
489 if (!(eq_s_b (z, 2, s_2)))
490 goto lab3;
491 if (out_grouping_b_U (z, g_vowel3, 97, 305, 1) < 0)
492 goto lab3; /* goto *//* grouping vowel3, line 118 */
493 goto lab0;
494 lab3:
495 z->c = z->l - m1;
496 if (!(eq_s_b (z, 1, s_3)))
497 goto lab4;
498 if (out_grouping_b_U (z, g_vowel4, 101, 105, 1) < 0)
499 goto lab4; /* goto *//* grouping vowel4, line 119 */
500 goto lab0;
501 lab4:
502 z->c = z->l - m1;
503 if (!(eq_s_b (z, 1, s_4)))
504 goto lab5;
505 if (out_grouping_b_U (z, g_vowel5, 111, 117, 1) < 0)
506 goto lab5; /* goto *//* grouping vowel5, line 120 */
507 goto lab0;
508 lab5:
509 z->c = z->l - m1;
510 if (!(eq_s_b (z, 2, s_5)))
511 goto lab6;
512 if (out_grouping_b_U (z, g_vowel6, 246, 252, 1) < 0)
513 goto lab6; /* goto *//* grouping vowel6, line 121 */
514 goto lab0;
515 lab6:
516 z->c = z->l - m1;
517 if (!(eq_s_b (z, 1, s_6)))
518 goto lab7;
519 if (out_grouping_b_U (z, g_vowel5, 111, 117, 1) < 0)
520 goto lab7; /* goto *//* grouping vowel5, line 122 */
521 goto lab0;
522 lab7:
523 z->c = z->l - m1;
524 if (!(eq_s_b (z, 2, s_7)))
525 return 0;
526 if (out_grouping_b_U (z, g_vowel6, 246, 252, 1) < 0)
527 return 0; /* goto *//* grouping vowel6, line 123 */
528 }
529 lab0:
530 z->c = z->l - m_test;
531 }
532 return 1;
533}
534
535static int
537{
538 {
539 int m1 = z->l - z->c;
540 (void) m1; /* or, line 134 */
541 {
542 int m_test = z->l - z->c; /* test, line 133 */
543 if (!(eq_s_b (z, 1, s_8)))
544 goto lab1;
545 z->c = z->l - m_test;
546 }
547 {
548 int ret = skip_utf8 (z->p, z->c, z->lb, 0, -1);
549 if (ret < 0)
550 goto lab1;
551 z->c = ret; /* next, line 133 */
552 }
553 {
554 int m_test = z->l - z->c; /* test, line 133 */
555 if (in_grouping_b_U (z, g_vowel, 97, 305, 0))
556 goto lab1;
557 z->c = z->l - m_test;
558 }
559 goto lab0;
560 lab1:
561 z->c = z->l - m1;
562 {
563 int m2 = z->l - z->c;
564 (void) m2; /* not, line 135 */
565 {
566 int m_test = z->l - z->c; /* test, line 135 */
567 if (!(eq_s_b (z, 1, s_9)))
568 goto lab2;
569 z->c = z->l - m_test;
570 }
571 return 0;
572 lab2:
573 z->c = z->l - m2;
574 }
575 {
576 int m_test = z->l - z->c; /* test, line 135 */
577 {
578 int ret = skip_utf8 (z->p, z->c, z->lb, 0, -1);
579 if (ret < 0)
580 return 0;
581 z->c = ret; /* next, line 135 */
582 }
583 {
584 int m_test = z->l - z->c; /* test, line 135 */
585 if (in_grouping_b_U (z, g_vowel, 97, 305, 0))
586 return 0;
587 z->c = z->l - m_test;
588 }
589 z->c = z->l - m_test;
590 }
591 }
592lab0:
593 return 1;
594}
595
596static int
598{
599 {
600 int m1 = z->l - z->c;
601 (void) m1; /* or, line 145 */
602 {
603 int m_test = z->l - z->c; /* test, line 144 */
604 if (!(eq_s_b (z, 1, s_10)))
605 goto lab1;
606 z->c = z->l - m_test;
607 }
608 {
609 int ret = skip_utf8 (z->p, z->c, z->lb, 0, -1);
610 if (ret < 0)
611 goto lab1;
612 z->c = ret; /* next, line 144 */
613 }
614 {
615 int m_test = z->l - z->c; /* test, line 144 */
616 if (in_grouping_b_U (z, g_vowel, 97, 305, 0))
617 goto lab1;
618 z->c = z->l - m_test;
619 }
620 goto lab0;
621 lab1:
622 z->c = z->l - m1;
623 {
624 int m2 = z->l - z->c;
625 (void) m2; /* not, line 146 */
626 {
627 int m_test = z->l - z->c; /* test, line 146 */
628 if (!(eq_s_b (z, 1, s_11)))
629 goto lab2;
630 z->c = z->l - m_test;
631 }
632 return 0;
633 lab2:
634 z->c = z->l - m2;
635 }
636 {
637 int m_test = z->l - z->c; /* test, line 146 */
638 {
639 int ret = skip_utf8 (z->p, z->c, z->lb, 0, -1);
640 if (ret < 0)
641 return 0;
642 z->c = ret; /* next, line 146 */
643 }
644 {
645 int m_test = z->l - z->c; /* test, line 146 */
646 if (in_grouping_b_U (z, g_vowel, 97, 305, 0))
647 return 0;
648 z->c = z->l - m_test;
649 }
650 z->c = z->l - m_test;
651 }
652 }
653lab0:
654 return 1;
655}
656
657static int
659{
660 {
661 int m1 = z->l - z->c;
662 (void) m1; /* or, line 155 */
663 {
664 int m_test = z->l - z->c; /* test, line 154 */
665 if (!(eq_s_b (z, 1, s_12)))
666 goto lab1;
667 z->c = z->l - m_test;
668 }
669 {
670 int ret = skip_utf8 (z->p, z->c, z->lb, 0, -1);
671 if (ret < 0)
672 goto lab1;
673 z->c = ret; /* next, line 154 */
674 }
675 {
676 int m_test = z->l - z->c; /* test, line 154 */
677 if (in_grouping_b_U (z, g_vowel, 97, 305, 0))
678 goto lab1;
679 z->c = z->l - m_test;
680 }
681 goto lab0;
682 lab1:
683 z->c = z->l - m1;
684 {
685 int m2 = z->l - z->c;
686 (void) m2; /* not, line 156 */
687 {
688 int m_test = z->l - z->c; /* test, line 156 */
689 if (!(eq_s_b (z, 1, s_13)))
690 goto lab2;
691 z->c = z->l - m_test;
692 }
693 return 0;
694 lab2:
695 z->c = z->l - m2;
696 }
697 {
698 int m_test = z->l - z->c; /* test, line 156 */
699 {
700 int ret = skip_utf8 (z->p, z->c, z->lb, 0, -1);
701 if (ret < 0)
702 return 0;
703 z->c = ret; /* next, line 156 */
704 }
705 {
706 int m_test = z->l - z->c; /* test, line 156 */
707 if (in_grouping_b_U (z, g_vowel, 97, 305, 0))
708 return 0;
709 z->c = z->l - m_test;
710 }
711 z->c = z->l - m_test;
712 }
713 }
714lab0:
715 return 1;
716}
717
718static int
720{
721 {
722 int m1 = z->l - z->c;
723 (void) m1; /* or, line 161 */
724 {
725 int m_test = z->l - z->c; /* test, line 160 */
726 if (in_grouping_b_U (z, g_U, 105, 305, 0))
727 goto lab1;
728 z->c = z->l - m_test;
729 }
730 {
731 int ret = skip_utf8 (z->p, z->c, z->lb, 0, -1);
732 if (ret < 0)
733 goto lab1;
734 z->c = ret; /* next, line 160 */
735 }
736 {
737 int m_test = z->l - z->c; /* test, line 160 */
738 if (out_grouping_b_U (z, g_vowel, 97, 305, 0))
739 goto lab1;
740 z->c = z->l - m_test;
741 }
742 goto lab0;
743 lab1:
744 z->c = z->l - m1;
745 {
746 int m2 = z->l - z->c;
747 (void) m2; /* not, line 162 */
748 {
749 int m_test = z->l - z->c; /* test, line 162 */
750 if (in_grouping_b_U (z, g_U, 105, 305, 0))
751 goto lab2;
752 z->c = z->l - m_test;
753 }
754 return 0;
755 lab2:
756 z->c = z->l - m2;
757 }
758 {
759 int m_test = z->l - z->c; /* test, line 162 */
760 {
761 int ret = skip_utf8 (z->p, z->c, z->lb, 0, -1);
762 if (ret < 0)
763 return 0;
764 z->c = ret; /* next, line 162 */
765 }
766 {
767 int m_test = z->l - z->c; /* test, line 162 */
768 if (out_grouping_b_U (z, g_vowel, 97, 305, 0))
769 return 0;
770 z->c = z->l - m_test;
771 }
772 z->c = z->l - m_test;
773 }
774 }
775lab0:
776 return 1;
777}
778
779static int
781{
782 if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3
783 || !((67133440 >> (z->p[z->c - 1] & 0x1f)) & 1))
784 return 0;
785 if (!(find_among_b (z, a_0, 10)))
786 return 0; /* among, line 167 */
787 {
789 if (ret == 0)
790 return 0; /* call mark_suffix_with_optional_U_vowel, line 169 */
791 if (ret < 0)
792 return ret;
793 }
794 return 1;
795}
796
797static int
798r_mark_sU (struct SN_env *z)
799{
800 {
801 int ret = r_check_vowel_harmony (z);
802 if (ret == 0)
803 return 0; /* call check_vowel_harmony, line 173 */
804 if (ret < 0)
805 return ret;
806 }
807 if (in_grouping_b_U (z, g_U, 105, 305, 0))
808 return 0;
809 {
811 if (ret == 0)
812 return 0; /* call mark_suffix_with_optional_s_consonant, line 175 */
813 if (ret < 0)
814 return ret;
815 }
816 return 1;
817}
818
819static int
821{
822 if (z->c - 3 <= z->lb || (z->p[z->c - 1] != 105 && z->p[z->c - 1] != 177))
823 return 0;
824 if (!(find_among_b (z, a_1, 2)))
825 return 0; /* among, line 179 */
826 return 1;
827}
828
829static int
830r_mark_yU (struct SN_env *z)
831{
832 {
833 int ret = r_check_vowel_harmony (z);
834 if (ret == 0)
835 return 0; /* call check_vowel_harmony, line 183 */
836 if (ret < 0)
837 return ret;
838 }
839 if (in_grouping_b_U (z, g_U, 105, 305, 0))
840 return 0;
841 {
843 if (ret == 0)
844 return 0; /* call mark_suffix_with_optional_y_consonant, line 185 */
845 if (ret < 0)
846 return ret;
847 }
848 return 1;
849}
850
851static int
852r_mark_nU (struct SN_env *z)
853{
854 {
855 int ret = r_check_vowel_harmony (z);
856 if (ret == 0)
857 return 0; /* call check_vowel_harmony, line 189 */
858 if (ret < 0)
859 return ret;
860 }
861 if (!(find_among_b (z, a_2, 4)))
862 return 0; /* among, line 190 */
863 return 1;
864}
865
866static int
868{
869 {
870 int ret = r_check_vowel_harmony (z);
871 if (ret == 0)
872 return 0; /* call check_vowel_harmony, line 194 */
873 if (ret < 0)
874 return ret;
875 }
876 if (z->c - 1 <= z->lb || z->p[z->c - 1] != 110)
877 return 0;
878 if (!(find_among_b (z, a_3, 4)))
879 return 0; /* among, line 195 */
880 {
882 if (ret == 0)
883 return 0; /* call mark_suffix_with_optional_n_consonant, line 196 */
884 if (ret < 0)
885 return ret;
886 }
887 return 1;
888}
889
890static int
891r_mark_yA (struct SN_env *z)
892{
893 {
894 int ret = r_check_vowel_harmony (z);
895 if (ret == 0)
896 return 0; /* call check_vowel_harmony, line 200 */
897 if (ret < 0)
898 return ret;
899 }
900 if (z->c <= z->lb || (z->p[z->c - 1] != 97 && z->p[z->c - 1] != 101))
901 return 0;
902 if (!(find_among_b (z, a_4, 2)))
903 return 0; /* among, line 201 */
904 {
906 if (ret == 0)
907 return 0; /* call mark_suffix_with_optional_y_consonant, line 202 */
908 if (ret < 0)
909 return ret;
910 }
911 return 1;
912}
913
914static int
915r_mark_nA (struct SN_env *z)
916{
917 {
918 int ret = r_check_vowel_harmony (z);
919 if (ret == 0)
920 return 0; /* call check_vowel_harmony, line 206 */
921 if (ret < 0)
922 return ret;
923 }
924 if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 97 && z->p[z->c - 1] != 101))
925 return 0;
926 if (!(find_among_b (z, a_5, 2)))
927 return 0; /* among, line 207 */
928 return 1;
929}
930
931static int
932r_mark_DA (struct SN_env *z)
933{
934 {
935 int ret = r_check_vowel_harmony (z);
936 if (ret == 0)
937 return 0; /* call check_vowel_harmony, line 211 */
938 if (ret < 0)
939 return ret;
940 }
941 if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 97 && z->p[z->c - 1] != 101))
942 return 0;
943 if (!(find_among_b (z, a_6, 4)))
944 return 0; /* among, line 212 */
945 return 1;
946}
947
948static int
950{
951 {
952 int ret = r_check_vowel_harmony (z);
953 if (ret == 0)
954 return 0; /* call check_vowel_harmony, line 216 */
955 if (ret < 0)
956 return ret;
957 }
958 if (z->c - 2 <= z->lb || (z->p[z->c - 1] != 97 && z->p[z->c - 1] != 101))
959 return 0;
960 if (!(find_among_b (z, a_7, 2)))
961 return 0; /* among, line 217 */
962 return 1;
963}
964
965static int
967{
968 {
969 int ret = r_check_vowel_harmony (z);
970 if (ret == 0)
971 return 0; /* call check_vowel_harmony, line 221 */
972 if (ret < 0)
973 return ret;
974 }
975 if (z->c - 2 <= z->lb || z->p[z->c - 1] != 110)
976 return 0;
977 if (!(find_among_b (z, a_8, 4)))
978 return 0; /* among, line 222 */
979 return 1;
980}
981
982static int
984{
985 {
986 int ret = r_check_vowel_harmony (z);
987 if (ret == 0)
988 return 0; /* call check_vowel_harmony, line 226 */
989 if (ret < 0)
990 return ret;
991 }
992 if (z->c - 3 <= z->lb || z->p[z->c - 1] != 110)
993 return 0;
994 if (!(find_among_b (z, a_9, 2)))
995 return 0; /* among, line 227 */
996 return 1;
997}
998
999static int
1001{
1002 {
1003 int ret = r_check_vowel_harmony (z);
1004 if (ret == 0)
1005 return 0; /* call check_vowel_harmony, line 231 */
1006 if (ret < 0)
1007 return ret;
1008 }
1009 if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 97 && z->p[z->c - 1] != 101))
1010 return 0;
1011 if (!(find_among_b (z, a_10, 2)))
1012 return 0; /* among, line 232 */
1013 {
1015 if (ret == 0)
1016 return 0; /* call mark_suffix_with_optional_y_consonant, line 233 */
1017 if (ret < 0)
1018 return ret;
1019 }
1020 return 1;
1021}
1022
1023static int
1025{
1026 if (!(eq_s_b (z, 2, s_14)))
1027 return 0;
1028 return 1;
1029}
1030
1031static int
1033{
1034 {
1035 int ret = r_check_vowel_harmony (z);
1036 if (ret == 0)
1037 return 0; /* call check_vowel_harmony, line 241 */
1038 if (ret < 0)
1039 return ret;
1040 }
1041 if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 97 && z->p[z->c - 1] != 101))
1042 return 0;
1043 if (!(find_among_b (z, a_11, 2)))
1044 return 0; /* among, line 242 */
1045 {
1047 if (ret == 0)
1048 return 0; /* call mark_suffix_with_optional_n_consonant, line 243 */
1049 if (ret < 0)
1050 return ret;
1051 }
1052 return 1;
1053}
1054
1055static int
1057{
1058 {
1059 int ret = r_check_vowel_harmony (z);
1060 if (ret == 0)
1061 return 0; /* call check_vowel_harmony, line 247 */
1062 if (ret < 0)
1063 return ret;
1064 }
1065 if (z->c - 1 <= z->lb || z->p[z->c - 1] != 109)
1066 return 0;
1067 if (!(find_among_b (z, a_12, 4)))
1068 return 0; /* among, line 248 */
1069 {
1071 if (ret == 0)
1072 return 0; /* call mark_suffix_with_optional_y_consonant, line 249 */
1073 if (ret < 0)
1074 return ret;
1075 }
1076 return 1;
1077}
1078
1079static int
1081{
1082 {
1083 int ret = r_check_vowel_harmony (z);
1084 if (ret == 0)
1085 return 0; /* call check_vowel_harmony, line 253 */
1086 if (ret < 0)
1087 return ret;
1088 }
1089 if (z->c - 2 <= z->lb || z->p[z->c - 1] != 110)
1090 return 0;
1091 if (!(find_among_b (z, a_13, 4)))
1092 return 0; /* among, line 254 */
1093 return 1;
1094}
1095
1096static int
1098{
1099 {
1100 int ret = r_check_vowel_harmony (z);
1101 if (ret == 0)
1102 return 0; /* call check_vowel_harmony, line 258 */
1103 if (ret < 0)
1104 return ret;
1105 }
1106 if (z->c - 1 <= z->lb || z->p[z->c - 1] != 122)
1107 return 0;
1108 if (!(find_among_b (z, a_14, 4)))
1109 return 0; /* among, line 259 */
1110 {
1112 if (ret == 0)
1113 return 0; /* call mark_suffix_with_optional_y_consonant, line 260 */
1114 if (ret < 0)
1115 return ret;
1116 }
1117 return 1;
1118}
1119
1120static int
1122{
1123 if (z->c - 4 <= z->lb || z->p[z->c - 1] != 122)
1124 return 0;
1125 if (!(find_among_b (z, a_15, 4)))
1126 return 0; /* among, line 264 */
1127 return 1;
1128}
1129
1130static int
1132{
1133 {
1134 int ret = r_check_vowel_harmony (z);
1135 if (ret == 0)
1136 return 0; /* call check_vowel_harmony, line 268 */
1137 if (ret < 0)
1138 return ret;
1139 }
1140 if (z->c - 2 <= z->lb || z->p[z->c - 1] != 114)
1141 return 0;
1142 if (!(find_among_b (z, a_16, 2)))
1143 return 0; /* among, line 269 */
1144 return 1;
1145}
1146
1147static int
1149{
1150 {
1151 int ret = r_check_vowel_harmony (z);
1152 if (ret == 0)
1153 return 0; /* call check_vowel_harmony, line 273 */
1154 if (ret < 0)
1155 return ret;
1156 }
1157 if (z->c - 2 <= z->lb || z->p[z->c - 1] != 122)
1158 return 0;
1159 if (!(find_among_b (z, a_17, 4)))
1160 return 0; /* among, line 274 */
1161 return 1;
1162}
1163
1164static int
1166{
1167 {
1168 int ret = r_check_vowel_harmony (z);
1169 if (ret == 0)
1170 return 0; /* call check_vowel_harmony, line 278 */
1171 if (ret < 0)
1172 return ret;
1173 }
1174 if (z->c - 2 <= z->lb || z->p[z->c - 1] != 114)
1175 return 0;
1176 if (!(find_among_b (z, a_18, 8)))
1177 return 0; /* among, line 279 */
1178 return 1;
1179}
1180
1181static int
1183{
1184 if (z->c - 5 <= z->lb || (z->p[z->c - 1] != 97 && z->p[z->c - 1] != 101))
1185 return 0;
1186 if (!(find_among_b (z, a_19, 2)))
1187 return 0; /* among, line 283 */
1188 return 1;
1189}
1190
1191static int
1193{
1194 {
1195 int ret = r_check_vowel_harmony (z);
1196 if (ret == 0)
1197 return 0; /* call check_vowel_harmony, line 287 */
1198 if (ret < 0)
1199 return ret;
1200 }
1201 if (!(find_among_b (z, a_20, 32)))
1202 return 0; /* among, line 288 */
1203 {
1205 if (ret == 0)
1206 return 0; /* call mark_suffix_with_optional_y_consonant, line 292 */
1207 if (ret < 0)
1208 return ret;
1209 }
1210 return 1;
1211}
1212
1213static int
1215{
1216 if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3
1217 || !((26658 >> (z->p[z->c - 1] & 0x1f)) & 1))
1218 return 0;
1219 if (!(find_among_b (z, a_21, 8)))
1220 return 0; /* among, line 297 */
1221 {
1223 if (ret == 0)
1224 return 0; /* call mark_suffix_with_optional_y_consonant, line 298 */
1225 if (ret < 0)
1226 return ret;
1227 }
1228 return 1;
1229}
1230
1231static int
1233{
1234 {
1235 int ret = r_check_vowel_harmony (z);
1236 if (ret == 0)
1237 return 0; /* call check_vowel_harmony, line 302 */
1238 if (ret < 0)
1239 return ret;
1240 }
1241 if (z->c - 3 <= z->lb || z->p[z->c - 1] != 159)
1242 return 0;
1243 if (!(find_among_b (z, a_22, 4)))
1244 return 0; /* among, line 303 */
1245 {
1247 if (ret == 0)
1248 return 0; /* call mark_suffix_with_optional_y_consonant, line 304 */
1249 if (ret < 0)
1250 return ret;
1251 }
1252 return 1;
1253}
1254
1255static int
1257{
1258 if (!(eq_s_b (z, 3, s_15)))
1259 return 0;
1260 {
1262 if (ret == 0)
1263 return 0; /* call mark_suffix_with_optional_y_consonant, line 308 */
1264 if (ret < 0)
1265 return ret;
1266 }
1267 return 1;
1268}
1269
1270static int
1272{
1273 z->ket = z->c; /* [, line 312 */
1274 z->B[0] = 1; /* set continue_stemming_noun_suffixes, line 313 */
1275 {
1276 int m1 = z->l - z->c;
1277 (void) m1; /* or, line 315 */
1278 {
1279 int m2 = z->l - z->c;
1280 (void) m2; /* or, line 314 */
1281 {
1282 int ret = r_mark_ymUs_ (z);
1283 if (ret == 0)
1284 goto lab3; /* call mark_ymUs_, line 314 */
1285 if (ret < 0)
1286 return ret;
1287 }
1288 goto lab2;
1289 lab3:
1290 z->c = z->l - m2;
1291 {
1292 int ret = r_mark_yDU (z);
1293 if (ret == 0)
1294 goto lab4; /* call mark_yDU, line 314 */
1295 if (ret < 0)
1296 return ret;
1297 }
1298 goto lab2;
1299 lab4:
1300 z->c = z->l - m2;
1301 {
1302 int ret = r_mark_ysA (z);
1303 if (ret == 0)
1304 goto lab5; /* call mark_ysA, line 314 */
1305 if (ret < 0)
1306 return ret;
1307 }
1308 goto lab2;
1309 lab5:
1310 z->c = z->l - m2;
1311 {
1312 int ret = r_mark_yken (z);
1313 if (ret == 0)
1314 goto lab1; /* call mark_yken, line 314 */
1315 if (ret < 0)
1316 return ret;
1317 }
1318 }
1319 lab2:
1320 goto lab0;
1321 lab1:
1322 z->c = z->l - m1;
1323 {
1324 int ret = r_mark_cAsInA (z);
1325 if (ret == 0)
1326 goto lab6; /* call mark_cAsInA, line 316 */
1327 if (ret < 0)
1328 return ret;
1329 }
1330 {
1331 int m3 = z->l - z->c;
1332 (void) m3; /* or, line 316 */
1333 {
1334 int ret = r_mark_sUnUz (z);
1335 if (ret == 0)
1336 goto lab8; /* call mark_sUnUz, line 316 */
1337 if (ret < 0)
1338 return ret;
1339 }
1340 goto lab7;
1341 lab8:
1342 z->c = z->l - m3;
1343 {
1344 int ret = r_mark_lAr (z);
1345 if (ret == 0)
1346 goto lab9; /* call mark_lAr, line 316 */
1347 if (ret < 0)
1348 return ret;
1349 }
1350 goto lab7;
1351 lab9:
1352 z->c = z->l - m3;
1353 {
1354 int ret = r_mark_yUm (z);
1355 if (ret == 0)
1356 goto lab10; /* call mark_yUm, line 316 */
1357 if (ret < 0)
1358 return ret;
1359 }
1360 goto lab7;
1361 lab10:
1362 z->c = z->l - m3;
1363 {
1364 int ret = r_mark_sUn (z);
1365 if (ret == 0)
1366 goto lab11; /* call mark_sUn, line 316 */
1367 if (ret < 0)
1368 return ret;
1369 }
1370 goto lab7;
1371 lab11:
1372 z->c = z->l - m3;
1373 {
1374 int ret = r_mark_yUz (z);
1375 if (ret == 0)
1376 goto lab12; /* call mark_yUz, line 316 */
1377 if (ret < 0)
1378 return ret;
1379 }
1380 goto lab7;
1381 lab12:
1382 z->c = z->l - m3;
1383 }
1384 lab7:
1385 {
1386 int ret = r_mark_ymUs_ (z);
1387 if (ret == 0)
1388 goto lab6; /* call mark_ymUs_, line 316 */
1389 if (ret < 0)
1390 return ret;
1391 }
1392 goto lab0;
1393 lab6:
1394 z->c = z->l - m1;
1395 {
1396 int ret = r_mark_lAr (z);
1397 if (ret == 0)
1398 goto lab13; /* call mark_lAr, line 319 */
1399 if (ret < 0)
1400 return ret;
1401 }
1402 z->bra = z->c; /* ], line 319 */
1403 {
1404 int ret = slice_del (z); /* delete, line 319 */
1405 if (ret < 0)
1406 return ret;
1407 }
1408 {
1409 int m_keep = z->l - z->c; /* (void) m_keep; *//* try, line 319 */
1410 z->ket = z->c; /* [, line 319 */
1411 {
1412 int m4 = z->l - z->c;
1413 (void) m4; /* or, line 319 */
1414 {
1415 int ret = r_mark_DUr (z);
1416 if (ret == 0)
1417 goto lab16; /* call mark_DUr, line 319 */
1418 if (ret < 0)
1419 return ret;
1420 }
1421 goto lab15;
1422 lab16:
1423 z->c = z->l - m4;
1424 {
1425 int ret = r_mark_yDU (z);
1426 if (ret == 0)
1427 goto lab17; /* call mark_yDU, line 319 */
1428 if (ret < 0)
1429 return ret;
1430 }
1431 goto lab15;
1432 lab17:
1433 z->c = z->l - m4;
1434 {
1435 int ret = r_mark_ysA (z);
1436 if (ret == 0)
1437 goto lab18; /* call mark_ysA, line 319 */
1438 if (ret < 0)
1439 return ret;
1440 }
1441 goto lab15;
1442 lab18:
1443 z->c = z->l - m4;
1444 {
1445 int ret = r_mark_ymUs_ (z);
1446 if (ret == 0)
1447 {
1448 z->c = z->l - m_keep;
1449 goto lab14;
1450 } /* call mark_ymUs_, line 319 */
1451 if (ret < 0)
1452 return ret;
1453 }
1454 }
1455 lab15:
1456 lab14:
1457 ;
1458 }
1459 z->B[0] = 0; /* unset continue_stemming_noun_suffixes, line 320 */
1460 goto lab0;
1461 lab13:
1462 z->c = z->l - m1;
1463 {
1464 int ret = r_mark_nUz (z);
1465 if (ret == 0)
1466 goto lab19; /* call mark_nUz, line 323 */
1467 if (ret < 0)
1468 return ret;
1469 }
1470 {
1471 int m5 = z->l - z->c;
1472 (void) m5; /* or, line 323 */
1473 {
1474 int ret = r_mark_yDU (z);
1475 if (ret == 0)
1476 goto lab21; /* call mark_yDU, line 323 */
1477 if (ret < 0)
1478 return ret;
1479 }
1480 goto lab20;
1481 lab21:
1482 z->c = z->l - m5;
1483 {
1484 int ret = r_mark_ysA (z);
1485 if (ret == 0)
1486 goto lab19; /* call mark_ysA, line 323 */
1487 if (ret < 0)
1488 return ret;
1489 }
1490 }
1491 lab20:
1492 goto lab0;
1493 lab19:
1494 z->c = z->l - m1;
1495 {
1496 int m6 = z->l - z->c;
1497 (void) m6; /* or, line 325 */
1498 {
1499 int ret = r_mark_sUnUz (z);
1500 if (ret == 0)
1501 goto lab24; /* call mark_sUnUz, line 325 */
1502 if (ret < 0)
1503 return ret;
1504 }
1505 goto lab23;
1506 lab24:
1507 z->c = z->l - m6;
1508 {
1509 int ret = r_mark_yUz (z);
1510 if (ret == 0)
1511 goto lab25; /* call mark_yUz, line 325 */
1512 if (ret < 0)
1513 return ret;
1514 }
1515 goto lab23;
1516 lab25:
1517 z->c = z->l - m6;
1518 {
1519 int ret = r_mark_sUn (z);
1520 if (ret == 0)
1521 goto lab26; /* call mark_sUn, line 325 */
1522 if (ret < 0)
1523 return ret;
1524 }
1525 goto lab23;
1526 lab26:
1527 z->c = z->l - m6;
1528 {
1529 int ret = r_mark_yUm (z);
1530 if (ret == 0)
1531 goto lab22; /* call mark_yUm, line 325 */
1532 if (ret < 0)
1533 return ret;
1534 }
1535 }
1536 lab23:
1537 z->bra = z->c; /* ], line 325 */
1538 {
1539 int ret = slice_del (z); /* delete, line 325 */
1540 if (ret < 0)
1541 return ret;
1542 }
1543 {
1544 int m_keep = z->l - z->c; /* (void) m_keep; *//* try, line 325 */
1545 z->ket = z->c; /* [, line 325 */
1546 {
1547 int ret = r_mark_ymUs_ (z);
1548 if (ret == 0)
1549 {
1550 z->c = z->l - m_keep;
1551 goto lab27;
1552 } /* call mark_ymUs_, line 325 */
1553 if (ret < 0)
1554 return ret;
1555 }
1556 lab27:
1557 ;
1558 }
1559 goto lab0;
1560 lab22:
1561 z->c = z->l - m1;
1562 {
1563 int ret = r_mark_DUr (z);
1564 if (ret == 0)
1565 return 0; /* call mark_DUr, line 327 */
1566 if (ret < 0)
1567 return ret;
1568 }
1569 z->bra = z->c; /* ], line 327 */
1570 {
1571 int ret = slice_del (z); /* delete, line 327 */
1572 if (ret < 0)
1573 return ret;
1574 }
1575 {
1576 int m_keep = z->l - z->c; /* (void) m_keep; *//* try, line 327 */
1577 z->ket = z->c; /* [, line 327 */
1578 {
1579 int m7 = z->l - z->c;
1580 (void) m7; /* or, line 327 */
1581 {
1582 int ret = r_mark_sUnUz (z);
1583 if (ret == 0)
1584 goto lab30; /* call mark_sUnUz, line 327 */
1585 if (ret < 0)
1586 return ret;
1587 }
1588 goto lab29;
1589 lab30:
1590 z->c = z->l - m7;
1591 {
1592 int ret = r_mark_lAr (z);
1593 if (ret == 0)
1594 goto lab31; /* call mark_lAr, line 327 */
1595 if (ret < 0)
1596 return ret;
1597 }
1598 goto lab29;
1599 lab31:
1600 z->c = z->l - m7;
1601 {
1602 int ret = r_mark_yUm (z);
1603 if (ret == 0)
1604 goto lab32; /* call mark_yUm, line 327 */
1605 if (ret < 0)
1606 return ret;
1607 }
1608 goto lab29;
1609 lab32:
1610 z->c = z->l - m7;
1611 {
1612 int ret = r_mark_sUn (z);
1613 if (ret == 0)
1614 goto lab33; /* call mark_sUn, line 327 */
1615 if (ret < 0)
1616 return ret;
1617 }
1618 goto lab29;
1619 lab33:
1620 z->c = z->l - m7;
1621 {
1622 int ret = r_mark_yUz (z);
1623 if (ret == 0)
1624 goto lab34; /* call mark_yUz, line 327 */
1625 if (ret < 0)
1626 return ret;
1627 }
1628 goto lab29;
1629 lab34:
1630 z->c = z->l - m7;
1631 }
1632 lab29:
1633 {
1634 int ret = r_mark_ymUs_ (z);
1635 if (ret == 0)
1636 {
1637 z->c = z->l - m_keep;
1638 goto lab28;
1639 } /* call mark_ymUs_, line 327 */
1640 if (ret < 0)
1641 return ret;
1642 }
1643 lab28:
1644 ;
1645 }
1646 }
1647lab0:
1648 z->bra = z->c; /* ], line 328 */
1649 {
1650 int ret = slice_del (z); /* delete, line 328 */
1651 if (ret < 0)
1652 return ret;
1653 }
1654 return 1;
1655}
1656
1657static int
1659{
1660 z->ket = z->c; /* [, line 333 */
1661 {
1662 int ret = r_mark_ki (z);
1663 if (ret == 0)
1664 return 0; /* call mark_ki, line 334 */
1665 if (ret < 0)
1666 return ret;
1667 }
1668 {
1669 int m1 = z->l - z->c;
1670 (void) m1; /* or, line 342 */
1671 {
1672 int ret = r_mark_DA (z);
1673 if (ret == 0)
1674 goto lab1; /* call mark_DA, line 336 */
1675 if (ret < 0)
1676 return ret;
1677 }
1678 z->bra = z->c; /* ], line 336 */
1679 {
1680 int ret = slice_del (z); /* delete, line 336 */
1681 if (ret < 0)
1682 return ret;
1683 }
1684 {
1685 int m_keep = z->l - z->c; /* (void) m_keep; *//* try, line 336 */
1686 z->ket = z->c; /* [, line 336 */
1687 {
1688 int m2 = z->l - z->c;
1689 (void) m2; /* or, line 338 */
1690 {
1691 int ret = r_mark_lAr (z);
1692 if (ret == 0)
1693 goto lab4; /* call mark_lAr, line 337 */
1694 if (ret < 0)
1695 return ret;
1696 }
1697 z->bra = z->c; /* ], line 337 */
1698 {
1699 int ret = slice_del (z); /* delete, line 337 */
1700 if (ret < 0)
1701 return ret;
1702 }
1703 {
1704 int m_keep = z->l - z->c; /* (void) m_keep; *//* try, line 337 */
1705 {
1706 int ret = r_stem_suffix_chain_before_ki (z);
1707 if (ret == 0)
1708 {
1709 z->c = z->l - m_keep;
1710 goto lab5;
1711 } /* call stem_suffix_chain_before_ki, line 337 */
1712 if (ret < 0)
1713 return ret;
1714 }
1715 lab5:
1716 ;
1717 }
1718 goto lab3;
1719 lab4:
1720 z->c = z->l - m2;
1721 {
1722 int ret = r_mark_possessives (z);
1723 if (ret == 0)
1724 {
1725 z->c = z->l - m_keep;
1726 goto lab2;
1727 } /* call mark_possessives, line 339 */
1728 if (ret < 0)
1729 return ret;
1730 }
1731 z->bra = z->c; /* ], line 339 */
1732 {
1733 int ret = slice_del (z); /* delete, line 339 */
1734 if (ret < 0)
1735 return ret;
1736 }
1737 {
1738 int m_keep = z->l - z->c; /* (void) m_keep; *//* try, line 339 */
1739 z->ket = z->c; /* [, line 339 */
1740 {
1741 int ret = r_mark_lAr (z);
1742 if (ret == 0)
1743 {
1744 z->c = z->l - m_keep;
1745 goto lab6;
1746 } /* call mark_lAr, line 339 */
1747 if (ret < 0)
1748 return ret;
1749 }
1750 z->bra = z->c; /* ], line 339 */
1751 {
1752 int ret = slice_del (z); /* delete, line 339 */
1753 if (ret < 0)
1754 return ret;
1755 }
1756 {
1757 int ret = r_stem_suffix_chain_before_ki (z);
1758 if (ret == 0)
1759 {
1760 z->c = z->l - m_keep;
1761 goto lab6;
1762 } /* call stem_suffix_chain_before_ki, line 339 */
1763 if (ret < 0)
1764 return ret;
1765 }
1766 lab6:
1767 ;
1768 }
1769 }
1770 lab3:
1771 lab2:
1772 ;
1773 }
1774 goto lab0;
1775 lab1:
1776 z->c = z->l - m1;
1777 {
1778 int ret = r_mark_nUn (z);
1779 if (ret == 0)
1780 goto lab7; /* call mark_nUn, line 343 */
1781 if (ret < 0)
1782 return ret;
1783 }
1784 z->bra = z->c; /* ], line 343 */
1785 {
1786 int ret = slice_del (z); /* delete, line 343 */
1787 if (ret < 0)
1788 return ret;
1789 }
1790 {
1791 int m_keep = z->l - z->c; /* (void) m_keep; *//* try, line 343 */
1792 z->ket = z->c; /* [, line 343 */
1793 {
1794 int m3 = z->l - z->c;
1795 (void) m3; /* or, line 345 */
1796 {
1797 int ret = r_mark_lArI (z);
1798 if (ret == 0)
1799 goto lab10; /* call mark_lArI, line 344 */
1800 if (ret < 0)
1801 return ret;
1802 }
1803 z->bra = z->c; /* ], line 344 */
1804 {
1805 int ret = slice_del (z); /* delete, line 344 */
1806 if (ret < 0)
1807 return ret;
1808 }
1809 goto lab9;
1810 lab10:
1811 z->c = z->l - m3;
1812 z->ket = z->c; /* [, line 346 */
1813 {
1814 int m4 = z->l - z->c;
1815 (void) m4; /* or, line 346 */
1816 {
1817 int ret = r_mark_possessives (z);
1818 if (ret == 0)
1819 goto lab13; /* call mark_possessives, line 346 */
1820 if (ret < 0)
1821 return ret;
1822 }
1823 goto lab12;
1824 lab13:
1825 z->c = z->l - m4;
1826 {
1827 int ret = r_mark_sU (z);
1828 if (ret == 0)
1829 goto lab11; /* call mark_sU, line 346 */
1830 if (ret < 0)
1831 return ret;
1832 }
1833 }
1834 lab12:
1835 z->bra = z->c; /* ], line 346 */
1836 {
1837 int ret = slice_del (z); /* delete, line 346 */
1838 if (ret < 0)
1839 return ret;
1840 }
1841 {
1842 int m_keep = z->l - z->c; /* (void) m_keep; *//* try, line 346 */
1843 z->ket = z->c; /* [, line 346 */
1844 {
1845 int ret = r_mark_lAr (z);
1846 if (ret == 0)
1847 {
1848 z->c = z->l - m_keep;
1849 goto lab14;
1850 } /* call mark_lAr, line 346 */
1851 if (ret < 0)
1852 return ret;
1853 }
1854 z->bra = z->c; /* ], line 346 */
1855 {
1856 int ret = slice_del (z); /* delete, line 346 */
1857 if (ret < 0)
1858 return ret;
1859 }
1860 {
1861 int ret = r_stem_suffix_chain_before_ki (z);
1862 if (ret == 0)
1863 {
1864 z->c = z->l - m_keep;
1865 goto lab14;
1866 } /* call stem_suffix_chain_before_ki, line 346 */
1867 if (ret < 0)
1868 return ret;
1869 }
1870 lab14:
1871 ;
1872 }
1873 goto lab9;
1874 lab11:
1875 z->c = z->l - m3;
1876 {
1877 int ret = r_stem_suffix_chain_before_ki (z);
1878 if (ret == 0)
1879 {
1880 z->c = z->l - m_keep;
1881 goto lab8;
1882 } /* call stem_suffix_chain_before_ki, line 348 */
1883 if (ret < 0)
1884 return ret;
1885 }
1886 }
1887 lab9:
1888 lab8:
1889 ;
1890 }
1891 goto lab0;
1892 lab7:
1893 z->c = z->l - m1;
1894 {
1895 int ret = r_mark_ndA (z);
1896 if (ret == 0)
1897 return 0; /* call mark_ndA, line 351 */
1898 if (ret < 0)
1899 return ret;
1900 }
1901 {
1902 int m5 = z->l - z->c;
1903 (void) m5; /* or, line 353 */
1904 {
1905 int ret = r_mark_lArI (z);
1906 if (ret == 0)
1907 goto lab16; /* call mark_lArI, line 352 */
1908 if (ret < 0)
1909 return ret;
1910 }
1911 z->bra = z->c; /* ], line 352 */
1912 {
1913 int ret = slice_del (z); /* delete, line 352 */
1914 if (ret < 0)
1915 return ret;
1916 }
1917 goto lab15;
1918 lab16:
1919 z->c = z->l - m5;
1920 {
1921 int ret = r_mark_sU (z);
1922 if (ret == 0)
1923 goto lab17; /* call mark_sU, line 354 */
1924 if (ret < 0)
1925 return ret;
1926 }
1927 z->bra = z->c; /* ], line 354 */
1928 {
1929 int ret = slice_del (z); /* delete, line 354 */
1930 if (ret < 0)
1931 return ret;
1932 }
1933 {
1934 int m_keep = z->l - z->c; /* (void) m_keep; *//* try, line 354 */
1935 z->ket = z->c; /* [, line 354 */
1936 {
1937 int ret = r_mark_lAr (z);
1938 if (ret == 0)
1939 {
1940 z->c = z->l - m_keep;
1941 goto lab18;
1942 } /* call mark_lAr, line 354 */
1943 if (ret < 0)
1944 return ret;
1945 }
1946 z->bra = z->c; /* ], line 354 */
1947 {
1948 int ret = slice_del (z); /* delete, line 354 */
1949 if (ret < 0)
1950 return ret;
1951 }
1952 {
1953 int ret = r_stem_suffix_chain_before_ki (z);
1954 if (ret == 0)
1955 {
1956 z->c = z->l - m_keep;
1957 goto lab18;
1958 } /* call stem_suffix_chain_before_ki, line 354 */
1959 if (ret < 0)
1960 return ret;
1961 }
1962 lab18:
1963 ;
1964 }
1965 goto lab15;
1966 lab17:
1967 z->c = z->l - m5;
1968 {
1969 int ret = r_stem_suffix_chain_before_ki (z);
1970 if (ret == 0)
1971 return 0; /* call stem_suffix_chain_before_ki, line 356 */
1972 if (ret < 0)
1973 return ret;
1974 }
1975 }
1976 lab15:
1977 ;
1978 }
1979lab0:
1980 return 1;
1981}
1982
1983static int
1985{
1986 {
1987 int m1 = z->l - z->c;
1988 (void) m1; /* or, line 363 */
1989 z->ket = z->c; /* [, line 362 */
1990 {
1991 int ret = r_mark_lAr (z);
1992 if (ret == 0)
1993 goto lab1; /* call mark_lAr, line 362 */
1994 if (ret < 0)
1995 return ret;
1996 }
1997 z->bra = z->c; /* ], line 362 */
1998 {
1999 int ret = slice_del (z); /* delete, line 362 */
2000 if (ret < 0)
2001 return ret;
2002 }
2003 {
2004 int m_keep = z->l - z->c; /* (void) m_keep; *//* try, line 362 */
2005 {
2006 int ret = r_stem_suffix_chain_before_ki (z);
2007 if (ret == 0)
2008 {
2009 z->c = z->l - m_keep;
2010 goto lab2;
2011 } /* call stem_suffix_chain_before_ki, line 362 */
2012 if (ret < 0)
2013 return ret;
2014 }
2015 lab2:
2016 ;
2017 }
2018 goto lab0;
2019 lab1:
2020 z->c = z->l - m1;
2021 z->ket = z->c; /* [, line 364 */
2022 {
2023 int ret = r_mark_ncA (z);
2024 if (ret == 0)
2025 goto lab3; /* call mark_ncA, line 364 */
2026 if (ret < 0)
2027 return ret;
2028 }
2029 z->bra = z->c; /* ], line 364 */
2030 {
2031 int ret = slice_del (z); /* delete, line 364 */
2032 if (ret < 0)
2033 return ret;
2034 }
2035 {
2036 int m_keep = z->l - z->c; /* (void) m_keep; *//* try, line 365 */
2037 {
2038 int m2 = z->l - z->c;
2039 (void) m2; /* or, line 367 */
2040 z->ket = z->c; /* [, line 366 */
2041 {
2042 int ret = r_mark_lArI (z);
2043 if (ret == 0)
2044 goto lab6; /* call mark_lArI, line 366 */
2045 if (ret < 0)
2046 return ret;
2047 }
2048 z->bra = z->c; /* ], line 366 */
2049 {
2050 int ret = slice_del (z); /* delete, line 366 */
2051 if (ret < 0)
2052 return ret;
2053 }
2054 goto lab5;
2055 lab6:
2056 z->c = z->l - m2;
2057 z->ket = z->c; /* [, line 368 */
2058 {
2059 int m3 = z->l - z->c;
2060 (void) m3; /* or, line 368 */
2061 {
2062 int ret = r_mark_possessives (z);
2063 if (ret == 0)
2064 goto lab9; /* call mark_possessives, line 368 */
2065 if (ret < 0)
2066 return ret;
2067 }
2068 goto lab8;
2069 lab9:
2070 z->c = z->l - m3;
2071 {
2072 int ret = r_mark_sU (z);
2073 if (ret == 0)
2074 goto lab7; /* call mark_sU, line 368 */
2075 if (ret < 0)
2076 return ret;
2077 }
2078 }
2079 lab8:
2080 z->bra = z->c; /* ], line 368 */
2081 {
2082 int ret = slice_del (z); /* delete, line 368 */
2083 if (ret < 0)
2084 return ret;
2085 }
2086 {
2087 int m_keep = z->l - z->c; /* (void) m_keep; *//* try, line 368 */
2088 z->ket = z->c; /* [, line 368 */
2089 {
2090 int ret = r_mark_lAr (z);
2091 if (ret == 0)
2092 {
2093 z->c = z->l - m_keep;
2094 goto lab10;
2095 } /* call mark_lAr, line 368 */
2096 if (ret < 0)
2097 return ret;
2098 }
2099 z->bra = z->c; /* ], line 368 */
2100 {
2101 int ret = slice_del (z); /* delete, line 368 */
2102 if (ret < 0)
2103 return ret;
2104 }
2105 {
2106 int ret = r_stem_suffix_chain_before_ki (z);
2107 if (ret == 0)
2108 {
2109 z->c = z->l - m_keep;
2110 goto lab10;
2111 } /* call stem_suffix_chain_before_ki, line 368 */
2112 if (ret < 0)
2113 return ret;
2114 }
2115 lab10:
2116 ;
2117 }
2118 goto lab5;
2119 lab7:
2120 z->c = z->l - m2;
2121 z->ket = z->c; /* [, line 370 */
2122 {
2123 int ret = r_mark_lAr (z);
2124 if (ret == 0)
2125 {
2126 z->c = z->l - m_keep;
2127 goto lab4;
2128 } /* call mark_lAr, line 370 */
2129 if (ret < 0)
2130 return ret;
2131 }
2132 z->bra = z->c; /* ], line 370 */
2133 {
2134 int ret = slice_del (z); /* delete, line 370 */
2135 if (ret < 0)
2136 return ret;
2137 }
2138 {
2139 int ret = r_stem_suffix_chain_before_ki (z);
2140 if (ret == 0)
2141 {
2142 z->c = z->l - m_keep;
2143 goto lab4;
2144 } /* call stem_suffix_chain_before_ki, line 370 */
2145 if (ret < 0)
2146 return ret;
2147 }
2148 }
2149 lab5:
2150 lab4:
2151 ;
2152 }
2153 goto lab0;
2154 lab3:
2155 z->c = z->l - m1;
2156 z->ket = z->c; /* [, line 374 */
2157 {
2158 int m4 = z->l - z->c;
2159 (void) m4; /* or, line 374 */
2160 {
2161 int ret = r_mark_ndA (z);
2162 if (ret == 0)
2163 goto lab13; /* call mark_ndA, line 374 */
2164 if (ret < 0)
2165 return ret;
2166 }
2167 goto lab12;
2168 lab13:
2169 z->c = z->l - m4;
2170 {
2171 int ret = r_mark_nA (z);
2172 if (ret == 0)
2173 goto lab11; /* call mark_nA, line 374 */
2174 if (ret < 0)
2175 return ret;
2176 }
2177 }
2178 lab12:
2179 {
2180 int m5 = z->l - z->c;
2181 (void) m5; /* or, line 377 */
2182 {
2183 int ret = r_mark_lArI (z);
2184 if (ret == 0)
2185 goto lab15; /* call mark_lArI, line 376 */
2186 if (ret < 0)
2187 return ret;
2188 }
2189 z->bra = z->c; /* ], line 376 */
2190 {
2191 int ret = slice_del (z); /* delete, line 376 */
2192 if (ret < 0)
2193 return ret;
2194 }
2195 goto lab14;
2196 lab15:
2197 z->c = z->l - m5;
2198 {
2199 int ret = r_mark_sU (z);
2200 if (ret == 0)
2201 goto lab16; /* call mark_sU, line 378 */
2202 if (ret < 0)
2203 return ret;
2204 }
2205 z->bra = z->c; /* ], line 378 */
2206 {
2207 int ret = slice_del (z); /* delete, line 378 */
2208 if (ret < 0)
2209 return ret;
2210 }
2211 {
2212 int m_keep = z->l - z->c; /* (void) m_keep; *//* try, line 378 */
2213 z->ket = z->c; /* [, line 378 */
2214 {
2215 int ret = r_mark_lAr (z);
2216 if (ret == 0)
2217 {
2218 z->c = z->l - m_keep;
2219 goto lab17;
2220 } /* call mark_lAr, line 378 */
2221 if (ret < 0)
2222 return ret;
2223 }
2224 z->bra = z->c; /* ], line 378 */
2225 {
2226 int ret = slice_del (z); /* delete, line 378 */
2227 if (ret < 0)
2228 return ret;
2229 }
2230 {
2231 int ret = r_stem_suffix_chain_before_ki (z);
2232 if (ret == 0)
2233 {
2234 z->c = z->l - m_keep;
2235 goto lab17;
2236 } /* call stem_suffix_chain_before_ki, line 378 */
2237 if (ret < 0)
2238 return ret;
2239 }
2240 lab17:
2241 ;
2242 }
2243 goto lab14;
2244 lab16:
2245 z->c = z->l - m5;
2246 {
2247 int ret = r_stem_suffix_chain_before_ki (z);
2248 if (ret == 0)
2249 goto lab11; /* call stem_suffix_chain_before_ki, line 380 */
2250 if (ret < 0)
2251 return ret;
2252 }
2253 }
2254 lab14:
2255 goto lab0;
2256 lab11:
2257 z->c = z->l - m1;
2258 z->ket = z->c; /* [, line 384 */
2259 {
2260 int m6 = z->l - z->c;
2261 (void) m6; /* or, line 384 */
2262 {
2263 int ret = r_mark_ndAn (z);
2264 if (ret == 0)
2265 goto lab20; /* call mark_ndAn, line 384 */
2266 if (ret < 0)
2267 return ret;
2268 }
2269 goto lab19;
2270 lab20:
2271 z->c = z->l - m6;
2272 {
2273 int ret = r_mark_nU (z);
2274 if (ret == 0)
2275 goto lab18; /* call mark_nU, line 384 */
2276 if (ret < 0)
2277 return ret;
2278 }
2279 }
2280 lab19:
2281 {
2282 int m7 = z->l - z->c;
2283 (void) m7; /* or, line 384 */
2284 {
2285 int ret = r_mark_sU (z);
2286 if (ret == 0)
2287 goto lab22; /* call mark_sU, line 384 */
2288 if (ret < 0)
2289 return ret;
2290 }
2291 z->bra = z->c; /* ], line 384 */
2292 {
2293 int ret = slice_del (z); /* delete, line 384 */
2294 if (ret < 0)
2295 return ret;
2296 }
2297 {
2298 int m_keep = z->l - z->c; /* (void) m_keep; *//* try, line 384 */
2299 z->ket = z->c; /* [, line 384 */
2300 {
2301 int ret = r_mark_lAr (z);
2302 if (ret == 0)
2303 {
2304 z->c = z->l - m_keep;
2305 goto lab23;
2306 } /* call mark_lAr, line 384 */
2307 if (ret < 0)
2308 return ret;
2309 }
2310 z->bra = z->c; /* ], line 384 */
2311 {
2312 int ret = slice_del (z); /* delete, line 384 */
2313 if (ret < 0)
2314 return ret;
2315 }
2316 {
2317 int ret = r_stem_suffix_chain_before_ki (z);
2318 if (ret == 0)
2319 {
2320 z->c = z->l - m_keep;
2321 goto lab23;
2322 } /* call stem_suffix_chain_before_ki, line 384 */
2323 if (ret < 0)
2324 return ret;
2325 }
2326 lab23:
2327 ;
2328 }
2329 goto lab21;
2330 lab22:
2331 z->c = z->l - m7;
2332 {
2333 int ret = r_mark_lArI (z);
2334 if (ret == 0)
2335 goto lab18; /* call mark_lArI, line 384 */
2336 if (ret < 0)
2337 return ret;
2338 }
2339 }
2340 lab21:
2341 goto lab0;
2342 lab18:
2343 z->c = z->l - m1;
2344 z->ket = z->c; /* [, line 386 */
2345 {
2346 int ret = r_mark_DAn (z);
2347 if (ret == 0)
2348 goto lab24; /* call mark_DAn, line 386 */
2349 if (ret < 0)
2350 return ret;
2351 }
2352 z->bra = z->c; /* ], line 386 */
2353 {
2354 int ret = slice_del (z); /* delete, line 386 */
2355 if (ret < 0)
2356 return ret;
2357 }
2358 {
2359 int m_keep = z->l - z->c; /* (void) m_keep; *//* try, line 386 */
2360 z->ket = z->c; /* [, line 386 */
2361 {
2362 int m8 = z->l - z->c;
2363 (void) m8; /* or, line 389 */
2364 {
2365 int ret = r_mark_possessives (z);
2366 if (ret == 0)
2367 goto lab27; /* call mark_possessives, line 388 */
2368 if (ret < 0)
2369 return ret;
2370 }
2371 z->bra = z->c; /* ], line 388 */
2372 {
2373 int ret = slice_del (z); /* delete, line 388 */
2374 if (ret < 0)
2375 return ret;
2376 }
2377 {
2378 int m_keep = z->l - z->c; /* (void) m_keep; *//* try, line 388 */
2379 z->ket = z->c; /* [, line 388 */
2380 {
2381 int ret = r_mark_lAr (z);
2382 if (ret == 0)
2383 {
2384 z->c = z->l - m_keep;
2385 goto lab28;
2386 } /* call mark_lAr, line 388 */
2387 if (ret < 0)
2388 return ret;
2389 }
2390 z->bra = z->c; /* ], line 388 */
2391 {
2392 int ret = slice_del (z); /* delete, line 388 */
2393 if (ret < 0)
2394 return ret;
2395 }
2396 {
2397 int ret = r_stem_suffix_chain_before_ki (z);
2398 if (ret == 0)
2399 {
2400 z->c = z->l - m_keep;
2401 goto lab28;
2402 } /* call stem_suffix_chain_before_ki, line 388 */
2403 if (ret < 0)
2404 return ret;
2405 }
2406 lab28:
2407 ;
2408 }
2409 goto lab26;
2410 lab27:
2411 z->c = z->l - m8;
2412 {
2413 int ret = r_mark_lAr (z);
2414 if (ret == 0)
2415 goto lab29; /* call mark_lAr, line 390 */
2416 if (ret < 0)
2417 return ret;
2418 }
2419 z->bra = z->c; /* ], line 390 */
2420 {
2421 int ret = slice_del (z); /* delete, line 390 */
2422 if (ret < 0)
2423 return ret;
2424 }
2425 {
2426 int m_keep = z->l - z->c; /* (void) m_keep; *//* try, line 390 */
2427 {
2428 int ret = r_stem_suffix_chain_before_ki (z);
2429 if (ret == 0)
2430 {
2431 z->c = z->l - m_keep;
2432 goto lab30;
2433 } /* call stem_suffix_chain_before_ki, line 390 */
2434 if (ret < 0)
2435 return ret;
2436 }
2437 lab30:
2438 ;
2439 }
2440 goto lab26;
2441 lab29:
2442 z->c = z->l - m8;
2443 {
2444 int ret = r_stem_suffix_chain_before_ki (z);
2445 if (ret == 0)
2446 {
2447 z->c = z->l - m_keep;
2448 goto lab25;
2449 } /* call stem_suffix_chain_before_ki, line 392 */
2450 if (ret < 0)
2451 return ret;
2452 }
2453 }
2454 lab26:
2455 lab25:
2456 ;
2457 }
2458 goto lab0;
2459 lab24:
2460 z->c = z->l - m1;
2461 z->ket = z->c; /* [, line 396 */
2462 {
2463 int m9 = z->l - z->c;
2464 (void) m9; /* or, line 396 */
2465 {
2466 int ret = r_mark_nUn (z);
2467 if (ret == 0)
2468 goto lab33; /* call mark_nUn, line 396 */
2469 if (ret < 0)
2470 return ret;
2471 }
2472 goto lab32;
2473 lab33:
2474 z->c = z->l - m9;
2475 {
2476 int ret = r_mark_ylA (z);
2477 if (ret == 0)
2478 goto lab31; /* call mark_ylA, line 396 */
2479 if (ret < 0)
2480 return ret;
2481 }
2482 }
2483 lab32:
2484 z->bra = z->c; /* ], line 396 */
2485 {
2486 int ret = slice_del (z); /* delete, line 396 */
2487 if (ret < 0)
2488 return ret;
2489 }
2490 {
2491 int m_keep = z->l - z->c; /* (void) m_keep; *//* try, line 397 */
2492 {
2493 int m10 = z->l - z->c;
2494 (void) m10; /* or, line 399 */
2495 z->ket = z->c; /* [, line 398 */
2496 {
2497 int ret = r_mark_lAr (z);
2498 if (ret == 0)
2499 goto lab36; /* call mark_lAr, line 398 */
2500 if (ret < 0)
2501 return ret;
2502 }
2503 z->bra = z->c; /* ], line 398 */
2504 {
2505 int ret = slice_del (z); /* delete, line 398 */
2506 if (ret < 0)
2507 return ret;
2508 }
2509 {
2510 int ret = r_stem_suffix_chain_before_ki (z);
2511 if (ret == 0)
2512 goto lab36; /* call stem_suffix_chain_before_ki, line 398 */
2513 if (ret < 0)
2514 return ret;
2515 }
2516 goto lab35;
2517 lab36:
2518 z->c = z->l - m10;
2519 z->ket = z->c; /* [, line 400 */
2520 {
2521 int m11 = z->l - z->c;
2522 (void) m11; /* or, line 400 */
2523 {
2524 int ret = r_mark_possessives (z);
2525 if (ret == 0)
2526 goto lab39; /* call mark_possessives, line 400 */
2527 if (ret < 0)
2528 return ret;
2529 }
2530 goto lab38;
2531 lab39:
2532 z->c = z->l - m11;
2533 {
2534 int ret = r_mark_sU (z);
2535 if (ret == 0)
2536 goto lab37; /* call mark_sU, line 400 */
2537 if (ret < 0)
2538 return ret;
2539 }
2540 }
2541 lab38:
2542 z->bra = z->c; /* ], line 400 */
2543 {
2544 int ret = slice_del (z); /* delete, line 400 */
2545 if (ret < 0)
2546 return ret;
2547 }
2548 {
2549 int m_keep = z->l - z->c; /* (void) m_keep; *//* try, line 400 */
2550 z->ket = z->c; /* [, line 400 */
2551 {
2552 int ret = r_mark_lAr (z);
2553 if (ret == 0)
2554 {
2555 z->c = z->l - m_keep;
2556 goto lab40;
2557 } /* call mark_lAr, line 400 */
2558 if (ret < 0)
2559 return ret;
2560 }
2561 z->bra = z->c; /* ], line 400 */
2562 {
2563 int ret = slice_del (z); /* delete, line 400 */
2564 if (ret < 0)
2565 return ret;
2566 }
2567 {
2568 int ret = r_stem_suffix_chain_before_ki (z);
2569 if (ret == 0)
2570 {
2571 z->c = z->l - m_keep;
2572 goto lab40;
2573 } /* call stem_suffix_chain_before_ki, line 400 */
2574 if (ret < 0)
2575 return ret;
2576 }
2577 lab40:
2578 ;
2579 }
2580 goto lab35;
2581 lab37:
2582 z->c = z->l - m10;
2583 {
2584 int ret = r_stem_suffix_chain_before_ki (z);
2585 if (ret == 0)
2586 {
2587 z->c = z->l - m_keep;
2588 goto lab34;
2589 } /* call stem_suffix_chain_before_ki, line 402 */
2590 if (ret < 0)
2591 return ret;
2592 }
2593 }
2594 lab35:
2595 lab34:
2596 ;
2597 }
2598 goto lab0;
2599 lab31:
2600 z->c = z->l - m1;
2601 z->ket = z->c; /* [, line 406 */
2602 {
2603 int ret = r_mark_lArI (z);
2604 if (ret == 0)
2605 goto lab41; /* call mark_lArI, line 406 */
2606 if (ret < 0)
2607 return ret;
2608 }
2609 z->bra = z->c; /* ], line 406 */
2610 {
2611 int ret = slice_del (z); /* delete, line 406 */
2612 if (ret < 0)
2613 return ret;
2614 }
2615 goto lab0;
2616 lab41:
2617 z->c = z->l - m1;
2618 {
2619 int ret = r_stem_suffix_chain_before_ki (z);
2620 if (ret == 0)
2621 goto lab42; /* call stem_suffix_chain_before_ki, line 408 */
2622 if (ret < 0)
2623 return ret;
2624 }
2625 goto lab0;
2626 lab42:
2627 z->c = z->l - m1;
2628 z->ket = z->c; /* [, line 410 */
2629 {
2630 int m12 = z->l - z->c;
2631 (void) m12; /* or, line 410 */
2632 {
2633 int ret = r_mark_DA (z);
2634 if (ret == 0)
2635 goto lab45; /* call mark_DA, line 410 */
2636 if (ret < 0)
2637 return ret;
2638 }
2639 goto lab44;
2640 lab45:
2641 z->c = z->l - m12;
2642 {
2643 int ret = r_mark_yU (z);
2644 if (ret == 0)
2645 goto lab46; /* call mark_yU, line 410 */
2646 if (ret < 0)
2647 return ret;
2648 }
2649 goto lab44;
2650 lab46:
2651 z->c = z->l - m12;
2652 {
2653 int ret = r_mark_yA (z);
2654 if (ret == 0)
2655 goto lab43; /* call mark_yA, line 410 */
2656 if (ret < 0)
2657 return ret;
2658 }
2659 }
2660 lab44:
2661 z->bra = z->c; /* ], line 410 */
2662 {
2663 int ret = slice_del (z); /* delete, line 410 */
2664 if (ret < 0)
2665 return ret;
2666 }
2667 {
2668 int m_keep = z->l - z->c; /* (void) m_keep; *//* try, line 410 */
2669 z->ket = z->c; /* [, line 410 */
2670 {
2671 int m13 = z->l - z->c;
2672 (void) m13; /* or, line 410 */
2673 {
2674 int ret = r_mark_possessives (z);
2675 if (ret == 0)
2676 goto lab49; /* call mark_possessives, line 410 */
2677 if (ret < 0)
2678 return ret;
2679 }
2680 z->bra = z->c; /* ], line 410 */
2681 {
2682 int ret = slice_del (z); /* delete, line 410 */
2683 if (ret < 0)
2684 return ret;
2685 }
2686 {
2687 int m_keep = z->l - z->c; /* (void) m_keep; *//* try, line 410 */
2688 z->ket = z->c; /* [, line 410 */
2689 {
2690 int ret = r_mark_lAr (z);
2691 if (ret == 0)
2692 {
2693 z->c = z->l - m_keep;
2694 goto lab50;
2695 } /* call mark_lAr, line 410 */
2696 if (ret < 0)
2697 return ret;
2698 }
2699 lab50:
2700 ;
2701 }
2702 goto lab48;
2703 lab49:
2704 z->c = z->l - m13;
2705 {
2706 int ret = r_mark_lAr (z);
2707 if (ret == 0)
2708 {
2709 z->c = z->l - m_keep;
2710 goto lab47;
2711 } /* call mark_lAr, line 410 */
2712 if (ret < 0)
2713 return ret;
2714 }
2715 }
2716 lab48:
2717 z->bra = z->c; /* ], line 410 */
2718 {
2719 int ret = slice_del (z); /* delete, line 410 */
2720 if (ret < 0)
2721 return ret;
2722 }
2723 z->ket = z->c; /* [, line 410 */
2724 {
2725 int ret = r_stem_suffix_chain_before_ki (z);
2726 if (ret == 0)
2727 {
2728 z->c = z->l - m_keep;
2729 goto lab47;
2730 } /* call stem_suffix_chain_before_ki, line 410 */
2731 if (ret < 0)
2732 return ret;
2733 }
2734 lab47:
2735 ;
2736 }
2737 goto lab0;
2738 lab43:
2739 z->c = z->l - m1;
2740 z->ket = z->c; /* [, line 412 */
2741 {
2742 int m14 = z->l - z->c;
2743 (void) m14; /* or, line 412 */
2744 {
2745 int ret = r_mark_possessives (z);
2746 if (ret == 0)
2747 goto lab52; /* call mark_possessives, line 412 */
2748 if (ret < 0)
2749 return ret;
2750 }
2751 goto lab51;
2752 lab52:
2753 z->c = z->l - m14;
2754 {
2755 int ret = r_mark_sU (z);
2756 if (ret == 0)
2757 return 0; /* call mark_sU, line 412 */
2758 if (ret < 0)
2759 return ret;
2760 }
2761 }
2762 lab51:
2763 z->bra = z->c; /* ], line 412 */
2764 {
2765 int ret = slice_del (z); /* delete, line 412 */
2766 if (ret < 0)
2767 return ret;
2768 }
2769 {
2770 int m_keep = z->l - z->c; /* (void) m_keep; *//* try, line 412 */
2771 z->ket = z->c; /* [, line 412 */
2772 {
2773 int ret = r_mark_lAr (z);
2774 if (ret == 0)
2775 {
2776 z->c = z->l - m_keep;
2777 goto lab53;
2778 } /* call mark_lAr, line 412 */
2779 if (ret < 0)
2780 return ret;
2781 }
2782 z->bra = z->c; /* ], line 412 */
2783 {
2784 int ret = slice_del (z); /* delete, line 412 */
2785 if (ret < 0)
2786 return ret;
2787 }
2788 {
2789 int ret = r_stem_suffix_chain_before_ki (z);
2790 if (ret == 0)
2791 {
2792 z->c = z->l - m_keep;
2793 goto lab53;
2794 } /* call stem_suffix_chain_before_ki, line 412 */
2795 if (ret < 0)
2796 return ret;
2797 }
2798 lab53:
2799 ;
2800 }
2801 }
2802lab0:
2803 return 1;
2804}
2805
2806static int
2808{
2809 int among_var;
2810 z->ket = z->c; /* [, line 416 */
2811 among_var = find_among_b (z, a_23, 4); /* substring, line 416 */
2812 if (!(among_var))
2813 return 0;
2814 z->bra = z->c; /* ], line 416 */
2815 switch (among_var)
2816 {
2817 case 0:
2818 return 0;
2819 case 1:
2820 {
2821 int ret = slice_from_s (z, 1, s_16); /* <-, line 417 */
2822 if (ret < 0)
2823 return ret;
2824 }
2825 break;
2826 case 2:
2827 {
2828 int ret = slice_from_s (z, 2, s_17); /* <-, line 418 */
2829 if (ret < 0)
2830 return ret;
2831 }
2832 break;
2833 case 3:
2834 {
2835 int ret = slice_from_s (z, 1, s_18); /* <-, line 419 */
2836 if (ret < 0)
2837 return ret;
2838 }
2839 break;
2840 case 4:
2841 {
2842 int ret = slice_from_s (z, 1, s_19); /* <-, line 420 */
2843 if (ret < 0)
2844 return ret;
2845 }
2846 break;
2847 }
2848 return 1;
2849}
2850
2851static int
2853{
2854 {
2855 int m_test = z->l - z->c; /* test, line 431 */
2856 {
2857 int m1 = z->l - z->c;
2858 (void) m1; /* or, line 431 */
2859 if (!(eq_s_b (z, 1, s_20)))
2860 goto lab1;
2861 goto lab0;
2862 lab1:
2863 z->c = z->l - m1;
2864 if (!(eq_s_b (z, 1, s_21)))
2865 return 0;
2866 }
2867 lab0:
2868 z->c = z->l - m_test;
2869 }
2870 {
2871 int m2 = z->l - z->c;
2872 (void) m2; /* or, line 433 */
2873 {
2874 int m_test = z->l - z->c; /* test, line 432 */
2875 if (out_grouping_b_U (z, g_vowel, 97, 305, 1) < 0)
2876 goto lab3; /* goto *//* grouping vowel, line 432 */
2877 {
2878 int m3 = z->l - z->c;
2879 (void) m3; /* or, line 432 */
2880 if (!(eq_s_b (z, 1, s_22)))
2881 goto lab5;
2882 goto lab4;
2883 lab5:
2884 z->c = z->l - m3;
2885 if (!(eq_s_b (z, 2, s_23)))
2886 goto lab3;
2887 }
2888 lab4:
2889 z->c = z->l - m_test;
2890 }
2891 {
2892 int c_keep = z->c;
2893 int ret = insert_s (z, z->c, z->c, 2, s_24); /* <+, line 432 */
2894 z->c = c_keep;
2895 if (ret < 0)
2896 return ret;
2897 }
2898 goto lab2;
2899 lab3:
2900 z->c = z->l - m2;
2901 {
2902 int m_test = z->l - z->c; /* test, line 434 */
2903 if (out_grouping_b_U (z, g_vowel, 97, 305, 1) < 0)
2904 goto lab6; /* goto *//* grouping vowel, line 434 */
2905 {
2906 int m4 = z->l - z->c;
2907 (void) m4; /* or, line 434 */
2908 if (!(eq_s_b (z, 1, s_25)))
2909 goto lab8;
2910 goto lab7;
2911 lab8:
2912 z->c = z->l - m4;
2913 if (!(eq_s_b (z, 1, s_26)))
2914 goto lab6;
2915 }
2916 lab7:
2917 z->c = z->l - m_test;
2918 }
2919 {
2920 int c_keep = z->c;
2921 int ret = insert_s (z, z->c, z->c, 1, s_27); /* <+, line 434 */
2922 z->c = c_keep;
2923 if (ret < 0)
2924 return ret;
2925 }
2926 goto lab2;
2927 lab6:
2928 z->c = z->l - m2;
2929 {
2930 int m_test = z->l - z->c; /* test, line 436 */
2931 if (out_grouping_b_U (z, g_vowel, 97, 305, 1) < 0)
2932 goto lab9; /* goto *//* grouping vowel, line 436 */
2933 {
2934 int m5 = z->l - z->c;
2935 (void) m5; /* or, line 436 */
2936 if (!(eq_s_b (z, 1, s_28)))
2937 goto lab11;
2938 goto lab10;
2939 lab11:
2940 z->c = z->l - m5;
2941 if (!(eq_s_b (z, 1, s_29)))
2942 goto lab9;
2943 }
2944 lab10:
2945 z->c = z->l - m_test;
2946 }
2947 {
2948 int c_keep = z->c;
2949 int ret = insert_s (z, z->c, z->c, 1, s_30); /* <+, line 436 */
2950 z->c = c_keep;
2951 if (ret < 0)
2952 return ret;
2953 }
2954 goto lab2;
2955 lab9:
2956 z->c = z->l - m2;
2957 {
2958 int m_test = z->l - z->c; /* test, line 438 */
2959 if (out_grouping_b_U (z, g_vowel, 97, 305, 1) < 0)
2960 return 0; /* goto *//* grouping vowel, line 438 */
2961 {
2962 int m6 = z->l - z->c;
2963 (void) m6; /* or, line 438 */
2964 if (!(eq_s_b (z, 2, s_31)))
2965 goto lab13;
2966 goto lab12;
2967 lab13:
2968 z->c = z->l - m6;
2969 if (!(eq_s_b (z, 2, s_32)))
2970 return 0;
2971 }
2972 lab12:
2973 z->c = z->l - m_test;
2974 }
2975 {
2976 int c_keep = z->c;
2977 int ret = insert_s (z, z->c, z->c, 2, s_33); /* <+, line 438 */
2978 z->c = c_keep;
2979 if (ret < 0)
2980 return ret;
2981 }
2982 }
2983lab2:
2984 return 1;
2985}
2986
2987static int
2989{
2990 {
2991 int c_test = z->c; /* test, line 446 */
2992 {
2993 int i = 2;
2994 while (1)
2995 { /* atleast, line 446 */
2996 int c1 = z->c;
2997 { /* gopast *//* grouping vowel, line 446 */
2998 int ret = out_grouping_U (z, g_vowel, 97, 305, 1);
2999 if (ret < 0)
3000 goto lab0;
3001 z->c += ret;
3002 }
3003 i--;
3004 continue;
3005 lab0:
3006 z->c = c1;
3007 break;
3008 }
3009 if (i > 0)
3010 return 0;
3011 }
3012 z->c = c_test;
3013 }
3014 return 1;
3015}
3016
3017static int
3019{
3020 {
3021 int c1 = z->c; /* or, line 451 */
3022 {
3023 int c_test = z->c; /* test, line 450 */
3024 while (1)
3025 { /* gopast, line 450 */
3026 if (!(eq_s (z, 2, s_34)))
3027 goto lab2;
3028 break;
3029 lab2:
3030 {
3031 int ret = skip_utf8 (z->p, z->c, 0, z->l, 1);
3032 if (ret < 0)
3033 goto lab1;
3034 z->c = ret; /* gopast, line 450 */
3035 }
3036 }
3037 z->I[0] = 2;
3038 if (!(z->I[0] == z->l))
3039 goto lab1;
3040 z->c = c_test;
3041 }
3042 goto lab0;
3043 lab1:
3044 z->c = c1;
3045 {
3046 int c_test = z->c; /* test, line 452 */
3047 while (1)
3048 { /* gopast, line 452 */
3049 if (!(eq_s (z, 5, s_35)))
3050 goto lab3;
3051 break;
3052 lab3:
3053 {
3054 int ret = skip_utf8 (z->p, z->c, 0, z->l, 1);
3055 if (ret < 0)
3056 return 0;
3057 z->c = ret; /* gopast, line 452 */
3058 }
3059 }
3060 z->I[0] = 5;
3061 if (!(z->I[0] == z->l))
3062 return 0;
3063 z->c = c_test;
3064 }
3065 }
3066lab0:
3067 return 1;
3068}
3069
3070static int
3072{
3073 {
3074 int c1 = z->c; /* not, line 456 */
3075 {
3076 int ret = r_is_reserved_word (z);
3077 if (ret == 0)
3078 goto lab0; /* call is_reserved_word, line 456 */
3079 if (ret < 0)
3080 return ret;
3081 }
3082 return 0;
3083 lab0:
3084 z->c = c1;
3085 }
3086 z->lb = z->c;
3087 z->c = z->l; /* backwards, line 457 */
3088
3089 {
3090 int m2 = z->l - z->c;
3091 (void) m2; /* do, line 458 */
3092 {
3094 if (ret == 0)
3095 goto lab1; /* call append_U_to_stems_ending_with_d_or_g, line 458 */
3096 if (ret < 0)
3097 return ret;
3098 }
3099 lab1:
3100 z->c = z->l - m2;
3101 }
3102 {
3103 int m3 = z->l - z->c;
3104 (void) m3; /* do, line 459 */
3105 {
3106 int ret = r_post_process_last_consonants (z);
3107 if (ret == 0)
3108 goto lab2; /* call post_process_last_consonants, line 459 */
3109 if (ret < 0)
3110 return ret;
3111 }
3112 lab2:
3113 z->c = z->l - m3;
3114 }
3115 z->c = z->lb;
3116 return 1;
3117}
3118
3119extern int
3121{
3122 {
3123 int ret = r_more_than_one_syllable_word (z);
3124 if (ret == 0)
3125 return 0; /* call more_than_one_syllable_word, line 465 */
3126 if (ret < 0)
3127 return ret;
3128 }
3129 z->lb = z->c;
3130 z->c = z->l; /* backwards, line 467 */
3131
3132 {
3133 int m1 = z->l - z->c;
3134 (void) m1; /* do, line 468 */
3135 {
3136 int ret = r_stem_nominal_verb_suffixes (z);
3137 if (ret == 0)
3138 goto lab0; /* call stem_nominal_verb_suffixes, line 468 */
3139 if (ret < 0)
3140 return ret;
3141 }
3142 lab0:
3143 z->c = z->l - m1;
3144 }
3145 if (!(z->B[0]))
3146 return 0; /* Boolean test continue_stemming_noun_suffixes, line 469 */
3147 {
3148 int m2 = z->l - z->c;
3149 (void) m2; /* do, line 470 */
3150 {
3151 int ret = r_stem_noun_suffixes (z);
3152 if (ret == 0)
3153 goto lab1; /* call stem_noun_suffixes, line 470 */
3154 if (ret < 0)
3155 return ret;
3156 }
3157 lab1:
3158 z->c = z->l - m2;
3159 }
3160 z->c = z->lb;
3161 {
3162 int ret = r_postlude (z);
3163 if (ret == 0)
3164 return 0; /* call postlude, line 473 */
3165 if (ret < 0)
3166 return ret;
3167 }
3168 return 1;
3169}
3170
3171extern struct SN_env *
3173{
3174 return SN_create_env (0, 1, 1);
3175}
3176
3177extern void
3179{
3180 SN_close_env (z, 0);
3181}
struct SN_env * SN_create_env(int S_size, int I_size, int B_size)
Definition api.c:6
void SN_close_env(struct SN_env *z, int S_size)
Definition api.c:50
unsigned char symbol
Definition api.h:2
int find_among_b(struct SN_env *z, const struct among *v, int v_size)
Definition utilities.c:400
int out_grouping_U(struct SN_env *z, const unsigned char *s, int min, int max, int repeat)
Definition utilities.c:170
int insert_s(struct SN_env *z, int bra, int ket, int s_size, const symbol *s)
Definition utilities.c:579
int slice_del(struct SN_env *z)
Definition utilities.c:573
int eq_s(struct SN_env *z, int s_size, const symbol *s)
Definition utilities.c:280
int skip_utf8(const symbol *p, int c, int lb, int l, int n)
Definition utilities.c:42
int in_grouping_b_U(struct SN_env *z, const unsigned char *s, int min, int max, int repeat)
Definition utilities.c:152
int eq_s_b(struct SN_env *z, int s_size, const symbol *s)
Definition utilities.c:290
int out_grouping_b_U(struct SN_env *z, const unsigned char *s, int min, int max, int repeat)
Definition utilities.c:187
int slice_from_s(struct SN_env *z, int s_size, const symbol *s)
Definition utilities.c:559
static const symbol s_22_0[4]
static const symbol s_20_21[3]
static int r_mark_ymUs_(struct SN_env *z)
static const symbol s_25[]
static const symbol s_2[]
static const symbol s_13_3[4]
static int r_mark_suffix_with_optional_n_consonant(struct SN_env *z)
static int r_mark_nUz(struct SN_env *z)
static const symbol s_0_2[3]
static const symbol s_20_26[2]
static const symbol s_11_1[2]
static int r_mark_yken(struct SN_env *z)
static const symbol s_4[]
static const symbol s_20_0[2]
static int r_is_reserved_word(struct SN_env *z)
static const struct among a_8[4]
static const symbol s_3_2[3]
static const symbol s_12_0[2]
static const struct among a_19[2]
static const struct among a_12[4]
static const symbol s_20_24[4]
static const struct among a_17[4]
static const symbol s_17_3[4]
static const symbol s_15_2[7]
static const symbol s_0_5[3]
static int r_mark_suffix_with_optional_s_consonant(struct SN_env *z)
static const symbol s_20_13[3]
static const unsigned char g_vowel5[]
static const symbol s_30[]
static int r_mark_nUn(struct SN_env *z)
static const symbol s_0_3[3]
static int r_mark_yUm(struct SN_env *z)
static const symbol s_3_1[2]
static const symbol s_13_0[3]
static const symbol s_0_0[1]
static int r_mark_sUn(struct SN_env *z)
static const symbol s_5_0[2]
static const symbol s_21_3[3]
static const struct among a_7[2]
static const symbol s_20_10[3]
static const symbol s_21_1[2]
static const symbol s_20_14[4]
static const unsigned char g_vowel2[]
static const symbol s_29[]
static const symbol s_2_3[3]
static const symbol s_19_0[7]
static const symbol s_2_0[2]
static const symbol s_27[]
static const struct among a_6[4]
static int r_append_U_to_stems_ending_with_d_or_g(struct SN_env *z)
static const struct among a_16[2]
static const symbol s_20_22[4]
static const symbol s_20_17[4]
static const symbol s_18_7[4]
static const struct among a_3[4]
static const symbol s_6[]
static const symbol s_21[]
static const symbol s_21_6[3]
static int r_mark_DA(struct SN_env *z)
static const symbol s_3[]
static const symbol s_3_0[2]
static const symbol s_15_0[5]
static const symbol s_19_1[6]
static const symbol s_12_3[3]
static const symbol s_20_6[4]
static const symbol s_18_2[3]
static const symbol s_20_3[3]
static int r_mark_ylA(struct SN_env *z)
static const struct among a_22[4]
static const symbol s_20_31[3]
static int r_mark_yA(struct SN_env *z)
static const symbol s_7_1[3]
static int r_mark_ndA(struct SN_env *z)
static const symbol s_18_4[4]
static const symbol s_18_1[3]
static int r_mark_sU(struct SN_env *z)
static const struct among a_23[4]
static const symbol s_20_8[4]
static const struct among a_5[2]
static const symbol s_7[]
static const symbol s_8_0[3]
static const symbol s_32[]
struct SN_env * turkish_UTF_8_create_env(void)
static const symbol s_13[]
static int r_mark_yU(struct SN_env *z)
static const symbol s_8_2[3]
static const symbol s_23_1[1]
static int r_mark_nA(struct SN_env *z)
static const symbol s_20[]
static int r_mark_yUz(struct SN_env *z)
static const symbol s_20_27[2]
static const symbol s_23_2[1]
static const symbol s_18_3[3]
static const symbol s_13_1[3]
static const symbol s_20_19[3]
static const symbol s_20_30[3]
static const symbol s_17_0[3]
static const struct among a_11[2]
static const symbol s_14_0[2]
static int r_mark_cAsInA(struct SN_env *z)
static const symbol s_35[]
static const struct among a_10[2]
static const symbol s_18_0[3]
static const symbol s_16_1[3]
static const symbol s_19[]
static const symbol s_23[]
static const symbol s_10_1[2]
static const symbol s_12_1[2]
static const symbol s_21_5[3]
static const symbol s_0_6[4]
static const symbol s_0_9[4]
static int r_mark_DAn(struct SN_env *z)
static const symbol s_7_0[3]
static int r_mark_lArI(struct SN_env *z)
static const symbol s_20_4[3]
static int r_check_vowel_harmony(struct SN_env *z)
static int r_mark_ndAn(struct SN_env *z)
static const struct among a_1[2]
static const symbol s_8_1[3]
static const symbol s_24[]
static const symbol s_21_0[2]
static const symbol s_22_1[4]
void turkish_UTF_8_close_env(struct SN_env *z)
static const symbol s_6_2[2]
static int r_mark_suffix_with_optional_y_consonant(struct SN_env *z)
static const symbol s_15_3[7]
static const struct among a_14[4]
static const symbol s_4_1[1]
static const symbol s_20_2[3]
static const symbol s_20_23[4]
static const symbol s_20_25[4]
static const symbol s_17_2[4]
static int r_mark_ki(struct SN_env *z)
static const symbol s_16[]
static int r_postlude(struct SN_env *z)
static const symbol s_14[]
static const unsigned char g_vowel1[]
static const struct among a_20[32]
static const symbol s_22[]
static int r_mark_DUr(struct SN_env *z)
static const symbol s_15_1[5]
static const symbol s_9_0[4]
static int r_stem_nominal_verb_suffixes(struct SN_env *z)
static const struct among a_18[8]
static const struct among a_4[2]
static const struct among a_15[4]
static const symbol s_0_7[4]
static const symbol s_10[]
static int r_mark_yDU(struct SN_env *z)
static const struct among a_2[4]
static const symbol s_4_0[1]
static const symbol s_1[]
static const symbol s_20_9[4]
static const symbol s_21_7[3]
static const symbol s_9_1[4]
static const symbol s_20_28[3]
static const struct among a_13[4]
static const symbol s_14_2[3]
static const symbol s_31[]
static const symbol s_20_20[3]
static const symbol s_3_3[3]
static const struct among a_9[2]
static const symbol s_17_1[3]
static const symbol s_2_2[3]
int turkish_UTF_8_stem(struct SN_env *z)
static const symbol s_20_1[2]
static int r_mark_lAr(struct SN_env *z)
static int r_mark_ysA(struct SN_env *z)
static const symbol s_20_5[3]
static const symbol s_11[]
static const symbol s_12[]
static int r_stem_suffix_chain_before_ki(struct SN_env *z)
static const symbol s_6_1[2]
static const unsigned char g_U[]
static const symbol s_20_18[3]
static const symbol s_6_3[2]
static int r_mark_suffix_with_optional_U_vowel(struct SN_env *z)
static const unsigned char g_vowel6[]
static int r_mark_nU(struct SN_env *z)
static const struct among a_21[8]
static const symbol s_21_4[3]
static const symbol s_20_7[4]
static const symbol s_23_0[1]
static const symbol s_0_1[1]
static const symbol s_0_8[4]
static int r_more_than_one_syllable_word(struct SN_env *z)
static int r_mark_possessives(struct SN_env *z)
static const symbol s_10_0[2]
static const symbol s_33[]
static const struct among a_0[10]
static const symbol s_22_2[5]
static int r_mark_ncA(struct SN_env *z)
static const symbol s_20_12[3]
static const symbol s_5_1[2]
static const symbol s_18_5[4]
static const symbol s_1_1[5]
static const symbol s_20_29[3]
static const symbol s_18_6[4]
static const symbol s_18[]
static const symbol s_17[]
static const unsigned char g_vowel4[]
static int r_post_process_last_consonants(struct SN_env *z)
static int r_stem_noun_suffixes(struct SN_env *z)
static const symbol s_22_3[5]
static const symbol s_14_1[2]
static const symbol s_13_2[4]
static int r_mark_sUnUz(struct SN_env *z)
static const symbol s_16_0[3]
static const symbol s_28[]
static const unsigned char g_vowel[]
static const symbol s_21_2[3]
static const symbol s_2_1[2]
static const symbol s_14_3[3]
static const unsigned char g_vowel3[]
static const symbol s_6_0[2]
static const symbol s_12_2[3]
static const symbol s_8[]
static const symbol s_9[]
static const symbol s_20_15[4]
static const symbol s_5[]
static const symbol s_20_16[4]
static const symbol s_20_11[3]
static const symbol s_15[]
static const symbol s_8_3[3]
static const symbol s_11_0[2]
static const symbol s_26[]
static const symbol s_1_0[4]
static const symbol s_23_3[2]
static const symbol s_0[]
static const symbol s_0_4[3]
static const symbol s_34[]
Definition api.h:14
unsigned char * B
Definition api.h:19
int lb
Definition api.h:16
symbol * p
Definition api.h:15
int * I
Definition api.h:18
int ket
Definition api.h:16
int c
Definition api.h:16
int bra
Definition api.h:16
int l
Definition api.h:16
Definition header.h:16