Line data Source code
1 : /* Generated from dutch.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
2 :
3 : #include "stem_UTF_8_dutch.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_p2;
12 : int i_p1;
13 : unsigned char b_GE_removed;
14 : symbol * s_ch;
15 : };
16 :
17 : typedef struct SN_local SN_local;
18 :
19 : #ifdef __cplusplus
20 : extern "C" {
21 : #endif
22 : extern int dutch_UTF_8_stem(struct SN_env * z);
23 : #ifdef __cplusplus
24 : }
25 : #endif
26 :
27 : static int r_measure(struct SN_env * z);
28 : static int r_Lose_infix(struct SN_env * z);
29 : static int r_Lose_prefix(struct SN_env * z);
30 : static int r_Step_1c(struct SN_env * z);
31 : static int r_Step_6(struct SN_env * z);
32 : static int r_Step_7(struct SN_env * z);
33 : static int r_Step_4(struct SN_env * z);
34 : static int r_Step_3(struct SN_env * z);
35 : static int r_Step_2(struct SN_env * z);
36 : static int r_Step_1(struct SN_env * z);
37 : static int r_lengthen_V(struct SN_env * z);
38 : static int r_VX(struct SN_env * z);
39 : static int r_V(struct SN_env * z);
40 : static int r_C(struct SN_env * z);
41 : static int r_R2(struct SN_env * z);
42 : static int r_R1(struct SN_env * z);
43 :
44 : static const symbol s_0[] = { 'i', 'j' };
45 : static const symbol s_1[] = { 'i', 'j' };
46 : static const symbol s_2[] = { 'i', 'j' };
47 : static const symbol s_3[] = { 'e', 0xC3, 0xAB, 'e' };
48 : static const symbol s_4[] = { 'i', 'e', 'e' };
49 : static const symbol s_5[] = { 'i', 'e' };
50 : static const symbol s_6[] = { 'a', 'r' };
51 : static const symbol s_7[] = { 'e', 'r' };
52 : static const symbol s_8[] = { 'e' };
53 : static const symbol s_9[] = { 0xC3, 0xA9 };
54 : static const symbol s_10[] = { 'a', 'u' };
55 : static const symbol s_11[] = { 'h', 'e', 'd' };
56 : static const symbol s_12[] = { 'h', 'e', 'i', 'd' };
57 : static const symbol s_13[] = { 'n', 'd' };
58 : static const symbol s_14[] = { 'n', 'd' };
59 : static const symbol s_15[] = { '\'', 't' };
60 : static const symbol s_16[] = { 'e', 't' };
61 : static const symbol s_17[] = { 'r', 'n', 't' };
62 : static const symbol s_18[] = { 'r', 'n' };
63 : static const symbol s_19[] = { 'i', 'n', 'k' };
64 : static const symbol s_20[] = { 'i', 'n', 'g' };
65 : static const symbol s_21[] = { 'm', 'p' };
66 : static const symbol s_22[] = { 'm' };
67 : static const symbol s_23[] = { 'g' };
68 : static const symbol s_24[] = { 'l', 'i', 'j', 'k' };
69 : static const symbol s_25[] = { 'i', 's', 'c', 'h' };
70 : static const symbol s_26[] = { 't' };
71 : static const symbol s_27[] = { 's' };
72 : static const symbol s_28[] = { 'r' };
73 : static const symbol s_29[] = { 'l' };
74 : static const symbol s_30[] = { 'e', 'n' };
75 : static const symbol s_31[] = { 'i', 'e', 'f' };
76 : static const symbol s_32[] = { 'e', 'e', 'r' };
77 : static const symbol s_33[] = { 'r' };
78 : static const symbol s_34[] = { 'i', 'l', 'd' };
79 : static const symbol s_35[] = { 'e', 'r' };
80 : static const symbol s_36[] = { 'a', 'a', 'r' };
81 : static const symbol s_37[] = { 'f' };
82 : static const symbol s_38[] = { 'g' };
83 : static const symbol s_39[] = { 't' };
84 : static const symbol s_40[] = { 'd' };
85 : static const symbol s_41[] = { 'i', 'e' };
86 : static const symbol s_42[] = { 'e', 'e', 'r' };
87 : static const symbol s_43[] = { 'n' };
88 : static const symbol s_44[] = { 'l' };
89 : static const symbol s_45[] = { 'r' };
90 : static const symbol s_46[] = { 't', 'e', 'e', 'r' };
91 : static const symbol s_47[] = { 'l', 'i', 'j', 'k' };
92 : static const symbol s_48[] = { 'i', 'n', 'n' };
93 : static const symbol s_49[] = { 'k' };
94 : static const symbol s_50[] = { 'f' };
95 : static const symbol s_51[] = { 'p' };
96 : static const symbol s_52[] = { 'b' };
97 : static const symbol s_53[] = { 'c' };
98 : static const symbol s_54[] = { 'd' };
99 : static const symbol s_55[] = { 'f' };
100 : static const symbol s_56[] = { 'g' };
101 : static const symbol s_57[] = { 'h' };
102 : static const symbol s_58[] = { 'j' };
103 : static const symbol s_59[] = { 'k' };
104 : static const symbol s_60[] = { 'l' };
105 : static const symbol s_61[] = { 'm' };
106 : static const symbol s_62[] = { 'n' };
107 : static const symbol s_63[] = { 'p' };
108 : static const symbol s_64[] = { 'q' };
109 : static const symbol s_65[] = { 'r' };
110 : static const symbol s_66[] = { 's' };
111 : static const symbol s_67[] = { 't' };
112 : static const symbol s_68[] = { 'v' };
113 : static const symbol s_69[] = { 'w' };
114 : static const symbol s_70[] = { 'x' };
115 : static const symbol s_71[] = { 'z' };
116 : static const symbol s_72[] = { 'i', 'n' };
117 : static const symbol s_73[] = { 'n' };
118 : static const symbol s_74[] = { 'e', 'n' };
119 : static const symbol s_75[] = { 'g', 'e' };
120 : static const symbol s_76[] = { 'i', 'j' };
121 : static const symbol s_77[] = { 'i', 'j' };
122 : static const symbol s_78[] = { 'e' };
123 : static const symbol s_79[] = { 'i' };
124 : static const symbol s_80[] = { 'g', 'e' };
125 : static const symbol s_81[] = { 'i', 'j' };
126 : static const symbol s_82[] = { 'i', 'j' };
127 : static const symbol s_83[] = { 'e' };
128 : static const symbol s_84[] = { 'i' };
129 : static const symbol s_85[] = { 'i', 'j' };
130 : static const symbol s_86[] = { 'i', 'j' };
131 :
132 : static const symbol s_0_0[1] = { 'a' };
133 : static const symbol s_0_1[1] = { 'e' };
134 : static const symbol s_0_2[1] = { 'o' };
135 : static const symbol s_0_3[1] = { 'u' };
136 : static const symbol s_0_4[2] = { 0xC3, 0xA0 };
137 : static const symbol s_0_5[2] = { 0xC3, 0xA1 };
138 : static const symbol s_0_6[2] = { 0xC3, 0xA2 };
139 : static const symbol s_0_7[2] = { 0xC3, 0xA4 };
140 : static const symbol s_0_8[2] = { 0xC3, 0xA8 };
141 : static const symbol s_0_9[2] = { 0xC3, 0xA9 };
142 : static const symbol s_0_10[2] = { 0xC3, 0xAA };
143 : static const symbol s_0_11[3] = { 'e', 0xC3, 0xAB };
144 : static const symbol s_0_12[3] = { 'i', 0xC3, 0xAB };
145 : static const symbol s_0_13[2] = { 0xC3, 0xB2 };
146 : static const symbol s_0_14[2] = { 0xC3, 0xB3 };
147 : static const symbol s_0_15[2] = { 0xC3, 0xB4 };
148 : static const symbol s_0_16[2] = { 0xC3, 0xB6 };
149 : static const symbol s_0_17[2] = { 0xC3, 0xB9 };
150 : static const symbol s_0_18[2] = { 0xC3, 0xBA };
151 : static const symbol s_0_19[2] = { 0xC3, 0xBB };
152 : static const symbol s_0_20[2] = { 0xC3, 0xBC };
153 : static const struct among a_0[21] = {
154 : { 1, s_0_0, 0, 1, 0},
155 : { 1, s_0_1, 0, 2, 0},
156 : { 1, s_0_2, 0, 1, 0},
157 : { 1, s_0_3, 0, 1, 0},
158 : { 2, s_0_4, 0, 1, 0},
159 : { 2, s_0_5, 0, 1, 0},
160 : { 2, s_0_6, 0, 1, 0},
161 : { 2, s_0_7, 0, 1, 0},
162 : { 2, s_0_8, 0, 2, 0},
163 : { 2, s_0_9, 0, 2, 0},
164 : { 2, s_0_10, 0, 2, 0},
165 : { 3, s_0_11, 0, 3, 0},
166 : { 3, s_0_12, 0, 4, 0},
167 : { 2, s_0_13, 0, 1, 0},
168 : { 2, s_0_14, 0, 1, 0},
169 : { 2, s_0_15, 0, 1, 0},
170 : { 2, s_0_16, 0, 1, 0},
171 : { 2, s_0_17, 0, 1, 0},
172 : { 2, s_0_18, 0, 1, 0},
173 : { 2, s_0_19, 0, 1, 0},
174 : { 2, s_0_20, 0, 1, 0}
175 : };
176 :
177 : static const symbol s_1_0[3] = { 'n', 'd', 'e' };
178 : static const symbol s_1_1[2] = { 'e', 'n' };
179 : static const symbol s_1_2[1] = { 's' };
180 : static const symbol s_1_3[2] = { '\'', 's' };
181 : static const symbol s_1_4[2] = { 'e', 's' };
182 : static const symbol s_1_5[3] = { 'i', 'e', 's' };
183 : static const symbol s_1_6[3] = { 'a', 'u', 's' };
184 : static const symbol s_1_7[3] = { 0xC3, 0xA9, 's' };
185 : static const struct among a_1[8] = {
186 : { 3, s_1_0, 0, 8, 0},
187 : { 2, s_1_1, 0, 7, 0},
188 : { 1, s_1_2, 0, 2, 0},
189 : { 2, s_1_3, -1, 1, 0},
190 : { 2, s_1_4, -2, 4, 0},
191 : { 3, s_1_5, -1, 3, 0},
192 : { 3, s_1_6, -4, 6, 0},
193 : { 3, s_1_7, -5, 5, 0}
194 : };
195 :
196 : static const symbol s_2_0[2] = { 'd', 'e' };
197 : static const symbol s_2_1[2] = { 'g', 'e' };
198 : static const symbol s_2_2[5] = { 'i', 's', 'c', 'h', 'e' };
199 : static const symbol s_2_3[2] = { 'j', 'e' };
200 : static const symbol s_2_4[5] = { 'l', 'i', 'j', 'k', 'e' };
201 : static const symbol s_2_5[2] = { 'l', 'e' };
202 : static const symbol s_2_6[3] = { 'e', 'n', 'e' };
203 : static const symbol s_2_7[2] = { 'r', 'e' };
204 : static const symbol s_2_8[2] = { 's', 'e' };
205 : static const symbol s_2_9[2] = { 't', 'e' };
206 : static const symbol s_2_10[4] = { 'i', 'e', 'v', 'e' };
207 : static const struct among a_2[11] = {
208 : { 2, s_2_0, 0, 5, 0},
209 : { 2, s_2_1, 0, 2, 0},
210 : { 5, s_2_2, 0, 4, 0},
211 : { 2, s_2_3, 0, 1, 0},
212 : { 5, s_2_4, 0, 3, 0},
213 : { 2, s_2_5, 0, 9, 0},
214 : { 3, s_2_6, 0, 10, 0},
215 : { 2, s_2_7, 0, 8, 0},
216 : { 2, s_2_8, 0, 7, 0},
217 : { 2, s_2_9, 0, 6, 0},
218 : { 4, s_2_10, 0, 11, 0}
219 : };
220 :
221 : static const symbol s_3_0[4] = { 'h', 'e', 'i', 'd' };
222 : static const symbol s_3_1[3] = { 'f', 'i', 'e' };
223 : static const symbol s_3_2[3] = { 'g', 'i', 'e' };
224 : static const symbol s_3_3[4] = { 'a', 't', 'i', 'e' };
225 : static const symbol s_3_4[4] = { 'i', 's', 'm', 'e' };
226 : static const symbol s_3_5[3] = { 'i', 'n', 'g' };
227 : static const symbol s_3_6[4] = { 'a', 'r', 'i', 'j' };
228 : static const symbol s_3_7[4] = { 'e', 'r', 'i', 'j' };
229 : static const symbol s_3_8[3] = { 's', 'e', 'l' };
230 : static const symbol s_3_9[4] = { 'r', 'd', 'e', 'r' };
231 : static const symbol s_3_10[4] = { 's', 't', 'e', 'r' };
232 : static const symbol s_3_11[5] = { 'i', 't', 'e', 'i', 't' };
233 : static const symbol s_3_12[3] = { 'd', 's', 't' };
234 : static const symbol s_3_13[3] = { 't', 's', 't' };
235 : static const struct among a_3[14] = {
236 : { 4, s_3_0, 0, 3, 0},
237 : { 3, s_3_1, 0, 7, 0},
238 : { 3, s_3_2, 0, 8, 0},
239 : { 4, s_3_3, 0, 1, 0},
240 : { 4, s_3_4, 0, 5, 0},
241 : { 3, s_3_5, 0, 5, 0},
242 : { 4, s_3_6, 0, 6, 0},
243 : { 4, s_3_7, 0, 5, 0},
244 : { 3, s_3_8, 0, 3, 0},
245 : { 4, s_3_9, 0, 4, 0},
246 : { 4, s_3_10, 0, 3, 0},
247 : { 5, s_3_11, 0, 2, 0},
248 : { 3, s_3_12, 0, 10, 0},
249 : { 3, s_3_13, 0, 9, 0}
250 : };
251 :
252 : static const symbol s_4_0[3] = { 'e', 'n', 'd' };
253 : static const symbol s_4_1[5] = { 'a', 't', 'i', 'e', 'f' };
254 : static const symbol s_4_2[4] = { 'e', 'r', 'i', 'g' };
255 : static const symbol s_4_3[6] = { 'a', 'c', 'h', 't', 'i', 'g' };
256 : static const symbol s_4_4[6] = { 'i', 'o', 'n', 'e', 'e', 'l' };
257 : static const symbol s_4_5[4] = { 'b', 'a', 'a', 'r' };
258 : static const symbol s_4_6[4] = { 'l', 'a', 'a', 'r' };
259 : static const symbol s_4_7[4] = { 'n', 'a', 'a', 'r' };
260 : static const symbol s_4_8[4] = { 'r', 'a', 'a', 'r' };
261 : static const symbol s_4_9[6] = { 'e', 'r', 'i', 'g', 'e', 'r' };
262 : static const symbol s_4_10[8] = { 'a', 'c', 'h', 't', 'i', 'g', 'e', 'r' };
263 : static const symbol s_4_11[6] = { 'l', 'i', 'j', 'k', 'e', 'r' };
264 : static const symbol s_4_12[4] = { 't', 'a', 'n', 't' };
265 : static const symbol s_4_13[6] = { 'e', 'r', 'i', 'g', 's', 't' };
266 : static const symbol s_4_14[8] = { 'a', 'c', 'h', 't', 'i', 'g', 's', 't' };
267 : static const symbol s_4_15[6] = { 'l', 'i', 'j', 'k', 's', 't' };
268 : static const struct among a_4[16] = {
269 : { 3, s_4_0, 0, 9, 0},
270 : { 5, s_4_1, 0, 2, 0},
271 : { 4, s_4_2, 0, 9, 0},
272 : { 6, s_4_3, 0, 3, 0},
273 : { 6, s_4_4, 0, 1, 0},
274 : { 4, s_4_5, 0, 3, 0},
275 : { 4, s_4_6, 0, 5, 0},
276 : { 4, s_4_7, 0, 4, 0},
277 : { 4, s_4_8, 0, 6, 0},
278 : { 6, s_4_9, 0, 9, 0},
279 : { 8, s_4_10, 0, 3, 0},
280 : { 6, s_4_11, 0, 8, 0},
281 : { 4, s_4_12, 0, 7, 0},
282 : { 6, s_4_13, 0, 9, 0},
283 : { 8, s_4_14, 0, 3, 0},
284 : { 6, s_4_15, 0, 8, 0}
285 : };
286 :
287 : static const symbol s_5_0[2] = { 'i', 'g' };
288 : static const symbol s_5_1[4] = { 'i', 'g', 'e', 'r' };
289 : static const symbol s_5_2[4] = { 'i', 'g', 's', 't' };
290 : static const struct among a_5[3] = {
291 : { 2, s_5_0, 0, 1, 0},
292 : { 4, s_5_1, 0, 1, 0},
293 : { 4, s_5_2, 0, 1, 0}
294 : };
295 :
296 : static const symbol s_6_0[2] = { 'f', 't' };
297 : static const symbol s_6_1[2] = { 'k', 't' };
298 : static const symbol s_6_2[2] = { 'p', 't' };
299 : static const struct among a_6[3] = {
300 : { 2, s_6_0, 0, 2, 0},
301 : { 2, s_6_1, 0, 1, 0},
302 : { 2, s_6_2, 0, 3, 0}
303 : };
304 :
305 : static const symbol s_7_0[2] = { 'b', 'b' };
306 : static const symbol s_7_1[2] = { 'c', 'c' };
307 : static const symbol s_7_2[2] = { 'd', 'd' };
308 : static const symbol s_7_3[2] = { 'f', 'f' };
309 : static const symbol s_7_4[2] = { 'g', 'g' };
310 : static const symbol s_7_5[2] = { 'h', 'h' };
311 : static const symbol s_7_6[2] = { 'j', 'j' };
312 : static const symbol s_7_7[2] = { 'k', 'k' };
313 : static const symbol s_7_8[2] = { 'l', 'l' };
314 : static const symbol s_7_9[2] = { 'm', 'm' };
315 : static const symbol s_7_10[2] = { 'n', 'n' };
316 : static const symbol s_7_11[2] = { 'p', 'p' };
317 : static const symbol s_7_12[2] = { 'q', 'q' };
318 : static const symbol s_7_13[2] = { 'r', 'r' };
319 : static const symbol s_7_14[2] = { 's', 's' };
320 : static const symbol s_7_15[2] = { 't', 't' };
321 : static const symbol s_7_16[1] = { 'v' };
322 : static const symbol s_7_17[2] = { 'v', 'v' };
323 : static const symbol s_7_18[2] = { 'w', 'w' };
324 : static const symbol s_7_19[2] = { 'x', 'x' };
325 : static const symbol s_7_20[1] = { 'z' };
326 : static const symbol s_7_21[2] = { 'z', 'z' };
327 : static const struct among a_7[22] = {
328 : { 2, s_7_0, 0, 1, 0},
329 : { 2, s_7_1, 0, 2, 0},
330 : { 2, s_7_2, 0, 3, 0},
331 : { 2, s_7_3, 0, 4, 0},
332 : { 2, s_7_4, 0, 5, 0},
333 : { 2, s_7_5, 0, 6, 0},
334 : { 2, s_7_6, 0, 7, 0},
335 : { 2, s_7_7, 0, 8, 0},
336 : { 2, s_7_8, 0, 9, 0},
337 : { 2, s_7_9, 0, 10, 0},
338 : { 2, s_7_10, 0, 11, 0},
339 : { 2, s_7_11, 0, 12, 0},
340 : { 2, s_7_12, 0, 13, 0},
341 : { 2, s_7_13, 0, 14, 0},
342 : { 2, s_7_14, 0, 15, 0},
343 : { 2, s_7_15, 0, 16, 0},
344 : { 1, s_7_16, 0, 4, 0},
345 : { 2, s_7_17, -1, 17, 0},
346 : { 2, s_7_18, 0, 18, 0},
347 : { 2, s_7_19, 0, 19, 0},
348 : { 1, s_7_20, 0, 15, 0},
349 : { 2, s_7_21, -1, 20, 0}
350 : };
351 :
352 : static const symbol s_8_0[1] = { 'd' };
353 : static const symbol s_8_1[1] = { 't' };
354 : static const struct among a_8[2] = {
355 : { 1, s_8_0, 0, 1, 0},
356 : { 1, s_8_1, 0, 2, 0}
357 : };
358 :
359 : static const symbol s_9_1[3] = { 'e', 'f', 't' };
360 : static const symbol s_9_2[3] = { 'v', 'a', 'a' };
361 : static const symbol s_9_3[3] = { 'v', 'a', 'l' };
362 : static const symbol s_9_4[4] = { 'v', 'a', 'l', 'i' };
363 : static const symbol s_9_5[4] = { 'v', 'a', 'r', 'e' };
364 : static const struct among a_9[6] = {
365 : { 0, 0, 0, -1, 0},
366 : { 3, s_9_1, -1, 1, 0},
367 : { 3, s_9_2, -2, 1, 0},
368 : { 3, s_9_3, -3, 1, 0},
369 : { 4, s_9_4, -1, -1, 0},
370 : { 4, s_9_5, -5, 1, 0}
371 : };
372 :
373 : static const symbol s_10_0[2] = { 0xC3, 0xAB };
374 : static const symbol s_10_1[2] = { 0xC3, 0xAF };
375 : static const struct among a_10[2] = {
376 : { 2, s_10_0, 0, 1, 0},
377 : { 2, s_10_1, 0, 2, 0}
378 : };
379 :
380 : static const symbol s_11_0[2] = { 0xC3, 0xAB };
381 : static const symbol s_11_1[2] = { 0xC3, 0xAF };
382 : static const struct among a_11[2] = {
383 : { 2, s_11_0, 0, 1, 0},
384 : { 2, s_11_1, 0, 2, 0}
385 : };
386 :
387 : static const unsigned char g_E[] = { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 120 };
388 :
389 : static const unsigned char g_AIOU[] = { 1, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 11, 120, 46, 15 };
390 :
391 : static const unsigned char g_AEIOU[] = { 17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 139, 127, 46, 15 };
392 :
393 : static const unsigned char g_v[] = { 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 139, 127, 46, 15 };
394 :
395 : static const unsigned char g_v_WX[] = { 17, 65, 208, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 139, 127, 46, 15 };
396 :
397 0 : static int r_R1(struct SN_env * z) {
398 0 : return ((SN_local *)z)->i_p1 <= z->c;
399 : }
400 :
401 0 : static int r_R2(struct SN_env * z) {
402 0 : return ((SN_local *)z)->i_p2 <= z->c;
403 : }
404 :
405 0 : static int r_V(struct SN_env * z) {
406 : {
407 0 : int v_1 = z->l - z->c;
408 : do {
409 0 : int v_2 = z->l - z->c;
410 0 : if (in_grouping_b_U(z, g_v, 97, 252, 0)) goto lab0;
411 0 : break;
412 0 : lab0:
413 0 : z->c = z->l - v_2;
414 0 : if (!(eq_s_b(z, 2, s_0))) return 0;
415 : } while (0);
416 0 : z->c = z->l - v_1;
417 : }
418 0 : return 1;
419 : }
420 :
421 0 : static int r_VX(struct SN_env * z) {
422 : {
423 0 : int v_1 = z->l - z->c;
424 : {
425 0 : int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
426 0 : if (ret < 0) return 0;
427 0 : z->c = ret;
428 : }
429 : do {
430 0 : int v_2 = z->l - z->c;
431 0 : if (in_grouping_b_U(z, g_v, 97, 252, 0)) goto lab0;
432 0 : break;
433 0 : lab0:
434 0 : z->c = z->l - v_2;
435 0 : if (!(eq_s_b(z, 2, s_1))) return 0;
436 : } while (0);
437 0 : z->c = z->l - v_1;
438 : }
439 0 : return 1;
440 : }
441 :
442 0 : static int r_C(struct SN_env * z) {
443 : {
444 0 : int v_1 = z->l - z->c;
445 : {
446 0 : int v_2 = z->l - z->c;
447 0 : if (!(eq_s_b(z, 2, s_2))) goto lab0;
448 0 : return 0;
449 0 : lab0:
450 0 : z->c = z->l - v_2;
451 : }
452 0 : if (out_grouping_b_U(z, g_v, 97, 252, 0)) return 0;
453 0 : z->c = z->l - v_1;
454 : }
455 0 : return 1;
456 : }
457 :
458 0 : static int r_lengthen_V(struct SN_env * z) {
459 : int among_var;
460 : {
461 0 : int v_1 = z->l - z->c;
462 0 : if (out_grouping_b_U(z, g_v_WX, 97, 252, 0)) goto lab0;
463 0 : z->ket = z->c;
464 0 : among_var = find_among_b(z, a_0, 21, 0);
465 0 : if (!among_var) goto lab0;
466 0 : z->bra = z->c;
467 0 : switch (among_var) {
468 0 : case 1:
469 : {
470 0 : int v_2 = z->l - z->c;
471 : do {
472 0 : int v_3 = z->l - z->c;
473 0 : if (out_grouping_b_U(z, g_AEIOU, 97, 252, 0)) goto lab1;
474 0 : break;
475 0 : lab1:
476 0 : z->c = z->l - v_3;
477 0 : if (z->c > z->lb) goto lab0;
478 : } while (0);
479 0 : z->c = z->l - v_2;
480 : }
481 : {
482 0 : int ret = slice_to(z, &((SN_local *)z)->s_ch);
483 0 : if (ret < 0) return ret;
484 : }
485 : {
486 0 : int saved_c = z->c;
487 0 : int ret = insert_v(z, z->c, z->c, ((SN_local *)z)->s_ch);
488 0 : z->c = saved_c;
489 0 : if (ret < 0) return ret;
490 : }
491 0 : break;
492 0 : case 2:
493 : {
494 0 : int v_4 = z->l - z->c;
495 : do {
496 0 : int v_5 = z->l - z->c;
497 0 : if (out_grouping_b_U(z, g_AEIOU, 97, 252, 0)) goto lab2;
498 0 : break;
499 0 : lab2:
500 0 : z->c = z->l - v_5;
501 0 : if (z->c > z->lb) goto lab0;
502 : } while (0);
503 : {
504 0 : int v_6 = z->l - z->c;
505 : do {
506 0 : int v_7 = z->l - z->c;
507 0 : if (in_grouping_b_U(z, g_AIOU, 97, 252, 0)) goto lab4;
508 0 : break;
509 0 : lab4:
510 0 : z->c = z->l - v_7;
511 0 : if (in_grouping_b_U(z, g_E, 101, 235, 0)) goto lab3;
512 0 : if (z->c > z->lb) goto lab3;
513 : } while (0);
514 0 : goto lab0;
515 0 : lab3:
516 0 : z->c = z->l - v_6;
517 : }
518 : {
519 0 : int v_8 = z->l - z->c;
520 : {
521 0 : int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
522 0 : if (ret < 0) goto lab5;
523 0 : z->c = ret;
524 : }
525 0 : if (in_grouping_b_U(z, g_AIOU, 97, 252, 0)) goto lab5;
526 0 : if (out_grouping_b_U(z, g_AEIOU, 97, 252, 0)) goto lab5;
527 0 : goto lab0;
528 0 : lab5:
529 0 : z->c = z->l - v_8;
530 : }
531 0 : z->c = z->l - v_4;
532 : }
533 : {
534 0 : int ret = slice_to(z, &((SN_local *)z)->s_ch);
535 0 : if (ret < 0) return ret;
536 : }
537 : {
538 0 : int saved_c = z->c;
539 0 : int ret = insert_v(z, z->c, z->c, ((SN_local *)z)->s_ch);
540 0 : z->c = saved_c;
541 0 : if (ret < 0) return ret;
542 : }
543 0 : break;
544 0 : case 3:
545 : {
546 0 : int ret = slice_from_s(z, 4, s_3);
547 0 : if (ret < 0) return ret;
548 : }
549 0 : break;
550 0 : case 4:
551 : {
552 0 : int ret = slice_from_s(z, 3, s_4);
553 0 : if (ret < 0) return ret;
554 : }
555 0 : break;
556 : }
557 0 : lab0:
558 0 : z->c = z->l - v_1;
559 : }
560 0 : return 1;
561 : }
562 :
563 0 : static int r_Step_1(struct SN_env * z) {
564 : int among_var;
565 0 : z->ket = z->c;
566 0 : if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((540704 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
567 0 : among_var = find_among_b(z, a_1, 8, 0);
568 0 : if (!among_var) return 0;
569 0 : z->bra = z->c;
570 0 : switch (among_var) {
571 0 : case 1:
572 : {
573 0 : int ret = slice_del(z);
574 0 : if (ret < 0) return ret;
575 : }
576 0 : break;
577 0 : case 2:
578 : {
579 0 : int ret = r_R1(z);
580 0 : if (ret <= 0) return ret;
581 : }
582 : {
583 0 : int v_1 = z->l - z->c;
584 0 : if (z->c <= z->lb || z->p[z->c - 1] != 't') goto lab0;
585 0 : z->c--;
586 : {
587 0 : int ret = r_R1(z);
588 0 : if (ret == 0) goto lab0;
589 0 : if (ret < 0) return ret;
590 : }
591 0 : return 0;
592 0 : lab0:
593 0 : z->c = z->l - v_1;
594 : }
595 : {
596 0 : int ret = r_C(z);
597 0 : if (ret <= 0) return ret;
598 : }
599 : {
600 0 : int ret = slice_del(z);
601 0 : if (ret < 0) return ret;
602 : }
603 0 : break;
604 0 : case 3:
605 : {
606 0 : int ret = r_R1(z);
607 0 : if (ret <= 0) return ret;
608 : }
609 : {
610 0 : int ret = slice_from_s(z, 2, s_5);
611 0 : if (ret < 0) return ret;
612 : }
613 0 : break;
614 0 : case 4:
615 : do {
616 0 : int v_2 = z->l - z->c;
617 : {
618 0 : int v_3 = z->l - z->c;
619 0 : if (!(eq_s_b(z, 2, s_6))) goto lab1;
620 : {
621 0 : int ret = r_R1(z);
622 0 : if (ret == 0) goto lab1;
623 0 : if (ret < 0) return ret;
624 : }
625 : {
626 0 : int ret = r_C(z);
627 0 : if (ret == 0) goto lab1;
628 0 : if (ret < 0) return ret;
629 : }
630 0 : z->c = z->l - v_3;
631 : }
632 : {
633 0 : int ret = slice_del(z);
634 0 : if (ret < 0) return ret;
635 : }
636 : {
637 0 : int ret = r_lengthen_V(z);
638 0 : if (ret < 0) return ret;
639 : }
640 0 : break;
641 0 : lab1:
642 0 : z->c = z->l - v_2;
643 : {
644 0 : int v_4 = z->l - z->c;
645 0 : if (!(eq_s_b(z, 2, s_7))) goto lab2;
646 : {
647 0 : int ret = r_R1(z);
648 0 : if (ret == 0) goto lab2;
649 0 : if (ret < 0) return ret;
650 : }
651 : {
652 0 : int ret = r_C(z);
653 0 : if (ret == 0) goto lab2;
654 0 : if (ret < 0) return ret;
655 : }
656 0 : z->c = z->l - v_4;
657 : }
658 : {
659 0 : int ret = slice_del(z);
660 0 : if (ret < 0) return ret;
661 : }
662 0 : break;
663 0 : lab2:
664 0 : z->c = z->l - v_2;
665 : {
666 0 : int ret = r_R1(z);
667 0 : if (ret <= 0) return ret;
668 : }
669 : {
670 0 : int ret = r_C(z);
671 0 : if (ret <= 0) return ret;
672 : }
673 : {
674 0 : int ret = slice_from_s(z, 1, s_8);
675 0 : if (ret < 0) return ret;
676 : }
677 : } while (0);
678 0 : break;
679 0 : case 5:
680 : {
681 0 : int ret = r_R1(z);
682 0 : if (ret <= 0) return ret;
683 : }
684 : {
685 0 : int ret = slice_from_s(z, 2, s_9);
686 0 : if (ret < 0) return ret;
687 : }
688 0 : break;
689 0 : case 6:
690 : {
691 0 : int ret = r_R1(z);
692 0 : if (ret <= 0) return ret;
693 : }
694 : {
695 0 : int ret = r_V(z);
696 0 : if (ret <= 0) return ret;
697 : }
698 : {
699 0 : int ret = slice_from_s(z, 2, s_10);
700 0 : if (ret < 0) return ret;
701 : }
702 0 : break;
703 0 : case 7:
704 : do {
705 0 : int v_5 = z->l - z->c;
706 0 : if (!(eq_s_b(z, 3, s_11))) goto lab3;
707 : {
708 0 : int ret = r_R1(z);
709 0 : if (ret == 0) goto lab3;
710 0 : if (ret < 0) return ret;
711 : }
712 0 : z->bra = z->c;
713 : {
714 0 : int ret = slice_from_s(z, 4, s_12);
715 0 : if (ret < 0) return ret;
716 : }
717 0 : break;
718 0 : lab3:
719 0 : z->c = z->l - v_5;
720 0 : if (!(eq_s_b(z, 2, s_13))) goto lab4;
721 : {
722 0 : int ret = slice_del(z);
723 0 : if (ret < 0) return ret;
724 : }
725 0 : break;
726 0 : lab4:
727 0 : z->c = z->l - v_5;
728 0 : if (z->c <= z->lb || z->p[z->c - 1] != 'd') goto lab5;
729 0 : z->c--;
730 : {
731 0 : int ret = r_R1(z);
732 0 : if (ret == 0) goto lab5;
733 0 : if (ret < 0) return ret;
734 : }
735 : {
736 0 : int ret = r_C(z);
737 0 : if (ret == 0) goto lab5;
738 0 : if (ret < 0) return ret;
739 : }
740 0 : z->bra = z->c;
741 : {
742 0 : int ret = slice_del(z);
743 0 : if (ret < 0) return ret;
744 : }
745 0 : break;
746 0 : lab5:
747 0 : z->c = z->l - v_5;
748 : do {
749 0 : int v_6 = z->l - z->c;
750 0 : if (z->c <= z->lb || z->p[z->c - 1] != 'i') goto lab7;
751 0 : z->c--;
752 0 : break;
753 0 : lab7:
754 0 : z->c = z->l - v_6;
755 0 : if (z->c <= z->lb || z->p[z->c - 1] != 'j') goto lab6;
756 0 : z->c--;
757 : } while (0);
758 : {
759 0 : int ret = r_V(z);
760 0 : if (ret == 0) goto lab6;
761 0 : if (ret < 0) return ret;
762 : }
763 : {
764 0 : int ret = slice_del(z);
765 0 : if (ret < 0) return ret;
766 : }
767 0 : break;
768 0 : lab6:
769 0 : z->c = z->l - v_5;
770 : {
771 0 : int ret = r_R1(z);
772 0 : if (ret <= 0) return ret;
773 : }
774 : {
775 0 : int ret = r_C(z);
776 0 : if (ret <= 0) return ret;
777 : }
778 : {
779 0 : int ret = slice_del(z);
780 0 : if (ret < 0) return ret;
781 : }
782 : {
783 0 : int ret = r_lengthen_V(z);
784 0 : if (ret <= 0) return ret;
785 : }
786 : } while (0);
787 0 : break;
788 0 : case 8:
789 : {
790 0 : int ret = slice_from_s(z, 2, s_14);
791 0 : if (ret < 0) return ret;
792 : }
793 0 : break;
794 : }
795 0 : return 1;
796 : }
797 :
798 0 : static int r_Step_2(struct SN_env * z) {
799 : int among_var;
800 0 : z->ket = z->c;
801 0 : if (z->c - 1 <= z->lb || z->p[z->c - 1] != 101) return 0;
802 0 : among_var = find_among_b(z, a_2, 11, 0);
803 0 : if (!among_var) return 0;
804 0 : z->bra = z->c;
805 0 : switch (among_var) {
806 0 : case 1:
807 : do {
808 0 : int v_1 = z->l - z->c;
809 0 : if (!(eq_s_b(z, 2, s_15))) goto lab0;
810 0 : z->bra = z->c;
811 : {
812 0 : int ret = slice_del(z);
813 0 : if (ret < 0) return ret;
814 : }
815 0 : break;
816 0 : lab0:
817 0 : z->c = z->l - v_1;
818 0 : if (!(eq_s_b(z, 2, s_16))) goto lab1;
819 0 : z->bra = z->c;
820 : {
821 0 : int ret = r_R1(z);
822 0 : if (ret == 0) goto lab1;
823 0 : if (ret < 0) return ret;
824 : }
825 : {
826 0 : int ret = r_C(z);
827 0 : if (ret == 0) goto lab1;
828 0 : if (ret < 0) return ret;
829 : }
830 : {
831 0 : int ret = slice_del(z);
832 0 : if (ret < 0) return ret;
833 : }
834 0 : break;
835 0 : lab1:
836 0 : z->c = z->l - v_1;
837 0 : if (!(eq_s_b(z, 3, s_17))) goto lab2;
838 0 : z->bra = z->c;
839 : {
840 0 : int ret = slice_from_s(z, 2, s_18);
841 0 : if (ret < 0) return ret;
842 : }
843 0 : break;
844 0 : lab2:
845 0 : z->c = z->l - v_1;
846 0 : if (z->c <= z->lb || z->p[z->c - 1] != 't') goto lab3;
847 0 : z->c--;
848 0 : z->bra = z->c;
849 : {
850 0 : int ret = r_R1(z);
851 0 : if (ret == 0) goto lab3;
852 0 : if (ret < 0) return ret;
853 : }
854 : {
855 0 : int ret = r_VX(z);
856 0 : if (ret == 0) goto lab3;
857 0 : if (ret < 0) return ret;
858 : }
859 : {
860 0 : int ret = slice_del(z);
861 0 : if (ret < 0) return ret;
862 : }
863 0 : break;
864 0 : lab3:
865 0 : z->c = z->l - v_1;
866 0 : if (!(eq_s_b(z, 3, s_19))) goto lab4;
867 0 : z->bra = z->c;
868 : {
869 0 : int ret = slice_from_s(z, 3, s_20);
870 0 : if (ret < 0) return ret;
871 : }
872 0 : break;
873 0 : lab4:
874 0 : z->c = z->l - v_1;
875 0 : if (!(eq_s_b(z, 2, s_21))) goto lab5;
876 0 : z->bra = z->c;
877 : {
878 0 : int ret = slice_from_s(z, 1, s_22);
879 0 : if (ret < 0) return ret;
880 : }
881 0 : break;
882 0 : lab5:
883 0 : z->c = z->l - v_1;
884 0 : if (z->c <= z->lb || z->p[z->c - 1] != '\'') goto lab6;
885 0 : z->c--;
886 0 : z->bra = z->c;
887 : {
888 0 : int ret = r_R1(z);
889 0 : if (ret == 0) goto lab6;
890 0 : if (ret < 0) return ret;
891 : }
892 : {
893 0 : int ret = slice_del(z);
894 0 : if (ret < 0) return ret;
895 : }
896 0 : break;
897 0 : lab6:
898 0 : z->c = z->l - v_1;
899 0 : z->bra = z->c;
900 : {
901 0 : int ret = r_R1(z);
902 0 : if (ret <= 0) return ret;
903 : }
904 : {
905 0 : int ret = r_C(z);
906 0 : if (ret <= 0) return ret;
907 : }
908 : {
909 0 : int ret = slice_del(z);
910 0 : if (ret < 0) return ret;
911 : }
912 : } while (0);
913 0 : break;
914 0 : case 2:
915 : {
916 0 : int ret = r_R1(z);
917 0 : if (ret <= 0) return ret;
918 : }
919 : {
920 0 : int ret = slice_from_s(z, 1, s_23);
921 0 : if (ret < 0) return ret;
922 : }
923 0 : break;
924 0 : case 3:
925 : {
926 0 : int ret = r_R1(z);
927 0 : if (ret <= 0) return ret;
928 : }
929 : {
930 0 : int ret = slice_from_s(z, 4, s_24);
931 0 : if (ret < 0) return ret;
932 : }
933 0 : break;
934 0 : case 4:
935 : {
936 0 : int ret = r_R1(z);
937 0 : if (ret <= 0) return ret;
938 : }
939 : {
940 0 : int ret = slice_from_s(z, 4, s_25);
941 0 : if (ret < 0) return ret;
942 : }
943 0 : break;
944 0 : case 5:
945 : {
946 0 : int ret = r_R1(z);
947 0 : if (ret <= 0) return ret;
948 : }
949 : {
950 0 : int ret = r_C(z);
951 0 : if (ret <= 0) return ret;
952 : }
953 : {
954 0 : int ret = slice_del(z);
955 0 : if (ret < 0) return ret;
956 : }
957 0 : break;
958 0 : case 6:
959 : {
960 0 : int ret = r_R1(z);
961 0 : if (ret <= 0) return ret;
962 : }
963 : {
964 0 : int ret = slice_from_s(z, 1, s_26);
965 0 : if (ret < 0) return ret;
966 : }
967 0 : break;
968 0 : case 7:
969 : {
970 0 : int ret = r_R1(z);
971 0 : if (ret <= 0) return ret;
972 : }
973 : {
974 0 : int ret = slice_from_s(z, 1, s_27);
975 0 : if (ret < 0) return ret;
976 : }
977 0 : break;
978 0 : case 8:
979 : {
980 0 : int ret = r_R1(z);
981 0 : if (ret <= 0) return ret;
982 : }
983 : {
984 0 : int ret = slice_from_s(z, 1, s_28);
985 0 : if (ret < 0) return ret;
986 : }
987 0 : break;
988 0 : case 9:
989 : {
990 0 : int ret = r_R1(z);
991 0 : if (ret <= 0) return ret;
992 : }
993 : {
994 0 : int ret = slice_del(z);
995 0 : if (ret < 0) return ret;
996 : }
997 : {
998 0 : int ret = insert_s(z, z->c, z->c, 1, s_29);
999 0 : if (ret < 0) return ret;
1000 : }
1001 : {
1002 0 : int ret = r_lengthen_V(z);
1003 0 : if (ret <= 0) return ret;
1004 : }
1005 0 : break;
1006 0 : case 10:
1007 : {
1008 0 : int ret = r_R1(z);
1009 0 : if (ret <= 0) return ret;
1010 : }
1011 : {
1012 0 : int ret = r_C(z);
1013 0 : if (ret <= 0) return ret;
1014 : }
1015 : {
1016 0 : int ret = slice_del(z);
1017 0 : if (ret < 0) return ret;
1018 : }
1019 : {
1020 0 : int ret = insert_s(z, z->c, z->c, 2, s_30);
1021 0 : if (ret < 0) return ret;
1022 : }
1023 : {
1024 0 : int ret = r_lengthen_V(z);
1025 0 : if (ret <= 0) return ret;
1026 : }
1027 0 : break;
1028 0 : case 11:
1029 : {
1030 0 : int ret = r_R1(z);
1031 0 : if (ret <= 0) return ret;
1032 : }
1033 : {
1034 0 : int ret = r_C(z);
1035 0 : if (ret <= 0) return ret;
1036 : }
1037 : {
1038 0 : int ret = slice_from_s(z, 3, s_31);
1039 0 : if (ret < 0) return ret;
1040 : }
1041 0 : break;
1042 : }
1043 0 : return 1;
1044 : }
1045 :
1046 0 : static int r_Step_3(struct SN_env * z) {
1047 : int among_var;
1048 0 : z->ket = z->c;
1049 0 : if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1316016 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
1050 0 : among_var = find_among_b(z, a_3, 14, 0);
1051 0 : if (!among_var) return 0;
1052 0 : z->bra = z->c;
1053 0 : switch (among_var) {
1054 0 : case 1:
1055 : {
1056 0 : int ret = r_R1(z);
1057 0 : if (ret <= 0) return ret;
1058 : }
1059 : {
1060 0 : int ret = slice_from_s(z, 3, s_32);
1061 0 : if (ret < 0) return ret;
1062 : }
1063 0 : break;
1064 0 : case 2:
1065 : {
1066 0 : int ret = r_R1(z);
1067 0 : if (ret <= 0) return ret;
1068 : }
1069 : {
1070 0 : int ret = slice_del(z);
1071 0 : if (ret < 0) return ret;
1072 : }
1073 : {
1074 0 : int ret = r_lengthen_V(z);
1075 0 : if (ret <= 0) return ret;
1076 : }
1077 0 : break;
1078 0 : case 3:
1079 : {
1080 0 : int ret = r_R1(z);
1081 0 : if (ret <= 0) return ret;
1082 : }
1083 : {
1084 0 : int ret = slice_del(z);
1085 0 : if (ret < 0) return ret;
1086 : }
1087 0 : break;
1088 0 : case 4:
1089 : {
1090 0 : int ret = slice_from_s(z, 1, s_33);
1091 0 : if (ret < 0) return ret;
1092 : }
1093 0 : break;
1094 0 : case 5:
1095 : do {
1096 0 : int v_1 = z->l - z->c;
1097 0 : if (!(eq_s_b(z, 3, s_34))) goto lab0;
1098 : {
1099 0 : int ret = slice_from_s(z, 2, s_35);
1100 0 : if (ret < 0) return ret;
1101 : }
1102 0 : break;
1103 0 : lab0:
1104 0 : z->c = z->l - v_1;
1105 : {
1106 0 : int ret = r_R1(z);
1107 0 : if (ret <= 0) return ret;
1108 : }
1109 : {
1110 0 : int ret = slice_del(z);
1111 0 : if (ret < 0) return ret;
1112 : }
1113 : {
1114 0 : int ret = r_lengthen_V(z);
1115 0 : if (ret <= 0) return ret;
1116 : }
1117 : } while (0);
1118 0 : break;
1119 0 : case 6:
1120 : {
1121 0 : int ret = r_R1(z);
1122 0 : if (ret <= 0) return ret;
1123 : }
1124 : {
1125 0 : int ret = r_C(z);
1126 0 : if (ret <= 0) return ret;
1127 : }
1128 : {
1129 0 : int ret = slice_from_s(z, 3, s_36);
1130 0 : if (ret < 0) return ret;
1131 : }
1132 0 : break;
1133 0 : case 7:
1134 : {
1135 0 : int ret = r_R2(z);
1136 0 : if (ret <= 0) return ret;
1137 : }
1138 : {
1139 0 : int ret = slice_del(z);
1140 0 : if (ret < 0) return ret;
1141 : }
1142 : {
1143 0 : int ret = insert_s(z, z->c, z->c, 1, s_37);
1144 0 : if (ret < 0) return ret;
1145 : }
1146 : {
1147 0 : int ret = r_lengthen_V(z);
1148 0 : if (ret <= 0) return ret;
1149 : }
1150 0 : break;
1151 0 : case 8:
1152 : {
1153 0 : int ret = r_R2(z);
1154 0 : if (ret <= 0) return ret;
1155 : }
1156 : {
1157 0 : int ret = slice_del(z);
1158 0 : if (ret < 0) return ret;
1159 : }
1160 : {
1161 0 : int ret = insert_s(z, z->c, z->c, 1, s_38);
1162 0 : if (ret < 0) return ret;
1163 : }
1164 : {
1165 0 : int ret = r_lengthen_V(z);
1166 0 : if (ret <= 0) return ret;
1167 : }
1168 0 : break;
1169 0 : case 9:
1170 : {
1171 0 : int ret = r_R1(z);
1172 0 : if (ret <= 0) return ret;
1173 : }
1174 : {
1175 0 : int ret = r_C(z);
1176 0 : if (ret <= 0) return ret;
1177 : }
1178 : {
1179 0 : int ret = slice_from_s(z, 1, s_39);
1180 0 : if (ret < 0) return ret;
1181 : }
1182 0 : break;
1183 0 : case 10:
1184 : {
1185 0 : int ret = r_R1(z);
1186 0 : if (ret <= 0) return ret;
1187 : }
1188 : {
1189 0 : int ret = r_C(z);
1190 0 : if (ret <= 0) return ret;
1191 : }
1192 : {
1193 0 : int ret = slice_from_s(z, 1, s_40);
1194 0 : if (ret < 0) return ret;
1195 : }
1196 0 : break;
1197 : }
1198 0 : return 1;
1199 : }
1200 :
1201 0 : static int r_Step_4(struct SN_env * z) {
1202 : int among_var;
1203 : do {
1204 0 : int v_1 = z->l - z->c;
1205 0 : z->ket = z->c;
1206 0 : if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1315024 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab0;
1207 0 : among_var = find_among_b(z, a_4, 16, 0);
1208 0 : if (!among_var) goto lab0;
1209 0 : z->bra = z->c;
1210 0 : switch (among_var) {
1211 0 : case 1:
1212 : {
1213 0 : int ret = r_R1(z);
1214 0 : if (ret == 0) goto lab0;
1215 0 : if (ret < 0) return ret;
1216 : }
1217 : {
1218 0 : int ret = slice_from_s(z, 2, s_41);
1219 0 : if (ret < 0) return ret;
1220 : }
1221 0 : break;
1222 0 : case 2:
1223 : {
1224 0 : int ret = r_R1(z);
1225 0 : if (ret == 0) goto lab0;
1226 0 : if (ret < 0) return ret;
1227 : }
1228 : {
1229 0 : int ret = slice_from_s(z, 3, s_42);
1230 0 : if (ret < 0) return ret;
1231 : }
1232 0 : break;
1233 0 : case 3:
1234 : {
1235 0 : int ret = r_R1(z);
1236 0 : if (ret == 0) goto lab0;
1237 0 : if (ret < 0) return ret;
1238 : }
1239 : {
1240 0 : int ret = slice_del(z);
1241 0 : if (ret < 0) return ret;
1242 : }
1243 0 : break;
1244 0 : case 4:
1245 : {
1246 0 : int ret = r_R1(z);
1247 0 : if (ret == 0) goto lab0;
1248 0 : if (ret < 0) return ret;
1249 : }
1250 : {
1251 0 : int ret = r_V(z);
1252 0 : if (ret == 0) goto lab0;
1253 0 : if (ret < 0) return ret;
1254 : }
1255 : {
1256 0 : int ret = slice_from_s(z, 1, s_43);
1257 0 : if (ret < 0) return ret;
1258 : }
1259 0 : break;
1260 0 : case 5:
1261 : {
1262 0 : int ret = r_R1(z);
1263 0 : if (ret == 0) goto lab0;
1264 0 : if (ret < 0) return ret;
1265 : }
1266 : {
1267 0 : int ret = r_V(z);
1268 0 : if (ret == 0) goto lab0;
1269 0 : if (ret < 0) return ret;
1270 : }
1271 : {
1272 0 : int ret = slice_from_s(z, 1, s_44);
1273 0 : if (ret < 0) return ret;
1274 : }
1275 0 : break;
1276 0 : case 6:
1277 : {
1278 0 : int ret = r_R1(z);
1279 0 : if (ret == 0) goto lab0;
1280 0 : if (ret < 0) return ret;
1281 : }
1282 : {
1283 0 : int ret = r_V(z);
1284 0 : if (ret == 0) goto lab0;
1285 0 : if (ret < 0) return ret;
1286 : }
1287 : {
1288 0 : int ret = slice_from_s(z, 1, s_45);
1289 0 : if (ret < 0) return ret;
1290 : }
1291 0 : break;
1292 0 : case 7:
1293 : {
1294 0 : int ret = r_R1(z);
1295 0 : if (ret == 0) goto lab0;
1296 0 : if (ret < 0) return ret;
1297 : }
1298 : {
1299 0 : int ret = slice_from_s(z, 4, s_46);
1300 0 : if (ret < 0) return ret;
1301 : }
1302 0 : break;
1303 0 : case 8:
1304 : {
1305 0 : int ret = r_R1(z);
1306 0 : if (ret == 0) goto lab0;
1307 0 : if (ret < 0) return ret;
1308 : }
1309 : {
1310 0 : int ret = slice_from_s(z, 4, s_47);
1311 0 : if (ret < 0) return ret;
1312 : }
1313 0 : break;
1314 0 : case 9:
1315 : {
1316 0 : int ret = r_R1(z);
1317 0 : if (ret == 0) goto lab0;
1318 0 : if (ret < 0) return ret;
1319 : }
1320 : {
1321 0 : int ret = r_C(z);
1322 0 : if (ret == 0) goto lab0;
1323 0 : if (ret < 0) return ret;
1324 : }
1325 : {
1326 0 : int ret = slice_del(z);
1327 0 : if (ret < 0) return ret;
1328 : }
1329 : {
1330 0 : int ret = r_lengthen_V(z);
1331 0 : if (ret < 0) return ret;
1332 : }
1333 0 : break;
1334 : }
1335 0 : break;
1336 0 : lab0:
1337 0 : z->c = z->l - v_1;
1338 0 : z->ket = z->c;
1339 0 : if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1310848 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
1340 0 : if (!find_among_b(z, a_5, 3, 0)) return 0;
1341 0 : z->bra = z->c;
1342 : {
1343 0 : int ret = r_R1(z);
1344 0 : if (ret <= 0) return ret;
1345 : }
1346 : {
1347 0 : int v_2 = z->l - z->c;
1348 0 : if (!(eq_s_b(z, 3, s_48))) goto lab1;
1349 0 : if (z->c > z->lb) goto lab1;
1350 0 : return 0;
1351 0 : lab1:
1352 0 : z->c = z->l - v_2;
1353 : }
1354 : {
1355 0 : int ret = r_C(z);
1356 0 : if (ret <= 0) return ret;
1357 : }
1358 : {
1359 0 : int ret = slice_del(z);
1360 0 : if (ret < 0) return ret;
1361 : }
1362 : {
1363 0 : int ret = r_lengthen_V(z);
1364 0 : if (ret <= 0) return ret;
1365 : }
1366 : } while (0);
1367 0 : return 1;
1368 : }
1369 :
1370 0 : static int r_Step_7(struct SN_env * z) {
1371 : int among_var;
1372 0 : z->ket = z->c;
1373 0 : if (z->c - 1 <= z->lb || z->p[z->c - 1] != 116) return 0;
1374 0 : among_var = find_among_b(z, a_6, 3, 0);
1375 0 : if (!among_var) return 0;
1376 0 : z->bra = z->c;
1377 0 : switch (among_var) {
1378 0 : case 1:
1379 : {
1380 0 : int ret = slice_from_s(z, 1, s_49);
1381 0 : if (ret < 0) return ret;
1382 : }
1383 0 : break;
1384 0 : case 2:
1385 : {
1386 0 : int ret = slice_from_s(z, 1, s_50);
1387 0 : if (ret < 0) return ret;
1388 : }
1389 0 : break;
1390 0 : case 3:
1391 : {
1392 0 : int ret = slice_from_s(z, 1, s_51);
1393 0 : if (ret < 0) return ret;
1394 : }
1395 0 : break;
1396 : }
1397 0 : return 1;
1398 : }
1399 :
1400 0 : static int r_Step_6(struct SN_env * z) {
1401 : int among_var;
1402 0 : z->ket = z->c;
1403 0 : if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((98532828 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
1404 0 : among_var = find_among_b(z, a_7, 22, 0);
1405 0 : if (!among_var) return 0;
1406 0 : z->bra = z->c;
1407 0 : switch (among_var) {
1408 0 : case 1:
1409 : {
1410 0 : int ret = slice_from_s(z, 1, s_52);
1411 0 : if (ret < 0) return ret;
1412 : }
1413 0 : break;
1414 0 : case 2:
1415 : {
1416 0 : int ret = slice_from_s(z, 1, s_53);
1417 0 : if (ret < 0) return ret;
1418 : }
1419 0 : break;
1420 0 : case 3:
1421 : {
1422 0 : int ret = slice_from_s(z, 1, s_54);
1423 0 : if (ret < 0) return ret;
1424 : }
1425 0 : break;
1426 0 : case 4:
1427 : {
1428 0 : int ret = slice_from_s(z, 1, s_55);
1429 0 : if (ret < 0) return ret;
1430 : }
1431 0 : break;
1432 0 : case 5:
1433 : {
1434 0 : int ret = slice_from_s(z, 1, s_56);
1435 0 : if (ret < 0) return ret;
1436 : }
1437 0 : break;
1438 0 : case 6:
1439 : {
1440 0 : int ret = slice_from_s(z, 1, s_57);
1441 0 : if (ret < 0) return ret;
1442 : }
1443 0 : break;
1444 0 : case 7:
1445 : {
1446 0 : int ret = slice_from_s(z, 1, s_58);
1447 0 : if (ret < 0) return ret;
1448 : }
1449 0 : break;
1450 0 : case 8:
1451 : {
1452 0 : int ret = slice_from_s(z, 1, s_59);
1453 0 : if (ret < 0) return ret;
1454 : }
1455 0 : break;
1456 0 : case 9:
1457 : {
1458 0 : int ret = slice_from_s(z, 1, s_60);
1459 0 : if (ret < 0) return ret;
1460 : }
1461 0 : break;
1462 0 : case 10:
1463 : {
1464 0 : int ret = slice_from_s(z, 1, s_61);
1465 0 : if (ret < 0) return ret;
1466 : }
1467 0 : break;
1468 0 : case 11:
1469 : {
1470 0 : int v_1 = z->l - z->c;
1471 0 : if (z->c <= z->lb || z->p[z->c - 1] != 'i') goto lab0;
1472 0 : z->c--;
1473 0 : if (z->c > z->lb) goto lab0;
1474 0 : return 0;
1475 0 : lab0:
1476 0 : z->c = z->l - v_1;
1477 : }
1478 : {
1479 0 : int ret = slice_from_s(z, 1, s_62);
1480 0 : if (ret < 0) return ret;
1481 : }
1482 0 : break;
1483 0 : case 12:
1484 : {
1485 0 : int ret = slice_from_s(z, 1, s_63);
1486 0 : if (ret < 0) return ret;
1487 : }
1488 0 : break;
1489 0 : case 13:
1490 : {
1491 0 : int ret = slice_from_s(z, 1, s_64);
1492 0 : if (ret < 0) return ret;
1493 : }
1494 0 : break;
1495 0 : case 14:
1496 : {
1497 0 : int ret = slice_from_s(z, 1, s_65);
1498 0 : if (ret < 0) return ret;
1499 : }
1500 0 : break;
1501 0 : case 15:
1502 : {
1503 0 : int ret = slice_from_s(z, 1, s_66);
1504 0 : if (ret < 0) return ret;
1505 : }
1506 0 : break;
1507 0 : case 16:
1508 : {
1509 0 : int ret = slice_from_s(z, 1, s_67);
1510 0 : if (ret < 0) return ret;
1511 : }
1512 0 : break;
1513 0 : case 17:
1514 : {
1515 0 : int ret = slice_from_s(z, 1, s_68);
1516 0 : if (ret < 0) return ret;
1517 : }
1518 0 : break;
1519 0 : case 18:
1520 : {
1521 0 : int ret = slice_from_s(z, 1, s_69);
1522 0 : if (ret < 0) return ret;
1523 : }
1524 0 : break;
1525 0 : case 19:
1526 : {
1527 0 : int ret = slice_from_s(z, 1, s_70);
1528 0 : if (ret < 0) return ret;
1529 : }
1530 0 : break;
1531 0 : case 20:
1532 : {
1533 0 : int ret = slice_from_s(z, 1, s_71);
1534 0 : if (ret < 0) return ret;
1535 : }
1536 0 : break;
1537 : }
1538 0 : return 1;
1539 : }
1540 :
1541 0 : static int r_Step_1c(struct SN_env * z) {
1542 : int among_var;
1543 0 : z->ket = z->c;
1544 0 : if (z->c <= z->lb || (z->p[z->c - 1] != 100 && z->p[z->c - 1] != 116)) return 0;
1545 0 : among_var = find_among_b(z, a_8, 2, 0);
1546 0 : if (!among_var) return 0;
1547 0 : z->bra = z->c;
1548 : {
1549 0 : int ret = r_R1(z);
1550 0 : if (ret <= 0) return ret;
1551 : }
1552 : {
1553 0 : int ret = r_C(z);
1554 0 : if (ret <= 0) return ret;
1555 : }
1556 0 : switch (among_var) {
1557 0 : case 1:
1558 : {
1559 0 : int v_1 = z->l - z->c;
1560 0 : if (z->c <= z->lb || z->p[z->c - 1] != 'n') goto lab0;
1561 0 : z->c--;
1562 : {
1563 0 : int ret = r_R1(z);
1564 0 : if (ret == 0) goto lab0;
1565 0 : if (ret < 0) return ret;
1566 : }
1567 0 : return 0;
1568 0 : lab0:
1569 0 : z->c = z->l - v_1;
1570 : }
1571 : do {
1572 0 : int v_2 = z->l - z->c;
1573 0 : if (!(eq_s_b(z, 2, s_72))) goto lab1;
1574 0 : if (z->c > z->lb) goto lab1;
1575 : {
1576 0 : int ret = slice_from_s(z, 1, s_73);
1577 0 : if (ret < 0) return ret;
1578 : }
1579 0 : break;
1580 0 : lab1:
1581 0 : z->c = z->l - v_2;
1582 : {
1583 0 : int ret = slice_del(z);
1584 0 : if (ret < 0) return ret;
1585 : }
1586 : } while (0);
1587 0 : break;
1588 0 : case 2:
1589 : {
1590 0 : int v_3 = z->l - z->c;
1591 0 : if (z->c <= z->lb || z->p[z->c - 1] != 'h') goto lab2;
1592 0 : z->c--;
1593 : {
1594 0 : int ret = r_R1(z);
1595 0 : if (ret == 0) goto lab2;
1596 0 : if (ret < 0) return ret;
1597 : }
1598 0 : return 0;
1599 0 : lab2:
1600 0 : z->c = z->l - v_3;
1601 : }
1602 : {
1603 0 : int v_4 = z->l - z->c;
1604 0 : if (!(eq_s_b(z, 2, s_74))) goto lab3;
1605 0 : if (z->c > z->lb) goto lab3;
1606 0 : return 0;
1607 0 : lab3:
1608 0 : z->c = z->l - v_4;
1609 : }
1610 : {
1611 0 : int ret = slice_del(z);
1612 0 : if (ret < 0) return ret;
1613 : }
1614 0 : break;
1615 : }
1616 0 : return 1;
1617 : }
1618 :
1619 0 : static int r_Lose_prefix(struct SN_env * z) {
1620 : int among_var;
1621 0 : z->bra = z->c;
1622 0 : if (!(eq_s(z, 2, s_75))) return 0;
1623 0 : z->ket = z->c;
1624 : {
1625 0 : int v_1 = z->c;
1626 : {
1627 0 : int ret = skip_utf8(z->p, z->c, z->l, 3);
1628 0 : if (ret < 0) return 0;
1629 0 : z->c = ret;
1630 : }
1631 0 : z->c = v_1;
1632 : }
1633 : {
1634 0 : int v_2 = z->c;
1635 0 : while (1) {
1636 0 : int v_3 = z->c;
1637 : do {
1638 0 : int v_4 = z->c;
1639 0 : if (!(eq_s(z, 2, s_76))) goto lab1;
1640 0 : break;
1641 0 : lab1:
1642 0 : z->c = v_4;
1643 0 : if (in_grouping_U(z, g_v, 97, 252, 0)) goto lab0;
1644 : } while (0);
1645 0 : break;
1646 0 : lab0:
1647 0 : z->c = v_3;
1648 : {
1649 0 : int ret = skip_utf8(z->p, z->c, z->l, 1);
1650 0 : if (ret < 0) return 0;
1651 0 : z->c = ret;
1652 : }
1653 : }
1654 0 : while (1) {
1655 0 : int v_5 = z->c;
1656 : do {
1657 0 : int v_6 = z->c;
1658 0 : if (!(eq_s(z, 2, s_77))) goto lab3;
1659 0 : break;
1660 0 : lab3:
1661 0 : z->c = v_6;
1662 0 : if (in_grouping_U(z, g_v, 97, 252, 0)) goto lab2;
1663 : } while (0);
1664 0 : continue;
1665 0 : lab2:
1666 0 : z->c = v_5;
1667 0 : break;
1668 : }
1669 0 : if (z->c < z->l) goto lab4;
1670 0 : return 0;
1671 0 : lab4:
1672 0 : z->c = v_2;
1673 : }
1674 0 : if (z->c + 2 >= z->l || z->p[z->c + 2] >> 5 != 3 || !((1314818 >> (z->p[z->c + 2] & 0x1f)) & 1)) among_var = -1; else
1675 0 : among_var = find_among(z, a_9, 6, 0);
1676 0 : switch (among_var) {
1677 0 : case 1:
1678 0 : return 0;
1679 : break;
1680 : }
1681 0 : ((SN_local *)z)->b_GE_removed = 1;
1682 : {
1683 0 : int ret = slice_del(z);
1684 0 : if (ret < 0) return ret;
1685 : }
1686 : {
1687 0 : int v_7 = z->c;
1688 0 : z->bra = z->c;
1689 0 : if (z->c + 1 >= z->l || (z->p[z->c + 1] != 171 && z->p[z->c + 1] != 175)) goto lab5;
1690 0 : among_var = find_among(z, a_10, 2, 0);
1691 0 : if (!among_var) goto lab5;
1692 0 : z->ket = z->c;
1693 0 : switch (among_var) {
1694 0 : case 1:
1695 : {
1696 0 : int ret = slice_from_s(z, 1, s_78);
1697 0 : if (ret < 0) return ret;
1698 : }
1699 0 : break;
1700 0 : case 2:
1701 : {
1702 0 : int ret = slice_from_s(z, 1, s_79);
1703 0 : if (ret < 0) return ret;
1704 : }
1705 0 : break;
1706 : }
1707 0 : lab5:
1708 0 : z->c = v_7;
1709 : }
1710 0 : return 1;
1711 : }
1712 :
1713 0 : static int r_Lose_infix(struct SN_env * z) {
1714 : int among_var;
1715 : {
1716 0 : int ret = skip_utf8(z->p, z->c, z->l, 1);
1717 0 : if (ret < 0) return 0;
1718 0 : z->c = ret;
1719 : }
1720 : while (1) {
1721 0 : z->bra = z->c;
1722 0 : if (!(eq_s(z, 2, s_80))) goto lab0;
1723 0 : z->ket = z->c;
1724 0 : break;
1725 0 : lab0:
1726 : {
1727 0 : int ret = skip_utf8(z->p, z->c, z->l, 1);
1728 0 : if (ret < 0) return 0;
1729 0 : z->c = ret;
1730 : }
1731 : }
1732 : {
1733 0 : int v_1 = z->c;
1734 : {
1735 0 : int ret = skip_utf8(z->p, z->c, z->l, 3);
1736 0 : if (ret < 0) return 0;
1737 0 : z->c = ret;
1738 : }
1739 0 : z->c = v_1;
1740 : }
1741 : {
1742 0 : int v_2 = z->c;
1743 0 : while (1) {
1744 0 : int v_3 = z->c;
1745 : do {
1746 0 : int v_4 = z->c;
1747 0 : if (!(eq_s(z, 2, s_81))) goto lab2;
1748 0 : break;
1749 0 : lab2:
1750 0 : z->c = v_4;
1751 0 : if (in_grouping_U(z, g_v, 97, 252, 0)) goto lab1;
1752 : } while (0);
1753 0 : break;
1754 0 : lab1:
1755 0 : z->c = v_3;
1756 : {
1757 0 : int ret = skip_utf8(z->p, z->c, z->l, 1);
1758 0 : if (ret < 0) return 0;
1759 0 : z->c = ret;
1760 : }
1761 : }
1762 0 : while (1) {
1763 0 : int v_5 = z->c;
1764 : do {
1765 0 : int v_6 = z->c;
1766 0 : if (!(eq_s(z, 2, s_82))) goto lab4;
1767 0 : break;
1768 0 : lab4:
1769 0 : z->c = v_6;
1770 0 : if (in_grouping_U(z, g_v, 97, 252, 0)) goto lab3;
1771 : } while (0);
1772 0 : continue;
1773 0 : lab3:
1774 0 : z->c = v_5;
1775 0 : break;
1776 : }
1777 0 : if (z->c < z->l) goto lab5;
1778 0 : return 0;
1779 0 : lab5:
1780 0 : z->c = v_2;
1781 : }
1782 0 : ((SN_local *)z)->b_GE_removed = 1;
1783 : {
1784 0 : int ret = slice_del(z);
1785 0 : if (ret < 0) return ret;
1786 : }
1787 : {
1788 0 : int v_7 = z->c;
1789 0 : z->bra = z->c;
1790 0 : if (z->c + 1 >= z->l || (z->p[z->c + 1] != 171 && z->p[z->c + 1] != 175)) goto lab6;
1791 0 : among_var = find_among(z, a_11, 2, 0);
1792 0 : if (!among_var) goto lab6;
1793 0 : z->ket = z->c;
1794 0 : switch (among_var) {
1795 0 : case 1:
1796 : {
1797 0 : int ret = slice_from_s(z, 1, s_83);
1798 0 : if (ret < 0) return ret;
1799 : }
1800 0 : break;
1801 0 : case 2:
1802 : {
1803 0 : int ret = slice_from_s(z, 1, s_84);
1804 0 : if (ret < 0) return ret;
1805 : }
1806 0 : break;
1807 : }
1808 0 : lab6:
1809 0 : z->c = v_7;
1810 : }
1811 0 : return 1;
1812 : }
1813 :
1814 0 : static int r_measure(struct SN_env * z) {
1815 0 : ((SN_local *)z)->i_p1 = z->l;
1816 0 : ((SN_local *)z)->i_p2 = z->l;
1817 0 : {
1818 0 : int v_1 = z->c;
1819 : while (1) {
1820 0 : if (out_grouping_U(z, g_v, 97, 252, 0)) goto lab1;
1821 0 : continue;
1822 0 : lab1:
1823 0 : break;
1824 : }
1825 : {
1826 0 : int v_2 = 1;
1827 0 : while (1) {
1828 0 : int v_3 = z->c;
1829 : do {
1830 0 : int v_4 = z->c;
1831 0 : if (!(eq_s(z, 2, s_85))) goto lab3;
1832 0 : break;
1833 0 : lab3:
1834 0 : z->c = v_4;
1835 0 : if (in_grouping_U(z, g_v, 97, 252, 0)) goto lab2;
1836 : } while (0);
1837 0 : v_2--;
1838 0 : continue;
1839 0 : lab2:
1840 0 : z->c = v_3;
1841 0 : break;
1842 : }
1843 0 : if (v_2 > 0) goto lab0;
1844 : }
1845 0 : if (out_grouping_U(z, g_v, 97, 252, 0)) goto lab0;
1846 0 : ((SN_local *)z)->i_p1 = z->c;
1847 : while (1) {
1848 0 : if (out_grouping_U(z, g_v, 97, 252, 0)) goto lab4;
1849 0 : continue;
1850 0 : lab4:
1851 0 : break;
1852 : }
1853 : {
1854 0 : int v_5 = 1;
1855 0 : while (1) {
1856 0 : int v_6 = z->c;
1857 : do {
1858 0 : int v_7 = z->c;
1859 0 : if (!(eq_s(z, 2, s_86))) goto lab6;
1860 0 : break;
1861 0 : lab6:
1862 0 : z->c = v_7;
1863 0 : if (in_grouping_U(z, g_v, 97, 252, 0)) goto lab5;
1864 : } while (0);
1865 0 : v_5--;
1866 0 : continue;
1867 0 : lab5:
1868 0 : z->c = v_6;
1869 0 : break;
1870 : }
1871 0 : if (v_5 > 0) goto lab0;
1872 : }
1873 0 : if (out_grouping_U(z, g_v, 97, 252, 0)) goto lab0;
1874 0 : ((SN_local *)z)->i_p2 = z->c;
1875 0 : lab0:
1876 0 : z->c = v_1;
1877 : }
1878 0 : return 1;
1879 : }
1880 :
1881 0 : extern int dutch_UTF_8_stem(struct SN_env * z) {
1882 : int b_stemmed;
1883 0 : b_stemmed = 0;
1884 : {
1885 0 : int ret = r_measure(z);
1886 0 : if (ret <= 0) return ret;
1887 : }
1888 0 : z->lb = z->c; z->c = z->l;
1889 : {
1890 0 : int v_1 = z->l - z->c;
1891 : {
1892 0 : int ret = r_Step_1(z);
1893 0 : if (ret == 0) goto lab0;
1894 0 : if (ret < 0) return ret;
1895 : }
1896 0 : b_stemmed = 1;
1897 0 : lab0:
1898 0 : z->c = z->l - v_1;
1899 : }
1900 : {
1901 0 : int v_2 = z->l - z->c;
1902 : {
1903 0 : int ret = r_Step_2(z);
1904 0 : if (ret == 0) goto lab1;
1905 0 : if (ret < 0) return ret;
1906 : }
1907 0 : b_stemmed = 1;
1908 0 : lab1:
1909 0 : z->c = z->l - v_2;
1910 : }
1911 : {
1912 0 : int v_3 = z->l - z->c;
1913 : {
1914 0 : int ret = r_Step_3(z);
1915 0 : if (ret == 0) goto lab2;
1916 0 : if (ret < 0) return ret;
1917 : }
1918 0 : b_stemmed = 1;
1919 0 : lab2:
1920 0 : z->c = z->l - v_3;
1921 : }
1922 : {
1923 0 : int v_4 = z->l - z->c;
1924 : {
1925 0 : int ret = r_Step_4(z);
1926 0 : if (ret == 0) goto lab3;
1927 0 : if (ret < 0) return ret;
1928 : }
1929 0 : b_stemmed = 1;
1930 0 : lab3:
1931 0 : z->c = z->l - v_4;
1932 : }
1933 0 : z->c = z->lb;
1934 0 : ((SN_local *)z)->b_GE_removed = 0;
1935 : {
1936 0 : int v_5 = z->c;
1937 : {
1938 0 : int v_6 = z->c;
1939 : {
1940 0 : int ret = r_Lose_prefix(z);
1941 0 : if (ret == 0) goto lab4;
1942 0 : if (ret < 0) return ret;
1943 : }
1944 0 : z->c = v_6;
1945 : {
1946 0 : int ret = r_measure(z);
1947 0 : if (ret < 0) return ret;
1948 : }
1949 : }
1950 0 : lab4:
1951 0 : z->c = v_5;
1952 : }
1953 0 : z->lb = z->c; z->c = z->l;
1954 : {
1955 0 : int v_7 = z->l - z->c;
1956 0 : if (!((SN_local *)z)->b_GE_removed) goto lab5;
1957 0 : b_stemmed = 1;
1958 : {
1959 0 : int ret = r_Step_1c(z);
1960 0 : if (ret == 0) goto lab5;
1961 0 : if (ret < 0) return ret;
1962 : }
1963 0 : lab5:
1964 0 : z->c = z->l - v_7;
1965 : }
1966 0 : z->c = z->lb;
1967 0 : ((SN_local *)z)->b_GE_removed = 0;
1968 : {
1969 0 : int v_8 = z->c;
1970 : {
1971 0 : int v_9 = z->c;
1972 : {
1973 0 : int ret = r_Lose_infix(z);
1974 0 : if (ret == 0) goto lab6;
1975 0 : if (ret < 0) return ret;
1976 : }
1977 0 : z->c = v_9;
1978 : {
1979 0 : int ret = r_measure(z);
1980 0 : if (ret < 0) return ret;
1981 : }
1982 : }
1983 0 : lab6:
1984 0 : z->c = v_8;
1985 : }
1986 0 : z->lb = z->c; z->c = z->l;
1987 : {
1988 0 : int v_10 = z->l - z->c;
1989 0 : if (!((SN_local *)z)->b_GE_removed) goto lab7;
1990 0 : b_stemmed = 1;
1991 : {
1992 0 : int ret = r_Step_1c(z);
1993 0 : if (ret == 0) goto lab7;
1994 0 : if (ret < 0) return ret;
1995 : }
1996 0 : lab7:
1997 0 : z->c = z->l - v_10;
1998 : }
1999 0 : z->c = z->lb;
2000 0 : z->lb = z->c; z->c = z->l;
2001 : {
2002 0 : int v_11 = z->l - z->c;
2003 : {
2004 0 : int ret = r_Step_7(z);
2005 0 : if (ret == 0) goto lab8;
2006 0 : if (ret < 0) return ret;
2007 : }
2008 0 : b_stemmed = 1;
2009 0 : lab8:
2010 0 : z->c = z->l - v_11;
2011 : }
2012 : {
2013 0 : int v_12 = z->l - z->c;
2014 0 : if (!b_stemmed) goto lab9;
2015 : {
2016 0 : int ret = r_Step_6(z);
2017 0 : if (ret == 0) goto lab9;
2018 0 : if (ret < 0) return ret;
2019 : }
2020 0 : lab9:
2021 0 : z->c = z->l - v_12;
2022 : }
2023 0 : z->c = z->lb;
2024 0 : return 1;
2025 : }
2026 :
2027 0 : extern struct SN_env * dutch_UTF_8_create_env(void) {
2028 0 : struct SN_env * z = SN_new_env(sizeof(SN_local));
2029 0 : if (z) {
2030 0 : ((SN_local *)z)->b_GE_removed = 0;
2031 0 : ((SN_local *)z)->i_p2 = 0;
2032 0 : ((SN_local *)z)->i_p1 = 0;
2033 0 : ((SN_local *)z)->s_ch = NULL;
2034 :
2035 0 : if ((((SN_local *)z)->s_ch = create_s()) == NULL) {
2036 0 : dutch_UTF_8_close_env(z);
2037 0 : return NULL;
2038 : }
2039 : }
2040 0 : return z;
2041 : }
2042 :
2043 0 : extern void dutch_UTF_8_close_env(struct SN_env * z) {
2044 0 : if (z) {
2045 0 : lose_s(((SN_local *)z)->s_ch);
2046 : }
2047 0 : SN_delete_env(z);
2048 0 : }
2049 :
|