Branch data 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 [ # # ]: 0 : }
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 [ # # ]: 0 : }
851 : 0 : ((SN_local *)z)->i_p1 = z->c;
852 : 0 : return 1;
853 : 0 : }
854 : :
855 : 0 : static int r_emphasis(struct SN_env * z) {
856 : 0 : int among_var;
857 : : {
858 : 0 : 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 [ # # ]: 0 : }
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 [ # # ]: 0 : }
875 : 0 : z->c = z->l - v_2;
876 [ # # ]: 0 : }
877 [ # # # ]: 0 : switch (among_var) {
878 : : 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 [ # # # ]: 0 : }
890 : 0 : return 0;
891 : : lab0:
892 : 0 : z->c = z->l - v_4;
893 [ # # ]: 0 : }
894 [ # # ]: 0 : }
895 : : {
896 : 0 : int ret = slice_del(z);
897 [ # # ]: 0 : if (ret < 0) return ret;
898 [ # # ]: 0 : }
899 : 0 : break;
900 : : 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 [ # # ]: 0 : }
906 : 0 : break;
907 : : }
908 : 0 : return 1;
909 : 0 : }
910 : :
911 : 0 : static int r_verb(struct SN_env * z) {
912 : 0 : int among_var;
913 : : {
914 : 0 : 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 [ # # ]: 0 : }
924 [ # # # # ]: 0 : switch (among_var) {
925 : : case 1:
926 : : {
927 : 0 : int ret = slice_del(z);
928 [ # # ]: 0 : if (ret < 0) return ret;
929 [ # # ]: 0 : }
930 : 0 : break;
931 : : case 2:
932 : : {
933 : 0 : int ret = slice_from_s(z, 1, s_0);
934 [ # # ]: 0 : if (ret < 0) return ret;
935 [ # # ]: 0 : }
936 : 0 : break;
937 : : 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 [ # # ]: 0 : }
943 : 0 : break;
944 : : }
945 : 0 : return 1;
946 : 0 : }
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 : 0 : 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 [ # # ]: 0 : }
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 [ # # ]: 0 : }
968 : 0 : return 1;
969 : 0 : }
970 : :
971 : 0 : static int r_special_noun_endings(struct SN_env * z) {
972 : 0 : int among_var;
973 : : {
974 : 0 : 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 [ # # ]: 0 : }
984 [ # # # # ]: 0 : switch (among_var) {
985 : : case 1:
986 : : {
987 : 0 : int ret = slice_from_s(z, 4, s_1);
988 [ # # ]: 0 : if (ret < 0) return ret;
989 [ # # ]: 0 : }
990 : 0 : break;
991 : : case 2:
992 : : {
993 : 0 : int ret = slice_from_s(z, 4, s_2);
994 [ # # ]: 0 : if (ret < 0) return ret;
995 [ # # ]: 0 : }
996 : 0 : break;
997 : : case 3:
998 : : {
999 : 0 : int ret = slice_from_s(z, 4, s_3);
1000 [ # # ]: 0 : if (ret < 0) return ret;
1001 [ # # ]: 0 : }
1002 : 0 : break;
1003 : : }
1004 : 0 : return 1;
1005 : 0 : }
1006 : :
1007 : 0 : static int r_case_ending(struct SN_env * z) {
1008 : 0 : int among_var;
1009 : : {
1010 : 0 : 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 [ # # ]: 0 : }
1020 [ # # # ]: 0 : switch (among_var) {
1021 : : case 1:
1022 : 0 : 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 : : 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 [ # # ]: 0 : }
1032 [ # # # ]: 0 : } while (0);
1033 : 0 : break;
1034 : : 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 [ # # ]: 0 : }
1042 : 0 : z->c = z->l - v_3;
1043 [ # # ]: 0 : }
1044 : 0 : break;
1045 : : }
1046 : : {
1047 : 0 : int ret = slice_del(z);
1048 [ # # ]: 0 : if (ret < 0) return ret;
1049 [ # # ]: 0 : }
1050 : 0 : return 1;
1051 : 0 : }
1052 : :
1053 : 0 : static int r_plural_three_first_cases(struct SN_env * z) {
1054 : 0 : int among_var;
1055 : : {
1056 : 0 : 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 [ # # ]: 0 : }
1066 [ # # # # : 0 : switch (among_var) {
# ]
1067 : : case 1:
1068 : : {
1069 : 0 : int ret = slice_from_s(z, 3, s_4);
1070 [ # # ]: 0 : if (ret < 0) return ret;
1071 [ # # ]: 0 : }
1072 : 0 : break;
1073 : : 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 [ # # # ]: 0 : }
1081 : 0 : return 0;
1082 : : lab0:
1083 : 0 : z->c = z->l - v_2;
1084 [ # # ]: 0 : }
1085 : : {
1086 : 0 : int ret = slice_del(z);
1087 [ # # ]: 0 : if (ret < 0) return ret;
1088 [ # # ]: 0 : }
1089 : 0 : break;
1090 : : case 3:
1091 : 0 : 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 [ # # ]: 0 : }
1100 : 0 : z->c = z->l - v_4;
1101 [ # # # ]: 0 : }
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 [ # # # ]: 0 : switch (among_var) {
1105 : : case 1:
1106 : : {
1107 : 0 : int ret = slice_from_s(z, 1, s_5);
1108 [ # # ]: 0 : if (ret < 0) return ret;
1109 [ # # ]: 0 : }
1110 : 0 : break;
1111 : : case 2:
1112 : : {
1113 : 0 : int ret = slice_del(z);
1114 [ # # ]: 0 : if (ret < 0) return ret;
1115 [ # # ]: 0 : }
1116 : 0 : break;
1117 : : }
1118 : 0 : break;
1119 : : 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 [ # # ]: 0 : }
1125 [ # # # ]: 0 : } while (0);
1126 : 0 : break;
1127 : : case 4:
1128 : 0 : 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 : : 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 [ # # ]: 0 : }
1138 [ # # # ]: 0 : } while (0);
1139 : : {
1140 : 0 : int ret = slice_del(z);
1141 [ # # ]: 0 : if (ret < 0) return ret;
1142 [ # # ]: 0 : }
1143 : 0 : break;
1144 : : }
1145 : 0 : return 1;
1146 : 0 : }
1147 : :
1148 : 0 : static int r_nu(struct SN_env * z) {
1149 : : {
1150 : 0 : 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 [ # # ]: 0 : }
1159 : : {
1160 : 0 : int ret = slice_del(z);
1161 [ # # ]: 0 : if (ret < 0) return ret;
1162 [ # # ]: 0 : }
1163 : 0 : return 1;
1164 : 0 : }
1165 : :
1166 : 0 : static int r_undouble_kpt(struct SN_env * z) {
1167 : 0 : 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 : : case 1:
1177 : : {
1178 : 0 : int ret = slice_from_s(z, 1, s_7);
1179 [ # # ]: 0 : if (ret < 0) return ret;
1180 [ # # ]: 0 : }
1181 : 0 : break;
1182 : : case 2:
1183 : : {
1184 : 0 : int ret = slice_from_s(z, 1, s_8);
1185 [ # # ]: 0 : if (ret < 0) return ret;
1186 [ # # ]: 0 : }
1187 : 0 : break;
1188 : : case 3:
1189 : : {
1190 : 0 : int ret = slice_from_s(z, 1, s_9);
1191 [ # # ]: 0 : if (ret < 0) return ret;
1192 [ # # ]: 0 : }
1193 : 0 : break;
1194 : : }
1195 : 0 : return 1;
1196 : 0 : }
1197 : :
1198 : 0 : static int r_degrees(struct SN_env * z) {
1199 : 0 : int among_var;
1200 : : {
1201 : 0 : 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 [ # # ]: 0 : }
1211 [ # # # ]: 0 : switch (among_var) {
1212 : : 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 [ # # ]: 0 : }
1218 : 0 : break;
1219 : : case 2:
1220 : : {
1221 : 0 : int ret = slice_del(z);
1222 [ # # ]: 0 : if (ret < 0) return ret;
1223 [ # # ]: 0 : }
1224 : 0 : break;
1225 : : }
1226 : 0 : return 1;
1227 : 0 : }
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 [ # # ]: 0 : }
1236 : 0 : z->c = z->l - v_1;
1237 [ # # ]: 0 : }
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 [ # # ]: 0 : }
1244 : 0 : z->c = z->l - v_2;
1245 [ # # ]: 0 : }
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 [ # # ]: 0 : }
1252 : 0 : z->c = z->l - v_3;
1253 [ # # ]: 0 : }
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 [ # # ]: 0 : }
1260 : 0 : z->c = z->l - v_4;
1261 [ # # ]: 0 : }
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 [ # # ]: 0 : }
1268 : 0 : z->c = z->l - v_5;
1269 [ # # ]: 0 : }
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 [ # # ]: 0 : }
1276 : 0 : z->c = z->l - v_6;
1277 [ # # ]: 0 : }
1278 : 0 : return 1;
1279 : 0 : }
1280 : :
1281 : 0 : static int r_verb_exceptions(struct SN_env * z) {
1282 : 0 : 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 : : case 1:
1290 : : {
1291 : 0 : int ret = slice_from_s(z, 3, s_10);
1292 [ # # ]: 0 : if (ret < 0) return ret;
1293 [ # # ]: 0 : }
1294 : 0 : break;
1295 : : case 2:
1296 : : {
1297 : 0 : int ret = slice_from_s(z, 3, s_11);
1298 [ # # ]: 0 : if (ret < 0) return ret;
1299 [ # # ]: 0 : }
1300 : 0 : break;
1301 : : case 3:
1302 : : {
1303 : 0 : int ret = slice_from_s(z, 5, s_12);
1304 [ # # ]: 0 : if (ret < 0) return ret;
1305 [ # # ]: 0 : }
1306 : 0 : break;
1307 : : case 4:
1308 : : {
1309 : 0 : int ret = slice_from_s(z, 5, s_13);
1310 [ # # ]: 0 : if (ret < 0) return ret;
1311 [ # # ]: 0 : }
1312 : 0 : break;
1313 : : case 5:
1314 : : {
1315 : 0 : int ret = slice_from_s(z, 5, s_14);
1316 [ # # ]: 0 : if (ret < 0) return ret;
1317 [ # # ]: 0 : }
1318 : 0 : break;
1319 : : case 6:
1320 : : {
1321 : 0 : int ret = slice_from_s(z, 4, s_15);
1322 [ # # ]: 0 : if (ret < 0) return ret;
1323 [ # # ]: 0 : }
1324 : 0 : break;
1325 : : case 7:
1326 : : {
1327 : 0 : int ret = slice_from_s(z, 3, s_16);
1328 [ # # ]: 0 : if (ret < 0) return ret;
1329 [ # # ]: 0 : }
1330 : 0 : break;
1331 : : case 8:
1332 : : {
1333 : 0 : int ret = slice_from_s(z, 6, s_17);
1334 [ # # ]: 0 : if (ret < 0) return ret;
1335 [ # # ]: 0 : }
1336 : 0 : break;
1337 : : case 9:
1338 : : {
1339 : 0 : int ret = slice_from_s(z, 5, s_18);
1340 [ # # ]: 0 : if (ret < 0) return ret;
1341 [ # # ]: 0 : }
1342 : 0 : break;
1343 : : case 10:
1344 : : {
1345 : 0 : int ret = slice_from_s(z, 3, s_19);
1346 [ # # ]: 0 : if (ret < 0) return ret;
1347 [ # # ]: 0 : }
1348 : 0 : break;
1349 : : case 11:
1350 : : {
1351 : 0 : int ret = slice_from_s(z, 6, s_20);
1352 [ # # ]: 0 : if (ret < 0) return ret;
1353 [ # # ]: 0 : }
1354 : 0 : break;
1355 : : case 12:
1356 : : {
1357 : 0 : int ret = slice_from_s(z, 7, s_21);
1358 [ # # ]: 0 : if (ret < 0) return ret;
1359 [ # # ]: 0 : }
1360 : 0 : break;
1361 : : case 13:
1362 : : {
1363 : 0 : int ret = slice_from_s(z, 7, s_22);
1364 [ # # ]: 0 : if (ret < 0) return ret;
1365 [ # # ]: 0 : }
1366 : 0 : break;
1367 : : case 14:
1368 : : {
1369 : 0 : int ret = slice_from_s(z, 4, s_23);
1370 [ # # ]: 0 : if (ret < 0) return ret;
1371 [ # # ]: 0 : }
1372 : 0 : break;
1373 : : case 15:
1374 : : {
1375 : 0 : int ret = slice_from_s(z, 5, s_24);
1376 [ # # ]: 0 : if (ret < 0) return ret;
1377 [ # # ]: 0 : }
1378 : 0 : break;
1379 : : case 16:
1380 : : {
1381 : 0 : int ret = slice_from_s(z, 4, s_25);
1382 [ # # ]: 0 : if (ret < 0) return ret;
1383 [ # # ]: 0 : }
1384 : 0 : break;
1385 : : case 17:
1386 : : {
1387 : 0 : int ret = slice_from_s(z, 4, s_26);
1388 [ # # ]: 0 : if (ret < 0) return ret;
1389 [ # # ]: 0 : }
1390 : 0 : break;
1391 : : case 18:
1392 : : {
1393 : 0 : int ret = slice_from_s(z, 5, s_27);
1394 [ # # ]: 0 : if (ret < 0) return ret;
1395 [ # # ]: 0 : }
1396 : 0 : break;
1397 : : }
1398 : 0 : return 1;
1399 : 0 : }
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 [ # # # ]: 0 : }
1409 : 0 : return 0;
1410 : : lab0:
1411 : 0 : z->c = v_1;
1412 [ # # ]: 0 : }
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 [ # # ]: 0 : }
1419 : 0 : z->c = v_2;
1420 [ # # ]: 0 : }
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 [ # # ]: 0 : }
1428 : 0 : z->c = z->l - v_3;
1429 [ # # ]: 0 : }
1430 : : {
1431 : 0 : int v_4 = z->l - z->c;
1432 : 0 : 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 [ # # # ]: 0 : }
1439 : 0 : break;
1440 : : 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 [ # # ]: 0 : }
1446 [ # # # ]: 0 : } while (0);
1447 : 0 : z->c = z->l - v_4;
1448 [ # # ]: 0 : }
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 [ # # ]: 0 : }
1455 : 0 : z->c = z->l - v_6;
1456 [ # # ]: 0 : }
1457 : 0 : z->c = z->lb;
1458 : 0 : return 1;
1459 : 0 : }
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 : 0 : }
1466 : 0 : return z;
1467 : 0 : }
1468 : :
1469 : 0 : extern void estonian_UTF_8_close_env(struct SN_env * z) {
1470 : 0 : SN_delete_env(z);
1471 : 0 : }
1472 : :
|