1 /* Generated by Snowball 2.1.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 { 3, s_0_0, -1, -1, 0},
52 { 3, s_0_1, -1, -1, 0},
53 { 3, s_0_2, -1, -1, 0},
54 { 3, s_0_3, -1, -1, 0},
55 { 3, s_0_4, -1, -1, 0},
56 { 3, s_0_5, -1, -1, 0},
57 { 3, s_0_6, -1, -1, 0},
58 { 3, s_0_7, -1, -1, 0},
59 { 3, s_0_8, -1, -1, 0},
60 { 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 { 12, s_1_0, -1, -1, 0},
70 { 6, s_1_1, -1, -1, 0},
71 { 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 { 3, s_2_0, -1, -1, 0},
81 { 3, s_2_1, -1, -1, 0},
82 { 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 { 3, s_3_0, -1, -1, 0},
95 { 3, s_3_1, -1, -1, 0},
96 { 3, s_3_2, -1, -1, 0},
97 { 3, s_3_3, -1, -1, 0},
98 { 3, s_3_4, -1, -1, 0},
99 { 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 { 3, s_4_0, -1, -1, 0},
112 { 3, s_4_1, -1, -1, 0},
113 { 3, s_4_2, -1, -1, 0},
114 { 3, s_4_3, -1, -1, 0},
115 { 3, s_4_4, -1, -1, 0},
116 { 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 { 3, s_5_0, -1, -1, 0},
129 { 3, s_5_1, -1, -1, 0},
130 { 3, s_5_2, -1, -1, 0},
131 { 3, s_5_3, -1, -1, 0},
132 { 3, s_5_4, -1, -1, 0},
133 { 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 { 3, s_6_0, -1, -1, 0},
146 { 3, s_6_1, -1, -1, 0},
147 { 3, s_6_2, -1, -1, 0},
148 { 3, s_6_3, -1, -1, 0},
149 { 3, s_6_4, -1, -1, 0},
150 { 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 { 3, s_7_0, -1, -1, 0},
163 { 3, s_7_1, -1, -1, 0},
164 { 3, s_7_2, -1, -1, 0},
165 { 3, s_7_3, -1, -1, 0},
166 { 3, s_7_4, -1, -1, 0},
167 { 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 { 6, s_8_0, -1, -1, 0},
177 { 3, s_8_1, -1, -1, 0},
178 { 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 { 3, s_9_0, -1, -1, 0},
193 { 3, s_9_1, -1, -1, 0},
194 { 3, s_9_2, -1, -1, 0},
195 { 3, s_9_3, -1, -1, 0},
196 { 3, s_9_4, -1, -1, 0},
197 { 3, s_9_5, -1, -1, 0},
198 { 3, s_9_6, -1, -1, 0},
199 { 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 { 3, s_10_0, -1, -1, 0},
214 { 3, s_10_1, -1, -1, 0},
215 { 3, s_10_2, -1, -1, 0},
216 { 3, s_10_3, -1, -1, 0},
217 { 3, s_10_4, -1, -1, 0},
218 { 3, s_10_5, -1, -1, 0},
219 { 3, s_10_6, -1, -1, 0},
220 { 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 { 3, s_11_0, -1, -1, 0},
230 { 3, s_11_1, -1, -1, 0},
231 { 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 { 3, s_12_0, -1, -1, 0},
248 { 3, s_12_1, -1, -1, 0},
249 { 3, s_12_2, -1, -1, 0},
250 { 3, s_12_3, -1, -1, 0},
251 { 3, s_12_4, -1, -1, 0},
252 { 3, s_12_5, -1, -1, 0},
253 { 3, s_12_6, -1, -1, 0},
254 { 3, s_12_7, -1, -1, 0},
255 { 3, s_12_8, -1, -1, 0},
256 { 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 { 3, s_13_0, -1, -1, 0},
269 { 3, s_13_1, -1, -1, 0},
270 { 3, s_13_2, -1, -1, 0},
271 { 3, s_13_3, -1, -1, 0},
272 { 3, s_13_4, -1, -1, 0},
273 { 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 { 3, s_14_0, -1, -1, 0},
283 { 3, s_14_1, -1, -1, 0},
284 { 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 { 6, s_15_0, -1, -1, 0},
293 { 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 { 3, s_16_0, -1, -1, 0},
308 { 3, s_16_1, -1, -1, 0},
309 { 3, s_16_2, -1, -1, 0},
310 { 3, s_16_3, -1, -1, 0},
311 { 3, s_16_4, -1, -1, 0},
312 { 3, s_16_5, -1, -1, 0},
313 { 3, s_16_6, -1, -1, 0},
314 { 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 { 15, s_17_0, -1, -1, 0},
334 { 18, s_17_1, -1, -1, 0},
335 { 9, s_17_2, -1, -1, 0},
336 { 12, s_17_3, -1, -1, 0},
337 { 18, s_17_4, -1, -1, 0},
338 { 21, s_17_5, -1, -1, 0},
339 { 12, s_17_6, -1, -1, 0},
340 { 15, s_17_7, -1, -1, 0},
341 { 9, s_17_8, -1, -1, 0},
342 { 18, s_17_9, 8, -1, 0},
343 { 15, s_17_10, -1, -1, 0},
344 { 9, s_17_11, -1, -1, 0},
345 { 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 { 3, s_18_0, -1, -1, 0},
358 { 3, s_18_1, -1, -1, 0},
359 { 3, s_18_2, -1, -1, 0},
360 { 3, s_18_3, -1, -1, 0},
361 { 3, s_18_4, -1, -1, 0},
362 { 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 { 3, s_19_0, -1, -1, 0},
375 { 3, s_19_1, -1, -1, 0},
376 { 3, s_19_2, -1, -1, 0},
377 { 3, s_19_3, -1, -1, 0},
378 { 3, s_19_4, -1, -1, 0},
379 { 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 { 3, s_20_0, -1, -1, 0},
394 { 3, s_20_1, -1, -1, 0},
395 { 3, s_20_2, -1, -1, 0},
396 { 3, s_20_3, -1, -1, 0},
397 { 3, s_20_4, -1, -1, 0},
398 { 3, s_20_5, -1, -1, 0},
399 { 3, s_20_6, -1, -1, 0},
400 { 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 { 3, s_21_0, -1, -1, 0},
415 { 3, s_21_1, -1, -1, 0},
416 { 3, s_21_2, -1, -1, 0},
417 { 3, s_21_3, -1, -1, 0},
418 { 3, s_21_4, -1, -1, 0},
419 { 3, s_21_5, -1, -1, 0},
420 { 3, s_21_6, -1, -1, 0},
421 { 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 { 9, s_22_0, -1, -1, 0},
430 { 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 { 3, s_23_0, -1, -1, 0},
449 { 3, s_23_1, -1, -1, 0},
450 { 3, s_23_2, -1, -1, 0},
451 { 3, s_23_3, -1, -1, 0},
452 { 3, s_23_4, -1, -1, 0},
453 { 3, s_23_5, -1, -1, 0},
454 { 3, s_23_6, -1, -1, 0},
455 { 3, s_23_7, -1, -1, 0},
456 { 3, s_23_8, -1, -1, 0},
457 { 3, s_23_9, -1, -1, 0},
458 { 3, s_23_10, -1, -1, 0},
459 { 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 { 3, s_24_0, -1, -1, 0},
474 { 3, s_24_1, -1, -1, 0},
475 { 3, s_24_2, -1, -1, 0},
476 { 3, s_24_3, -1, -1, 0},
477 { 3, s_24_4, -1, -1, 0},
478 { 3, s_24_5, -1, -1, 0},
479 { 3, s_24_6, -1, -1, 0},
480 { 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 { 18, s_25_0, -1, -1, 0},
493 { 21, s_25_1, -1, -1, 0},
494 { 12, s_25_2, -1, -1, 0},
495 { 15, s_25_3, -1, -1, 0},
496 { 18, s_25_4, -1, -1, 0},
497 { 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) {
658     if (!(len_utf8(z->p) > 4)) return 0;
659     return 1;
660 }
661 
r_fix_va_start(struct SN_env * z)662 static int r_fix_va_start(struct SN_env * z) {
663     {   int c1 = z->c;
664         {   int c2 = z->c;
665             {   int c3 = z->c;
666                 if (!(eq_s(z, 6, s_0))) { z->c = c3; goto lab2; }
667             lab2:
668                 ;
669             }
670             z->c = c2;
671             z->bra = z->c;
672         }
673         if (!(eq_s(z, 6, s_1))) goto lab1;
674         z->ket = z->c;
675         {   int ret = slice_from_s(z, 3, s_2);
676             if (ret < 0) return ret;
677         }
678         goto lab0;
679     lab1:
680         z->c = c1;
681         {   int c4 = z->c;
682             {   int c5 = z->c;
683                 if (!(eq_s(z, 6, s_3))) { z->c = c5; goto lab4; }
684             lab4:
685                 ;
686             }
687             z->c = c4;
688             z->bra = z->c;
689         }
690         if (!(eq_s(z, 6, s_4))) goto lab3;
691         z->ket = z->c;
692         {   int ret = slice_from_s(z, 3, s_5);
693             if (ret < 0) return ret;
694         }
695         goto lab0;
696     lab3:
697         z->c = c1;
698         {   int c6 = z->c;
699             {   int c7 = z->c;
700                 if (!(eq_s(z, 6, s_6))) { z->c = c7; goto lab6; }
701             lab6:
702                 ;
703             }
704             z->c = c6;
705             z->bra = z->c;
706         }
707         if (!(eq_s(z, 6, s_7))) goto lab5;
708         z->ket = z->c;
709         {   int ret = slice_from_s(z, 3, s_8);
710             if (ret < 0) return ret;
711         }
712         goto lab0;
713     lab5:
714         z->c = c1;
715         {   int c8 = z->c;
716             {   int c9 = z->c;
717                 if (!(eq_s(z, 6, s_9))) { z->c = c9; goto lab7; }
718             lab7:
719                 ;
720             }
721             z->c = c8;
722             z->bra = z->c;
723         }
724         if (!(eq_s(z, 6, s_10))) return 0;
725         z->ket = z->c;
726         {   int ret = slice_from_s(z, 3, s_11);
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) {
735     {   int c1 = z->c;
736         while(1) {
737             int c2 = z->c;
738             {   int ret = r_fix_ending(z);
739                 if (ret == 0) goto lab1;
740                 if (ret < 0) return ret;
741             }
742             continue;
743         lab1:
744             z->c = c2;
745             break;
746         }
747         z->c = c1;
748     }
749     return 1;
750 }
751 
r_remove_question_prefixes(struct SN_env * z)752 static int r_remove_question_prefixes(struct SN_env * z) {
753     z->bra = z->c;
754     if (!(eq_s(z, 3, s_12))) return 0;
755     if (!(find_among(z, a_0, 10))) return 0;
756     if (!(eq_s(z, 3, s_13))) return 0;
757     z->ket = z->c;
758     {   int ret = slice_del(z);
759         if (ret < 0) return ret;
760     }
761     {   int c1 = z->c;
762         {   int ret = r_fix_va_start(z);
763             if (ret < 0) return ret;
764         }
765         z->c = c1;
766     }
767     return 1;
768 }
769 
r_fix_ending(struct SN_env * z)770 static int r_fix_ending(struct SN_env * z) {
771     if (!(len_utf8(z->p) > 3)) return 0;
772     z->lb = z->c; z->c = z->l;
773 
774     {   int m1 = z->l - z->c; (void)m1;
775         z->ket = z->c;
776         if (z->c - 5 <= z->lb || (z->p[z->c - 1] != 141 && z->p[z->c - 1] != 164)) goto lab1;
777         if (!(find_among_b(z, a_1, 3))) goto lab1;
778         z->bra = z->c;
779         {   int ret = slice_del(z);
780             if (ret < 0) return ret;
781         }
782         goto lab0;
783     lab1:
784         z->c = z->l - m1;
785         z->ket = z->c;
786         if (!(eq_s_b(z, 6, s_14))) goto lab2;
787         {   int m_test2 = z->l - z->c;
788             if (!(find_among_b(z, a_2, 3))) goto lab2;
789             z->c = z->l - m_test2;
790         }
791         z->bra = z->c;
792         {   int ret = slice_del(z);
793             if (ret < 0) return ret;
794         }
795         goto lab0;
796     lab2:
797         z->c = z->l - m1;
798         z->ket = z->c;
799         {   int m3 = z->l - z->c; (void)m3;
800             if (!(eq_s_b(z, 12, s_15))) goto lab5;
801             goto lab4;
802         lab5:
803             z->c = z->l - m3;
804             if (!(eq_s_b(z, 12, s_16))) goto lab3;
805         }
806     lab4:
807         z->bra = z->c;
808         {   int ret = slice_from_s(z, 6, s_17);
809             if (ret < 0) return ret;
810         }
811         goto lab0;
812     lab3:
813         z->c = z->l - m1;
814         z->ket = z->c;
815         if (!(eq_s_b(z, 12, s_18))) goto lab6;
816         z->bra = z->c;
817         {   int ret = slice_from_s(z, 6, s_19);
818             if (ret < 0) return ret;
819         }
820         goto lab0;
821     lab6:
822         z->c = z->l - m1;
823         z->ket = z->c;
824         if (!(eq_s_b(z, 12, s_20))) goto lab7;
825         z->bra = z->c;
826         {   int ret = slice_from_s(z, 6, s_21);
827             if (ret < 0) return ret;
828         }
829         goto lab0;
830     lab7:
831         z->c = z->l - m1;
832         z->ket = z->c;
833         if (!(eq_s_b(z, 12, s_22))) goto lab8;
834         z->bra = z->c;
835         {   int ret = slice_from_s(z, 6, s_23);
836             if (ret < 0) return ret;
837         }
838         goto lab0;
839     lab8:
840         z->c = z->l - m1;
841         if (!(z->I[0])) goto lab9;
842         z->ket = z->c;
843         if (!(eq_s_b(z, 12, s_24))) goto lab9;
844         {   int m_test4 = z->l - z->c;
845             {   int m5 = z->l - z->c; (void)m5;
846                 if (!(eq_s_b(z, 3, s_25))) goto lab10;
847                 goto lab9;
848             lab10:
849                 z->c = z->l - m5;
850             }
851             z->c = z->l - m_test4;
852         }
853         z->bra = z->c;
854         {   int ret = slice_from_s(z, 6, s_26);
855             if (ret < 0) return ret;
856         }
857         z->bra = z->c;
858         goto lab0;
859     lab9:
860         z->c = z->l - m1;
861         z->ket = z->c;
862         {   int m6 = z->l - z->c; (void)m6;
863             if (!(eq_s_b(z, 9, s_27))) goto lab13;
864             goto lab12;
865         lab13:
866             z->c = z->l - m6;
867             if (!(eq_s_b(z, 15, s_28))) goto lab11;
868         }
869     lab12:
870         z->bra = z->c;
871         {   int ret = slice_from_s(z, 3, s_29);
872             if (ret < 0) return ret;
873         }
874         goto lab0;
875     lab11:
876         z->c = z->l - m1;
877         z->ket = z->c;
878         if (!(eq_s_b(z, 3, s_30))) goto lab14;
879         if (!(find_among_b(z, a_3, 6))) goto lab14;
880         if (!(eq_s_b(z, 3, s_31))) goto lab14;
881         if (!(find_among_b(z, a_4, 6))) goto lab14;
882         z->bra = z->c;
883         {   int ret = slice_del(z);
884             if (ret < 0) return ret;
885         }
886         goto lab0;
887     lab14:
888         z->c = z->l - m1;
889         z->ket = z->c;
890         if (!(eq_s_b(z, 9, s_32))) goto lab15;
891         z->bra = z->c;
892         {   int ret = slice_from_s(z, 3, s_33);
893             if (ret < 0) return ret;
894         }
895         goto lab0;
896     lab15:
897         z->c = z->l - m1;
898         z->ket = z->c;
899         if (!(eq_s_b(z, 3, s_34))) goto lab16;
900         if (!(find_among_b(z, a_5, 6))) goto lab16;
901         z->bra = z->c;
902         {   int ret = slice_del(z);
903             if (ret < 0) return ret;
904         }
905         goto lab0;
906     lab16:
907         z->c = z->l - m1;
908         z->ket = z->c;
909         if (!(eq_s_b(z, 3, s_35))) goto lab17;
910         {   int m7 = z->l - z->c; (void)m7;
911             if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 5 || !((4030464 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab19;
912             if (!(find_among_b(z, a_6, 6))) goto lab19;
913             goto lab18;
914         lab19:
915             z->c = z->l - m7;
916             if (!(find_among_b(z, a_7, 6))) goto lab17;
917         }
918     lab18:
919         if (!(eq_s_b(z, 3, s_36))) goto lab17;
920         z->bra = z->c;
921         {   int ret = slice_from_s(z, 3, s_37);
922             if (ret < 0) return ret;
923         }
924         goto lab0;
925     lab17:
926         z->c = z->l - m1;
927         z->ket = z->c;
928         if (!(find_among_b(z, a_8, 3))) goto lab20;
929         z->bra = z->c;
930         {   int ret = slice_del(z);
931             if (ret < 0) return ret;
932         }
933         goto lab0;
934     lab20:
935         z->c = z->l - m1;
936         z->ket = z->c;
937         if (!(eq_s_b(z, 6, s_38))) goto lab21;
938         {   int m_test8 = z->l - z->c;
939             {   int m9 = z->l - z->c; (void)m9;
940                 if (!(find_among_b(z, a_9, 8))) goto lab22;
941                 goto lab21;
942             lab22:
943                 z->c = z->l - m9;
944             }
945             z->c = z->l - m_test8;
946         }
947         z->bra = z->c;
948         {   int ret = slice_del(z);
949             if (ret < 0) return ret;
950         }
951         goto lab0;
952     lab21:
953         z->c = z->l - m1;
954         z->ket = z->c;
955         if (!(eq_s_b(z, 6, s_39))) goto lab23;
956         {   int m_test10 = z->l - z->c;
957             {   int m11 = z->l - z->c; (void)m11;
958                 if (!(eq_s_b(z, 3, s_40))) goto lab24;
959                 goto lab23;
960             lab24:
961                 z->c = z->l - m11;
962             }
963             z->c = z->l - m_test10;
964         }
965         z->bra = z->c;
966         {   int ret = slice_from_s(z, 6, s_41);
967             if (ret < 0) return ret;
968         }
969         goto lab0;
970     lab23:
971         z->c = z->l - m1;
972         z->ket = z->c;
973         if (!(eq_s_b(z, 6, s_42))) goto lab25;
974         z->bra = z->c;
975         {   int ret = slice_del(z);
976             if (ret < 0) return ret;
977         }
978         goto lab0;
979     lab25:
980         z->c = z->l - m1;
981         z->ket = z->c;
982         if (!(eq_s_b(z, 3, s_43))) return 0;
983         {   int m_test12 = z->l - z->c;
984             {   int m13 = z->l - z->c; (void)m13;
985                 if (!(find_among_b(z, a_10, 8))) goto lab27;
986                 goto lab26;
987             lab27:
988                 z->c = z->l - m13;
989                 if (!(eq_s_b(z, 3, s_44))) return 0;
990             }
991         lab26:
992             z->c = z->l - m_test12;
993         }
994         z->bra = z->c;
995         {   int ret = slice_del(z);
996             if (ret < 0) return ret;
997         }
998     }
999 lab0:
1000     z->c = z->lb;
1001     return 1;
1002 }
1003 
r_remove_pronoun_prefixes(struct SN_env * z)1004 static int r_remove_pronoun_prefixes(struct SN_env * z) {
1005     z->I[1] = 0;
1006     z->bra = z->c;
1007     if (z->c + 2 >= z->l || z->p[z->c + 2] >> 5 != 4 || !((672 >> (z->p[z->c + 2] & 0x1f)) & 1)) return 0;
1008     if (!(find_among(z, a_11, 3))) return 0;
1009     if (!(find_among(z, a_12, 10))) return 0;
1010     if (!(eq_s(z, 3, s_45))) return 0;
1011     z->ket = z->c;
1012     {   int ret = slice_del(z);
1013         if (ret < 0) return ret;
1014     }
1015     z->I[1] = 1;
1016     {   int c1 = z->c;
1017         {   int ret = r_fix_va_start(z);
1018             if (ret < 0) return ret;
1019         }
1020         z->c = c1;
1021     }
1022     return 1;
1023 }
1024 
r_remove_plural_suffix(struct SN_env * z)1025 static int r_remove_plural_suffix(struct SN_env * z) {
1026     z->I[1] = 0;
1027     z->lb = z->c; z->c = z->l;
1028 
1029     {   int m1 = z->l - z->c; (void)m1;
1030         z->ket = z->c;
1031         if (!(eq_s_b(z, 18, s_46))) goto lab1;
1032         {   int m_test2 = z->l - z->c;
1033             {   int m3 = z->l - z->c; (void)m3;
1034                 if (!(find_among_b(z, a_13, 6))) goto lab2;
1035                 goto lab1;
1036             lab2:
1037                 z->c = z->l - m3;
1038             }
1039             z->c = z->l - m_test2;
1040         }
1041         z->bra = z->c;
1042         {   int ret = slice_from_s(z, 3, s_47);
1043             if (ret < 0) return ret;
1044         }
1045         goto lab0;
1046     lab1:
1047         z->c = z->l - m1;
1048         z->ket = z->c;
1049         if (!(eq_s_b(z, 15, s_48))) goto lab3;
1050         z->bra = z->c;
1051         {   int ret = slice_from_s(z, 6, s_49);
1052             if (ret < 0) return ret;
1053         }
1054         goto lab0;
1055     lab3:
1056         z->c = z->l - m1;
1057         z->ket = z->c;
1058         if (!(eq_s_b(z, 15, s_50))) goto lab4;
1059         z->bra = z->c;
1060         {   int ret = slice_from_s(z, 6, s_51);
1061             if (ret < 0) return ret;
1062         }
1063         goto lab0;
1064     lab4:
1065         z->c = z->l - m1;
1066         z->ket = z->c;
1067         if (!(eq_s_b(z, 9, s_52))) return 0;
1068         z->bra = z->c;
1069         {   int ret = slice_del(z);
1070             if (ret < 0) return ret;
1071         }
1072     }
1073 lab0:
1074     z->I[1] = 1;
1075     z->c = z->lb;
1076     return 1;
1077 }
1078 
r_remove_question_suffixes(struct SN_env * z)1079 static int r_remove_question_suffixes(struct SN_env * z) {
1080     {   int ret = r_has_min_length(z);
1081         if (ret <= 0) return ret;
1082     }
1083     z->I[1] = 0;
1084     z->lb = z->c; z->c = z->l;
1085 
1086     {   int m1 = z->l - z->c; (void)m1;
1087         z->ket = z->c;
1088         if (!(find_among_b(z, a_14, 3))) goto lab0;
1089         z->bra = z->c;
1090         {   int ret = slice_from_s(z, 3, s_53);
1091             if (ret < 0) return ret;
1092         }
1093         z->I[1] = 1;
1094     lab0:
1095         z->c = z->l - m1;
1096     }
1097     z->c = z->lb;
1098 
1099     {   int ret = r_fix_endings(z);
1100         if (ret < 0) return ret;
1101     }
1102     return 1;
1103 }
1104 
r_remove_command_suffixes(struct SN_env * z)1105 static int r_remove_command_suffixes(struct SN_env * z) {
1106     {   int ret = r_has_min_length(z);
1107         if (ret <= 0) return ret;
1108     }
1109     z->I[1] = 0;
1110     z->lb = z->c; z->c = z->l;
1111 
1112     z->ket = z->c;
1113     if (z->c - 5 <= z->lb || z->p[z->c - 1] != 191) return 0;
1114     if (!(find_among_b(z, a_15, 2))) return 0;
1115     z->bra = z->c;
1116     {   int ret = slice_del(z);
1117         if (ret < 0) return ret;
1118     }
1119     z->I[1] = 1;
1120     z->c = z->lb;
1121     return 1;
1122 }
1123 
r_remove_um(struct SN_env * z)1124 static int r_remove_um(struct SN_env * z) {
1125     z->I[1] = 0;
1126     {   int ret = r_has_min_length(z);
1127         if (ret <= 0) return ret;
1128     }
1129     z->lb = z->c; z->c = z->l;
1130 
1131     z->ket = z->c;
1132     if (!(eq_s_b(z, 9, s_54))) return 0;
1133     z->bra = z->c;
1134     {   int ret = slice_from_s(z, 3, s_55);
1135         if (ret < 0) return ret;
1136     }
1137     z->I[1] = 1;
1138     z->c = z->lb;
1139     {   int c1 = z->c;
1140         {   int ret = r_fix_ending(z);
1141             if (ret < 0) return ret;
1142         }
1143         z->c = c1;
1144     }
1145     return 1;
1146 }
1147 
r_remove_common_word_endings(struct SN_env * z)1148 static int r_remove_common_word_endings(struct SN_env * z) {
1149     z->I[1] = 0;
1150     {   int ret = r_has_min_length(z);
1151         if (ret <= 0) return ret;
1152     }
1153     z->lb = z->c; z->c = z->l;
1154 
1155     {   int m1 = z->l - z->c; (void)m1;
1156         {   int m_test2 = z->l - z->c;
1157             z->ket = z->c;
1158             {   int m3 = z->l - z->c; (void)m3;
1159                 if (!(eq_s_b(z, 12, s_56))) goto lab3;
1160                 goto lab2;
1161             lab3:
1162                 z->c = z->l - m3;
1163                 if (!(eq_s_b(z, 15, s_57))) goto lab4;
1164                 goto lab2;
1165             lab4:
1166                 z->c = z->l - m3;
1167                 if (!(eq_s_b(z, 12, s_58))) goto lab5;
1168                 goto lab2;
1169             lab5:
1170                 z->c = z->l - m3;
1171                 if (!(eq_s_b(z, 15, s_59))) goto lab6;
1172                 goto lab2;
1173             lab6:
1174                 z->c = z->l - m3;
1175                 if (!(eq_s_b(z, 9, s_60))) goto lab7;
1176                 goto lab2;
1177             lab7:
1178                 z->c = z->l - m3;
1179                 if (!(eq_s_b(z, 12, s_61))) goto lab8;
1180                 goto lab2;
1181             lab8:
1182                 z->c = z->l - m3;
1183                 if (!(eq_s_b(z, 15, s_62))) goto lab9;
1184                 goto lab2;
1185             lab9:
1186                 z->c = z->l - m3;
1187                 if (!(eq_s_b(z, 12, s_63))) goto lab10;
1188                 goto lab2;
1189             lab10:
1190                 z->c = z->l - m3;
1191                 if (!(eq_s_b(z, 12, s_64))) goto lab11;
1192                 goto lab2;
1193             lab11:
1194                 z->c = z->l - m3;
1195                 if (!(eq_s_b(z, 9, s_65))) goto lab12;
1196                 goto lab2;
1197             lab12:
1198                 z->c = z->l - m3;
1199                 if (!(eq_s_b(z, 15, s_66))) goto lab13;
1200                 goto lab2;
1201             lab13:
1202                 z->c = z->l - m3;
1203                 if (!(eq_s_b(z, 9, s_67))) goto lab14;
1204                 {   int m_test4 = z->l - z->c;
1205                     {   int m5 = z->l - z->c; (void)m5;
1206                         if (!(find_among_b(z, a_16, 8))) goto lab15;
1207                         goto lab14;
1208                     lab15:
1209                         z->c = z->l - m5;
1210                     }
1211                     z->c = z->l - m_test4;
1212                 }
1213                 goto lab2;
1214             lab14:
1215                 z->c = z->l - m3;
1216                 if (!(eq_s_b(z, 6, s_68))) goto lab16;
1217                 goto lab2;
1218             lab16:
1219                 z->c = z->l - m3;
1220                 if (!(eq_s_b(z, 9, s_69))) goto lab1;
1221             }
1222         lab2:
1223             z->bra = z->c;
1224             {   int ret = slice_from_s(z, 3, s_70);
1225                 if (ret < 0) return ret;
1226             }
1227             z->I[1] = 1;
1228             z->c = z->l - m_test2;
1229         }
1230         goto lab0;
1231     lab1:
1232         z->c = z->l - m1;
1233         {   int m_test6 = z->l - z->c;
1234             z->ket = z->c;
1235             if (!(find_among_b(z, a_17, 13))) return 0;
1236             z->bra = z->c;
1237             {   int ret = slice_del(z);
1238                 if (ret < 0) return ret;
1239             }
1240             z->I[1] = 1;
1241             z->c = z->l - m_test6;
1242         }
1243     }
1244 lab0:
1245     z->c = z->lb;
1246 
1247     {   int ret = r_fix_endings(z);
1248         if (ret < 0) return ret;
1249     }
1250     return 1;
1251 }
1252 
r_remove_vetrumai_urupukal(struct SN_env * z)1253 static int r_remove_vetrumai_urupukal(struct SN_env * z) {
1254     z->I[1] = 0;
1255     z->I[0] = 0;
1256     {   int ret = r_has_min_length(z);
1257         if (ret <= 0) return ret;
1258     }
1259     z->lb = z->c; z->c = z->l;
1260 
1261     {   int m1 = z->l - z->c; (void)m1;
1262         {   int m_test2 = z->l - z->c;
1263             z->ket = z->c;
1264             if (!(eq_s_b(z, 6, s_71))) goto lab1;
1265             z->bra = z->c;
1266             {   int ret = slice_del(z);
1267                 if (ret < 0) return ret;
1268             }
1269             z->c = z->l - m_test2;
1270         }
1271         goto lab0;
1272     lab1:
1273         z->c = z->l - m1;
1274         {   int m_test3 = z->l - z->c;
1275             z->ket = z->c;
1276             {   int m4 = z->l - z->c; (void)m4;
1277                 {   int m5 = z->l - z->c; (void)m5;
1278                     if (!(eq_s_b(z, 9, s_72))) goto lab6;
1279                     goto lab5;
1280                 lab6:
1281                     z->c = z->l - m5;
1282                     if (!(eq_s_b(z, 3, s_73))) goto lab4;
1283                 }
1284             lab5:
1285                 {   int m_test6 = z->l - z->c;
1286                     {   int m7 = z->l - z->c; (void)m7;
1287                         if (!(find_among_b(z, a_18, 6))) goto lab7;
1288                         goto lab4;
1289                     lab7:
1290                         z->c = z->l - m7;
1291                     }
1292                     z->c = z->l - m_test6;
1293                 }
1294                 goto lab3;
1295             lab4:
1296                 z->c = z->l - m4;
1297                 if (!(eq_s_b(z, 3, s_74))) goto lab2;
1298                 {   int m_test8 = z->l - z->c;
1299                     if (!(find_among_b(z, a_19, 6))) goto lab2;
1300                     if (!(eq_s_b(z, 3, s_75))) goto lab2;
1301                     z->c = z->l - m_test8;
1302                 }
1303             }
1304         lab3:
1305             z->bra = z->c;
1306             {   int ret = slice_from_s(z, 3, s_76);
1307                 if (ret < 0) return ret;
1308             }
1309             z->c = z->l - m_test3;
1310         }
1311         goto lab0;
1312     lab2:
1313         z->c = z->l - m1;
1314         {   int m_test9 = z->l - z->c;
1315             z->ket = z->c;
1316             {   int m10 = z->l - z->c; (void)m10;
1317                 if (!(eq_s_b(z, 9, s_77))) goto lab10;
1318                 goto lab9;
1319             lab10:
1320                 z->c = z->l - m10;
1321                 if (!(eq_s_b(z, 9, s_78))) goto lab11;
1322                 goto lab9;
1323             lab11:
1324                 z->c = z->l - m10;
1325                 if (!(eq_s_b(z, 9, s_79))) goto lab12;
1326                 goto lab9;
1327             lab12:
1328                 z->c = z->l - m10;
1329                 if (!(eq_s_b(z, 9, s_80))) goto lab13;
1330                 goto lab9;
1331             lab13:
1332                 z->c = z->l - m10;
1333                 if (!(eq_s_b(z, 9, s_81))) goto lab14;
1334                 {   int m_test11 = z->l - z->c;
1335                     {   int m12 = z->l - z->c; (void)m12;
1336                         if (!(eq_s_b(z, 3, s_82))) goto lab15;
1337                         goto lab14;
1338                     lab15:
1339                         z->c = z->l - m12;
1340                     }
1341                     z->c = z->l - m_test11;
1342                 }
1343                 goto lab9;
1344             lab14:
1345                 z->c = z->l - m10;
1346                 if (!(eq_s_b(z, 15, s_83))) goto lab16;
1347                 goto lab9;
1348             lab16:
1349                 z->c = z->l - m10;
1350                 if (!(eq_s_b(z, 21, s_84))) goto lab17;
1351                 goto lab9;
1352             lab17:
1353                 z->c = z->l - m10;
1354                 if (!(eq_s_b(z, 9, s_85))) goto lab18;
1355                 goto lab9;
1356             lab18:
1357                 z->c = z->l - m10;
1358                 if (!(len_utf8(z->p) >= 7)) goto lab19;
1359                 if (!(eq_s_b(z, 12, s_86))) goto lab19;
1360                 goto lab9;
1361             lab19:
1362                 z->c = z->l - m10;
1363                 if (!(eq_s_b(z, 9, s_87))) goto lab20;
1364                 goto lab9;
1365             lab20:
1366                 z->c = z->l - m10;
1367                 if (!(eq_s_b(z, 9, s_88))) goto lab21;
1368                 goto lab9;
1369             lab21:
1370                 z->c = z->l - m10;
1371                 if (!(eq_s_b(z, 12, s_89))) goto lab22;
1372                 goto lab9;
1373             lab22:
1374                 z->c = z->l - m10;
1375                 if (!(eq_s_b(z, 6, s_90))) goto lab23;
1376                 {   int m_test13 = z->l - z->c;
1377                     {   int m14 = z->l - z->c; (void)m14;
1378                         if (!(find_among_b(z, a_20, 8))) goto lab24;
1379                         goto lab23;
1380                     lab24:
1381                         z->c = z->l - m14;
1382                     }
1383                     z->c = z->l - m_test13;
1384                 }
1385                 goto lab9;
1386             lab23:
1387                 z->c = z->l - m10;
1388                 if (!(eq_s_b(z, 9, s_91))) goto lab8;
1389             }
1390         lab9:
1391             z->bra = z->c;
1392             {   int ret = slice_from_s(z, 3, s_92);
1393                 if (ret < 0) return ret;
1394             }
1395             z->c = z->l - m_test9;
1396         }
1397         goto lab0;
1398     lab8:
1399         z->c = z->l - m1;
1400         {   int m_test15 = z->l - z->c;
1401             z->ket = z->c;
1402             {   int m16 = z->l - z->c; (void)m16;
1403                 if (!(eq_s_b(z, 9, s_93))) goto lab27;
1404                 goto lab26;
1405             lab27:
1406                 z->c = z->l - m16;
1407                 if (!(eq_s_b(z, 12, s_94))) goto lab28;
1408                 goto lab26;
1409             lab28:
1410                 z->c = z->l - m16;
1411                 if (!(eq_s_b(z, 12, s_95))) goto lab29;
1412                 goto lab26;
1413             lab29:
1414                 z->c = z->l - m16;
1415                 if (!(eq_s_b(z, 12, s_96))) goto lab30;
1416                 goto lab26;
1417             lab30:
1418                 z->c = z->l - m16;
1419                 if (!(eq_s_b(z, 12, s_97))) goto lab31;
1420                 goto lab26;
1421             lab31:
1422                 z->c = z->l - m16;
1423                 if (!(eq_s_b(z, 12, s_98))) goto lab32;
1424                 goto lab26;
1425             lab32:
1426                 z->c = z->l - m16;
1427                 if (!(eq_s_b(z, 6, s_99))) goto lab25;
1428                 {   int m_test17 = z->l - z->c;
1429                     {   int m18 = z->l - z->c; (void)m18;
1430                         if (!(find_among_b(z, a_21, 8))) goto lab33;
1431                         goto lab25;
1432                     lab33:
1433                         z->c = z->l - m18;
1434                     }
1435                     z->c = z->l - m_test17;
1436                 }
1437             }
1438         lab26:
1439             z->bra = z->c;
1440             {   int ret = slice_del(z);
1441                 if (ret < 0) return ret;
1442             }
1443             z->c = z->l - m_test15;
1444         }
1445         goto lab0;
1446     lab25:
1447         z->c = z->l - m1;
1448         {   int m_test19 = z->l - z->c;
1449             z->ket = z->c;
1450             if (!(eq_s_b(z, 3, s_100))) return 0;
1451             z->bra = z->c;
1452             {   int ret = slice_from_s(z, 3, s_101);
1453                 if (ret < 0) return ret;
1454             }
1455             z->c = z->l - m_test19;
1456         }
1457     }
1458 lab0:
1459     z->I[1] = 1;
1460     z->I[0] = 1;
1461     {   int m20 = z->l - z->c; (void)m20;
1462         z->ket = z->c;
1463         if (!(eq_s_b(z, 9, s_102))) goto lab34;
1464         z->bra = z->c;
1465         {   int ret = slice_from_s(z, 3, s_103);
1466             if (ret < 0) return ret;
1467         }
1468     lab34:
1469         z->c = z->l - m20;
1470     }
1471     z->c = z->lb;
1472 
1473     {   int ret = r_fix_endings(z);
1474         if (ret < 0) return ret;
1475     }
1476     return 1;
1477 }
1478 
r_remove_tense_suffixes(struct SN_env * z)1479 static int r_remove_tense_suffixes(struct SN_env * z) {
1480     z->I[1] = 1;
1481     while(1) {
1482         int c1 = z->c;
1483         if (!(z->I[1])) goto lab0;
1484         {   int c2 = z->c;
1485             {   int ret = r_remove_tense_suffix(z);
1486                 if (ret < 0) return ret;
1487             }
1488             z->c = c2;
1489         }
1490         continue;
1491     lab0:
1492         z->c = c1;
1493         break;
1494     }
1495     return 1;
1496 }
1497 
r_remove_tense_suffix(struct SN_env * z)1498 static int r_remove_tense_suffix(struct SN_env * z) {
1499     z->I[1] = 0;
1500     {   int ret = r_has_min_length(z);
1501         if (ret <= 0) return ret;
1502     }
1503     z->lb = z->c; z->c = z->l;
1504 
1505     {   int m1 = z->l - z->c; (void)m1;
1506         {   int m2 = z->l - z->c; (void)m2;
1507             {   int m_test3 = z->l - z->c;
1508                 z->ket = z->c;
1509                 if (z->c - 8 <= z->lb || (z->p[z->c - 1] != 129 && z->p[z->c - 1] != 141)) goto lab2;
1510                 if (!(find_among_b(z, a_22, 2))) goto lab2;
1511                 z->bra = z->c;
1512                 {   int ret = slice_del(z);
1513                     if (ret < 0) return ret;
1514                 }
1515                 z->I[1] = 1;
1516                 z->c = z->l - m_test3;
1517             }
1518             goto lab1;
1519         lab2:
1520             z->c = z->l - m2;
1521             {   int m_test4 = z->l - z->c;
1522                 z->ket = z->c;
1523                 {   int m5 = z->l - z->c; (void)m5;
1524                     if (!(eq_s_b(z, 12, s_104))) goto lab5;
1525                     goto lab4;
1526                 lab5:
1527                     z->c = z->l - m5;
1528                     if (!(eq_s_b(z, 12, s_105))) goto lab6;
1529                     goto lab4;
1530                 lab6:
1531                     z->c = z->l - m5;
1532                     if (!(eq_s_b(z, 9, s_106))) goto lab7;
1533                     goto lab4;
1534                 lab7:
1535                     z->c = z->l - m5;
1536                     if (!(eq_s_b(z, 12, s_107))) goto lab8;
1537                     goto lab4;
1538                 lab8:
1539                     z->c = z->l - m5;
1540                     if (!(eq_s_b(z, 12, s_108))) goto lab9;
1541                     goto lab4;
1542                 lab9:
1543                     z->c = z->l - m5;
1544                     if (!(eq_s_b(z, 12, s_109))) goto lab10;
1545                     goto lab4;
1546                 lab10:
1547                     z->c = z->l - m5;
1548                     if (!(eq_s_b(z, 9, s_110))) goto lab11;
1549                     {   int m_test6 = z->l - z->c;
1550                         {   int m7 = z->l - z->c; (void)m7;
1551                             if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 4 || !((1951712 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab12;
1552                             if (!(find_among_b(z, a_23, 12))) goto lab12;
1553                             goto lab11;
1554                         lab12:
1555                             z->c = z->l - m7;
1556                         }
1557                         z->c = z->l - m_test6;
1558                     }
1559                     goto lab4;
1560                 lab11:
1561                     z->c = z->l - m5;
1562                     if (!(eq_s_b(z, 9, s_111))) goto lab13;
1563                     goto lab4;
1564                 lab13:
1565                     z->c = z->l - m5;
1566                     if (!(eq_s_b(z, 9, s_112))) goto lab14;
1567                     goto lab4;
1568                 lab14:
1569                     z->c = z->l - m5;
1570                     if (!(eq_s_b(z, 9, s_113))) goto lab15;
1571                     goto lab4;
1572                 lab15:
1573                     z->c = z->l - m5;
1574                     if (!(eq_s_b(z, 9, s_114))) goto lab16;
1575                     goto lab4;
1576                 lab16:
1577                     z->c = z->l - m5;
1578                     if (!(eq_s_b(z, 3, s_115))) goto lab17;
1579                     goto lab4;
1580                 lab17:
1581                     z->c = z->l - m5;
1582                     if (!(eq_s_b(z, 3, s_116))) goto lab18;
1583                     goto lab4;
1584                 lab18:
1585                     z->c = z->l - m5;
1586                     if (!(eq_s_b(z, 3, s_117))) goto lab19;
1587                     goto lab4;
1588                 lab19:
1589                     z->c = z->l - m5;
1590                     if (!(eq_s_b(z, 3, s_118))) goto lab20;
1591                     goto lab4;
1592                 lab20:
1593                     z->c = z->l - m5;
1594                     if (!(eq_s_b(z, 3, s_119))) goto lab21;
1595                     goto lab4;
1596                 lab21:
1597                     z->c = z->l - m5;
1598                     if (!(eq_s_b(z, 9, s_120))) goto lab22;
1599                     goto lab4;
1600                 lab22:
1601                     z->c = z->l - m5;
1602                     if (!(eq_s_b(z, 9, s_121))) goto lab23;
1603                     goto lab4;
1604                 lab23:
1605                     z->c = z->l - m5;
1606                     if (!(eq_s_b(z, 9, s_122))) goto lab24;
1607                     goto lab4;
1608                 lab24:
1609                     z->c = z->l - m5;
1610                     if (!(eq_s_b(z, 6, s_123))) goto lab25;
1611                     {   int m_test8 = z->l - z->c;
1612                         {   int m9 = z->l - z->c; (void)m9;
1613                             if (!(find_among_b(z, a_24, 8))) goto lab26;
1614                             goto lab25;
1615                         lab26:
1616                             z->c = z->l - m9;
1617                         }
1618                         z->c = z->l - m_test8;
1619                     }
1620                     goto lab4;
1621                 lab25:
1622                     z->c = z->l - m5;
1623                     if (!(eq_s_b(z, 15, s_124))) goto lab27;
1624                     goto lab4;
1625                 lab27:
1626                     z->c = z->l - m5;
1627                     if (!(eq_s_b(z, 9, s_125))) goto lab28;
1628                     goto lab4;
1629                 lab28:
1630                     z->c = z->l - m5;
1631                     if (!(eq_s_b(z, 9, s_126))) goto lab29;
1632                     goto lab4;
1633                 lab29:
1634                     z->c = z->l - m5;
1635                     if (!(eq_s_b(z, 12, s_127))) goto lab30;
1636                     goto lab4;
1637                 lab30:
1638                     z->c = z->l - m5;
1639                     if (!(eq_s_b(z, 12, s_128))) goto lab31;
1640                     goto lab4;
1641                 lab31:
1642                     z->c = z->l - m5;
1643                     if (!(eq_s_b(z, 12, s_129))) goto lab32;
1644                     goto lab4;
1645                 lab32:
1646                     z->c = z->l - m5;
1647                     if (!(eq_s_b(z, 12, s_130))) goto lab33;
1648                     goto lab4;
1649                 lab33:
1650                     z->c = z->l - m5;
1651                     if (!(eq_s_b(z, 6, s_131))) goto lab34;
1652                     goto lab4;
1653                 lab34:
1654                     z->c = z->l - m5;
1655                     if (!(eq_s_b(z, 6, s_132))) goto lab3;
1656                 }
1657             lab4:
1658                 z->bra = z->c;
1659                 {   int ret = slice_del(z);
1660                     if (ret < 0) return ret;
1661                 }
1662                 z->I[1] = 1;
1663                 z->c = z->l - m_test4;
1664             }
1665             goto lab1;
1666         lab3:
1667             z->c = z->l - m2;
1668             {   int m_test10 = z->l - z->c;
1669                 z->ket = z->c;
1670                 {   int m11 = z->l - z->c; (void)m11;
1671                     if (!(eq_s_b(z, 9, s_133))) goto lab37;
1672                     {   int m_test12 = z->l - z->c;
1673                         {   int m13 = z->l - z->c; (void)m13;
1674                             if (!(eq_s_b(z, 3, s_134))) goto lab38;
1675                             goto lab37;
1676                         lab38:
1677                             z->c = z->l - m13;
1678                         }
1679                         z->c = z->l - m_test12;
1680                     }
1681                     goto lab36;
1682                 lab37:
1683                     z->c = z->l - m11;
1684                     if (!(eq_s_b(z, 9, s_135))) goto lab39;
1685                     goto lab36;
1686                 lab39:
1687                     z->c = z->l - m11;
1688                     if (!(eq_s_b(z, 9, s_136))) goto lab40;
1689                     goto lab36;
1690                 lab40:
1691                     z->c = z->l - m11;
1692                     if (!(eq_s_b(z, 9, s_137))) goto lab41;
1693                     goto lab36;
1694                 lab41:
1695                     z->c = z->l - m11;
1696                     if (!(eq_s_b(z, 3, s_138))) goto lab42;
1697                     goto lab36;
1698                 lab42:
1699                     z->c = z->l - m11;
1700                     if (!(eq_s_b(z, 9, s_139))) goto lab43;
1701                     goto lab36;
1702                 lab43:
1703                     z->c = z->l - m11;
1704                     if (!(eq_s_b(z, 9, s_140))) goto lab44;
1705                     goto lab36;
1706                 lab44:
1707                     z->c = z->l - m11;
1708                     if (!(eq_s_b(z, 9, s_141))) goto lab45;
1709                     goto lab36;
1710                 lab45:
1711                     z->c = z->l - m11;
1712                     if (!(eq_s_b(z, 9, s_142))) goto lab46;
1713                     goto lab36;
1714                 lab46:
1715                     z->c = z->l - m11;
1716                     if (!(eq_s_b(z, 12, s_143))) goto lab47;
1717                     goto lab36;
1718                 lab47:
1719                     z->c = z->l - m11;
1720                     if (!(eq_s_b(z, 12, s_144))) goto lab48;
1721                     goto lab36;
1722                 lab48:
1723                     z->c = z->l - m11;
1724                     if (!(eq_s_b(z, 12, s_145))) goto lab49;
1725                     goto lab36;
1726                 lab49:
1727                     z->c = z->l - m11;
1728                     if (!(eq_s_b(z, 12, s_146))) goto lab50;
1729                     goto lab36;
1730                 lab50:
1731                     z->c = z->l - m11;
1732                     if (!(eq_s_b(z, 9, s_147))) goto lab51;
1733                     goto lab36;
1734                 lab51:
1735                     z->c = z->l - m11;
1736                     if (!(eq_s_b(z, 12, s_148))) goto lab52;
1737                     goto lab36;
1738                 lab52:
1739                     z->c = z->l - m11;
1740                     if (!(eq_s_b(z, 12, s_149))) goto lab53;
1741                     goto lab36;
1742                 lab53:
1743                     z->c = z->l - m11;
1744                     if (!(eq_s_b(z, 9, s_150))) goto lab54;
1745                     goto lab36;
1746                 lab54:
1747                     z->c = z->l - m11;
1748                     if (!(eq_s_b(z, 12, s_151))) goto lab35;
1749                 }
1750             lab36:
1751                 z->bra = z->c;
1752                 {   int ret = slice_from_s(z, 3, s_152);
1753                     if (ret < 0) return ret;
1754                 }
1755                 z->I[1] = 1;
1756                 z->c = z->l - m_test10;
1757             }
1758             goto lab1;
1759         lab35:
1760             z->c = z->l - m2;
1761             {   int m_test14 = z->l - z->c;
1762                 z->ket = z->c;
1763                 {   int m15 = z->l - z->c; (void)m15;
1764                     if (!(eq_s_b(z, 6, s_153))) goto lab56;
1765                     goto lab55;
1766                 lab56:
1767                     z->c = z->l - m15;
1768                     if (!(eq_s_b(z, 6, s_154))) goto lab0;
1769                 }
1770             lab55:
1771                 {   int m_test16 = z->l - z->c;
1772                     if (!(eq_s_b(z, 3, s_155))) goto lab0;
1773                     z->c = z->l - m_test16;
1774                 }
1775                 z->bra = z->c;
1776                 {   int ret = slice_del(z);
1777                     if (ret < 0) return ret;
1778                 }
1779                 z->I[1] = 1;
1780                 z->c = z->l - m_test14;
1781             }
1782         }
1783     lab1:
1784     lab0:
1785         z->c = z->l - m1;
1786     }
1787     {   int m17 = z->l - z->c; (void)m17;
1788         z->ket = z->c;
1789         if (z->c - 8 <= z->lb || (z->p[z->c - 1] != 141 && z->p[z->c - 1] != 177)) goto lab57;
1790         if (!(find_among_b(z, a_25, 6))) goto lab57;
1791         z->bra = z->c;
1792         {   int ret = slice_del(z);
1793             if (ret < 0) return ret;
1794         }
1795         z->I[1] = 1;
1796     lab57:
1797         z->c = z->l - m17;
1798     }
1799     z->c = z->lb;
1800 
1801     {   int ret = r_fix_endings(z);
1802         if (ret < 0) return ret;
1803     }
1804     return 1;
1805 }
1806 
tamil_UTF_8_stem(struct SN_env * z)1807 extern int tamil_UTF_8_stem(struct SN_env * z) {
1808     z->I[0] = 0;
1809     {   int c1 = z->c;
1810         {   int ret = r_fix_ending(z);
1811             if (ret < 0) return ret;
1812         }
1813         z->c = c1;
1814     }
1815     {   int ret = r_has_min_length(z);
1816         if (ret <= 0) return ret;
1817     }
1818     {   int c2 = z->c;
1819         {   int ret = r_remove_question_prefixes(z);
1820             if (ret < 0) return ret;
1821         }
1822         z->c = c2;
1823     }
1824     {   int c3 = z->c;
1825         {   int ret = r_remove_pronoun_prefixes(z);
1826             if (ret < 0) return ret;
1827         }
1828         z->c = c3;
1829     }
1830     {   int c4 = z->c;
1831         {   int ret = r_remove_question_suffixes(z);
1832             if (ret < 0) return ret;
1833         }
1834         z->c = c4;
1835     }
1836     {   int c5 = z->c;
1837         {   int ret = r_remove_um(z);
1838             if (ret < 0) return ret;
1839         }
1840         z->c = c5;
1841     }
1842     {   int c6 = z->c;
1843         {   int ret = r_remove_common_word_endings(z);
1844             if (ret < 0) return ret;
1845         }
1846         z->c = c6;
1847     }
1848     {   int c7 = z->c;
1849         {   int ret = r_remove_vetrumai_urupukal(z);
1850             if (ret < 0) return ret;
1851         }
1852         z->c = c7;
1853     }
1854     {   int c8 = z->c;
1855         {   int ret = r_remove_plural_suffix(z);
1856             if (ret < 0) return ret;
1857         }
1858         z->c = c8;
1859     }
1860     {   int c9 = z->c;
1861         {   int ret = r_remove_command_suffixes(z);
1862             if (ret < 0) return ret;
1863         }
1864         z->c = c9;
1865     }
1866     {   int c10 = z->c;
1867         {   int ret = r_remove_tense_suffixes(z);
1868             if (ret < 0) return ret;
1869         }
1870         z->c = c10;
1871     }
1872     return 1;
1873 }
1874 
tamil_UTF_8_create_env(void)1875 extern struct SN_env * tamil_UTF_8_create_env(void) { return SN_create_env(0, 2); }
1876 
tamil_UTF_8_close_env(struct SN_env * z)1877 extern void tamil_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); }
1878 
1879