Age Owner Branch data TLA Line data Source code
1 : : /* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
2 : :
3 : : #include "header.h"
4 : :
5 : : #ifdef __cplusplus
6 : : extern "C" {
7 : : #endif
8 : : extern int tamil_UTF_8_stem(struct SN_env * z);
9 : : #ifdef __cplusplus
10 : : }
11 : : #endif
12 : : static int r_has_min_length(struct SN_env * z);
13 : : static int r_remove_common_word_endings(struct SN_env * z);
14 : : static int r_remove_tense_suffixes(struct SN_env * z);
15 : : static int r_remove_tense_suffix(struct SN_env * z);
16 : : static int r_fix_endings(struct SN_env * z);
17 : : static int r_fix_ending(struct SN_env * z);
18 : : static int r_fix_va_start(struct SN_env * z);
19 : : static int r_remove_vetrumai_urupukal(struct SN_env * z);
20 : : static int r_remove_um(struct SN_env * z);
21 : : static int r_remove_command_suffixes(struct SN_env * z);
22 : : static int r_remove_pronoun_prefixes(struct SN_env * z);
23 : : static int r_remove_question_prefixes(struct SN_env * z);
24 : : static int r_remove_question_suffixes(struct SN_env * z);
25 : : static int r_remove_plural_suffix(struct SN_env * z);
26 : : #ifdef __cplusplus
27 : : extern "C" {
28 : : #endif
29 : :
30 : :
31 : : extern struct SN_env * tamil_UTF_8_create_env(void);
32 : : extern void tamil_UTF_8_close_env(struct SN_env * z);
33 : :
34 : :
35 : : #ifdef __cplusplus
36 : : }
37 : : #endif
38 : : static const symbol s_0_0[6] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x81 };
39 : : static const symbol s_0_1[6] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x82 };
40 : : static const symbol s_0_2[6] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x8A };
41 : : static const symbol s_0_3[6] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x8B };
42 : :
43 : : static 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 : :
51 : : static const symbol s_1_0[3] = { 0xE0, 0xAE, 0x95 };
52 : : static const symbol s_1_1[3] = { 0xE0, 0xAE, 0x99 };
53 : : static const symbol s_1_2[3] = { 0xE0, 0xAE, 0x9A };
54 : : static const symbol s_1_3[3] = { 0xE0, 0xAE, 0x9E };
55 : : static const symbol s_1_4[3] = { 0xE0, 0xAE, 0xA4 };
56 : : static const symbol s_1_5[3] = { 0xE0, 0xAE, 0xA8 };
57 : : static const symbol s_1_6[3] = { 0xE0, 0xAE, 0xAA };
58 : : static const symbol s_1_7[3] = { 0xE0, 0xAE, 0xAE };
59 : : static const symbol s_1_8[3] = { 0xE0, 0xAE, 0xAF };
60 : : static const symbol s_1_9[3] = { 0xE0, 0xAE, 0xB5 };
61 : :
62 : : static 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 : :
76 : : static const symbol s_2_0[3] = { 0xE0, 0xAF, 0x80 };
77 : : static const symbol s_2_1[3] = { 0xE0, 0xAF, 0x88 };
78 : : static const symbol s_2_2[3] = { 0xE0, 0xAE, 0xBF };
79 : :
80 : : static 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 : :
87 : : static const symbol s_3_0[3] = { 0xE0, 0xAF, 0x80 };
88 : : static const symbol s_3_1[3] = { 0xE0, 0xAF, 0x81 };
89 : : static const symbol s_3_2[3] = { 0xE0, 0xAF, 0x82 };
90 : : static const symbol s_3_3[3] = { 0xE0, 0xAF, 0x86 };
91 : : static const symbol s_3_4[3] = { 0xE0, 0xAF, 0x87 };
92 : : static const symbol s_3_5[3] = { 0xE0, 0xAF, 0x88 };
93 : : static const symbol s_3_6[3] = { 0xE0, 0xAE, 0xBE };
94 : : static const symbol s_3_7[3] = { 0xE0, 0xAE, 0xBF };
95 : :
96 : : static 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 : :
108 : : static const symbol s_4_1[3] = { 0xE0, 0xAF, 0x88 };
109 : : static const symbol s_4_2[3] = { 0xE0, 0xAF, 0x8D };
110 : :
111 : : static 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 : :
118 : : static const symbol s_5_0[6] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x81 };
119 : : static const symbol s_5_1[9] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x8D };
120 : : static const symbol s_5_2[15] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x8D };
121 : : static const symbol s_5_3[12] = { 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x8D };
122 : : static const symbol s_5_4[12] = { 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x8D };
123 : : static const symbol s_5_5[6] = { 0xE0, 0xAE, 0x99, 0xE0, 0xAF, 0x8D };
124 : : static const symbol s_5_6[12] = { 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D };
125 : : static const symbol s_5_7[12] = { 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x8D };
126 : : static const symbol s_5_8[12] = { 0xE0, 0xAE, 0xA8, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x8D };
127 : : static const symbol s_5_9[6] = { 0xE0, 0xAE, 0xA8, 0xE0, 0xAF, 0x8D };
128 : : static const symbol s_5_10[12] = { 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xAA, 0xE0, 0xAF, 0x8D };
129 : : static const symbol s_5_11[6] = { 0xE0, 0xAE, 0xAF, 0xE0, 0xAF, 0x8D };
130 : : static const symbol s_5_12[12] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D };
131 : : static const symbol s_5_13[6] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x8D };
132 : : static const symbol s_5_14[9] = { 0xE0, 0xAE, 0xA8, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xA4 };
133 : : static const symbol s_5_15[3] = { 0xE0, 0xAE, 0xAF };
134 : : static const symbol s_5_16[3] = { 0xE0, 0xAE, 0xB5 };
135 : :
136 : : static 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 : :
157 : : static const symbol s_6_0[3] = { 0xE0, 0xAE, 0x95 };
158 : : static const symbol s_6_1[3] = { 0xE0, 0xAE, 0x9A };
159 : : static const symbol s_6_2[3] = { 0xE0, 0xAE, 0x9F };
160 : : static const symbol s_6_3[3] = { 0xE0, 0xAE, 0xA4 };
161 : : static const symbol s_6_4[3] = { 0xE0, 0xAE, 0xAA };
162 : : static const symbol s_6_5[3] = { 0xE0, 0xAE, 0xB1 };
163 : :
164 : : static 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 : :
174 : : static const symbol s_7_0[3] = { 0xE0, 0xAE, 0x95 };
175 : : static const symbol s_7_1[3] = { 0xE0, 0xAE, 0x9A };
176 : : static const symbol s_7_2[3] = { 0xE0, 0xAE, 0x9F };
177 : : static const symbol s_7_3[3] = { 0xE0, 0xAE, 0xA4 };
178 : : static const symbol s_7_4[3] = { 0xE0, 0xAE, 0xAA };
179 : : static const symbol s_7_5[3] = { 0xE0, 0xAE, 0xB1 };
180 : :
181 : : static 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 : :
191 : : static const symbol s_8_0[3] = { 0xE0, 0xAE, 0x9E };
192 : : static const symbol s_8_1[3] = { 0xE0, 0xAE, 0xA3 };
193 : : static const symbol s_8_2[3] = { 0xE0, 0xAE, 0xA8 };
194 : : static const symbol s_8_3[3] = { 0xE0, 0xAE, 0xA9 };
195 : : static const symbol s_8_4[3] = { 0xE0, 0xAE, 0xAE };
196 : : static const symbol s_8_5[3] = { 0xE0, 0xAE, 0xAF };
197 : : static const symbol s_8_6[3] = { 0xE0, 0xAE, 0xB0 };
198 : : static const symbol s_8_7[3] = { 0xE0, 0xAE, 0xB2 };
199 : : static const symbol s_8_8[3] = { 0xE0, 0xAE, 0xB3 };
200 : : static const symbol s_8_9[3] = { 0xE0, 0xAE, 0xB4 };
201 : : static const symbol s_8_10[3] = { 0xE0, 0xAE, 0xB5 };
202 : :
203 : : static 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 : :
218 : : static const symbol s_9_0[3] = { 0xE0, 0xAF, 0x80 };
219 : : static const symbol s_9_1[3] = { 0xE0, 0xAF, 0x81 };
220 : : static const symbol s_9_2[3] = { 0xE0, 0xAF, 0x82 };
221 : : static const symbol s_9_3[3] = { 0xE0, 0xAF, 0x86 };
222 : : static const symbol s_9_4[3] = { 0xE0, 0xAF, 0x87 };
223 : : static const symbol s_9_5[3] = { 0xE0, 0xAF, 0x88 };
224 : : static const symbol s_9_6[3] = { 0xE0, 0xAF, 0x8D };
225 : : static const symbol s_9_7[3] = { 0xE0, 0xAE, 0xBE };
226 : : static const symbol s_9_8[3] = { 0xE0, 0xAE, 0xBF };
227 : :
228 : : static 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 : :
241 : : static const symbol s_10_0[3] = { 0xE0, 0xAE, 0x85 };
242 : : static const symbol s_10_1[3] = { 0xE0, 0xAE, 0x87 };
243 : : static const symbol s_10_2[3] = { 0xE0, 0xAE, 0x89 };
244 : :
245 : : static 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 : :
252 : : static const symbol s_11_0[3] = { 0xE0, 0xAE, 0x95 };
253 : : static const symbol s_11_1[3] = { 0xE0, 0xAE, 0x99 };
254 : : static const symbol s_11_2[3] = { 0xE0, 0xAE, 0x9A };
255 : : static const symbol s_11_3[3] = { 0xE0, 0xAE, 0x9E };
256 : : static const symbol s_11_4[3] = { 0xE0, 0xAE, 0xA4 };
257 : : static const symbol s_11_5[3] = { 0xE0, 0xAE, 0xA8 };
258 : : static const symbol s_11_6[3] = { 0xE0, 0xAE, 0xAA };
259 : : static const symbol s_11_7[3] = { 0xE0, 0xAE, 0xAE };
260 : : static const symbol s_11_8[3] = { 0xE0, 0xAE, 0xAF };
261 : : static const symbol s_11_9[3] = { 0xE0, 0xAE, 0xB5 };
262 : :
263 : : static 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 : :
277 : : static const symbol s_12_0[3] = { 0xE0, 0xAE, 0x95 };
278 : : static const symbol s_12_1[3] = { 0xE0, 0xAE, 0x9A };
279 : : static const symbol s_12_2[3] = { 0xE0, 0xAE, 0x9F };
280 : : static const symbol s_12_3[3] = { 0xE0, 0xAE, 0xA4 };
281 : : static const symbol s_12_4[3] = { 0xE0, 0xAE, 0xAA };
282 : : static const symbol s_12_5[3] = { 0xE0, 0xAE, 0xB1 };
283 : :
284 : : static 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 : :
294 : : static const symbol s_13_0[9] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
295 : : static const symbol s_13_1[18] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x99, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
296 : : static const symbol s_13_2[15] = { 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
297 : : static const symbol s_13_3[15] = { 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
298 : :
299 : : static 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 : :
307 : : static const symbol s_14_0[3] = { 0xE0, 0xAF, 0x87 };
308 : : static const symbol s_14_1[3] = { 0xE0, 0xAF, 0x8B };
309 : : static const symbol s_14_2[3] = { 0xE0, 0xAE, 0xBE };
310 : :
311 : : static 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 : :
318 : : static const symbol s_15_0[6] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0xBF };
319 : : static const symbol s_15_1[6] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAE, 0xBF };
320 : :
321 : : static 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 : :
327 : : static const symbol s_16_0[3] = { 0xE0, 0xAF, 0x80 };
328 : : static const symbol s_16_1[3] = { 0xE0, 0xAF, 0x81 };
329 : : static const symbol s_16_2[3] = { 0xE0, 0xAF, 0x82 };
330 : : static const symbol s_16_3[3] = { 0xE0, 0xAF, 0x86 };
331 : : static const symbol s_16_4[3] = { 0xE0, 0xAF, 0x87 };
332 : : static const symbol s_16_5[3] = { 0xE0, 0xAF, 0x88 };
333 : : static const symbol s_16_6[3] = { 0xE0, 0xAE, 0xBE };
334 : : static const symbol s_16_7[3] = { 0xE0, 0xAE, 0xBF };
335 : :
336 : : static 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 : :
348 : : static const symbol s_17_0[15] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81 };
349 : : static const symbol s_17_1[18] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81 };
350 : : static const symbol s_17_2[9] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81 };
351 : : static const symbol s_17_3[12] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81 };
352 : : static const symbol s_17_4[18] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x9F, 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x81 };
353 : : static const symbol s_17_5[15] = { 0xE0, 0xAF, 0x86, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x81 };
354 : : static const symbol s_17_6[9] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x88 };
355 : : static const symbol s_17_7[15] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x88 };
356 : : static const symbol s_17_8[12] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x9F, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
357 : : static const symbol s_17_9[15] = { 0xE0, 0xAF, 0x86, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
358 : : static const symbol s_17_10[12] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0x9F, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
359 : : static 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 };
360 : : static const symbol s_17_12[12] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x9F };
361 : : static const symbol s_17_13[15] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x9F, 0xE0, 0xAE, 0xA3 };
362 : : static const symbol s_17_14[6] = { 0xE0, 0xAF, 0x86, 0xE0, 0xAE, 0xA9 };
363 : : static const symbol s_17_15[9] = { 0xE0, 0xAE, 0xA4, 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xA9 };
364 : : static const symbol s_17_16[18] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0x9F, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA4, 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xA9 };
365 : : static const symbol s_17_17[12] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x88, 0xE0, 0xAE, 0xAF };
366 : : static const symbol s_17_18[12] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xAF };
367 : : static const symbol s_17_19[15] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xB0, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xAF };
368 : : static const symbol s_17_20[9] = { 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB2 };
369 : : static const symbol s_17_21[12] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB3 };
370 : : static const symbol s_17_22[9] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xBF };
371 : : static const symbol s_17_23[9] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0x9F, 0xE0, 0xAE, 0xBF };
372 : : static const symbol s_17_24[15] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1, 0xE0, 0xAE, 0xBF };
373 : : static const symbol s_17_25[15] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1, 0xE0, 0xAE, 0xBF };
374 : :
375 : : static 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 : :
405 : : static const symbol s_18_0[3] = { 0xE0, 0xAF, 0x80 };
406 : : static const symbol s_18_1[3] = { 0xE0, 0xAF, 0x81 };
407 : : static const symbol s_18_2[3] = { 0xE0, 0xAF, 0x82 };
408 : : static const symbol s_18_3[3] = { 0xE0, 0xAF, 0x86 };
409 : : static const symbol s_18_4[3] = { 0xE0, 0xAF, 0x87 };
410 : : static const symbol s_18_5[3] = { 0xE0, 0xAF, 0x88 };
411 : : static const symbol s_18_6[3] = { 0xE0, 0xAE, 0xBE };
412 : : static const symbol s_18_7[3] = { 0xE0, 0xAE, 0xBF };
413 : :
414 : : static 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 : :
426 : : static const symbol s_19_0[3] = { 0xE0, 0xAF, 0x80 };
427 : : static const symbol s_19_1[3] = { 0xE0, 0xAF, 0x81 };
428 : : static const symbol s_19_2[3] = { 0xE0, 0xAF, 0x82 };
429 : : static const symbol s_19_3[3] = { 0xE0, 0xAF, 0x86 };
430 : : static const symbol s_19_4[3] = { 0xE0, 0xAF, 0x87 };
431 : : static const symbol s_19_5[3] = { 0xE0, 0xAF, 0x88 };
432 : : static const symbol s_19_6[3] = { 0xE0, 0xAE, 0xBE };
433 : : static const symbol s_19_7[3] = { 0xE0, 0xAE, 0xBF };
434 : :
435 : : static 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 : :
447 : : static const symbol s_20_0[3] = { 0xE0, 0xAF, 0x80 };
448 : : static const symbol s_20_1[9] = { 0xE0, 0xAF, 0x8A, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81 };
449 : : static const symbol s_20_2[9] = { 0xE0, 0xAF, 0x8B, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81 };
450 : : static const symbol s_20_3[6] = { 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x81 };
451 : : static 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 };
452 : : static const symbol s_20_5[15] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x81 };
453 : : static const symbol s_20_6[9] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x88 };
454 : : static const symbol s_20_7[6] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x88 };
455 : : static const symbol s_20_8[9] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xA3, 0xE0, 0xAF, 0x8D };
456 : : static const symbol s_20_9[12] = { 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
457 : : static const symbol s_20_10[9] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
458 : : static const symbol s_20_11[12] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0x9F, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
459 : : static const symbol s_20_12[12] = { 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x87, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D };
460 : : static const symbol s_20_13[9] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D };
461 : : static const symbol s_20_14[6] = { 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D };
462 : : static const symbol s_20_15[12] = { 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x87, 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D };
463 : : static const symbol s_20_16[12] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xAE, 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D };
464 : : static const symbol s_20_17[9] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D };
465 : : static const symbol s_20_18[9] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D };
466 : : static const symbol s_20_19[9] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
467 : : static const symbol s_20_20[12] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x80, 0xE0, 0xAE, 0xB4, 0xE0, 0xAF, 0x8D };
468 : : static const symbol s_20_21[9] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0x9F };
469 : :
470 : : static 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 : :
496 : : static const symbol s_21_0[3] = { 0xE0, 0xAE, 0x95 };
497 : : static const symbol s_21_1[3] = { 0xE0, 0xAE, 0x9A };
498 : : static const symbol s_21_2[3] = { 0xE0, 0xAE, 0x9F };
499 : : static const symbol s_21_3[3] = { 0xE0, 0xAE, 0xA4 };
500 : : static const symbol s_21_4[3] = { 0xE0, 0xAE, 0xAA };
501 : : static const symbol s_21_5[3] = { 0xE0, 0xAE, 0xB1 };
502 : :
503 : : static 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 : :
513 : : static const symbol s_22_0[3] = { 0xE0, 0xAE, 0x95 };
514 : : static const symbol s_22_1[3] = { 0xE0, 0xAE, 0x9A };
515 : : static const symbol s_22_2[3] = { 0xE0, 0xAE, 0x9F };
516 : : static const symbol s_22_3[3] = { 0xE0, 0xAE, 0xA4 };
517 : : static const symbol s_22_4[3] = { 0xE0, 0xAE, 0xAA };
518 : : static const symbol s_22_5[3] = { 0xE0, 0xAE, 0xB1 };
519 : :
520 : : static 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 : :
530 : : static const symbol s_23_0[3] = { 0xE0, 0xAE, 0x85 };
531 : : static const symbol s_23_1[3] = { 0xE0, 0xAE, 0x86 };
532 : : static const symbol s_23_2[3] = { 0xE0, 0xAE, 0x87 };
533 : : static const symbol s_23_3[3] = { 0xE0, 0xAE, 0x88 };
534 : : static const symbol s_23_4[3] = { 0xE0, 0xAE, 0x89 };
535 : : static const symbol s_23_5[3] = { 0xE0, 0xAE, 0x8A };
536 : : static const symbol s_23_6[3] = { 0xE0, 0xAE, 0x8E };
537 : : static const symbol s_23_7[3] = { 0xE0, 0xAE, 0x8F };
538 : : static const symbol s_23_8[3] = { 0xE0, 0xAE, 0x90 };
539 : : static const symbol s_23_9[3] = { 0xE0, 0xAE, 0x92 };
540 : : static const symbol s_23_10[3] = { 0xE0, 0xAE, 0x93 };
541 : : static const symbol s_23_11[3] = { 0xE0, 0xAE, 0x94 };
542 : :
543 : : static 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 : :
559 : : static const symbol s_24_0[3] = { 0xE0, 0xAF, 0x80 };
560 : : static const symbol s_24_1[3] = { 0xE0, 0xAF, 0x81 };
561 : : static const symbol s_24_2[3] = { 0xE0, 0xAF, 0x82 };
562 : : static const symbol s_24_3[3] = { 0xE0, 0xAF, 0x86 };
563 : : static const symbol s_24_4[3] = { 0xE0, 0xAF, 0x87 };
564 : : static const symbol s_24_5[3] = { 0xE0, 0xAF, 0x88 };
565 : : static const symbol s_24_6[3] = { 0xE0, 0xAE, 0xBE };
566 : : static const symbol s_24_7[3] = { 0xE0, 0xAE, 0xBF };
567 : :
568 : : static 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 : :
580 : : static const symbol s_25_0[6] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x81 };
581 : : static const symbol s_25_1[9] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81 };
582 : : static const symbol s_25_2[6] = { 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x81 };
583 : : static const symbol s_25_3[15] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x81 };
584 : : static const symbol s_25_4[6] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x88 };
585 : : static const symbol s_25_5[6] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x88 };
586 : : static const symbol s_25_6[12] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x86, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
587 : : static const symbol s_25_7[9] = { 0xE0, 0xAF, 0x87, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
588 : : static const symbol s_25_8[9] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
589 : : static const symbol s_25_9[9] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
590 : : static const symbol s_25_10[9] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
591 : : static const symbol s_25_11[9] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
592 : : static const symbol s_25_12[12] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
593 : : static const symbol s_25_13[12] = { 0xE0, 0xAE, 0xAE, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
594 : : static const symbol s_25_14[12] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
595 : : static const symbol s_25_15[12] = { 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
596 : : static const symbol s_25_16[12] = { 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
597 : : static const symbol s_25_17[12] = { 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
598 : : static const symbol s_25_18[9] = { 0xE0, 0xAF, 0x86, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
599 : : static const symbol s_25_19[9] = { 0xE0, 0xAF, 0x87, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
600 : : static const symbol s_25_20[9] = { 0xE0, 0xAF, 0x8B, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
601 : : static const symbol s_25_21[9] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
602 : : static const symbol s_25_22[9] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
603 : : static const symbol s_25_23[9] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
604 : : static const symbol s_25_24[9] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xAF, 0xE0, 0xAF, 0x8D };
605 : : static const symbol s_25_25[9] = { 0xE0, 0xAF, 0x80, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
606 : : static const symbol s_25_26[9] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
607 : : static const symbol s_25_27[9] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
608 : : static const symbol s_25_28[12] = { 0xE0, 0xAF, 0x80, 0xE0, 0xAE, 0xAF, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
609 : : static const symbol s_25_29[9] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
610 : : static const symbol s_25_30[9] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
611 : : static const symbol s_25_31[12] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
612 : : static const symbol s_25_32[12] = { 0xE0, 0xAE, 0xAE, 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
613 : : static 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 };
614 : : static const symbol s_25_34[12] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
615 : : static const symbol s_25_35[9] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
616 : : static const symbol s_25_36[9] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
617 : : static const symbol s_25_37[9] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
618 : : static const symbol s_25_38[9] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
619 : : static const symbol s_25_39[12] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
620 : : static const symbol s_25_40[3] = { 0xE0, 0xAE, 0x95 };
621 : : static const symbol s_25_41[3] = { 0xE0, 0xAE, 0xA4 };
622 : : static const symbol s_25_42[3] = { 0xE0, 0xAE, 0xA9 };
623 : : static const symbol s_25_43[3] = { 0xE0, 0xAE, 0xAA };
624 : : static const symbol s_25_44[3] = { 0xE0, 0xAE, 0xAF };
625 : : static const symbol s_25_45[3] = { 0xE0, 0xAE, 0xBE };
626 : :
627 : : static 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 : :
677 : : static const symbol s_26_0[18] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D };
678 : : static 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 };
679 : : static const symbol s_26_2[12] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D };
680 : : static const symbol s_26_3[15] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1 };
681 : : static const symbol s_26_4[18] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xA8, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1 };
682 : : static const symbol s_26_5[9] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB1 };
683 : :
684 : : static 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 : :
694 : : static const symbol s_0[] = { 0xE0, 0xAE, 0x93 };
695 : : static const symbol s_1[] = { 0xE0, 0xAE, 0x92 };
696 : : static const symbol s_2[] = { 0xE0, 0xAE, 0x89 };
697 : : static const symbol s_3[] = { 0xE0, 0xAE, 0x8A };
698 : : static const symbol s_4[] = { 0xE0, 0xAE, 0x8E };
699 : : static const symbol s_5[] = { 0xE0, 0xAF, 0x8D };
700 : : static const symbol s_6[] = { 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
701 : : static const symbol s_7[] = { 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D };
702 : : static const symbol s_8[] = { 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81 };
703 : : static const symbol s_9[] = { 0xE0, 0xAF, 0x88 };
704 : : static const symbol s_10[] = { 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
705 : : static const symbol s_11[] = { 0xE0, 0xAF, 0x8D };
706 : : static const symbol s_12[] = { 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
707 : : static const symbol s_13[] = { 0xE0, 0xAF, 0x8D };
708 : : static const symbol s_14[] = { 0xE0, 0xAF, 0x8D };
709 : : static const symbol s_15[] = { 0xE0, 0xAF, 0x8D };
710 : : static const symbol s_16[] = { 0xE0, 0xAF, 0x8D };
711 : : static const symbol s_17[] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x99, 0xE0, 0xAF, 0x8D };
712 : : static const symbol s_18[] = { 0xE0, 0xAF, 0x8D };
713 : : static const symbol s_19[] = { 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D };
714 : : static const symbol s_20[] = { 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
715 : : static const symbol s_21[] = { 0xE0, 0xAF, 0x8D };
716 : : static const symbol s_22[] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
717 : : static const symbol s_23[] = { 0xE0, 0xAF, 0x8D };
718 : : static const symbol s_24[] = { 0xE0, 0xAF, 0x8D };
719 : : static const symbol s_25[] = { 0xE0, 0xAF, 0x8D };
720 : : static const symbol s_26[] = { 0xE0, 0xAF, 0x8D };
721 : : static const symbol s_27[] = { 0xE0, 0xAE, 0xAE };
722 : : static const symbol s_28[] = { 0xE0, 0xAF, 0x8D };
723 : : static const symbol s_29[] = { 0xE0, 0xAF, 0x8D };
724 : : static const symbol s_30[] = { 0xE0, 0xAF, 0x8D };
725 : : static const symbol s_31[] = { 0xE0, 0xAE, 0xBF };
726 : : static const symbol s_32[] = { 0xE0, 0xAF, 0x88 };
727 : : static const symbol s_33[] = { 0xE0, 0xAF, 0x8D };
728 : : static const symbol s_34[] = { 0xE0, 0xAF, 0x8D };
729 : : static const symbol s_35[] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
730 : : static const symbol s_36[] = { 0xE0, 0xAF, 0x8D };
731 : : static const symbol s_37[] = { 0xE0, 0xAE, 0x9A };
732 : : static const symbol s_38[] = { 0xE0, 0xAF, 0x8D };
733 : : static const symbol s_39[] = { 0xE0, 0xAF, 0x8D };
734 : : static const symbol s_40[] = { 0xE0, 0xAF, 0x8D };
735 : :
1660 peter@eisentraut.org 736 :UBC 0 : static int r_has_min_length(struct SN_env * z) {
200 tgl@sss.pgh.pa.us 737 : 0 : return len_utf8(z->p) > 4;
738 : : }
739 : :
1660 peter@eisentraut.org 740 : 0 : static int r_fix_va_start(struct SN_env * z) {
741 : : int among_var;
200 tgl@sss.pgh.pa.us 742 : 0 : z->bra = z->c;
743 [ # # # # : 0 : if (z->c + 5 >= z->l || z->p[z->c + 5] >> 5 != 4 || !((3078 >> (z->p[z->c + 5] & 0x1f)) & 1)) return 0;
# # ]
744 : 0 : among_var = find_among(z, a_0, 4);
745 [ # # ]: 0 : if (!among_var) return 0;
746 : 0 : z->ket = z->c;
747 [ # # # # : 0 : switch (among_var) {
# ]
748 : 0 : case 1:
749 : 0 : { int ret = slice_from_s(z, 3, s_0);
750 [ # # ]: 0 : if (ret < 0) return ret;
751 : : }
752 : 0 : break;
753 : 0 : case 2:
754 : 0 : { int ret = slice_from_s(z, 3, s_1);
755 [ # # ]: 0 : if (ret < 0) return ret;
756 : : }
757 : 0 : break;
758 : 0 : case 3:
759 : 0 : { int ret = slice_from_s(z, 3, s_2);
760 [ # # ]: 0 : if (ret < 0) return ret;
761 : : }
762 : 0 : break;
763 : 0 : case 4:
764 : 0 : { int ret = slice_from_s(z, 3, s_3);
765 [ # # ]: 0 : if (ret < 0) return ret;
766 : : }
767 : 0 : break;
768 : : }
2539 769 : 0 : return 1;
770 : : }
771 : :
1660 peter@eisentraut.org 772 : 0 : static int r_fix_endings(struct SN_env * z) {
773 : 0 : { int c1 = z->c;
774 : 0 : while(1) {
775 : 0 : int c2 = z->c;
776 : 0 : { int ret = r_fix_ending(z);
2539 tgl@sss.pgh.pa.us 777 [ # # ]: 0 : if (ret == 0) goto lab1;
778 [ # # ]: 0 : if (ret < 0) return ret;
779 : : }
780 : 0 : continue;
781 : 0 : lab1:
782 : 0 : z->c = c2;
783 : 0 : break;
784 : : }
785 : 0 : z->c = c1;
786 : : }
787 : 0 : return 1;
788 : : }
789 : :
1660 peter@eisentraut.org 790 : 0 : static int r_remove_question_prefixes(struct SN_env * z) {
791 : 0 : z->bra = z->c;
200 tgl@sss.pgh.pa.us 792 [ # # ]: 0 : if (!(eq_s(z, 3, s_4))) return 0;
793 [ # # ]: 0 : if (!find_among(z, a_1, 10)) return 0;
794 [ # # ]: 0 : if (!(eq_s(z, 3, s_5))) return 0;
1660 peter@eisentraut.org 795 : 0 : z->ket = z->c;
796 : 0 : { int ret = slice_del(z);
2539 tgl@sss.pgh.pa.us 797 [ # # ]: 0 : if (ret < 0) return ret;
798 : : }
1660 peter@eisentraut.org 799 : 0 : { int c1 = z->c;
800 : 0 : { int ret = r_fix_va_start(z);
2539 tgl@sss.pgh.pa.us 801 [ # # ]: 0 : if (ret < 0) return ret;
802 : : }
803 : 0 : z->c = c1;
804 : : }
805 : 0 : return 1;
806 : : }
807 : :
1660 peter@eisentraut.org 808 : 0 : static int r_fix_ending(struct SN_env * z) {
809 : : int among_var;
200 tgl@sss.pgh.pa.us 810 [ # # ]: 0 : if (len_utf8(z->p) <= 3) return 0;
1660 peter@eisentraut.org 811 : 0 : z->lb = z->c; z->c = z->l;
812 : :
813 : 0 : { int m1 = z->l - z->c; (void)m1;
814 : 0 : z->ket = z->c;
200 tgl@sss.pgh.pa.us 815 : 0 : among_var = find_among_b(z, a_5, 17);
816 [ # # ]: 0 : if (!among_var) goto lab1;
1660 peter@eisentraut.org 817 : 0 : z->bra = z->c;
200 tgl@sss.pgh.pa.us 818 [ # # # # : 0 : switch (among_var) {
# # # # #
# ]
819 : 0 : case 1:
820 : 0 : { int ret = slice_del(z);
821 [ # # ]: 0 : if (ret < 0) return ret;
822 : : }
823 : 0 : break;
824 : 0 : case 2:
825 : 0 : { int m_test2 = z->l - z->c;
826 [ # # ]: 0 : if (!find_among_b(z, a_2, 3)) goto lab1;
827 : 0 : z->c = z->l - m_test2;
828 : : }
829 : 0 : { int ret = slice_del(z);
830 [ # # ]: 0 : if (ret < 0) return ret;
831 : : }
832 : 0 : break;
833 : 0 : case 3:
834 : 0 : { int ret = slice_from_s(z, 6, s_6);
835 [ # # ]: 0 : if (ret < 0) return ret;
836 : : }
837 : 0 : break;
838 : 0 : case 4:
839 : 0 : { int ret = slice_from_s(z, 6, s_7);
840 [ # # ]: 0 : if (ret < 0) return ret;
841 : : }
842 : 0 : break;
843 : 0 : case 5:
844 : 0 : { int ret = slice_from_s(z, 6, s_8);
845 [ # # ]: 0 : if (ret < 0) return ret;
846 : : }
847 : 0 : break;
848 : 0 : case 6:
849 [ # # ]: 0 : if (!(z->I[0])) goto lab1;
850 : 0 : { int m3 = z->l - z->c; (void)m3;
851 [ # # ]: 0 : if (!(eq_s_b(z, 3, s_9))) goto lab2;
852 : 0 : goto lab1;
853 : 0 : lab2:
854 : 0 : z->c = z->l - m3;
855 : : }
856 : 0 : { int ret = slice_from_s(z, 6, s_10);
857 [ # # ]: 0 : if (ret < 0) return ret;
858 : : }
859 : 0 : break;
860 : 0 : case 7:
861 : 0 : { int ret = slice_from_s(z, 3, s_11);
862 [ # # ]: 0 : if (ret < 0) return ret;
863 : : }
864 : 0 : break;
865 : 0 : case 8:
866 : 0 : { int m4 = z->l - z->c; (void)m4;
867 [ # # ]: 0 : if (!find_among_b(z, a_3, 8)) goto lab3;
868 : 0 : goto lab1;
869 : 0 : lab3:
870 : 0 : z->c = z->l - m4;
871 : : }
872 : 0 : { int ret = slice_del(z);
873 [ # # ]: 0 : if (ret < 0) return ret;
874 : : }
875 : 0 : break;
876 : 0 : case 9:
877 [ # # # # : 0 : if (z->c - 2 <= z->lb || (z->p[z->c - 1] != 136 && z->p[z->c - 1] != 141)) among_var = 2; else
# # ]
878 : 0 : among_var = find_among_b(z, a_4, 3);
879 [ # # # ]: 0 : switch (among_var) {
880 : 0 : case 1:
881 : 0 : { int ret = slice_del(z);
882 [ # # ]: 0 : if (ret < 0) return ret;
883 : : }
884 : 0 : break;
885 : 0 : case 2:
886 : 0 : { int ret = slice_from_s(z, 6, s_12);
887 [ # # ]: 0 : if (ret < 0) return ret;
888 : : }
889 : 0 : break;
890 : : }
891 : 0 : break;
892 : : }
2539 893 : 0 : goto lab0;
894 : 0 : lab1:
895 : 0 : z->c = z->l - m1;
1660 peter@eisentraut.org 896 : 0 : z->ket = z->c;
200 tgl@sss.pgh.pa.us 897 [ # # ]: 0 : if (!(eq_s_b(z, 3, s_13))) return 0;
898 : 0 : { int m5 = z->l - z->c; (void)m5;
899 [ # # ]: 0 : if (!find_among_b(z, a_6, 6)) goto lab5;
900 : 0 : { int m6 = z->l - z->c; (void)m6;
901 [ # # ]: 0 : if (!(eq_s_b(z, 3, s_14))) { z->c = z->l - m6; goto lab6; }
902 [ # # ]: 0 : if (!find_among_b(z, a_7, 6)) { z->c = z->l - m6; goto lab6; }
903 : 0 : lab6:
904 : : ;
905 : : }
906 : 0 : z->bra = z->c;
907 : 0 : { int ret = slice_del(z);
908 [ # # ]: 0 : if (ret < 0) return ret;
909 : : }
2539 910 : 0 : goto lab4;
911 : 0 : lab5:
200 912 : 0 : z->c = z->l - m5;
913 [ # # ]: 0 : if (!find_among_b(z, a_8, 11)) goto lab7;
914 : 0 : z->bra = z->c;
915 [ # # ]: 0 : if (!(eq_s_b(z, 3, s_15))) goto lab7;
916 : 0 : { int ret = slice_del(z);
917 [ # # ]: 0 : if (ret < 0) return ret;
918 : : }
919 : 0 : goto lab4;
920 : 0 : lab7:
921 : 0 : z->c = z->l - m5;
922 : 0 : { int m_test7 = z->l - z->c;
923 [ # # ]: 0 : if (!find_among_b(z, a_9, 9)) return 0;
924 : 0 : z->c = z->l - m_test7;
925 : : }
926 : 0 : z->bra = z->c;
927 : 0 : { int ret = slice_del(z);
928 [ # # ]: 0 : if (ret < 0) return ret;
929 : : }
930 : : }
931 : 0 : lab4:
932 : : ;
933 : : }
2539 934 : 0 : lab0:
935 : 0 : z->c = z->lb;
936 : 0 : return 1;
937 : : }
938 : :
1660 peter@eisentraut.org 939 : 0 : static int r_remove_pronoun_prefixes(struct SN_env * z) {
940 : 0 : z->bra = z->c;
941 [ # # # # : 0 : if (z->c + 2 >= z->l || z->p[z->c + 2] >> 5 != 4 || !((672 >> (z->p[z->c + 2] & 0x1f)) & 1)) return 0;
# # ]
200 tgl@sss.pgh.pa.us 942 [ # # ]: 0 : if (!find_among(z, a_10, 3)) return 0;
943 [ # # ]: 0 : if (!find_among(z, a_11, 10)) return 0;
944 [ # # ]: 0 : if (!(eq_s(z, 3, s_16))) return 0;
1660 peter@eisentraut.org 945 : 0 : z->ket = z->c;
946 : 0 : { int ret = slice_del(z);
2539 tgl@sss.pgh.pa.us 947 [ # # ]: 0 : if (ret < 0) return ret;
948 : : }
1660 peter@eisentraut.org 949 : 0 : { int c1 = z->c;
950 : 0 : { int ret = r_fix_va_start(z);
2539 tgl@sss.pgh.pa.us 951 [ # # ]: 0 : if (ret < 0) return ret;
952 : : }
953 : 0 : z->c = c1;
954 : : }
955 : 0 : return 1;
956 : : }
957 : :
1660 peter@eisentraut.org 958 : 0 : static int r_remove_plural_suffix(struct SN_env * z) {
959 : : int among_var;
960 : 0 : z->lb = z->c; z->c = z->l;
961 : :
200 tgl@sss.pgh.pa.us 962 : 0 : z->ket = z->c;
963 [ # # # # ]: 0 : if (z->c - 8 <= z->lb || z->p[z->c - 1] != 141) return 0;
964 : 0 : among_var = find_among_b(z, a_13, 4);
965 [ # # ]: 0 : if (!among_var) return 0;
966 : 0 : z->bra = z->c;
967 [ # # # # : 0 : switch (among_var) {
# ]
968 : 0 : case 1:
969 : 0 : { int m1 = z->l - z->c; (void)m1;
970 [ # # ]: 0 : if (!find_among_b(z, a_12, 6)) goto lab1;
971 : 0 : { int ret = slice_from_s(z, 9, s_17);
972 [ # # ]: 0 : if (ret < 0) return ret;
973 : : }
974 : 0 : goto lab0;
975 : 0 : lab1:
976 : 0 : z->c = z->l - m1;
977 : 0 : { int ret = slice_from_s(z, 3, s_18);
978 [ # # ]: 0 : if (ret < 0) return ret;
979 : : }
980 : : }
981 : 0 : lab0:
982 : 0 : break;
983 : 0 : case 2:
984 : 0 : { int ret = slice_from_s(z, 6, s_19);
985 [ # # ]: 0 : if (ret < 0) return ret;
986 : : }
987 : 0 : break;
988 : 0 : case 3:
989 : 0 : { int ret = slice_from_s(z, 6, s_20);
990 [ # # ]: 0 : if (ret < 0) return ret;
991 : : }
992 : 0 : break;
993 : 0 : case 4:
994 : 0 : { int ret = slice_del(z);
995 [ # # ]: 0 : if (ret < 0) return ret;
996 : : }
997 : 0 : break;
998 : : }
2539 999 : 0 : z->c = z->lb;
1000 : 0 : return 1;
1001 : : }
1002 : :
1660 peter@eisentraut.org 1003 : 0 : static int r_remove_question_suffixes(struct SN_env * z) {
1004 : 0 : { int ret = r_has_min_length(z);
2539 tgl@sss.pgh.pa.us 1005 [ # # ]: 0 : if (ret <= 0) return ret;
1006 : : }
1660 peter@eisentraut.org 1007 : 0 : z->lb = z->c; z->c = z->l;
1008 : :
1009 : 0 : { int m1 = z->l - z->c; (void)m1;
1010 : 0 : z->ket = z->c;
200 tgl@sss.pgh.pa.us 1011 [ # # ]: 0 : if (!find_among_b(z, a_14, 3)) goto lab0;
1660 peter@eisentraut.org 1012 : 0 : z->bra = z->c;
200 tgl@sss.pgh.pa.us 1013 : 0 : { int ret = slice_from_s(z, 3, s_21);
2539 1014 [ # # ]: 0 : if (ret < 0) return ret;
1015 : : }
1016 : 0 : lab0:
1017 : 0 : z->c = z->l - m1;
1018 : : }
1019 : 0 : z->c = z->lb;
1020 : :
1660 peter@eisentraut.org 1021 : 0 : { int ret = r_fix_endings(z);
2539 tgl@sss.pgh.pa.us 1022 [ # # ]: 0 : if (ret < 0) return ret;
1023 : : }
1024 : 0 : return 1;
1025 : : }
1026 : :
1660 peter@eisentraut.org 1027 : 0 : static int r_remove_command_suffixes(struct SN_env * z) {
1028 : 0 : { int ret = r_has_min_length(z);
2539 tgl@sss.pgh.pa.us 1029 [ # # ]: 0 : if (ret <= 0) return ret;
1030 : : }
1660 peter@eisentraut.org 1031 : 0 : z->lb = z->c; z->c = z->l;
1032 : :
1033 : 0 : z->ket = z->c;
1034 [ # # # # ]: 0 : if (z->c - 5 <= z->lb || z->p[z->c - 1] != 191) return 0;
200 tgl@sss.pgh.pa.us 1035 [ # # ]: 0 : if (!find_among_b(z, a_15, 2)) return 0;
1660 peter@eisentraut.org 1036 : 0 : z->bra = z->c;
1037 : 0 : { int ret = slice_del(z);
2539 tgl@sss.pgh.pa.us 1038 [ # # ]: 0 : if (ret < 0) return ret;
1039 : : }
1040 : 0 : z->c = z->lb;
1041 : 0 : return 1;
1042 : : }
1043 : :
1660 peter@eisentraut.org 1044 : 0 : static int r_remove_um(struct SN_env * z) {
1045 : 0 : { int ret = r_has_min_length(z);
2539 tgl@sss.pgh.pa.us 1046 [ # # ]: 0 : if (ret <= 0) return ret;
1047 : : }
1660 peter@eisentraut.org 1048 : 0 : z->lb = z->c; z->c = z->l;
1049 : :
1050 : 0 : z->ket = z->c;
200 tgl@sss.pgh.pa.us 1051 [ # # ]: 0 : if (!(eq_s_b(z, 9, s_22))) return 0;
1660 peter@eisentraut.org 1052 : 0 : z->bra = z->c;
200 tgl@sss.pgh.pa.us 1053 : 0 : { int ret = slice_from_s(z, 3, s_23);
2539 1054 [ # # ]: 0 : if (ret < 0) return ret;
1055 : : }
1056 : 0 : z->c = z->lb;
1660 peter@eisentraut.org 1057 : 0 : { int c1 = z->c;
1058 : 0 : { int ret = r_fix_ending(z);
2539 tgl@sss.pgh.pa.us 1059 [ # # ]: 0 : if (ret < 0) return ret;
1060 : : }
1061 : 0 : z->c = c1;
1062 : : }
1063 : 0 : return 1;
1064 : : }
1065 : :
1660 peter@eisentraut.org 1066 : 0 : static int r_remove_common_word_endings(struct SN_env * z) {
1067 : : int among_var;
1068 : 0 : { int ret = r_has_min_length(z);
2539 tgl@sss.pgh.pa.us 1069 [ # # ]: 0 : if (ret <= 0) return ret;
1070 : : }
1660 peter@eisentraut.org 1071 : 0 : z->lb = z->c; z->c = z->l;
1072 : :
200 tgl@sss.pgh.pa.us 1073 : 0 : z->ket = z->c;
1074 : 0 : among_var = find_among_b(z, a_17, 26);
1075 [ # # ]: 0 : if (!among_var) return 0;
1076 : 0 : z->bra = z->c;
1077 [ # # # # ]: 0 : switch (among_var) {
1078 : 0 : case 1:
1079 : 0 : { int ret = slice_from_s(z, 3, s_24);
1080 [ # # ]: 0 : if (ret < 0) return ret;
1081 : : }
1082 : 0 : break;
1083 : 0 : case 2:
1084 : 0 : { int m1 = z->l - z->c; (void)m1;
1085 [ # # ]: 0 : if (!find_among_b(z, a_16, 8)) goto lab0;
1086 : 0 : return 0;
1087 : 0 : lab0:
1088 : 0 : z->c = z->l - m1;
1089 : : }
1090 : 0 : { int ret = slice_from_s(z, 3, s_25);
2539 1091 [ # # ]: 0 : if (ret < 0) return ret;
1092 : : }
200 1093 : 0 : break;
1094 : 0 : case 3:
1660 peter@eisentraut.org 1095 : 0 : { int ret = slice_del(z);
2539 tgl@sss.pgh.pa.us 1096 [ # # ]: 0 : if (ret < 0) return ret;
1097 : : }
200 1098 : 0 : break;
1099 : : }
2539 1100 : 0 : z->c = z->lb;
1101 : :
1660 peter@eisentraut.org 1102 : 0 : { int ret = r_fix_endings(z);
2539 tgl@sss.pgh.pa.us 1103 [ # # ]: 0 : if (ret < 0) return ret;
1104 : : }
1105 : 0 : return 1;
1106 : : }
1107 : :
1660 peter@eisentraut.org 1108 : 0 : static int r_remove_vetrumai_urupukal(struct SN_env * z) {
1109 : : int among_var;
1110 : 0 : z->I[0] = 0;
1111 : 0 : { int ret = r_has_min_length(z);
2539 tgl@sss.pgh.pa.us 1112 [ # # ]: 0 : if (ret <= 0) return ret;
1113 : : }
1660 peter@eisentraut.org 1114 : 0 : z->lb = z->c; z->c = z->l;
1115 : :
1116 : 0 : { int m1 = z->l - z->c; (void)m1;
1117 : 0 : { int m_test2 = z->l - z->c;
1118 : 0 : z->ket = z->c;
200 tgl@sss.pgh.pa.us 1119 [ # # # # : 0 : if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 4 || !((-2147475197 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab1;
# # ]
1120 : 0 : among_var = find_among_b(z, a_20, 22);
1121 [ # # ]: 0 : if (!among_var) goto lab1;
1660 peter@eisentraut.org 1122 : 0 : z->bra = z->c;
200 tgl@sss.pgh.pa.us 1123 [ # # # # : 0 : switch (among_var) {
# # # # ]
1124 : 0 : case 1:
1125 : 0 : { int ret = slice_del(z);
1126 [ # # ]: 0 : if (ret < 0) return ret;
1127 : : }
1128 : 0 : break;
1129 : 0 : case 2:
1130 : 0 : { int ret = slice_from_s(z, 3, s_26);
1131 [ # # ]: 0 : if (ret < 0) return ret;
1132 : : }
1133 : 0 : break;
1134 : 0 : case 3:
1135 : 0 : { int m3 = z->l - z->c; (void)m3;
1136 [ # # ]: 0 : if (!(eq_s_b(z, 3, s_27))) goto lab2;
1137 : 0 : goto lab1;
1138 : 0 : lab2:
1139 : 0 : z->c = z->l - m3;
1140 : : }
1141 : 0 : { int ret = slice_from_s(z, 3, s_28);
1142 [ # # ]: 0 : if (ret < 0) return ret;
1143 : : }
1144 : 0 : break;
1145 : 0 : case 4:
1146 [ # # ]: 0 : if (len_utf8(z->p) < 7) goto lab1;
1147 : 0 : { int ret = slice_from_s(z, 3, s_29);
1148 [ # # ]: 0 : if (ret < 0) return ret;
1149 : : }
1150 : 0 : break;
1151 : 0 : case 5:
1152 : 0 : { int m4 = z->l - z->c; (void)m4;
1153 [ # # ]: 0 : if (!find_among_b(z, a_18, 8)) goto lab3;
1154 : 0 : goto lab1;
1155 : 0 : lab3:
1156 : 0 : z->c = z->l - m4;
1157 : : }
1158 : 0 : { int ret = slice_from_s(z, 3, s_30);
1159 [ # # ]: 0 : if (ret < 0) return ret;
1160 : : }
1161 : 0 : break;
1162 : 0 : case 6:
1163 : 0 : { int m5 = z->l - z->c; (void)m5;
1164 [ # # ]: 0 : if (!find_among_b(z, a_19, 8)) goto lab4;
1165 : 0 : goto lab1;
1166 : 0 : lab4:
1167 : 0 : z->c = z->l - m5;
1168 : : }
1169 : 0 : { int ret = slice_del(z);
1170 [ # # ]: 0 : if (ret < 0) return ret;
1171 : : }
1172 : 0 : break;
1173 : 0 : case 7:
1174 : 0 : { int ret = slice_from_s(z, 3, s_31);
1175 [ # # ]: 0 : if (ret < 0) return ret;
1176 : : }
1177 : 0 : break;
1178 : : }
1179 : 0 : z->c = z->l - m_test2;
1180 : : }
2539 1181 : 0 : goto lab0;
200 1182 : 0 : lab1:
2539 1183 : 0 : z->c = z->l - m1;
200 1184 : 0 : { int m_test6 = z->l - z->c;
1660 peter@eisentraut.org 1185 : 0 : z->ket = z->c;
200 tgl@sss.pgh.pa.us 1186 [ # # ]: 0 : if (!(eq_s_b(z, 3, s_32))) return 0;
1187 : 0 : { int m7 = z->l - z->c; (void)m7;
1188 : 0 : { int m8 = z->l - z->c; (void)m8;
1189 [ # # ]: 0 : if (!find_among_b(z, a_21, 6)) goto lab7;
1190 : 0 : goto lab6;
1191 : 0 : lab7:
1192 : 0 : z->c = z->l - m8;
1193 : : }
1194 : 0 : goto lab5;
1195 : 0 : lab6:
1196 : 0 : z->c = z->l - m7;
1197 : 0 : { int m_test9 = z->l - z->c;
1198 [ # # ]: 0 : if (!find_among_b(z, a_22, 6)) return 0;
1199 [ # # ]: 0 : if (!(eq_s_b(z, 3, s_33))) return 0;
1200 : 0 : z->c = z->l - m_test9;
1201 : : }
1202 : : }
1203 : 0 : lab5:
1660 peter@eisentraut.org 1204 : 0 : z->bra = z->c;
200 tgl@sss.pgh.pa.us 1205 : 0 : { int ret = slice_from_s(z, 3, s_34);
2539 1206 [ # # ]: 0 : if (ret < 0) return ret;
1207 : : }
200 1208 : 0 : z->c = z->l - m_test6;
1209 : : }
1210 : : }
2539 1211 : 0 : lab0:
1660 peter@eisentraut.org 1212 : 0 : z->I[0] = 1;
200 tgl@sss.pgh.pa.us 1213 : 0 : { int m10 = z->l - z->c; (void)m10;
1660 peter@eisentraut.org 1214 : 0 : z->ket = z->c;
200 tgl@sss.pgh.pa.us 1215 [ # # ]: 0 : if (!(eq_s_b(z, 9, s_35))) goto lab8;
1660 peter@eisentraut.org 1216 : 0 : z->bra = z->c;
200 tgl@sss.pgh.pa.us 1217 : 0 : { int ret = slice_from_s(z, 3, s_36);
2539 1218 [ # # ]: 0 : if (ret < 0) return ret;
1219 : : }
200 1220 : 0 : lab8:
1221 : 0 : z->c = z->l - m10;
1222 : : }
2539 1223 : 0 : z->c = z->lb;
1224 : :
1660 peter@eisentraut.org 1225 : 0 : { int ret = r_fix_endings(z);
2539 tgl@sss.pgh.pa.us 1226 [ # # ]: 0 : if (ret < 0) return ret;
1227 : : }
1228 : 0 : return 1;
1229 : : }
1230 : :
1660 peter@eisentraut.org 1231 : 0 : static int r_remove_tense_suffixes(struct SN_env * z) {
1232 : 0 : z->I[1] = 1;
1233 : 0 : while(1) {
1234 : 0 : int c1 = z->c;
1235 [ # # ]: 0 : if (!(z->I[1])) goto lab0;
1236 : 0 : { int c2 = z->c;
1237 : 0 : { int ret = r_remove_tense_suffix(z);
2539 tgl@sss.pgh.pa.us 1238 [ # # ]: 0 : if (ret < 0) return ret;
1239 : : }
1240 : 0 : z->c = c2;
1241 : : }
1242 : 0 : continue;
1243 : 0 : lab0:
1244 : 0 : z->c = c1;
1245 : 0 : break;
1246 : : }
1247 : 0 : return 1;
1248 : : }
1249 : :
1660 peter@eisentraut.org 1250 : 0 : static int r_remove_tense_suffix(struct SN_env * z) {
1251 : : int among_var;
1252 : 0 : z->I[1] = 0;
1253 : 0 : { int ret = r_has_min_length(z);
2539 tgl@sss.pgh.pa.us 1254 [ # # ]: 0 : if (ret <= 0) return ret;
1255 : : }
1660 peter@eisentraut.org 1256 : 0 : z->lb = z->c; z->c = z->l;
1257 : :
1258 : 0 : { int m1 = z->l - z->c; (void)m1;
200 tgl@sss.pgh.pa.us 1259 : 0 : { int m_test2 = z->l - z->c;
1260 : 0 : z->ket = z->c;
1261 : 0 : among_var = find_among_b(z, a_25, 46);
1262 [ # # ]: 0 : if (!among_var) goto lab0;
1263 : 0 : z->bra = z->c;
1264 [ # # # # : 0 : switch (among_var) {
# # # ]
1265 : 0 : case 1:
1266 : 0 : { int ret = slice_del(z);
1267 [ # # ]: 0 : if (ret < 0) return ret;
1268 : : }
1269 : 0 : break;
1270 : 0 : case 2:
1271 : 0 : { int m3 = z->l - z->c; (void)m3;
1272 [ # # # # : 0 : if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 4 || !((1951712 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab1;
# # ]
1273 [ # # ]: 0 : if (!find_among_b(z, a_23, 12)) goto lab1;
1274 : 0 : goto lab0;
1275 : 0 : lab1:
1276 : 0 : z->c = z->l - m3;
1277 : : }
1278 : 0 : { int ret = slice_del(z);
1279 [ # # ]: 0 : if (ret < 0) return ret;
1280 : : }
1281 : 0 : break;
1282 : 0 : case 3:
1283 : 0 : { int m4 = z->l - z->c; (void)m4;
1284 [ # # ]: 0 : if (!find_among_b(z, a_24, 8)) goto lab2;
1285 : 0 : goto lab0;
1286 : 0 : lab2:
1287 : 0 : z->c = z->l - m4;
1288 : : }
1289 : 0 : { int ret = slice_del(z);
1290 [ # # ]: 0 : if (ret < 0) return ret;
1291 : : }
1292 : 0 : break;
1293 : 0 : case 4:
1294 : 0 : { int m5 = z->l - z->c; (void)m5;
1295 [ # # ]: 0 : if (!(eq_s_b(z, 3, s_37))) goto lab3;
1296 : 0 : goto lab0;
1297 : 0 : lab3:
1298 : 0 : z->c = z->l - m5;
1299 : : }
1300 : 0 : { int ret = slice_from_s(z, 3, s_38);
1301 [ # # ]: 0 : if (ret < 0) return ret;
1302 : : }
1303 : 0 : break;
1304 : 0 : case 5:
1305 : 0 : { int ret = slice_from_s(z, 3, s_39);
1306 [ # # ]: 0 : if (ret < 0) return ret;
1307 : : }
1308 : 0 : break;
1309 : 0 : case 6:
1660 peter@eisentraut.org 1310 : 0 : { int m_test6 = z->l - z->c;
200 tgl@sss.pgh.pa.us 1311 [ # # ]: 0 : if (!(eq_s_b(z, 3, s_40))) goto lab0;
2539 1312 : 0 : z->c = z->l - m_test6;
1313 : : }
200 1314 : 0 : { int ret = slice_del(z);
1315 [ # # ]: 0 : if (ret < 0) return ret;
1316 : : }
1317 : 0 : break;
1318 : : }
1319 : 0 : z->I[1] = 1;
1320 : 0 : z->c = z->l - m_test2;
1321 : : }
2539 1322 : 0 : lab0:
1323 : 0 : z->c = z->l - m1;
1324 : : }
200 1325 : 0 : { int m7 = z->l - z->c; (void)m7;
1660 peter@eisentraut.org 1326 : 0 : z->ket = z->c;
200 tgl@sss.pgh.pa.us 1327 [ # # # # : 0 : if (z->c - 8 <= z->lb || (z->p[z->c - 1] != 141 && z->p[z->c - 1] != 177)) goto lab4;
# # ]
1328 [ # # ]: 0 : if (!find_among_b(z, a_26, 6)) goto lab4;
1660 peter@eisentraut.org 1329 : 0 : z->bra = z->c;
1330 : 0 : { int ret = slice_del(z);
2539 tgl@sss.pgh.pa.us 1331 [ # # ]: 0 : if (ret < 0) return ret;
1332 : : }
1660 peter@eisentraut.org 1333 : 0 : z->I[1] = 1;
200 tgl@sss.pgh.pa.us 1334 : 0 : lab4:
1335 : 0 : z->c = z->l - m7;
1336 : : }
2539 1337 : 0 : z->c = z->lb;
1338 : :
1660 peter@eisentraut.org 1339 : 0 : { int ret = r_fix_endings(z);
2539 tgl@sss.pgh.pa.us 1340 [ # # ]: 0 : if (ret < 0) return ret;
1341 : : }
1342 : 0 : return 1;
1343 : : }
1344 : :
1660 peter@eisentraut.org 1345 : 0 : extern int tamil_UTF_8_stem(struct SN_env * z) {
1346 : 0 : z->I[0] = 0;
1347 : 0 : { int c1 = z->c;
1348 : 0 : { int ret = r_fix_ending(z);
2539 tgl@sss.pgh.pa.us 1349 [ # # ]: 0 : if (ret < 0) return ret;
1350 : : }
1351 : 0 : z->c = c1;
1352 : : }
1660 peter@eisentraut.org 1353 : 0 : { int ret = r_has_min_length(z);
2539 tgl@sss.pgh.pa.us 1354 [ # # ]: 0 : if (ret <= 0) return ret;
1355 : : }
1660 peter@eisentraut.org 1356 : 0 : { int c2 = z->c;
1357 : 0 : { int ret = r_remove_question_prefixes(z);
2539 tgl@sss.pgh.pa.us 1358 [ # # ]: 0 : if (ret < 0) return ret;
1359 : : }
1360 : 0 : z->c = c2;
1361 : : }
1660 peter@eisentraut.org 1362 : 0 : { int c3 = z->c;
1363 : 0 : { int ret = r_remove_pronoun_prefixes(z);
2539 tgl@sss.pgh.pa.us 1364 [ # # ]: 0 : if (ret < 0) return ret;
1365 : : }
1366 : 0 : z->c = c3;
1367 : : }
1660 peter@eisentraut.org 1368 : 0 : { int c4 = z->c;
1369 : 0 : { int ret = r_remove_question_suffixes(z);
2539 tgl@sss.pgh.pa.us 1370 [ # # ]: 0 : if (ret < 0) return ret;
1371 : : }
1372 : 0 : z->c = c4;
1373 : : }
1660 peter@eisentraut.org 1374 : 0 : { int c5 = z->c;
1375 : 0 : { int ret = r_remove_um(z);
2539 tgl@sss.pgh.pa.us 1376 [ # # ]: 0 : if (ret < 0) return ret;
1377 : : }
1378 : 0 : z->c = c5;
1379 : : }
1660 peter@eisentraut.org 1380 : 0 : { int c6 = z->c;
1381 : 0 : { int ret = r_remove_common_word_endings(z);
2539 tgl@sss.pgh.pa.us 1382 [ # # ]: 0 : if (ret < 0) return ret;
1383 : : }
1384 : 0 : z->c = c6;
1385 : : }
1660 peter@eisentraut.org 1386 : 0 : { int c7 = z->c;
1387 : 0 : { int ret = r_remove_vetrumai_urupukal(z);
2539 tgl@sss.pgh.pa.us 1388 [ # # ]: 0 : if (ret < 0) return ret;
1389 : : }
1390 : 0 : z->c = c7;
1391 : : }
1660 peter@eisentraut.org 1392 : 0 : { int c8 = z->c;
1393 : 0 : { int ret = r_remove_plural_suffix(z);
2539 tgl@sss.pgh.pa.us 1394 [ # # ]: 0 : if (ret < 0) return ret;
1395 : : }
1396 : 0 : z->c = c8;
1397 : : }
1660 peter@eisentraut.org 1398 : 0 : { int c9 = z->c;
1399 : 0 : { int ret = r_remove_command_suffixes(z);
2539 tgl@sss.pgh.pa.us 1400 [ # # ]: 0 : if (ret < 0) return ret;
1401 : : }
1402 : 0 : z->c = c9;
1403 : : }
1660 peter@eisentraut.org 1404 : 0 : { int c10 = z->c;
1405 : 0 : { int ret = r_remove_tense_suffixes(z);
2539 tgl@sss.pgh.pa.us 1406 [ # # ]: 0 : if (ret < 0) return ret;
1407 : : }
1408 : 0 : z->c = c10;
1409 : : }
1410 : 0 : return 1;
1411 : : }
1412 : :
1660 peter@eisentraut.org 1413 : 0 : extern struct SN_env * tamil_UTF_8_create_env(void) { return SN_create_env(0, 2); }
1414 : :
2539 tgl@sss.pgh.pa.us 1415 : 0 : extern void tamil_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); }
1416 : :
|