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