PostgreSQL Source Code git master
stem_UTF_8_estonian.c
Go to the documentation of this file.
1/* Generated from estonian.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
2
4
5#include <stddef.h>
6
7#include "snowball_runtime.h"
8
9struct SN_local {
10 struct SN_env z;
11 int i_p1;
12};
13
14typedef struct SN_local SN_local;
15
16#ifdef __cplusplus
17extern "C" {
18#endif
19extern int estonian_UTF_8_stem(struct SN_env * z);
20#ifdef __cplusplus
21}
22#endif
23
24static int r_nu(struct SN_env * z);
25static int r_verb(struct SN_env * z);
26static int r_verb_exceptions(struct SN_env * z);
27static int r_substantive(struct SN_env * z);
28static int r_degrees(struct SN_env * z);
29static int r_i_plural(struct SN_env * z);
30static int r_undouble_kpt(struct SN_env * z);
31static int r_plural_three_first_cases(struct SN_env * z);
32static int r_emphasis(struct SN_env * z);
33static int r_case_ending(struct SN_env * z);
34static int r_special_noun_endings(struct SN_env * z);
35static int r_LONGV(struct SN_env * z);
36static int r_mark_regions(struct SN_env * z);
37
38static const symbol s_0[] = { 'a' };
39static const symbol s_1[] = { 'l', 'a', 's', 'e' };
40static const symbol s_2[] = { 'm', 'i', 's', 'e' };
41static const symbol s_3[] = { 'l', 'i', 's', 'e' };
42static const symbol s_4[] = { 'i', 'k', 'u' };
43static const symbol s_5[] = { 'e' };
44static const symbol s_6[] = { 't' };
45static const symbol s_7[] = { 'k' };
46static const symbol s_8[] = { 'p' };
47static const symbol s_9[] = { 't' };
48static const symbol s_10[] = { 'j', 'o', 'o' };
49static const symbol s_11[] = { 's', 'a', 'a' };
50static const symbol s_12[] = { 'v', 'i', 'i', 'm', 'a' };
51static const symbol s_13[] = { 'k', 'e', 'e', 's', 'i' };
52static const symbol s_14[] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6 };
53static const symbol s_15[] = { 'l', 0xC3, 0xB5, 'i' };
54static const symbol s_16[] = { 'l', 'o', 'o' };
55static const symbol s_17[] = { 'k', 0xC3, 0xA4, 'i', 's', 'i' };
56static const symbol s_18[] = { 's', 0xC3, 0xB6, 0xC3, 0xB6 };
57static const symbol s_19[] = { 't', 'o', 'o' };
58static const symbol s_20[] = { 'v', 0xC3, 0xB5, 'i', 's', 'i' };
59static const symbol s_21[] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'm', 'a' };
60static const symbol s_22[] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 's', 'i' };
61static const symbol s_23[] = { 'l', 'u', 'g', 'e' };
62static const symbol s_24[] = { 'p', 0xC3, 0xB5, 'd', 'e' };
63static const symbol s_25[] = { 'l', 'a', 'd', 'u' };
64static const symbol s_26[] = { 't', 'e', 'g', 'i' };
65static const symbol s_27[] = { 'n', 0xC3, 0xA4, 'g', 'i' };
66
67static const symbol s_0_0[2] = { 'g', 'i' };
68static const symbol s_0_1[2] = { 'k', 'i' };
69static const struct among a_0[2] = {
70{ 2, s_0_0, 0, 1, 0},
71{ 2, s_0_1, 0, 2, 0}
72};
73
74static const symbol s_1_0[2] = { 'd', 'a' };
75static const symbol s_1_1[4] = { 'm', 'a', 't', 'a' };
76static const symbol s_1_2[1] = { 'b' };
77static const symbol s_1_3[4] = { 'k', 's', 'i', 'd' };
78static const symbol s_1_4[6] = { 'n', 'u', 'k', 's', 'i', 'd' };
79static const symbol s_1_5[2] = { 'm', 'e' };
80static const symbol s_1_6[4] = { 's', 'i', 'm', 'e' };
81static const symbol s_1_7[5] = { 'k', 's', 'i', 'm', 'e' };
82static const symbol s_1_8[7] = { 'n', 'u', 'k', 's', 'i', 'm', 'e' };
83static const symbol s_1_9[4] = { 'a', 'k', 's', 'e' };
84static const symbol s_1_10[5] = { 'd', 'a', 'k', 's', 'e' };
85static const symbol s_1_11[5] = { 't', 'a', 'k', 's', 'e' };
86static const symbol s_1_12[4] = { 's', 'i', 't', 'e' };
87static const symbol s_1_13[5] = { 'k', 's', 'i', 't', 'e' };
88static const symbol s_1_14[7] = { 'n', 'u', 'k', 's', 'i', 't', 'e' };
89static const symbol s_1_15[1] = { 'n' };
90static const symbol s_1_16[3] = { 's', 'i', 'n' };
91static const symbol s_1_17[4] = { 'k', 's', 'i', 'n' };
92static const symbol s_1_18[6] = { 'n', 'u', 'k', 's', 'i', 'n' };
93static const symbol s_1_19[4] = { 'd', 'a', 'k', 's' };
94static const symbol s_1_20[4] = { 't', 'a', 'k', 's' };
95static const struct among a_1[21] = {
96{ 2, s_1_0, 0, 3, 0},
97{ 4, s_1_1, 0, 1, 0},
98{ 1, s_1_2, 0, 3, 0},
99{ 4, s_1_3, 0, 1, 0},
100{ 6, s_1_4, -1, 1, 0},
101{ 2, s_1_5, 0, 3, 0},
102{ 4, s_1_6, -1, 1, 0},
103{ 5, s_1_7, -1, 1, 0},
104{ 7, s_1_8, -1, 1, 0},
105{ 4, s_1_9, 0, 2, 0},
106{ 5, s_1_10, -1, 1, 0},
107{ 5, s_1_11, -2, 1, 0},
108{ 4, s_1_12, 0, 1, 0},
109{ 5, s_1_13, -1, 1, 0},
110{ 7, s_1_14, -1, 1, 0},
111{ 1, s_1_15, 0, 3, 0},
112{ 3, s_1_16, -1, 1, 0},
113{ 4, s_1_17, -1, 1, 0},
114{ 6, s_1_18, -1, 1, 0},
115{ 4, s_1_19, 0, 1, 0},
116{ 4, s_1_20, 0, 1, 0}
117};
118
119static const symbol s_2_0[2] = { 'a', 'a' };
120static const symbol s_2_1[2] = { 'e', 'e' };
121static const symbol s_2_2[2] = { 'i', 'i' };
122static const symbol s_2_3[2] = { 'o', 'o' };
123static const symbol s_2_4[2] = { 'u', 'u' };
124static const symbol s_2_5[4] = { 0xC3, 0xA4, 0xC3, 0xA4 };
125static const symbol s_2_6[4] = { 0xC3, 0xB5, 0xC3, 0xB5 };
126static const symbol s_2_7[4] = { 0xC3, 0xB6, 0xC3, 0xB6 };
127static const symbol s_2_8[4] = { 0xC3, 0xBC, 0xC3, 0xBC };
128static const struct among a_2[9] = {
129{ 2, s_2_0, 0, -1, 0},
130{ 2, s_2_1, 0, -1, 0},
131{ 2, s_2_2, 0, -1, 0},
132{ 2, s_2_3, 0, -1, 0},
133{ 2, s_2_4, 0, -1, 0},
134{ 4, s_2_5, 0, -1, 0},
135{ 4, s_2_6, 0, -1, 0},
136{ 4, s_2_7, 0, -1, 0},
137{ 4, s_2_8, 0, -1, 0}
138};
139
140static const symbol s_3_0[4] = { 'l', 'a', 'n', 'e' };
141static const symbol s_3_1[4] = { 'l', 'i', 'n', 'e' };
142static const symbol s_3_2[4] = { 'm', 'i', 'n', 'e' };
143static const symbol s_3_3[5] = { 'l', 'a', 's', 's', 'e' };
144static const symbol s_3_4[5] = { 'l', 'i', 's', 's', 'e' };
145static const symbol s_3_5[5] = { 'm', 'i', 's', 's', 'e' };
146static const symbol s_3_6[4] = { 'l', 'a', 's', 'i' };
147static const symbol s_3_7[4] = { 'l', 'i', 's', 'i' };
148static const symbol s_3_8[4] = { 'm', 'i', 's', 'i' };
149static const symbol s_3_9[4] = { 'l', 'a', 's', 't' };
150static const symbol s_3_10[4] = { 'l', 'i', 's', 't' };
151static const symbol s_3_11[4] = { 'm', 'i', 's', 't' };
152static const struct among a_3[12] = {
153{ 4, s_3_0, 0, 1, 0},
154{ 4, s_3_1, 0, 3, 0},
155{ 4, s_3_2, 0, 2, 0},
156{ 5, s_3_3, 0, 1, 0},
157{ 5, s_3_4, 0, 3, 0},
158{ 5, s_3_5, 0, 2, 0},
159{ 4, s_3_6, 0, 1, 0},
160{ 4, s_3_7, 0, 3, 0},
161{ 4, s_3_8, 0, 2, 0},
162{ 4, s_3_9, 0, 1, 0},
163{ 4, s_3_10, 0, 3, 0},
164{ 4, s_3_11, 0, 2, 0}
165};
166
167static const symbol s_4_0[2] = { 'g', 'a' };
168static const symbol s_4_1[2] = { 't', 'a' };
169static const symbol s_4_2[2] = { 'l', 'e' };
170static const symbol s_4_3[3] = { 's', 's', 'e' };
171static const symbol s_4_4[1] = { 'l' };
172static const symbol s_4_5[1] = { 's' };
173static const symbol s_4_6[2] = { 'k', 's' };
174static const symbol s_4_7[1] = { 't' };
175static const symbol s_4_8[2] = { 'l', 't' };
176static const symbol s_4_9[2] = { 's', 't' };
177static const struct among a_4[10] = {
178{ 2, s_4_0, 0, 1, 0},
179{ 2, s_4_1, 0, 1, 0},
180{ 2, s_4_2, 0, 1, 0},
181{ 3, s_4_3, 0, 1, 0},
182{ 1, s_4_4, 0, 1, 0},
183{ 1, s_4_5, 0, 1, 0},
184{ 2, s_4_6, -1, 1, 0},
185{ 1, s_4_7, 0, 2, 0},
186{ 2, s_4_8, -1, 1, 0},
187{ 2, s_4_9, -2, 1, 0}
188};
189
190static const symbol s_5_1[3] = { 'l', 'a', 's' };
191static const symbol s_5_2[3] = { 'l', 'i', 's' };
192static const symbol s_5_3[3] = { 'm', 'i', 's' };
193static const symbol s_5_4[1] = { 't' };
194static const struct among a_5[5] = {
195{ 0, 0, 0, 2, 0},
196{ 3, s_5_1, -1, 1, 0},
197{ 3, s_5_2, -2, 1, 0},
198{ 3, s_5_3, -3, 1, 0},
199{ 1, s_5_4, -4, -1, 0}
200};
201
202static const symbol s_6_0[1] = { 'd' };
203static const symbol s_6_1[3] = { 's', 'i', 'd' };
204static const symbol s_6_2[2] = { 'd', 'e' };
205static const symbol s_6_3[6] = { 'i', 'k', 'k', 'u', 'd', 'e' };
206static const symbol s_6_4[3] = { 'i', 'k', 'e' };
207static const symbol s_6_5[4] = { 'i', 'k', 'k', 'e' };
208static const symbol s_6_6[2] = { 't', 'e' };
209static const struct among a_6[7] = {
210{ 1, s_6_0, 0, 4, 0},
211{ 3, s_6_1, -1, 2, 0},
212{ 2, s_6_2, 0, 4, 0},
213{ 6, s_6_3, -1, 1, 0},
214{ 3, s_6_4, 0, 1, 0},
215{ 4, s_6_5, 0, 1, 0},
216{ 2, s_6_6, 0, 3, 0}
217};
218
219static const symbol s_7_0[2] = { 'v', 'a' };
220static const symbol s_7_1[2] = { 'd', 'u' };
221static const symbol s_7_2[2] = { 'n', 'u' };
222static const symbol s_7_3[2] = { 't', 'u' };
223static const struct among a_7[4] = {
224{ 2, s_7_0, 0, -1, 0},
225{ 2, s_7_1, 0, -1, 0},
226{ 2, s_7_2, 0, -1, 0},
227{ 2, s_7_3, 0, -1, 0}
228};
229
230static const symbol s_8_0[2] = { 'k', 'k' };
231static const symbol s_8_1[2] = { 'p', 'p' };
232static const symbol s_8_2[2] = { 't', 't' };
233static const struct among a_8[3] = {
234{ 2, s_8_0, 0, 1, 0},
235{ 2, s_8_1, 0, 2, 0},
236{ 2, s_8_2, 0, 3, 0}
237};
238
239static const symbol s_9_0[2] = { 'm', 'a' };
240static const symbol s_9_1[3] = { 'm', 'a', 'i' };
241static const symbol s_9_2[1] = { 'm' };
242static const struct among a_9[3] = {
243{ 2, s_9_0, 0, 2, 0},
244{ 3, s_9_1, 0, 1, 0},
245{ 1, s_9_2, 0, 1, 0}
246};
247
248static const symbol s_10_0[4] = { 'j', 'o', 'o', 'b' };
249static const symbol s_10_1[4] = { 'j', 'o', 'o', 'd' };
250static const symbol s_10_2[8] = { 'j', 'o', 'o', 'd', 'a', 'k', 's', 'e' };
251static const symbol s_10_3[5] = { 'j', 'o', 'o', 'm', 'a' };
252static const symbol s_10_4[7] = { 'j', 'o', 'o', 'm', 'a', 't', 'a' };
253static const symbol s_10_5[5] = { 'j', 'o', 'o', 'm', 'e' };
254static const symbol s_10_6[4] = { 'j', 'o', 'o', 'n' };
255static const symbol s_10_7[5] = { 'j', 'o', 'o', 't', 'e' };
256static const symbol s_10_8[6] = { 'j', 'o', 'o', 'v', 'a', 'd' };
257static const symbol s_10_9[4] = { 'j', 'u', 'u', 'a' };
258static const symbol s_10_10[7] = { 'j', 'u', 'u', 'a', 'k', 's', 'e' };
259static const symbol s_10_11[4] = { 'j', 0xC3, 0xA4, 'i' };
260static const symbol s_10_12[5] = { 'j', 0xC3, 0xA4, 'i', 'd' };
261static const symbol s_10_13[6] = { 'j', 0xC3, 0xA4, 'i', 'm', 'e' };
262static const symbol s_10_14[5] = { 'j', 0xC3, 0xA4, 'i', 'n' };
263static const symbol s_10_15[6] = { 'j', 0xC3, 0xA4, 'i', 't', 'e' };
264static const symbol s_10_16[6] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'b' };
265static const symbol s_10_17[6] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'd' };
266static const symbol s_10_18[7] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'd', 'a' };
267static const symbol s_10_19[10] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'd', 'a', 'k', 's', 'e' };
268static const symbol s_10_20[7] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'd', 'i' };
269static const symbol s_10_21[7] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'k', 's' };
270static const symbol s_10_22[9] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'k', 's', 'i', 'd' };
271static const symbol s_10_23[10] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'k', 's', 'i', 'm', 'e' };
272static const symbol s_10_24[9] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'k', 's', 'i', 'n' };
273static const symbol s_10_25[10] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'k', 's', 'i', 't', 'e' };
274static const symbol s_10_26[7] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'm', 'a' };
275static const symbol s_10_27[9] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'm', 'a', 't', 'a' };
276static const symbol s_10_28[7] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'm', 'e' };
277static const symbol s_10_29[6] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'n' };
278static const symbol s_10_30[7] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 't', 'e' };
279static const symbol s_10_31[8] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'v', 'a', 'd' };
280static const symbol s_10_32[4] = { 'j', 0xC3, 0xB5, 'i' };
281static const symbol s_10_33[5] = { 'j', 0xC3, 0xB5, 'i', 'd' };
282static const symbol s_10_34[6] = { 'j', 0xC3, 0xB5, 'i', 'm', 'e' };
283static const symbol s_10_35[5] = { 'j', 0xC3, 0xB5, 'i', 'n' };
284static const symbol s_10_36[6] = { 'j', 0xC3, 0xB5, 'i', 't', 'e' };
285static const symbol s_10_37[4] = { 'k', 'e', 'e', 'b' };
286static const symbol s_10_38[4] = { 'k', 'e', 'e', 'd' };
287static const symbol s_10_39[8] = { 'k', 'e', 'e', 'd', 'a', 'k', 's', 'e' };
288static const symbol s_10_40[5] = { 'k', 'e', 'e', 'k', 's' };
289static const symbol s_10_41[7] = { 'k', 'e', 'e', 'k', 's', 'i', 'd' };
290static const symbol s_10_42[8] = { 'k', 'e', 'e', 'k', 's', 'i', 'm', 'e' };
291static const symbol s_10_43[7] = { 'k', 'e', 'e', 'k', 's', 'i', 'n' };
292static const symbol s_10_44[8] = { 'k', 'e', 'e', 'k', 's', 'i', 't', 'e' };
293static const symbol s_10_45[5] = { 'k', 'e', 'e', 'm', 'a' };
294static const symbol s_10_46[7] = { 'k', 'e', 'e', 'm', 'a', 't', 'a' };
295static const symbol s_10_47[5] = { 'k', 'e', 'e', 'm', 'e' };
296static const symbol s_10_48[4] = { 'k', 'e', 'e', 'n' };
297static const symbol s_10_49[4] = { 'k', 'e', 'e', 's' };
298static const symbol s_10_50[5] = { 'k', 'e', 'e', 't', 'a' };
299static const symbol s_10_51[5] = { 'k', 'e', 'e', 't', 'e' };
300static const symbol s_10_52[6] = { 'k', 'e', 'e', 'v', 'a', 'd' };
301static const symbol s_10_53[5] = { 'k', 0xC3, 0xA4, 'i', 'a' };
302static const symbol s_10_54[8] = { 'k', 0xC3, 0xA4, 'i', 'a', 'k', 's', 'e' };
303static const symbol s_10_55[5] = { 'k', 0xC3, 0xA4, 'i', 'b' };
304static const symbol s_10_56[5] = { 'k', 0xC3, 0xA4, 'i', 'd' };
305static const symbol s_10_57[6] = { 'k', 0xC3, 0xA4, 'i', 'd', 'i' };
306static const symbol s_10_58[6] = { 'k', 0xC3, 0xA4, 'i', 'k', 's' };
307static const symbol s_10_59[8] = { 'k', 0xC3, 0xA4, 'i', 'k', 's', 'i', 'd' };
308static const symbol s_10_60[9] = { 'k', 0xC3, 0xA4, 'i', 'k', 's', 'i', 'm', 'e' };
309static const symbol s_10_61[8] = { 'k', 0xC3, 0xA4, 'i', 'k', 's', 'i', 'n' };
310static const symbol s_10_62[9] = { 'k', 0xC3, 0xA4, 'i', 'k', 's', 'i', 't', 'e' };
311static const symbol s_10_63[6] = { 'k', 0xC3, 0xA4, 'i', 'm', 'a' };
312static const symbol s_10_64[8] = { 'k', 0xC3, 0xA4, 'i', 'm', 'a', 't', 'a' };
313static const symbol s_10_65[6] = { 'k', 0xC3, 0xA4, 'i', 'm', 'e' };
314static const symbol s_10_66[5] = { 'k', 0xC3, 0xA4, 'i', 'n' };
315static const symbol s_10_67[5] = { 'k', 0xC3, 0xA4, 'i', 's' };
316static const symbol s_10_68[6] = { 'k', 0xC3, 0xA4, 'i', 't', 'e' };
317static const symbol s_10_69[7] = { 'k', 0xC3, 0xA4, 'i', 'v', 'a', 'd' };
318static const symbol s_10_70[4] = { 'l', 'a', 'o', 'b' };
319static const symbol s_10_71[4] = { 'l', 'a', 'o', 'd' };
320static const symbol s_10_72[5] = { 'l', 'a', 'o', 'k', 's' };
321static const symbol s_10_73[7] = { 'l', 'a', 'o', 'k', 's', 'i', 'd' };
322static const symbol s_10_74[8] = { 'l', 'a', 'o', 'k', 's', 'i', 'm', 'e' };
323static const symbol s_10_75[7] = { 'l', 'a', 'o', 'k', 's', 'i', 'n' };
324static const symbol s_10_76[8] = { 'l', 'a', 'o', 'k', 's', 'i', 't', 'e' };
325static const symbol s_10_77[5] = { 'l', 'a', 'o', 'm', 'e' };
326static const symbol s_10_78[4] = { 'l', 'a', 'o', 'n' };
327static const symbol s_10_79[5] = { 'l', 'a', 'o', 't', 'e' };
328static const symbol s_10_80[6] = { 'l', 'a', 'o', 'v', 'a', 'd' };
329static const symbol s_10_81[4] = { 'l', 'o', 'e', 'b' };
330static const symbol s_10_82[4] = { 'l', 'o', 'e', 'd' };
331static const symbol s_10_83[5] = { 'l', 'o', 'e', 'k', 's' };
332static const symbol s_10_84[7] = { 'l', 'o', 'e', 'k', 's', 'i', 'd' };
333static const symbol s_10_85[8] = { 'l', 'o', 'e', 'k', 's', 'i', 'm', 'e' };
334static const symbol s_10_86[7] = { 'l', 'o', 'e', 'k', 's', 'i', 'n' };
335static const symbol s_10_87[8] = { 'l', 'o', 'e', 'k', 's', 'i', 't', 'e' };
336static const symbol s_10_88[5] = { 'l', 'o', 'e', 'm', 'e' };
337static const symbol s_10_89[4] = { 'l', 'o', 'e', 'n' };
338static const symbol s_10_90[5] = { 'l', 'o', 'e', 't', 'e' };
339static const symbol s_10_91[6] = { 'l', 'o', 'e', 'v', 'a', 'd' };
340static const symbol s_10_92[4] = { 'l', 'o', 'o', 'b' };
341static const symbol s_10_93[4] = { 'l', 'o', 'o', 'd' };
342static const symbol s_10_94[5] = { 'l', 'o', 'o', 'd', 'i' };
343static const symbol s_10_95[5] = { 'l', 'o', 'o', 'k', 's' };
344static const symbol s_10_96[7] = { 'l', 'o', 'o', 'k', 's', 'i', 'd' };
345static const symbol s_10_97[8] = { 'l', 'o', 'o', 'k', 's', 'i', 'm', 'e' };
346static const symbol s_10_98[7] = { 'l', 'o', 'o', 'k', 's', 'i', 'n' };
347static const symbol s_10_99[8] = { 'l', 'o', 'o', 'k', 's', 'i', 't', 'e' };
348static const symbol s_10_100[5] = { 'l', 'o', 'o', 'm', 'a' };
349static const symbol s_10_101[7] = { 'l', 'o', 'o', 'm', 'a', 't', 'a' };
350static const symbol s_10_102[5] = { 'l', 'o', 'o', 'm', 'e' };
351static const symbol s_10_103[4] = { 'l', 'o', 'o', 'n' };
352static const symbol s_10_104[5] = { 'l', 'o', 'o', 't', 'e' };
353static const symbol s_10_105[6] = { 'l', 'o', 'o', 'v', 'a', 'd' };
354static const symbol s_10_106[4] = { 'l', 'u', 'u', 'a' };
355static const symbol s_10_107[7] = { 'l', 'u', 'u', 'a', 'k', 's', 'e' };
356static const symbol s_10_108[4] = { 'l', 0xC3, 0xB5, 'i' };
357static const symbol s_10_109[5] = { 'l', 0xC3, 0xB5, 'i', 'd' };
358static const symbol s_10_110[6] = { 'l', 0xC3, 0xB5, 'i', 'm', 'e' };
359static const symbol s_10_111[5] = { 'l', 0xC3, 0xB5, 'i', 'n' };
360static const symbol s_10_112[6] = { 'l', 0xC3, 0xB5, 'i', 't', 'e' };
361static const symbol s_10_113[6] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'b' };
362static const symbol s_10_114[6] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'd' };
363static const symbol s_10_115[10] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'd', 'a', 'k', 's', 'e' };
364static const symbol s_10_116[7] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'd', 'i' };
365static const symbol s_10_117[7] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'k', 's' };
366static const symbol s_10_118[9] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'k', 's', 'i', 'd' };
367static const symbol s_10_119[10] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'k', 's', 'i', 'm', 'e' };
368static const symbol s_10_120[9] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'k', 's', 'i', 'n' };
369static const symbol s_10_121[10] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'k', 's', 'i', 't', 'e' };
370static const symbol s_10_122[7] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'm', 'a' };
371static const symbol s_10_123[9] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'm', 'a', 't', 'a' };
372static const symbol s_10_124[7] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'm', 'e' };
373static const symbol s_10_125[6] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'n' };
374static const symbol s_10_126[7] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 't', 'e' };
375static const symbol s_10_127[8] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'v', 'a', 'd' };
376static const symbol s_10_128[6] = { 'l', 0xC3, 0xBC, 0xC3, 0xBC, 'a' };
377static const symbol s_10_129[9] = { 'l', 0xC3, 0xBC, 0xC3, 0xBC, 'a', 'k', 's', 'e' };
378static const symbol s_10_130[6] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'a' };
379static const symbol s_10_131[9] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'a', 'k', 's', 'e' };
380static const symbol s_10_132[6] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'b' };
381static const symbol s_10_133[6] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'd' };
382static const symbol s_10_134[7] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'd', 'i' };
383static const symbol s_10_135[7] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'k', 's' };
384static const symbol s_10_136[9] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'k', 's', 'i', 'd' };
385static const symbol s_10_137[10] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'k', 's', 'i', 'm', 'e' };
386static const symbol s_10_138[9] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'k', 's', 'i', 'n' };
387static const symbol s_10_139[10] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'k', 's', 'i', 't', 'e' };
388static const symbol s_10_140[7] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'm', 'a' };
389static const symbol s_10_141[9] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'm', 'a', 't', 'a' };
390static const symbol s_10_142[7] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'm', 'e' };
391static const symbol s_10_143[6] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'n' };
392static const symbol s_10_144[6] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 's' };
393static const symbol s_10_145[7] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 't', 'e' };
394static const symbol s_10_146[8] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'v', 'a', 'd' };
395static const symbol s_10_147[5] = { 'n', 0xC3, 0xA4, 'e', 'b' };
396static const symbol s_10_148[5] = { 'n', 0xC3, 0xA4, 'e', 'd' };
397static const symbol s_10_149[6] = { 'n', 0xC3, 0xA4, 'e', 'k', 's' };
398static const symbol s_10_150[8] = { 'n', 0xC3, 0xA4, 'e', 'k', 's', 'i', 'd' };
399static const symbol s_10_151[9] = { 'n', 0xC3, 0xA4, 'e', 'k', 's', 'i', 'm', 'e' };
400static const symbol s_10_152[8] = { 'n', 0xC3, 0xA4, 'e', 'k', 's', 'i', 'n' };
401static const symbol s_10_153[9] = { 'n', 0xC3, 0xA4, 'e', 'k', 's', 'i', 't', 'e' };
402static const symbol s_10_154[6] = { 'n', 0xC3, 0xA4, 'e', 'm', 'e' };
403static const symbol s_10_155[5] = { 'n', 0xC3, 0xA4, 'e', 'n' };
404static const symbol s_10_156[6] = { 'n', 0xC3, 0xA4, 'e', 't', 'e' };
405static const symbol s_10_157[7] = { 'n', 0xC3, 0xA4, 'e', 'v', 'a', 'd' };
406static const symbol s_10_158[7] = { 'n', 0xC3, 0xA4, 'g', 'e', 'm', 'a' };
407static const symbol s_10_159[9] = { 'n', 0xC3, 0xA4, 'g', 'e', 'm', 'a', 't', 'a' };
408static const symbol s_10_160[5] = { 'n', 0xC3, 0xA4, 'h', 'a' };
409static const symbol s_10_161[8] = { 'n', 0xC3, 0xA4, 'h', 'a', 'k', 's', 'e' };
410static const symbol s_10_162[6] = { 'n', 0xC3, 0xA4, 'h', 't', 'i' };
411static const symbol s_10_163[5] = { 'p', 0xC3, 0xB5, 'e', 'b' };
412static const symbol s_10_164[5] = { 'p', 0xC3, 0xB5, 'e', 'd' };
413static const symbol s_10_165[6] = { 'p', 0xC3, 0xB5, 'e', 'k', 's' };
414static const symbol s_10_166[8] = { 'p', 0xC3, 0xB5, 'e', 'k', 's', 'i', 'd' };
415static const symbol s_10_167[9] = { 'p', 0xC3, 0xB5, 'e', 'k', 's', 'i', 'm', 'e' };
416static const symbol s_10_168[8] = { 'p', 0xC3, 0xB5, 'e', 'k', 's', 'i', 'n' };
417static const symbol s_10_169[9] = { 'p', 0xC3, 0xB5, 'e', 'k', 's', 'i', 't', 'e' };
418static const symbol s_10_170[6] = { 'p', 0xC3, 0xB5, 'e', 'm', 'e' };
419static const symbol s_10_171[5] = { 'p', 0xC3, 0xB5, 'e', 'n' };
420static const symbol s_10_172[6] = { 'p', 0xC3, 0xB5, 'e', 't', 'e' };
421static const symbol s_10_173[7] = { 'p', 0xC3, 0xB5, 'e', 'v', 'a', 'd' };
422static const symbol s_10_174[4] = { 's', 'a', 'a', 'b' };
423static const symbol s_10_175[4] = { 's', 'a', 'a', 'd' };
424static const symbol s_10_176[5] = { 's', 'a', 'a', 'd', 'a' };
425static const symbol s_10_177[8] = { 's', 'a', 'a', 'd', 'a', 'k', 's', 'e' };
426static const symbol s_10_178[5] = { 's', 'a', 'a', 'd', 'i' };
427static const symbol s_10_179[5] = { 's', 'a', 'a', 'k', 's' };
428static const symbol s_10_180[7] = { 's', 'a', 'a', 'k', 's', 'i', 'd' };
429static const symbol s_10_181[8] = { 's', 'a', 'a', 'k', 's', 'i', 'm', 'e' };
430static const symbol s_10_182[7] = { 's', 'a', 'a', 'k', 's', 'i', 'n' };
431static const symbol s_10_183[8] = { 's', 'a', 'a', 'k', 's', 'i', 't', 'e' };
432static const symbol s_10_184[5] = { 's', 'a', 'a', 'm', 'a' };
433static const symbol s_10_185[7] = { 's', 'a', 'a', 'm', 'a', 't', 'a' };
434static const symbol s_10_186[5] = { 's', 'a', 'a', 'm', 'e' };
435static const symbol s_10_187[4] = { 's', 'a', 'a', 'n' };
436static const symbol s_10_188[5] = { 's', 'a', 'a', 't', 'e' };
437static const symbol s_10_189[6] = { 's', 'a', 'a', 'v', 'a', 'd' };
438static const symbol s_10_190[3] = { 's', 'a', 'i' };
439static const symbol s_10_191[4] = { 's', 'a', 'i', 'd' };
440static const symbol s_10_192[5] = { 's', 'a', 'i', 'm', 'e' };
441static const symbol s_10_193[4] = { 's', 'a', 'i', 'n' };
442static const symbol s_10_194[5] = { 's', 'a', 'i', 't', 'e' };
443static const symbol s_10_195[4] = { 's', 0xC3, 0xB5, 'i' };
444static const symbol s_10_196[5] = { 's', 0xC3, 0xB5, 'i', 'd' };
445static const symbol s_10_197[6] = { 's', 0xC3, 0xB5, 'i', 'm', 'e' };
446static const symbol s_10_198[5] = { 's', 0xC3, 0xB5, 'i', 'n' };
447static const symbol s_10_199[6] = { 's', 0xC3, 0xB5, 'i', 't', 'e' };
448static const symbol s_10_200[6] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'b' };
449static const symbol s_10_201[6] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'd' };
450static const symbol s_10_202[10] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'd', 'a', 'k', 's', 'e' };
451static const symbol s_10_203[7] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'd', 'i' };
452static const symbol s_10_204[7] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'k', 's' };
453static const symbol s_10_205[9] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'k', 's', 'i', 'd' };
454static const symbol s_10_206[10] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'k', 's', 'i', 'm', 'e' };
455static const symbol s_10_207[9] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'k', 's', 'i', 'n' };
456static const symbol s_10_208[10] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'k', 's', 'i', 't', 'e' };
457static const symbol s_10_209[7] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'm', 'a' };
458static const symbol s_10_210[9] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'm', 'a', 't', 'a' };
459static const symbol s_10_211[7] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'm', 'e' };
460static const symbol s_10_212[6] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'n' };
461static const symbol s_10_213[7] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 't', 'e' };
462static const symbol s_10_214[8] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'v', 'a', 'd' };
463static const symbol s_10_215[6] = { 's', 0xC3, 0xBC, 0xC3, 0xBC, 'a' };
464static const symbol s_10_216[9] = { 's', 0xC3, 0xBC, 0xC3, 0xBC, 'a', 'k', 's', 'e' };
465static const symbol s_10_217[4] = { 't', 'e', 'e', 'b' };
466static const symbol s_10_218[4] = { 't', 'e', 'e', 'd' };
467static const symbol s_10_219[5] = { 't', 'e', 'e', 'k', 's' };
468static const symbol s_10_220[7] = { 't', 'e', 'e', 'k', 's', 'i', 'd' };
469static const symbol s_10_221[8] = { 't', 'e', 'e', 'k', 's', 'i', 'm', 'e' };
470static const symbol s_10_222[7] = { 't', 'e', 'e', 'k', 's', 'i', 'n' };
471static const symbol s_10_223[8] = { 't', 'e', 'e', 'k', 's', 'i', 't', 'e' };
472static const symbol s_10_224[5] = { 't', 'e', 'e', 'm', 'e' };
473static const symbol s_10_225[4] = { 't', 'e', 'e', 'n' };
474static const symbol s_10_226[5] = { 't', 'e', 'e', 't', 'e' };
475static const symbol s_10_227[6] = { 't', 'e', 'e', 'v', 'a', 'd' };
476static const symbol s_10_228[6] = { 't', 'e', 'g', 'e', 'm', 'a' };
477static const symbol s_10_229[8] = { 't', 'e', 'g', 'e', 'm', 'a', 't', 'a' };
478static const symbol s_10_230[4] = { 't', 'e', 'h', 'a' };
479static const symbol s_10_231[7] = { 't', 'e', 'h', 'a', 'k', 's', 'e' };
480static const symbol s_10_232[5] = { 't', 'e', 'h', 't', 'i' };
481static const symbol s_10_233[4] = { 't', 'o', 'o', 'b' };
482static const symbol s_10_234[4] = { 't', 'o', 'o', 'd' };
483static const symbol s_10_235[5] = { 't', 'o', 'o', 'd', 'i' };
484static const symbol s_10_236[5] = { 't', 'o', 'o', 'k', 's' };
485static const symbol s_10_237[7] = { 't', 'o', 'o', 'k', 's', 'i', 'd' };
486static const symbol s_10_238[8] = { 't', 'o', 'o', 'k', 's', 'i', 'm', 'e' };
487static const symbol s_10_239[7] = { 't', 'o', 'o', 'k', 's', 'i', 'n' };
488static const symbol s_10_240[8] = { 't', 'o', 'o', 'k', 's', 'i', 't', 'e' };
489static const symbol s_10_241[5] = { 't', 'o', 'o', 'm', 'a' };
490static const symbol s_10_242[7] = { 't', 'o', 'o', 'm', 'a', 't', 'a' };
491static const symbol s_10_243[5] = { 't', 'o', 'o', 'm', 'e' };
492static const symbol s_10_244[4] = { 't', 'o', 'o', 'n' };
493static const symbol s_10_245[5] = { 't', 'o', 'o', 't', 'e' };
494static const symbol s_10_246[6] = { 't', 'o', 'o', 'v', 'a', 'd' };
495static const symbol s_10_247[4] = { 't', 'u', 'u', 'a' };
496static const symbol s_10_248[7] = { 't', 'u', 'u', 'a', 'k', 's', 'e' };
497static const symbol s_10_249[4] = { 't', 0xC3, 0xB5, 'i' };
498static const symbol s_10_250[5] = { 't', 0xC3, 0xB5, 'i', 'd' };
499static const symbol s_10_251[6] = { 't', 0xC3, 0xB5, 'i', 'm', 'e' };
500static const symbol s_10_252[5] = { 't', 0xC3, 0xB5, 'i', 'n' };
501static const symbol s_10_253[6] = { 't', 0xC3, 0xB5, 'i', 't', 'e' };
502static const symbol s_10_254[4] = { 'v', 'i', 'i', 'a' };
503static const symbol s_10_255[7] = { 'v', 'i', 'i', 'a', 'k', 's', 'e' };
504static const symbol s_10_256[4] = { 'v', 'i', 'i', 'b' };
505static const symbol s_10_257[4] = { 'v', 'i', 'i', 'd' };
506static const symbol s_10_258[5] = { 'v', 'i', 'i', 'd', 'i' };
507static const symbol s_10_259[5] = { 'v', 'i', 'i', 'k', 's' };
508static const symbol s_10_260[7] = { 'v', 'i', 'i', 'k', 's', 'i', 'd' };
509static const symbol s_10_261[8] = { 'v', 'i', 'i', 'k', 's', 'i', 'm', 'e' };
510static const symbol s_10_262[7] = { 'v', 'i', 'i', 'k', 's', 'i', 'n' };
511static const symbol s_10_263[8] = { 'v', 'i', 'i', 'k', 's', 'i', 't', 'e' };
512static const symbol s_10_264[5] = { 'v', 'i', 'i', 'm', 'a' };
513static const symbol s_10_265[7] = { 'v', 'i', 'i', 'm', 'a', 't', 'a' };
514static const symbol s_10_266[5] = { 'v', 'i', 'i', 'm', 'e' };
515static const symbol s_10_267[4] = { 'v', 'i', 'i', 'n' };
516static const symbol s_10_268[7] = { 'v', 'i', 'i', 's', 'i', 'm', 'e' };
517static const symbol s_10_269[6] = { 'v', 'i', 'i', 's', 'i', 'n' };
518static const symbol s_10_270[7] = { 'v', 'i', 'i', 's', 'i', 't', 'e' };
519static const symbol s_10_271[5] = { 'v', 'i', 'i', 't', 'e' };
520static const symbol s_10_272[6] = { 'v', 'i', 'i', 'v', 'a', 'd' };
521static const symbol s_10_273[5] = { 'v', 0xC3, 0xB5, 'i', 'b' };
522static const symbol s_10_274[5] = { 'v', 0xC3, 0xB5, 'i', 'd' };
523static const symbol s_10_275[6] = { 'v', 0xC3, 0xB5, 'i', 'd', 'a' };
524static const symbol s_10_276[9] = { 'v', 0xC3, 0xB5, 'i', 'd', 'a', 'k', 's', 'e' };
525static const symbol s_10_277[6] = { 'v', 0xC3, 0xB5, 'i', 'd', 'i' };
526static const symbol s_10_278[6] = { 'v', 0xC3, 0xB5, 'i', 'k', 's' };
527static const symbol s_10_279[8] = { 'v', 0xC3, 0xB5, 'i', 'k', 's', 'i', 'd' };
528static const symbol s_10_280[9] = { 'v', 0xC3, 0xB5, 'i', 'k', 's', 'i', 'm', 'e' };
529static const symbol s_10_281[8] = { 'v', 0xC3, 0xB5, 'i', 'k', 's', 'i', 'n' };
530static const symbol s_10_282[9] = { 'v', 0xC3, 0xB5, 'i', 'k', 's', 'i', 't', 'e' };
531static const symbol s_10_283[6] = { 'v', 0xC3, 0xB5, 'i', 'm', 'a' };
532static const symbol s_10_284[8] = { 'v', 0xC3, 0xB5, 'i', 'm', 'a', 't', 'a' };
533static const symbol s_10_285[6] = { 'v', 0xC3, 0xB5, 'i', 'm', 'e' };
534static const symbol s_10_286[5] = { 'v', 0xC3, 0xB5, 'i', 'n' };
535static const symbol s_10_287[5] = { 'v', 0xC3, 0xB5, 'i', 's' };
536static const symbol s_10_288[6] = { 'v', 0xC3, 0xB5, 'i', 't', 'e' };
537static const symbol s_10_289[7] = { 'v', 0xC3, 0xB5, 'i', 'v', 'a', 'd' };
538static const struct among a_10[290] = {
539{ 4, s_10_0, 0, 1, 0},
540{ 4, s_10_1, 0, 1, 0},
541{ 8, s_10_2, -1, 1, 0},
542{ 5, s_10_3, 0, 1, 0},
543{ 7, s_10_4, -1, 1, 0},
544{ 5, s_10_5, 0, 1, 0},
545{ 4, s_10_6, 0, 1, 0},
546{ 5, s_10_7, 0, 1, 0},
547{ 6, s_10_8, 0, 1, 0},
548{ 4, s_10_9, 0, 1, 0},
549{ 7, s_10_10, -1, 1, 0},
550{ 4, s_10_11, 0, 12, 0},
551{ 5, s_10_12, -1, 12, 0},
552{ 6, s_10_13, -2, 12, 0},
553{ 5, s_10_14, -3, 12, 0},
554{ 6, s_10_15, -4, 12, 0},
555{ 6, s_10_16, 0, 12, 0},
556{ 6, s_10_17, 0, 12, 0},
557{ 7, s_10_18, -1, 12, 0},
558{ 10, s_10_19, -1, 12, 0},
559{ 7, s_10_20, -3, 12, 0},
560{ 7, s_10_21, 0, 12, 0},
561{ 9, s_10_22, -1, 12, 0},
562{ 10, s_10_23, -2, 12, 0},
563{ 9, s_10_24, -3, 12, 0},
564{ 10, s_10_25, -4, 12, 0},
565{ 7, s_10_26, 0, 12, 0},
566{ 9, s_10_27, -1, 12, 0},
567{ 7, s_10_28, 0, 12, 0},
568{ 6, s_10_29, 0, 12, 0},
569{ 7, s_10_30, 0, 12, 0},
570{ 8, s_10_31, 0, 12, 0},
571{ 4, s_10_32, 0, 1, 0},
572{ 5, s_10_33, -1, 1, 0},
573{ 6, s_10_34, -2, 1, 0},
574{ 5, s_10_35, -3, 1, 0},
575{ 6, s_10_36, -4, 1, 0},
576{ 4, s_10_37, 0, 4, 0},
577{ 4, s_10_38, 0, 4, 0},
578{ 8, s_10_39, -1, 4, 0},
579{ 5, s_10_40, 0, 4, 0},
580{ 7, s_10_41, -1, 4, 0},
581{ 8, s_10_42, -2, 4, 0},
582{ 7, s_10_43, -3, 4, 0},
583{ 8, s_10_44, -4, 4, 0},
584{ 5, s_10_45, 0, 4, 0},
585{ 7, s_10_46, -1, 4, 0},
586{ 5, s_10_47, 0, 4, 0},
587{ 4, s_10_48, 0, 4, 0},
588{ 4, s_10_49, 0, 4, 0},
589{ 5, s_10_50, 0, 4, 0},
590{ 5, s_10_51, 0, 4, 0},
591{ 6, s_10_52, 0, 4, 0},
592{ 5, s_10_53, 0, 8, 0},
593{ 8, s_10_54, -1, 8, 0},
594{ 5, s_10_55, 0, 8, 0},
595{ 5, s_10_56, 0, 8, 0},
596{ 6, s_10_57, -1, 8, 0},
597{ 6, s_10_58, 0, 8, 0},
598{ 8, s_10_59, -1, 8, 0},
599{ 9, s_10_60, -2, 8, 0},
600{ 8, s_10_61, -3, 8, 0},
601{ 9, s_10_62, -4, 8, 0},
602{ 6, s_10_63, 0, 8, 0},
603{ 8, s_10_64, -1, 8, 0},
604{ 6, s_10_65, 0, 8, 0},
605{ 5, s_10_66, 0, 8, 0},
606{ 5, s_10_67, 0, 8, 0},
607{ 6, s_10_68, 0, 8, 0},
608{ 7, s_10_69, 0, 8, 0},
609{ 4, s_10_70, 0, 16, 0},
610{ 4, s_10_71, 0, 16, 0},
611{ 5, s_10_72, 0, 16, 0},
612{ 7, s_10_73, -1, 16, 0},
613{ 8, s_10_74, -2, 16, 0},
614{ 7, s_10_75, -3, 16, 0},
615{ 8, s_10_76, -4, 16, 0},
616{ 5, s_10_77, 0, 16, 0},
617{ 4, s_10_78, 0, 16, 0},
618{ 5, s_10_79, 0, 16, 0},
619{ 6, s_10_80, 0, 16, 0},
620{ 4, s_10_81, 0, 14, 0},
621{ 4, s_10_82, 0, 14, 0},
622{ 5, s_10_83, 0, 14, 0},
623{ 7, s_10_84, -1, 14, 0},
624{ 8, s_10_85, -2, 14, 0},
625{ 7, s_10_86, -3, 14, 0},
626{ 8, s_10_87, -4, 14, 0},
627{ 5, s_10_88, 0, 14, 0},
628{ 4, s_10_89, 0, 14, 0},
629{ 5, s_10_90, 0, 14, 0},
630{ 6, s_10_91, 0, 14, 0},
631{ 4, s_10_92, 0, 7, 0},
632{ 4, s_10_93, 0, 7, 0},
633{ 5, s_10_94, -1, 7, 0},
634{ 5, s_10_95, 0, 7, 0},
635{ 7, s_10_96, -1, 7, 0},
636{ 8, s_10_97, -2, 7, 0},
637{ 7, s_10_98, -3, 7, 0},
638{ 8, s_10_99, -4, 7, 0},
639{ 5, s_10_100, 0, 7, 0},
640{ 7, s_10_101, -1, 7, 0},
641{ 5, s_10_102, 0, 7, 0},
642{ 4, s_10_103, 0, 7, 0},
643{ 5, s_10_104, 0, 7, 0},
644{ 6, s_10_105, 0, 7, 0},
645{ 4, s_10_106, 0, 7, 0},
646{ 7, s_10_107, -1, 7, 0},
647{ 4, s_10_108, 0, 6, 0},
648{ 5, s_10_109, -1, 6, 0},
649{ 6, s_10_110, -2, 6, 0},
650{ 5, s_10_111, -3, 6, 0},
651{ 6, s_10_112, -4, 6, 0},
652{ 6, s_10_113, 0, 5, 0},
653{ 6, s_10_114, 0, 5, 0},
654{ 10, s_10_115, -1, 5, 0},
655{ 7, s_10_116, -2, 5, 0},
656{ 7, s_10_117, 0, 5, 0},
657{ 9, s_10_118, -1, 5, 0},
658{ 10, s_10_119, -2, 5, 0},
659{ 9, s_10_120, -3, 5, 0},
660{ 10, s_10_121, -4, 5, 0},
661{ 7, s_10_122, 0, 5, 0},
662{ 9, s_10_123, -1, 5, 0},
663{ 7, s_10_124, 0, 5, 0},
664{ 6, s_10_125, 0, 5, 0},
665{ 7, s_10_126, 0, 5, 0},
666{ 8, s_10_127, 0, 5, 0},
667{ 6, s_10_128, 0, 5, 0},
668{ 9, s_10_129, -1, 5, 0},
669{ 6, s_10_130, 0, 13, 0},
670{ 9, s_10_131, -1, 13, 0},
671{ 6, s_10_132, 0, 13, 0},
672{ 6, s_10_133, 0, 13, 0},
673{ 7, s_10_134, -1, 13, 0},
674{ 7, s_10_135, 0, 13, 0},
675{ 9, s_10_136, -1, 13, 0},
676{ 10, s_10_137, -2, 13, 0},
677{ 9, s_10_138, -3, 13, 0},
678{ 10, s_10_139, -4, 13, 0},
679{ 7, s_10_140, 0, 13, 0},
680{ 9, s_10_141, -1, 13, 0},
681{ 7, s_10_142, 0, 13, 0},
682{ 6, s_10_143, 0, 13, 0},
683{ 6, s_10_144, 0, 13, 0},
684{ 7, s_10_145, 0, 13, 0},
685{ 8, s_10_146, 0, 13, 0},
686{ 5, s_10_147, 0, 18, 0},
687{ 5, s_10_148, 0, 18, 0},
688{ 6, s_10_149, 0, 18, 0},
689{ 8, s_10_150, -1, 18, 0},
690{ 9, s_10_151, -2, 18, 0},
691{ 8, s_10_152, -3, 18, 0},
692{ 9, s_10_153, -4, 18, 0},
693{ 6, s_10_154, 0, 18, 0},
694{ 5, s_10_155, 0, 18, 0},
695{ 6, s_10_156, 0, 18, 0},
696{ 7, s_10_157, 0, 18, 0},
697{ 7, s_10_158, 0, 18, 0},
698{ 9, s_10_159, -1, 18, 0},
699{ 5, s_10_160, 0, 18, 0},
700{ 8, s_10_161, -1, 18, 0},
701{ 6, s_10_162, 0, 18, 0},
702{ 5, s_10_163, 0, 15, 0},
703{ 5, s_10_164, 0, 15, 0},
704{ 6, s_10_165, 0, 15, 0},
705{ 8, s_10_166, -1, 15, 0},
706{ 9, s_10_167, -2, 15, 0},
707{ 8, s_10_168, -3, 15, 0},
708{ 9, s_10_169, -4, 15, 0},
709{ 6, s_10_170, 0, 15, 0},
710{ 5, s_10_171, 0, 15, 0},
711{ 6, s_10_172, 0, 15, 0},
712{ 7, s_10_173, 0, 15, 0},
713{ 4, s_10_174, 0, 2, 0},
714{ 4, s_10_175, 0, 2, 0},
715{ 5, s_10_176, -1, 2, 0},
716{ 8, s_10_177, -1, 2, 0},
717{ 5, s_10_178, -3, 2, 0},
718{ 5, s_10_179, 0, 2, 0},
719{ 7, s_10_180, -1, 2, 0},
720{ 8, s_10_181, -2, 2, 0},
721{ 7, s_10_182, -3, 2, 0},
722{ 8, s_10_183, -4, 2, 0},
723{ 5, s_10_184, 0, 2, 0},
724{ 7, s_10_185, -1, 2, 0},
725{ 5, s_10_186, 0, 2, 0},
726{ 4, s_10_187, 0, 2, 0},
727{ 5, s_10_188, 0, 2, 0},
728{ 6, s_10_189, 0, 2, 0},
729{ 3, s_10_190, 0, 2, 0},
730{ 4, s_10_191, -1, 2, 0},
731{ 5, s_10_192, -2, 2, 0},
732{ 4, s_10_193, -3, 2, 0},
733{ 5, s_10_194, -4, 2, 0},
734{ 4, s_10_195, 0, 9, 0},
735{ 5, s_10_196, -1, 9, 0},
736{ 6, s_10_197, -2, 9, 0},
737{ 5, s_10_198, -3, 9, 0},
738{ 6, s_10_199, -4, 9, 0},
739{ 6, s_10_200, 0, 9, 0},
740{ 6, s_10_201, 0, 9, 0},
741{ 10, s_10_202, -1, 9, 0},
742{ 7, s_10_203, -2, 9, 0},
743{ 7, s_10_204, 0, 9, 0},
744{ 9, s_10_205, -1, 9, 0},
745{ 10, s_10_206, -2, 9, 0},
746{ 9, s_10_207, -3, 9, 0},
747{ 10, s_10_208, -4, 9, 0},
748{ 7, s_10_209, 0, 9, 0},
749{ 9, s_10_210, -1, 9, 0},
750{ 7, s_10_211, 0, 9, 0},
751{ 6, s_10_212, 0, 9, 0},
752{ 7, s_10_213, 0, 9, 0},
753{ 8, s_10_214, 0, 9, 0},
754{ 6, s_10_215, 0, 9, 0},
755{ 9, s_10_216, -1, 9, 0},
756{ 4, s_10_217, 0, 17, 0},
757{ 4, s_10_218, 0, 17, 0},
758{ 5, s_10_219, 0, 17, 0},
759{ 7, s_10_220, -1, 17, 0},
760{ 8, s_10_221, -2, 17, 0},
761{ 7, s_10_222, -3, 17, 0},
762{ 8, s_10_223, -4, 17, 0},
763{ 5, s_10_224, 0, 17, 0},
764{ 4, s_10_225, 0, 17, 0},
765{ 5, s_10_226, 0, 17, 0},
766{ 6, s_10_227, 0, 17, 0},
767{ 6, s_10_228, 0, 17, 0},
768{ 8, s_10_229, -1, 17, 0},
769{ 4, s_10_230, 0, 17, 0},
770{ 7, s_10_231, -1, 17, 0},
771{ 5, s_10_232, 0, 17, 0},
772{ 4, s_10_233, 0, 10, 0},
773{ 4, s_10_234, 0, 10, 0},
774{ 5, s_10_235, -1, 10, 0},
775{ 5, s_10_236, 0, 10, 0},
776{ 7, s_10_237, -1, 10, 0},
777{ 8, s_10_238, -2, 10, 0},
778{ 7, s_10_239, -3, 10, 0},
779{ 8, s_10_240, -4, 10, 0},
780{ 5, s_10_241, 0, 10, 0},
781{ 7, s_10_242, -1, 10, 0},
782{ 5, s_10_243, 0, 10, 0},
783{ 4, s_10_244, 0, 10, 0},
784{ 5, s_10_245, 0, 10, 0},
785{ 6, s_10_246, 0, 10, 0},
786{ 4, s_10_247, 0, 10, 0},
787{ 7, s_10_248, -1, 10, 0},
788{ 4, s_10_249, 0, 10, 0},
789{ 5, s_10_250, -1, 10, 0},
790{ 6, s_10_251, -2, 10, 0},
791{ 5, s_10_252, -3, 10, 0},
792{ 6, s_10_253, -4, 10, 0},
793{ 4, s_10_254, 0, 3, 0},
794{ 7, s_10_255, -1, 3, 0},
795{ 4, s_10_256, 0, 3, 0},
796{ 4, s_10_257, 0, 3, 0},
797{ 5, s_10_258, -1, 3, 0},
798{ 5, s_10_259, 0, 3, 0},
799{ 7, s_10_260, -1, 3, 0},
800{ 8, s_10_261, -2, 3, 0},
801{ 7, s_10_262, -3, 3, 0},
802{ 8, s_10_263, -4, 3, 0},
803{ 5, s_10_264, 0, 3, 0},
804{ 7, s_10_265, -1, 3, 0},
805{ 5, s_10_266, 0, 3, 0},
806{ 4, s_10_267, 0, 3, 0},
807{ 7, s_10_268, 0, 3, 0},
808{ 6, s_10_269, 0, 3, 0},
809{ 7, s_10_270, 0, 3, 0},
810{ 5, s_10_271, 0, 3, 0},
811{ 6, s_10_272, 0, 3, 0},
812{ 5, s_10_273, 0, 11, 0},
813{ 5, s_10_274, 0, 11, 0},
814{ 6, s_10_275, -1, 11, 0},
815{ 9, s_10_276, -1, 11, 0},
816{ 6, s_10_277, -3, 11, 0},
817{ 6, s_10_278, 0, 11, 0},
818{ 8, s_10_279, -1, 11, 0},
819{ 9, s_10_280, -2, 11, 0},
820{ 8, s_10_281, -3, 11, 0},
821{ 9, s_10_282, -4, 11, 0},
822{ 6, s_10_283, 0, 11, 0},
823{ 8, s_10_284, -1, 11, 0},
824{ 6, s_10_285, 0, 11, 0},
825{ 5, s_10_286, 0, 11, 0},
826{ 5, s_10_287, 0, 11, 0},
827{ 6, s_10_288, 0, 11, 0},
828{ 7, s_10_289, 0, 11, 0}
829};
830
831static const unsigned char g_V1[] = { 17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 48, 8 };
832
833static const unsigned char g_RV[] = { 17, 65, 16 };
834
835static const unsigned char g_KI[] = { 117, 66, 6, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 16 };
836
837static const unsigned char g_GI[] = { 21, 123, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 48, 8 };
838
839static int r_mark_regions(struct SN_env * z) {
840 ((SN_local *)z)->i_p1 = z->l;
841 {
842 int ret = out_grouping_U(z, g_V1, 97, 252, 1);
843 if (ret < 0) return 0;
844 z->c += ret;
845 }
846 {
847 int ret = in_grouping_U(z, g_V1, 97, 252, 1);
848 if (ret < 0) return 0;
849 z->c += ret;
850 }
851 ((SN_local *)z)->i_p1 = z->c;
852 return 1;
853}
854
855static int r_emphasis(struct SN_env * z) {
856 int among_var;
857 {
858 int v_1;
859 if (z->c < ((SN_local *)z)->i_p1) return 0;
860 v_1 = z->lb; z->lb = ((SN_local *)z)->i_p1;
861 z->ket = z->c;
862 if (z->c - 1 <= z->lb || z->p[z->c - 1] != 105) { z->lb = v_1; return 0; }
863 among_var = find_among_b(z, a_0, 2, 0);
864 if (!among_var) { z->lb = v_1; return 0; }
865 z->bra = z->c;
866 z->lb = v_1;
867 }
868 {
869 int v_2 = z->l - z->c;
870 {
871 int ret = skip_b_utf8(z->p, z->c, z->lb, 4);
872 if (ret < 0) return 0;
873 z->c = ret;
874 }
875 z->c = z->l - v_2;
876 }
877 switch (among_var) {
878 case 1:
879 {
880 int v_3 = z->l - z->c;
881 if (in_grouping_b_U(z, g_GI, 97, 252, 0)) return 0;
882 z->c = z->l - v_3;
883 {
884 int v_4 = z->l - z->c;
885 {
886 int ret = r_LONGV(z);
887 if (ret == 0) goto lab0;
888 if (ret < 0) return ret;
889 }
890 return 0;
891 lab0:
892 z->c = z->l - v_4;
893 }
894 }
895 {
896 int ret = slice_del(z);
897 if (ret < 0) return ret;
898 }
899 break;
900 case 2:
901 if (in_grouping_b_U(z, g_KI, 98, 382, 0)) return 0;
902 {
903 int ret = slice_del(z);
904 if (ret < 0) return ret;
905 }
906 break;
907 }
908 return 1;
909}
910
911static int r_verb(struct SN_env * z) {
912 int among_var;
913 {
914 int v_1;
915 if (z->c < ((SN_local *)z)->i_p1) return 0;
916 v_1 = z->lb; z->lb = ((SN_local *)z)->i_p1;
917 z->ket = z->c;
918 if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((540726 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = v_1; return 0; }
919 among_var = find_among_b(z, a_1, 21, 0);
920 if (!among_var) { z->lb = v_1; return 0; }
921 z->bra = z->c;
922 z->lb = v_1;
923 }
924 switch (among_var) {
925 case 1:
926 {
927 int ret = slice_del(z);
928 if (ret < 0) return ret;
929 }
930 break;
931 case 2:
932 {
933 int ret = slice_from_s(z, 1, s_0);
934 if (ret < 0) return ret;
935 }
936 break;
937 case 3:
938 if (in_grouping_b_U(z, g_V1, 97, 252, 0)) return 0;
939 {
940 int ret = slice_del(z);
941 if (ret < 0) return ret;
942 }
943 break;
944 }
945 return 1;
946}
947
948static int r_LONGV(struct SN_env * z) {
949 return find_among_b(z, a_2, 9, 0) != 0;
950}
951
952static int r_i_plural(struct SN_env * z) {
953 {
954 int v_1;
955 if (z->c < ((SN_local *)z)->i_p1) return 0;
956 v_1 = z->lb; z->lb = ((SN_local *)z)->i_p1;
957 z->ket = z->c;
958 if (z->c <= z->lb || z->p[z->c - 1] != 'i') { z->lb = v_1; return 0; }
959 z->c--;
960 z->bra = z->c;
961 z->lb = v_1;
962 }
963 if (in_grouping_b_U(z, g_RV, 97, 117, 0)) return 0;
964 {
965 int ret = slice_del(z);
966 if (ret < 0) return ret;
967 }
968 return 1;
969}
970
971static int r_special_noun_endings(struct SN_env * z) {
972 int among_var;
973 {
974 int v_1;
975 if (z->c < ((SN_local *)z)->i_p1) return 0;
976 v_1 = z->lb; z->lb = ((SN_local *)z)->i_p1;
977 z->ket = z->c;
978 if (z->c - 3 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1049120 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = v_1; return 0; }
979 among_var = find_among_b(z, a_3, 12, 0);
980 if (!among_var) { z->lb = v_1; return 0; }
981 z->bra = z->c;
982 z->lb = v_1;
983 }
984 switch (among_var) {
985 case 1:
986 {
987 int ret = slice_from_s(z, 4, s_1);
988 if (ret < 0) return ret;
989 }
990 break;
991 case 2:
992 {
993 int ret = slice_from_s(z, 4, s_2);
994 if (ret < 0) return ret;
995 }
996 break;
997 case 3:
998 {
999 int ret = slice_from_s(z, 4, s_3);
1000 if (ret < 0) return ret;
1001 }
1002 break;
1003 }
1004 return 1;
1005}
1006
1007static int r_case_ending(struct SN_env * z) {
1008 int among_var;
1009 {
1010 int v_1;
1011 if (z->c < ((SN_local *)z)->i_p1) return 0;
1012 v_1 = z->lb; z->lb = ((SN_local *)z)->i_p1;
1013 z->ket = z->c;
1014 if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1576994 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = v_1; return 0; }
1015 among_var = find_among_b(z, a_4, 10, 0);
1016 if (!among_var) { z->lb = v_1; return 0; }
1017 z->bra = z->c;
1018 z->lb = v_1;
1019 }
1020 switch (among_var) {
1021 case 1:
1022 do {
1023 int v_2 = z->l - z->c;
1024 if (in_grouping_b_U(z, g_RV, 97, 117, 0)) goto lab0;
1025 break;
1026 lab0:
1027 z->c = z->l - v_2;
1028 {
1029 int ret = r_LONGV(z);
1030 if (ret <= 0) return ret;
1031 }
1032 } while (0);
1033 break;
1034 case 2:
1035 {
1036 int v_3 = z->l - z->c;
1037 {
1038 int ret = skip_b_utf8(z->p, z->c, z->lb, 4);
1039 if (ret < 0) return 0;
1040 z->c = ret;
1041 }
1042 z->c = z->l - v_3;
1043 }
1044 break;
1045 }
1046 {
1047 int ret = slice_del(z);
1048 if (ret < 0) return ret;
1049 }
1050 return 1;
1051}
1052
1053static int r_plural_three_first_cases(struct SN_env * z) {
1054 int among_var;
1055 {
1056 int v_1;
1057 if (z->c < ((SN_local *)z)->i_p1) return 0;
1058 v_1 = z->lb; z->lb = ((SN_local *)z)->i_p1;
1059 z->ket = z->c;
1060 if (z->c <= z->lb || (z->p[z->c - 1] != 100 && z->p[z->c - 1] != 101)) { z->lb = v_1; return 0; }
1061 among_var = find_among_b(z, a_6, 7, 0);
1062 if (!among_var) { z->lb = v_1; return 0; }
1063 z->bra = z->c;
1064 z->lb = v_1;
1065 }
1066 switch (among_var) {
1067 case 1:
1068 {
1069 int ret = slice_from_s(z, 3, s_4);
1070 if (ret < 0) return ret;
1071 }
1072 break;
1073 case 2:
1074 {
1075 int v_2 = z->l - z->c;
1076 {
1077 int ret = r_LONGV(z);
1078 if (ret == 0) goto lab0;
1079 if (ret < 0) return ret;
1080 }
1081 return 0;
1082 lab0:
1083 z->c = z->l - v_2;
1084 }
1085 {
1086 int ret = slice_del(z);
1087 if (ret < 0) return ret;
1088 }
1089 break;
1090 case 3:
1091 do {
1092 int v_3 = z->l - z->c;
1093 {
1094 int v_4 = z->l - z->c;
1095 {
1096 int ret = skip_b_utf8(z->p, z->c, z->lb, 4);
1097 if (ret < 0) goto lab1;
1098 z->c = ret;
1099 }
1100 z->c = z->l - v_4;
1101 }
1102 if (z->c <= z->lb || (z->p[z->c - 1] != 115 && z->p[z->c - 1] != 116)) among_var = 2; else
1103 among_var = find_among_b(z, a_5, 5, 0);
1104 switch (among_var) {
1105 case 1:
1106 {
1107 int ret = slice_from_s(z, 1, s_5);
1108 if (ret < 0) return ret;
1109 }
1110 break;
1111 case 2:
1112 {
1113 int ret = slice_del(z);
1114 if (ret < 0) return ret;
1115 }
1116 break;
1117 }
1118 break;
1119 lab1:
1120 z->c = z->l - v_3;
1121 {
1122 int ret = slice_from_s(z, 1, s_6);
1123 if (ret < 0) return ret;
1124 }
1125 } while (0);
1126 break;
1127 case 4:
1128 do {
1129 int v_5 = z->l - z->c;
1130 if (in_grouping_b_U(z, g_RV, 97, 117, 0)) goto lab2;
1131 break;
1132 lab2:
1133 z->c = z->l - v_5;
1134 {
1135 int ret = r_LONGV(z);
1136 if (ret <= 0) return ret;
1137 }
1138 } while (0);
1139 {
1140 int ret = slice_del(z);
1141 if (ret < 0) return ret;
1142 }
1143 break;
1144 }
1145 return 1;
1146}
1147
1148static int r_nu(struct SN_env * z) {
1149 {
1150 int v_1;
1151 if (z->c < ((SN_local *)z)->i_p1) return 0;
1152 v_1 = z->lb; z->lb = ((SN_local *)z)->i_p1;
1153 z->ket = z->c;
1154 if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 97 && z->p[z->c - 1] != 117)) { z->lb = v_1; return 0; }
1155 if (!find_among_b(z, a_7, 4, 0)) { z->lb = v_1; return 0; }
1156 z->bra = z->c;
1157 z->lb = v_1;
1158 }
1159 {
1160 int ret = slice_del(z);
1161 if (ret < 0) return ret;
1162 }
1163 return 1;
1164}
1165
1166static int r_undouble_kpt(struct SN_env * z) {
1167 int among_var;
1168 if (in_grouping_b_U(z, g_V1, 97, 252, 0)) return 0;
1169 if (((SN_local *)z)->i_p1 > z->c) return 0;
1170 z->ket = z->c;
1171 if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1116160 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
1172 among_var = find_among_b(z, a_8, 3, 0);
1173 if (!among_var) return 0;
1174 z->bra = z->c;
1175 switch (among_var) {
1176 case 1:
1177 {
1178 int ret = slice_from_s(z, 1, s_7);
1179 if (ret < 0) return ret;
1180 }
1181 break;
1182 case 2:
1183 {
1184 int ret = slice_from_s(z, 1, s_8);
1185 if (ret < 0) return ret;
1186 }
1187 break;
1188 case 3:
1189 {
1190 int ret = slice_from_s(z, 1, s_9);
1191 if (ret < 0) return ret;
1192 }
1193 break;
1194 }
1195 return 1;
1196}
1197
1198static int r_degrees(struct SN_env * z) {
1199 int among_var;
1200 {
1201 int v_1;
1202 if (z->c < ((SN_local *)z)->i_p1) return 0;
1203 v_1 = z->lb; z->lb = ((SN_local *)z)->i_p1;
1204 z->ket = z->c;
1205 if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((8706 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = v_1; return 0; }
1206 among_var = find_among_b(z, a_9, 3, 0);
1207 if (!among_var) { z->lb = v_1; return 0; }
1208 z->bra = z->c;
1209 z->lb = v_1;
1210 }
1211 switch (among_var) {
1212 case 1:
1213 if (in_grouping_b_U(z, g_RV, 97, 117, 0)) return 0;
1214 {
1215 int ret = slice_del(z);
1216 if (ret < 0) return ret;
1217 }
1218 break;
1219 case 2:
1220 {
1221 int ret = slice_del(z);
1222 if (ret < 0) return ret;
1223 }
1224 break;
1225 }
1226 return 1;
1227}
1228
1229static int r_substantive(struct SN_env * z) {
1230 {
1231 int v_1 = z->l - z->c;
1232 {
1233 int ret = r_special_noun_endings(z);
1234 if (ret < 0) return ret;
1235 }
1236 z->c = z->l - v_1;
1237 }
1238 {
1239 int v_2 = z->l - z->c;
1240 {
1241 int ret = r_case_ending(z);
1242 if (ret < 0) return ret;
1243 }
1244 z->c = z->l - v_2;
1245 }
1246 {
1247 int v_3 = z->l - z->c;
1248 {
1249 int ret = r_plural_three_first_cases(z);
1250 if (ret < 0) return ret;
1251 }
1252 z->c = z->l - v_3;
1253 }
1254 {
1255 int v_4 = z->l - z->c;
1256 {
1257 int ret = r_degrees(z);
1258 if (ret < 0) return ret;
1259 }
1260 z->c = z->l - v_4;
1261 }
1262 {
1263 int v_5 = z->l - z->c;
1264 {
1265 int ret = r_i_plural(z);
1266 if (ret < 0) return ret;
1267 }
1268 z->c = z->l - v_5;
1269 }
1270 {
1271 int v_6 = z->l - z->c;
1272 {
1273 int ret = r_nu(z);
1274 if (ret < 0) return ret;
1275 }
1276 z->c = z->l - v_6;
1277 }
1278 return 1;
1279}
1280
1281static int r_verb_exceptions(struct SN_env * z) {
1282 int among_var;
1283 z->bra = z->c;
1284 among_var = find_among(z, a_10, 290, 0);
1285 if (!among_var) return 0;
1286 z->ket = z->c;
1287 if (z->c < z->l) return 0;
1288 switch (among_var) {
1289 case 1:
1290 {
1291 int ret = slice_from_s(z, 3, s_10);
1292 if (ret < 0) return ret;
1293 }
1294 break;
1295 case 2:
1296 {
1297 int ret = slice_from_s(z, 3, s_11);
1298 if (ret < 0) return ret;
1299 }
1300 break;
1301 case 3:
1302 {
1303 int ret = slice_from_s(z, 5, s_12);
1304 if (ret < 0) return ret;
1305 }
1306 break;
1307 case 4:
1308 {
1309 int ret = slice_from_s(z, 5, s_13);
1310 if (ret < 0) return ret;
1311 }
1312 break;
1313 case 5:
1314 {
1315 int ret = slice_from_s(z, 5, s_14);
1316 if (ret < 0) return ret;
1317 }
1318 break;
1319 case 6:
1320 {
1321 int ret = slice_from_s(z, 4, s_15);
1322 if (ret < 0) return ret;
1323 }
1324 break;
1325 case 7:
1326 {
1327 int ret = slice_from_s(z, 3, s_16);
1328 if (ret < 0) return ret;
1329 }
1330 break;
1331 case 8:
1332 {
1333 int ret = slice_from_s(z, 6, s_17);
1334 if (ret < 0) return ret;
1335 }
1336 break;
1337 case 9:
1338 {
1339 int ret = slice_from_s(z, 5, s_18);
1340 if (ret < 0) return ret;
1341 }
1342 break;
1343 case 10:
1344 {
1345 int ret = slice_from_s(z, 3, s_19);
1346 if (ret < 0) return ret;
1347 }
1348 break;
1349 case 11:
1350 {
1351 int ret = slice_from_s(z, 6, s_20);
1352 if (ret < 0) return ret;
1353 }
1354 break;
1355 case 12:
1356 {
1357 int ret = slice_from_s(z, 7, s_21);
1358 if (ret < 0) return ret;
1359 }
1360 break;
1361 case 13:
1362 {
1363 int ret = slice_from_s(z, 7, s_22);
1364 if (ret < 0) return ret;
1365 }
1366 break;
1367 case 14:
1368 {
1369 int ret = slice_from_s(z, 4, s_23);
1370 if (ret < 0) return ret;
1371 }
1372 break;
1373 case 15:
1374 {
1375 int ret = slice_from_s(z, 5, s_24);
1376 if (ret < 0) return ret;
1377 }
1378 break;
1379 case 16:
1380 {
1381 int ret = slice_from_s(z, 4, s_25);
1382 if (ret < 0) return ret;
1383 }
1384 break;
1385 case 17:
1386 {
1387 int ret = slice_from_s(z, 4, s_26);
1388 if (ret < 0) return ret;
1389 }
1390 break;
1391 case 18:
1392 {
1393 int ret = slice_from_s(z, 5, s_27);
1394 if (ret < 0) return ret;
1395 }
1396 break;
1397 }
1398 return 1;
1399}
1400
1401extern int estonian_UTF_8_stem(struct SN_env * z) {
1402 {
1403 int v_1 = z->c;
1404 {
1405 int ret = r_verb_exceptions(z);
1406 if (ret == 0) goto lab0;
1407 if (ret < 0) return ret;
1408 }
1409 return 0;
1410 lab0:
1411 z->c = v_1;
1412 }
1413 {
1414 int v_2 = z->c;
1415 {
1416 int ret = r_mark_regions(z);
1417 if (ret < 0) return ret;
1418 }
1419 z->c = v_2;
1420 }
1421 z->lb = z->c; z->c = z->l;
1422 {
1423 int v_3 = z->l - z->c;
1424 {
1425 int ret = r_emphasis(z);
1426 if (ret < 0) return ret;
1427 }
1428 z->c = z->l - v_3;
1429 }
1430 {
1431 int v_4 = z->l - z->c;
1432 do {
1433 int v_5 = z->l - z->c;
1434 {
1435 int ret = r_verb(z);
1436 if (ret == 0) goto lab2;
1437 if (ret < 0) return ret;
1438 }
1439 break;
1440 lab2:
1441 z->c = z->l - v_5;
1442 {
1443 int ret = r_substantive(z);
1444 if (ret < 0) return ret;
1445 }
1446 } while (0);
1447 z->c = z->l - v_4;
1448 }
1449 {
1450 int v_6 = z->l - z->c;
1451 {
1452 int ret = r_undouble_kpt(z);
1453 if (ret < 0) return ret;
1454 }
1455 z->c = z->l - v_6;
1456 }
1457 z->c = z->lb;
1458 return 1;
1459}
1460
1461extern struct SN_env * estonian_UTF_8_create_env(void) {
1462 struct SN_env * z = SN_new_env(sizeof(SN_local));
1463 if (z) {
1464 ((SN_local *)z)->i_p1 = 0;
1465 }
1466 return z;
1467}
1468
1469extern void estonian_UTF_8_close_env(struct SN_env * z) {
1470 SN_delete_env(z);
1471}
1472
void SN_delete_env(struct SN_env *z)
Definition: api.c:18
struct SN_env * SN_new_env(int alloc_size)
Definition: api.c:5
unsigned char symbol
Definition: api.h:4
static const symbol s_10_63[6]
static const symbol s_10_78[4]
static const symbol s_10_43[7]
static const symbol s_4_3[3]
static const symbol s_10_147[5]
static const symbol s_10_75[7]
static const symbol s_6_6[2]
static const symbol s_10_203[7]
static int r_case_ending(struct SN_env *z)
static const symbol s_10_242[7]
static const symbol s_10_259[5]
static const symbol s_10_241[5]
static const symbol s_1_5[2]
static const symbol s_10_222[7]
static const symbol s_25[]
static const symbol s_2[]
static const symbol s_10_289[7]
static const struct among a_7[4]
static const symbol s_10_32[4]
static const symbol s_10_73[7]
static const symbol s_10_112[6]
static const symbol s_10_77[5]
static const symbol s_7_3[2]
static const symbol s_10_150[8]
static const symbol s_10_122[7]
static const symbol s_4_5[1]
static const symbol s_10_184[5]
static const symbol s_10_140[7]
static const symbol s_10_86[7]
static const symbol s_2_2[2]
static const symbol s_10_195[4]
static const symbol s_10_118[9]
static const symbol s_10_0[4]
static const symbol s_10_164[5]
static const symbol s_8_2[2]
static const symbol s_10_185[7]
static const symbol s_4[]
static const symbol s_10_49[4]
static const symbol s_10_270[7]
static const symbol s_10_285[6]
static const symbol s_10_27[9]
static const symbol s_10_173[7]
static const unsigned char g_V1[]
static const symbol s_10_50[5]
static const symbol s_10_70[4]
static const symbol s_10_167[9]
static const symbol s_10_157[7]
static const symbol s_5_1[3]
static const symbol s_10_14[5]
static const symbol s_10_181[8]
static const symbol s_10_3[5]
static const symbol s_10_61[8]
static const symbol s_6_3[6]
static const symbol s_10_215[6]
static const symbol s_10_82[4]
static const symbol s_10_91[6]
static const symbol s_10_94[5]
static const symbol s_10_158[7]
static const symbol s_9_0[2]
static const symbol s_10_148[5]
static const symbol s_10_96[7]
static const symbol s_10_134[7]
static int r_verb_exceptions(struct SN_env *z)
static const symbol s_10_132[6]
static const symbol s_10_258[5]
static const symbol s_10_2[8]
struct SN_env * estonian_UTF_8_create_env(void)
static const symbol s_10_25[10]
static const symbol s_4_9[2]
static const symbol s_10_149[6]
static const symbol s_10_277[6]
static const symbol s_10_247[4]
static const symbol s_10_235[5]
static const symbol s_10_272[6]
static const symbol s_10_129[9]
static const symbol s_3_4[5]
static const symbol s_10_256[4]
static const symbol s_10_74[8]
static const symbol s_10_216[9]
static const symbol s_10_56[5]
static const symbol s_10_123[9]
static const symbol s_10_226[5]
static const symbol s_10_234[4]
static const symbol s_10_170[6]
static const symbol s_10_146[8]
static const symbol s_10_282[9]
static const symbol s_10_180[7]
static const symbol s_6_1[3]
static const symbol s_10_54[8]
static const symbol s_10_47[5]
static const symbol s_10_72[5]
static const symbol s_10_246[6]
static const symbol s_10_166[8]
static const symbol s_10_127[8]
static const symbol s_10_5[5]
static const symbol s_10_257[4]
static const symbol s_10_274[5]
static const symbol s_0_1[2]
static const symbol s_10_202[10]
static const symbol s_10_84[7]
static const symbol s_10_18[7]
static const symbol s_10_280[9]
static const symbol s_10_232[5]
static const symbol s_10_284[8]
static const symbol s_4_1[2]
static const symbol s_10_110[6]
static const symbol s_10_210[9]
static const symbol s_10_283[6]
static const symbol s_2_0[2]
static const symbol s_10_33[5]
static const symbol s_10_136[9]
static const symbol s_10_66[5]
static const symbol s_27[]
static const symbol s_10_139[10]
static int r_plural_three_first_cases(struct SN_env *z)
static const struct among a_0[2]
static const symbol s_1_3[4]
static const symbol s_1_16[3]
static const symbol s_10_236[5]
static const symbol s_10_187[4]
static const symbol s_1_0[2]
static const symbol s_3_0[4]
static const symbol s_10_111[5]
static const symbol s_10_266[5]
static const symbol s_6[]
static const symbol s_4_8[2]
static const symbol s_10_57[6]
static int r_verb(struct SN_env *z)
static const symbol s_10_16[6]
static const symbol s_0_0[2]
static const symbol s_10_53[5]
static const symbol s_21[]
static const symbol s_10_125[6]
static const symbol s_3[]
static const struct among a_6[7]
static const symbol s_1_15[1]
static const symbol s_4_6[2]
static const symbol s_10_288[6]
static const symbol s_10_106[4]
static const symbol s_10_34[6]
static const symbol s_10_275[6]
static const symbol s_10_260[7]
static const symbol s_10_98[7]
static const symbol s_10_59[8]
static const symbol s_10_151[9]
static const symbol s_4_7[1]
static const struct among a_4[10]
static const symbol s_10_199[6]
static const symbol s_10_155[5]
static const symbol s_10_159[9]
static const symbol s_10_204[7]
static const symbol s_10_37[4]
static const symbol s_10_214[8]
static const symbol s_10_255[7]
static const symbol s_10_13[6]
static const symbol s_10_80[6]
static const symbol s_5_4[1]
static const symbol s_10_201[6]
static const symbol s_10_213[7]
static const symbol s_10_1[4]
static const symbol s_10_287[5]
static const symbol s_1_17[4]
static const symbol s_2_7[4]
static const symbol s_7_0[2]
static const symbol s_10_194[5]
static const symbol s_10_186[5]
static const symbol s_10_227[6]
static const symbol s_10_225[4]
static const symbol s_10_281[8]
static const symbol s_10_221[8]
static const symbol s_10_162[6]
static const symbol s_3_9[4]
static const unsigned char g_KI[]
static const symbol s_7[]
static const symbol s_10_249[4]
static const symbol s_3_11[4]
static const symbol s_10_231[7]
static const symbol s_13[]
static const symbol s_10_161[8]
static const symbol s_10_95[5]
static const symbol s_10_189[6]
static const symbol s_10_76[8]
static const symbol s_1_20[4]
static const symbol s_10_144[6]
static const symbol s_10_254[4]
static const symbol s_10_268[7]
static const symbol s_10_174[4]
static const symbol s_10_248[7]
static const symbol s_10_44[8]
static const symbol s_10_233[4]
static const symbol s_10_223[8]
static const symbol s_3_10[4]
static const symbol s_20[]
static const symbol s_10_182[7]
static const symbol s_10_177[8]
static const symbol s_10_28[7]
static const symbol s_10_119[10]
static const symbol s_10_244[4]
static const unsigned char g_RV[]
static const symbol s_10_108[4]
static const symbol s_10_17[6]
static const symbol s_4_4[1]
static const symbol s_8_0[2]
static const symbol s_3_6[4]
static const symbol s_10_243[5]
static const symbol s_10_264[5]
static const symbol s_10_26[7]
static const symbol s_10_4[7]
static const symbol s_10_269[6]
static const symbol s_10_156[6]
static const symbol s_10_168[8]
static const symbol s_10_38[4]
static const symbol s_19[]
static const symbol s_23[]
static const struct among a_3[12]
static const symbol s_10_237[7]
static const symbol s_5_3[3]
static const symbol s_10_262[7]
static const symbol s_10_79[5]
static const symbol s_10_276[9]
static const symbol s_10_45[5]
static const symbol s_10_192[5]
static const symbol s_10_267[4]
static const symbol s_10_60[9]
static const symbol s_10_55[5]
static const symbol s_10_87[8]
static const symbol s_24[]
static int r_emphasis(struct SN_env *z)
static const symbol s_7_1[2]
static const symbol s_10_137[10]
static const symbol s_10_209[7]
static const symbol s_10_40[5]
static const symbol s_6_2[2]
static const symbol s_10_245[5]
static const symbol s_10_207[9]
static const symbol s_1_14[7]
static const symbol s_10_208[10]
static const symbol s_10_52[6]
static const symbol s_10_128[6]
static const symbol s_10_81[4]
static const symbol s_10_35[5]
static const symbol s_10_71[4]
static const symbol s_1_2[1]
static const symbol s_10_261[8]
static const symbol s_10_251[6]
static const symbol s_10_271[5]
static const symbol s_10_133[6]
static const symbol s_16[]
static const symbol s_14[]
static int r_i_plural(struct SN_env *z)
static const symbol s_10_152[8]
static const symbol s_10_115[10]
static const symbol s_10_171[5]
static const struct among a_1[21]
static const symbol s_22[]
static const symbol s_1_7[5]
static const struct among a_9[3]
static const symbol s_10_48[4]
static const symbol s_10_42[8]
static const symbol s_10_224[5]
static int r_nu(struct SN_env *z)
static int r_special_noun_endings(struct SN_env *z)
static const symbol s_10_178[5]
static const symbol s_10_205[9]
static const symbol s_7_2[2]
static const symbol s_10_198[5]
static const symbol s_2_3[2]
static const symbol s_4_2[2]
static const symbol s_2_6[4]
static const symbol s_10_239[7]
static const symbol s_1_13[5]
static const symbol s_10_20[7]
static const symbol s_10_130[6]
static const symbol s_10_103[4]
static const symbol s_10_183[8]
static const symbol s_10_90[5]
static const symbol s_10_228[6]
static const symbol s_10[]
static const symbol s_10_200[6]
static const symbol s_9_2[1]
static const symbol s_10_21[7]
static const symbol s_10_124[7]
static const symbol s_10_36[6]
static const symbol s_10_97[8]
static const symbol s_10_9[4]
static const symbol s_2_4[2]
static const symbol s_1_18[6]
static const symbol s_1_1[4]
static const symbol s_1[]
static const symbol s_10_117[7]
static const symbol s_10_176[5]
static const symbol s_10_10[7]
static const symbol s_10_15[6]
void estonian_UTF_8_close_env(struct SN_env *z)
static const symbol s_10_102[5]
static const symbol s_10_212[6]
static const symbol s_10_41[7]
static const symbol s_10_286[5]
static const symbol s_1_11[5]
static const symbol s_10_11[4]
static const symbol s_3_1[4]
static int r_undouble_kpt(struct SN_env *z)
static const struct among a_10[290]
static const symbol s_4_0[2]
static const symbol s_10_175[4]
static const symbol s_10_93[4]
static const symbol s_10_83[5]
static const symbol s_10_273[5]
static const symbol s_10_62[9]
static const symbol s_3_3[5]
static const symbol s_1_9[4]
static const symbol s_10_279[8]
static int r_mark_regions(struct SN_env *z)
static const symbol s_10_7[5]
static const symbol s_10_30[7]
static const symbol s_10_65[6]
static const symbol s_1_8[7]
static const symbol s_11[]
static const symbol s_12[]
static const symbol s_10_23[10]
static const symbol s_10_114[6]
static const struct among a_5[5]
static const symbol s_6_0[1]
static const symbol s_10_92[4]
static const symbol s_10_252[5]
static const symbol s_10_188[5]
static const symbol s_1_6[4]
static const symbol s_1_4[6]
static const symbol s_10_138[9]
static const symbol s_10_153[9]
static const symbol s_10_263[8]
static const symbol s_3_8[4]
static const unsigned char g_GI[]
static const symbol s_10_24[9]
static const symbol s_8_1[2]
static const symbol s_10_121[10]
static const symbol s_10_67[5]
static const symbol s_10_89[4]
static const symbol s_9_1[3]
static const symbol s_2_8[4]
static const symbol s_10_99[8]
static int r_LONGV(struct SN_env *z)
static int r_degrees(struct SN_env *z)
static const symbol s_10_238[8]
static const symbol s_6_4[3]
static const symbol s_10_39[8]
static const symbol s_10_100[5]
static const symbol s_10_131[9]
static const symbol s_10_191[4]
static const symbol s_10_141[9]
static const symbol s_10_219[5]
static const symbol s_3_7[4]
static const symbol s_1_10[5]
static const symbol s_10_8[6]
static const symbol s_10_6[4]
static const symbol s_10_88[5]
static const symbol s_10_250[5]
static const symbol s_18[]
static const symbol s_10_143[6]
static const symbol s_17[]
static const symbol s_10_113[6]
static const symbol s_10_120[9]
static const symbol s_10_253[6]
static const symbol s_10_172[6]
static const symbol s_10_29[6]
static const symbol s_5_2[3]
static const symbol s_2_5[4]
static const symbol s_10_69[7]
static const symbol s_10_135[7]
static const symbol s_10_211[7]
static const symbol s_10_107[7]
static const symbol s_10_126[7]
static const symbol s_10_206[10]
static const symbol s_10_278[6]
static const symbol s_10_179[5]
static const symbol s_1_12[4]
static const symbol s_10_163[5]
static const symbol s_10_230[4]
static const struct among a_2[9]
static int r_substantive(struct SN_env *z)
static const symbol s_10_116[7]
static const symbol s_10_220[7]
static const symbol s_10_12[5]
static const symbol s_3_2[4]
static const symbol s_2_1[2]
static const symbol s_10_145[7]
static const symbol s_10_19[10]
static const symbol s_10_265[7]
static const symbol s_10_46[7]
static const symbol s_10_165[6]
static const symbol s_10_196[5]
static const symbol s_10_190[3]
static const symbol s_8[]
static const symbol s_9[]
static const symbol s_10_218[4]
static const symbol s_10_104[5]
static const symbol s_1_19[4]
static const symbol s_10_154[6]
static const symbol s_6_5[4]
static const symbol s_10_101[7]
static const symbol s_5[]
static const symbol s_10_31[8]
static const symbol s_10_217[4]
static const symbol s_10_193[4]
static const symbol s_10_68[6]
static const symbol s_3_5[5]
static const symbol s_15[]
static const symbol s_10_229[8]
static const symbol s_10_22[9]
int estonian_UTF_8_stem(struct SN_env *z)
static const symbol s_10_142[7]
static const symbol s_10_109[5]
static const symbol s_26[]
static const symbol s_10_160[5]
static const symbol s_10_105[6]
static const symbol s_10_64[8]
static const symbol s_10_85[8]
static const symbol s_10_197[6]
static const symbol s_10_169[9]
static const symbol s_10_51[5]
static const symbol s_0[]
static const symbol s_10_240[8]
static const symbol s_10_58[6]
static const struct among a_8[3]
Definition: api.h:15
int lb
Definition: api.h:17
symbol * p
Definition: api.h:16
int ket
Definition: api.h:17
int c
Definition: api.h:17
int bra
Definition: api.h:17
int l
Definition: api.h:17
struct SN_env z
int out_grouping_U(struct SN_env *z, const unsigned char *s, int min, int max, int repeat)
Definition: utilities.c:157
int in_grouping_U(struct SN_env *z, const unsigned char *s, int min, int max, int repeat)
Definition: utilities.c:133
SNOWBALL_ERR slice_from_s(struct SN_env *z, int s_size, const symbol *s)
Definition: utilities.c:432
int find_among_b(struct SN_env *z, const struct among *v, int v_size, int(*call_among_func)(struct SN_env *))
Definition: utilities.c:315
int in_grouping_b_U(struct SN_env *z, const unsigned char *s, int min, int max, int repeat)
Definition: utilities.c:145
int skip_b_utf8(const symbol *p, int c, int limit, int n)
Definition: utilities.c:68
SNOWBALL_ERR slice_del(struct SN_env *z)
Definition: utilities.c:443
int find_among(struct SN_env *z, const struct among *v, int v_size, int(*call_among_func)(struct SN_env *))
Definition: utilities.c:249