No issues found
1 /*
2 * Copyright (c) 2001, Dr Martin Porter
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
6 * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
7 * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
8 * Neither the name of the <ORGANIZATION> nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
9 *
10 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
11 */
12
13
14
15 /* This file was generated automatically by the Snowball to ANSI C compiler */
16
17 #include "header.h"
18
19 extern int dutch_UTF_8_stem(struct SN_env * z);
20 static int r_standard_suffix(struct SN_env * z);
21 static int r_undouble(struct SN_env * z);
22 static int r_R2(struct SN_env * z);
23 static int r_R1(struct SN_env * z);
24 static int r_mark_regions(struct SN_env * z);
25 static int r_en_ending(struct SN_env * z);
26 static int r_e_ending(struct SN_env * z);
27 static int r_postlude(struct SN_env * z);
28 static int r_prelude(struct SN_env * z);
29
30 extern struct SN_env * dutch_UTF_8_create_env(void);
31 extern void dutch_UTF_8_close_env(struct SN_env * z);
32
33 static symbol s_0_1[2] = { 0xC3, 0xA1 };
34 static symbol s_0_2[2] = { 0xC3, 0xA4 };
35 static symbol s_0_3[2] = { 0xC3, 0xA9 };
36 static symbol s_0_4[2] = { 0xC3, 0xAB };
37 static symbol s_0_5[2] = { 0xC3, 0xAD };
38 static symbol s_0_6[2] = { 0xC3, 0xAF };
39 static symbol s_0_7[2] = { 0xC3, 0xB3 };
40 static symbol s_0_8[2] = { 0xC3, 0xB6 };
41 static symbol s_0_9[2] = { 0xC3, 0xBA };
42 static symbol s_0_10[2] = { 0xC3, 0xBC };
43
44 static struct among a_0[11] =
45 {
46 /* 0 */ { 0, 0, -1, 6, 0},
47 /* 1 */ { 2, s_0_1, 0, 1, 0},
48 /* 2 */ { 2, s_0_2, 0, 1, 0},
49 /* 3 */ { 2, s_0_3, 0, 2, 0},
50 /* 4 */ { 2, s_0_4, 0, 2, 0},
51 /* 5 */ { 2, s_0_5, 0, 3, 0},
52 /* 6 */ { 2, s_0_6, 0, 3, 0},
53 /* 7 */ { 2, s_0_7, 0, 4, 0},
54 /* 8 */ { 2, s_0_8, 0, 4, 0},
55 /* 9 */ { 2, s_0_9, 0, 5, 0},
56 /* 10 */ { 2, s_0_10, 0, 5, 0}
57 };
58
59 static symbol s_1_1[1] = { 'I' };
60 static symbol s_1_2[1] = { 'Y' };
61
62 static struct among a_1[3] =
63 {
64 /* 0 */ { 0, 0, -1, 3, 0},
65 /* 1 */ { 1, s_1_1, 0, 2, 0},
66 /* 2 */ { 1, s_1_2, 0, 1, 0}
67 };
68
69 static symbol s_2_0[2] = { 'd', 'd' };
70 static symbol s_2_1[2] = { 'k', 'k' };
71 static symbol s_2_2[2] = { 't', 't' };
72
73 static struct among a_2[3] =
74 {
75 /* 0 */ { 2, s_2_0, -1, -1, 0},
76 /* 1 */ { 2, s_2_1, -1, -1, 0},
77 /* 2 */ { 2, s_2_2, -1, -1, 0}
78 };
79
80 static symbol s_3_0[3] = { 'e', 'n', 'e' };
81 static symbol s_3_1[2] = { 's', 'e' };
82 static symbol s_3_2[2] = { 'e', 'n' };
83 static symbol s_3_3[5] = { 'h', 'e', 'd', 'e', 'n' };
84 static symbol s_3_4[1] = { 's' };
85
86 static struct among a_3[5] =
87 {
88 /* 0 */ { 3, s_3_0, -1, 2, 0},
89 /* 1 */ { 2, s_3_1, -1, 3, 0},
90 /* 2 */ { 2, s_3_2, -1, 2, 0},
91 /* 3 */ { 5, s_3_3, 2, 1, 0},
92 /* 4 */ { 1, s_3_4, -1, 3, 0}
93 };
94
95 static symbol s_4_0[3] = { 'e', 'n', 'd' };
96 static symbol s_4_1[2] = { 'i', 'g' };
97 static symbol s_4_2[3] = { 'i', 'n', 'g' };
98 static symbol s_4_3[4] = { 'l', 'i', 'j', 'k' };
99 static symbol s_4_4[4] = { 'b', 'a', 'a', 'r' };
100 static symbol s_4_5[3] = { 'b', 'a', 'r' };
101
102 static struct among a_4[6] =
103 {
104 /* 0 */ { 3, s_4_0, -1, 1, 0},
105 /* 1 */ { 2, s_4_1, -1, 2, 0},
106 /* 2 */ { 3, s_4_2, -1, 1, 0},
107 /* 3 */ { 4, s_4_3, -1, 3, 0},
108 /* 4 */ { 4, s_4_4, -1, 4, 0},
109 /* 5 */ { 3, s_4_5, -1, 5, 0}
110 };
111
112 static symbol s_5_0[2] = { 'a', 'a' };
113 static symbol s_5_1[2] = { 'e', 'e' };
114 static symbol s_5_2[2] = { 'o', 'o' };
115 static symbol s_5_3[2] = { 'u', 'u' };
116
117 static struct among a_5[4] =
118 {
119 /* 0 */ { 2, s_5_0, -1, -1, 0},
120 /* 1 */ { 2, s_5_1, -1, -1, 0},
121 /* 2 */ { 2, s_5_2, -1, -1, 0},
122 /* 3 */ { 2, s_5_3, -1, -1, 0}
123 };
124
125 static unsigned char g_v[] = { 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 };
126
127 static 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 };
128
129 static unsigned char g_v_j[] = { 17, 67, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 };
130
131 static symbol s_0[] = { 'a' };
132 static symbol s_1[] = { 'e' };
133 static symbol s_2[] = { 'i' };
134 static symbol s_3[] = { 'o' };
135 static symbol s_4[] = { 'u' };
136 static symbol s_5[] = { 'y' };
137 static symbol s_6[] = { 'Y' };
138 static symbol s_7[] = { 'i' };
139 static symbol s_8[] = { 'I' };
140 static symbol s_9[] = { 'y' };
141 static symbol s_10[] = { 'Y' };
142 static symbol s_11[] = { 'y' };
143 static symbol s_12[] = { 'i' };
144 static symbol s_13[] = { 'e' };
145 static symbol s_14[] = { 'g', 'e', 'm' };
146 static symbol s_15[] = { 'h', 'e', 'i', 'd' };
147 static symbol s_16[] = { 'h', 'e', 'i', 'd' };
148 static symbol s_17[] = { 'c' };
149 static symbol s_18[] = { 'e', 'n' };
150 static symbol s_19[] = { 'i', 'g' };
151 static symbol s_20[] = { 'e' };
152 static symbol s_21[] = { 'e' };
153
154 static int r_prelude(struct SN_env * z) {
155 int among_var;
156 { int c_test = z->c; /* test, line 42 */
157 while(1) { /* repeat, line 42 */
158 int c = z->c;
159 z->bra = z->c; /* [, line 43 */
160 among_var = find_among(z, a_0, 11); /* substring, line 43 */
161 if (!(among_var)) goto lab0;
162 z->ket = z->c; /* ], line 43 */
163 switch(among_var) {
164 case 0: goto lab0;
165 case 1:
166 { int ret;
167 ret = slice_from_s(z, 1, s_0); /* <-, line 45 */
168 if (ret < 0) return ret;
169 }
170 break;
171 case 2:
172 { int ret;
173 ret = slice_from_s(z, 1, s_1); /* <-, line 47 */
174 if (ret < 0) return ret;
175 }
176 break;
177 case 3:
178 { int ret;
179 ret = slice_from_s(z, 1, s_2); /* <-, line 49 */
180 if (ret < 0) return ret;
181 }
182 break;
183 case 4:
184 { int ret;
185 ret = slice_from_s(z, 1, s_3); /* <-, line 51 */
186 if (ret < 0) return ret;
187 }
188 break;
189 case 5:
190 { int ret;
191 ret = slice_from_s(z, 1, s_4); /* <-, line 53 */
192 if (ret < 0) return ret;
193 }
194 break;
195 case 6:
196 { int c = skip_utf8(z->p, z->c, 0, z->l, 1);
197 if (c < 0) goto lab0;
198 z->c = c; /* next, line 54 */
199 }
200 break;
201 }
202 continue;
203 lab0:
204 z->c = c;
205 break;
206 }
207 z->c = c_test;
208 }
209 { int c = z->c; /* try, line 57 */
210 z->bra = z->c; /* [, line 57 */
211 if (!(eq_s(z, 1, s_5))) { z->c = c; goto lab1; }
212 z->ket = z->c; /* ], line 57 */
213 { int ret;
214 ret = slice_from_s(z, 1, s_6); /* <-, line 57 */
215 if (ret < 0) return ret;
216 }
217 lab1:
218 ;
219 }
220 while(1) { /* repeat, line 58 */
221 int c = z->c;
222 while(1) { /* goto, line 58 */
223 int c = z->c;
224 if (!(in_grouping_U(z, g_v, 97, 232))) goto lab3;
225 z->bra = z->c; /* [, line 59 */
226 { int c = z->c; /* or, line 59 */
227 if (!(eq_s(z, 1, s_7))) goto lab5;
228 z->ket = z->c; /* ], line 59 */
229 if (!(in_grouping_U(z, g_v, 97, 232))) goto lab5;
230 { int ret;
231 ret = slice_from_s(z, 1, s_8); /* <-, line 59 */
232 if (ret < 0) return ret;
233 }
234 goto lab4;
235 lab5:
236 z->c = c;
237 if (!(eq_s(z, 1, s_9))) goto lab3;
238 z->ket = z->c; /* ], line 60 */
239 { int ret;
240 ret = slice_from_s(z, 1, s_10); /* <-, line 60 */
241 if (ret < 0) return ret;
242 }
243 }
244 lab4:
245 z->c = c;
246 break;
247 lab3:
248 z->c = c;
249 { int c = skip_utf8(z->p, z->c, 0, z->l, 1);
250 if (c < 0) goto lab2;
251 z->c = c; /* goto, line 58 */
252 }
253 }
254 continue;
255 lab2:
256 z->c = c;
257 break;
258 }
259 return 1;
260 }
261
262 static int r_mark_regions(struct SN_env * z) {
263 z->I[0] = z->l;
264 z->I[1] = z->l;
265 while(1) { /* gopast, line 69 */
266 if (!(in_grouping_U(z, g_v, 97, 232))) goto lab0;
267 break;
268 lab0:
269 { int c = skip_utf8(z->p, z->c, 0, z->l, 1);
270 if (c < 0) return 0;
271 z->c = c; /* gopast, line 69 */
272 }
273 }
274 while(1) { /* gopast, line 69 */
275 if (!(out_grouping_U(z, g_v, 97, 232))) goto lab1;
276 break;
277 lab1:
278 { int c = skip_utf8(z->p, z->c, 0, z->l, 1);
279 if (c < 0) return 0;
280 z->c = c; /* gopast, line 69 */
281 }
282 }
283 z->I[0] = z->c; /* setmark p1, line 69 */
284 /* try, line 70 */
285 if (!(z->I[0] < 3)) goto lab2;
286 z->I[0] = 3;
287 lab2:
288 while(1) { /* gopast, line 71 */
289 if (!(in_grouping_U(z, g_v, 97, 232))) goto lab3;
290 break;
291 lab3:
292 { int c = skip_utf8(z->p, z->c, 0, z->l, 1);
293 if (c < 0) return 0;
294 z->c = c; /* gopast, line 71 */
295 }
296 }
297 while(1) { /* gopast, line 71 */
298 if (!(out_grouping_U(z, g_v, 97, 232))) goto lab4;
299 break;
300 lab4:
301 { int c = skip_utf8(z->p, z->c, 0, z->l, 1);
302 if (c < 0) return 0;
303 z->c = c; /* gopast, line 71 */
304 }
305 }
306 z->I[1] = z->c; /* setmark p2, line 71 */
307 return 1;
308 }
309
310 static int r_postlude(struct SN_env * z) {
311 int among_var;
312 while(1) { /* repeat, line 75 */
313 int c = z->c;
314 z->bra = z->c; /* [, line 77 */
315 among_var = find_among(z, a_1, 3); /* substring, line 77 */
316 if (!(among_var)) goto lab0;
317 z->ket = z->c; /* ], line 77 */
318 switch(among_var) {
319 case 0: goto lab0;
320 case 1:
321 { int ret;
322 ret = slice_from_s(z, 1, s_11); /* <-, line 78 */
323 if (ret < 0) return ret;
324 }
325 break;
326 case 2:
327 { int ret;
328 ret = slice_from_s(z, 1, s_12); /* <-, line 79 */
329 if (ret < 0) return ret;
330 }
331 break;
332 case 3:
333 { int c = skip_utf8(z->p, z->c, 0, z->l, 1);
334 if (c < 0) goto lab0;
335 z->c = c; /* next, line 80 */
336 }
337 break;
338 }
339 continue;
340 lab0:
341 z->c = c;
342 break;
343 }
344 return 1;
345 }
346
347 static int r_R1(struct SN_env * z) {
348 if (!(z->I[0] <= z->c)) return 0;
349 return 1;
350 }
351
352 static int r_R2(struct SN_env * z) {
353 if (!(z->I[1] <= z->c)) return 0;
354 return 1;
355 }
356
357 static int r_undouble(struct SN_env * z) {
358 { int m_test = z->l - z->c; /* test, line 91 */
359 if (!(find_among_b(z, a_2, 3))) return 0; /* among, line 91 */
360 z->c = z->l - m_test;
361 }
362 z->ket = z->c; /* [, line 91 */
363 { int c = skip_utf8(z->p, z->c, z->lb, 0, -1);
364 if (c < 0) return 0;
365 z->c = c; /* next, line 91 */
366 }
367 z->bra = z->c; /* ], line 91 */
368 { int ret;
369 ret = slice_del(z); /* delete, line 91 */
370 if (ret < 0) return ret;
371 }
372 return 1;
373 }
374
375 static int r_e_ending(struct SN_env * z) {
376 z->B[0] = 0; /* unset e_found, line 95 */
377 z->ket = z->c; /* [, line 96 */
378 if (!(eq_s_b(z, 1, s_13))) return 0;
379 z->bra = z->c; /* ], line 96 */
380 { int ret = r_R1(z);
381 if (ret == 0) return 0; /* call R1, line 96 */
382 if (ret < 0) return ret;
383 }
384 { int m_test = z->l - z->c; /* test, line 96 */
385 if (!(out_grouping_b_U(z, g_v, 97, 232))) return 0;
386 z->c = z->l - m_test;
387 }
388 { int ret;
389 ret = slice_del(z); /* delete, line 96 */
390 if (ret < 0) return ret;
391 }
392 z->B[0] = 1; /* set e_found, line 97 */
393 { int ret = r_undouble(z);
394 if (ret == 0) return 0; /* call undouble, line 98 */
395 if (ret < 0) return ret;
396 }
397 return 1;
398 }
399
400 static int r_en_ending(struct SN_env * z) {
401 { int ret = r_R1(z);
402 if (ret == 0) return 0; /* call R1, line 102 */
403 if (ret < 0) return ret;
404 }
405 { int m = z->l - z->c; (void) m; /* and, line 102 */
406 if (!(out_grouping_b_U(z, g_v, 97, 232))) return 0;
407 z->c = z->l - m;
408 { int m = z->l - z->c; (void) m; /* not, line 102 */
409 if (!(eq_s_b(z, 3, s_14))) goto lab0;
410 return 0;
411 lab0:
412 z->c = z->l - m;
413 }
414 }
415 { int ret;
416 ret = slice_del(z); /* delete, line 102 */
417 if (ret < 0) return ret;
418 }
419 { int ret = r_undouble(z);
420 if (ret == 0) return 0; /* call undouble, line 103 */
421 if (ret < 0) return ret;
422 }
423 return 1;
424 }
425
426 static int r_standard_suffix(struct SN_env * z) {
427 int among_var;
428 { int m = z->l - z->c; (void) m; /* do, line 107 */
429 z->ket = z->c; /* [, line 108 */
430 among_var = find_among_b(z, a_3, 5); /* substring, line 108 */
431 if (!(among_var)) goto lab0;
432 z->bra = z->c; /* ], line 108 */
433 switch(among_var) {
434 case 0: goto lab0;
435 case 1:
436 { int ret = r_R1(z);
437 if (ret == 0) goto lab0; /* call R1, line 110 */
438 if (ret < 0) return ret;
439 }
440 { int ret;
441 ret = slice_from_s(z, 4, s_15); /* <-, line 110 */
442 if (ret < 0) return ret;
443 }
444 break;
445 case 2:
446 { int ret = r_en_ending(z);
447 if (ret == 0) goto lab0; /* call en_ending, line 113 */
448 if (ret < 0) return ret;
449 }
450 break;
451 case 3:
452 { int ret = r_R1(z);
453 if (ret == 0) goto lab0; /* call R1, line 116 */
454 if (ret < 0) return ret;
455 }
456 if (!(out_grouping_b_U(z, g_v_j, 97, 232))) goto lab0;
457 { int ret;
458 ret = slice_del(z); /* delete, line 116 */
459 if (ret < 0) return ret;
460 }
461 break;
462 }
463 lab0:
464 z->c = z->l - m;
465 }
466 { int m = z->l - z->c; (void) m; /* do, line 120 */
467 { int ret = r_e_ending(z);
468 if (ret == 0) goto lab1; /* call e_ending, line 120 */
469 if (ret < 0) return ret;
470 }
471 lab1:
472 z->c = z->l - m;
473 }
474 { int m = z->l - z->c; (void) m; /* do, line 122 */
475 z->ket = z->c; /* [, line 122 */
476 if (!(eq_s_b(z, 4, s_16))) goto lab2;
477 z->bra = z->c; /* ], line 122 */
478 { int ret = r_R2(z);
479 if (ret == 0) goto lab2; /* call R2, line 122 */
480 if (ret < 0) return ret;
481 }
482 { int m = z->l - z->c; (void) m; /* not, line 122 */
483 if (!(eq_s_b(z, 1, s_17))) goto lab3;
484 goto lab2;
485 lab3:
486 z->c = z->l - m;
487 }
488 { int ret;
489 ret = slice_del(z); /* delete, line 122 */
490 if (ret < 0) return ret;
491 }
492 z->ket = z->c; /* [, line 123 */
493 if (!(eq_s_b(z, 2, s_18))) goto lab2;
494 z->bra = z->c; /* ], line 123 */
495 { int ret = r_en_ending(z);
496 if (ret == 0) goto lab2; /* call en_ending, line 123 */
497 if (ret < 0) return ret;
498 }
499 lab2:
500 z->c = z->l - m;
501 }
502 { int m = z->l - z->c; (void) m; /* do, line 126 */
503 z->ket = z->c; /* [, line 127 */
504 among_var = find_among_b(z, a_4, 6); /* substring, line 127 */
505 if (!(among_var)) goto lab4;
506 z->bra = z->c; /* ], line 127 */
507 switch(among_var) {
508 case 0: goto lab4;
509 case 1:
510 { int ret = r_R2(z);
511 if (ret == 0) goto lab4; /* call R2, line 129 */
512 if (ret < 0) return ret;
513 }
514 { int ret;
515 ret = slice_del(z); /* delete, line 129 */
516 if (ret < 0) return ret;
517 }
518 { int m = z->l - z->c; (void) m; /* or, line 130 */
519 z->ket = z->c; /* [, line 130 */
520 if (!(eq_s_b(z, 2, s_19))) goto lab6;
521 z->bra = z->c; /* ], line 130 */
522 { int ret = r_R2(z);
523 if (ret == 0) goto lab6; /* call R2, line 130 */
524 if (ret < 0) return ret;
525 }
526 { int m = z->l - z->c; (void) m; /* not, line 130 */
527 if (!(eq_s_b(z, 1, s_20))) goto lab7;
528 goto lab6;
529 lab7:
530 z->c = z->l - m;
531 }
532 { int ret;
533 ret = slice_del(z); /* delete, line 130 */
534 if (ret < 0) return ret;
535 }
536 goto lab5;
537 lab6:
538 z->c = z->l - m;
539 { int ret = r_undouble(z);
540 if (ret == 0) goto lab4; /* call undouble, line 130 */
541 if (ret < 0) return ret;
542 }
543 }
544 lab5:
545 break;
546 case 2:
547 { int ret = r_R2(z);
548 if (ret == 0) goto lab4; /* call R2, line 133 */
549 if (ret < 0) return ret;
550 }
551 { int m = z->l - z->c; (void) m; /* not, line 133 */
552 if (!(eq_s_b(z, 1, s_21))) goto lab8;
553 goto lab4;
554 lab8:
555 z->c = z->l - m;
556 }
557 { int ret;
558 ret = slice_del(z); /* delete, line 133 */
559 if (ret < 0) return ret;
560 }
561 break;
562 case 3:
563 { int ret = r_R2(z);
564 if (ret == 0) goto lab4; /* call R2, line 136 */
565 if (ret < 0) return ret;
566 }
567 { int ret;
568 ret = slice_del(z); /* delete, line 136 */
569 if (ret < 0) return ret;
570 }
571 { int ret = r_e_ending(z);
572 if (ret == 0) goto lab4; /* call e_ending, line 136 */
573 if (ret < 0) return ret;
574 }
575 break;
576 case 4:
577 { int ret = r_R2(z);
578 if (ret == 0) goto lab4; /* call R2, line 139 */
579 if (ret < 0) return ret;
580 }
581 { int ret;
582 ret = slice_del(z); /* delete, line 139 */
583 if (ret < 0) return ret;
584 }
585 break;
586 case 5:
587 { int ret = r_R2(z);
588 if (ret == 0) goto lab4; /* call R2, line 142 */
589 if (ret < 0) return ret;
590 }
591 if (!(z->B[0])) goto lab4; /* Boolean test e_found, line 142 */
592 { int ret;
593 ret = slice_del(z); /* delete, line 142 */
594 if (ret < 0) return ret;
595 }
596 break;
597 }
598 lab4:
599 z->c = z->l - m;
600 }
601 { int m = z->l - z->c; (void) m; /* do, line 146 */
602 if (!(out_grouping_b_U(z, g_v_I, 73, 232))) goto lab9;
603 { int m_test = z->l - z->c; /* test, line 148 */
604 if (!(find_among_b(z, a_5, 4))) goto lab9; /* among, line 149 */
605 if (!(out_grouping_b_U(z, g_v, 97, 232))) goto lab9;
606 z->c = z->l - m_test;
607 }
608 z->ket = z->c; /* [, line 152 */
609 { int c = skip_utf8(z->p, z->c, z->lb, 0, -1);
610 if (c < 0) goto lab9;
611 z->c = c; /* next, line 152 */
612 }
613 z->bra = z->c; /* ], line 152 */
614 { int ret;
615 ret = slice_del(z); /* delete, line 152 */
616 if (ret < 0) return ret;
617 }
618 lab9:
619 z->c = z->l - m;
620 }
621 return 1;
622 }
623
624 extern int dutch_UTF_8_stem(struct SN_env * z) {
625 { int c = z->c; /* do, line 159 */
626 { int ret = r_prelude(z);
627 if (ret == 0) goto lab0; /* call prelude, line 159 */
628 if (ret < 0) return ret;
629 }
630 lab0:
631 z->c = c;
632 }
633 { int c = z->c; /* do, line 160 */
634 { int ret = r_mark_regions(z);
635 if (ret == 0) goto lab1; /* call mark_regions, line 160 */
636 if (ret < 0) return ret;
637 }
638 lab1:
639 z->c = c;
640 }
641 z->lb = z->c; z->c = z->l; /* backwards, line 161 */
642
643 { int m = z->l - z->c; (void) m; /* do, line 162 */
644 { int ret = r_standard_suffix(z);
645 if (ret == 0) goto lab2; /* call standard_suffix, line 162 */
646 if (ret < 0) return ret;
647 }
648 lab2:
649 z->c = z->l - m;
650 }
651 z->c = z->lb;
652 { int c = z->c; /* do, line 163 */
653 { int ret = r_postlude(z);
654 if (ret == 0) goto lab3; /* call postlude, line 163 */
655 if (ret < 0) return ret;
656 }
657 lab3:
658 z->c = c;
659 }
660 return 1;
661 }
662
663 extern struct SN_env * dutch_UTF_8_create_env(void) { return SN_create_env(0, 2, 1); }
664
665 extern void dutch_UTF_8_close_env(struct SN_env * z) { SN_close_env(z); }