Line data Source code
1 : /* Generated from estonian.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
2 :
3 : #include "stem_UTF_8_estonian.h"
4 :
5 : #include <stddef.h>
6 :
7 : #include "snowball_runtime.h"
8 :
9 : struct SN_local {
10 : struct SN_env z;
11 : int i_p1;
12 : };
13 :
14 : typedef struct SN_local SN_local;
15 :
16 : #ifdef __cplusplus
17 : extern "C" {
18 : #endif
19 : extern int estonian_UTF_8_stem(struct SN_env * z);
20 : #ifdef __cplusplus
21 : }
22 : #endif
23 :
24 : static int r_nu(struct SN_env * z);
25 : static int r_verb(struct SN_env * z);
26 : static int r_verb_exceptions(struct SN_env * z);
27 : static int r_substantive(struct SN_env * z);
28 : static int r_degrees(struct SN_env * z);
29 : static int r_i_plural(struct SN_env * z);
30 : static int r_undouble_kpt(struct SN_env * z);
31 : static int r_plural_three_first_cases(struct SN_env * z);
32 : static int r_emphasis(struct SN_env * z);
33 : static int r_case_ending(struct SN_env * z);
34 : static int r_special_noun_endings(struct SN_env * z);
35 : static int r_LONGV(struct SN_env * z);
36 : static int r_mark_regions(struct SN_env * z);
37 :
38 : static const symbol s_0[] = { 'a' };
39 : static const symbol s_1[] = { 'l', 'a', 's', 'e' };
40 : static const symbol s_2[] = { 'm', 'i', 's', 'e' };
41 : static const symbol s_3[] = { 'l', 'i', 's', 'e' };
42 : static const symbol s_4[] = { 'i', 'k', 'u' };
43 : static const symbol s_5[] = { 'e' };
44 : static const symbol s_6[] = { 't' };
45 : static const symbol s_7[] = { 'k' };
46 : static const symbol s_8[] = { 'p' };
47 : static const symbol s_9[] = { 't' };
48 : static const symbol s_10[] = { 'j', 'o', 'o' };
49 : static const symbol s_11[] = { 's', 'a', 'a' };
50 : static const symbol s_12[] = { 'v', 'i', 'i', 'm', 'a' };
51 : static const symbol s_13[] = { 'k', 'e', 'e', 's', 'i' };
52 : static const symbol s_14[] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6 };
53 : static const symbol s_15[] = { 'l', 0xC3, 0xB5, 'i' };
54 : static const symbol s_16[] = { 'l', 'o', 'o' };
55 : static const symbol s_17[] = { 'k', 0xC3, 0xA4, 'i', 's', 'i' };
56 : static const symbol s_18[] = { 's', 0xC3, 0xB6, 0xC3, 0xB6 };
57 : static const symbol s_19[] = { 't', 'o', 'o' };
58 : static const symbol s_20[] = { 'v', 0xC3, 0xB5, 'i', 's', 'i' };
59 : static const symbol s_21[] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'm', 'a' };
60 : static const symbol s_22[] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 's', 'i' };
61 : static const symbol s_23[] = { 'l', 'u', 'g', 'e' };
62 : static const symbol s_24[] = { 'p', 0xC3, 0xB5, 'd', 'e' };
63 : static const symbol s_25[] = { 'l', 'a', 'd', 'u' };
64 : static const symbol s_26[] = { 't', 'e', 'g', 'i' };
65 : static const symbol s_27[] = { 'n', 0xC3, 0xA4, 'g', 'i' };
66 :
67 : static const symbol s_0_0[2] = { 'g', 'i' };
68 : static const symbol s_0_1[2] = { 'k', 'i' };
69 : static const struct among a_0[2] = {
70 : { 2, s_0_0, 0, 1, 0},
71 : { 2, s_0_1, 0, 2, 0}
72 : };
73 :
74 : static const symbol s_1_0[2] = { 'd', 'a' };
75 : static const symbol s_1_1[4] = { 'm', 'a', 't', 'a' };
76 : static const symbol s_1_2[1] = { 'b' };
77 : static const symbol s_1_3[4] = { 'k', 's', 'i', 'd' };
78 : static const symbol s_1_4[6] = { 'n', 'u', 'k', 's', 'i', 'd' };
79 : static const symbol s_1_5[2] = { 'm', 'e' };
80 : static const symbol s_1_6[4] = { 's', 'i', 'm', 'e' };
81 : static const symbol s_1_7[5] = { 'k', 's', 'i', 'm', 'e' };
82 : static const symbol s_1_8[7] = { 'n', 'u', 'k', 's', 'i', 'm', 'e' };
83 : static const symbol s_1_9[4] = { 'a', 'k', 's', 'e' };
84 : static const symbol s_1_10[5] = { 'd', 'a', 'k', 's', 'e' };
85 : static const symbol s_1_11[5] = { 't', 'a', 'k', 's', 'e' };
86 : static const symbol s_1_12[4] = { 's', 'i', 't', 'e' };
87 : static const symbol s_1_13[5] = { 'k', 's', 'i', 't', 'e' };
88 : static const symbol s_1_14[7] = { 'n', 'u', 'k', 's', 'i', 't', 'e' };
89 : static const symbol s_1_15[1] = { 'n' };
90 : static const symbol s_1_16[3] = { 's', 'i', 'n' };
91 : static const symbol s_1_17[4] = { 'k', 's', 'i', 'n' };
92 : static const symbol s_1_18[6] = { 'n', 'u', 'k', 's', 'i', 'n' };
93 : static const symbol s_1_19[4] = { 'd', 'a', 'k', 's' };
94 : static const symbol s_1_20[4] = { 't', 'a', 'k', 's' };
95 : static 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 :
119 : static const symbol s_2_0[2] = { 'a', 'a' };
120 : static const symbol s_2_1[2] = { 'e', 'e' };
121 : static const symbol s_2_2[2] = { 'i', 'i' };
122 : static const symbol s_2_3[2] = { 'o', 'o' };
123 : static const symbol s_2_4[2] = { 'u', 'u' };
124 : static const symbol s_2_5[4] = { 0xC3, 0xA4, 0xC3, 0xA4 };
125 : static const symbol s_2_6[4] = { 0xC3, 0xB5, 0xC3, 0xB5 };
126 : static const symbol s_2_7[4] = { 0xC3, 0xB6, 0xC3, 0xB6 };
127 : static const symbol s_2_8[4] = { 0xC3, 0xBC, 0xC3, 0xBC };
128 : static 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 :
140 : static const symbol s_3_0[4] = { 'l', 'a', 'n', 'e' };
141 : static const symbol s_3_1[4] = { 'l', 'i', 'n', 'e' };
142 : static const symbol s_3_2[4] = { 'm', 'i', 'n', 'e' };
143 : static const symbol s_3_3[5] = { 'l', 'a', 's', 's', 'e' };
144 : static const symbol s_3_4[5] = { 'l', 'i', 's', 's', 'e' };
145 : static const symbol s_3_5[5] = { 'm', 'i', 's', 's', 'e' };
146 : static const symbol s_3_6[4] = { 'l', 'a', 's', 'i' };
147 : static const symbol s_3_7[4] = { 'l', 'i', 's', 'i' };
148 : static const symbol s_3_8[4] = { 'm', 'i', 's', 'i' };
149 : static const symbol s_3_9[4] = { 'l', 'a', 's', 't' };
150 : static const symbol s_3_10[4] = { 'l', 'i', 's', 't' };
151 : static const symbol s_3_11[4] = { 'm', 'i', 's', 't' };
152 : static 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 :
167 : static const symbol s_4_0[2] = { 'g', 'a' };
168 : static const symbol s_4_1[2] = { 't', 'a' };
169 : static const symbol s_4_2[2] = { 'l', 'e' };
170 : static const symbol s_4_3[3] = { 's', 's', 'e' };
171 : static const symbol s_4_4[1] = { 'l' };
172 : static const symbol s_4_5[1] = { 's' };
173 : static const symbol s_4_6[2] = { 'k', 's' };
174 : static const symbol s_4_7[1] = { 't' };
175 : static const symbol s_4_8[2] = { 'l', 't' };
176 : static const symbol s_4_9[2] = { 's', 't' };
177 : static 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 :
190 : static const symbol s_5_1[3] = { 'l', 'a', 's' };
191 : static const symbol s_5_2[3] = { 'l', 'i', 's' };
192 : static const symbol s_5_3[3] = { 'm', 'i', 's' };
193 : static const symbol s_5_4[1] = { 't' };
194 : static 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 :
202 : static const symbol s_6_0[1] = { 'd' };
203 : static const symbol s_6_1[3] = { 's', 'i', 'd' };
204 : static const symbol s_6_2[2] = { 'd', 'e' };
205 : static const symbol s_6_3[6] = { 'i', 'k', 'k', 'u', 'd', 'e' };
206 : static const symbol s_6_4[3] = { 'i', 'k', 'e' };
207 : static const symbol s_6_5[4] = { 'i', 'k', 'k', 'e' };
208 : static const symbol s_6_6[2] = { 't', 'e' };
209 : static 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 :
219 : static const symbol s_7_0[2] = { 'v', 'a' };
220 : static const symbol s_7_1[2] = { 'd', 'u' };
221 : static const symbol s_7_2[2] = { 'n', 'u' };
222 : static const symbol s_7_3[2] = { 't', 'u' };
223 : static 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 :
230 : static const symbol s_8_0[2] = { 'k', 'k' };
231 : static const symbol s_8_1[2] = { 'p', 'p' };
232 : static const symbol s_8_2[2] = { 't', 't' };
233 : static 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 :
239 : static const symbol s_9_0[2] = { 'm', 'a' };
240 : static const symbol s_9_1[3] = { 'm', 'a', 'i' };
241 : static const symbol s_9_2[1] = { 'm' };
242 : static 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 :
248 : static const symbol s_10_0[4] = { 'j', 'o', 'o', 'b' };
249 : static const symbol s_10_1[4] = { 'j', 'o', 'o', 'd' };
250 : static const symbol s_10_2[8] = { 'j', 'o', 'o', 'd', 'a', 'k', 's', 'e' };
251 : static const symbol s_10_3[5] = { 'j', 'o', 'o', 'm', 'a' };
252 : static const symbol s_10_4[7] = { 'j', 'o', 'o', 'm', 'a', 't', 'a' };
253 : static const symbol s_10_5[5] = { 'j', 'o', 'o', 'm', 'e' };
254 : static const symbol s_10_6[4] = { 'j', 'o', 'o', 'n' };
255 : static const symbol s_10_7[5] = { 'j', 'o', 'o', 't', 'e' };
256 : static const symbol s_10_8[6] = { 'j', 'o', 'o', 'v', 'a', 'd' };
257 : static const symbol s_10_9[4] = { 'j', 'u', 'u', 'a' };
258 : static const symbol s_10_10[7] = { 'j', 'u', 'u', 'a', 'k', 's', 'e' };
259 : static const symbol s_10_11[4] = { 'j', 0xC3, 0xA4, 'i' };
260 : static const symbol s_10_12[5] = { 'j', 0xC3, 0xA4, 'i', 'd' };
261 : static const symbol s_10_13[6] = { 'j', 0xC3, 0xA4, 'i', 'm', 'e' };
262 : static const symbol s_10_14[5] = { 'j', 0xC3, 0xA4, 'i', 'n' };
263 : static const symbol s_10_15[6] = { 'j', 0xC3, 0xA4, 'i', 't', 'e' };
264 : static const symbol s_10_16[6] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'b' };
265 : static const symbol s_10_17[6] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'd' };
266 : static const symbol s_10_18[7] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'd', 'a' };
267 : static const symbol s_10_19[10] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'd', 'a', 'k', 's', 'e' };
268 : static const symbol s_10_20[7] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'd', 'i' };
269 : static const symbol s_10_21[7] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'k', 's' };
270 : static const symbol s_10_22[9] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'k', 's', 'i', 'd' };
271 : static const symbol s_10_23[10] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'k', 's', 'i', 'm', 'e' };
272 : static const symbol s_10_24[9] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'k', 's', 'i', 'n' };
273 : static const symbol s_10_25[10] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'k', 's', 'i', 't', 'e' };
274 : static const symbol s_10_26[7] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'm', 'a' };
275 : static const symbol s_10_27[9] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'm', 'a', 't', 'a' };
276 : static const symbol s_10_28[7] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'm', 'e' };
277 : static const symbol s_10_29[6] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'n' };
278 : static const symbol s_10_30[7] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 't', 'e' };
279 : static const symbol s_10_31[8] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'v', 'a', 'd' };
280 : static const symbol s_10_32[4] = { 'j', 0xC3, 0xB5, 'i' };
281 : static const symbol s_10_33[5] = { 'j', 0xC3, 0xB5, 'i', 'd' };
282 : static const symbol s_10_34[6] = { 'j', 0xC3, 0xB5, 'i', 'm', 'e' };
283 : static const symbol s_10_35[5] = { 'j', 0xC3, 0xB5, 'i', 'n' };
284 : static const symbol s_10_36[6] = { 'j', 0xC3, 0xB5, 'i', 't', 'e' };
285 : static const symbol s_10_37[4] = { 'k', 'e', 'e', 'b' };
286 : static const symbol s_10_38[4] = { 'k', 'e', 'e', 'd' };
287 : static const symbol s_10_39[8] = { 'k', 'e', 'e', 'd', 'a', 'k', 's', 'e' };
288 : static const symbol s_10_40[5] = { 'k', 'e', 'e', 'k', 's' };
289 : static const symbol s_10_41[7] = { 'k', 'e', 'e', 'k', 's', 'i', 'd' };
290 : static const symbol s_10_42[8] = { 'k', 'e', 'e', 'k', 's', 'i', 'm', 'e' };
291 : static const symbol s_10_43[7] = { 'k', 'e', 'e', 'k', 's', 'i', 'n' };
292 : static const symbol s_10_44[8] = { 'k', 'e', 'e', 'k', 's', 'i', 't', 'e' };
293 : static const symbol s_10_45[5] = { 'k', 'e', 'e', 'm', 'a' };
294 : static const symbol s_10_46[7] = { 'k', 'e', 'e', 'm', 'a', 't', 'a' };
295 : static const symbol s_10_47[5] = { 'k', 'e', 'e', 'm', 'e' };
296 : static const symbol s_10_48[4] = { 'k', 'e', 'e', 'n' };
297 : static const symbol s_10_49[4] = { 'k', 'e', 'e', 's' };
298 : static const symbol s_10_50[5] = { 'k', 'e', 'e', 't', 'a' };
299 : static const symbol s_10_51[5] = { 'k', 'e', 'e', 't', 'e' };
300 : static const symbol s_10_52[6] = { 'k', 'e', 'e', 'v', 'a', 'd' };
301 : static const symbol s_10_53[5] = { 'k', 0xC3, 0xA4, 'i', 'a' };
302 : static const symbol s_10_54[8] = { 'k', 0xC3, 0xA4, 'i', 'a', 'k', 's', 'e' };
303 : static const symbol s_10_55[5] = { 'k', 0xC3, 0xA4, 'i', 'b' };
304 : static const symbol s_10_56[5] = { 'k', 0xC3, 0xA4, 'i', 'd' };
305 : static const symbol s_10_57[6] = { 'k', 0xC3, 0xA4, 'i', 'd', 'i' };
306 : static const symbol s_10_58[6] = { 'k', 0xC3, 0xA4, 'i', 'k', 's' };
307 : static const symbol s_10_59[8] = { 'k', 0xC3, 0xA4, 'i', 'k', 's', 'i', 'd' };
308 : static const symbol s_10_60[9] = { 'k', 0xC3, 0xA4, 'i', 'k', 's', 'i', 'm', 'e' };
309 : static const symbol s_10_61[8] = { 'k', 0xC3, 0xA4, 'i', 'k', 's', 'i', 'n' };
310 : static const symbol s_10_62[9] = { 'k', 0xC3, 0xA4, 'i', 'k', 's', 'i', 't', 'e' };
311 : static const symbol s_10_63[6] = { 'k', 0xC3, 0xA4, 'i', 'm', 'a' };
312 : static const symbol s_10_64[8] = { 'k', 0xC3, 0xA4, 'i', 'm', 'a', 't', 'a' };
313 : static const symbol s_10_65[6] = { 'k', 0xC3, 0xA4, 'i', 'm', 'e' };
314 : static const symbol s_10_66[5] = { 'k', 0xC3, 0xA4, 'i', 'n' };
315 : static const symbol s_10_67[5] = { 'k', 0xC3, 0xA4, 'i', 's' };
316 : static const symbol s_10_68[6] = { 'k', 0xC3, 0xA4, 'i', 't', 'e' };
317 : static const symbol s_10_69[7] = { 'k', 0xC3, 0xA4, 'i', 'v', 'a', 'd' };
318 : static const symbol s_10_70[4] = { 'l', 'a', 'o', 'b' };
319 : static const symbol s_10_71[4] = { 'l', 'a', 'o', 'd' };
320 : static const symbol s_10_72[5] = { 'l', 'a', 'o', 'k', 's' };
321 : static const symbol s_10_73[7] = { 'l', 'a', 'o', 'k', 's', 'i', 'd' };
322 : static const symbol s_10_74[8] = { 'l', 'a', 'o', 'k', 's', 'i', 'm', 'e' };
323 : static const symbol s_10_75[7] = { 'l', 'a', 'o', 'k', 's', 'i', 'n' };
324 : static const symbol s_10_76[8] = { 'l', 'a', 'o', 'k', 's', 'i', 't', 'e' };
325 : static const symbol s_10_77[5] = { 'l', 'a', 'o', 'm', 'e' };
326 : static const symbol s_10_78[4] = { 'l', 'a', 'o', 'n' };
327 : static const symbol s_10_79[5] = { 'l', 'a', 'o', 't', 'e' };
328 : static const symbol s_10_80[6] = { 'l', 'a', 'o', 'v', 'a', 'd' };
329 : static const symbol s_10_81[4] = { 'l', 'o', 'e', 'b' };
330 : static const symbol s_10_82[4] = { 'l', 'o', 'e', 'd' };
331 : static const symbol s_10_83[5] = { 'l', 'o', 'e', 'k', 's' };
332 : static const symbol s_10_84[7] = { 'l', 'o', 'e', 'k', 's', 'i', 'd' };
333 : static const symbol s_10_85[8] = { 'l', 'o', 'e', 'k', 's', 'i', 'm', 'e' };
334 : static const symbol s_10_86[7] = { 'l', 'o', 'e', 'k', 's', 'i', 'n' };
335 : static const symbol s_10_87[8] = { 'l', 'o', 'e', 'k', 's', 'i', 't', 'e' };
336 : static const symbol s_10_88[5] = { 'l', 'o', 'e', 'm', 'e' };
337 : static const symbol s_10_89[4] = { 'l', 'o', 'e', 'n' };
338 : static const symbol s_10_90[5] = { 'l', 'o', 'e', 't', 'e' };
339 : static const symbol s_10_91[6] = { 'l', 'o', 'e', 'v', 'a', 'd' };
340 : static const symbol s_10_92[4] = { 'l', 'o', 'o', 'b' };
341 : static const symbol s_10_93[4] = { 'l', 'o', 'o', 'd' };
342 : static const symbol s_10_94[5] = { 'l', 'o', 'o', 'd', 'i' };
343 : static const symbol s_10_95[5] = { 'l', 'o', 'o', 'k', 's' };
344 : static const symbol s_10_96[7] = { 'l', 'o', 'o', 'k', 's', 'i', 'd' };
345 : static const symbol s_10_97[8] = { 'l', 'o', 'o', 'k', 's', 'i', 'm', 'e' };
346 : static const symbol s_10_98[7] = { 'l', 'o', 'o', 'k', 's', 'i', 'n' };
347 : static const symbol s_10_99[8] = { 'l', 'o', 'o', 'k', 's', 'i', 't', 'e' };
348 : static const symbol s_10_100[5] = { 'l', 'o', 'o', 'm', 'a' };
349 : static const symbol s_10_101[7] = { 'l', 'o', 'o', 'm', 'a', 't', 'a' };
350 : static const symbol s_10_102[5] = { 'l', 'o', 'o', 'm', 'e' };
351 : static const symbol s_10_103[4] = { 'l', 'o', 'o', 'n' };
352 : static const symbol s_10_104[5] = { 'l', 'o', 'o', 't', 'e' };
353 : static const symbol s_10_105[6] = { 'l', 'o', 'o', 'v', 'a', 'd' };
354 : static const symbol s_10_106[4] = { 'l', 'u', 'u', 'a' };
355 : static const symbol s_10_107[7] = { 'l', 'u', 'u', 'a', 'k', 's', 'e' };
356 : static const symbol s_10_108[4] = { 'l', 0xC3, 0xB5, 'i' };
357 : static const symbol s_10_109[5] = { 'l', 0xC3, 0xB5, 'i', 'd' };
358 : static const symbol s_10_110[6] = { 'l', 0xC3, 0xB5, 'i', 'm', 'e' };
359 : static const symbol s_10_111[5] = { 'l', 0xC3, 0xB5, 'i', 'n' };
360 : static const symbol s_10_112[6] = { 'l', 0xC3, 0xB5, 'i', 't', 'e' };
361 : static const symbol s_10_113[6] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'b' };
362 : static const symbol s_10_114[6] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'd' };
363 : static const symbol s_10_115[10] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'd', 'a', 'k', 's', 'e' };
364 : static const symbol s_10_116[7] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'd', 'i' };
365 : static const symbol s_10_117[7] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'k', 's' };
366 : static const symbol s_10_118[9] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'k', 's', 'i', 'd' };
367 : static const symbol s_10_119[10] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'k', 's', 'i', 'm', 'e' };
368 : static const symbol s_10_120[9] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'k', 's', 'i', 'n' };
369 : static const symbol s_10_121[10] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'k', 's', 'i', 't', 'e' };
370 : static const symbol s_10_122[7] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'm', 'a' };
371 : static const symbol s_10_123[9] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'm', 'a', 't', 'a' };
372 : static const symbol s_10_124[7] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'm', 'e' };
373 : static const symbol s_10_125[6] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'n' };
374 : static const symbol s_10_126[7] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 't', 'e' };
375 : static const symbol s_10_127[8] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'v', 'a', 'd' };
376 : static const symbol s_10_128[6] = { 'l', 0xC3, 0xBC, 0xC3, 0xBC, 'a' };
377 : static const symbol s_10_129[9] = { 'l', 0xC3, 0xBC, 0xC3, 0xBC, 'a', 'k', 's', 'e' };
378 : static const symbol s_10_130[6] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'a' };
379 : static const symbol s_10_131[9] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'a', 'k', 's', 'e' };
380 : static const symbol s_10_132[6] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'b' };
381 : static const symbol s_10_133[6] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'd' };
382 : static const symbol s_10_134[7] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'd', 'i' };
383 : static const symbol s_10_135[7] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'k', 's' };
384 : static const symbol s_10_136[9] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'k', 's', 'i', 'd' };
385 : static const symbol s_10_137[10] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'k', 's', 'i', 'm', 'e' };
386 : static const symbol s_10_138[9] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'k', 's', 'i', 'n' };
387 : static const symbol s_10_139[10] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'k', 's', 'i', 't', 'e' };
388 : static const symbol s_10_140[7] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'm', 'a' };
389 : static const symbol s_10_141[9] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'm', 'a', 't', 'a' };
390 : static const symbol s_10_142[7] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'm', 'e' };
391 : static const symbol s_10_143[6] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'n' };
392 : static const symbol s_10_144[6] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 's' };
393 : static const symbol s_10_145[7] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 't', 'e' };
394 : static const symbol s_10_146[8] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'v', 'a', 'd' };
395 : static const symbol s_10_147[5] = { 'n', 0xC3, 0xA4, 'e', 'b' };
396 : static const symbol s_10_148[5] = { 'n', 0xC3, 0xA4, 'e', 'd' };
397 : static const symbol s_10_149[6] = { 'n', 0xC3, 0xA4, 'e', 'k', 's' };
398 : static const symbol s_10_150[8] = { 'n', 0xC3, 0xA4, 'e', 'k', 's', 'i', 'd' };
399 : static const symbol s_10_151[9] = { 'n', 0xC3, 0xA4, 'e', 'k', 's', 'i', 'm', 'e' };
400 : static const symbol s_10_152[8] = { 'n', 0xC3, 0xA4, 'e', 'k', 's', 'i', 'n' };
401 : static const symbol s_10_153[9] = { 'n', 0xC3, 0xA4, 'e', 'k', 's', 'i', 't', 'e' };
402 : static const symbol s_10_154[6] = { 'n', 0xC3, 0xA4, 'e', 'm', 'e' };
403 : static const symbol s_10_155[5] = { 'n', 0xC3, 0xA4, 'e', 'n' };
404 : static const symbol s_10_156[6] = { 'n', 0xC3, 0xA4, 'e', 't', 'e' };
405 : static const symbol s_10_157[7] = { 'n', 0xC3, 0xA4, 'e', 'v', 'a', 'd' };
406 : static const symbol s_10_158[7] = { 'n', 0xC3, 0xA4, 'g', 'e', 'm', 'a' };
407 : static const symbol s_10_159[9] = { 'n', 0xC3, 0xA4, 'g', 'e', 'm', 'a', 't', 'a' };
408 : static const symbol s_10_160[5] = { 'n', 0xC3, 0xA4, 'h', 'a' };
409 : static const symbol s_10_161[8] = { 'n', 0xC3, 0xA4, 'h', 'a', 'k', 's', 'e' };
410 : static const symbol s_10_162[6] = { 'n', 0xC3, 0xA4, 'h', 't', 'i' };
411 : static const symbol s_10_163[5] = { 'p', 0xC3, 0xB5, 'e', 'b' };
412 : static const symbol s_10_164[5] = { 'p', 0xC3, 0xB5, 'e', 'd' };
413 : static const symbol s_10_165[6] = { 'p', 0xC3, 0xB5, 'e', 'k', 's' };
414 : static const symbol s_10_166[8] = { 'p', 0xC3, 0xB5, 'e', 'k', 's', 'i', 'd' };
415 : static const symbol s_10_167[9] = { 'p', 0xC3, 0xB5, 'e', 'k', 's', 'i', 'm', 'e' };
416 : static const symbol s_10_168[8] = { 'p', 0xC3, 0xB5, 'e', 'k', 's', 'i', 'n' };
417 : static const symbol s_10_169[9] = { 'p', 0xC3, 0xB5, 'e', 'k', 's', 'i', 't', 'e' };
418 : static const symbol s_10_170[6] = { 'p', 0xC3, 0xB5, 'e', 'm', 'e' };
419 : static const symbol s_10_171[5] = { 'p', 0xC3, 0xB5, 'e', 'n' };
420 : static const symbol s_10_172[6] = { 'p', 0xC3, 0xB5, 'e', 't', 'e' };
421 : static const symbol s_10_173[7] = { 'p', 0xC3, 0xB5, 'e', 'v', 'a', 'd' };
422 : static const symbol s_10_174[4] = { 's', 'a', 'a', 'b' };
423 : static const symbol s_10_175[4] = { 's', 'a', 'a', 'd' };
424 : static const symbol s_10_176[5] = { 's', 'a', 'a', 'd', 'a' };
425 : static const symbol s_10_177[8] = { 's', 'a', 'a', 'd', 'a', 'k', 's', 'e' };
426 : static const symbol s_10_178[5] = { 's', 'a', 'a', 'd', 'i' };
427 : static const symbol s_10_179[5] = { 's', 'a', 'a', 'k', 's' };
428 : static const symbol s_10_180[7] = { 's', 'a', 'a', 'k', 's', 'i', 'd' };
429 : static const symbol s_10_181[8] = { 's', 'a', 'a', 'k', 's', 'i', 'm', 'e' };
430 : static const symbol s_10_182[7] = { 's', 'a', 'a', 'k', 's', 'i', 'n' };
431 : static const symbol s_10_183[8] = { 's', 'a', 'a', 'k', 's', 'i', 't', 'e' };
432 : static const symbol s_10_184[5] = { 's', 'a', 'a', 'm', 'a' };
433 : static const symbol s_10_185[7] = { 's', 'a', 'a', 'm', 'a', 't', 'a' };
434 : static const symbol s_10_186[5] = { 's', 'a', 'a', 'm', 'e' };
435 : static const symbol s_10_187[4] = { 's', 'a', 'a', 'n' };
436 : static const symbol s_10_188[5] = { 's', 'a', 'a', 't', 'e' };
437 : static const symbol s_10_189[6] = { 's', 'a', 'a', 'v', 'a', 'd' };
438 : static const symbol s_10_190[3] = { 's', 'a', 'i' };
439 : static const symbol s_10_191[4] = { 's', 'a', 'i', 'd' };
440 : static const symbol s_10_192[5] = { 's', 'a', 'i', 'm', 'e' };
441 : static const symbol s_10_193[4] = { 's', 'a', 'i', 'n' };
442 : static const symbol s_10_194[5] = { 's', 'a', 'i', 't', 'e' };
443 : static const symbol s_10_195[4] = { 's', 0xC3, 0xB5, 'i' };
444 : static const symbol s_10_196[5] = { 's', 0xC3, 0xB5, 'i', 'd' };
445 : static const symbol s_10_197[6] = { 's', 0xC3, 0xB5, 'i', 'm', 'e' };
446 : static const symbol s_10_198[5] = { 's', 0xC3, 0xB5, 'i', 'n' };
447 : static const symbol s_10_199[6] = { 's', 0xC3, 0xB5, 'i', 't', 'e' };
448 : static const symbol s_10_200[6] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'b' };
449 : static const symbol s_10_201[6] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'd' };
450 : static const symbol s_10_202[10] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'd', 'a', 'k', 's', 'e' };
451 : static const symbol s_10_203[7] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'd', 'i' };
452 : static const symbol s_10_204[7] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'k', 's' };
453 : static const symbol s_10_205[9] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'k', 's', 'i', 'd' };
454 : static const symbol s_10_206[10] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'k', 's', 'i', 'm', 'e' };
455 : static const symbol s_10_207[9] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'k', 's', 'i', 'n' };
456 : static const symbol s_10_208[10] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'k', 's', 'i', 't', 'e' };
457 : static const symbol s_10_209[7] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'm', 'a' };
458 : static const symbol s_10_210[9] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'm', 'a', 't', 'a' };
459 : static const symbol s_10_211[7] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'm', 'e' };
460 : static const symbol s_10_212[6] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'n' };
461 : static const symbol s_10_213[7] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 't', 'e' };
462 : static const symbol s_10_214[8] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'v', 'a', 'd' };
463 : static const symbol s_10_215[6] = { 's', 0xC3, 0xBC, 0xC3, 0xBC, 'a' };
464 : static const symbol s_10_216[9] = { 's', 0xC3, 0xBC, 0xC3, 0xBC, 'a', 'k', 's', 'e' };
465 : static const symbol s_10_217[4] = { 't', 'e', 'e', 'b' };
466 : static const symbol s_10_218[4] = { 't', 'e', 'e', 'd' };
467 : static const symbol s_10_219[5] = { 't', 'e', 'e', 'k', 's' };
468 : static const symbol s_10_220[7] = { 't', 'e', 'e', 'k', 's', 'i', 'd' };
469 : static const symbol s_10_221[8] = { 't', 'e', 'e', 'k', 's', 'i', 'm', 'e' };
470 : static const symbol s_10_222[7] = { 't', 'e', 'e', 'k', 's', 'i', 'n' };
471 : static const symbol s_10_223[8] = { 't', 'e', 'e', 'k', 's', 'i', 't', 'e' };
472 : static const symbol s_10_224[5] = { 't', 'e', 'e', 'm', 'e' };
473 : static const symbol s_10_225[4] = { 't', 'e', 'e', 'n' };
474 : static const symbol s_10_226[5] = { 't', 'e', 'e', 't', 'e' };
475 : static const symbol s_10_227[6] = { 't', 'e', 'e', 'v', 'a', 'd' };
476 : static const symbol s_10_228[6] = { 't', 'e', 'g', 'e', 'm', 'a' };
477 : static const symbol s_10_229[8] = { 't', 'e', 'g', 'e', 'm', 'a', 't', 'a' };
478 : static const symbol s_10_230[4] = { 't', 'e', 'h', 'a' };
479 : static const symbol s_10_231[7] = { 't', 'e', 'h', 'a', 'k', 's', 'e' };
480 : static const symbol s_10_232[5] = { 't', 'e', 'h', 't', 'i' };
481 : static const symbol s_10_233[4] = { 't', 'o', 'o', 'b' };
482 : static const symbol s_10_234[4] = { 't', 'o', 'o', 'd' };
483 : static const symbol s_10_235[5] = { 't', 'o', 'o', 'd', 'i' };
484 : static const symbol s_10_236[5] = { 't', 'o', 'o', 'k', 's' };
485 : static const symbol s_10_237[7] = { 't', 'o', 'o', 'k', 's', 'i', 'd' };
486 : static const symbol s_10_238[8] = { 't', 'o', 'o', 'k', 's', 'i', 'm', 'e' };
487 : static const symbol s_10_239[7] = { 't', 'o', 'o', 'k', 's', 'i', 'n' };
488 : static const symbol s_10_240[8] = { 't', 'o', 'o', 'k', 's', 'i', 't', 'e' };
489 : static const symbol s_10_241[5] = { 't', 'o', 'o', 'm', 'a' };
490 : static const symbol s_10_242[7] = { 't', 'o', 'o', 'm', 'a', 't', 'a' };
491 : static const symbol s_10_243[5] = { 't', 'o', 'o', 'm', 'e' };
492 : static const symbol s_10_244[4] = { 't', 'o', 'o', 'n' };
493 : static const symbol s_10_245[5] = { 't', 'o', 'o', 't', 'e' };
494 : static const symbol s_10_246[6] = { 't', 'o', 'o', 'v', 'a', 'd' };
495 : static const symbol s_10_247[4] = { 't', 'u', 'u', 'a' };
496 : static const symbol s_10_248[7] = { 't', 'u', 'u', 'a', 'k', 's', 'e' };
497 : static const symbol s_10_249[4] = { 't', 0xC3, 0xB5, 'i' };
498 : static const symbol s_10_250[5] = { 't', 0xC3, 0xB5, 'i', 'd' };
499 : static const symbol s_10_251[6] = { 't', 0xC3, 0xB5, 'i', 'm', 'e' };
500 : static const symbol s_10_252[5] = { 't', 0xC3, 0xB5, 'i', 'n' };
501 : static const symbol s_10_253[6] = { 't', 0xC3, 0xB5, 'i', 't', 'e' };
502 : static const symbol s_10_254[4] = { 'v', 'i', 'i', 'a' };
503 : static const symbol s_10_255[7] = { 'v', 'i', 'i', 'a', 'k', 's', 'e' };
504 : static const symbol s_10_256[4] = { 'v', 'i', 'i', 'b' };
505 : static const symbol s_10_257[4] = { 'v', 'i', 'i', 'd' };
506 : static const symbol s_10_258[5] = { 'v', 'i', 'i', 'd', 'i' };
507 : static const symbol s_10_259[5] = { 'v', 'i', 'i', 'k', 's' };
508 : static const symbol s_10_260[7] = { 'v', 'i', 'i', 'k', 's', 'i', 'd' };
509 : static const symbol s_10_261[8] = { 'v', 'i', 'i', 'k', 's', 'i', 'm', 'e' };
510 : static const symbol s_10_262[7] = { 'v', 'i', 'i', 'k', 's', 'i', 'n' };
511 : static const symbol s_10_263[8] = { 'v', 'i', 'i', 'k', 's', 'i', 't', 'e' };
512 : static const symbol s_10_264[5] = { 'v', 'i', 'i', 'm', 'a' };
513 : static const symbol s_10_265[7] = { 'v', 'i', 'i', 'm', 'a', 't', 'a' };
514 : static const symbol s_10_266[5] = { 'v', 'i', 'i', 'm', 'e' };
515 : static const symbol s_10_267[4] = { 'v', 'i', 'i', 'n' };
516 : static const symbol s_10_268[7] = { 'v', 'i', 'i', 's', 'i', 'm', 'e' };
517 : static const symbol s_10_269[6] = { 'v', 'i', 'i', 's', 'i', 'n' };
518 : static const symbol s_10_270[7] = { 'v', 'i', 'i', 's', 'i', 't', 'e' };
519 : static const symbol s_10_271[5] = { 'v', 'i', 'i', 't', 'e' };
520 : static const symbol s_10_272[6] = { 'v', 'i', 'i', 'v', 'a', 'd' };
521 : static const symbol s_10_273[5] = { 'v', 0xC3, 0xB5, 'i', 'b' };
522 : static const symbol s_10_274[5] = { 'v', 0xC3, 0xB5, 'i', 'd' };
523 : static const symbol s_10_275[6] = { 'v', 0xC3, 0xB5, 'i', 'd', 'a' };
524 : static const symbol s_10_276[9] = { 'v', 0xC3, 0xB5, 'i', 'd', 'a', 'k', 's', 'e' };
525 : static const symbol s_10_277[6] = { 'v', 0xC3, 0xB5, 'i', 'd', 'i' };
526 : static const symbol s_10_278[6] = { 'v', 0xC3, 0xB5, 'i', 'k', 's' };
527 : static const symbol s_10_279[8] = { 'v', 0xC3, 0xB5, 'i', 'k', 's', 'i', 'd' };
528 : static const symbol s_10_280[9] = { 'v', 0xC3, 0xB5, 'i', 'k', 's', 'i', 'm', 'e' };
529 : static const symbol s_10_281[8] = { 'v', 0xC3, 0xB5, 'i', 'k', 's', 'i', 'n' };
530 : static const symbol s_10_282[9] = { 'v', 0xC3, 0xB5, 'i', 'k', 's', 'i', 't', 'e' };
531 : static const symbol s_10_283[6] = { 'v', 0xC3, 0xB5, 'i', 'm', 'a' };
532 : static const symbol s_10_284[8] = { 'v', 0xC3, 0xB5, 'i', 'm', 'a', 't', 'a' };
533 : static const symbol s_10_285[6] = { 'v', 0xC3, 0xB5, 'i', 'm', 'e' };
534 : static const symbol s_10_286[5] = { 'v', 0xC3, 0xB5, 'i', 'n' };
535 : static const symbol s_10_287[5] = { 'v', 0xC3, 0xB5, 'i', 's' };
536 : static const symbol s_10_288[6] = { 'v', 0xC3, 0xB5, 'i', 't', 'e' };
537 : static const symbol s_10_289[7] = { 'v', 0xC3, 0xB5, 'i', 'v', 'a', 'd' };
538 : static 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 :
831 : static 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 :
833 : static const unsigned char g_RV[] = { 17, 65, 16 };
834 :
835 : static 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 :
837 : static 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 :
839 0 : static int r_mark_regions(struct SN_env * z) {
840 0 : ((SN_local *)z)->i_p1 = z->l;
841 : {
842 0 : int ret = out_grouping_U(z, g_V1, 97, 252, 1);
843 0 : if (ret < 0) return 0;
844 0 : z->c += ret;
845 : }
846 : {
847 0 : int ret = in_grouping_U(z, g_V1, 97, 252, 1);
848 0 : if (ret < 0) return 0;
849 0 : z->c += ret;
850 : }
851 0 : ((SN_local *)z)->i_p1 = z->c;
852 0 : return 1;
853 : }
854 :
855 0 : static int r_emphasis(struct SN_env * z) {
856 : int among_var;
857 : {
858 : int v_1;
859 0 : if (z->c < ((SN_local *)z)->i_p1) return 0;
860 0 : v_1 = z->lb; z->lb = ((SN_local *)z)->i_p1;
861 0 : z->ket = z->c;
862 0 : if (z->c - 1 <= z->lb || z->p[z->c - 1] != 105) { z->lb = v_1; return 0; }
863 0 : among_var = find_among_b(z, a_0, 2, 0);
864 0 : if (!among_var) { z->lb = v_1; return 0; }
865 0 : z->bra = z->c;
866 0 : z->lb = v_1;
867 : }
868 : {
869 0 : int v_2 = z->l - z->c;
870 : {
871 0 : int ret = skip_b_utf8(z->p, z->c, z->lb, 4);
872 0 : if (ret < 0) return 0;
873 0 : z->c = ret;
874 : }
875 0 : z->c = z->l - v_2;
876 : }
877 0 : switch (among_var) {
878 0 : case 1:
879 : {
880 0 : int v_3 = z->l - z->c;
881 0 : if (in_grouping_b_U(z, g_GI, 97, 252, 0)) return 0;
882 0 : z->c = z->l - v_3;
883 : {
884 0 : int v_4 = z->l - z->c;
885 : {
886 0 : int ret = r_LONGV(z);
887 0 : if (ret == 0) goto lab0;
888 0 : if (ret < 0) return ret;
889 : }
890 0 : return 0;
891 0 : lab0:
892 0 : z->c = z->l - v_4;
893 : }
894 : }
895 : {
896 0 : int ret = slice_del(z);
897 0 : if (ret < 0) return ret;
898 : }
899 0 : break;
900 0 : case 2:
901 0 : if (in_grouping_b_U(z, g_KI, 98, 382, 0)) return 0;
902 : {
903 0 : int ret = slice_del(z);
904 0 : if (ret < 0) return ret;
905 : }
906 0 : break;
907 : }
908 0 : return 1;
909 : }
910 :
911 0 : static int r_verb(struct SN_env * z) {
912 : int among_var;
913 : {
914 : int v_1;
915 0 : if (z->c < ((SN_local *)z)->i_p1) return 0;
916 0 : v_1 = z->lb; z->lb = ((SN_local *)z)->i_p1;
917 0 : z->ket = z->c;
918 0 : 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 0 : among_var = find_among_b(z, a_1, 21, 0);
920 0 : if (!among_var) { z->lb = v_1; return 0; }
921 0 : z->bra = z->c;
922 0 : z->lb = v_1;
923 : }
924 0 : switch (among_var) {
925 0 : case 1:
926 : {
927 0 : int ret = slice_del(z);
928 0 : if (ret < 0) return ret;
929 : }
930 0 : break;
931 0 : case 2:
932 : {
933 0 : int ret = slice_from_s(z, 1, s_0);
934 0 : if (ret < 0) return ret;
935 : }
936 0 : break;
937 0 : case 3:
938 0 : if (in_grouping_b_U(z, g_V1, 97, 252, 0)) return 0;
939 : {
940 0 : int ret = slice_del(z);
941 0 : if (ret < 0) return ret;
942 : }
943 0 : break;
944 : }
945 0 : return 1;
946 : }
947 :
948 0 : static int r_LONGV(struct SN_env * z) {
949 0 : return find_among_b(z, a_2, 9, 0) != 0;
950 : }
951 :
952 0 : static int r_i_plural(struct SN_env * z) {
953 : {
954 : int v_1;
955 0 : if (z->c < ((SN_local *)z)->i_p1) return 0;
956 0 : v_1 = z->lb; z->lb = ((SN_local *)z)->i_p1;
957 0 : z->ket = z->c;
958 0 : if (z->c <= z->lb || z->p[z->c - 1] != 'i') { z->lb = v_1; return 0; }
959 0 : z->c--;
960 0 : z->bra = z->c;
961 0 : z->lb = v_1;
962 : }
963 0 : if (in_grouping_b_U(z, g_RV, 97, 117, 0)) return 0;
964 : {
965 0 : int ret = slice_del(z);
966 0 : if (ret < 0) return ret;
967 : }
968 0 : return 1;
969 : }
970 :
971 0 : static int r_special_noun_endings(struct SN_env * z) {
972 : int among_var;
973 : {
974 : int v_1;
975 0 : if (z->c < ((SN_local *)z)->i_p1) return 0;
976 0 : v_1 = z->lb; z->lb = ((SN_local *)z)->i_p1;
977 0 : z->ket = z->c;
978 0 : 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 0 : among_var = find_among_b(z, a_3, 12, 0);
980 0 : if (!among_var) { z->lb = v_1; return 0; }
981 0 : z->bra = z->c;
982 0 : z->lb = v_1;
983 : }
984 0 : switch (among_var) {
985 0 : case 1:
986 : {
987 0 : int ret = slice_from_s(z, 4, s_1);
988 0 : if (ret < 0) return ret;
989 : }
990 0 : break;
991 0 : case 2:
992 : {
993 0 : int ret = slice_from_s(z, 4, s_2);
994 0 : if (ret < 0) return ret;
995 : }
996 0 : break;
997 0 : case 3:
998 : {
999 0 : int ret = slice_from_s(z, 4, s_3);
1000 0 : if (ret < 0) return ret;
1001 : }
1002 0 : break;
1003 : }
1004 0 : return 1;
1005 : }
1006 :
1007 0 : static int r_case_ending(struct SN_env * z) {
1008 : int among_var;
1009 : {
1010 : int v_1;
1011 0 : if (z->c < ((SN_local *)z)->i_p1) return 0;
1012 0 : v_1 = z->lb; z->lb = ((SN_local *)z)->i_p1;
1013 0 : z->ket = z->c;
1014 0 : 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 0 : among_var = find_among_b(z, a_4, 10, 0);
1016 0 : if (!among_var) { z->lb = v_1; return 0; }
1017 0 : z->bra = z->c;
1018 0 : z->lb = v_1;
1019 : }
1020 0 : switch (among_var) {
1021 0 : case 1:
1022 : do {
1023 0 : int v_2 = z->l - z->c;
1024 0 : if (in_grouping_b_U(z, g_RV, 97, 117, 0)) goto lab0;
1025 0 : break;
1026 0 : lab0:
1027 0 : z->c = z->l - v_2;
1028 : {
1029 0 : int ret = r_LONGV(z);
1030 0 : if (ret <= 0) return ret;
1031 : }
1032 : } while (0);
1033 0 : break;
1034 0 : case 2:
1035 : {
1036 0 : int v_3 = z->l - z->c;
1037 : {
1038 0 : int ret = skip_b_utf8(z->p, z->c, z->lb, 4);
1039 0 : if (ret < 0) return 0;
1040 0 : z->c = ret;
1041 : }
1042 0 : z->c = z->l - v_3;
1043 : }
1044 0 : break;
1045 : }
1046 : {
1047 0 : int ret = slice_del(z);
1048 0 : if (ret < 0) return ret;
1049 : }
1050 0 : return 1;
1051 : }
1052 :
1053 0 : static int r_plural_three_first_cases(struct SN_env * z) {
1054 : int among_var;
1055 : {
1056 : int v_1;
1057 0 : if (z->c < ((SN_local *)z)->i_p1) return 0;
1058 0 : v_1 = z->lb; z->lb = ((SN_local *)z)->i_p1;
1059 0 : z->ket = z->c;
1060 0 : if (z->c <= z->lb || (z->p[z->c - 1] != 100 && z->p[z->c - 1] != 101)) { z->lb = v_1; return 0; }
1061 0 : among_var = find_among_b(z, a_6, 7, 0);
1062 0 : if (!among_var) { z->lb = v_1; return 0; }
1063 0 : z->bra = z->c;
1064 0 : z->lb = v_1;
1065 : }
1066 0 : switch (among_var) {
1067 0 : case 1:
1068 : {
1069 0 : int ret = slice_from_s(z, 3, s_4);
1070 0 : if (ret < 0) return ret;
1071 : }
1072 0 : break;
1073 0 : case 2:
1074 : {
1075 0 : int v_2 = z->l - z->c;
1076 : {
1077 0 : int ret = r_LONGV(z);
1078 0 : if (ret == 0) goto lab0;
1079 0 : if (ret < 0) return ret;
1080 : }
1081 0 : return 0;
1082 0 : lab0:
1083 0 : z->c = z->l - v_2;
1084 : }
1085 : {
1086 0 : int ret = slice_del(z);
1087 0 : if (ret < 0) return ret;
1088 : }
1089 0 : break;
1090 0 : case 3:
1091 : do {
1092 0 : int v_3 = z->l - z->c;
1093 : {
1094 0 : int v_4 = z->l - z->c;
1095 : {
1096 0 : int ret = skip_b_utf8(z->p, z->c, z->lb, 4);
1097 0 : if (ret < 0) goto lab1;
1098 0 : z->c = ret;
1099 : }
1100 0 : z->c = z->l - v_4;
1101 : }
1102 0 : if (z->c <= z->lb || (z->p[z->c - 1] != 115 && z->p[z->c - 1] != 116)) among_var = 2; else
1103 0 : among_var = find_among_b(z, a_5, 5, 0);
1104 : switch (among_var) {
1105 0 : case 1:
1106 : {
1107 0 : int ret = slice_from_s(z, 1, s_5);
1108 0 : if (ret < 0) return ret;
1109 : }
1110 0 : break;
1111 0 : case 2:
1112 : {
1113 0 : int ret = slice_del(z);
1114 0 : if (ret < 0) return ret;
1115 : }
1116 0 : break;
1117 : }
1118 0 : break;
1119 0 : lab1:
1120 0 : z->c = z->l - v_3;
1121 : {
1122 0 : int ret = slice_from_s(z, 1, s_6);
1123 0 : if (ret < 0) return ret;
1124 : }
1125 : } while (0);
1126 0 : break;
1127 0 : case 4:
1128 : do {
1129 0 : int v_5 = z->l - z->c;
1130 0 : if (in_grouping_b_U(z, g_RV, 97, 117, 0)) goto lab2;
1131 0 : break;
1132 0 : lab2:
1133 0 : z->c = z->l - v_5;
1134 : {
1135 0 : int ret = r_LONGV(z);
1136 0 : if (ret <= 0) return ret;
1137 : }
1138 : } while (0);
1139 : {
1140 0 : int ret = slice_del(z);
1141 0 : if (ret < 0) return ret;
1142 : }
1143 0 : break;
1144 : }
1145 0 : return 1;
1146 : }
1147 :
1148 0 : static int r_nu(struct SN_env * z) {
1149 : {
1150 : int v_1;
1151 0 : if (z->c < ((SN_local *)z)->i_p1) return 0;
1152 0 : v_1 = z->lb; z->lb = ((SN_local *)z)->i_p1;
1153 0 : z->ket = z->c;
1154 0 : 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 0 : if (!find_among_b(z, a_7, 4, 0)) { z->lb = v_1; return 0; }
1156 0 : z->bra = z->c;
1157 0 : z->lb = v_1;
1158 : }
1159 : {
1160 0 : int ret = slice_del(z);
1161 0 : if (ret < 0) return ret;
1162 : }
1163 0 : return 1;
1164 : }
1165 :
1166 0 : static int r_undouble_kpt(struct SN_env * z) {
1167 : int among_var;
1168 0 : if (in_grouping_b_U(z, g_V1, 97, 252, 0)) return 0;
1169 0 : if (((SN_local *)z)->i_p1 > z->c) return 0;
1170 0 : z->ket = z->c;
1171 0 : if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1116160 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
1172 0 : among_var = find_among_b(z, a_8, 3, 0);
1173 0 : if (!among_var) return 0;
1174 0 : z->bra = z->c;
1175 0 : switch (among_var) {
1176 0 : case 1:
1177 : {
1178 0 : int ret = slice_from_s(z, 1, s_7);
1179 0 : if (ret < 0) return ret;
1180 : }
1181 0 : break;
1182 0 : case 2:
1183 : {
1184 0 : int ret = slice_from_s(z, 1, s_8);
1185 0 : if (ret < 0) return ret;
1186 : }
1187 0 : break;
1188 0 : case 3:
1189 : {
1190 0 : int ret = slice_from_s(z, 1, s_9);
1191 0 : if (ret < 0) return ret;
1192 : }
1193 0 : break;
1194 : }
1195 0 : return 1;
1196 : }
1197 :
1198 0 : static int r_degrees(struct SN_env * z) {
1199 : int among_var;
1200 : {
1201 : int v_1;
1202 0 : if (z->c < ((SN_local *)z)->i_p1) return 0;
1203 0 : v_1 = z->lb; z->lb = ((SN_local *)z)->i_p1;
1204 0 : z->ket = z->c;
1205 0 : 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 0 : among_var = find_among_b(z, a_9, 3, 0);
1207 0 : if (!among_var) { z->lb = v_1; return 0; }
1208 0 : z->bra = z->c;
1209 0 : z->lb = v_1;
1210 : }
1211 0 : switch (among_var) {
1212 0 : case 1:
1213 0 : if (in_grouping_b_U(z, g_RV, 97, 117, 0)) return 0;
1214 : {
1215 0 : int ret = slice_del(z);
1216 0 : if (ret < 0) return ret;
1217 : }
1218 0 : break;
1219 0 : case 2:
1220 : {
1221 0 : int ret = slice_del(z);
1222 0 : if (ret < 0) return ret;
1223 : }
1224 0 : break;
1225 : }
1226 0 : return 1;
1227 : }
1228 :
1229 0 : static int r_substantive(struct SN_env * z) {
1230 : {
1231 0 : int v_1 = z->l - z->c;
1232 : {
1233 0 : int ret = r_special_noun_endings(z);
1234 0 : if (ret < 0) return ret;
1235 : }
1236 0 : z->c = z->l - v_1;
1237 : }
1238 : {
1239 0 : int v_2 = z->l - z->c;
1240 : {
1241 0 : int ret = r_case_ending(z);
1242 0 : if (ret < 0) return ret;
1243 : }
1244 0 : z->c = z->l - v_2;
1245 : }
1246 : {
1247 0 : int v_3 = z->l - z->c;
1248 : {
1249 0 : int ret = r_plural_three_first_cases(z);
1250 0 : if (ret < 0) return ret;
1251 : }
1252 0 : z->c = z->l - v_3;
1253 : }
1254 : {
1255 0 : int v_4 = z->l - z->c;
1256 : {
1257 0 : int ret = r_degrees(z);
1258 0 : if (ret < 0) return ret;
1259 : }
1260 0 : z->c = z->l - v_4;
1261 : }
1262 : {
1263 0 : int v_5 = z->l - z->c;
1264 : {
1265 0 : int ret = r_i_plural(z);
1266 0 : if (ret < 0) return ret;
1267 : }
1268 0 : z->c = z->l - v_5;
1269 : }
1270 : {
1271 0 : int v_6 = z->l - z->c;
1272 : {
1273 0 : int ret = r_nu(z);
1274 0 : if (ret < 0) return ret;
1275 : }
1276 0 : z->c = z->l - v_6;
1277 : }
1278 0 : return 1;
1279 : }
1280 :
1281 0 : static int r_verb_exceptions(struct SN_env * z) {
1282 : int among_var;
1283 0 : z->bra = z->c;
1284 0 : among_var = find_among(z, a_10, 290, 0);
1285 0 : if (!among_var) return 0;
1286 0 : z->ket = z->c;
1287 0 : if (z->c < z->l) return 0;
1288 0 : switch (among_var) {
1289 0 : case 1:
1290 : {
1291 0 : int ret = slice_from_s(z, 3, s_10);
1292 0 : if (ret < 0) return ret;
1293 : }
1294 0 : break;
1295 0 : case 2:
1296 : {
1297 0 : int ret = slice_from_s(z, 3, s_11);
1298 0 : if (ret < 0) return ret;
1299 : }
1300 0 : break;
1301 0 : case 3:
1302 : {
1303 0 : int ret = slice_from_s(z, 5, s_12);
1304 0 : if (ret < 0) return ret;
1305 : }
1306 0 : break;
1307 0 : case 4:
1308 : {
1309 0 : int ret = slice_from_s(z, 5, s_13);
1310 0 : if (ret < 0) return ret;
1311 : }
1312 0 : break;
1313 0 : case 5:
1314 : {
1315 0 : int ret = slice_from_s(z, 5, s_14);
1316 0 : if (ret < 0) return ret;
1317 : }
1318 0 : break;
1319 0 : case 6:
1320 : {
1321 0 : int ret = slice_from_s(z, 4, s_15);
1322 0 : if (ret < 0) return ret;
1323 : }
1324 0 : break;
1325 0 : case 7:
1326 : {
1327 0 : int ret = slice_from_s(z, 3, s_16);
1328 0 : if (ret < 0) return ret;
1329 : }
1330 0 : break;
1331 0 : case 8:
1332 : {
1333 0 : int ret = slice_from_s(z, 6, s_17);
1334 0 : if (ret < 0) return ret;
1335 : }
1336 0 : break;
1337 0 : case 9:
1338 : {
1339 0 : int ret = slice_from_s(z, 5, s_18);
1340 0 : if (ret < 0) return ret;
1341 : }
1342 0 : break;
1343 0 : case 10:
1344 : {
1345 0 : int ret = slice_from_s(z, 3, s_19);
1346 0 : if (ret < 0) return ret;
1347 : }
1348 0 : break;
1349 0 : case 11:
1350 : {
1351 0 : int ret = slice_from_s(z, 6, s_20);
1352 0 : if (ret < 0) return ret;
1353 : }
1354 0 : break;
1355 0 : case 12:
1356 : {
1357 0 : int ret = slice_from_s(z, 7, s_21);
1358 0 : if (ret < 0) return ret;
1359 : }
1360 0 : break;
1361 0 : case 13:
1362 : {
1363 0 : int ret = slice_from_s(z, 7, s_22);
1364 0 : if (ret < 0) return ret;
1365 : }
1366 0 : break;
1367 0 : case 14:
1368 : {
1369 0 : int ret = slice_from_s(z, 4, s_23);
1370 0 : if (ret < 0) return ret;
1371 : }
1372 0 : break;
1373 0 : case 15:
1374 : {
1375 0 : int ret = slice_from_s(z, 5, s_24);
1376 0 : if (ret < 0) return ret;
1377 : }
1378 0 : break;
1379 0 : case 16:
1380 : {
1381 0 : int ret = slice_from_s(z, 4, s_25);
1382 0 : if (ret < 0) return ret;
1383 : }
1384 0 : break;
1385 0 : case 17:
1386 : {
1387 0 : int ret = slice_from_s(z, 4, s_26);
1388 0 : if (ret < 0) return ret;
1389 : }
1390 0 : break;
1391 0 : case 18:
1392 : {
1393 0 : int ret = slice_from_s(z, 5, s_27);
1394 0 : if (ret < 0) return ret;
1395 : }
1396 0 : break;
1397 : }
1398 0 : return 1;
1399 : }
1400 :
1401 0 : extern int estonian_UTF_8_stem(struct SN_env * z) {
1402 : {
1403 0 : int v_1 = z->c;
1404 : {
1405 0 : int ret = r_verb_exceptions(z);
1406 0 : if (ret == 0) goto lab0;
1407 0 : if (ret < 0) return ret;
1408 : }
1409 0 : return 0;
1410 0 : lab0:
1411 0 : z->c = v_1;
1412 : }
1413 : {
1414 0 : int v_2 = z->c;
1415 : {
1416 0 : int ret = r_mark_regions(z);
1417 0 : if (ret < 0) return ret;
1418 : }
1419 0 : z->c = v_2;
1420 : }
1421 0 : z->lb = z->c; z->c = z->l;
1422 : {
1423 0 : int v_3 = z->l - z->c;
1424 : {
1425 0 : int ret = r_emphasis(z);
1426 0 : if (ret < 0) return ret;
1427 : }
1428 0 : z->c = z->l - v_3;
1429 : }
1430 : {
1431 0 : int v_4 = z->l - z->c;
1432 : do {
1433 0 : int v_5 = z->l - z->c;
1434 : {
1435 0 : int ret = r_verb(z);
1436 0 : if (ret == 0) goto lab2;
1437 0 : if (ret < 0) return ret;
1438 : }
1439 0 : break;
1440 0 : lab2:
1441 0 : z->c = z->l - v_5;
1442 : {
1443 0 : int ret = r_substantive(z);
1444 0 : if (ret < 0) return ret;
1445 : }
1446 : } while (0);
1447 0 : z->c = z->l - v_4;
1448 : }
1449 : {
1450 0 : int v_6 = z->l - z->c;
1451 : {
1452 0 : int ret = r_undouble_kpt(z);
1453 0 : if (ret < 0) return ret;
1454 : }
1455 0 : z->c = z->l - v_6;
1456 : }
1457 0 : z->c = z->lb;
1458 0 : return 1;
1459 : }
1460 :
1461 0 : extern struct SN_env * estonian_UTF_8_create_env(void) {
1462 0 : struct SN_env * z = SN_new_env(sizeof(SN_local));
1463 0 : if (z) {
1464 0 : ((SN_local *)z)->i_p1 = 0;
1465 : }
1466 0 : return z;
1467 : }
1468 :
1469 0 : extern void estonian_UTF_8_close_env(struct SN_env * z) {
1470 0 : SN_delete_env(z);
1471 0 : }
1472 :
|