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