Age Owner 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 porter_ISO_8859_1_stem(struct SN_env * z);
9 : #ifdef __cplusplus
10 : }
11 : #endif
12 : static int r_Step_5b(struct SN_env * z);
13 : static int r_Step_5a(struct SN_env * z);
14 : static int r_Step_4(struct SN_env * z);
15 : static int r_Step_3(struct SN_env * z);
16 : static int r_Step_2(struct SN_env * z);
17 : static int r_Step_1c(struct SN_env * z);
18 : static int r_Step_1b(struct SN_env * z);
19 : static int r_Step_1a(struct SN_env * z);
20 : static int r_R2(struct SN_env * z);
21 : static int r_R1(struct SN_env * z);
22 : static int r_shortv(struct SN_env * z);
23 : #ifdef __cplusplus
24 : extern "C" {
25 : #endif
26 :
27 :
28 : extern struct SN_env * porter_ISO_8859_1_create_env(void);
29 : extern void porter_ISO_8859_1_close_env(struct SN_env * z);
30 :
31 :
32 : #ifdef __cplusplus
33 : }
34 : #endif
35 : static const symbol s_0_0[1] = { 's' };
36 : static const symbol s_0_1[3] = { 'i', 'e', 's' };
37 : static const symbol s_0_2[4] = { 's', 's', 'e', 's' };
38 : static const symbol s_0_3[2] = { 's', 's' };
39 :
40 : static const struct among a_0[4] =
41 : {
42 : { 1, s_0_0, -1, 3, 0},
43 : { 3, s_0_1, 0, 2, 0},
44 : { 4, s_0_2, 0, 1, 0},
45 : { 2, s_0_3, 0, -1, 0}
46 : };
47 :
48 : static const symbol s_1_1[2] = { 'b', 'b' };
49 : static const symbol s_1_2[2] = { 'd', 'd' };
50 : static const symbol s_1_3[2] = { 'f', 'f' };
51 : static const symbol s_1_4[2] = { 'g', 'g' };
52 : static const symbol s_1_5[2] = { 'b', 'l' };
53 : static const symbol s_1_6[2] = { 'm', 'm' };
54 : static const symbol s_1_7[2] = { 'n', 'n' };
55 : static const symbol s_1_8[2] = { 'p', 'p' };
56 : static const symbol s_1_9[2] = { 'r', 'r' };
57 : static const symbol s_1_10[2] = { 'a', 't' };
58 : static const symbol s_1_11[2] = { 't', 't' };
59 : static const symbol s_1_12[2] = { 'i', 'z' };
60 :
61 : static const struct among a_1[13] =
62 : {
63 : { 0, 0, -1, 3, 0},
64 : { 2, s_1_1, 0, 2, 0},
65 : { 2, s_1_2, 0, 2, 0},
66 : { 2, s_1_3, 0, 2, 0},
67 : { 2, s_1_4, 0, 2, 0},
68 : { 2, s_1_5, 0, 1, 0},
69 : { 2, s_1_6, 0, 2, 0},
70 : { 2, s_1_7, 0, 2, 0},
71 : { 2, s_1_8, 0, 2, 0},
72 : { 2, s_1_9, 0, 2, 0},
73 : { 2, s_1_10, 0, 1, 0},
74 : { 2, s_1_11, 0, 2, 0},
75 : { 2, s_1_12, 0, 1, 0}
76 : };
77 :
78 : static const symbol s_2_0[2] = { 'e', 'd' };
79 : static const symbol s_2_1[3] = { 'e', 'e', 'd' };
80 : static const symbol s_2_2[3] = { 'i', 'n', 'g' };
81 :
82 : static const struct among a_2[3] =
83 : {
84 : { 2, s_2_0, -1, 2, 0},
85 : { 3, s_2_1, 0, 1, 0},
86 : { 3, s_2_2, -1, 2, 0}
87 : };
88 :
89 : static const symbol s_3_0[4] = { 'a', 'n', 'c', 'i' };
90 : static const symbol s_3_1[4] = { 'e', 'n', 'c', 'i' };
91 : static const symbol s_3_2[4] = { 'a', 'b', 'l', 'i' };
92 : static const symbol s_3_3[3] = { 'e', 'l', 'i' };
93 : static const symbol s_3_4[4] = { 'a', 'l', 'l', 'i' };
94 : static const symbol s_3_5[5] = { 'o', 'u', 's', 'l', 'i' };
95 : static const symbol s_3_6[5] = { 'e', 'n', 't', 'l', 'i' };
96 : static const symbol s_3_7[5] = { 'a', 'l', 'i', 't', 'i' };
97 : static const symbol s_3_8[6] = { 'b', 'i', 'l', 'i', 't', 'i' };
98 : static const symbol s_3_9[5] = { 'i', 'v', 'i', 't', 'i' };
99 : static const symbol s_3_10[6] = { 't', 'i', 'o', 'n', 'a', 'l' };
100 : static const symbol s_3_11[7] = { 'a', 't', 'i', 'o', 'n', 'a', 'l' };
101 : static const symbol s_3_12[5] = { 'a', 'l', 'i', 's', 'm' };
102 : static const symbol s_3_13[5] = { 'a', 't', 'i', 'o', 'n' };
103 : static const symbol s_3_14[7] = { 'i', 'z', 'a', 't', 'i', 'o', 'n' };
104 : static const symbol s_3_15[4] = { 'i', 'z', 'e', 'r' };
105 : static const symbol s_3_16[4] = { 'a', 't', 'o', 'r' };
106 : static const symbol s_3_17[7] = { 'i', 'v', 'e', 'n', 'e', 's', 's' };
107 : static const symbol s_3_18[7] = { 'f', 'u', 'l', 'n', 'e', 's', 's' };
108 : static const symbol s_3_19[7] = { 'o', 'u', 's', 'n', 'e', 's', 's' };
109 :
110 : static const struct among a_3[20] =
111 : {
112 : { 4, s_3_0, -1, 3, 0},
113 : { 4, s_3_1, -1, 2, 0},
114 : { 4, s_3_2, -1, 4, 0},
115 : { 3, s_3_3, -1, 6, 0},
116 : { 4, s_3_4, -1, 9, 0},
117 : { 5, s_3_5, -1, 11, 0},
118 : { 5, s_3_6, -1, 5, 0},
119 : { 5, s_3_7, -1, 9, 0},
120 : { 6, s_3_8, -1, 13, 0},
121 : { 5, s_3_9, -1, 12, 0},
122 : { 6, s_3_10, -1, 1, 0},
123 : { 7, s_3_11, 10, 8, 0},
124 : { 5, s_3_12, -1, 9, 0},
125 : { 5, s_3_13, -1, 8, 0},
126 : { 7, s_3_14, 13, 7, 0},
127 : { 4, s_3_15, -1, 7, 0},
128 : { 4, s_3_16, -1, 8, 0},
129 : { 7, s_3_17, -1, 12, 0},
130 : { 7, s_3_18, -1, 10, 0},
131 : { 7, s_3_19, -1, 11, 0}
132 : };
133 :
134 : static const symbol s_4_0[5] = { 'i', 'c', 'a', 't', 'e' };
135 : static const symbol s_4_1[5] = { 'a', 't', 'i', 'v', 'e' };
136 : static const symbol s_4_2[5] = { 'a', 'l', 'i', 'z', 'e' };
137 : static const symbol s_4_3[5] = { 'i', 'c', 'i', 't', 'i' };
138 : static const symbol s_4_4[4] = { 'i', 'c', 'a', 'l' };
139 : static const symbol s_4_5[3] = { 'f', 'u', 'l' };
140 : static const symbol s_4_6[4] = { 'n', 'e', 's', 's' };
141 :
142 : static const struct among a_4[7] =
143 : {
144 : { 5, s_4_0, -1, 2, 0},
145 : { 5, s_4_1, -1, 3, 0},
146 : { 5, s_4_2, -1, 1, 0},
147 : { 5, s_4_3, -1, 2, 0},
148 : { 4, s_4_4, -1, 2, 0},
149 : { 3, s_4_5, -1, 3, 0},
150 : { 4, s_4_6, -1, 3, 0}
151 : };
152 :
153 : static const symbol s_5_0[2] = { 'i', 'c' };
154 : static const symbol s_5_1[4] = { 'a', 'n', 'c', 'e' };
155 : static const symbol s_5_2[4] = { 'e', 'n', 'c', 'e' };
156 : static const symbol s_5_3[4] = { 'a', 'b', 'l', 'e' };
157 : static const symbol s_5_4[4] = { 'i', 'b', 'l', 'e' };
158 : static const symbol s_5_5[3] = { 'a', 't', 'e' };
159 : static const symbol s_5_6[3] = { 'i', 'v', 'e' };
160 : static const symbol s_5_7[3] = { 'i', 'z', 'e' };
161 : static const symbol s_5_8[3] = { 'i', 't', 'i' };
162 : static const symbol s_5_9[2] = { 'a', 'l' };
163 : static const symbol s_5_10[3] = { 'i', 's', 'm' };
164 : static const symbol s_5_11[3] = { 'i', 'o', 'n' };
165 : static const symbol s_5_12[2] = { 'e', 'r' };
166 : static const symbol s_5_13[3] = { 'o', 'u', 's' };
167 : static const symbol s_5_14[3] = { 'a', 'n', 't' };
168 : static const symbol s_5_15[3] = { 'e', 'n', 't' };
169 : static const symbol s_5_16[4] = { 'm', 'e', 'n', 't' };
170 : static const symbol s_5_17[5] = { 'e', 'm', 'e', 'n', 't' };
171 : static const symbol s_5_18[2] = { 'o', 'u' };
172 :
173 : static const struct among a_5[19] =
174 : {
175 : { 2, s_5_0, -1, 1, 0},
176 : { 4, s_5_1, -1, 1, 0},
177 : { 4, s_5_2, -1, 1, 0},
178 : { 4, s_5_3, -1, 1, 0},
179 : { 4, s_5_4, -1, 1, 0},
180 : { 3, s_5_5, -1, 1, 0},
181 : { 3, s_5_6, -1, 1, 0},
182 : { 3, s_5_7, -1, 1, 0},
183 : { 3, s_5_8, -1, 1, 0},
184 : { 2, s_5_9, -1, 1, 0},
185 : { 3, s_5_10, -1, 1, 0},
186 : { 3, s_5_11, -1, 2, 0},
187 : { 2, s_5_12, -1, 1, 0},
188 : { 3, s_5_13, -1, 1, 0},
189 : { 3, s_5_14, -1, 1, 0},
190 : { 3, s_5_15, -1, 1, 0},
191 : { 4, s_5_16, 15, 1, 0},
192 : { 5, s_5_17, 16, 1, 0},
193 : { 2, s_5_18, -1, 1, 0}
194 : };
195 :
196 : static const unsigned char g_v[] = { 17, 65, 16, 1 };
197 :
198 : static const unsigned char g_v_WXY[] = { 1, 17, 65, 208, 1 };
199 :
200 : static const symbol s_0[] = { 's', 's' };
201 : static const symbol s_1[] = { 'i' };
202 : static const symbol s_2[] = { 'e', 'e' };
203 : static const symbol s_3[] = { 'e' };
204 : static const symbol s_4[] = { 'e' };
205 : static const symbol s_5[] = { 'i' };
206 : static const symbol s_6[] = { 't', 'i', 'o', 'n' };
207 : static const symbol s_7[] = { 'e', 'n', 'c', 'e' };
208 : static const symbol s_8[] = { 'a', 'n', 'c', 'e' };
209 : static const symbol s_9[] = { 'a', 'b', 'l', 'e' };
210 : static const symbol s_10[] = { 'e', 'n', 't' };
211 : static const symbol s_11[] = { 'e' };
212 : static const symbol s_12[] = { 'i', 'z', 'e' };
213 : static const symbol s_13[] = { 'a', 't', 'e' };
214 : static const symbol s_14[] = { 'a', 'l' };
215 : static const symbol s_15[] = { 'f', 'u', 'l' };
216 : static const symbol s_16[] = { 'o', 'u', 's' };
217 : static const symbol s_17[] = { 'i', 'v', 'e' };
218 : static const symbol s_18[] = { 'b', 'l', 'e' };
219 : static const symbol s_19[] = { 'a', 'l' };
220 : static const symbol s_20[] = { 'i', 'c' };
221 : static const symbol s_21[] = { 'Y' };
222 : static const symbol s_22[] = { 'Y' };
223 : static const symbol s_23[] = { 'y' };
224 :
779 peter 225 UBC 0 : static int r_shortv(struct SN_env * z) {
226 0 : if (out_grouping_b(z, g_v_WXY, 89, 121, 0)) return 0;
227 0 : if (in_grouping_b(z, g_v, 97, 121, 0)) return 0;
228 0 : if (out_grouping_b(z, g_v, 97, 121, 0)) return 0;
5710 tgl 229 0 : return 1;
230 : }
231 :
779 peter 232 0 : static int r_R1(struct SN_env * z) {
233 0 : if (!(z->I[1] <= z->c)) return 0;
5710 tgl 234 0 : return 1;
235 : }
236 :
779 peter 237 0 : static int r_R2(struct SN_env * z) {
238 0 : if (!(z->I[0] <= z->c)) return 0;
5710 tgl 239 0 : return 1;
240 : }
241 :
779 peter 242 0 : static int r_Step_1a(struct SN_env * z) {
243 : int among_var;
244 0 : z->ket = z->c;
245 0 : if (z->c <= z->lb || z->p[z->c - 1] != 115) return 0;
1658 tgl 246 0 : among_var = find_among_b(z, a_0, 4);
5710 247 0 : if (!(among_var)) return 0;
779 peter 248 0 : z->bra = z->c;
249 0 : switch (among_var) {
5710 tgl 250 0 : case 1:
779 peter 251 0 : { int ret = slice_from_s(z, 2, s_0);
5710 tgl 252 0 : if (ret < 0) return ret;
253 : }
254 0 : break;
255 0 : case 2:
779 peter 256 0 : { int ret = slice_from_s(z, 1, s_1);
5710 tgl 257 0 : if (ret < 0) return ret;
258 : }
259 0 : break;
260 0 : case 3:
779 peter 261 0 : { int ret = slice_del(z);
5710 tgl 262 0 : if (ret < 0) return ret;
263 : }
264 0 : break;
265 : }
266 0 : return 1;
267 : }
268 :
779 peter 269 0 : static int r_Step_1b(struct SN_env * z) {
270 : int among_var;
271 0 : z->ket = z->c;
272 0 : if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 100 && z->p[z->c - 1] != 103)) return 0;
1658 tgl 273 0 : among_var = find_among_b(z, a_2, 3);
5710 274 0 : if (!(among_var)) return 0;
779 peter 275 0 : z->bra = z->c;
276 0 : switch (among_var) {
5710 tgl 277 0 : case 1:
779 peter 278 0 : { int ret = r_R1(z);
1658 tgl 279 0 : if (ret <= 0) return ret;
280 : }
779 peter 281 0 : { int ret = slice_from_s(z, 2, s_2);
5710 tgl 282 0 : if (ret < 0) return ret;
283 : }
284 0 : break;
285 0 : case 2:
779 peter 286 0 : { int m_test1 = z->l - z->c;
287 : {
5710 tgl 288 0 : int ret = out_grouping_b(z, g_v, 97, 121, 1);
289 0 : if (ret < 0) return 0;
290 0 : z->c -= ret;
291 : }
1658 292 0 : z->c = z->l - m_test1;
293 : }
779 peter 294 0 : { int ret = slice_del(z);
5710 tgl 295 0 : if (ret < 0) return ret;
296 : }
779 peter 297 0 : { int m_test2 = z->l - z->c;
298 0 : if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((68514004 >> (z->p[z->c - 1] & 0x1f)) & 1)) among_var = 3; else
1658 tgl 299 0 : among_var = find_among_b(z, a_1, 13);
5710 300 0 : if (!(among_var)) return 0;
1658 301 0 : z->c = z->l - m_test2;
302 : }
303 : switch (among_var) {
5710 304 0 : case 1:
305 : { int ret;
1658 306 0 : { int saved_c = z->c;
779 peter 307 0 : ret = insert_s(z, z->c, z->c, 1, s_3);
1658 tgl 308 0 : z->c = saved_c;
309 : }
5710 310 0 : if (ret < 0) return ret;
311 : }
312 0 : break;
313 0 : case 2:
779 peter 314 0 : z->ket = z->c;
5710 tgl 315 0 : if (z->c <= z->lb) return 0;
779 peter 316 0 : z->c--;
317 0 : z->bra = z->c;
318 0 : { int ret = slice_del(z);
5710 tgl 319 0 : if (ret < 0) return ret;
320 : }
321 0 : break;
322 0 : case 3:
779 peter 323 0 : if (z->c != z->I[1]) return 0;
324 0 : { int m_test3 = z->l - z->c;
325 0 : { int ret = r_shortv(z);
1658 tgl 326 0 : if (ret <= 0) return ret;
327 : }
328 0 : z->c = z->l - m_test3;
329 : }
330 : { int ret;
331 0 : { int saved_c = z->c;
779 peter 332 0 : ret = insert_s(z, z->c, z->c, 1, s_4);
1658 tgl 333 0 : z->c = saved_c;
334 : }
5710 335 0 : if (ret < 0) return ret;
336 : }
337 0 : break;
338 : }
339 0 : break;
340 : }
341 0 : return 1;
342 : }
343 :
779 peter 344 0 : static int r_Step_1c(struct SN_env * z) {
345 0 : z->ket = z->c;
346 0 : { int m1 = z->l - z->c; (void)m1;
347 0 : if (z->c <= z->lb || z->p[z->c - 1] != 'y') goto lab1;
1658 tgl 348 0 : z->c--;
5710 349 0 : goto lab0;
350 0 : lab1:
351 0 : z->c = z->l - m1;
779 peter 352 0 : if (z->c <= z->lb || z->p[z->c - 1] != 'Y') return 0;
1658 tgl 353 0 : z->c--;
354 : }
5710 355 0 : lab0:
779 peter 356 0 : z->bra = z->c;
357 : {
5710 tgl 358 0 : int ret = out_grouping_b(z, g_v, 97, 121, 1);
359 0 : if (ret < 0) return 0;
360 0 : z->c -= ret;
361 : }
779 peter 362 0 : { int ret = slice_from_s(z, 1, s_5);
5710 tgl 363 0 : if (ret < 0) return ret;
364 : }
365 0 : return 1;
366 : }
367 :
779 peter 368 0 : static int r_Step_2(struct SN_env * z) {
369 : int among_var;
370 0 : z->ket = z->c;
371 0 : if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((815616 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
1658 tgl 372 0 : among_var = find_among_b(z, a_3, 20);
5710 373 0 : if (!(among_var)) return 0;
779 peter 374 0 : z->bra = z->c;
375 0 : { int ret = r_R1(z);
1658 tgl 376 0 : if (ret <= 0) return ret;
377 : }
779 peter 378 0 : switch (among_var) {
5710 tgl 379 0 : case 1:
779 peter 380 0 : { int ret = slice_from_s(z, 4, s_6);
5710 tgl 381 0 : if (ret < 0) return ret;
382 : }
383 0 : break;
384 0 : case 2:
779 peter 385 0 : { int ret = slice_from_s(z, 4, s_7);
5710 tgl 386 0 : if (ret < 0) return ret;
387 : }
388 0 : break;
389 0 : case 3:
779 peter 390 0 : { int ret = slice_from_s(z, 4, s_8);
5710 tgl 391 0 : if (ret < 0) return ret;
392 : }
393 0 : break;
394 0 : case 4:
779 peter 395 0 : { int ret = slice_from_s(z, 4, s_9);
5710 tgl 396 0 : if (ret < 0) return ret;
397 : }
398 0 : break;
399 0 : case 5:
779 peter 400 0 : { int ret = slice_from_s(z, 3, s_10);
5710 tgl 401 0 : if (ret < 0) return ret;
402 : }
403 0 : break;
404 0 : case 6:
779 peter 405 0 : { int ret = slice_from_s(z, 1, s_11);
5710 tgl 406 0 : if (ret < 0) return ret;
407 : }
408 0 : break;
409 0 : case 7:
779 peter 410 0 : { int ret = slice_from_s(z, 3, s_12);
5710 tgl 411 0 : if (ret < 0) return ret;
412 : }
413 0 : break;
414 0 : case 8:
779 peter 415 0 : { int ret = slice_from_s(z, 3, s_13);
5710 tgl 416 0 : if (ret < 0) return ret;
417 : }
418 0 : break;
419 0 : case 9:
779 peter 420 0 : { int ret = slice_from_s(z, 2, s_14);
5710 tgl 421 0 : if (ret < 0) return ret;
422 : }
423 0 : break;
424 0 : case 10:
779 peter 425 0 : { int ret = slice_from_s(z, 3, s_15);
5710 tgl 426 0 : if (ret < 0) return ret;
427 : }
428 0 : break;
429 0 : case 11:
779 peter 430 0 : { int ret = slice_from_s(z, 3, s_16);
5710 tgl 431 0 : if (ret < 0) return ret;
432 : }
433 0 : break;
434 0 : case 12:
779 peter 435 0 : { int ret = slice_from_s(z, 3, s_17);
5710 tgl 436 0 : if (ret < 0) return ret;
437 : }
438 0 : break;
439 0 : case 13:
779 peter 440 0 : { int ret = slice_from_s(z, 3, s_18);
5710 tgl 441 0 : if (ret < 0) return ret;
442 : }
443 0 : break;
444 : }
445 0 : return 1;
446 : }
447 :
779 peter 448 0 : static int r_Step_3(struct SN_env * z) {
449 : int among_var;
450 0 : z->ket = z->c;
451 0 : if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((528928 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
1658 tgl 452 0 : among_var = find_among_b(z, a_4, 7);
5710 453 0 : if (!(among_var)) return 0;
779 peter 454 0 : z->bra = z->c;
455 0 : { int ret = r_R1(z);
1658 tgl 456 0 : if (ret <= 0) return ret;
457 : }
779 peter 458 0 : switch (among_var) {
5710 tgl 459 0 : case 1:
779 peter 460 0 : { int ret = slice_from_s(z, 2, s_19);
5710 tgl 461 0 : if (ret < 0) return ret;
462 : }
463 0 : break;
464 0 : case 2:
779 peter 465 0 : { int ret = slice_from_s(z, 2, s_20);
5710 tgl 466 0 : if (ret < 0) return ret;
467 : }
468 0 : break;
469 0 : case 3:
779 peter 470 0 : { int ret = slice_del(z);
5710 tgl 471 0 : if (ret < 0) return ret;
472 : }
473 0 : break;
474 : }
475 0 : return 1;
476 : }
477 :
779 peter 478 0 : static int r_Step_4(struct SN_env * z) {
479 : int among_var;
480 0 : z->ket = z->c;
481 0 : if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((3961384 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
1658 tgl 482 0 : among_var = find_among_b(z, a_5, 19);
5710 483 0 : if (!(among_var)) return 0;
779 peter 484 0 : z->bra = z->c;
485 0 : { int ret = r_R2(z);
1658 tgl 486 0 : if (ret <= 0) return ret;
487 : }
779 peter 488 0 : switch (among_var) {
5710 tgl 489 0 : case 1:
779 peter 490 0 : { int ret = slice_del(z);
5710 tgl 491 0 : if (ret < 0) return ret;
492 : }
493 0 : break;
494 0 : case 2:
779 peter 495 0 : { int m1 = z->l - z->c; (void)m1;
496 0 : if (z->c <= z->lb || z->p[z->c - 1] != 's') goto lab1;
1658 tgl 497 0 : z->c--;
5710 498 0 : goto lab0;
499 0 : lab1:
500 0 : z->c = z->l - m1;
779 peter 501 0 : if (z->c <= z->lb || z->p[z->c - 1] != 't') return 0;
1658 tgl 502 0 : z->c--;
503 : }
5710 504 0 : lab0:
779 peter 505 0 : { int ret = slice_del(z);
5710 tgl 506 0 : if (ret < 0) return ret;
507 : }
508 0 : break;
509 : }
510 0 : return 1;
511 : }
512 :
779 peter 513 0 : static int r_Step_5a(struct SN_env * z) {
514 0 : z->ket = z->c;
515 0 : if (z->c <= z->lb || z->p[z->c - 1] != 'e') return 0;
1658 tgl 516 0 : z->c--;
779 peter 517 0 : z->bra = z->c;
518 0 : { int m1 = z->l - z->c; (void)m1;
519 0 : { int ret = r_R2(z);
1658 tgl 520 0 : if (ret == 0) goto lab1;
5710 521 0 : if (ret < 0) return ret;
522 : }
523 0 : goto lab0;
524 0 : lab1:
525 0 : z->c = z->l - m1;
779 peter 526 0 : { int ret = r_R1(z);
1658 tgl 527 0 : if (ret <= 0) return ret;
528 : }
779 peter 529 0 : { int m2 = z->l - z->c; (void)m2;
530 0 : { int ret = r_shortv(z);
1658 tgl 531 0 : if (ret == 0) goto lab2;
5710 532 0 : if (ret < 0) return ret;
533 : }
534 0 : return 0;
535 0 : lab2:
536 0 : z->c = z->l - m2;
537 : }
538 : }
539 0 : lab0:
779 peter 540 0 : { int ret = slice_del(z);
5710 tgl 541 0 : if (ret < 0) return ret;
542 : }
543 0 : return 1;
544 : }
545 :
779 peter 546 0 : static int r_Step_5b(struct SN_env * z) {
547 0 : z->ket = z->c;
548 0 : if (z->c <= z->lb || z->p[z->c - 1] != 'l') return 0;
1658 tgl 549 0 : z->c--;
779 peter 550 0 : z->bra = z->c;
551 0 : { int ret = r_R2(z);
1658 tgl 552 0 : if (ret <= 0) return ret;
553 : }
779 peter 554 0 : if (z->c <= z->lb || z->p[z->c - 1] != 'l') return 0;
1658 tgl 555 0 : z->c--;
779 peter 556 0 : { int ret = slice_del(z);
5710 tgl 557 0 : if (ret < 0) return ret;
558 : }
559 0 : return 1;
560 : }
561 :
779 peter 562 0 : extern int porter_ISO_8859_1_stem(struct SN_env * z) {
563 0 : z->I[2] = 0;
564 0 : { int c1 = z->c;
565 0 : z->bra = z->c;
566 0 : if (z->c == z->l || z->p[z->c] != 'y') goto lab0;
1658 tgl 567 0 : z->c++;
779 peter 568 0 : z->ket = z->c;
569 0 : { int ret = slice_from_s(z, 1, s_21);
5710 tgl 570 0 : if (ret < 0) return ret;
571 : }
779 peter 572 0 : z->I[2] = 1;
5710 tgl 573 0 : lab0:
574 0 : z->c = c1;
575 : }
779 peter 576 0 : { int c2 = z->c;
577 0 : while(1) {
578 0 : int c3 = z->c;
579 0 : while(1) {
5710 tgl 580 0 : int c4 = z->c;
779 peter 581 0 : if (in_grouping(z, g_v, 97, 121, 0)) goto lab3;
582 0 : z->bra = z->c;
583 0 : if (z->c == z->l || z->p[z->c] != 'y') goto lab3;
1658 tgl 584 0 : z->c++;
779 peter 585 0 : z->ket = z->c;
5710 tgl 586 0 : z->c = c4;
587 0 : break;
588 0 : lab3:
589 0 : z->c = c4;
590 0 : if (z->c >= z->l) goto lab2;
779 peter 591 0 : z->c++;
592 : }
593 0 : { int ret = slice_from_s(z, 1, s_22);
5710 tgl 594 0 : if (ret < 0) return ret;
595 : }
779 peter 596 0 : z->I[2] = 1;
5710 tgl 597 0 : continue;
598 0 : lab2:
599 0 : z->c = c3;
600 0 : break;
601 : }
602 0 : z->c = c2;
603 : }
779 peter 604 0 : z->I[1] = z->l;
605 0 : z->I[0] = z->l;
606 0 : { int c5 = z->c;
607 : {
5710 tgl 608 0 : int ret = out_grouping(z, g_v, 97, 121, 1);
609 0 : if (ret < 0) goto lab4;
610 0 : z->c += ret;
611 : }
612 : {
613 0 : int ret = in_grouping(z, g_v, 97, 121, 1);
614 0 : if (ret < 0) goto lab4;
615 0 : z->c += ret;
616 : }
779 peter 617 0 : z->I[1] = z->c;
618 : {
5710 tgl 619 0 : int ret = out_grouping(z, g_v, 97, 121, 1);
620 0 : if (ret < 0) goto lab4;
621 0 : z->c += ret;
622 : }
623 : {
624 0 : int ret = in_grouping(z, g_v, 97, 121, 1);
625 0 : if (ret < 0) goto lab4;
626 0 : z->c += ret;
627 : }
779 peter 628 0 : z->I[0] = z->c;
5710 tgl 629 0 : lab4:
630 0 : z->c = c5;
631 : }
779 peter 632 0 : z->lb = z->c; z->c = z->l;
633 :
634 0 : { int m6 = z->l - z->c; (void)m6;
635 0 : { int ret = r_Step_1a(z);
5710 tgl 636 0 : if (ret < 0) return ret;
637 : }
638 0 : z->c = z->l - m6;
639 : }
779 peter 640 0 : { int m7 = z->l - z->c; (void)m7;
641 0 : { int ret = r_Step_1b(z);
5710 tgl 642 0 : if (ret < 0) return ret;
643 : }
644 0 : z->c = z->l - m7;
645 : }
779 peter 646 0 : { int m8 = z->l - z->c; (void)m8;
647 0 : { int ret = r_Step_1c(z);
5710 tgl 648 0 : if (ret < 0) return ret;
649 : }
650 0 : z->c = z->l - m8;
651 : }
779 peter 652 0 : { int m9 = z->l - z->c; (void)m9;
653 0 : { int ret = r_Step_2(z);
5710 tgl 654 0 : if (ret < 0) return ret;
655 : }
656 0 : z->c = z->l - m9;
657 : }
779 peter 658 0 : { int m10 = z->l - z->c; (void)m10;
659 0 : { int ret = r_Step_3(z);
5710 tgl 660 0 : if (ret < 0) return ret;
661 : }
662 0 : z->c = z->l - m10;
663 : }
779 peter 664 0 : { int m11 = z->l - z->c; (void)m11;
665 0 : { int ret = r_Step_4(z);
5710 tgl 666 0 : if (ret < 0) return ret;
667 : }
668 0 : z->c = z->l - m11;
669 : }
779 peter 670 0 : { int m12 = z->l - z->c; (void)m12;
671 0 : { int ret = r_Step_5a(z);
5710 tgl 672 0 : if (ret < 0) return ret;
673 : }
674 0 : z->c = z->l - m12;
675 : }
779 peter 676 0 : { int m13 = z->l - z->c; (void)m13;
677 0 : { int ret = r_Step_5b(z);
5710 tgl 678 0 : if (ret < 0) return ret;
679 : }
680 0 : z->c = z->l - m13;
681 : }
682 0 : z->c = z->lb;
779 peter 683 0 : { int c14 = z->c;
684 0 : if (!(z->I[2])) goto lab5;
685 0 : while(1) {
686 0 : int c15 = z->c;
687 0 : while(1) {
5710 tgl 688 0 : int c16 = z->c;
779 peter 689 0 : z->bra = z->c;
690 0 : if (z->c == z->l || z->p[z->c] != 'Y') goto lab7;
1658 tgl 691 0 : z->c++;
779 peter 692 0 : z->ket = z->c;
5710 tgl 693 0 : z->c = c16;
694 0 : break;
1035 peter 695 0 : lab7:
5710 tgl 696 0 : z->c = c16;
1035 peter 697 0 : if (z->c >= z->l) goto lab6;
779 698 0 : z->c++;
699 : }
700 0 : { int ret = slice_from_s(z, 1, s_23);
5710 tgl 701 0 : if (ret < 0) return ret;
702 : }
703 0 : continue;
1035 peter 704 0 : lab6:
5710 tgl 705 0 : z->c = c15;
706 0 : break;
707 : }
1035 peter 708 0 : lab5:
5710 tgl 709 0 : z->c = c14;
710 : }
711 0 : return 1;
712 : }
713 :
779 peter 714 0 : extern struct SN_env * porter_ISO_8859_1_create_env(void) { return SN_create_env(0, 3); }
715 :
5710 tgl 716 0 : extern void porter_ISO_8859_1_close_env(struct SN_env * z) { SN_close_env(z, 0); }
717 :
|