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