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