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[6] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x81 };
39static const symbol s_0_1[6] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x82 };
40static const symbol s_0_2[6] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x8A };
41static const symbol s_0_3[6] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x8B };
42
43static const struct among a_0[4] =
44{
45{ 6, s_0_0, -1, 3, 0},
46{ 6, s_0_1, -1, 4, 0},
47{ 6, s_0_2, -1, 2, 0},
48{ 6, s_0_3, -1, 1, 0}
49};
50
51static const symbol s_1_0[3] = { 0xE0, 0xAE, 0x95 };
52static const symbol s_1_1[3] = { 0xE0, 0xAE, 0x99 };
53static const symbol s_1_2[3] = { 0xE0, 0xAE, 0x9A };
54static const symbol s_1_3[3] = { 0xE0, 0xAE, 0x9E };
55static const symbol s_1_4[3] = { 0xE0, 0xAE, 0xA4 };
56static const symbol s_1_5[3] = { 0xE0, 0xAE, 0xA8 };
57static const symbol s_1_6[3] = { 0xE0, 0xAE, 0xAA };
58static const symbol s_1_7[3] = { 0xE0, 0xAE, 0xAE };
59static const symbol s_1_8[3] = { 0xE0, 0xAE, 0xAF };
60static const symbol s_1_9[3] = { 0xE0, 0xAE, 0xB5 };
61
62static const struct among a_1[10] =
63{
64{ 3, s_1_0, -1, -1, 0},
65{ 3, s_1_1, -1, -1, 0},
66{ 3, s_1_2, -1, -1, 0},
67{ 3, s_1_3, -1, -1, 0},
68{ 3, s_1_4, -1, -1, 0},
69{ 3, s_1_5, -1, -1, 0},
70{ 3, s_1_6, -1, -1, 0},
71{ 3, s_1_7, -1, -1, 0},
72{ 3, s_1_8, -1, -1, 0},
73{ 3, s_1_9, -1, -1, 0}
74};
75
76static const symbol s_2_0[3] = { 0xE0, 0xAF, 0x80 };
77static const symbol s_2_1[3] = { 0xE0, 0xAF, 0x88 };
78static const symbol s_2_2[3] = { 0xE0, 0xAE, 0xBF };
79
80static const struct among a_2[3] =
81{
82{ 3, s_2_0, -1, -1, 0},
83{ 3, s_2_1, -1, -1, 0},
84{ 3, s_2_2, -1, -1, 0}
85};
86
87static const symbol s_3_0[3] = { 0xE0, 0xAF, 0x80 };
88static const symbol s_3_1[3] = { 0xE0, 0xAF, 0x81 };
89static const symbol s_3_2[3] = { 0xE0, 0xAF, 0x82 };
90static const symbol s_3_3[3] = { 0xE0, 0xAF, 0x86 };
91static const symbol s_3_4[3] = { 0xE0, 0xAF, 0x87 };
92static const symbol s_3_5[3] = { 0xE0, 0xAF, 0x88 };
93static const symbol s_3_6[3] = { 0xE0, 0xAE, 0xBE };
94static const symbol s_3_7[3] = { 0xE0, 0xAE, 0xBF };
95
96static const struct among a_3[8] =
97{
98{ 3, s_3_0, -1, -1, 0},
99{ 3, s_3_1, -1, -1, 0},
100{ 3, s_3_2, -1, -1, 0},
101{ 3, s_3_3, -1, -1, 0},
102{ 3, s_3_4, -1, -1, 0},
103{ 3, s_3_5, -1, -1, 0},
104{ 3, s_3_6, -1, -1, 0},
105{ 3, s_3_7, -1, -1, 0}
106};
107
108static const symbol s_4_1[3] = { 0xE0, 0xAF, 0x88 };
109static const symbol s_4_2[3] = { 0xE0, 0xAF, 0x8D };
110
111static const struct among a_4[3] =
112{
113{ 0, 0, -1, 2, 0},
114{ 3, s_4_1, 0, 1, 0},
115{ 3, s_4_2, 0, 1, 0}
116};
117
118static const symbol s_5_0[6] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x81 };
119static const symbol s_5_1[9] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x8D };
120static const symbol s_5_2[15] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x8D };
121static const symbol s_5_3[12] = { 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x8D };
122static const symbol s_5_4[12] = { 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x8D };
123static const symbol s_5_5[6] = { 0xE0, 0xAE, 0x99, 0xE0, 0xAF, 0x8D };
124static const symbol s_5_6[12] = { 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D };
125static const symbol s_5_7[12] = { 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x8D };
126static const symbol s_5_8[12] = { 0xE0, 0xAE, 0xA8, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x8D };
127static const symbol s_5_9[6] = { 0xE0, 0xAE, 0xA8, 0xE0, 0xAF, 0x8D };
128static const symbol s_5_10[12] = { 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xAA, 0xE0, 0xAF, 0x8D };
129static const symbol s_5_11[6] = { 0xE0, 0xAE, 0xAF, 0xE0, 0xAF, 0x8D };
130static const symbol s_5_12[12] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D };
131static const symbol s_5_13[6] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x8D };
132static const symbol s_5_14[9] = { 0xE0, 0xAE, 0xA8, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xA4 };
133static const symbol s_5_15[3] = { 0xE0, 0xAE, 0xAF };
134static const symbol s_5_16[3] = { 0xE0, 0xAE, 0xB5 };
135
136static const struct among a_5[17] =
137{
138{ 6, s_5_0, -1, 8, 0},
139{ 9, s_5_1, -1, 7, 0},
140{ 15, s_5_2, -1, 7, 0},
141{ 12, s_5_3, -1, 3, 0},
142{ 12, s_5_4, -1, 4, 0},
143{ 6, s_5_5, -1, 9, 0},
144{ 12, s_5_6, -1, 5, 0},
145{ 12, s_5_7, -1, 6, 0},
146{ 12, s_5_8, -1, 1, 0},
147{ 6, s_5_9, -1, 1, 0},
148{ 12, s_5_10, -1, 3, 0},
149{ 6, s_5_11, -1, 2, 0},
150{ 12, s_5_12, -1, 4, 0},
151{ 6, s_5_13, -1, 1, 0},
152{ 9, s_5_14, -1, 1, 0},
153{ 3, s_5_15, -1, 1, 0},
154{ 3, s_5_16, -1, 1, 0}
155};
156
157static const symbol s_6_0[3] = { 0xE0, 0xAE, 0x95 };
158static const symbol s_6_1[3] = { 0xE0, 0xAE, 0x9A };
159static const symbol s_6_2[3] = { 0xE0, 0xAE, 0x9F };
160static const symbol s_6_3[3] = { 0xE0, 0xAE, 0xA4 };
161static const symbol s_6_4[3] = { 0xE0, 0xAE, 0xAA };
162static const symbol s_6_5[3] = { 0xE0, 0xAE, 0xB1 };
163
164static const struct among a_6[6] =
165{
166{ 3, s_6_0, -1, -1, 0},
167{ 3, s_6_1, -1, -1, 0},
168{ 3, s_6_2, -1, -1, 0},
169{ 3, s_6_3, -1, -1, 0},
170{ 3, s_6_4, -1, -1, 0},
171{ 3, s_6_5, -1, -1, 0}
172};
173
174static const symbol s_7_0[3] = { 0xE0, 0xAE, 0x95 };
175static const symbol s_7_1[3] = { 0xE0, 0xAE, 0x9A };
176static const symbol s_7_2[3] = { 0xE0, 0xAE, 0x9F };
177static const symbol s_7_3[3] = { 0xE0, 0xAE, 0xA4 };
178static const symbol s_7_4[3] = { 0xE0, 0xAE, 0xAA };
179static const symbol s_7_5[3] = { 0xE0, 0xAE, 0xB1 };
180
181static const struct among a_7[6] =
182{
183{ 3, s_7_0, -1, -1, 0},
184{ 3, s_7_1, -1, -1, 0},
185{ 3, s_7_2, -1, -1, 0},
186{ 3, s_7_3, -1, -1, 0},
187{ 3, s_7_4, -1, -1, 0},
188{ 3, s_7_5, -1, -1, 0}
189};
190
191static const symbol s_8_0[3] = { 0xE0, 0xAE, 0x9E };
192static const symbol s_8_1[3] = { 0xE0, 0xAE, 0xA3 };
193static const symbol s_8_2[3] = { 0xE0, 0xAE, 0xA8 };
194static const symbol s_8_3[3] = { 0xE0, 0xAE, 0xA9 };
195static const symbol s_8_4[3] = { 0xE0, 0xAE, 0xAE };
196static const symbol s_8_5[3] = { 0xE0, 0xAE, 0xAF };
197static const symbol s_8_6[3] = { 0xE0, 0xAE, 0xB0 };
198static const symbol s_8_7[3] = { 0xE0, 0xAE, 0xB2 };
199static const symbol s_8_8[3] = { 0xE0, 0xAE, 0xB3 };
200static const symbol s_8_9[3] = { 0xE0, 0xAE, 0xB4 };
201static const symbol s_8_10[3] = { 0xE0, 0xAE, 0xB5 };
202
203static const struct among a_8[11] =
204{
205{ 3, s_8_0, -1, -1, 0},
206{ 3, s_8_1, -1, -1, 0},
207{ 3, s_8_2, -1, -1, 0},
208{ 3, s_8_3, -1, -1, 0},
209{ 3, s_8_4, -1, -1, 0},
210{ 3, s_8_5, -1, -1, 0},
211{ 3, s_8_6, -1, -1, 0},
212{ 3, s_8_7, -1, -1, 0},
213{ 3, s_8_8, -1, -1, 0},
214{ 3, s_8_9, -1, -1, 0},
215{ 3, s_8_10, -1, -1, 0}
216};
217
218static const symbol s_9_0[3] = { 0xE0, 0xAF, 0x80 };
219static const symbol s_9_1[3] = { 0xE0, 0xAF, 0x81 };
220static const symbol s_9_2[3] = { 0xE0, 0xAF, 0x82 };
221static const symbol s_9_3[3] = { 0xE0, 0xAF, 0x86 };
222static const symbol s_9_4[3] = { 0xE0, 0xAF, 0x87 };
223static const symbol s_9_5[3] = { 0xE0, 0xAF, 0x88 };
224static const symbol s_9_6[3] = { 0xE0, 0xAF, 0x8D };
225static const symbol s_9_7[3] = { 0xE0, 0xAE, 0xBE };
226static const symbol s_9_8[3] = { 0xE0, 0xAE, 0xBF };
227
228static const struct among a_9[9] =
229{
230{ 3, s_9_0, -1, -1, 0},
231{ 3, s_9_1, -1, -1, 0},
232{ 3, s_9_2, -1, -1, 0},
233{ 3, s_9_3, -1, -1, 0},
234{ 3, s_9_4, -1, -1, 0},
235{ 3, s_9_5, -1, -1, 0},
236{ 3, s_9_6, -1, -1, 0},
237{ 3, s_9_7, -1, -1, 0},
238{ 3, s_9_8, -1, -1, 0}
239};
240
241static const symbol s_10_0[3] = { 0xE0, 0xAE, 0x85 };
242static const symbol s_10_1[3] = { 0xE0, 0xAE, 0x87 };
243static const symbol s_10_2[3] = { 0xE0, 0xAE, 0x89 };
244
245static const struct among a_10[3] =
246{
247{ 3, s_10_0, -1, -1, 0},
248{ 3, s_10_1, -1, -1, 0},
249{ 3, s_10_2, -1, -1, 0}
250};
251
252static const symbol s_11_0[3] = { 0xE0, 0xAE, 0x95 };
253static const symbol s_11_1[3] = { 0xE0, 0xAE, 0x99 };
254static const symbol s_11_2[3] = { 0xE0, 0xAE, 0x9A };
255static const symbol s_11_3[3] = { 0xE0, 0xAE, 0x9E };
256static const symbol s_11_4[3] = { 0xE0, 0xAE, 0xA4 };
257static const symbol s_11_5[3] = { 0xE0, 0xAE, 0xA8 };
258static const symbol s_11_6[3] = { 0xE0, 0xAE, 0xAA };
259static const symbol s_11_7[3] = { 0xE0, 0xAE, 0xAE };
260static const symbol s_11_8[3] = { 0xE0, 0xAE, 0xAF };
261static const symbol s_11_9[3] = { 0xE0, 0xAE, 0xB5 };
262
263static const struct among a_11[10] =
264{
265{ 3, s_11_0, -1, -1, 0},
266{ 3, s_11_1, -1, -1, 0},
267{ 3, s_11_2, -1, -1, 0},
268{ 3, s_11_3, -1, -1, 0},
269{ 3, s_11_4, -1, -1, 0},
270{ 3, s_11_5, -1, -1, 0},
271{ 3, s_11_6, -1, -1, 0},
272{ 3, s_11_7, -1, -1, 0},
273{ 3, s_11_8, -1, -1, 0},
274{ 3, s_11_9, -1, -1, 0}
275};
276
277static const symbol s_12_0[3] = { 0xE0, 0xAE, 0x95 };
278static const symbol s_12_1[3] = { 0xE0, 0xAE, 0x9A };
279static const symbol s_12_2[3] = { 0xE0, 0xAE, 0x9F };
280static const symbol s_12_3[3] = { 0xE0, 0xAE, 0xA4 };
281static const symbol s_12_4[3] = { 0xE0, 0xAE, 0xAA };
282static const symbol s_12_5[3] = { 0xE0, 0xAE, 0xB1 };
283
284static const struct among a_12[6] =
285{
286{ 3, s_12_0, -1, -1, 0},
287{ 3, s_12_1, -1, -1, 0},
288{ 3, s_12_2, -1, -1, 0},
289{ 3, s_12_3, -1, -1, 0},
290{ 3, s_12_4, -1, -1, 0},
291{ 3, s_12_5, -1, -1, 0}
292};
293
294static const symbol s_13_0[9] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
295static const symbol s_13_1[18] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x99, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
296static const symbol s_13_2[15] = { 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
297static const symbol s_13_3[15] = { 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
298
299static const struct among a_13[4] =
300{
301{ 9, s_13_0, -1, 4, 0},
302{ 18, s_13_1, 0, 1, 0},
303{ 15, s_13_2, 0, 3, 0},
304{ 15, s_13_3, 0, 2, 0}
305};
306
307static const symbol s_14_0[3] = { 0xE0, 0xAF, 0x87 };
308static const symbol s_14_1[3] = { 0xE0, 0xAF, 0x8B };
309static const symbol s_14_2[3] = { 0xE0, 0xAE, 0xBE };
310
311static const struct among a_14[3] =
312{
313{ 3, s_14_0, -1, -1, 0},
314{ 3, s_14_1, -1, -1, 0},
315{ 3, s_14_2, -1, -1, 0}
316};
317
318static const symbol s_15_0[6] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0xBF };
319static const symbol s_15_1[6] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAE, 0xBF };
320
321static const struct among a_15[2] =
322{
323{ 6, s_15_0, -1, -1, 0},
324{ 6, s_15_1, -1, -1, 0}
325};
326
327static const symbol s_16_0[3] = { 0xE0, 0xAF, 0x80 };
328static const symbol s_16_1[3] = { 0xE0, 0xAF, 0x81 };
329static const symbol s_16_2[3] = { 0xE0, 0xAF, 0x82 };
330static const symbol s_16_3[3] = { 0xE0, 0xAF, 0x86 };
331static const symbol s_16_4[3] = { 0xE0, 0xAF, 0x87 };
332static const symbol s_16_5[3] = { 0xE0, 0xAF, 0x88 };
333static const symbol s_16_6[3] = { 0xE0, 0xAE, 0xBE };
334static const symbol s_16_7[3] = { 0xE0, 0xAE, 0xBF };
335
336static const struct among a_16[8] =
337{
338{ 3, s_16_0, -1, -1, 0},
339{ 3, s_16_1, -1, -1, 0},
340{ 3, s_16_2, -1, -1, 0},
341{ 3, s_16_3, -1, -1, 0},
342{ 3, s_16_4, -1, -1, 0},
343{ 3, s_16_5, -1, -1, 0},
344{ 3, s_16_6, -1, -1, 0},
345{ 3, s_16_7, -1, -1, 0}
346};
347
348static const symbol s_17_0[15] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81 };
349static const symbol s_17_1[18] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81 };
350static const symbol s_17_2[9] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81 };
351static const symbol s_17_3[12] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81 };
352static const symbol s_17_4[18] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x9F, 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x81 };
353static const symbol s_17_5[15] = { 0xE0, 0xAF, 0x86, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x81 };
354static const symbol s_17_6[9] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x88 };
355static const symbol s_17_7[15] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x88 };
356static const symbol s_17_8[12] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x9F, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
357static const symbol s_17_9[15] = { 0xE0, 0xAF, 0x86, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
358static const symbol s_17_10[12] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0x9F, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
359static const symbol s_17_11[21] = { 0xE0, 0xAF, 0x86, 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB2, 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
360static const symbol s_17_12[12] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x9F };
361static const symbol s_17_13[15] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x9F, 0xE0, 0xAE, 0xA3 };
362static const symbol s_17_14[6] = { 0xE0, 0xAF, 0x86, 0xE0, 0xAE, 0xA9 };
363static const symbol s_17_15[9] = { 0xE0, 0xAE, 0xA4, 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xA9 };
364static const symbol s_17_16[18] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0x9F, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA4, 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xA9 };
365static const symbol s_17_17[12] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x88, 0xE0, 0xAE, 0xAF };
366static const symbol s_17_18[12] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xAF };
367static const symbol s_17_19[15] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xB0, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xAF };
368static const symbol s_17_20[9] = { 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB2 };
369static const symbol s_17_21[12] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB3 };
370static const symbol s_17_22[9] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xBF };
371static const symbol s_17_23[9] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0x9F, 0xE0, 0xAE, 0xBF };
372static const symbol s_17_24[15] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1, 0xE0, 0xAE, 0xBF };
373static const symbol s_17_25[15] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1, 0xE0, 0xAE, 0xBF };
374
375static const struct among a_17[26] =
376{
377{ 15, s_17_0, -1, 3, 0},
378{ 18, s_17_1, -1, 3, 0},
379{ 9, s_17_2, -1, 3, 0},
380{ 12, s_17_3, -1, 3, 0},
381{ 18, s_17_4, -1, 3, 0},
382{ 15, s_17_5, -1, 1, 0},
383{ 9, s_17_6, -1, 1, 0},
384{ 15, s_17_7, -1, 1, 0},
385{ 12, s_17_8, -1, 1, 0},
386{ 15, s_17_9, -1, 1, 0},
387{ 12, s_17_10, -1, 1, 0},
388{ 21, s_17_11, -1, 3, 0},
389{ 12, s_17_12, -1, 3, 0},
390{ 15, s_17_13, -1, 3, 0},
391{ 6, s_17_14, -1, 1, 0},
392{ 9, s_17_15, -1, 3, 0},
393{ 18, s_17_16, 15, 3, 0},
394{ 12, s_17_17, -1, 1, 0},
395{ 12, s_17_18, -1, 1, 0},
396{ 15, s_17_19, -1, 3, 0},
397{ 9, s_17_20, -1, 2, 0},
398{ 12, s_17_21, -1, 1, 0},
399{ 9, s_17_22, -1, 1, 0},
400{ 9, s_17_23, -1, 3, 0},
401{ 15, s_17_24, -1, 1, 0},
402{ 15, s_17_25, -1, 3, 0}
403};
404
405static const symbol s_18_0[3] = { 0xE0, 0xAF, 0x80 };
406static const symbol s_18_1[3] = { 0xE0, 0xAF, 0x81 };
407static const symbol s_18_2[3] = { 0xE0, 0xAF, 0x82 };
408static const symbol s_18_3[3] = { 0xE0, 0xAF, 0x86 };
409static const symbol s_18_4[3] = { 0xE0, 0xAF, 0x87 };
410static const symbol s_18_5[3] = { 0xE0, 0xAF, 0x88 };
411static const symbol s_18_6[3] = { 0xE0, 0xAE, 0xBE };
412static const symbol s_18_7[3] = { 0xE0, 0xAE, 0xBF };
413
414static const struct among a_18[8] =
415{
416{ 3, s_18_0, -1, -1, 0},
417{ 3, s_18_1, -1, -1, 0},
418{ 3, s_18_2, -1, -1, 0},
419{ 3, s_18_3, -1, -1, 0},
420{ 3, s_18_4, -1, -1, 0},
421{ 3, s_18_5, -1, -1, 0},
422{ 3, s_18_6, -1, -1, 0},
423{ 3, s_18_7, -1, -1, 0}
424};
425
426static const symbol s_19_0[3] = { 0xE0, 0xAF, 0x80 };
427static const symbol s_19_1[3] = { 0xE0, 0xAF, 0x81 };
428static const symbol s_19_2[3] = { 0xE0, 0xAF, 0x82 };
429static const symbol s_19_3[3] = { 0xE0, 0xAF, 0x86 };
430static const symbol s_19_4[3] = { 0xE0, 0xAF, 0x87 };
431static const symbol s_19_5[3] = { 0xE0, 0xAF, 0x88 };
432static const symbol s_19_6[3] = { 0xE0, 0xAE, 0xBE };
433static const symbol s_19_7[3] = { 0xE0, 0xAE, 0xBF };
434
435static const struct among a_19[8] =
436{
437{ 3, s_19_0, -1, -1, 0},
438{ 3, s_19_1, -1, -1, 0},
439{ 3, s_19_2, -1, -1, 0},
440{ 3, s_19_3, -1, -1, 0},
441{ 3, s_19_4, -1, -1, 0},
442{ 3, s_19_5, -1, -1, 0},
443{ 3, s_19_6, -1, -1, 0},
444{ 3, s_19_7, -1, -1, 0}
445};
446
447static const symbol s_20_0[3] = { 0xE0, 0xAF, 0x80 };
448static const symbol s_20_1[9] = { 0xE0, 0xAF, 0x8A, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81 };
449static const symbol s_20_2[9] = { 0xE0, 0xAF, 0x8B, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81 };
450static const symbol s_20_3[6] = { 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x81 };
451static const symbol s_20_4[21] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xA8, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x81 };
452static const symbol s_20_5[15] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x81 };
453static const symbol s_20_6[9] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x88 };
454static const symbol s_20_7[6] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x88 };
455static const symbol s_20_8[9] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xA3, 0xE0, 0xAF, 0x8D };
456static const symbol s_20_9[12] = { 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
457static const symbol s_20_10[9] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
458static const symbol s_20_11[12] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0x9F, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
459static const symbol s_20_12[12] = { 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x87, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D };
460static const symbol s_20_13[9] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D };
461static const symbol s_20_14[6] = { 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D };
462static const symbol s_20_15[12] = { 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x87, 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D };
463static const symbol s_20_16[12] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xAE, 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D };
464static const symbol s_20_17[9] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D };
465static const symbol s_20_18[9] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D };
466static const symbol s_20_19[9] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
467static const symbol s_20_20[12] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x80, 0xE0, 0xAE, 0xB4, 0xE0, 0xAF, 0x8D };
468static const symbol s_20_21[9] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0x9F };
469
470static const struct among a_20[22] =
471{
472{ 3, s_20_0, -1, 7, 0},
473{ 9, s_20_1, -1, 2, 0},
474{ 9, s_20_2, -1, 2, 0},
475{ 6, s_20_3, -1, 6, 0},
476{ 21, s_20_4, 3, 2, 0},
477{ 15, s_20_5, -1, 2, 0},
478{ 9, s_20_6, -1, 2, 0},
479{ 6, s_20_7, -1, 1, 0},
480{ 9, s_20_8, -1, 1, 0},
481{ 12, s_20_9, -1, 1, 0},
482{ 9, s_20_10, -1, 3, 0},
483{ 12, s_20_11, -1, 4, 0},
484{ 12, s_20_12, -1, 1, 0},
485{ 9, s_20_13, -1, 2, 0},
486{ 6, s_20_14, -1, 5, 0},
487{ 12, s_20_15, 14, 1, 0},
488{ 12, s_20_16, 14, 2, 0},
489{ 9, s_20_17, 14, 2, 0},
490{ 9, s_20_18, 14, 2, 0},
491{ 9, s_20_19, -1, 2, 0},
492{ 12, s_20_20, -1, 1, 0},
493{ 9, s_20_21, -1, 2, 0}
494};
495
496static const symbol s_21_0[3] = { 0xE0, 0xAE, 0x95 };
497static const symbol s_21_1[3] = { 0xE0, 0xAE, 0x9A };
498static const symbol s_21_2[3] = { 0xE0, 0xAE, 0x9F };
499static const symbol s_21_3[3] = { 0xE0, 0xAE, 0xA4 };
500static const symbol s_21_4[3] = { 0xE0, 0xAE, 0xAA };
501static const symbol s_21_5[3] = { 0xE0, 0xAE, 0xB1 };
502
503static const struct among a_21[6] =
504{
505{ 3, s_21_0, -1, -1, 0},
506{ 3, s_21_1, -1, -1, 0},
507{ 3, s_21_2, -1, -1, 0},
508{ 3, s_21_3, -1, -1, 0},
509{ 3, s_21_4, -1, -1, 0},
510{ 3, s_21_5, -1, -1, 0}
511};
512
513static const symbol s_22_0[3] = { 0xE0, 0xAE, 0x95 };
514static const symbol s_22_1[3] = { 0xE0, 0xAE, 0x9A };
515static const symbol s_22_2[3] = { 0xE0, 0xAE, 0x9F };
516static const symbol s_22_3[3] = { 0xE0, 0xAE, 0xA4 };
517static const symbol s_22_4[3] = { 0xE0, 0xAE, 0xAA };
518static const symbol s_22_5[3] = { 0xE0, 0xAE, 0xB1 };
519
520static const struct among a_22[6] =
521{
522{ 3, s_22_0, -1, -1, 0},
523{ 3, s_22_1, -1, -1, 0},
524{ 3, s_22_2, -1, -1, 0},
525{ 3, s_22_3, -1, -1, 0},
526{ 3, s_22_4, -1, -1, 0},
527{ 3, s_22_5, -1, -1, 0}
528};
529
530static const symbol s_23_0[3] = { 0xE0, 0xAE, 0x85 };
531static const symbol s_23_1[3] = { 0xE0, 0xAE, 0x86 };
532static const symbol s_23_2[3] = { 0xE0, 0xAE, 0x87 };
533static const symbol s_23_3[3] = { 0xE0, 0xAE, 0x88 };
534static const symbol s_23_4[3] = { 0xE0, 0xAE, 0x89 };
535static const symbol s_23_5[3] = { 0xE0, 0xAE, 0x8A };
536static const symbol s_23_6[3] = { 0xE0, 0xAE, 0x8E };
537static const symbol s_23_7[3] = { 0xE0, 0xAE, 0x8F };
538static const symbol s_23_8[3] = { 0xE0, 0xAE, 0x90 };
539static const symbol s_23_9[3] = { 0xE0, 0xAE, 0x92 };
540static const symbol s_23_10[3] = { 0xE0, 0xAE, 0x93 };
541static const symbol s_23_11[3] = { 0xE0, 0xAE, 0x94 };
542
543static const struct among a_23[12] =
544{
545{ 3, s_23_0, -1, -1, 0},
546{ 3, s_23_1, -1, -1, 0},
547{ 3, s_23_2, -1, -1, 0},
548{ 3, s_23_3, -1, -1, 0},
549{ 3, s_23_4, -1, -1, 0},
550{ 3, s_23_5, -1, -1, 0},
551{ 3, s_23_6, -1, -1, 0},
552{ 3, s_23_7, -1, -1, 0},
553{ 3, s_23_8, -1, -1, 0},
554{ 3, s_23_9, -1, -1, 0},
555{ 3, s_23_10, -1, -1, 0},
556{ 3, s_23_11, -1, -1, 0}
557};
558
559static const symbol s_24_0[3] = { 0xE0, 0xAF, 0x80 };
560static const symbol s_24_1[3] = { 0xE0, 0xAF, 0x81 };
561static const symbol s_24_2[3] = { 0xE0, 0xAF, 0x82 };
562static const symbol s_24_3[3] = { 0xE0, 0xAF, 0x86 };
563static const symbol s_24_4[3] = { 0xE0, 0xAF, 0x87 };
564static const symbol s_24_5[3] = { 0xE0, 0xAF, 0x88 };
565static const symbol s_24_6[3] = { 0xE0, 0xAE, 0xBE };
566static const symbol s_24_7[3] = { 0xE0, 0xAE, 0xBF };
567
568static const struct among a_24[8] =
569{
570{ 3, s_24_0, -1, -1, 0},
571{ 3, s_24_1, -1, -1, 0},
572{ 3, s_24_2, -1, -1, 0},
573{ 3, s_24_3, -1, -1, 0},
574{ 3, s_24_4, -1, -1, 0},
575{ 3, s_24_5, -1, -1, 0},
576{ 3, s_24_6, -1, -1, 0},
577{ 3, s_24_7, -1, -1, 0}
578};
579
580static const symbol s_25_0[6] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x81 };
581static const symbol s_25_1[9] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81 };
582static const symbol s_25_2[6] = { 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x81 };
583static const symbol s_25_3[15] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x81 };
584static const symbol s_25_4[6] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x88 };
585static const symbol s_25_5[6] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x88 };
586static const symbol s_25_6[12] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x86, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
587static const symbol s_25_7[9] = { 0xE0, 0xAF, 0x87, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
588static const symbol s_25_8[9] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
589static const symbol s_25_9[9] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
590static const symbol s_25_10[9] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
591static const symbol s_25_11[9] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
592static const symbol s_25_12[12] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
593static const symbol s_25_13[12] = { 0xE0, 0xAE, 0xAE, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
594static const symbol s_25_14[12] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
595static const symbol s_25_15[12] = { 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
596static const symbol s_25_16[12] = { 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
597static const symbol s_25_17[12] = { 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
598static const symbol s_25_18[9] = { 0xE0, 0xAF, 0x86, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
599static const symbol s_25_19[9] = { 0xE0, 0xAF, 0x87, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
600static const symbol s_25_20[9] = { 0xE0, 0xAF, 0x8B, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
601static const symbol s_25_21[9] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
602static const symbol s_25_22[9] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
603static const symbol s_25_23[9] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
604static const symbol s_25_24[9] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xAF, 0xE0, 0xAF, 0x8D };
605static const symbol s_25_25[9] = { 0xE0, 0xAF, 0x80, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
606static const symbol s_25_26[9] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
607static const symbol s_25_27[9] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
608static const symbol s_25_28[12] = { 0xE0, 0xAF, 0x80, 0xE0, 0xAE, 0xAF, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
609static const symbol s_25_29[9] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
610static const symbol s_25_30[9] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
611static const symbol s_25_31[12] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
612static const symbol s_25_32[12] = { 0xE0, 0xAE, 0xAE, 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
613static const symbol s_25_33[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 };
614static const symbol s_25_34[12] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
615static const symbol s_25_35[9] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
616static const symbol s_25_36[9] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
617static const symbol s_25_37[9] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
618static const symbol s_25_38[9] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
619static const symbol s_25_39[12] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
620static const symbol s_25_40[3] = { 0xE0, 0xAE, 0x95 };
621static const symbol s_25_41[3] = { 0xE0, 0xAE, 0xA4 };
622static const symbol s_25_42[3] = { 0xE0, 0xAE, 0xA9 };
623static const symbol s_25_43[3] = { 0xE0, 0xAE, 0xAA };
624static const symbol s_25_44[3] = { 0xE0, 0xAE, 0xAF };
625static const symbol s_25_45[3] = { 0xE0, 0xAE, 0xBE };
626
627static const struct among a_25[46] =
628{
629{ 6, s_25_0, -1, 6, 0},
630{ 9, s_25_1, -1, 1, 0},
631{ 6, s_25_2, -1, 3, 0},
632{ 15, s_25_3, -1, 1, 0},
633{ 6, s_25_4, -1, 1, 0},
634{ 6, s_25_5, -1, 1, 0},
635{ 12, s_25_6, -1, 1, 0},
636{ 9, s_25_7, -1, 5, 0},
637{ 9, s_25_8, -1, 1, 0},
638{ 9, s_25_9, -1, 1, 0},
639{ 9, s_25_10, -1, 2, 0},
640{ 9, s_25_11, -1, 4, 0},
641{ 12, s_25_12, 11, 1, 0},
642{ 12, s_25_13, -1, 1, 0},
643{ 12, s_25_14, -1, 1, 0},
644{ 12, s_25_15, -1, 5, 0},
645{ 12, s_25_16, -1, 1, 0},
646{ 12, s_25_17, -1, 1, 0},
647{ 9, s_25_18, -1, 5, 0},
648{ 9, s_25_19, -1, 5, 0},
649{ 9, s_25_20, -1, 5, 0},
650{ 9, s_25_21, -1, 1, 0},
651{ 9, s_25_22, -1, 1, 0},
652{ 9, s_25_23, -1, 5, 0},
653{ 9, s_25_24, -1, 5, 0},
654{ 9, s_25_25, -1, 5, 0},
655{ 9, s_25_26, -1, 1, 0},
656{ 9, s_25_27, -1, 1, 0},
657{ 12, s_25_28, -1, 5, 0},
658{ 9, s_25_29, -1, 1, 0},
659{ 9, s_25_30, -1, 5, 0},
660{ 12, s_25_31, 30, 1, 0},
661{ 12, s_25_32, 30, 1, 0},
662{ 24, s_25_33, -1, 1, 0},
663{ 12, s_25_34, -1, 5, 0},
664{ 9, s_25_35, -1, 1, 0},
665{ 9, s_25_36, -1, 1, 0},
666{ 9, s_25_37, -1, 1, 0},
667{ 9, s_25_38, -1, 5, 0},
668{ 12, s_25_39, 38, 1, 0},
669{ 3, s_25_40, -1, 1, 0},
670{ 3, s_25_41, -1, 1, 0},
671{ 3, s_25_42, -1, 1, 0},
672{ 3, s_25_43, -1, 1, 0},
673{ 3, s_25_44, -1, 1, 0},
674{ 3, s_25_45, -1, 5, 0}
675};
676
677static const symbol s_26_0[18] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D };
678static const symbol s_26_1[21] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xA8, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D };
679static const symbol s_26_2[12] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D };
680static const symbol s_26_3[15] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1 };
681static const symbol s_26_4[18] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xA8, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1 };
682static const symbol s_26_5[9] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB1 };
683
684static const struct among a_26[6] =
685{
686{ 18, s_26_0, -1, -1, 0},
687{ 21, s_26_1, -1, -1, 0},
688{ 12, s_26_2, -1, -1, 0},
689{ 15, s_26_3, -1, -1, 0},
690{ 18, s_26_4, -1, -1, 0},
691{ 9, s_26_5, -1, -1, 0}
692};
693
694static const symbol s_0[] = { 0xE0, 0xAE, 0x93 };
695static const symbol s_1[] = { 0xE0, 0xAE, 0x92 };
696static const symbol s_2[] = { 0xE0, 0xAE, 0x89 };
697static const symbol s_3[] = { 0xE0, 0xAE, 0x8A };
698static const symbol s_4[] = { 0xE0, 0xAE, 0x8E };
699static const symbol s_5[] = { 0xE0, 0xAF, 0x8D };
700static const symbol s_6[] = { 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
701static const symbol s_7[] = { 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D };
702static const symbol s_8[] = { 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81 };
703static const symbol s_9[] = { 0xE0, 0xAF, 0x88 };
704static const symbol s_10[] = { 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
705static const symbol s_11[] = { 0xE0, 0xAF, 0x8D };
706static const symbol s_12[] = { 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
707static const symbol s_13[] = { 0xE0, 0xAF, 0x8D };
708static const symbol s_14[] = { 0xE0, 0xAF, 0x8D };
709static const symbol s_15[] = { 0xE0, 0xAF, 0x8D };
710static const symbol s_16[] = { 0xE0, 0xAF, 0x8D };
711static const symbol s_17[] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x99, 0xE0, 0xAF, 0x8D };
712static const symbol s_18[] = { 0xE0, 0xAF, 0x8D };
713static const symbol s_19[] = { 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D };
714static const symbol s_20[] = { 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
715static const symbol s_21[] = { 0xE0, 0xAF, 0x8D };
716static const symbol s_22[] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
717static const symbol s_23[] = { 0xE0, 0xAF, 0x8D };
718static const symbol s_24[] = { 0xE0, 0xAF, 0x8D };
719static const symbol s_25[] = { 0xE0, 0xAF, 0x8D };
720static const symbol s_26[] = { 0xE0, 0xAF, 0x8D };
721static const symbol s_27[] = { 0xE0, 0xAE, 0xAE };
722static const symbol s_28[] = { 0xE0, 0xAF, 0x8D };
723static const symbol s_29[] = { 0xE0, 0xAF, 0x8D };
724static const symbol s_30[] = { 0xE0, 0xAF, 0x8D };
725static const symbol s_31[] = { 0xE0, 0xAE, 0xBF };
726static const symbol s_32[] = { 0xE0, 0xAF, 0x88 };
727static const symbol s_33[] = { 0xE0, 0xAF, 0x8D };
728static const symbol s_34[] = { 0xE0, 0xAF, 0x8D };
729static const symbol s_35[] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
730static const symbol s_36[] = { 0xE0, 0xAF, 0x8D };
731static const symbol s_37[] = { 0xE0, 0xAE, 0x9A };
732static const symbol s_38[] = { 0xE0, 0xAF, 0x8D };
733static const symbol s_39[] = { 0xE0, 0xAF, 0x8D };
734static const symbol s_40[] = { 0xE0, 0xAF, 0x8D };
735
736static int r_has_min_length(struct SN_env * z) {
737 return len_utf8(z->p) > 4;
738}
739
740static int r_fix_va_start(struct SN_env * z) {
741 int among_var;
742 z->bra = z->c;
743 if (z->c + 5 >= z->l || z->p[z->c + 5] >> 5 != 4 || !((3078 >> (z->p[z->c + 5] & 0x1f)) & 1)) return 0;
744 among_var = find_among(z, a_0, 4);
745 if (!among_var) return 0;
746 z->ket = z->c;
747 switch (among_var) {
748 case 1:
749 { int ret = slice_from_s(z, 3, s_0);
750 if (ret < 0) return ret;
751 }
752 break;
753 case 2:
754 { int ret = slice_from_s(z, 3, s_1);
755 if (ret < 0) return ret;
756 }
757 break;
758 case 3:
759 { int ret = slice_from_s(z, 3, s_2);
760 if (ret < 0) return ret;
761 }
762 break;
763 case 4:
764 { int ret = slice_from_s(z, 3, s_3);
765 if (ret < 0) return ret;
766 }
767 break;
768 }
769 return 1;
770}
771
772static int r_fix_endings(struct SN_env * z) {
773 { int c1 = z->c;
774 while(1) {
775 int c2 = z->c;
776 { int ret = r_fix_ending(z);
777 if (ret == 0) goto lab1;
778 if (ret < 0) return ret;
779 }
780 continue;
781 lab1:
782 z->c = c2;
783 break;
784 }
785 z->c = c1;
786 }
787 return 1;
788}
789
790static int r_remove_question_prefixes(struct SN_env * z) {
791 z->bra = z->c;
792 if (!(eq_s(z, 3, s_4))) return 0;
793 if (!find_among(z, a_1, 10)) return 0;
794 if (!(eq_s(z, 3, s_5))) return 0;
795 z->ket = z->c;
796 { int ret = slice_del(z);
797 if (ret < 0) return ret;
798 }
799 { int c1 = z->c;
800 { int ret = r_fix_va_start(z);
801 if (ret < 0) return ret;
802 }
803 z->c = c1;
804 }
805 return 1;
806}
807
808static int r_fix_ending(struct SN_env * z) {
809 int among_var;
810 if (len_utf8(z->p) <= 3) return 0;
811 z->lb = z->c; z->c = z->l;
812
813 { int m1 = z->l - z->c; (void)m1;
814 z->ket = z->c;
815 among_var = find_among_b(z, a_5, 17);
816 if (!among_var) goto lab1;
817 z->bra = z->c;
818 switch (among_var) {
819 case 1:
820 { int ret = slice_del(z);
821 if (ret < 0) return ret;
822 }
823 break;
824 case 2:
825 { int m_test2 = z->l - z->c;
826 if (!find_among_b(z, a_2, 3)) goto lab1;
827 z->c = z->l - m_test2;
828 }
829 { int ret = slice_del(z);
830 if (ret < 0) return ret;
831 }
832 break;
833 case 3:
834 { int ret = slice_from_s(z, 6, s_6);
835 if (ret < 0) return ret;
836 }
837 break;
838 case 4:
839 { int ret = slice_from_s(z, 6, s_7);
840 if (ret < 0) return ret;
841 }
842 break;
843 case 5:
844 { int ret = slice_from_s(z, 6, s_8);
845 if (ret < 0) return ret;
846 }
847 break;
848 case 6:
849 if (!(z->I[0])) goto lab1;
850 { int m3 = z->l - z->c; (void)m3;
851 if (!(eq_s_b(z, 3, s_9))) goto lab2;
852 goto lab1;
853 lab2:
854 z->c = z->l - m3;
855 }
856 { int ret = slice_from_s(z, 6, s_10);
857 if (ret < 0) return ret;
858 }
859 break;
860 case 7:
861 { int ret = slice_from_s(z, 3, s_11);
862 if (ret < 0) return ret;
863 }
864 break;
865 case 8:
866 { int m4 = z->l - z->c; (void)m4;
867 if (!find_among_b(z, a_3, 8)) goto lab3;
868 goto lab1;
869 lab3:
870 z->c = z->l - m4;
871 }
872 { int ret = slice_del(z);
873 if (ret < 0) return ret;
874 }
875 break;
876 case 9:
877 if (z->c - 2 <= z->lb || (z->p[z->c - 1] != 136 && z->p[z->c - 1] != 141)) among_var = 2; else
878 among_var = find_among_b(z, a_4, 3);
879 switch (among_var) {
880 case 1:
881 { int ret = slice_del(z);
882 if (ret < 0) return ret;
883 }
884 break;
885 case 2:
886 { int ret = slice_from_s(z, 6, s_12);
887 if (ret < 0) return ret;
888 }
889 break;
890 }
891 break;
892 }
893 goto lab0;
894 lab1:
895 z->c = z->l - m1;
896 z->ket = z->c;
897 if (!(eq_s_b(z, 3, s_13))) return 0;
898 { int m5 = z->l - z->c; (void)m5;
899 if (!find_among_b(z, a_6, 6)) goto lab5;
900 { int m6 = z->l - z->c; (void)m6;
901 if (!(eq_s_b(z, 3, s_14))) { z->c = z->l - m6; goto lab6; }
902 if (!find_among_b(z, a_7, 6)) { z->c = z->l - m6; goto lab6; }
903 lab6:
904 ;
905 }
906 z->bra = z->c;
907 { int ret = slice_del(z);
908 if (ret < 0) return ret;
909 }
910 goto lab4;
911 lab5:
912 z->c = z->l - m5;
913 if (!find_among_b(z, a_8, 11)) goto lab7;
914 z->bra = z->c;
915 if (!(eq_s_b(z, 3, s_15))) goto lab7;
916 { int ret = slice_del(z);
917 if (ret < 0) return ret;
918 }
919 goto lab4;
920 lab7:
921 z->c = z->l - m5;
922 { int m_test7 = z->l - z->c;
923 if (!find_among_b(z, a_9, 9)) return 0;
924 z->c = z->l - m_test7;
925 }
926 z->bra = z->c;
927 { int ret = slice_del(z);
928 if (ret < 0) return ret;
929 }
930 }
931 lab4:
932 ;
933 }
934lab0:
935 z->c = z->lb;
936 return 1;
937}
938
939static int r_remove_pronoun_prefixes(struct SN_env * z) {
940 z->bra = z->c;
941 if (z->c + 2 >= z->l || z->p[z->c + 2] >> 5 != 4 || !((672 >> (z->p[z->c + 2] & 0x1f)) & 1)) return 0;
942 if (!find_among(z, a_10, 3)) return 0;
943 if (!find_among(z, a_11, 10)) return 0;
944 if (!(eq_s(z, 3, s_16))) return 0;
945 z->ket = z->c;
946 { int ret = slice_del(z);
947 if (ret < 0) return ret;
948 }
949 { int c1 = z->c;
950 { int ret = r_fix_va_start(z);
951 if (ret < 0) return ret;
952 }
953 z->c = c1;
954 }
955 return 1;
956}
957
958static int r_remove_plural_suffix(struct SN_env * z) {
959 int among_var;
960 z->lb = z->c; z->c = z->l;
961
962 z->ket = z->c;
963 if (z->c - 8 <= z->lb || z->p[z->c - 1] != 141) return 0;
964 among_var = find_among_b(z, a_13, 4);
965 if (!among_var) return 0;
966 z->bra = z->c;
967 switch (among_var) {
968 case 1:
969 { int m1 = z->l - z->c; (void)m1;
970 if (!find_among_b(z, a_12, 6)) goto lab1;
971 { int ret = slice_from_s(z, 9, s_17);
972 if (ret < 0) return ret;
973 }
974 goto lab0;
975 lab1:
976 z->c = z->l - m1;
977 { int ret = slice_from_s(z, 3, s_18);
978 if (ret < 0) return ret;
979 }
980 }
981 lab0:
982 break;
983 case 2:
984 { int ret = slice_from_s(z, 6, s_19);
985 if (ret < 0) return ret;
986 }
987 break;
988 case 3:
989 { int ret = slice_from_s(z, 6, s_20);
990 if (ret < 0) return ret;
991 }
992 break;
993 case 4:
994 { int ret = slice_del(z);
995 if (ret < 0) return ret;
996 }
997 break;
998 }
999 z->c = z->lb;
1000 return 1;
1001}
1002
1003static int r_remove_question_suffixes(struct SN_env * z) {
1004 { int ret = r_has_min_length(z);
1005 if (ret <= 0) return ret;
1006 }
1007 z->lb = z->c; z->c = z->l;
1008
1009 { int m1 = z->l - z->c; (void)m1;
1010 z->ket = z->c;
1011 if (!find_among_b(z, a_14, 3)) goto lab0;
1012 z->bra = z->c;
1013 { int ret = slice_from_s(z, 3, s_21);
1014 if (ret < 0) return ret;
1015 }
1016 lab0:
1017 z->c = z->l - m1;
1018 }
1019 z->c = z->lb;
1020
1021 { int ret = r_fix_endings(z);
1022 if (ret < 0) return ret;
1023 }
1024 return 1;
1025}
1026
1027static int r_remove_command_suffixes(struct SN_env * z) {
1028 { int ret = r_has_min_length(z);
1029 if (ret <= 0) return ret;
1030 }
1031 z->lb = z->c; z->c = z->l;
1032
1033 z->ket = z->c;
1034 if (z->c - 5 <= z->lb || z->p[z->c - 1] != 191) return 0;
1035 if (!find_among_b(z, a_15, 2)) return 0;
1036 z->bra = z->c;
1037 { int ret = slice_del(z);
1038 if (ret < 0) return ret;
1039 }
1040 z->c = z->lb;
1041 return 1;
1042}
1043
1044static int r_remove_um(struct SN_env * z) {
1045 { int ret = r_has_min_length(z);
1046 if (ret <= 0) return ret;
1047 }
1048 z->lb = z->c; z->c = z->l;
1049
1050 z->ket = z->c;
1051 if (!(eq_s_b(z, 9, s_22))) return 0;
1052 z->bra = z->c;
1053 { int ret = slice_from_s(z, 3, s_23);
1054 if (ret < 0) return ret;
1055 }
1056 z->c = z->lb;
1057 { int c1 = z->c;
1058 { int ret = r_fix_ending(z);
1059 if (ret < 0) return ret;
1060 }
1061 z->c = c1;
1062 }
1063 return 1;
1064}
1065
1066static int r_remove_common_word_endings(struct SN_env * z) {
1067 int among_var;
1068 { int ret = r_has_min_length(z);
1069 if (ret <= 0) return ret;
1070 }
1071 z->lb = z->c; z->c = z->l;
1072
1073 z->ket = z->c;
1074 among_var = find_among_b(z, a_17, 26);
1075 if (!among_var) return 0;
1076 z->bra = z->c;
1077 switch (among_var) {
1078 case 1:
1079 { int ret = slice_from_s(z, 3, s_24);
1080 if (ret < 0) return ret;
1081 }
1082 break;
1083 case 2:
1084 { int m1 = z->l - z->c; (void)m1;
1085 if (!find_among_b(z, a_16, 8)) goto lab0;
1086 return 0;
1087 lab0:
1088 z->c = z->l - m1;
1089 }
1090 { int ret = slice_from_s(z, 3, s_25);
1091 if (ret < 0) return ret;
1092 }
1093 break;
1094 case 3:
1095 { int ret = slice_del(z);
1096 if (ret < 0) return ret;
1097 }
1098 break;
1099 }
1100 z->c = z->lb;
1101
1102 { int ret = r_fix_endings(z);
1103 if (ret < 0) return ret;
1104 }
1105 return 1;
1106}
1107
1108static int r_remove_vetrumai_urupukal(struct SN_env * z) {
1109 int among_var;
1110 z->I[0] = 0;
1111 { int ret = r_has_min_length(z);
1112 if (ret <= 0) return ret;
1113 }
1114 z->lb = z->c; z->c = z->l;
1115
1116 { int m1 = z->l - z->c; (void)m1;
1117 { int m_test2 = z->l - z->c;
1118 z->ket = z->c;
1119 if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 4 || !((-2147475197 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab1;
1120 among_var = find_among_b(z, a_20, 22);
1121 if (!among_var) goto lab1;
1122 z->bra = z->c;
1123 switch (among_var) {
1124 case 1:
1125 { int ret = slice_del(z);
1126 if (ret < 0) return ret;
1127 }
1128 break;
1129 case 2:
1130 { int ret = slice_from_s(z, 3, s_26);
1131 if (ret < 0) return ret;
1132 }
1133 break;
1134 case 3:
1135 { int m3 = z->l - z->c; (void)m3;
1136 if (!(eq_s_b(z, 3, s_27))) goto lab2;
1137 goto lab1;
1138 lab2:
1139 z->c = z->l - m3;
1140 }
1141 { int ret = slice_from_s(z, 3, s_28);
1142 if (ret < 0) return ret;
1143 }
1144 break;
1145 case 4:
1146 if (len_utf8(z->p) < 7) goto lab1;
1147 { int ret = slice_from_s(z, 3, s_29);
1148 if (ret < 0) return ret;
1149 }
1150 break;
1151 case 5:
1152 { int m4 = z->l - z->c; (void)m4;
1153 if (!find_among_b(z, a_18, 8)) goto lab3;
1154 goto lab1;
1155 lab3:
1156 z->c = z->l - m4;
1157 }
1158 { int ret = slice_from_s(z, 3, s_30);
1159 if (ret < 0) return ret;
1160 }
1161 break;
1162 case 6:
1163 { int m5 = z->l - z->c; (void)m5;
1164 if (!find_among_b(z, a_19, 8)) goto lab4;
1165 goto lab1;
1166 lab4:
1167 z->c = z->l - m5;
1168 }
1169 { int ret = slice_del(z);
1170 if (ret < 0) return ret;
1171 }
1172 break;
1173 case 7:
1174 { int ret = slice_from_s(z, 3, s_31);
1175 if (ret < 0) return ret;
1176 }
1177 break;
1178 }
1179 z->c = z->l - m_test2;
1180 }
1181 goto lab0;
1182 lab1:
1183 z->c = z->l - m1;
1184 { int m_test6 = z->l - z->c;
1185 z->ket = z->c;
1186 if (!(eq_s_b(z, 3, s_32))) return 0;
1187 { int m7 = z->l - z->c; (void)m7;
1188 { int m8 = z->l - z->c; (void)m8;
1189 if (!find_among_b(z, a_21, 6)) goto lab7;
1190 goto lab6;
1191 lab7:
1192 z->c = z->l - m8;
1193 }
1194 goto lab5;
1195 lab6:
1196 z->c = z->l - m7;
1197 { int m_test9 = z->l - z->c;
1198 if (!find_among_b(z, a_22, 6)) return 0;
1199 if (!(eq_s_b(z, 3, s_33))) return 0;
1200 z->c = z->l - m_test9;
1201 }
1202 }
1203 lab5:
1204 z->bra = z->c;
1205 { int ret = slice_from_s(z, 3, s_34);
1206 if (ret < 0) return ret;
1207 }
1208 z->c = z->l - m_test6;
1209 }
1210 }
1211lab0:
1212 z->I[0] = 1;
1213 { int m10 = z->l - z->c; (void)m10;
1214 z->ket = z->c;
1215 if (!(eq_s_b(z, 9, s_35))) goto lab8;
1216 z->bra = z->c;
1217 { int ret = slice_from_s(z, 3, s_36);
1218 if (ret < 0) return ret;
1219 }
1220 lab8:
1221 z->c = z->l - m10;
1222 }
1223 z->c = z->lb;
1224
1225 { int ret = r_fix_endings(z);
1226 if (ret < 0) return ret;
1227 }
1228 return 1;
1229}
1230
1231static int r_remove_tense_suffixes(struct SN_env * z) {
1232 z->I[1] = 1;
1233 while(1) {
1234 int c1 = z->c;
1235 if (!(z->I[1])) goto lab0;
1236 { int c2 = z->c;
1237 { int ret = r_remove_tense_suffix(z);
1238 if (ret < 0) return ret;
1239 }
1240 z->c = c2;
1241 }
1242 continue;
1243 lab0:
1244 z->c = c1;
1245 break;
1246 }
1247 return 1;
1248}
1249
1250static int r_remove_tense_suffix(struct SN_env * z) {
1251 int among_var;
1252 z->I[1] = 0;
1253 { int ret = r_has_min_length(z);
1254 if (ret <= 0) return ret;
1255 }
1256 z->lb = z->c; z->c = z->l;
1257
1258 { int m1 = z->l - z->c; (void)m1;
1259 { int m_test2 = z->l - z->c;
1260 z->ket = z->c;
1261 among_var = find_among_b(z, a_25, 46);
1262 if (!among_var) goto lab0;
1263 z->bra = z->c;
1264 switch (among_var) {
1265 case 1:
1266 { int ret = slice_del(z);
1267 if (ret < 0) return ret;
1268 }
1269 break;
1270 case 2:
1271 { int m3 = z->l - z->c; (void)m3;
1272 if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 4 || !((1951712 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab1;
1273 if (!find_among_b(z, a_23, 12)) goto lab1;
1274 goto lab0;
1275 lab1:
1276 z->c = z->l - m3;
1277 }
1278 { int ret = slice_del(z);
1279 if (ret < 0) return ret;
1280 }
1281 break;
1282 case 3:
1283 { int m4 = z->l - z->c; (void)m4;
1284 if (!find_among_b(z, a_24, 8)) goto lab2;
1285 goto lab0;
1286 lab2:
1287 z->c = z->l - m4;
1288 }
1289 { int ret = slice_del(z);
1290 if (ret < 0) return ret;
1291 }
1292 break;
1293 case 4:
1294 { int m5 = z->l - z->c; (void)m5;
1295 if (!(eq_s_b(z, 3, s_37))) goto lab3;
1296 goto lab0;
1297 lab3:
1298 z->c = z->l - m5;
1299 }
1300 { int ret = slice_from_s(z, 3, s_38);
1301 if (ret < 0) return ret;
1302 }
1303 break;
1304 case 5:
1305 { int ret = slice_from_s(z, 3, s_39);
1306 if (ret < 0) return ret;
1307 }
1308 break;
1309 case 6:
1310 { int m_test6 = z->l - z->c;
1311 if (!(eq_s_b(z, 3, s_40))) goto lab0;
1312 z->c = z->l - m_test6;
1313 }
1314 { int ret = slice_del(z);
1315 if (ret < 0) return ret;
1316 }
1317 break;
1318 }
1319 z->I[1] = 1;
1320 z->c = z->l - m_test2;
1321 }
1322 lab0:
1323 z->c = z->l - m1;
1324 }
1325 { int m7 = z->l - z->c; (void)m7;
1326 z->ket = z->c;
1327 if (z->c - 8 <= z->lb || (z->p[z->c - 1] != 141 && z->p[z->c - 1] != 177)) goto lab4;
1328 if (!find_among_b(z, a_26, 6)) goto lab4;
1329 z->bra = z->c;
1330 { int ret = slice_del(z);
1331 if (ret < 0) return ret;
1332 }
1333 z->I[1] = 1;
1334 lab4:
1335 z->c = z->l - m7;
1336 }
1337 z->c = z->lb;
1338
1339 { int ret = r_fix_endings(z);
1340 if (ret < 0) return ret;
1341 }
1342 return 1;
1343}
1344
1345extern int tamil_UTF_8_stem(struct SN_env * z) {
1346 z->I[0] = 0;
1347 { int c1 = z->c;
1348 { int ret = r_fix_ending(z);
1349 if (ret < 0) return ret;
1350 }
1351 z->c = c1;
1352 }
1353 { int ret = r_has_min_length(z);
1354 if (ret <= 0) return ret;
1355 }
1356 { int c2 = z->c;
1357 { int ret = r_remove_question_prefixes(z);
1358 if (ret < 0) return ret;
1359 }
1360 z->c = c2;
1361 }
1362 { int c3 = z->c;
1363 { int ret = r_remove_pronoun_prefixes(z);
1364 if (ret < 0) return ret;
1365 }
1366 z->c = c3;
1367 }
1368 { int c4 = z->c;
1369 { int ret = r_remove_question_suffixes(z);
1370 if (ret < 0) return ret;
1371 }
1372 z->c = c4;
1373 }
1374 { int c5 = z->c;
1375 { int ret = r_remove_um(z);
1376 if (ret < 0) return ret;
1377 }
1378 z->c = c5;
1379 }
1380 { int c6 = z->c;
1381 { int ret = r_remove_common_word_endings(z);
1382 if (ret < 0) return ret;
1383 }
1384 z->c = c6;
1385 }
1386 { int c7 = z->c;
1387 { int ret = r_remove_vetrumai_urupukal(z);
1388 if (ret < 0) return ret;
1389 }
1390 z->c = c7;
1391 }
1392 { int c8 = z->c;
1393 { int ret = r_remove_plural_suffix(z);
1394 if (ret < 0) return ret;
1395 }
1396 z->c = c8;
1397 }
1398 { int c9 = z->c;
1399 { int ret = r_remove_command_suffixes(z);
1400 if (ret < 0) return ret;
1401 }
1402 z->c = c9;
1403 }
1404 { int c10 = z->c;
1405 { int ret = r_remove_tense_suffixes(z);
1406 if (ret < 0) return ret;
1407 }
1408 z->c = c10;
1409 }
1410 return 1;
1411}
1412
1413extern struct SN_env * tamil_UTF_8_create_env(void) { return SN_create_env(0, 2); }
1414
1415extern void tamil_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); }
1416
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_25_32[12]
static const symbol s_5_12[12]
static const symbol s_25_11[9]
static const symbol s_18_6[3]
static const symbol s_20_1[9]
static const symbol s_20_4[21]
static const symbol s_25[]
static const symbol s_2[]
static const symbol s_9_6[3]
static const symbol s_1_7[3]
static const symbol s_25_23[9]
static const symbol s_17_21[12]
static const symbol s_21_0[3]
static const symbol s_10_1[3]
static const symbol s_25_31[12]
static const symbol s_25_22[9]
static int r_remove_common_word_endings(struct SN_env *z)
static const symbol s_25_44[3]
static const symbol s_0_0[6]
static const symbol s_17_1[18]
static const symbol s_1_8[3]
static const struct among a_14[3]
static const symbol s_4[]
static const symbol s_25_8[9]
static const symbol s_17_5[15]
static const symbol s_3_2[3]
static const symbol s_23_9[3]
static const struct among a_9[9]
static const symbol s_20_20[12]
static const symbol s_4_1[3]
static const symbol s_3_7[3]
static const symbol s_20_7[6]
static const symbol s_23_0[3]
static const symbol s_25_39[12]
static const symbol s_10_0[3]
static const symbol s_1_6[3]
static const struct among a_24[8]
static const symbol s_17_0[15]
static const symbol s_17_16[18]
static const symbol s_23_10[3]
static const symbol s_25_15[12]
static const symbol s_1_5[3]
static const struct among a_6[6]
static const symbol s_17_10[12]
static const struct among a_17[26]
static const symbol s_5_11[6]
static const symbol s_5_16[3]
static const symbol s_30[]
static const symbol s_25_21[9]
static const symbol s_38[]
static const symbol s_25_14[12]
static const symbol s_25_42[3]
static const symbol s_25_3[15]
static const symbol s_9_0[3]
static const symbol s_22_4[3]
static const symbol s_16_4[3]
static const symbol s_5_4[12]
static const symbol s_22_3[3]
static const symbol s_22_2[3]
static int r_has_min_length(struct SN_env *z)
static const symbol s_18_5[3]
static const symbol s_25_12[12]
static const symbol s_17_24[15]
static const symbol s_26_4[18]
static const symbol s_11_3[3]
static int r_remove_pronoun_prefixes(struct SN_env *z)
static const symbol s_17_8[12]
static const symbol s_6_1[3]
static const symbol s_17_12[12]
static const symbol s_11_8[3]
static int r_remove_tense_suffix(struct SN_env *z)
static const symbol s_12_0[3]
static const symbol s_20_15[12]
static const symbol s_21_3[3]
static const symbol s_16_3[3]
static const symbol s_23_8[3]
static const struct among a_4[3]
static const symbol s_20_12[12]
static const symbol s_29[]
static const symbol s_25_28[12]
static const symbol s_11_2[3]
static const symbol s_25_5[6]
static const symbol s_20_14[6]
static const symbol s_17_25[15]
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_17_23[9]
static const symbol s_25_35[9]
static const symbol s_27[]
static const symbol s_20_10[9]
static const struct among a_1[10]
static const symbol s_16_6[3]
static const symbol s_25_16[12]
static const symbol s_2_1[3]
static int r_fix_ending(struct SN_env *z)
static const symbol s_20_16[12]
static const struct among a_25[46]
static const struct among a_19[8]
static const symbol s_26_5[9]
static const symbol s_25_26[9]
static const symbol s_6[]
static int r_remove_question_prefixes(struct SN_env *z)
static const symbol s_1_9[3]
static const symbol s_21[]
static const symbol s_13_1[18]
static const symbol s_3[]
static const symbol s_13_3[15]
static const symbol s_5_0[6]
static const symbol s_12_3[3]
static int r_remove_command_suffixes(struct SN_env *z)
static const symbol s_18_2[3]
static const symbol s_3_0[3]
static const symbol s_24_6[3]
static const symbol s_37[]
static const symbol s_7_1[3]
static const symbol s_25_17[12]
static const symbol s_23_2[3]
static const symbol s_25_13[12]
static const symbol s_18_1[3]
static const symbol s_20_3[6]
static const symbol s_20_9[12]
static const symbol s_23_3[3]
static const symbol s_18_4[3]
static const symbol s_17_14[6]
struct SN_env * tamil_UTF_8_create_env(void)
static const symbol s_25_19[9]
static const symbol s_6_5[3]
static const symbol s_19_3[3]
static const symbol s_11_7[3]
static const symbol s_26_2[12]
static const symbol s_7[]
static const symbol s_8_0[3]
static const symbol s_32[]
static const symbol s_20_18[9]
static const symbol s_25_33[24]
int tamil_UTF_8_stem(struct SN_env *z)
static const symbol s_17_6[9]
static const symbol s_17_13[15]
static const symbol s_13[]
static const symbol s_25_25[9]
static const symbol s_19_7[3]
static const symbol s_8_2[3]
static const symbol s_25_29[9]
static const symbol s_7_5[3]
static const symbol s_20_19[9]
static const symbol s_23_6[3]
static const symbol s_3_1[3]
static const symbol s_25_38[9]
static const symbol s_20[]
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_0_2[6]
static const struct among a_21[6]
static const symbol s_5_6[12]
static const symbol s_25_20[9]
static const symbol s_19_1[3]
static const symbol s_25_30[9]
static const symbol s_9_3[3]
static const struct among a_22[6]
static const symbol s_1_3[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_19[]
static const symbol s_23[]
static const symbol s_17_2[9]
static const symbol s_20_21[9]
static const symbol s_25_43[3]
static const symbol s_19_6[3]
static const struct among a_16[8]
static const symbol s_17_7[15]
static const symbol s_5_8[12]
static const symbol s_21_5[3]
static const symbol s_7_0[3]
static const symbol s_13_2[15]
static const symbol s_8_1[3]
static const symbol s_24[]
static const symbol s_25_9[9]
static const symbol s_11_9[3]
static const symbol s_12_1[3]
static const symbol s_9_8[3]
static const symbol s_8_6[3]
static const symbol s_2_0[3]
static const symbol s_23_1[3]
static const symbol s_23_11[3]
static const symbol s_8_10[3]
static const symbol s_25_34[12]
static const symbol s_25_18[9]
static const symbol s_11_4[3]
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_16_7[3]
static const symbol s_17_9[15]
static const symbol s_3_6[3]
static const struct among a_12[6]
static const symbol s_25_40[3]
static const symbol s_5_5[6]
static const symbol s_16[]
static const symbol s_14[]
static const symbol s_3_5[3]
static const symbol s_25_27[9]
static const symbol s_22[]
static const symbol s_25_10[9]
static int r_remove_question_suffixes(struct SN_env *z)
static const symbol s_11_0[3]
static const struct among a_3[8]
static const symbol s_19_5[3]
static const symbol s_20_17[9]
static const struct among a_18[8]
static const symbol s_22_5[3]
static const symbol s_0_3[6]
static const symbol s_26_1[21]
static const symbol s_15_0[6]
static const symbol s_17_3[12]
static const symbol s_8_8[3]
static const symbol s_8_7[3]
static const symbol s_11_6[3]
static const symbol s_10[]
static const symbol s_25_37[9]
static const struct among a_10[3]
static const symbol s_26_3[15]
static const symbol s_25_2[6]
static const struct among a_0[4]
static const symbol s_24_0[3]
static const symbol s_8_5[3]
static const symbol s_1[]
static const symbol s_3_4[3]
static const symbol s_17_4[18]
static const symbol s_20_8[9]
static const symbol s_39[]
static const symbol s_1_2[3]
static const symbol s_20_13[9]
static const struct among a_2[3]
static const symbol s_17_18[12]
static const struct among a_13[4]
static const symbol s_18_7[3]
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_20_11[12]
static const symbol s_8_4[3]
static const symbol s_17_22[9]
static const symbol s_2_2[3]
static const symbol s_24_1[3]
static const symbol s_25_36[9]
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_11[]
static const symbol s_12[]
static const symbol s_20_0[3]
static const symbol s_5_1[9]
static int r_remove_um(struct SN_env *z)
static const symbol s_36[]
static const symbol s_1_0[3]
static const symbol s_6_3[3]
static const symbol s_25_4[6]
static const symbol s_5_10[12]
static const symbol s_21_4[3]
static const symbol s_17_19[15]
static const symbol s_25_0[6]
static const symbol s_23_7[3]
static const symbol s_23_5[3]
static const symbol s_5_13[6]
static const symbol s_9_7[3]
static const symbol s_6_0[3]
static const symbol s_7_2[3]
static const symbol s_7_4[3]
static const symbol s_20_6[9]
static const symbol s_33[]
static const symbol s_24_4[3]
static const symbol s_24_3[3]
static const symbol s_13_0[9]
static const symbol s_9_1[3]
static const struct among a_26[6]
static const symbol s_5_2[15]
static const symbol s_11_5[3]
static const struct among a_8[11]
static const symbol s_24_7[3]
static const symbol s_1_1[3]
static const symbol s_6_4[3]
static const symbol s_1_4[3]
static const symbol s_25_45[3]
static const symbol s_22_1[3]
static int r_remove_vetrumai_urupukal(struct SN_env *z)
static const symbol s_5_15[3]
static const symbol s_18[]
static const symbol s_25_6[12]
static const symbol s_17_11[21]
static const symbol s_0_1[6]
static const symbol s_17[]
static const symbol s_5_7[12]
void tamil_UTF_8_close_env(struct SN_env *z)
static const symbol s_25_24[9]
static const symbol s_40[]
static const symbol s_20_5[15]
static const symbol s_25_7[9]
static const symbol s_24_5[3]
static const symbol s_22_0[3]
static const symbol s_19_0[3]
static const symbol s_20_2[9]
static const symbol s_16_0[3]
static const symbol s_28[]
static int r_remove_tense_suffixes(struct SN_env *z)
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_17_15[9]
static const symbol s_10_2[3]
static const symbol s_26_0[18]
static const symbol s_19_2[3]
static const symbol s_17_20[9]
static const symbol s_8_9[3]
static const symbol s_5_3[12]
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_5_9[6]
static const symbol s_25_41[3]
static const symbol s_19_4[3]
static const struct among a_5[17]
static const symbol s_17_17[12]
static int r_fix_endings(struct SN_env *z)
static const symbol s_5[]
static const struct among a_11[10]
static const symbol s_15[]
static const symbol s_8_3[3]
static const struct among a_15[2]
static const symbol s_4_2[3]
static const symbol s_15_1[6]
static const symbol s_26[]
static const symbol s_16_5[3]
static const symbol s_9_5[3]
static const struct among a_20[22]
static const symbol s_25_1[9]
static const symbol s_5_14[9]
static const symbol s_0[]
static const symbol s_34[]
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