PostgreSQL Source Code git master
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
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
6extern "C" {
7#endif
8extern int tamil_UTF_8_stem(struct SN_env * z);
9#ifdef __cplusplus
10}
11#endif
12static int r_has_min_length(struct SN_env * z);
13static int r_remove_common_word_endings(struct SN_env * z);
14static int r_remove_tense_suffixes(struct SN_env * z);
15static int r_remove_tense_suffix(struct SN_env * z);
16static int r_fix_endings(struct SN_env * z);
17static int r_fix_ending(struct SN_env * z);
18static int r_fix_va_start(struct SN_env * z);
19static int r_remove_vetrumai_urupukal(struct SN_env * z);
20static int r_remove_um(struct SN_env * z);
21static int r_remove_command_suffixes(struct SN_env * z);
22static int r_remove_pronoun_prefixes(struct SN_env * z);
23static int r_remove_question_prefixes(struct SN_env * z);
24static int r_remove_question_suffixes(struct SN_env * z);
25static int r_remove_plural_suffix(struct SN_env * z);
26#ifdef __cplusplus
27extern "C" {
28#endif
29
30
31extern struct SN_env * tamil_UTF_8_create_env(void);
32extern void tamil_UTF_8_close_env(struct SN_env * z);
33
34
35#ifdef __cplusplus
36}
37#endif
38static const symbol s_0_0[3] = { 0xE0, 0xAE, 0x95 };
39static const symbol s_0_1[3] = { 0xE0, 0xAE, 0x99 };
40static const symbol s_0_2[3] = { 0xE0, 0xAE, 0x9A };
41static const symbol s_0_3[3] = { 0xE0, 0xAE, 0x9E };
42static const symbol s_0_4[3] = { 0xE0, 0xAE, 0xA4 };
43static const symbol s_0_5[3] = { 0xE0, 0xAE, 0xA8 };
44static const symbol s_0_6[3] = { 0xE0, 0xAE, 0xAA };
45static const symbol s_0_7[3] = { 0xE0, 0xAE, 0xAE };
46static const symbol s_0_8[3] = { 0xE0, 0xAE, 0xAF };
47static const symbol s_0_9[3] = { 0xE0, 0xAE, 0xB5 };
48
49static 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
63static const symbol s_1_0[12] = { 0xE0, 0xAE, 0xA8, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x8D };
64static const symbol s_1_1[6] = { 0xE0, 0xAE, 0xA8, 0xE0, 0xAF, 0x8D };
65static const symbol s_1_2[9] = { 0xE0, 0xAE, 0xA8, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xA4 };
66
67static 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
74static const symbol s_2_0[3] = { 0xE0, 0xAF, 0x80 };
75static const symbol s_2_1[3] = { 0xE0, 0xAF, 0x88 };
76static const symbol s_2_2[3] = { 0xE0, 0xAE, 0xBF };
77
78static 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
85static const symbol s_3_0[3] = { 0xE0, 0xAE, 0x95 };
86static const symbol s_3_1[3] = { 0xE0, 0xAE, 0x9A };
87static const symbol s_3_2[3] = { 0xE0, 0xAE, 0x9F };
88static const symbol s_3_3[3] = { 0xE0, 0xAE, 0xA4 };
89static const symbol s_3_4[3] = { 0xE0, 0xAE, 0xAA };
90static const symbol s_3_5[3] = { 0xE0, 0xAE, 0xB1 };
91
92static 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
102static const symbol s_4_0[3] = { 0xE0, 0xAE, 0x95 };
103static const symbol s_4_1[3] = { 0xE0, 0xAE, 0x9A };
104static const symbol s_4_2[3] = { 0xE0, 0xAE, 0x9F };
105static const symbol s_4_3[3] = { 0xE0, 0xAE, 0xA4 };
106static const symbol s_4_4[3] = { 0xE0, 0xAE, 0xAA };
107static const symbol s_4_5[3] = { 0xE0, 0xAE, 0xB1 };
108
109static 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
119static const symbol s_5_0[3] = { 0xE0, 0xAE, 0x95 };
120static const symbol s_5_1[3] = { 0xE0, 0xAE, 0x9A };
121static const symbol s_5_2[3] = { 0xE0, 0xAE, 0x9F };
122static const symbol s_5_3[3] = { 0xE0, 0xAE, 0xA4 };
123static const symbol s_5_4[3] = { 0xE0, 0xAE, 0xAA };
124static const symbol s_5_5[3] = { 0xE0, 0xAE, 0xB1 };
125
126static 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
136static const symbol s_6_0[3] = { 0xE0, 0xAE, 0xAF };
137static const symbol s_6_1[3] = { 0xE0, 0xAE, 0xB0 };
138static const symbol s_6_2[3] = { 0xE0, 0xAE, 0xB2 };
139static const symbol s_6_3[3] = { 0xE0, 0xAE, 0xB3 };
140static const symbol s_6_4[3] = { 0xE0, 0xAE, 0xB4 };
141static const symbol s_6_5[3] = { 0xE0, 0xAE, 0xB5 };
142
143static 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
153static const symbol s_7_0[3] = { 0xE0, 0xAE, 0x99 };
154static const symbol s_7_1[3] = { 0xE0, 0xAE, 0x9E };
155static const symbol s_7_2[3] = { 0xE0, 0xAE, 0xA3 };
156static const symbol s_7_3[3] = { 0xE0, 0xAE, 0xA8 };
157static const symbol s_7_4[3] = { 0xE0, 0xAE, 0xA9 };
158static const symbol s_7_5[3] = { 0xE0, 0xAE, 0xAE };
159
160static 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
170static const symbol s_8_0[6] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x8D };
171static const symbol s_8_1[3] = { 0xE0, 0xAE, 0xAF };
172static const symbol s_8_2[3] = { 0xE0, 0xAE, 0xB5 };
173
174static 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
181static const symbol s_9_0[3] = { 0xE0, 0xAF, 0x80 };
182static const symbol s_9_1[3] = { 0xE0, 0xAF, 0x81 };
183static const symbol s_9_2[3] = { 0xE0, 0xAF, 0x82 };
184static const symbol s_9_3[3] = { 0xE0, 0xAF, 0x86 };
185static const symbol s_9_4[3] = { 0xE0, 0xAF, 0x87 };
186static const symbol s_9_5[3] = { 0xE0, 0xAF, 0x88 };
187static const symbol s_9_6[3] = { 0xE0, 0xAE, 0xBE };
188static const symbol s_9_7[3] = { 0xE0, 0xAE, 0xBF };
189
190static 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
202static const symbol s_10_0[3] = { 0xE0, 0xAF, 0x80 };
203static const symbol s_10_1[3] = { 0xE0, 0xAF, 0x81 };
204static const symbol s_10_2[3] = { 0xE0, 0xAF, 0x82 };
205static const symbol s_10_3[3] = { 0xE0, 0xAF, 0x86 };
206static const symbol s_10_4[3] = { 0xE0, 0xAF, 0x87 };
207static const symbol s_10_5[3] = { 0xE0, 0xAF, 0x88 };
208static const symbol s_10_6[3] = { 0xE0, 0xAE, 0xBE };
209static const symbol s_10_7[3] = { 0xE0, 0xAE, 0xBF };
210
211static 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
223static const symbol s_11_0[3] = { 0xE0, 0xAE, 0x85 };
224static const symbol s_11_1[3] = { 0xE0, 0xAE, 0x87 };
225static const symbol s_11_2[3] = { 0xE0, 0xAE, 0x89 };
226
227static 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
234static const symbol s_12_0[3] = { 0xE0, 0xAE, 0x95 };
235static const symbol s_12_1[3] = { 0xE0, 0xAE, 0x99 };
236static const symbol s_12_2[3] = { 0xE0, 0xAE, 0x9A };
237static const symbol s_12_3[3] = { 0xE0, 0xAE, 0x9E };
238static const symbol s_12_4[3] = { 0xE0, 0xAE, 0xA4 };
239static const symbol s_12_5[3] = { 0xE0, 0xAE, 0xA8 };
240static const symbol s_12_6[3] = { 0xE0, 0xAE, 0xAA };
241static const symbol s_12_7[3] = { 0xE0, 0xAE, 0xAE };
242static const symbol s_12_8[3] = { 0xE0, 0xAE, 0xAF };
243static const symbol s_12_9[3] = { 0xE0, 0xAE, 0xB5 };
244
245static 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
259static const symbol s_13_0[3] = { 0xE0, 0xAE, 0x95 };
260static const symbol s_13_1[3] = { 0xE0, 0xAE, 0x9A };
261static const symbol s_13_2[3] = { 0xE0, 0xAE, 0x9F };
262static const symbol s_13_3[3] = { 0xE0, 0xAE, 0xA4 };
263static const symbol s_13_4[3] = { 0xE0, 0xAE, 0xAA };
264static const symbol s_13_5[3] = { 0xE0, 0xAE, 0xB1 };
265
266static 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
276static const symbol s_14_0[3] = { 0xE0, 0xAF, 0x87 };
277static const symbol s_14_1[3] = { 0xE0, 0xAF, 0x8B };
278static const symbol s_14_2[3] = { 0xE0, 0xAE, 0xBE };
279
280static 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
287static const symbol s_15_0[6] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0xBF };
288static const symbol s_15_1[6] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAE, 0xBF };
289
290static 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
296static const symbol s_16_0[3] = { 0xE0, 0xAF, 0x80 };
297static const symbol s_16_1[3] = { 0xE0, 0xAF, 0x81 };
298static const symbol s_16_2[3] = { 0xE0, 0xAF, 0x82 };
299static const symbol s_16_3[3] = { 0xE0, 0xAF, 0x86 };
300static const symbol s_16_4[3] = { 0xE0, 0xAF, 0x87 };
301static const symbol s_16_5[3] = { 0xE0, 0xAF, 0x88 };
302static const symbol s_16_6[3] = { 0xE0, 0xAE, 0xBE };
303static const symbol s_16_7[3] = { 0xE0, 0xAE, 0xBF };
304
305static 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
317static const symbol s_17_0[15] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81 };
318static const symbol s_17_1[18] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81 };
319static const symbol s_17_2[9] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81 };
320static const symbol s_17_3[12] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81 };
321static const symbol s_17_4[18] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x9F, 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x81 };
322static 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 };
323static const symbol s_17_6[12] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x9F };
324static const symbol s_17_7[15] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x9F, 0xE0, 0xAE, 0xA3 };
325static const symbol s_17_8[9] = { 0xE0, 0xAE, 0xA4, 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xA9 };
326static const symbol s_17_9[18] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0x9F, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA4, 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xA9 };
327static const symbol s_17_10[15] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xB0, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xAF };
328static const symbol s_17_11[9] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0x9F, 0xE0, 0xAE, 0xBF };
329static const symbol s_17_12[15] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1, 0xE0, 0xAE, 0xBF };
330
331static 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
348static const symbol s_18_0[3] = { 0xE0, 0xAE, 0x95 };
349static const symbol s_18_1[3] = { 0xE0, 0xAE, 0x9A };
350static const symbol s_18_2[3] = { 0xE0, 0xAE, 0x9F };
351static const symbol s_18_3[3] = { 0xE0, 0xAE, 0xA4 };
352static const symbol s_18_4[3] = { 0xE0, 0xAE, 0xAA };
353static const symbol s_18_5[3] = { 0xE0, 0xAE, 0xB1 };
354
355static 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
365static const symbol s_19_0[3] = { 0xE0, 0xAE, 0x95 };
366static const symbol s_19_1[3] = { 0xE0, 0xAE, 0x9A };
367static const symbol s_19_2[3] = { 0xE0, 0xAE, 0x9F };
368static const symbol s_19_3[3] = { 0xE0, 0xAE, 0xA4 };
369static const symbol s_19_4[3] = { 0xE0, 0xAE, 0xAA };
370static const symbol s_19_5[3] = { 0xE0, 0xAE, 0xB1 };
371
372static 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
382static const symbol s_20_0[3] = { 0xE0, 0xAF, 0x80 };
383static const symbol s_20_1[3] = { 0xE0, 0xAF, 0x81 };
384static const symbol s_20_2[3] = { 0xE0, 0xAF, 0x82 };
385static const symbol s_20_3[3] = { 0xE0, 0xAF, 0x86 };
386static const symbol s_20_4[3] = { 0xE0, 0xAF, 0x87 };
387static const symbol s_20_5[3] = { 0xE0, 0xAF, 0x88 };
388static const symbol s_20_6[3] = { 0xE0, 0xAE, 0xBE };
389static const symbol s_20_7[3] = { 0xE0, 0xAE, 0xBF };
390
391static 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
403static const symbol s_21_0[3] = { 0xE0, 0xAF, 0x80 };
404static const symbol s_21_1[3] = { 0xE0, 0xAF, 0x81 };
405static const symbol s_21_2[3] = { 0xE0, 0xAF, 0x82 };
406static const symbol s_21_3[3] = { 0xE0, 0xAF, 0x86 };
407static const symbol s_21_4[3] = { 0xE0, 0xAF, 0x87 };
408static const symbol s_21_5[3] = { 0xE0, 0xAF, 0x88 };
409static const symbol s_21_6[3] = { 0xE0, 0xAE, 0xBE };
410static const symbol s_21_7[3] = { 0xE0, 0xAE, 0xBF };
411
412static 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
424static const symbol s_22_0[9] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81 };
425static 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
427static 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
433static const symbol s_23_0[3] = { 0xE0, 0xAE, 0x85 };
434static const symbol s_23_1[3] = { 0xE0, 0xAE, 0x86 };
435static const symbol s_23_2[3] = { 0xE0, 0xAE, 0x87 };
436static const symbol s_23_3[3] = { 0xE0, 0xAE, 0x88 };
437static const symbol s_23_4[3] = { 0xE0, 0xAE, 0x89 };
438static const symbol s_23_5[3] = { 0xE0, 0xAE, 0x8A };
439static const symbol s_23_6[3] = { 0xE0, 0xAE, 0x8E };
440static const symbol s_23_7[3] = { 0xE0, 0xAE, 0x8F };
441static const symbol s_23_8[3] = { 0xE0, 0xAE, 0x90 };
442static const symbol s_23_9[3] = { 0xE0, 0xAE, 0x92 };
443static const symbol s_23_10[3] = { 0xE0, 0xAE, 0x93 };
444static const symbol s_23_11[3] = { 0xE0, 0xAE, 0x94 };
445
446static 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
462static const symbol s_24_0[3] = { 0xE0, 0xAF, 0x80 };
463static const symbol s_24_1[3] = { 0xE0, 0xAF, 0x81 };
464static const symbol s_24_2[3] = { 0xE0, 0xAF, 0x82 };
465static const symbol s_24_3[3] = { 0xE0, 0xAF, 0x86 };
466static const symbol s_24_4[3] = { 0xE0, 0xAF, 0x87 };
467static const symbol s_24_5[3] = { 0xE0, 0xAF, 0x88 };
468static const symbol s_24_6[3] = { 0xE0, 0xAE, 0xBE };
469static const symbol s_24_7[3] = { 0xE0, 0xAE, 0xBF };
470
471static 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
483static const symbol s_25_0[18] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D };
484static 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 };
485static const symbol s_25_2[12] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D };
486static const symbol s_25_3[15] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1 };
487static const symbol s_25_4[18] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xA8, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1 };
488static const symbol s_25_5[9] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB1 };
489
490static 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
500static const symbol s_0[] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x8B };
501static const symbol s_1[] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x8B };
502static const symbol s_2[] = { 0xE0, 0xAE, 0x93 };
503static const symbol s_3[] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x8A };
504static const symbol s_4[] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x8A };
505static const symbol s_5[] = { 0xE0, 0xAE, 0x92 };
506static const symbol s_6[] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x81 };
507static const symbol s_7[] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x81 };
508static const symbol s_8[] = { 0xE0, 0xAE, 0x89 };
509static const symbol s_9[] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x82 };
510static const symbol s_10[] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x82 };
511static const symbol s_11[] = { 0xE0, 0xAE, 0x8A };
512static const symbol s_12[] = { 0xE0, 0xAE, 0x8E };
513static const symbol s_13[] = { 0xE0, 0xAF, 0x8D };
514static const symbol s_14[] = { 0xE0, 0xAE, 0xAF, 0xE0, 0xAF, 0x8D };
515static const symbol s_15[] = { 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xAA, 0xE0, 0xAF, 0x8D };
516static const symbol s_16[] = { 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x8D };
517static const symbol s_17[] = { 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
518static const symbol s_18[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D };
519static const symbol s_19[] = { 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D };
520static const symbol s_20[] = { 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x8D };
521static const symbol s_21[] = { 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D };
522static const symbol s_22[] = { 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D };
523static const symbol s_23[] = { 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81 };
524static const symbol s_24[] = { 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x8D };
525static const symbol s_25[] = { 0xE0, 0xAF, 0x88 };
526static const symbol s_26[] = { 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
527static const symbol s_27[] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x8D };
528static const symbol s_28[] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x8D };
529static const symbol s_29[] = { 0xE0, 0xAF, 0x8D };
530static const symbol s_30[] = { 0xE0, 0xAF, 0x8D };
531static const symbol s_31[] = { 0xE0, 0xAF, 0x8D };
532static const symbol s_32[] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x8D };
533static const symbol s_33[] = { 0xE0, 0xAF, 0x8D };
534static const symbol s_34[] = { 0xE0, 0xAF, 0x8D };
535static const symbol s_35[] = { 0xE0, 0xAF, 0x8D };
536static const symbol s_36[] = { 0xE0, 0xAF, 0x8D };
537static const symbol s_37[] = { 0xE0, 0xAF, 0x8D };
538static const symbol s_38[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x81 };
539static const symbol s_39[] = { 0xE0, 0xAE, 0x99, 0xE0, 0xAF, 0x8D };
540static const symbol s_40[] = { 0xE0, 0xAF, 0x88 };
541static const symbol s_41[] = { 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
542static const symbol s_42[] = { 0xE0, 0xAE, 0x99, 0xE0, 0xAF, 0x8D };
543static const symbol s_43[] = { 0xE0, 0xAF, 0x8D };
544static const symbol s_44[] = { 0xE0, 0xAF, 0x8D };
545static const symbol s_45[] = { 0xE0, 0xAF, 0x8D };
546static const symbol s_46[] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x99, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
547static const symbol s_47[] = { 0xE0, 0xAF, 0x8D };
548static const symbol s_48[] = { 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
549static const symbol s_49[] = { 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D };
550static const symbol s_50[] = { 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
551static const symbol s_51[] = { 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
552static const symbol s_52[] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
553static const symbol s_53[] = { 0xE0, 0xAF, 0x8D };
554static const symbol s_54[] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
555static const symbol s_55[] = { 0xE0, 0xAF, 0x8D };
556static const symbol s_56[] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x9F, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
557static const symbol s_57[] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x88 };
558static const symbol s_58[] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0x9F, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
559static const symbol s_59[] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1, 0xE0, 0xAE, 0xBF };
560static const symbol s_60[] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xBF };
561static const symbol s_61[] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xAF };
562static const symbol s_62[] = { 0xE0, 0xAF, 0x86, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x81 };
563static const symbol s_63[] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB3 };
564static const symbol s_64[] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x88, 0xE0, 0xAE, 0xAF };
565static const symbol s_65[] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x88 };
566static const symbol s_66[] = { 0xE0, 0xAF, 0x86, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
567static const symbol s_67[] = { 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB2 };
568static const symbol s_68[] = { 0xE0, 0xAF, 0x86, 0xE0, 0xAE, 0xA9 };
569static const symbol s_69[] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xBF };
570static const symbol s_70[] = { 0xE0, 0xAF, 0x8D };
571static const symbol s_71[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x88 };
572static const symbol s_72[] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x88 };
573static const symbol s_73[] = { 0xE0, 0xAF, 0x88 };
574static const symbol s_74[] = { 0xE0, 0xAF, 0x88 };
575static const symbol s_75[] = { 0xE0, 0xAF, 0x8D };
576static const symbol s_76[] = { 0xE0, 0xAF, 0x8D };
577static const symbol s_77[] = { 0xE0, 0xAF, 0x8A, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81 };
578static const symbol s_78[] = { 0xE0, 0xAF, 0x8B, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81 };
579static const symbol s_79[] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D };
580static const symbol s_80[] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D };
581static const symbol s_81[] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
582static const symbol s_82[] = { 0xE0, 0xAE, 0xAE };
583static const symbol s_83[] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x81 };
584static 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 };
585static const symbol s_85[] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0x9F };
586static const symbol s_86[] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0x9F, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
587static const symbol s_87[] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D };
588static const symbol s_88[] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x88 };
589static const symbol s_89[] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xAE, 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D };
590static const symbol s_90[] = { 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D };
591static const symbol s_91[] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
592static const symbol s_92[] = { 0xE0, 0xAF, 0x8D };
593static const symbol s_93[] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xA3, 0xE0, 0xAF, 0x8D };
594static const symbol s_94[] = { 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
595static const symbol s_95[] = { 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x87, 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D };
596static const symbol s_96[] = { 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x87, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D };
597static const symbol s_97[] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x80, 0xE0, 0xAE, 0xB4, 0xE0, 0xAF, 0x8D };
598static const symbol s_98[] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
599static const symbol s_99[] = { 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x81 };
600static const symbol s_100[] = { 0xE0, 0xAF, 0x80 };
601static const symbol s_101[] = { 0xE0, 0xAE, 0xBF };
602static const symbol s_102[] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
603static const symbol s_103[] = { 0xE0, 0xAF, 0x8D };
604static const symbol s_104[] = { 0xE0, 0xAE, 0xAE, 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
605static const symbol s_105[] = { 0xE0, 0xAE, 0xAE, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
606static const symbol s_106[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
607static const symbol s_107[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
608static const symbol s_108[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
609static const symbol s_109[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
610static const symbol s_110[] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
611static const symbol s_111[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
612static const symbol s_112[] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
613static const symbol s_113[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
614static const symbol s_114[] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
615static const symbol s_115[] = { 0xE0, 0xAE, 0xA9 };
616static const symbol s_116[] = { 0xE0, 0xAE, 0xAA };
617static const symbol s_117[] = { 0xE0, 0xAE, 0x95 };
618static const symbol s_118[] = { 0xE0, 0xAE, 0xA4 };
619static const symbol s_119[] = { 0xE0, 0xAE, 0xAF };
620static const symbol s_120[] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
621static const symbol s_121[] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
622static const symbol s_122[] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
623static const symbol s_123[] = { 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x81 };
624static const symbol s_124[] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x81 };
625static const symbol s_125[] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
626static const symbol s_126[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
627static const symbol s_127[] = { 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
628static const symbol s_128[] = { 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
629static const symbol s_129[] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
630static const symbol s_130[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x86, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
631static const symbol s_131[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x88 };
632static const symbol s_132[] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x88 };
633static const symbol s_133[] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
634static const symbol s_134[] = { 0xE0, 0xAE, 0x9A };
635static const symbol s_135[] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
636static const symbol s_136[] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
637static const symbol s_137[] = { 0xE0, 0xAF, 0x87, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
638static const symbol s_138[] = { 0xE0, 0xAE, 0xBE };
639static const symbol s_139[] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
640static const symbol s_140[] = { 0xE0, 0xAF, 0x86, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
641static const symbol s_141[] = { 0xE0, 0xAF, 0x87, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
642static const symbol s_142[] = { 0xE0, 0xAF, 0x8B, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
643static const symbol s_143[] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
644static const symbol s_144[] = { 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
645static const symbol s_145[] = { 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
646static const symbol s_146[] = { 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
647static const symbol s_147[] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xAF, 0xE0, 0xAF, 0x8D };
648static const symbol s_148[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x86, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
649static const symbol s_149[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
650static const symbol s_150[] = { 0xE0, 0xAF, 0x80, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
651static const symbol s_151[] = { 0xE0, 0xAF, 0x80, 0xE0, 0xAE, 0xAF, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
652static const symbol s_152[] = { 0xE0, 0xAF, 0x8D };
653static const symbol s_153[] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x81 };
654static const symbol s_154[] = { 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x81 };
655static const symbol s_155[] = { 0xE0, 0xAF, 0x8D };
656
657static int r_has_min_length(struct SN_env * z) {
658 if (!(len_utf8(z->p) > 4)) return 0;
659 return 1;
660}
661
662static 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 }
730lab0:
731 return 1;
732}
733
734static 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
752static 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
770static 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 }
999lab0:
1000 z->c = z->lb;
1001 return 1;
1002}
1003
1004static 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
1025static 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 }
1073lab0:
1074 z->I[1] = 1;
1075 z->c = z->lb;
1076 return 1;
1077}
1078
1079static 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
1105static 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
1124static 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
1148static 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 }
1244lab0:
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
1253static 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 }
1458lab0:
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
1479static 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
1498static 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
1807extern 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
1875extern struct SN_env * tamil_UTF_8_create_env(void) { return SN_create_env(0, 2); }
1876
1877extern void tamil_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); }
1878
void SN_close_env(struct SN_env *z, int S_size)
Definition: api.c:34
struct SN_env * SN_create_env(int S_size, int I_size)
Definition: api.c:3
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