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