1 | /* This file was generated automatically by the Snowball to ISO C compiler */ |
2 | /* http://snowballstem.org/ */ |
3 | |
4 | #include "header.h" |
5 | |
6 | #ifdef __cplusplus |
7 | extern "C" { |
8 | #endif |
9 | extern int dutch_ISO_8859_1_stem(struct SN_env * z); |
10 | #ifdef __cplusplus |
11 | } |
12 | #endif |
13 | static int r_standard_suffix(struct SN_env * z); |
14 | static int r_undouble(struct SN_env * z); |
15 | static int r_R2(struct SN_env * z); |
16 | static int r_R1(struct SN_env * z); |
17 | static int r_mark_regions(struct SN_env * z); |
18 | static int r_en_ending(struct SN_env * z); |
19 | static int r_e_ending(struct SN_env * z); |
20 | static int r_postlude(struct SN_env * z); |
21 | static int r_prelude(struct SN_env * z); |
22 | #ifdef __cplusplus |
23 | extern "C" { |
24 | #endif |
25 | |
26 | |
27 | extern struct SN_env * dutch_ISO_8859_1_create_env(void); |
28 | extern void dutch_ISO_8859_1_close_env(struct SN_env * z); |
29 | |
30 | |
31 | #ifdef __cplusplus |
32 | } |
33 | #endif |
34 | static const symbol s_0_1[1] = { 0xE1 }; |
35 | static const symbol s_0_2[1] = { 0xE4 }; |
36 | static const symbol s_0_3[1] = { 0xE9 }; |
37 | static const symbol s_0_4[1] = { 0xEB }; |
38 | static const symbol s_0_5[1] = { 0xED }; |
39 | static const symbol s_0_6[1] = { 0xEF }; |
40 | static const symbol s_0_7[1] = { 0xF3 }; |
41 | static const symbol s_0_8[1] = { 0xF6 }; |
42 | static const symbol s_0_9[1] = { 0xFA }; |
43 | static const symbol s_0_10[1] = { 0xFC }; |
44 | |
45 | static const struct among a_0[11] = |
46 | { |
47 | /* 0 */ { 0, 0, -1, 6, 0}, |
48 | /* 1 */ { 1, s_0_1, 0, 1, 0}, |
49 | /* 2 */ { 1, s_0_2, 0, 1, 0}, |
50 | /* 3 */ { 1, s_0_3, 0, 2, 0}, |
51 | /* 4 */ { 1, s_0_4, 0, 2, 0}, |
52 | /* 5 */ { 1, s_0_5, 0, 3, 0}, |
53 | /* 6 */ { 1, s_0_6, 0, 3, 0}, |
54 | /* 7 */ { 1, s_0_7, 0, 4, 0}, |
55 | /* 8 */ { 1, s_0_8, 0, 4, 0}, |
56 | /* 9 */ { 1, s_0_9, 0, 5, 0}, |
57 | /* 10 */ { 1, s_0_10, 0, 5, 0} |
58 | }; |
59 | |
60 | static const symbol s_1_1[1] = { 'I' }; |
61 | static const symbol s_1_2[1] = { 'Y' }; |
62 | |
63 | static const struct among a_1[3] = |
64 | { |
65 | /* 0 */ { 0, 0, -1, 3, 0}, |
66 | /* 1 */ { 1, s_1_1, 0, 2, 0}, |
67 | /* 2 */ { 1, s_1_2, 0, 1, 0} |
68 | }; |
69 | |
70 | static const symbol s_2_0[2] = { 'd', 'd' }; |
71 | static const symbol s_2_1[2] = { 'k', 'k' }; |
72 | static const symbol s_2_2[2] = { 't', 't' }; |
73 | |
74 | static const struct among a_2[3] = |
75 | { |
76 | /* 0 */ { 2, s_2_0, -1, -1, 0}, |
77 | /* 1 */ { 2, s_2_1, -1, -1, 0}, |
78 | /* 2 */ { 2, s_2_2, -1, -1, 0} |
79 | }; |
80 | |
81 | static const symbol s_3_0[3] = { 'e', 'n', 'e' }; |
82 | static const symbol s_3_1[2] = { 's', 'e' }; |
83 | static const symbol s_3_2[2] = { 'e', 'n' }; |
84 | static const symbol s_3_3[5] = { 'h', 'e', 'd', 'e', 'n' }; |
85 | static const symbol s_3_4[1] = { 's' }; |
86 | |
87 | static const struct among a_3[5] = |
88 | { |
89 | /* 0 */ { 3, s_3_0, -1, 2, 0}, |
90 | /* 1 */ { 2, s_3_1, -1, 3, 0}, |
91 | /* 2 */ { 2, s_3_2, -1, 2, 0}, |
92 | /* 3 */ { 5, s_3_3, 2, 1, 0}, |
93 | /* 4 */ { 1, s_3_4, -1, 3, 0} |
94 | }; |
95 | |
96 | static const symbol s_4_0[3] = { 'e', 'n', 'd' }; |
97 | static const symbol s_4_1[2] = { 'i', 'g' }; |
98 | static const symbol s_4_2[3] = { 'i', 'n', 'g' }; |
99 | static const symbol s_4_3[4] = { 'l', 'i', 'j', 'k' }; |
100 | static const symbol s_4_4[4] = { 'b', 'a', 'a', 'r' }; |
101 | static const symbol s_4_5[3] = { 'b', 'a', 'r' }; |
102 | |
103 | static const struct among a_4[6] = |
104 | { |
105 | /* 0 */ { 3, s_4_0, -1, 1, 0}, |
106 | /* 1 */ { 2, s_4_1, -1, 2, 0}, |
107 | /* 2 */ { 3, s_4_2, -1, 1, 0}, |
108 | /* 3 */ { 4, s_4_3, -1, 3, 0}, |
109 | /* 4 */ { 4, s_4_4, -1, 4, 0}, |
110 | /* 5 */ { 3, s_4_5, -1, 5, 0} |
111 | }; |
112 | |
113 | static const symbol s_5_0[2] = { 'a', 'a' }; |
114 | static const symbol s_5_1[2] = { 'e', 'e' }; |
115 | static const symbol s_5_2[2] = { 'o', 'o' }; |
116 | static const symbol s_5_3[2] = { 'u', 'u' }; |
117 | |
118 | static const struct among a_5[4] = |
119 | { |
120 | /* 0 */ { 2, s_5_0, -1, -1, 0}, |
121 | /* 1 */ { 2, s_5_1, -1, -1, 0}, |
122 | /* 2 */ { 2, s_5_2, -1, -1, 0}, |
123 | /* 3 */ { 2, s_5_3, -1, -1, 0} |
124 | }; |
125 | |
126 | static const unsigned char g_v[] = { 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 }; |
127 | |
128 | static const unsigned char g_v_I[] = { 1, 0, 0, 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 }; |
129 | |
130 | static const unsigned char g_v_j[] = { 17, 67, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 }; |
131 | |
132 | static const symbol s_0[] = { 'a' }; |
133 | static const symbol s_1[] = { 'e' }; |
134 | static const symbol s_2[] = { 'i' }; |
135 | static const symbol s_3[] = { 'o' }; |
136 | static const symbol s_4[] = { 'u' }; |
137 | static const symbol s_5[] = { 'Y' }; |
138 | static const symbol s_6[] = { 'I' }; |
139 | static const symbol s_7[] = { 'Y' }; |
140 | static const symbol s_8[] = { 'y' }; |
141 | static const symbol s_9[] = { 'i' }; |
142 | static const symbol s_10[] = { 'g', 'e', 'm' }; |
143 | static const symbol s_11[] = { 'h', 'e', 'i', 'd' }; |
144 | static const symbol s_12[] = { 'h', 'e', 'i', 'd' }; |
145 | static const symbol s_13[] = { 'e', 'n' }; |
146 | static const symbol s_14[] = { 'i', 'g' }; |
147 | |
148 | static int r_prelude(struct SN_env * z) { /* forwardmode */ |
149 | int among_var; |
150 | { int c_test1 = z->c; /* test, line 42 */ |
151 | while(1) { /* repeat, line 42 */ |
152 | int c2 = z->c; |
153 | z->bra = z->c; /* [, line 43 */ |
154 | if (z->c >= z->l || z->p[z->c + 0] >> 5 != 7 || !((340306450 >> (z->p[z->c + 0] & 0x1f)) & 1)) among_var = 6; else /* substring, line 43 */ |
155 | among_var = find_among(z, a_0, 11); |
156 | if (!(among_var)) goto lab0; |
157 | z->ket = z->c; /* ], line 43 */ |
158 | switch (among_var) { /* among, line 43 */ |
159 | case 1: |
160 | { int ret = slice_from_s(z, 1, s_0); /* <-, line 45 */ |
161 | if (ret < 0) return ret; |
162 | } |
163 | break; |
164 | case 2: |
165 | { int ret = slice_from_s(z, 1, s_1); /* <-, line 47 */ |
166 | if (ret < 0) return ret; |
167 | } |
168 | break; |
169 | case 3: |
170 | { int ret = slice_from_s(z, 1, s_2); /* <-, line 49 */ |
171 | if (ret < 0) return ret; |
172 | } |
173 | break; |
174 | case 4: |
175 | { int ret = slice_from_s(z, 1, s_3); /* <-, line 51 */ |
176 | if (ret < 0) return ret; |
177 | } |
178 | break; |
179 | case 5: |
180 | { int ret = slice_from_s(z, 1, s_4); /* <-, line 53 */ |
181 | if (ret < 0) return ret; |
182 | } |
183 | break; |
184 | case 6: |
185 | if (z->c >= z->l) goto lab0; |
186 | z->c++; /* next, line 54 */ |
187 | break; |
188 | } |
189 | continue; |
190 | lab0: |
191 | z->c = c2; |
192 | break; |
193 | } |
194 | z->c = c_test1; |
195 | } |
196 | { int c3 = z->c; /* try, line 57 */ |
197 | z->bra = z->c; /* [, line 57 */ |
198 | if (z->c == z->l || z->p[z->c] != 'y') { z->c = c3; goto lab1; } /* literal, line 57 */ |
199 | z->c++; |
200 | z->ket = z->c; /* ], line 57 */ |
201 | { int ret = slice_from_s(z, 1, s_5); /* <-, line 57 */ |
202 | if (ret < 0) return ret; |
203 | } |
204 | lab1: |
205 | ; |
206 | } |
207 | while(1) { /* repeat, line 58 */ |
208 | int c4 = z->c; |
209 | while(1) { /* goto, line 58 */ |
210 | int c5 = z->c; |
211 | if (in_grouping(z, g_v, 97, 232, 0)) goto lab3; /* grouping v, line 59 */ |
212 | z->bra = z->c; /* [, line 59 */ |
213 | { int c6 = z->c; /* or, line 59 */ |
214 | if (z->c == z->l || z->p[z->c] != 'i') goto lab5; /* literal, line 59 */ |
215 | z->c++; |
216 | z->ket = z->c; /* ], line 59 */ |
217 | if (in_grouping(z, g_v, 97, 232, 0)) goto lab5; /* grouping v, line 59 */ |
218 | { int ret = slice_from_s(z, 1, s_6); /* <-, line 59 */ |
219 | if (ret < 0) return ret; |
220 | } |
221 | goto lab4; |
222 | lab5: |
223 | z->c = c6; |
224 | if (z->c == z->l || z->p[z->c] != 'y') goto lab3; /* literal, line 60 */ |
225 | z->c++; |
226 | z->ket = z->c; /* ], line 60 */ |
227 | { int ret = slice_from_s(z, 1, s_7); /* <-, line 60 */ |
228 | if (ret < 0) return ret; |
229 | } |
230 | } |
231 | lab4: |
232 | z->c = c5; |
233 | break; |
234 | lab3: |
235 | z->c = c5; |
236 | if (z->c >= z->l) goto lab2; |
237 | z->c++; /* goto, line 58 */ |
238 | } |
239 | continue; |
240 | lab2: |
241 | z->c = c4; |
242 | break; |
243 | } |
244 | return 1; |
245 | } |
246 | |
247 | static int r_mark_regions(struct SN_env * z) { /* forwardmode */ |
248 | z->I[0] = z->l; /* $p1 = <integer expression>, line 66 */ |
249 | z->I[1] = z->l; /* $p2 = <integer expression>, line 67 */ |
250 | { /* gopast */ /* grouping v, line 69 */ |
251 | int ret = out_grouping(z, g_v, 97, 232, 1); |
252 | if (ret < 0) return 0; |
253 | z->c += ret; |
254 | } |
255 | { /* gopast */ /* non v, line 69 */ |
256 | int ret = in_grouping(z, g_v, 97, 232, 1); |
257 | if (ret < 0) return 0; |
258 | z->c += ret; |
259 | } |
260 | z->I[0] = z->c; /* setmark p1, line 69 */ |
261 | /* try, line 70 */ |
262 | if (!(z->I[0] < 3)) goto lab0; /* $(<integer expression> < <integer expression>), line 70 */ |
263 | z->I[0] = 3; /* $p1 = <integer expression>, line 70 */ |
264 | lab0: |
265 | { /* gopast */ /* grouping v, line 71 */ |
266 | int ret = out_grouping(z, g_v, 97, 232, 1); |
267 | if (ret < 0) return 0; |
268 | z->c += ret; |
269 | } |
270 | { /* gopast */ /* non v, line 71 */ |
271 | int ret = in_grouping(z, g_v, 97, 232, 1); |
272 | if (ret < 0) return 0; |
273 | z->c += ret; |
274 | } |
275 | z->I[1] = z->c; /* setmark p2, line 71 */ |
276 | return 1; |
277 | } |
278 | |
279 | static int r_postlude(struct SN_env * z) { /* forwardmode */ |
280 | int among_var; |
281 | while(1) { /* repeat, line 75 */ |
282 | int c1 = z->c; |
283 | z->bra = z->c; /* [, line 77 */ |
284 | if (z->c >= z->l || (z->p[z->c + 0] != 73 && z->p[z->c + 0] != 89)) among_var = 3; else /* substring, line 77 */ |
285 | among_var = find_among(z, a_1, 3); |
286 | if (!(among_var)) goto lab0; |
287 | z->ket = z->c; /* ], line 77 */ |
288 | switch (among_var) { /* among, line 77 */ |
289 | case 1: |
290 | { int ret = slice_from_s(z, 1, s_8); /* <-, line 78 */ |
291 | if (ret < 0) return ret; |
292 | } |
293 | break; |
294 | case 2: |
295 | { int ret = slice_from_s(z, 1, s_9); /* <-, line 79 */ |
296 | if (ret < 0) return ret; |
297 | } |
298 | break; |
299 | case 3: |
300 | if (z->c >= z->l) goto lab0; |
301 | z->c++; /* next, line 80 */ |
302 | break; |
303 | } |
304 | continue; |
305 | lab0: |
306 | z->c = c1; |
307 | break; |
308 | } |
309 | return 1; |
310 | } |
311 | |
312 | static int r_R1(struct SN_env * z) { /* backwardmode */ |
313 | if (!(z->I[0] <= z->c)) return 0; /* $(<integer expression> <= <integer expression>), line 87 */ |
314 | return 1; |
315 | } |
316 | |
317 | static int r_R2(struct SN_env * z) { /* backwardmode */ |
318 | if (!(z->I[1] <= z->c)) return 0; /* $(<integer expression> <= <integer expression>), line 88 */ |
319 | return 1; |
320 | } |
321 | |
322 | static int r_undouble(struct SN_env * z) { /* backwardmode */ |
323 | { int m_test1 = z->l - z->c; /* test, line 91 */ |
324 | if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1050640 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; /* among, line 91 */ |
325 | if (!(find_among_b(z, a_2, 3))) return 0; |
326 | z->c = z->l - m_test1; |
327 | } |
328 | z->ket = z->c; /* [, line 91 */ |
329 | if (z->c <= z->lb) return 0; |
330 | z->c--; /* next, line 91 */ |
331 | z->bra = z->c; /* ], line 91 */ |
332 | { int ret = slice_del(z); /* delete, line 91 */ |
333 | if (ret < 0) return ret; |
334 | } |
335 | return 1; |
336 | } |
337 | |
338 | static int r_e_ending(struct SN_env * z) { /* backwardmode */ |
339 | z->B[0] = 0; /* unset e_found, line 95 */ |
340 | z->ket = z->c; /* [, line 96 */ |
341 | if (z->c <= z->lb || z->p[z->c - 1] != 'e') return 0; /* literal, line 96 */ |
342 | z->c--; |
343 | z->bra = z->c; /* ], line 96 */ |
344 | { int ret = r_R1(z); /* call R1, line 96 */ |
345 | if (ret <= 0) return ret; |
346 | } |
347 | { int m_test1 = z->l - z->c; /* test, line 96 */ |
348 | if (out_grouping_b(z, g_v, 97, 232, 0)) return 0; /* non v, line 96 */ |
349 | z->c = z->l - m_test1; |
350 | } |
351 | { int ret = slice_del(z); /* delete, line 96 */ |
352 | if (ret < 0) return ret; |
353 | } |
354 | z->B[0] = 1; /* set e_found, line 97 */ |
355 | { int ret = r_undouble(z); /* call undouble, line 98 */ |
356 | if (ret <= 0) return ret; |
357 | } |
358 | return 1; |
359 | } |
360 | |
361 | static int r_en_ending(struct SN_env * z) { /* backwardmode */ |
362 | { int ret = r_R1(z); /* call R1, line 102 */ |
363 | if (ret <= 0) return ret; |
364 | } |
365 | { int m1 = z->l - z->c; (void)m1; /* and, line 102 */ |
366 | if (out_grouping_b(z, g_v, 97, 232, 0)) return 0; /* non v, line 102 */ |
367 | z->c = z->l - m1; |
368 | { int m2 = z->l - z->c; (void)m2; /* not, line 102 */ |
369 | if (!(eq_s_b(z, 3, s_10))) goto lab0; /* literal, line 102 */ |
370 | return 0; |
371 | lab0: |
372 | z->c = z->l - m2; |
373 | } |
374 | } |
375 | { int ret = slice_del(z); /* delete, line 102 */ |
376 | if (ret < 0) return ret; |
377 | } |
378 | { int ret = r_undouble(z); /* call undouble, line 103 */ |
379 | if (ret <= 0) return ret; |
380 | } |
381 | return 1; |
382 | } |
383 | |
384 | static int r_standard_suffix(struct SN_env * z) { /* backwardmode */ |
385 | int among_var; |
386 | { int m1 = z->l - z->c; (void)m1; /* do, line 107 */ |
387 | z->ket = z->c; /* [, line 108 */ |
388 | if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((540704 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab0; /* substring, line 108 */ |
389 | among_var = find_among_b(z, a_3, 5); |
390 | if (!(among_var)) goto lab0; |
391 | z->bra = z->c; /* ], line 108 */ |
392 | switch (among_var) { /* among, line 108 */ |
393 | case 1: |
394 | { int ret = r_R1(z); /* call R1, line 110 */ |
395 | if (ret == 0) goto lab0; |
396 | if (ret < 0) return ret; |
397 | } |
398 | { int ret = slice_from_s(z, 4, s_11); /* <-, line 110 */ |
399 | if (ret < 0) return ret; |
400 | } |
401 | break; |
402 | case 2: |
403 | { int ret = r_en_ending(z); /* call en_ending, line 113 */ |
404 | if (ret == 0) goto lab0; |
405 | if (ret < 0) return ret; |
406 | } |
407 | break; |
408 | case 3: |
409 | { int ret = r_R1(z); /* call R1, line 116 */ |
410 | if (ret == 0) goto lab0; |
411 | if (ret < 0) return ret; |
412 | } |
413 | if (out_grouping_b(z, g_v_j, 97, 232, 0)) goto lab0; /* non v_j, line 116 */ |
414 | { int ret = slice_del(z); /* delete, line 116 */ |
415 | if (ret < 0) return ret; |
416 | } |
417 | break; |
418 | } |
419 | lab0: |
420 | z->c = z->l - m1; |
421 | } |
422 | { int m2 = z->l - z->c; (void)m2; /* do, line 120 */ |
423 | { int ret = r_e_ending(z); /* call e_ending, line 120 */ |
424 | if (ret == 0) goto lab1; |
425 | if (ret < 0) return ret; |
426 | } |
427 | lab1: |
428 | z->c = z->l - m2; |
429 | } |
430 | { int m3 = z->l - z->c; (void)m3; /* do, line 122 */ |
431 | z->ket = z->c; /* [, line 122 */ |
432 | if (!(eq_s_b(z, 4, s_12))) goto lab2; /* literal, line 122 */ |
433 | z->bra = z->c; /* ], line 122 */ |
434 | { int ret = r_R2(z); /* call R2, line 122 */ |
435 | if (ret == 0) goto lab2; |
436 | if (ret < 0) return ret; |
437 | } |
438 | { int m4 = z->l - z->c; (void)m4; /* not, line 122 */ |
439 | if (z->c <= z->lb || z->p[z->c - 1] != 'c') goto lab3; /* literal, line 122 */ |
440 | z->c--; |
441 | goto lab2; |
442 | lab3: |
443 | z->c = z->l - m4; |
444 | } |
445 | { int ret = slice_del(z); /* delete, line 122 */ |
446 | if (ret < 0) return ret; |
447 | } |
448 | z->ket = z->c; /* [, line 123 */ |
449 | if (!(eq_s_b(z, 2, s_13))) goto lab2; /* literal, line 123 */ |
450 | z->bra = z->c; /* ], line 123 */ |
451 | { int ret = r_en_ending(z); /* call en_ending, line 123 */ |
452 | if (ret == 0) goto lab2; |
453 | if (ret < 0) return ret; |
454 | } |
455 | lab2: |
456 | z->c = z->l - m3; |
457 | } |
458 | { int m5 = z->l - z->c; (void)m5; /* do, line 126 */ |
459 | z->ket = z->c; /* [, line 127 */ |
460 | if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((264336 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab4; /* substring, line 127 */ |
461 | among_var = find_among_b(z, a_4, 6); |
462 | if (!(among_var)) goto lab4; |
463 | z->bra = z->c; /* ], line 127 */ |
464 | switch (among_var) { /* among, line 127 */ |
465 | case 1: |
466 | { int ret = r_R2(z); /* call R2, line 129 */ |
467 | if (ret == 0) goto lab4; |
468 | if (ret < 0) return ret; |
469 | } |
470 | { int ret = slice_del(z); /* delete, line 129 */ |
471 | if (ret < 0) return ret; |
472 | } |
473 | { int m6 = z->l - z->c; (void)m6; /* or, line 130 */ |
474 | z->ket = z->c; /* [, line 130 */ |
475 | if (!(eq_s_b(z, 2, s_14))) goto lab6; /* literal, line 130 */ |
476 | z->bra = z->c; /* ], line 130 */ |
477 | { int ret = r_R2(z); /* call R2, line 130 */ |
478 | if (ret == 0) goto lab6; |
479 | if (ret < 0) return ret; |
480 | } |
481 | { int m7 = z->l - z->c; (void)m7; /* not, line 130 */ |
482 | if (z->c <= z->lb || z->p[z->c - 1] != 'e') goto lab7; /* literal, line 130 */ |
483 | z->c--; |
484 | goto lab6; |
485 | lab7: |
486 | z->c = z->l - m7; |
487 | } |
488 | { int ret = slice_del(z); /* delete, line 130 */ |
489 | if (ret < 0) return ret; |
490 | } |
491 | goto lab5; |
492 | lab6: |
493 | z->c = z->l - m6; |
494 | { int ret = r_undouble(z); /* call undouble, line 130 */ |
495 | if (ret == 0) goto lab4; |
496 | if (ret < 0) return ret; |
497 | } |
498 | } |
499 | lab5: |
500 | break; |
501 | case 2: |
502 | { int ret = r_R2(z); /* call R2, line 133 */ |
503 | if (ret == 0) goto lab4; |
504 | if (ret < 0) return ret; |
505 | } |
506 | { int m8 = z->l - z->c; (void)m8; /* not, line 133 */ |
507 | if (z->c <= z->lb || z->p[z->c - 1] != 'e') goto lab8; /* literal, line 133 */ |
508 | z->c--; |
509 | goto lab4; |
510 | lab8: |
511 | z->c = z->l - m8; |
512 | } |
513 | { int ret = slice_del(z); /* delete, line 133 */ |
514 | if (ret < 0) return ret; |
515 | } |
516 | break; |
517 | case 3: |
518 | { int ret = r_R2(z); /* call R2, line 136 */ |
519 | if (ret == 0) goto lab4; |
520 | if (ret < 0) return ret; |
521 | } |
522 | { int ret = slice_del(z); /* delete, line 136 */ |
523 | if (ret < 0) return ret; |
524 | } |
525 | { int ret = r_e_ending(z); /* call e_ending, line 136 */ |
526 | if (ret == 0) goto lab4; |
527 | if (ret < 0) return ret; |
528 | } |
529 | break; |
530 | case 4: |
531 | { int ret = r_R2(z); /* call R2, line 139 */ |
532 | if (ret == 0) goto lab4; |
533 | if (ret < 0) return ret; |
534 | } |
535 | { int ret = slice_del(z); /* delete, line 139 */ |
536 | if (ret < 0) return ret; |
537 | } |
538 | break; |
539 | case 5: |
540 | { int ret = r_R2(z); /* call R2, line 142 */ |
541 | if (ret == 0) goto lab4; |
542 | if (ret < 0) return ret; |
543 | } |
544 | if (!(z->B[0])) goto lab4; /* Boolean test e_found, line 142 */ |
545 | { int ret = slice_del(z); /* delete, line 142 */ |
546 | if (ret < 0) return ret; |
547 | } |
548 | break; |
549 | } |
550 | lab4: |
551 | z->c = z->l - m5; |
552 | } |
553 | { int m9 = z->l - z->c; (void)m9; /* do, line 146 */ |
554 | if (out_grouping_b(z, g_v_I, 73, 232, 0)) goto lab9; /* non v_I, line 147 */ |
555 | { int m_test10 = z->l - z->c; /* test, line 148 */ |
556 | if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((2129954 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab9; /* among, line 149 */ |
557 | if (!(find_among_b(z, a_5, 4))) goto lab9; |
558 | if (out_grouping_b(z, g_v, 97, 232, 0)) goto lab9; /* non v, line 150 */ |
559 | z->c = z->l - m_test10; |
560 | } |
561 | z->ket = z->c; /* [, line 152 */ |
562 | if (z->c <= z->lb) goto lab9; |
563 | z->c--; /* next, line 152 */ |
564 | z->bra = z->c; /* ], line 152 */ |
565 | { int ret = slice_del(z); /* delete, line 152 */ |
566 | if (ret < 0) return ret; |
567 | } |
568 | lab9: |
569 | z->c = z->l - m9; |
570 | } |
571 | return 1; |
572 | } |
573 | |
574 | extern int dutch_ISO_8859_1_stem(struct SN_env * z) { /* forwardmode */ |
575 | { int c1 = z->c; /* do, line 159 */ |
576 | { int ret = r_prelude(z); /* call prelude, line 159 */ |
577 | if (ret == 0) goto lab0; |
578 | if (ret < 0) return ret; |
579 | } |
580 | lab0: |
581 | z->c = c1; |
582 | } |
583 | { int c2 = z->c; /* do, line 160 */ |
584 | { int ret = r_mark_regions(z); /* call mark_regions, line 160 */ |
585 | if (ret == 0) goto lab1; |
586 | if (ret < 0) return ret; |
587 | } |
588 | lab1: |
589 | z->c = c2; |
590 | } |
591 | z->lb = z->c; z->c = z->l; /* backwards, line 161 */ |
592 | |
593 | /* do, line 162 */ |
594 | { int ret = r_standard_suffix(z); /* call standard_suffix, line 162 */ |
595 | if (ret == 0) goto lab2; |
596 | if (ret < 0) return ret; |
597 | } |
598 | lab2: |
599 | z->c = z->lb; |
600 | { int c3 = z->c; /* do, line 163 */ |
601 | { int ret = r_postlude(z); /* call postlude, line 163 */ |
602 | if (ret == 0) goto lab3; |
603 | if (ret < 0) return ret; |
604 | } |
605 | lab3: |
606 | z->c = c3; |
607 | } |
608 | return 1; |
609 | } |
610 | |
611 | extern struct SN_env * dutch_ISO_8859_1_create_env(void) { return SN_create_env(0, 2, 1); } |
612 | |
613 | extern void dutch_ISO_8859_1_close_env(struct SN_env * z) { SN_close_env(z, 0); } |
614 | |
615 | |