1/* This file was generated automatically by the Snowball to ISO C compiler */
2/* http://snowballstem.org/ */
3
4#include "header.h"
5
6#ifdef __cplusplus
7extern "C" {
8#endif
9extern int tamil_UTF_8_stem(struct SN_env * z);
10#ifdef __cplusplus
11}
12#endif
13static int r_has_min_length(struct SN_env * z);
14static int r_remove_common_word_endings(struct SN_env * z);
15static int r_remove_tense_suffixes(struct SN_env * z);
16static int r_remove_tense_suffix(struct SN_env * z);
17static int r_fix_endings(struct SN_env * z);
18static int r_fix_ending(struct SN_env * z);
19static int r_fix_va_start(struct SN_env * z);
20static int r_remove_vetrumai_urupukal(struct SN_env * z);
21static int r_remove_um(struct SN_env * z);
22static int r_remove_command_suffixes(struct SN_env * z);
23static int r_remove_pronoun_prefixes(struct SN_env * z);
24static int r_remove_question_prefixes(struct SN_env * z);
25static int r_remove_question_suffixes(struct SN_env * z);
26static int r_remove_plural_suffix(struct SN_env * z);
27#ifdef __cplusplus
28extern "C" {
29#endif
30
31
32extern struct SN_env * tamil_UTF_8_create_env(void);
33extern void tamil_UTF_8_close_env(struct SN_env * z);
34
35
36#ifdef __cplusplus
37}
38#endif
39static const symbol s_0_0[3] = { 0xE0, 0xAE, 0x95 };
40static const symbol s_0_1[3] = { 0xE0, 0xAE, 0x99 };
41static const symbol s_0_2[3] = { 0xE0, 0xAE, 0x9A };
42static const symbol s_0_3[3] = { 0xE0, 0xAE, 0x9E };
43static const symbol s_0_4[3] = { 0xE0, 0xAE, 0xA4 };
44static const symbol s_0_5[3] = { 0xE0, 0xAE, 0xA8 };
45static const symbol s_0_6[3] = { 0xE0, 0xAE, 0xAA };
46static const symbol s_0_7[3] = { 0xE0, 0xAE, 0xAE };
47static const symbol s_0_8[3] = { 0xE0, 0xAE, 0xAF };
48static const symbol s_0_9[3] = { 0xE0, 0xAE, 0xB5 };
49
50static const struct among a_0[10] =
51{
52/* 0 */ { 3, s_0_0, -1, -1, 0},
53/* 1 */ { 3, s_0_1, -1, -1, 0},
54/* 2 */ { 3, s_0_2, -1, -1, 0},
55/* 3 */ { 3, s_0_3, -1, -1, 0},
56/* 4 */ { 3, s_0_4, -1, -1, 0},
57/* 5 */ { 3, s_0_5, -1, -1, 0},
58/* 6 */ { 3, s_0_6, -1, -1, 0},
59/* 7 */ { 3, s_0_7, -1, -1, 0},
60/* 8 */ { 3, s_0_8, -1, -1, 0},
61/* 9 */ { 3, s_0_9, -1, -1, 0}
62};
63
64static const symbol s_1_0[12] = { 0xE0, 0xAE, 0xA8, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x8D };
65static const symbol s_1_1[6] = { 0xE0, 0xAE, 0xA8, 0xE0, 0xAF, 0x8D };
66static const symbol s_1_2[9] = { 0xE0, 0xAE, 0xA8, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xA4 };
67
68static const struct among a_1[3] =
69{
70/* 0 */ { 12, s_1_0, -1, -1, 0},
71/* 1 */ { 6, s_1_1, -1, -1, 0},
72/* 2 */ { 9, s_1_2, -1, -1, 0}
73};
74
75static const symbol s_2_0[3] = { 0xE0, 0xAF, 0x80 };
76static const symbol s_2_1[3] = { 0xE0, 0xAF, 0x88 };
77static const symbol s_2_2[3] = { 0xE0, 0xAE, 0xBF };
78
79static const struct among a_2[3] =
80{
81/* 0 */ { 3, s_2_0, -1, -1, 0},
82/* 1 */ { 3, s_2_1, -1, -1, 0},
83/* 2 */ { 3, s_2_2, -1, -1, 0}
84};
85
86static const symbol s_3_0[3] = { 0xE0, 0xAE, 0x95 };
87static const symbol s_3_1[3] = { 0xE0, 0xAE, 0x9A };
88static const symbol s_3_2[3] = { 0xE0, 0xAE, 0x9F };
89static const symbol s_3_3[3] = { 0xE0, 0xAE, 0xA4 };
90static const symbol s_3_4[3] = { 0xE0, 0xAE, 0xAA };
91static const symbol s_3_5[3] = { 0xE0, 0xAE, 0xB1 };
92
93static const struct among a_3[6] =
94{
95/* 0 */ { 3, s_3_0, -1, -1, 0},
96/* 1 */ { 3, s_3_1, -1, -1, 0},
97/* 2 */ { 3, s_3_2, -1, -1, 0},
98/* 3 */ { 3, s_3_3, -1, -1, 0},
99/* 4 */ { 3, s_3_4, -1, -1, 0},
100/* 5 */ { 3, s_3_5, -1, -1, 0}
101};
102
103static const symbol s_4_0[3] = { 0xE0, 0xAE, 0x95 };
104static const symbol s_4_1[3] = { 0xE0, 0xAE, 0x9A };
105static const symbol s_4_2[3] = { 0xE0, 0xAE, 0x9F };
106static const symbol s_4_3[3] = { 0xE0, 0xAE, 0xA4 };
107static const symbol s_4_4[3] = { 0xE0, 0xAE, 0xAA };
108static const symbol s_4_5[3] = { 0xE0, 0xAE, 0xB1 };
109
110static const struct among a_4[6] =
111{
112/* 0 */ { 3, s_4_0, -1, -1, 0},
113/* 1 */ { 3, s_4_1, -1, -1, 0},
114/* 2 */ { 3, s_4_2, -1, -1, 0},
115/* 3 */ { 3, s_4_3, -1, -1, 0},
116/* 4 */ { 3, s_4_4, -1, -1, 0},
117/* 5 */ { 3, s_4_5, -1, -1, 0}
118};
119
120static const symbol s_5_0[3] = { 0xE0, 0xAE, 0x95 };
121static const symbol s_5_1[3] = { 0xE0, 0xAE, 0x9A };
122static const symbol s_5_2[3] = { 0xE0, 0xAE, 0x9F };
123static const symbol s_5_3[3] = { 0xE0, 0xAE, 0xA4 };
124static const symbol s_5_4[3] = { 0xE0, 0xAE, 0xAA };
125static const symbol s_5_5[3] = { 0xE0, 0xAE, 0xB1 };
126
127static const struct among a_5[6] =
128{
129/* 0 */ { 3, s_5_0, -1, -1, 0},
130/* 1 */ { 3, s_5_1, -1, -1, 0},
131/* 2 */ { 3, s_5_2, -1, -1, 0},
132/* 3 */ { 3, s_5_3, -1, -1, 0},
133/* 4 */ { 3, s_5_4, -1, -1, 0},
134/* 5 */ { 3, s_5_5, -1, -1, 0}
135};
136
137static const symbol s_6_0[3] = { 0xE0, 0xAE, 0xAF };
138static const symbol s_6_1[3] = { 0xE0, 0xAE, 0xB0 };
139static const symbol s_6_2[3] = { 0xE0, 0xAE, 0xB2 };
140static const symbol s_6_3[3] = { 0xE0, 0xAE, 0xB3 };
141static const symbol s_6_4[3] = { 0xE0, 0xAE, 0xB4 };
142static const symbol s_6_5[3] = { 0xE0, 0xAE, 0xB5 };
143
144static const struct among a_6[6] =
145{
146/* 0 */ { 3, s_6_0, -1, -1, 0},
147/* 1 */ { 3, s_6_1, -1, -1, 0},
148/* 2 */ { 3, s_6_2, -1, -1, 0},
149/* 3 */ { 3, s_6_3, -1, -1, 0},
150/* 4 */ { 3, s_6_4, -1, -1, 0},
151/* 5 */ { 3, s_6_5, -1, -1, 0}
152};
153
154static const symbol s_7_0[3] = { 0xE0, 0xAE, 0x99 };
155static const symbol s_7_1[3] = { 0xE0, 0xAE, 0x9E };
156static const symbol s_7_2[3] = { 0xE0, 0xAE, 0xA3 };
157static const symbol s_7_3[3] = { 0xE0, 0xAE, 0xA8 };
158static const symbol s_7_4[3] = { 0xE0, 0xAE, 0xA9 };
159static const symbol s_7_5[3] = { 0xE0, 0xAE, 0xAE };
160
161static const struct among a_7[6] =
162{
163/* 0 */ { 3, s_7_0, -1, -1, 0},
164/* 1 */ { 3, s_7_1, -1, -1, 0},
165/* 2 */ { 3, s_7_2, -1, -1, 0},
166/* 3 */ { 3, s_7_3, -1, -1, 0},
167/* 4 */ { 3, s_7_4, -1, -1, 0},
168/* 5 */ { 3, s_7_5, -1, -1, 0}
169};
170
171static const symbol s_8_0[6] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x8D };
172static const symbol s_8_1[3] = { 0xE0, 0xAE, 0xAF };
173static const symbol s_8_2[3] = { 0xE0, 0xAE, 0xB5 };
174
175static const struct among a_8[3] =
176{
177/* 0 */ { 6, s_8_0, -1, -1, 0},
178/* 1 */ { 3, s_8_1, -1, -1, 0},
179/* 2 */ { 3, s_8_2, -1, -1, 0}
180};
181
182static const symbol s_9_0[3] = { 0xE0, 0xAF, 0x80 };
183static const symbol s_9_1[3] = { 0xE0, 0xAF, 0x81 };
184static const symbol s_9_2[3] = { 0xE0, 0xAF, 0x82 };
185static const symbol s_9_3[3] = { 0xE0, 0xAF, 0x86 };
186static const symbol s_9_4[3] = { 0xE0, 0xAF, 0x87 };
187static const symbol s_9_5[3] = { 0xE0, 0xAF, 0x88 };
188static const symbol s_9_6[3] = { 0xE0, 0xAE, 0xBE };
189static const symbol s_9_7[3] = { 0xE0, 0xAE, 0xBF };
190
191static const struct among a_9[8] =
192{
193/* 0 */ { 3, s_9_0, -1, -1, 0},
194/* 1 */ { 3, s_9_1, -1, -1, 0},
195/* 2 */ { 3, s_9_2, -1, -1, 0},
196/* 3 */ { 3, s_9_3, -1, -1, 0},
197/* 4 */ { 3, s_9_4, -1, -1, 0},
198/* 5 */ { 3, s_9_5, -1, -1, 0},
199/* 6 */ { 3, s_9_6, -1, -1, 0},
200/* 7 */ { 3, s_9_7, -1, -1, 0}
201};
202
203static const symbol s_10_0[3] = { 0xE0, 0xAF, 0x80 };
204static const symbol s_10_1[3] = { 0xE0, 0xAF, 0x81 };
205static const symbol s_10_2[3] = { 0xE0, 0xAF, 0x82 };
206static const symbol s_10_3[3] = { 0xE0, 0xAF, 0x86 };
207static const symbol s_10_4[3] = { 0xE0, 0xAF, 0x87 };
208static const symbol s_10_5[3] = { 0xE0, 0xAF, 0x88 };
209static const symbol s_10_6[3] = { 0xE0, 0xAE, 0xBE };
210static const symbol s_10_7[3] = { 0xE0, 0xAE, 0xBF };
211
212static const struct among a_10[8] =
213{
214/* 0 */ { 3, s_10_0, -1, -1, 0},
215/* 1 */ { 3, s_10_1, -1, -1, 0},
216/* 2 */ { 3, s_10_2, -1, -1, 0},
217/* 3 */ { 3, s_10_3, -1, -1, 0},
218/* 4 */ { 3, s_10_4, -1, -1, 0},
219/* 5 */ { 3, s_10_5, -1, -1, 0},
220/* 6 */ { 3, s_10_6, -1, -1, 0},
221/* 7 */ { 3, s_10_7, -1, -1, 0}
222};
223
224static const symbol s_11_0[3] = { 0xE0, 0xAE, 0x85 };
225static const symbol s_11_1[3] = { 0xE0, 0xAE, 0x87 };
226static const symbol s_11_2[3] = { 0xE0, 0xAE, 0x89 };
227
228static const struct among a_11[3] =
229{
230/* 0 */ { 3, s_11_0, -1, -1, 0},
231/* 1 */ { 3, s_11_1, -1, -1, 0},
232/* 2 */ { 3, s_11_2, -1, -1, 0}
233};
234
235static const symbol s_12_0[3] = { 0xE0, 0xAE, 0x95 };
236static const symbol s_12_1[3] = { 0xE0, 0xAE, 0x99 };
237static const symbol s_12_2[3] = { 0xE0, 0xAE, 0x9A };
238static const symbol s_12_3[3] = { 0xE0, 0xAE, 0x9E };
239static const symbol s_12_4[3] = { 0xE0, 0xAE, 0xA4 };
240static const symbol s_12_5[3] = { 0xE0, 0xAE, 0xA8 };
241static const symbol s_12_6[3] = { 0xE0, 0xAE, 0xAA };
242static const symbol s_12_7[3] = { 0xE0, 0xAE, 0xAE };
243static const symbol s_12_8[3] = { 0xE0, 0xAE, 0xAF };
244static const symbol s_12_9[3] = { 0xE0, 0xAE, 0xB5 };
245
246static const struct among a_12[10] =
247{
248/* 0 */ { 3, s_12_0, -1, -1, 0},
249/* 1 */ { 3, s_12_1, -1, -1, 0},
250/* 2 */ { 3, s_12_2, -1, -1, 0},
251/* 3 */ { 3, s_12_3, -1, -1, 0},
252/* 4 */ { 3, s_12_4, -1, -1, 0},
253/* 5 */ { 3, s_12_5, -1, -1, 0},
254/* 6 */ { 3, s_12_6, -1, -1, 0},
255/* 7 */ { 3, s_12_7, -1, -1, 0},
256/* 8 */ { 3, s_12_8, -1, -1, 0},
257/* 9 */ { 3, s_12_9, -1, -1, 0}
258};
259
260static const symbol s_13_0[3] = { 0xE0, 0xAE, 0x95 };
261static const symbol s_13_1[3] = { 0xE0, 0xAE, 0x9A };
262static const symbol s_13_2[3] = { 0xE0, 0xAE, 0x9F };
263static const symbol s_13_3[3] = { 0xE0, 0xAE, 0xA4 };
264static const symbol s_13_4[3] = { 0xE0, 0xAE, 0xAA };
265static const symbol s_13_5[3] = { 0xE0, 0xAE, 0xB1 };
266
267static const struct among a_13[6] =
268{
269/* 0 */ { 3, s_13_0, -1, -1, 0},
270/* 1 */ { 3, s_13_1, -1, -1, 0},
271/* 2 */ { 3, s_13_2, -1, -1, 0},
272/* 3 */ { 3, s_13_3, -1, -1, 0},
273/* 4 */ { 3, s_13_4, -1, -1, 0},
274/* 5 */ { 3, s_13_5, -1, -1, 0}
275};
276
277static const symbol s_14_0[3] = { 0xE0, 0xAF, 0x87 };
278static const symbol s_14_1[3] = { 0xE0, 0xAF, 0x8B };
279static const symbol s_14_2[3] = { 0xE0, 0xAE, 0xBE };
280
281static const struct among a_14[3] =
282{
283/* 0 */ { 3, s_14_0, -1, -1, 0},
284/* 1 */ { 3, s_14_1, -1, -1, 0},
285/* 2 */ { 3, s_14_2, -1, -1, 0}
286};
287
288static const symbol s_15_0[6] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0xBF };
289static const symbol s_15_1[6] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAE, 0xBF };
290
291static const struct among a_15[2] =
292{
293/* 0 */ { 6, s_15_0, -1, -1, 0},
294/* 1 */ { 6, s_15_1, -1, -1, 0}
295};
296
297static const symbol s_16_0[3] = { 0xE0, 0xAF, 0x80 };
298static const symbol s_16_1[3] = { 0xE0, 0xAF, 0x81 };
299static const symbol s_16_2[3] = { 0xE0, 0xAF, 0x82 };
300static const symbol s_16_3[3] = { 0xE0, 0xAF, 0x86 };
301static const symbol s_16_4[3] = { 0xE0, 0xAF, 0x87 };
302static const symbol s_16_5[3] = { 0xE0, 0xAF, 0x88 };
303static const symbol s_16_6[3] = { 0xE0, 0xAE, 0xBE };
304static const symbol s_16_7[3] = { 0xE0, 0xAE, 0xBF };
305
306static const struct among a_16[8] =
307{
308/* 0 */ { 3, s_16_0, -1, -1, 0},
309/* 1 */ { 3, s_16_1, -1, -1, 0},
310/* 2 */ { 3, s_16_2, -1, -1, 0},
311/* 3 */ { 3, s_16_3, -1, -1, 0},
312/* 4 */ { 3, s_16_4, -1, -1, 0},
313/* 5 */ { 3, s_16_5, -1, -1, 0},
314/* 6 */ { 3, s_16_6, -1, -1, 0},
315/* 7 */ { 3, s_16_7, -1, -1, 0}
316};
317
318static const symbol s_17_0[15] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81 };
319static const symbol s_17_1[18] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81 };
320static const symbol s_17_2[9] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81 };
321static const symbol s_17_3[12] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81 };
322static const symbol s_17_4[18] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x9F, 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x81 };
323static const symbol s_17_5[21] = { 0xE0, 0xAF, 0x86, 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB2, 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
324static const symbol s_17_6[12] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x9F };
325static const symbol s_17_7[15] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x9F, 0xE0, 0xAE, 0xA3 };
326static const symbol s_17_8[9] = { 0xE0, 0xAE, 0xA4, 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xA9 };
327static const symbol s_17_9[18] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0x9F, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA4, 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xA9 };
328static const symbol s_17_10[15] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xB0, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xAF };
329static const symbol s_17_11[9] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0x9F, 0xE0, 0xAE, 0xBF };
330static const symbol s_17_12[15] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1, 0xE0, 0xAE, 0xBF };
331
332static const struct among a_17[13] =
333{
334/* 0 */ { 15, s_17_0, -1, -1, 0},
335/* 1 */ { 18, s_17_1, -1, -1, 0},
336/* 2 */ { 9, s_17_2, -1, -1, 0},
337/* 3 */ { 12, s_17_3, -1, -1, 0},
338/* 4 */ { 18, s_17_4, -1, -1, 0},
339/* 5 */ { 21, s_17_5, -1, -1, 0},
340/* 6 */ { 12, s_17_6, -1, -1, 0},
341/* 7 */ { 15, s_17_7, -1, -1, 0},
342/* 8 */ { 9, s_17_8, -1, -1, 0},
343/* 9 */ { 18, s_17_9, 8, -1, 0},
344/* 10 */ { 15, s_17_10, -1, -1, 0},
345/* 11 */ { 9, s_17_11, -1, -1, 0},
346/* 12 */ { 15, s_17_12, -1, -1, 0}
347};
348
349static const symbol s_18_0[3] = { 0xE0, 0xAE, 0x95 };
350static const symbol s_18_1[3] = { 0xE0, 0xAE, 0x9A };
351static const symbol s_18_2[3] = { 0xE0, 0xAE, 0x9F };
352static const symbol s_18_3[3] = { 0xE0, 0xAE, 0xA4 };
353static const symbol s_18_4[3] = { 0xE0, 0xAE, 0xAA };
354static const symbol s_18_5[3] = { 0xE0, 0xAE, 0xB1 };
355
356static const struct among a_18[6] =
357{
358/* 0 */ { 3, s_18_0, -1, -1, 0},
359/* 1 */ { 3, s_18_1, -1, -1, 0},
360/* 2 */ { 3, s_18_2, -1, -1, 0},
361/* 3 */ { 3, s_18_3, -1, -1, 0},
362/* 4 */ { 3, s_18_4, -1, -1, 0},
363/* 5 */ { 3, s_18_5, -1, -1, 0}
364};
365
366static const symbol s_19_0[3] = { 0xE0, 0xAE, 0x95 };
367static const symbol s_19_1[3] = { 0xE0, 0xAE, 0x9A };
368static const symbol s_19_2[3] = { 0xE0, 0xAE, 0x9F };
369static const symbol s_19_3[3] = { 0xE0, 0xAE, 0xA4 };
370static const symbol s_19_4[3] = { 0xE0, 0xAE, 0xAA };
371static const symbol s_19_5[3] = { 0xE0, 0xAE, 0xB1 };
372
373static const struct among a_19[6] =
374{
375/* 0 */ { 3, s_19_0, -1, -1, 0},
376/* 1 */ { 3, s_19_1, -1, -1, 0},
377/* 2 */ { 3, s_19_2, -1, -1, 0},
378/* 3 */ { 3, s_19_3, -1, -1, 0},
379/* 4 */ { 3, s_19_4, -1, -1, 0},
380/* 5 */ { 3, s_19_5, -1, -1, 0}
381};
382
383static const symbol s_20_0[3] = { 0xE0, 0xAF, 0x80 };
384static const symbol s_20_1[3] = { 0xE0, 0xAF, 0x81 };
385static const symbol s_20_2[3] = { 0xE0, 0xAF, 0x82 };
386static const symbol s_20_3[3] = { 0xE0, 0xAF, 0x86 };
387static const symbol s_20_4[3] = { 0xE0, 0xAF, 0x87 };
388static const symbol s_20_5[3] = { 0xE0, 0xAF, 0x88 };
389static const symbol s_20_6[3] = { 0xE0, 0xAE, 0xBE };
390static const symbol s_20_7[3] = { 0xE0, 0xAE, 0xBF };
391
392static const struct among a_20[8] =
393{
394/* 0 */ { 3, s_20_0, -1, -1, 0},
395/* 1 */ { 3, s_20_1, -1, -1, 0},
396/* 2 */ { 3, s_20_2, -1, -1, 0},
397/* 3 */ { 3, s_20_3, -1, -1, 0},
398/* 4 */ { 3, s_20_4, -1, -1, 0},
399/* 5 */ { 3, s_20_5, -1, -1, 0},
400/* 6 */ { 3, s_20_6, -1, -1, 0},
401/* 7 */ { 3, s_20_7, -1, -1, 0}
402};
403
404static const symbol s_21_0[3] = { 0xE0, 0xAF, 0x80 };
405static const symbol s_21_1[3] = { 0xE0, 0xAF, 0x81 };
406static const symbol s_21_2[3] = { 0xE0, 0xAF, 0x82 };
407static const symbol s_21_3[3] = { 0xE0, 0xAF, 0x86 };
408static const symbol s_21_4[3] = { 0xE0, 0xAF, 0x87 };
409static const symbol s_21_5[3] = { 0xE0, 0xAF, 0x88 };
410static const symbol s_21_6[3] = { 0xE0, 0xAE, 0xBE };
411static const symbol s_21_7[3] = { 0xE0, 0xAE, 0xBF };
412
413static const struct among a_21[8] =
414{
415/* 0 */ { 3, s_21_0, -1, -1, 0},
416/* 1 */ { 3, s_21_1, -1, -1, 0},
417/* 2 */ { 3, s_21_2, -1, -1, 0},
418/* 3 */ { 3, s_21_3, -1, -1, 0},
419/* 4 */ { 3, s_21_4, -1, -1, 0},
420/* 5 */ { 3, s_21_5, -1, -1, 0},
421/* 6 */ { 3, s_21_6, -1, -1, 0},
422/* 7 */ { 3, s_21_7, -1, -1, 0}
423};
424
425static const symbol s_22_0[9] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81 };
426static const symbol s_22_1[24] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x8A, 0xE0, 0xAE, 0xA3, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x9F, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
427
428static const struct among a_22[2] =
429{
430/* 0 */ { 9, s_22_0, -1, -1, 0},
431/* 1 */ { 24, s_22_1, -1, -1, 0}
432};
433
434static const symbol s_23_0[3] = { 0xE0, 0xAE, 0x85 };
435static const symbol s_23_1[3] = { 0xE0, 0xAE, 0x86 };
436static const symbol s_23_2[3] = { 0xE0, 0xAE, 0x87 };
437static const symbol s_23_3[3] = { 0xE0, 0xAE, 0x88 };
438static const symbol s_23_4[3] = { 0xE0, 0xAE, 0x89 };
439static const symbol s_23_5[3] = { 0xE0, 0xAE, 0x8A };
440static const symbol s_23_6[3] = { 0xE0, 0xAE, 0x8E };
441static const symbol s_23_7[3] = { 0xE0, 0xAE, 0x8F };
442static const symbol s_23_8[3] = { 0xE0, 0xAE, 0x90 };
443static const symbol s_23_9[3] = { 0xE0, 0xAE, 0x92 };
444static const symbol s_23_10[3] = { 0xE0, 0xAE, 0x93 };
445static const symbol s_23_11[3] = { 0xE0, 0xAE, 0x94 };
446
447static const struct among a_23[12] =
448{
449/* 0 */ { 3, s_23_0, -1, -1, 0},
450/* 1 */ { 3, s_23_1, -1, -1, 0},
451/* 2 */ { 3, s_23_2, -1, -1, 0},
452/* 3 */ { 3, s_23_3, -1, -1, 0},
453/* 4 */ { 3, s_23_4, -1, -1, 0},
454/* 5 */ { 3, s_23_5, -1, -1, 0},
455/* 6 */ { 3, s_23_6, -1, -1, 0},
456/* 7 */ { 3, s_23_7, -1, -1, 0},
457/* 8 */ { 3, s_23_8, -1, -1, 0},
458/* 9 */ { 3, s_23_9, -1, -1, 0},
459/* 10 */ { 3, s_23_10, -1, -1, 0},
460/* 11 */ { 3, s_23_11, -1, -1, 0}
461};
462
463static const symbol s_24_0[3] = { 0xE0, 0xAF, 0x80 };
464static const symbol s_24_1[3] = { 0xE0, 0xAF, 0x81 };
465static const symbol s_24_2[3] = { 0xE0, 0xAF, 0x82 };
466static const symbol s_24_3[3] = { 0xE0, 0xAF, 0x86 };
467static const symbol s_24_4[3] = { 0xE0, 0xAF, 0x87 };
468static const symbol s_24_5[3] = { 0xE0, 0xAF, 0x88 };
469static const symbol s_24_6[3] = { 0xE0, 0xAE, 0xBE };
470static const symbol s_24_7[3] = { 0xE0, 0xAE, 0xBF };
471
472static const struct among a_24[8] =
473{
474/* 0 */ { 3, s_24_0, -1, -1, 0},
475/* 1 */ { 3, s_24_1, -1, -1, 0},
476/* 2 */ { 3, s_24_2, -1, -1, 0},
477/* 3 */ { 3, s_24_3, -1, -1, 0},
478/* 4 */ { 3, s_24_4, -1, -1, 0},
479/* 5 */ { 3, s_24_5, -1, -1, 0},
480/* 6 */ { 3, s_24_6, -1, -1, 0},
481/* 7 */ { 3, s_24_7, -1, -1, 0}
482};
483
484static const symbol s_25_0[18] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D };
485static const symbol s_25_1[21] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xA8, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D };
486static const symbol s_25_2[12] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D };
487static const symbol s_25_3[15] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1 };
488static const symbol s_25_4[18] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xA8, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1 };
489static const symbol s_25_5[9] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB1 };
490
491static const struct among a_25[6] =
492{
493/* 0 */ { 18, s_25_0, -1, -1, 0},
494/* 1 */ { 21, s_25_1, -1, -1, 0},
495/* 2 */ { 12, s_25_2, -1, -1, 0},
496/* 3 */ { 15, s_25_3, -1, -1, 0},
497/* 4 */ { 18, s_25_4, -1, -1, 0},
498/* 5 */ { 9, s_25_5, -1, -1, 0}
499};
500
501static const symbol s_0[] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x8B };
502static const symbol s_1[] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x8B };
503static const symbol s_2[] = { 0xE0, 0xAE, 0x93 };
504static const symbol s_3[] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x8A };
505static const symbol s_4[] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x8A };
506static const symbol s_5[] = { 0xE0, 0xAE, 0x92 };
507static const symbol s_6[] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x81 };
508static const symbol s_7[] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x81 };
509static const symbol s_8[] = { 0xE0, 0xAE, 0x89 };
510static const symbol s_9[] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x82 };
511static const symbol s_10[] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x82 };
512static const symbol s_11[] = { 0xE0, 0xAE, 0x8A };
513static const symbol s_12[] = { 0xE0, 0xAE, 0x8E };
514static const symbol s_13[] = { 0xE0, 0xAF, 0x8D };
515static const symbol s_14[] = { 0xE0, 0xAE, 0xAF, 0xE0, 0xAF, 0x8D };
516static const symbol s_15[] = { 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xAA, 0xE0, 0xAF, 0x8D };
517static const symbol s_16[] = { 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x8D };
518static const symbol s_17[] = { 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
519static const symbol s_18[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D };
520static const symbol s_19[] = { 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D };
521static const symbol s_20[] = { 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x8D };
522static const symbol s_21[] = { 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D };
523static const symbol s_22[] = { 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D };
524static const symbol s_23[] = { 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81 };
525static const symbol s_24[] = { 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x8D };
526static const symbol s_25[] = { 0xE0, 0xAF, 0x88 };
527static const symbol s_26[] = { 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
528static const symbol s_27[] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x8D };
529static const symbol s_28[] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x8D };
530static const symbol s_29[] = { 0xE0, 0xAF, 0x8D };
531static const symbol s_30[] = { 0xE0, 0xAF, 0x8D };
532static const symbol s_31[] = { 0xE0, 0xAF, 0x8D };
533static const symbol s_32[] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x8D };
534static const symbol s_33[] = { 0xE0, 0xAF, 0x8D };
535static const symbol s_34[] = { 0xE0, 0xAF, 0x8D };
536static const symbol s_35[] = { 0xE0, 0xAF, 0x8D };
537static const symbol s_36[] = { 0xE0, 0xAF, 0x8D };
538static const symbol s_37[] = { 0xE0, 0xAF, 0x8D };
539static const symbol s_38[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x81 };
540static const symbol s_39[] = { 0xE0, 0xAE, 0x99, 0xE0, 0xAF, 0x8D };
541static const symbol s_40[] = { 0xE0, 0xAF, 0x88 };
542static const symbol s_41[] = { 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
543static const symbol s_42[] = { 0xE0, 0xAE, 0x99, 0xE0, 0xAF, 0x8D };
544static const symbol s_43[] = { 0xE0, 0xAF, 0x8D };
545static const symbol s_44[] = { 0xE0, 0xAF, 0x8D };
546static const symbol s_45[] = { 0xE0, 0xAF, 0x8D };
547static const symbol s_46[] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x99, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
548static const symbol s_47[] = { 0xE0, 0xAF, 0x8D };
549static const symbol s_48[] = { 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
550static const symbol s_49[] = { 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D };
551static const symbol s_50[] = { 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
552static const symbol s_51[] = { 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
553static const symbol s_52[] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
554static const symbol s_53[] = { 0xE0, 0xAF, 0x8D };
555static const symbol s_54[] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
556static const symbol s_55[] = { 0xE0, 0xAF, 0x8D };
557static const symbol s_56[] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x9F, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
558static const symbol s_57[] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x88 };
559static const symbol s_58[] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0x9F, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
560static const symbol s_59[] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1, 0xE0, 0xAE, 0xBF };
561static const symbol s_60[] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xBF };
562static const symbol s_61[] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xAF };
563static const symbol s_62[] = { 0xE0, 0xAF, 0x86, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x81 };
564static const symbol s_63[] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB3 };
565static const symbol s_64[] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x88, 0xE0, 0xAE, 0xAF };
566static const symbol s_65[] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x88 };
567static const symbol s_66[] = { 0xE0, 0xAF, 0x86, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
568static const symbol s_67[] = { 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB2 };
569static const symbol s_68[] = { 0xE0, 0xAF, 0x86, 0xE0, 0xAE, 0xA9 };
570static const symbol s_69[] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xBF };
571static const symbol s_70[] = { 0xE0, 0xAF, 0x8D };
572static const symbol s_71[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x88 };
573static const symbol s_72[] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x88 };
574static const symbol s_73[] = { 0xE0, 0xAF, 0x88 };
575static const symbol s_74[] = { 0xE0, 0xAF, 0x88 };
576static const symbol s_75[] = { 0xE0, 0xAF, 0x8D };
577static const symbol s_76[] = { 0xE0, 0xAF, 0x8D };
578static const symbol s_77[] = { 0xE0, 0xAF, 0x8A, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81 };
579static const symbol s_78[] = { 0xE0, 0xAF, 0x8B, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81 };
580static const symbol s_79[] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D };
581static const symbol s_80[] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D };
582static const symbol s_81[] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
583static const symbol s_82[] = { 0xE0, 0xAE, 0xAE };
584static const symbol s_83[] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x81 };
585static const symbol s_84[] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xA8, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x81 };
586static const symbol s_85[] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0x9F };
587static const symbol s_86[] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0x9F, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
588static const symbol s_87[] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D };
589static const symbol s_88[] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x88 };
590static const symbol s_89[] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xAE, 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D };
591static const symbol s_90[] = { 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D };
592static const symbol s_91[] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
593static const symbol s_92[] = { 0xE0, 0xAF, 0x8D };
594static const symbol s_93[] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xA3, 0xE0, 0xAF, 0x8D };
595static const symbol s_94[] = { 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
596static const symbol s_95[] = { 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x87, 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D };
597static const symbol s_96[] = { 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x87, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D };
598static const symbol s_97[] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x80, 0xE0, 0xAE, 0xB4, 0xE0, 0xAF, 0x8D };
599static const symbol s_98[] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
600static const symbol s_99[] = { 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x81 };
601static const symbol s_100[] = { 0xE0, 0xAF, 0x80 };
602static const symbol s_101[] = { 0xE0, 0xAE, 0xBF };
603static const symbol s_102[] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
604static const symbol s_103[] = { 0xE0, 0xAF, 0x8D };
605static const symbol s_104[] = { 0xE0, 0xAE, 0xAE, 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
606static const symbol s_105[] = { 0xE0, 0xAE, 0xAE, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
607static const symbol s_106[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
608static const symbol s_107[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
609static const symbol s_108[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
610static const symbol s_109[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
611static const symbol s_110[] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
612static const symbol s_111[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
613static const symbol s_112[] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
614static const symbol s_113[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
615static const symbol s_114[] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
616static const symbol s_115[] = { 0xE0, 0xAE, 0xA9 };
617static const symbol s_116[] = { 0xE0, 0xAE, 0xAA };
618static const symbol s_117[] = { 0xE0, 0xAE, 0x95 };
619static const symbol s_118[] = { 0xE0, 0xAE, 0xA4 };
620static const symbol s_119[] = { 0xE0, 0xAE, 0xAF };
621static const symbol s_120[] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
622static const symbol s_121[] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
623static const symbol s_122[] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
624static const symbol s_123[] = { 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x81 };
625static const symbol s_124[] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x81 };
626static const symbol s_125[] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
627static const symbol s_126[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
628static const symbol s_127[] = { 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
629static const symbol s_128[] = { 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
630static const symbol s_129[] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
631static const symbol s_130[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x86, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
632static const symbol s_131[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x88 };
633static const symbol s_132[] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x88 };
634static const symbol s_133[] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
635static const symbol s_134[] = { 0xE0, 0xAE, 0x9A };
636static const symbol s_135[] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
637static const symbol s_136[] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
638static const symbol s_137[] = { 0xE0, 0xAF, 0x87, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
639static const symbol s_138[] = { 0xE0, 0xAE, 0xBE };
640static const symbol s_139[] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
641static const symbol s_140[] = { 0xE0, 0xAF, 0x86, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
642static const symbol s_141[] = { 0xE0, 0xAF, 0x87, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
643static const symbol s_142[] = { 0xE0, 0xAF, 0x8B, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
644static const symbol s_143[] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
645static const symbol s_144[] = { 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
646static const symbol s_145[] = { 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
647static const symbol s_146[] = { 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
648static const symbol s_147[] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xAF, 0xE0, 0xAF, 0x8D };
649static const symbol s_148[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x86, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
650static const symbol s_149[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
651static const symbol s_150[] = { 0xE0, 0xAF, 0x80, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
652static const symbol s_151[] = { 0xE0, 0xAF, 0x80, 0xE0, 0xAE, 0xAF, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
653static const symbol s_152[] = { 0xE0, 0xAF, 0x8D };
654static const symbol s_153[] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x81 };
655static const symbol s_154[] = { 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x81 };
656static const symbol s_155[] = { 0xE0, 0xAF, 0x8D };
657
658static int r_has_min_length(struct SN_env * z) { /* forwardmode */
659 if (!(len_utf8(z->p) > 4)) return 0; /* $(<integer expression> > <integer expression>), line 100 */
660 return 1;
661}
662
663static int r_fix_va_start(struct SN_env * z) { /* forwardmode */
664 { int c1 = z->c; /* or, line 104 */
665 { int c2 = z->c; /* and, line 104 */
666 { int c3 = z->c; /* try, line 104 */
667 if (!(eq_s(z, 6, s_0))) { z->c = c3; goto lab2; } /* literal, line 104 */
668 lab2:
669 ;
670 }
671 z->c = c2;
672 z->bra = z->c; /* [, line 104 */
673 }
674 if (!(eq_s(z, 6, s_1))) goto lab1; /* literal, line 104 */
675 z->ket = z->c; /* ], line 104 */
676 { int ret = slice_from_s(z, 3, s_2); /* <-, line 104 */
677 if (ret < 0) return ret;
678 }
679 goto lab0;
680 lab1:
681 z->c = c1;
682 { int c4 = z->c; /* and, line 105 */
683 { int c5 = z->c; /* try, line 105 */
684 if (!(eq_s(z, 6, s_3))) { z->c = c5; goto lab4; } /* literal, line 105 */
685 lab4:
686 ;
687 }
688 z->c = c4;
689 z->bra = z->c; /* [, line 105 */
690 }
691 if (!(eq_s(z, 6, s_4))) goto lab3; /* literal, line 105 */
692 z->ket = z->c; /* ], line 105 */
693 { int ret = slice_from_s(z, 3, s_5); /* <-, line 105 */
694 if (ret < 0) return ret;
695 }
696 goto lab0;
697 lab3:
698 z->c = c1;
699 { int c6 = z->c; /* and, line 106 */
700 { int c7 = z->c; /* try, line 106 */
701 if (!(eq_s(z, 6, s_6))) { z->c = c7; goto lab6; } /* literal, line 106 */
702 lab6:
703 ;
704 }
705 z->c = c6;
706 z->bra = z->c; /* [, line 106 */
707 }
708 if (!(eq_s(z, 6, s_7))) goto lab5; /* literal, line 106 */
709 z->ket = z->c; /* ], line 106 */
710 { int ret = slice_from_s(z, 3, s_8); /* <-, line 106 */
711 if (ret < 0) return ret;
712 }
713 goto lab0;
714 lab5:
715 z->c = c1;
716 { int c8 = z->c; /* and, line 107 */
717 { int c9 = z->c; /* try, line 107 */
718 if (!(eq_s(z, 6, s_9))) { z->c = c9; goto lab7; } /* literal, line 107 */
719 lab7:
720 ;
721 }
722 z->c = c8;
723 z->bra = z->c; /* [, line 107 */
724 }
725 if (!(eq_s(z, 6, s_10))) return 0; /* literal, line 107 */
726 z->ket = z->c; /* ], line 107 */
727 { int ret = slice_from_s(z, 3, s_11); /* <-, line 107 */
728 if (ret < 0) return ret;
729 }
730 }
731lab0:
732 return 1;
733}
734
735static int r_fix_endings(struct SN_env * z) { /* forwardmode */
736 { int c1 = z->c; /* do, line 111 */
737 while(1) { /* repeat, line 111 */
738 int c2 = z->c;
739 { int ret = r_fix_ending(z); /* call fix_ending, line 111 */
740 if (ret == 0) goto lab1;
741 if (ret < 0) return ret;
742 }
743 continue;
744 lab1:
745 z->c = c2;
746 break;
747 }
748 z->c = c1;
749 }
750 return 1;
751}
752
753static int r_remove_question_prefixes(struct SN_env * z) { /* forwardmode */
754 z->bra = z->c; /* [, line 115 */
755 if (!(eq_s(z, 3, s_12))) return 0; /* literal, line 115 */
756 if (!(find_among(z, a_0, 10))) return 0; /* among, line 115 */
757 if (!(eq_s(z, 3, s_13))) return 0; /* literal, line 115 */
758 z->ket = z->c; /* ], line 115 */
759 { int ret = slice_del(z); /* delete, line 115 */
760 if (ret < 0) return ret;
761 }
762 { int c1 = z->c; /* do, line 116 */
763 { int ret = r_fix_va_start(z); /* call fix_va_start, line 116 */
764 if (ret == 0) goto lab0;
765 if (ret < 0) return ret;
766 }
767 lab0:
768 z->c = c1;
769 }
770 return 1;
771}
772
773static int r_fix_ending(struct SN_env * z) { /* forwardmode */
774 if (!(len_utf8(z->p) > 3)) return 0; /* $(<integer expression> > <integer expression>), line 121 */
775 z->lb = z->c; z->c = z->l; /* backwards, line 122 */
776
777 { int m1 = z->l - z->c; (void)m1; /* or, line 124 */
778 z->ket = z->c; /* [, line 123 */
779 if (z->c - 5 <= z->lb || (z->p[z->c - 1] != 141 && z->p[z->c - 1] != 164)) goto lab1; /* among, line 123 */
780 if (!(find_among_b(z, a_1, 3))) goto lab1;
781 z->bra = z->c; /* ], line 123 */
782 { int ret = slice_del(z); /* delete, line 123 */
783 if (ret < 0) return ret;
784 }
785 goto lab0;
786 lab1:
787 z->c = z->l - m1;
788 z->ket = z->c; /* [, line 125 */
789 if (!(eq_s_b(z, 6, s_14))) goto lab2; /* literal, line 125 */
790 { int m_test2 = z->l - z->c; /* test, line 125 */
791 if (!(find_among_b(z, a_2, 3))) goto lab2; /* among, line 125 */
792 z->c = z->l - m_test2;
793 }
794 z->bra = z->c; /* ], line 125 */
795 { int ret = slice_del(z); /* delete, line 125 */
796 if (ret < 0) return ret;
797 }
798 goto lab0;
799 lab2:
800 z->c = z->l - m1;
801 z->ket = z->c; /* [, line 127 */
802 { int m3 = z->l - z->c; (void)m3; /* or, line 127 */
803 if (!(eq_s_b(z, 12, s_15))) goto lab5; /* literal, line 127 */
804 goto lab4;
805 lab5:
806 z->c = z->l - m3;
807 if (!(eq_s_b(z, 12, s_16))) goto lab3; /* literal, line 127 */
808 }
809 lab4:
810 z->bra = z->c; /* ], line 127 */
811 { int ret = slice_from_s(z, 6, s_17); /* <-, line 127 */
812 if (ret < 0) return ret;
813 }
814 goto lab0;
815 lab3:
816 z->c = z->l - m1;
817 z->ket = z->c; /* [, line 129 */
818 if (!(eq_s_b(z, 12, s_18))) goto lab6; /* literal, line 129 */
819 z->bra = z->c; /* ], line 129 */
820 { int ret = slice_from_s(z, 6, s_19); /* <-, line 129 */
821 if (ret < 0) return ret;
822 }
823 goto lab0;
824 lab6:
825 z->c = z->l - m1;
826 z->ket = z->c; /* [, line 132 */
827 if (!(eq_s_b(z, 12, s_20))) goto lab7; /* literal, line 132 */
828 z->bra = z->c; /* ], line 132 */
829 { int ret = slice_from_s(z, 6, s_21); /* <-, line 132 */
830 if (ret < 0) return ret;
831 }
832 goto lab0;
833 lab7:
834 z->c = z->l - m1;
835 z->ket = z->c; /* [, line 134 */
836 if (!(eq_s_b(z, 12, s_22))) goto lab8; /* literal, line 134 */
837 z->bra = z->c; /* ], line 134 */
838 { int ret = slice_from_s(z, 6, s_23); /* <-, line 134 */
839 if (ret < 0) return ret;
840 }
841 goto lab0;
842 lab8:
843 z->c = z->l - m1;
844 if (!(z->B[1])) goto lab9; /* Boolean test found_vetrumai_urupu, line 136 */
845 z->ket = z->c; /* [, line 136 */
846 if (!(eq_s_b(z, 12, s_24))) goto lab9; /* literal, line 136 */
847 { int m_test4 = z->l - z->c; /* test, line 136 */
848 { int m5 = z->l - z->c; (void)m5; /* not, line 136 */
849 if (!(eq_s_b(z, 3, s_25))) goto lab10; /* literal, line 136 */
850 goto lab9;
851 lab10:
852 z->c = z->l - m5;
853 }
854 z->c = z->l - m_test4;
855 }
856 z->bra = z->c; /* ], line 136 */
857 { int ret = slice_from_s(z, 6, s_26); /* <-, line 136 */
858 if (ret < 0) return ret;
859 }
860 z->bra = z->c; /* ], line 136 */
861 goto lab0;
862 lab9:
863 z->c = z->l - m1;
864 z->ket = z->c; /* [, line 138 */
865 { int m6 = z->l - z->c; (void)m6; /* or, line 138 */
866 if (!(eq_s_b(z, 9, s_27))) goto lab13; /* literal, line 138 */
867 goto lab12;
868 lab13:
869 z->c = z->l - m6;
870 if (!(eq_s_b(z, 15, s_28))) goto lab11; /* literal, line 138 */
871 }
872 lab12:
873 z->bra = z->c; /* ], line 138 */
874 { int ret = slice_from_s(z, 3, s_29); /* <-, line 138 */
875 if (ret < 0) return ret;
876 }
877 goto lab0;
878 lab11:
879 z->c = z->l - m1;
880 z->ket = z->c; /* [, line 140 */
881 if (!(eq_s_b(z, 3, s_30))) goto lab14; /* literal, line 140 */
882 if (!(find_among_b(z, a_3, 6))) goto lab14; /* among, line 140 */
883 if (!(eq_s_b(z, 3, s_31))) goto lab14; /* literal, line 140 */
884 if (!(find_among_b(z, a_4, 6))) goto lab14; /* among, line 140 */
885 z->bra = z->c; /* ], line 140 */
886 { int ret = slice_del(z); /* delete, line 140 */
887 if (ret < 0) return ret;
888 }
889 goto lab0;
890 lab14:
891 z->c = z->l - m1;
892 z->ket = z->c; /* [, line 142 */
893 if (!(eq_s_b(z, 9, s_32))) goto lab15; /* literal, line 142 */
894 z->bra = z->c; /* ], line 142 */
895 { int ret = slice_from_s(z, 3, s_33); /* <-, line 142 */
896 if (ret < 0) return ret;
897 }
898 goto lab0;
899 lab15:
900 z->c = z->l - m1;
901 z->ket = z->c; /* [, line 144 */
902 if (!(eq_s_b(z, 3, s_34))) goto lab16; /* literal, line 144 */
903 if (!(find_among_b(z, a_5, 6))) goto lab16; /* among, line 144 */
904 z->bra = z->c; /* ], line 144 */
905 { int ret = slice_del(z); /* delete, line 144 */
906 if (ret < 0) return ret;
907 }
908 goto lab0;
909 lab16:
910 z->c = z->l - m1;
911 z->ket = z->c; /* [, line 146 */
912 if (!(eq_s_b(z, 3, s_35))) goto lab17; /* literal, line 146 */
913 { int m7 = z->l - z->c; (void)m7; /* or, line 146 */
914 if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 5 || !((4030464 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab19; /* among, line 146 */
915 if (!(find_among_b(z, a_6, 6))) goto lab19;
916 goto lab18;
917 lab19:
918 z->c = z->l - m7;
919 if (!(find_among_b(z, a_7, 6))) goto lab17; /* among, line 146 */
920 }
921 lab18:
922 if (!(eq_s_b(z, 3, s_36))) goto lab17; /* literal, line 146 */
923 z->bra = z->c; /* ], line 146 */
924 { int ret = slice_from_s(z, 3, s_37); /* <-, line 146 */
925 if (ret < 0) return ret;
926 }
927 goto lab0;
928 lab17:
929 z->c = z->l - m1;
930 z->ket = z->c; /* [, line 148 */
931 if (!(find_among_b(z, a_8, 3))) goto lab20; /* among, line 148 */
932 z->bra = z->c; /* ], line 148 */
933 { int ret = slice_del(z); /* delete, line 148 */
934 if (ret < 0) return ret;
935 }
936 goto lab0;
937 lab20:
938 z->c = z->l - m1;
939 z->ket = z->c; /* [, line 150 */
940 if (!(eq_s_b(z, 6, s_38))) goto lab21; /* literal, line 150 */
941 { int m_test8 = z->l - z->c; /* test, line 150 */
942 { int m9 = z->l - z->c; (void)m9; /* not, line 150 */
943 if (!(find_among_b(z, a_9, 8))) goto lab22; /* among, line 150 */
944 goto lab21;
945 lab22:
946 z->c = z->l - m9;
947 }
948 z->c = z->l - m_test8;
949 }
950 z->bra = z->c; /* ], line 150 */
951 { int ret = slice_del(z); /* delete, line 150 */
952 if (ret < 0) return ret;
953 }
954 goto lab0;
955 lab21:
956 z->c = z->l - m1;
957 z->ket = z->c; /* [, line 152 */
958 if (!(eq_s_b(z, 6, s_39))) goto lab23; /* literal, line 152 */
959 { int m_test10 = z->l - z->c; /* test, line 152 */
960 { int m11 = z->l - z->c; (void)m11; /* not, line 152 */
961 if (!(eq_s_b(z, 3, s_40))) goto lab24; /* literal, line 152 */
962 goto lab23;
963 lab24:
964 z->c = z->l - m11;
965 }
966 z->c = z->l - m_test10;
967 }
968 z->bra = z->c; /* ], line 152 */
969 { int ret = slice_from_s(z, 6, s_41); /* <-, line 152 */
970 if (ret < 0) return ret;
971 }
972 goto lab0;
973 lab23:
974 z->c = z->l - m1;
975 z->ket = z->c; /* [, line 154 */
976 if (!(eq_s_b(z, 6, s_42))) goto lab25; /* literal, line 154 */
977 z->bra = z->c; /* ], line 154 */
978 { int ret = slice_del(z); /* delete, line 154 */
979 if (ret < 0) return ret;
980 }
981 goto lab0;
982 lab25:
983 z->c = z->l - m1;
984 z->ket = z->c; /* [, line 156 */
985 if (!(eq_s_b(z, 3, s_43))) return 0; /* literal, line 156 */
986 { int m_test12 = z->l - z->c; /* test, line 156 */
987 { int m13 = z->l - z->c; (void)m13; /* or, line 156 */
988 if (!(find_among_b(z, a_10, 8))) goto lab27; /* among, line 156 */
989 goto lab26;
990 lab27:
991 z->c = z->l - m13;
992 if (!(eq_s_b(z, 3, s_44))) return 0; /* literal, line 156 */
993 }
994 lab26:
995 z->c = z->l - m_test12;
996 }
997 z->bra = z->c; /* ], line 156 */
998 { int ret = slice_del(z); /* delete, line 156 */
999 if (ret < 0) return ret;
1000 }
1001 }
1002lab0:
1003 z->c = z->lb;
1004 return 1;
1005}
1006
1007static int r_remove_pronoun_prefixes(struct SN_env * z) { /* forwardmode */
1008 z->B[0] = 0; /* unset found_a_match, line 161 */
1009 z->bra = z->c; /* [, line 162 */
1010 if (z->c + 2 >= z->l || z->p[z->c + 2] >> 5 != 4 || !((672 >> (z->p[z->c + 2] & 0x1f)) & 1)) return 0; /* among, line 162 */
1011 if (!(find_among(z, a_11, 3))) return 0;
1012 if (!(find_among(z, a_12, 10))) return 0; /* among, line 162 */
1013 if (!(eq_s(z, 3, s_45))) return 0; /* literal, line 162 */
1014 z->ket = z->c; /* ], line 162 */
1015 { int ret = slice_del(z); /* delete, line 162 */
1016 if (ret < 0) return ret;
1017 }
1018 z->B[0] = 1; /* set found_a_match, line 163 */
1019 { int c1 = z->c; /* do, line 164 */
1020 { int ret = r_fix_va_start(z); /* call fix_va_start, line 164 */
1021 if (ret == 0) goto lab0;
1022 if (ret < 0) return ret;
1023 }
1024 lab0:
1025 z->c = c1;
1026 }
1027 return 1;
1028}
1029
1030static int r_remove_plural_suffix(struct SN_env * z) { /* forwardmode */
1031 z->B[0] = 0; /* unset found_a_match, line 168 */
1032 z->lb = z->c; z->c = z->l; /* backwards, line 169 */
1033
1034 { int m1 = z->l - z->c; (void)m1; /* or, line 170 */
1035 z->ket = z->c; /* [, line 170 */
1036 if (!(eq_s_b(z, 18, s_46))) goto lab1; /* literal, line 170 */
1037 { int m_test2 = z->l - z->c; /* test, line 170 */
1038 { int m3 = z->l - z->c; (void)m3; /* not, line 170 */
1039 if (!(find_among_b(z, a_13, 6))) goto lab2; /* among, line 170 */
1040 goto lab1;
1041 lab2:
1042 z->c = z->l - m3;
1043 }
1044 z->c = z->l - m_test2;
1045 }
1046 z->bra = z->c; /* ], line 170 */
1047 { int ret = slice_from_s(z, 3, s_47); /* <-, line 170 */
1048 if (ret < 0) return ret;
1049 }
1050 goto lab0;
1051 lab1:
1052 z->c = z->l - m1;
1053 z->ket = z->c; /* [, line 171 */
1054 if (!(eq_s_b(z, 15, s_48))) goto lab3; /* literal, line 171 */
1055 z->bra = z->c; /* ], line 171 */
1056 { int ret = slice_from_s(z, 6, s_49); /* <-, line 171 */
1057 if (ret < 0) return ret;
1058 }
1059 goto lab0;
1060 lab3:
1061 z->c = z->l - m1;
1062 z->ket = z->c; /* [, line 172 */
1063 if (!(eq_s_b(z, 15, s_50))) goto lab4; /* literal, line 172 */
1064 z->bra = z->c; /* ], line 172 */
1065 { int ret = slice_from_s(z, 6, s_51); /* <-, line 172 */
1066 if (ret < 0) return ret;
1067 }
1068 goto lab0;
1069 lab4:
1070 z->c = z->l - m1;
1071 z->ket = z->c; /* [, line 173 */
1072 if (!(eq_s_b(z, 9, s_52))) return 0; /* literal, line 173 */
1073 z->bra = z->c; /* ], line 173 */
1074 { int ret = slice_del(z); /* delete, line 173 */
1075 if (ret < 0) return ret;
1076 }
1077 }
1078lab0:
1079 z->B[0] = 1; /* set found_a_match, line 174 */
1080 z->c = z->lb;
1081 return 1;
1082}
1083
1084static int r_remove_question_suffixes(struct SN_env * z) { /* forwardmode */
1085 { int ret = r_has_min_length(z); /* call has_min_length, line 179 */
1086 if (ret <= 0) return ret;
1087 }
1088 z->B[0] = 0; /* unset found_a_match, line 180 */
1089 z->lb = z->c; z->c = z->l; /* backwards, line 181 */
1090
1091 { int m1 = z->l - z->c; (void)m1; /* do, line 182 */
1092 z->ket = z->c; /* [, line 183 */
1093 if (!(find_among_b(z, a_14, 3))) goto lab0; /* among, line 183 */
1094 z->bra = z->c; /* ], line 183 */
1095 { int ret = slice_from_s(z, 3, s_53); /* <-, line 183 */
1096 if (ret < 0) return ret;
1097 }
1098 z->B[0] = 1; /* set found_a_match, line 184 */
1099 lab0:
1100 z->c = z->l - m1;
1101 }
1102 z->c = z->lb;
1103 /* do, line 187 */
1104 { int ret = r_fix_endings(z); /* call fix_endings, line 187 */
1105 if (ret == 0) goto lab1;
1106 if (ret < 0) return ret;
1107 }
1108lab1:
1109 return 1;
1110}
1111
1112static int r_remove_command_suffixes(struct SN_env * z) { /* forwardmode */
1113 { int ret = r_has_min_length(z); /* call has_min_length, line 191 */
1114 if (ret <= 0) return ret;
1115 }
1116 z->B[0] = 0; /* unset found_a_match, line 192 */
1117 z->lb = z->c; z->c = z->l; /* backwards, line 193 */
1118
1119 z->ket = z->c; /* [, line 194 */
1120 if (z->c - 5 <= z->lb || z->p[z->c - 1] != 191) return 0; /* among, line 194 */
1121 if (!(find_among_b(z, a_15, 2))) return 0;
1122 z->bra = z->c; /* ], line 194 */
1123 { int ret = slice_del(z); /* delete, line 194 */
1124 if (ret < 0) return ret;
1125 }
1126 z->B[0] = 1; /* set found_a_match, line 195 */
1127 z->c = z->lb;
1128 return 1;
1129}
1130
1131static int r_remove_um(struct SN_env * z) { /* forwardmode */
1132 z->B[0] = 0; /* unset found_a_match, line 200 */
1133 { int ret = r_has_min_length(z); /* call has_min_length, line 201 */
1134 if (ret <= 0) return ret;
1135 }
1136 z->lb = z->c; z->c = z->l; /* backwards, line 202 */
1137
1138 z->ket = z->c; /* [, line 202 */
1139 if (!(eq_s_b(z, 9, s_54))) return 0; /* literal, line 202 */
1140 z->bra = z->c; /* ], line 202 */
1141 { int ret = slice_from_s(z, 3, s_55); /* <-, line 202 */
1142 if (ret < 0) return ret;
1143 }
1144 z->B[0] = 1; /* set found_a_match, line 203 */
1145 z->c = z->lb;
1146 { int c1 = z->c; /* do, line 205 */
1147 { int ret = r_fix_ending(z); /* call fix_ending, line 205 */
1148 if (ret == 0) goto lab0;
1149 if (ret < 0) return ret;
1150 }
1151 lab0:
1152 z->c = c1;
1153 }
1154 return 1;
1155}
1156
1157static int r_remove_common_word_endings(struct SN_env * z) { /* forwardmode */
1158 z->B[0] = 0; /* unset found_a_match, line 212 */
1159 { int ret = r_has_min_length(z); /* call has_min_length, line 213 */
1160 if (ret <= 0) return ret;
1161 }
1162 z->lb = z->c; z->c = z->l; /* backwards, line 214 */
1163
1164 { int m1 = z->l - z->c; (void)m1; /* or, line 231 */
1165 { int m_test2 = z->l - z->c; /* test, line 215 */
1166 z->ket = z->c; /* [, line 215 */
1167 { int m3 = z->l - z->c; (void)m3; /* or, line 215 */
1168 if (!(eq_s_b(z, 12, s_56))) goto lab3; /* literal, line 215 */
1169 goto lab2;
1170 lab3:
1171 z->c = z->l - m3;
1172 if (!(eq_s_b(z, 15, s_57))) goto lab4; /* literal, line 216 */
1173 goto lab2;
1174 lab4:
1175 z->c = z->l - m3;
1176 if (!(eq_s_b(z, 12, s_58))) goto lab5; /* literal, line 217 */
1177 goto lab2;
1178 lab5:
1179 z->c = z->l - m3;
1180 if (!(eq_s_b(z, 15, s_59))) goto lab6; /* literal, line 218 */
1181 goto lab2;
1182 lab6:
1183 z->c = z->l - m3;
1184 if (!(eq_s_b(z, 9, s_60))) goto lab7; /* literal, line 219 */
1185 goto lab2;
1186 lab7:
1187 z->c = z->l - m3;
1188 if (!(eq_s_b(z, 12, s_61))) goto lab8; /* literal, line 220 */
1189 goto lab2;
1190 lab8:
1191 z->c = z->l - m3;
1192 if (!(eq_s_b(z, 15, s_62))) goto lab9; /* literal, line 221 */
1193 goto lab2;
1194 lab9:
1195 z->c = z->l - m3;
1196 if (!(eq_s_b(z, 12, s_63))) goto lab10; /* literal, line 222 */
1197 goto lab2;
1198 lab10:
1199 z->c = z->l - m3;
1200 if (!(eq_s_b(z, 12, s_64))) goto lab11; /* literal, line 223 */
1201 goto lab2;
1202 lab11:
1203 z->c = z->l - m3;
1204 if (!(eq_s_b(z, 9, s_65))) goto lab12; /* literal, line 224 */
1205 goto lab2;
1206 lab12:
1207 z->c = z->l - m3;
1208 if (!(eq_s_b(z, 15, s_66))) goto lab13; /* literal, line 225 */
1209 goto lab2;
1210 lab13:
1211 z->c = z->l - m3;
1212 if (!(eq_s_b(z, 9, s_67))) goto lab14; /* literal, line 226 */
1213 { int m_test4 = z->l - z->c; /* test, line 226 */
1214 { int m5 = z->l - z->c; (void)m5; /* not, line 226 */
1215 if (!(find_among_b(z, a_16, 8))) goto lab15; /* among, line 226 */
1216 goto lab14;
1217 lab15:
1218 z->c = z->l - m5;
1219 }
1220 z->c = z->l - m_test4;
1221 }
1222 goto lab2;
1223 lab14:
1224 z->c = z->l - m3;
1225 if (!(eq_s_b(z, 6, s_68))) goto lab16; /* literal, line 227 */
1226 goto lab2;
1227 lab16:
1228 z->c = z->l - m3;
1229 if (!(eq_s_b(z, 9, s_69))) goto lab1; /* literal, line 228 */
1230 }
1231 lab2:
1232 z->bra = z->c; /* ], line 228 */
1233 { int ret = slice_from_s(z, 3, s_70); /* <-, line 228 */
1234 if (ret < 0) return ret;
1235 }
1236 z->B[0] = 1; /* set found_a_match, line 229 */
1237 z->c = z->l - m_test2;
1238 }
1239 goto lab0;
1240 lab1:
1241 z->c = z->l - m1;
1242 { int m_test6 = z->l - z->c; /* test, line 232 */
1243 z->ket = z->c; /* [, line 232 */
1244 if (!(find_among_b(z, a_17, 13))) return 0; /* among, line 232 */
1245 z->bra = z->c; /* ], line 245 */
1246 { int ret = slice_del(z); /* delete, line 245 */
1247 if (ret < 0) return ret;
1248 }
1249 z->B[0] = 1; /* set found_a_match, line 246 */
1250 z->c = z->l - m_test6;
1251 }
1252 }
1253lab0:
1254 z->c = z->lb;
1255 /* do, line 249 */
1256 { int ret = r_fix_endings(z); /* call fix_endings, line 249 */
1257 if (ret == 0) goto lab17;
1258 if (ret < 0) return ret;
1259 }
1260lab17:
1261 return 1;
1262}
1263
1264static int r_remove_vetrumai_urupukal(struct SN_env * z) { /* forwardmode */
1265 z->B[0] = 0; /* unset found_a_match, line 253 */
1266 z->B[1] = 0; /* unset found_vetrumai_urupu, line 254 */
1267 { int ret = r_has_min_length(z); /* call has_min_length, line 255 */
1268 if (ret <= 0) return ret;
1269 }
1270 z->lb = z->c; z->c = z->l; /* backwards, line 256 */
1271
1272 { int m1 = z->l - z->c; (void)m1; /* or, line 259 */
1273 { int m_test2 = z->l - z->c; /* test, line 258 */
1274 z->ket = z->c; /* [, line 258 */
1275 if (!(eq_s_b(z, 6, s_71))) goto lab1; /* literal, line 258 */
1276 z->bra = z->c; /* ], line 258 */
1277 { int ret = slice_del(z); /* delete, line 258 */
1278 if (ret < 0) return ret;
1279 }
1280 z->c = z->l - m_test2;
1281 }
1282 goto lab0;
1283 lab1:
1284 z->c = z->l - m1;
1285 { int m_test3 = z->l - z->c; /* test, line 260 */
1286 z->ket = z->c; /* [, line 260 */
1287 { int m4 = z->l - z->c; (void)m4; /* or, line 261 */
1288 { int m5 = z->l - z->c; (void)m5; /* or, line 260 */
1289 if (!(eq_s_b(z, 9, s_72))) goto lab6; /* literal, line 260 */
1290 goto lab5;
1291 lab6:
1292 z->c = z->l - m5;
1293 if (!(eq_s_b(z, 3, s_73))) goto lab4; /* literal, line 261 */
1294 }
1295 lab5:
1296 { int m_test6 = z->l - z->c; /* test, line 261 */
1297 { int m7 = z->l - z->c; (void)m7; /* not, line 261 */
1298 if (!(find_among_b(z, a_18, 6))) goto lab7; /* among, line 261 */
1299 goto lab4;
1300 lab7:
1301 z->c = z->l - m7;
1302 }
1303 z->c = z->l - m_test6;
1304 }
1305 goto lab3;
1306 lab4:
1307 z->c = z->l - m4;
1308 if (!(eq_s_b(z, 3, s_74))) goto lab2; /* literal, line 262 */
1309 { int m_test8 = z->l - z->c; /* test, line 262 */
1310 if (!(find_among_b(z, a_19, 6))) goto lab2; /* among, line 262 */
1311 if (!(eq_s_b(z, 3, s_75))) goto lab2; /* literal, line 262 */
1312 z->c = z->l - m_test8;
1313 }
1314 }
1315 lab3:
1316 z->bra = z->c; /* ], line 263 */
1317 { int ret = slice_from_s(z, 3, s_76); /* <-, line 263 */
1318 if (ret < 0) return ret;
1319 }
1320 z->c = z->l - m_test3;
1321 }
1322 goto lab0;
1323 lab2:
1324 z->c = z->l - m1;
1325 { int m_test9 = z->l - z->c; /* test, line 266 */
1326 z->ket = z->c; /* [, line 266 */
1327 { int m10 = z->l - z->c; (void)m10; /* or, line 267 */
1328 if (!(eq_s_b(z, 9, s_77))) goto lab10; /* literal, line 267 */
1329 goto lab9;
1330 lab10:
1331 z->c = z->l - m10;
1332 if (!(eq_s_b(z, 9, s_78))) goto lab11; /* literal, line 268 */
1333 goto lab9;
1334 lab11:
1335 z->c = z->l - m10;
1336 if (!(eq_s_b(z, 9, s_79))) goto lab12; /* literal, line 269 */
1337 goto lab9;
1338 lab12:
1339 z->c = z->l - m10;
1340 if (!(eq_s_b(z, 9, s_80))) goto lab13; /* literal, line 270 */
1341 goto lab9;
1342 lab13:
1343 z->c = z->l - m10;
1344 if (!(eq_s_b(z, 9, s_81))) goto lab14; /* literal, line 271 */
1345 { int m_test11 = z->l - z->c; /* test, line 271 */
1346 { int m12 = z->l - z->c; (void)m12; /* not, line 271 */
1347 if (!(eq_s_b(z, 3, s_82))) goto lab15; /* literal, line 271 */
1348 goto lab14;
1349 lab15:
1350 z->c = z->l - m12;
1351 }
1352 z->c = z->l - m_test11;
1353 }
1354 goto lab9;
1355 lab14:
1356 z->c = z->l - m10;
1357 if (!(eq_s_b(z, 15, s_83))) goto lab16; /* literal, line 272 */
1358 goto lab9;
1359 lab16:
1360 z->c = z->l - m10;
1361 if (!(eq_s_b(z, 21, s_84))) goto lab17; /* literal, line 273 */
1362 goto lab9;
1363 lab17:
1364 z->c = z->l - m10;
1365 if (!(eq_s_b(z, 9, s_85))) goto lab18; /* literal, line 274 */
1366 goto lab9;
1367 lab18:
1368 z->c = z->l - m10;
1369 if (!(len_utf8(z->p) >= 7)) goto lab19; /* $(<integer expression> >= <integer expression>), line 275 */
1370 if (!(eq_s_b(z, 12, s_86))) goto lab19; /* literal, line 275 */
1371 goto lab9;
1372 lab19:
1373 z->c = z->l - m10;
1374 if (!(eq_s_b(z, 9, s_87))) goto lab20; /* literal, line 276 */
1375 goto lab9;
1376 lab20:
1377 z->c = z->l - m10;
1378 if (!(eq_s_b(z, 9, s_88))) goto lab21; /* literal, line 277 */
1379 goto lab9;
1380 lab21:
1381 z->c = z->l - m10;
1382 if (!(eq_s_b(z, 12, s_89))) goto lab22; /* literal, line 278 */
1383 goto lab9;
1384 lab22:
1385 z->c = z->l - m10;
1386 if (!(eq_s_b(z, 6, s_90))) goto lab23; /* literal, line 279 */
1387 { int m_test13 = z->l - z->c; /* test, line 279 */
1388 { int m14 = z->l - z->c; (void)m14; /* not, line 279 */
1389 if (!(find_among_b(z, a_20, 8))) goto lab24; /* among, line 279 */
1390 goto lab23;
1391 lab24:
1392 z->c = z->l - m14;
1393 }
1394 z->c = z->l - m_test13;
1395 }
1396 goto lab9;
1397 lab23:
1398 z->c = z->l - m10;
1399 if (!(eq_s_b(z, 9, s_91))) goto lab8; /* literal, line 280 */
1400 }
1401 lab9:
1402 z->bra = z->c; /* ], line 281 */
1403 { int ret = slice_from_s(z, 3, s_92); /* <-, line 281 */
1404 if (ret < 0) return ret;
1405 }
1406 z->c = z->l - m_test9;
1407 }
1408 goto lab0;
1409 lab8:
1410 z->c = z->l - m1;
1411 { int m_test15 = z->l - z->c; /* test, line 284 */
1412 z->ket = z->c; /* [, line 284 */
1413 { int m16 = z->l - z->c; (void)m16; /* or, line 285 */
1414 if (!(eq_s_b(z, 9, s_93))) goto lab27; /* literal, line 285 */
1415 goto lab26;
1416 lab27:
1417 z->c = z->l - m16;
1418 if (!(eq_s_b(z, 12, s_94))) goto lab28; /* literal, line 286 */
1419 goto lab26;
1420 lab28:
1421 z->c = z->l - m16;
1422 if (!(eq_s_b(z, 12, s_95))) goto lab29; /* literal, line 287 */
1423 goto lab26;
1424 lab29:
1425 z->c = z->l - m16;
1426 if (!(eq_s_b(z, 12, s_96))) goto lab30; /* literal, line 288 */
1427 goto lab26;
1428 lab30:
1429 z->c = z->l - m16;
1430 if (!(eq_s_b(z, 12, s_97))) goto lab31; /* literal, line 289 */
1431 goto lab26;
1432 lab31:
1433 z->c = z->l - m16;
1434 if (!(eq_s_b(z, 12, s_98))) goto lab32; /* literal, line 290 */
1435 goto lab26;
1436 lab32:
1437 z->c = z->l - m16;
1438 if (!(eq_s_b(z, 6, s_99))) goto lab25; /* literal, line 291 */
1439 { int m_test17 = z->l - z->c; /* test, line 291 */
1440 { int m18 = z->l - z->c; (void)m18; /* not, line 291 */
1441 if (!(find_among_b(z, a_21, 8))) goto lab33; /* among, line 291 */
1442 goto lab25;
1443 lab33:
1444 z->c = z->l - m18;
1445 }
1446 z->c = z->l - m_test17;
1447 }
1448 }
1449 lab26:
1450 z->bra = z->c; /* ], line 292 */
1451 { int ret = slice_del(z); /* delete, line 292 */
1452 if (ret < 0) return ret;
1453 }
1454 z->c = z->l - m_test15;
1455 }
1456 goto lab0;
1457 lab25:
1458 z->c = z->l - m1;
1459 { int m_test19 = z->l - z->c; /* test, line 295 */
1460 z->ket = z->c; /* [, line 295 */
1461 if (!(eq_s_b(z, 3, s_100))) return 0; /* literal, line 295 */
1462 z->bra = z->c; /* ], line 295 */
1463 { int ret = slice_from_s(z, 3, s_101); /* <-, line 295 */
1464 if (ret < 0) return ret;
1465 }
1466 z->c = z->l - m_test19;
1467 }
1468 }
1469lab0:
1470 z->B[0] = 1; /* set found_a_match, line 297 */
1471 z->B[1] = 1; /* set found_vetrumai_urupu, line 298 */
1472 { int m20 = z->l - z->c; (void)m20; /* do, line 299 */
1473 z->ket = z->c; /* [, line 299 */
1474 if (!(eq_s_b(z, 9, s_102))) goto lab34; /* literal, line 299 */
1475 z->bra = z->c; /* ], line 299 */
1476 { int ret = slice_from_s(z, 3, s_103); /* <-, line 299 */
1477 if (ret < 0) return ret;
1478 }
1479 lab34:
1480 z->c = z->l - m20;
1481 }
1482 z->c = z->lb;
1483 /* do, line 301 */
1484 { int ret = r_fix_endings(z); /* call fix_endings, line 301 */
1485 if (ret == 0) goto lab35;
1486 if (ret < 0) return ret;
1487 }
1488lab35:
1489 return 1;
1490}
1491
1492static int r_remove_tense_suffixes(struct SN_env * z) { /* forwardmode */
1493 z->B[0] = 1; /* set found_a_match, line 305 */
1494 while(1) { /* repeat, line 306 */
1495 int c1 = z->c;
1496 if (!(z->B[0])) goto lab0; /* Boolean test found_a_match, line 306 */
1497 { int c2 = z->c; /* do, line 306 */
1498 { int ret = r_remove_tense_suffix(z); /* call remove_tense_suffix, line 306 */
1499 if (ret == 0) goto lab1;
1500 if (ret < 0) return ret;
1501 }
1502 lab1:
1503 z->c = c2;
1504 }
1505 continue;
1506 lab0:
1507 z->c = c1;
1508 break;
1509 }
1510 return 1;
1511}
1512
1513static int r_remove_tense_suffix(struct SN_env * z) { /* forwardmode */
1514 z->B[0] = 0; /* unset found_a_match, line 310 */
1515 { int ret = r_has_min_length(z); /* call has_min_length, line 311 */
1516 if (ret <= 0) return ret;
1517 }
1518 z->lb = z->c; z->c = z->l; /* backwards, line 312 */
1519
1520 { int m1 = z->l - z->c; (void)m1; /* do, line 313 */
1521 { int m2 = z->l - z->c; (void)m2; /* or, line 320 */
1522 { int m_test3 = z->l - z->c; /* test, line 314 */
1523 z->ket = z->c; /* [, line 314 */
1524 if (z->c - 8 <= z->lb || (z->p[z->c - 1] != 129 && z->p[z->c - 1] != 141)) goto lab2; /* among, line 314 */
1525 if (!(find_among_b(z, a_22, 2))) goto lab2;
1526 z->bra = z->c; /* ], line 317 */
1527 { int ret = slice_del(z); /* delete, line 317 */
1528 if (ret < 0) return ret;
1529 }
1530 z->B[0] = 1; /* set found_a_match, line 318 */
1531 z->c = z->l - m_test3;
1532 }
1533 goto lab1;
1534 lab2:
1535 z->c = z->l - m2;
1536 { int m_test4 = z->l - z->c; /* test, line 321 */
1537 z->ket = z->c; /* [, line 321 */
1538 { int m5 = z->l - z->c; (void)m5; /* or, line 322 */
1539 if (!(eq_s_b(z, 12, s_104))) goto lab5; /* literal, line 322 */
1540 goto lab4;
1541 lab5:
1542 z->c = z->l - m5;
1543 if (!(eq_s_b(z, 12, s_105))) goto lab6; /* literal, line 323 */
1544 goto lab4;
1545 lab6:
1546 z->c = z->l - m5;
1547 if (!(eq_s_b(z, 9, s_106))) goto lab7; /* literal, line 324 */
1548 goto lab4;
1549 lab7:
1550 z->c = z->l - m5;
1551 if (!(eq_s_b(z, 12, s_107))) goto lab8; /* literal, line 325 */
1552 goto lab4;
1553 lab8:
1554 z->c = z->l - m5;
1555 if (!(eq_s_b(z, 12, s_108))) goto lab9; /* literal, line 326 */
1556 goto lab4;
1557 lab9:
1558 z->c = z->l - m5;
1559 if (!(eq_s_b(z, 12, s_109))) goto lab10; /* literal, line 327 */
1560 goto lab4;
1561 lab10:
1562 z->c = z->l - m5;
1563 if (!(eq_s_b(z, 9, s_110))) goto lab11; /* literal, line 328 */
1564 { int m_test6 = z->l - z->c; /* test, line 328 */
1565 { int m7 = z->l - z->c; (void)m7; /* not, line 328 */
1566 if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 4 || !((1951712 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab12; /* among, line 328 */
1567 if (!(find_among_b(z, a_23, 12))) goto lab12;
1568 goto lab11;
1569 lab12:
1570 z->c = z->l - m7;
1571 }
1572 z->c = z->l - m_test6;
1573 }
1574 goto lab4;
1575 lab11:
1576 z->c = z->l - m5;
1577 if (!(eq_s_b(z, 9, s_111))) goto lab13; /* literal, line 329 */
1578 goto lab4;
1579 lab13:
1580 z->c = z->l - m5;
1581 if (!(eq_s_b(z, 9, s_112))) goto lab14; /* literal, line 330 */
1582 goto lab4;
1583 lab14:
1584 z->c = z->l - m5;
1585 if (!(eq_s_b(z, 9, s_113))) goto lab15; /* literal, line 331 */
1586 goto lab4;
1587 lab15:
1588 z->c = z->l - m5;
1589 if (!(eq_s_b(z, 9, s_114))) goto lab16; /* literal, line 332 */
1590 goto lab4;
1591 lab16:
1592 z->c = z->l - m5;
1593 if (!(eq_s_b(z, 3, s_115))) goto lab17; /* literal, line 333 */
1594 goto lab4;
1595 lab17:
1596 z->c = z->l - m5;
1597 if (!(eq_s_b(z, 3, s_116))) goto lab18; /* literal, line 333 */
1598 goto lab4;
1599 lab18:
1600 z->c = z->l - m5;
1601 if (!(eq_s_b(z, 3, s_117))) goto lab19; /* literal, line 333 */
1602 goto lab4;
1603 lab19:
1604 z->c = z->l - m5;
1605 if (!(eq_s_b(z, 3, s_118))) goto lab20; /* literal, line 333 */
1606 goto lab4;
1607 lab20:
1608 z->c = z->l - m5;
1609 if (!(eq_s_b(z, 3, s_119))) goto lab21; /* literal, line 333 */
1610 goto lab4;
1611 lab21:
1612 z->c = z->l - m5;
1613 if (!(eq_s_b(z, 9, s_120))) goto lab22; /* literal, line 334 */
1614 goto lab4;
1615 lab22:
1616 z->c = z->l - m5;
1617 if (!(eq_s_b(z, 9, s_121))) goto lab23; /* literal, line 335 */
1618 goto lab4;
1619 lab23:
1620 z->c = z->l - m5;
1621 if (!(eq_s_b(z, 9, s_122))) goto lab24; /* literal, line 336 */
1622 goto lab4;
1623 lab24:
1624 z->c = z->l - m5;
1625 if (!(eq_s_b(z, 6, s_123))) goto lab25; /* literal, line 337 */
1626 { int m_test8 = z->l - z->c; /* test, line 337 */
1627 { int m9 = z->l - z->c; (void)m9; /* not, line 337 */
1628 if (!(find_among_b(z, a_24, 8))) goto lab26; /* among, line 337 */
1629 goto lab25;
1630 lab26:
1631 z->c = z->l - m9;
1632 }
1633 z->c = z->l - m_test8;
1634 }
1635 goto lab4;
1636 lab25:
1637 z->c = z->l - m5;
1638 if (!(eq_s_b(z, 15, s_124))) goto lab27; /* literal, line 338 */
1639 goto lab4;
1640 lab27:
1641 z->c = z->l - m5;
1642 if (!(eq_s_b(z, 9, s_125))) goto lab28; /* literal, line 339 */
1643 goto lab4;
1644 lab28:
1645 z->c = z->l - m5;
1646 if (!(eq_s_b(z, 9, s_126))) goto lab29; /* literal, line 340 */
1647 goto lab4;
1648 lab29:
1649 z->c = z->l - m5;
1650 if (!(eq_s_b(z, 12, s_127))) goto lab30; /* literal, line 341 */
1651 goto lab4;
1652 lab30:
1653 z->c = z->l - m5;
1654 if (!(eq_s_b(z, 12, s_128))) goto lab31; /* literal, line 342 */
1655 goto lab4;
1656 lab31:
1657 z->c = z->l - m5;
1658 if (!(eq_s_b(z, 12, s_129))) goto lab32; /* literal, line 343 */
1659 goto lab4;
1660 lab32:
1661 z->c = z->l - m5;
1662 if (!(eq_s_b(z, 12, s_130))) goto lab33; /* literal, line 344 */
1663 goto lab4;
1664 lab33:
1665 z->c = z->l - m5;
1666 if (!(eq_s_b(z, 6, s_131))) goto lab34; /* literal, line 345 */
1667 goto lab4;
1668 lab34:
1669 z->c = z->l - m5;
1670 if (!(eq_s_b(z, 6, s_132))) goto lab3; /* literal, line 346 */
1671 }
1672 lab4:
1673 z->bra = z->c; /* ], line 347 */
1674 { int ret = slice_del(z); /* delete, line 347 */
1675 if (ret < 0) return ret;
1676 }
1677 z->B[0] = 1; /* set found_a_match, line 348 */
1678 z->c = z->l - m_test4;
1679 }
1680 goto lab1;
1681 lab3:
1682 z->c = z->l - m2;
1683 { int m_test10 = z->l - z->c; /* test, line 351 */
1684 z->ket = z->c; /* [, line 351 */
1685 { int m11 = z->l - z->c; (void)m11; /* or, line 352 */
1686 if (!(eq_s_b(z, 9, s_133))) goto lab37; /* literal, line 352 */
1687 { int m_test12 = z->l - z->c; /* test, line 352 */
1688 { int m13 = z->l - z->c; (void)m13; /* not, line 352 */
1689 if (!(eq_s_b(z, 3, s_134))) goto lab38; /* literal, line 352 */
1690 goto lab37;
1691 lab38:
1692 z->c = z->l - m13;
1693 }
1694 z->c = z->l - m_test12;
1695 }
1696 goto lab36;
1697 lab37:
1698 z->c = z->l - m11;
1699 if (!(eq_s_b(z, 9, s_135))) goto lab39; /* literal, line 353 */
1700 goto lab36;
1701 lab39:
1702 z->c = z->l - m11;
1703 if (!(eq_s_b(z, 9, s_136))) goto lab40; /* literal, line 354 */
1704 goto lab36;
1705 lab40:
1706 z->c = z->l - m11;
1707 if (!(eq_s_b(z, 9, s_137))) goto lab41; /* literal, line 355 */
1708 goto lab36;
1709 lab41:
1710 z->c = z->l - m11;
1711 if (!(eq_s_b(z, 3, s_138))) goto lab42; /* literal, line 356 */
1712 goto lab36;
1713 lab42:
1714 z->c = z->l - m11;
1715 if (!(eq_s_b(z, 9, s_139))) goto lab43; /* literal, line 357 */
1716 goto lab36;
1717 lab43:
1718 z->c = z->l - m11;
1719 if (!(eq_s_b(z, 9, s_140))) goto lab44; /* literal, line 358 */
1720 goto lab36;
1721 lab44:
1722 z->c = z->l - m11;
1723 if (!(eq_s_b(z, 9, s_141))) goto lab45; /* literal, line 359 */
1724 goto lab36;
1725 lab45:
1726 z->c = z->l - m11;
1727 if (!(eq_s_b(z, 9, s_142))) goto lab46; /* literal, line 360 */
1728 goto lab36;
1729 lab46:
1730 z->c = z->l - m11;
1731 if (!(eq_s_b(z, 12, s_143))) goto lab47; /* literal, line 361 */
1732 goto lab36;
1733 lab47:
1734 z->c = z->l - m11;
1735 if (!(eq_s_b(z, 12, s_144))) goto lab48; /* literal, line 362 */
1736 goto lab36;
1737 lab48:
1738 z->c = z->l - m11;
1739 if (!(eq_s_b(z, 12, s_145))) goto lab49; /* literal, line 363 */
1740 goto lab36;
1741 lab49:
1742 z->c = z->l - m11;
1743 if (!(eq_s_b(z, 12, s_146))) goto lab50; /* literal, line 364 */
1744 goto lab36;
1745 lab50:
1746 z->c = z->l - m11;
1747 if (!(eq_s_b(z, 9, s_147))) goto lab51; /* literal, line 365 */
1748 goto lab36;
1749 lab51:
1750 z->c = z->l - m11;
1751 if (!(eq_s_b(z, 12, s_148))) goto lab52; /* literal, line 366 */
1752 goto lab36;
1753 lab52:
1754 z->c = z->l - m11;
1755 if (!(eq_s_b(z, 12, s_149))) goto lab53; /* literal, line 367 */
1756 goto lab36;
1757 lab53:
1758 z->c = z->l - m11;
1759 if (!(eq_s_b(z, 9, s_150))) goto lab54; /* literal, line 368 */
1760 goto lab36;
1761 lab54:
1762 z->c = z->l - m11;
1763 if (!(eq_s_b(z, 12, s_151))) goto lab35; /* literal, line 369 */
1764 }
1765 lab36:
1766 z->bra = z->c; /* ], line 370 */
1767 { int ret = slice_from_s(z, 3, s_152); /* <-, line 370 */
1768 if (ret < 0) return ret;
1769 }
1770 z->B[0] = 1; /* set found_a_match, line 371 */
1771 z->c = z->l - m_test10;
1772 }
1773 goto lab1;
1774 lab35:
1775 z->c = z->l - m2;
1776 { int m_test14 = z->l - z->c; /* test, line 374 */
1777 z->ket = z->c; /* [, line 374 */
1778 { int m15 = z->l - z->c; (void)m15; /* or, line 374 */
1779 if (!(eq_s_b(z, 6, s_153))) goto lab56; /* literal, line 374 */
1780 goto lab55;
1781 lab56:
1782 z->c = z->l - m15;
1783 if (!(eq_s_b(z, 6, s_154))) goto lab0; /* literal, line 374 */
1784 }
1785 lab55:
1786 { int m_test16 = z->l - z->c; /* test, line 374 */
1787 if (!(eq_s_b(z, 3, s_155))) goto lab0; /* literal, line 374 */
1788 z->c = z->l - m_test16;
1789 }
1790 z->bra = z->c; /* ], line 374 */
1791 { int ret = slice_del(z); /* delete, line 374 */
1792 if (ret < 0) return ret;
1793 }
1794 z->B[0] = 1; /* set found_a_match, line 375 */
1795 z->c = z->l - m_test14;
1796 }
1797 }
1798 lab1:
1799 lab0:
1800 z->c = z->l - m1;
1801 }
1802 { int m17 = z->l - z->c; (void)m17; /* do, line 378 */
1803 z->ket = z->c; /* [, line 378 */
1804 if (z->c - 8 <= z->lb || (z->p[z->c - 1] != 141 && z->p[z->c - 1] != 177)) goto lab57; /* among, line 378 */
1805 if (!(find_among_b(z, a_25, 6))) goto lab57;
1806 z->bra = z->c; /* ], line 385 */
1807 { int ret = slice_del(z); /* delete, line 385 */
1808 if (ret < 0) return ret;
1809 }
1810 z->B[0] = 1; /* set found_a_match, line 386 */
1811 lab57:
1812 z->c = z->l - m17;
1813 }
1814 z->c = z->lb;
1815 /* do, line 389 */
1816 { int ret = r_fix_endings(z); /* call fix_endings, line 389 */
1817 if (ret == 0) goto lab58;
1818 if (ret < 0) return ret;
1819 }
1820lab58:
1821 return 1;
1822}
1823
1824extern int tamil_UTF_8_stem(struct SN_env * z) { /* forwardmode */
1825 z->B[1] = 0; /* unset found_vetrumai_urupu, line 393 */
1826 { int c1 = z->c; /* do, line 394 */
1827 { int ret = r_fix_ending(z); /* call fix_ending, line 394 */
1828 if (ret == 0) goto lab0;
1829 if (ret < 0) return ret;
1830 }
1831 lab0:
1832 z->c = c1;
1833 }
1834 { int ret = r_has_min_length(z); /* call has_min_length, line 395 */
1835 if (ret <= 0) return ret;
1836 }
1837 { int c2 = z->c; /* do, line 396 */
1838 { int ret = r_remove_question_prefixes(z); /* call remove_question_prefixes, line 396 */
1839 if (ret == 0) goto lab1;
1840 if (ret < 0) return ret;
1841 }
1842 lab1:
1843 z->c = c2;
1844 }
1845 { int c3 = z->c; /* do, line 397 */
1846 { int ret = r_remove_pronoun_prefixes(z); /* call remove_pronoun_prefixes, line 397 */
1847 if (ret == 0) goto lab2;
1848 if (ret < 0) return ret;
1849 }
1850 lab2:
1851 z->c = c3;
1852 }
1853 { int c4 = z->c; /* do, line 398 */
1854 { int ret = r_remove_question_suffixes(z); /* call remove_question_suffixes, line 398 */
1855 if (ret == 0) goto lab3;
1856 if (ret < 0) return ret;
1857 }
1858 lab3:
1859 z->c = c4;
1860 }
1861 { int c5 = z->c; /* do, line 399 */
1862 { int ret = r_remove_um(z); /* call remove_um, line 399 */
1863 if (ret == 0) goto lab4;
1864 if (ret < 0) return ret;
1865 }
1866 lab4:
1867 z->c = c5;
1868 }
1869 { int c6 = z->c; /* do, line 400 */
1870 { int ret = r_remove_common_word_endings(z); /* call remove_common_word_endings, line 400 */
1871 if (ret == 0) goto lab5;
1872 if (ret < 0) return ret;
1873 }
1874 lab5:
1875 z->c = c6;
1876 }
1877 { int c7 = z->c; /* do, line 401 */
1878 { int ret = r_remove_vetrumai_urupukal(z); /* call remove_vetrumai_urupukal, line 401 */
1879 if (ret == 0) goto lab6;
1880 if (ret < 0) return ret;
1881 }
1882 lab6:
1883 z->c = c7;
1884 }
1885 { int c8 = z->c; /* do, line 402 */
1886 { int ret = r_remove_plural_suffix(z); /* call remove_plural_suffix, line 402 */
1887 if (ret == 0) goto lab7;
1888 if (ret < 0) return ret;
1889 }
1890 lab7:
1891 z->c = c8;
1892 }
1893 { int c9 = z->c; /* do, line 403 */
1894 { int ret = r_remove_command_suffixes(z); /* call remove_command_suffixes, line 403 */
1895 if (ret == 0) goto lab8;
1896 if (ret < 0) return ret;
1897 }
1898 lab8:
1899 z->c = c9;
1900 }
1901 { int c10 = z->c; /* do, line 404 */
1902 { int ret = r_remove_tense_suffixes(z); /* call remove_tense_suffixes, line 404 */
1903 if (ret == 0) goto lab9;
1904 if (ret < 0) return ret;
1905 }
1906 lab9:
1907 z->c = c10;
1908 }
1909 return 1;
1910}
1911
1912extern struct SN_env * tamil_UTF_8_create_env(void) { return SN_create_env(0, 0, 2); }
1913
1914extern void tamil_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); }
1915
1916