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 :
225 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;
229 0 : return 1;
230 : }
231 :
232 0 : static int r_R1(struct SN_env * z) {
233 0 : if (!(z->I[1] <= z->c)) return 0;
234 0 : return 1;
235 : }
236 :
237 0 : static int r_R2(struct SN_env * z) {
238 0 : if (!(z->I[0] <= z->c)) return 0;
239 0 : return 1;
240 : }
241 :
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;
246 0 : among_var = find_among_b(z, a_0, 4);
247 0 : if (!(among_var)) return 0;
248 0 : z->bra = z->c;
249 0 : switch (among_var) {
250 0 : case 1:
251 0 : { int ret = slice_from_s(z, 2, s_0);
252 0 : if (ret < 0) return ret;
253 : }
254 0 : break;
255 0 : case 2:
256 0 : { int ret = slice_from_s(z, 1, s_1);
257 0 : if (ret < 0) return ret;
258 : }
259 0 : break;
260 0 : case 3:
261 0 : { int ret = slice_del(z);
262 0 : if (ret < 0) return ret;
263 : }
264 0 : break;
265 : }
266 0 : return 1;
267 : }
268 :
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;
273 0 : among_var = find_among_b(z, a_2, 3);
274 0 : if (!(among_var)) return 0;
275 0 : z->bra = z->c;
276 0 : switch (among_var) {
277 0 : case 1:
278 0 : { int ret = r_R1(z);
279 0 : if (ret <= 0) return ret;
280 : }
281 0 : { int ret = slice_from_s(z, 2, s_2);
282 0 : if (ret < 0) return ret;
283 : }
284 0 : break;
285 0 : case 2:
286 0 : { int m_test1 = z->l - z->c;
287 : {
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 : }
292 0 : z->c = z->l - m_test1;
293 : }
294 0 : { int ret = slice_del(z);
295 0 : if (ret < 0) return ret;
296 : }
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
299 0 : among_var = find_among_b(z, a_1, 13);
300 0 : if (!(among_var)) return 0;
301 0 : z->c = z->l - m_test2;
302 : }
303 : switch (among_var) {
304 0 : case 1:
305 : { int ret;
306 0 : { int saved_c = z->c;
307 0 : ret = insert_s(z, z->c, z->c, 1, s_3);
308 0 : z->c = saved_c;
309 : }
310 0 : if (ret < 0) return ret;
311 : }
312 0 : break;
313 0 : case 2:
314 0 : z->ket = z->c;
315 0 : if (z->c <= z->lb) return 0;
316 0 : z->c--;
317 0 : z->bra = z->c;
318 0 : { int ret = slice_del(z);
319 0 : if (ret < 0) return ret;
320 : }
321 0 : break;
322 0 : case 3:
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);
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;
332 0 : ret = insert_s(z, z->c, z->c, 1, s_4);
333 0 : z->c = saved_c;
334 : }
335 0 : if (ret < 0) return ret;
336 : }
337 0 : break;
338 : }
339 0 : break;
340 : }
341 0 : return 1;
342 : }
343 :
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;
348 0 : z->c--;
349 0 : goto lab0;
350 0 : lab1:
351 0 : z->c = z->l - m1;
352 0 : if (z->c <= z->lb || z->p[z->c - 1] != 'Y') return 0;
353 0 : z->c--;
354 : }
355 0 : lab0:
356 0 : z->bra = z->c;
357 : {
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 : }
362 0 : { int ret = slice_from_s(z, 1, s_5);
363 0 : if (ret < 0) return ret;
364 : }
365 0 : return 1;
366 : }
367 :
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;
372 0 : among_var = find_among_b(z, a_3, 20);
373 0 : if (!(among_var)) return 0;
374 0 : z->bra = z->c;
375 0 : { int ret = r_R1(z);
376 0 : if (ret <= 0) return ret;
377 : }
378 0 : switch (among_var) {
379 0 : case 1:
380 0 : { int ret = slice_from_s(z, 4, s_6);
381 0 : if (ret < 0) return ret;
382 : }
383 0 : break;
384 0 : case 2:
385 0 : { int ret = slice_from_s(z, 4, s_7);
386 0 : if (ret < 0) return ret;
387 : }
388 0 : break;
389 0 : case 3:
390 0 : { int ret = slice_from_s(z, 4, s_8);
391 0 : if (ret < 0) return ret;
392 : }
393 0 : break;
394 0 : case 4:
395 0 : { int ret = slice_from_s(z, 4, s_9);
396 0 : if (ret < 0) return ret;
397 : }
398 0 : break;
399 0 : case 5:
400 0 : { int ret = slice_from_s(z, 3, s_10);
401 0 : if (ret < 0) return ret;
402 : }
403 0 : break;
404 0 : case 6:
405 0 : { int ret = slice_from_s(z, 1, s_11);
406 0 : if (ret < 0) return ret;
407 : }
408 0 : break;
409 0 : case 7:
410 0 : { int ret = slice_from_s(z, 3, s_12);
411 0 : if (ret < 0) return ret;
412 : }
413 0 : break;
414 0 : case 8:
415 0 : { int ret = slice_from_s(z, 3, s_13);
416 0 : if (ret < 0) return ret;
417 : }
418 0 : break;
419 0 : case 9:
420 0 : { int ret = slice_from_s(z, 2, s_14);
421 0 : if (ret < 0) return ret;
422 : }
423 0 : break;
424 0 : case 10:
425 0 : { int ret = slice_from_s(z, 3, s_15);
426 0 : if (ret < 0) return ret;
427 : }
428 0 : break;
429 0 : case 11:
430 0 : { int ret = slice_from_s(z, 3, s_16);
431 0 : if (ret < 0) return ret;
432 : }
433 0 : break;
434 0 : case 12:
435 0 : { int ret = slice_from_s(z, 3, s_17);
436 0 : if (ret < 0) return ret;
437 : }
438 0 : break;
439 0 : case 13:
440 0 : { int ret = slice_from_s(z, 3, s_18);
441 0 : if (ret < 0) return ret;
442 : }
443 0 : break;
444 : }
445 0 : return 1;
446 : }
447 :
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;
452 0 : among_var = find_among_b(z, a_4, 7);
453 0 : if (!(among_var)) return 0;
454 0 : z->bra = z->c;
455 0 : { int ret = r_R1(z);
456 0 : if (ret <= 0) return ret;
457 : }
458 0 : switch (among_var) {
459 0 : case 1:
460 0 : { int ret = slice_from_s(z, 2, s_19);
461 0 : if (ret < 0) return ret;
462 : }
463 0 : break;
464 0 : case 2:
465 0 : { int ret = slice_from_s(z, 2, s_20);
466 0 : if (ret < 0) return ret;
467 : }
468 0 : break;
469 0 : case 3:
470 0 : { int ret = slice_del(z);
471 0 : if (ret < 0) return ret;
472 : }
473 0 : break;
474 : }
475 0 : return 1;
476 : }
477 :
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;
482 0 : among_var = find_among_b(z, a_5, 19);
483 0 : if (!(among_var)) return 0;
484 0 : z->bra = z->c;
485 0 : { int ret = r_R2(z);
486 0 : if (ret <= 0) return ret;
487 : }
488 0 : switch (among_var) {
489 0 : case 1:
490 0 : { int ret = slice_del(z);
491 0 : if (ret < 0) return ret;
492 : }
493 0 : break;
494 0 : case 2:
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;
497 0 : z->c--;
498 0 : goto lab0;
499 0 : lab1:
500 0 : z->c = z->l - m1;
501 0 : if (z->c <= z->lb || z->p[z->c - 1] != 't') return 0;
502 0 : z->c--;
503 : }
504 0 : lab0:
505 0 : { int ret = slice_del(z);
506 0 : if (ret < 0) return ret;
507 : }
508 0 : break;
509 : }
510 0 : return 1;
511 : }
512 :
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;
516 0 : z->c--;
517 0 : z->bra = z->c;
518 0 : { int m1 = z->l - z->c; (void)m1;
519 0 : { int ret = r_R2(z);
520 0 : if (ret == 0) goto lab1;
521 0 : if (ret < 0) return ret;
522 : }
523 0 : goto lab0;
524 0 : lab1:
525 0 : z->c = z->l - m1;
526 0 : { int ret = r_R1(z);
527 0 : if (ret <= 0) return ret;
528 : }
529 0 : { int m2 = z->l - z->c; (void)m2;
530 0 : { int ret = r_shortv(z);
531 0 : if (ret == 0) goto lab2;
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:
540 0 : { int ret = slice_del(z);
541 0 : if (ret < 0) return ret;
542 : }
543 0 : return 1;
544 : }
545 :
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;
549 0 : z->c--;
550 0 : z->bra = z->c;
551 0 : { int ret = r_R2(z);
552 0 : if (ret <= 0) return ret;
553 : }
554 0 : if (z->c <= z->lb || z->p[z->c - 1] != 'l') return 0;
555 0 : z->c--;
556 0 : { int ret = slice_del(z);
557 0 : if (ret < 0) return ret;
558 : }
559 0 : return 1;
560 : }
561 :
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;
567 0 : z->c++;
568 0 : z->ket = z->c;
569 0 : { int ret = slice_from_s(z, 1, s_21);
570 0 : if (ret < 0) return ret;
571 : }
572 0 : z->I[2] = 1;
573 0 : lab0:
574 0 : z->c = c1;
575 : }
576 0 : { int c2 = z->c;
577 0 : while(1) {
578 0 : int c3 = z->c;
579 0 : while(1) {
580 0 : int c4 = z->c;
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;
584 0 : z->c++;
585 0 : z->ket = z->c;
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;
591 0 : z->c++;
592 : }
593 0 : { int ret = slice_from_s(z, 1, s_22);
594 0 : if (ret < 0) return ret;
595 : }
596 0 : z->I[2] = 1;
597 0 : continue;
598 0 : lab2:
599 0 : z->c = c3;
600 0 : break;
601 : }
602 0 : z->c = c2;
603 : }
604 0 : z->I[1] = z->l;
605 0 : z->I[0] = z->l;
606 0 : { int c5 = z->c;
607 : {
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 : }
617 0 : z->I[1] = z->c;
618 : {
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 : }
628 0 : z->I[0] = z->c;
629 0 : lab4:
630 0 : z->c = c5;
631 : }
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);
636 0 : if (ret < 0) return ret;
637 : }
638 0 : z->c = z->l - m6;
639 : }
640 0 : { int m7 = z->l - z->c; (void)m7;
641 0 : { int ret = r_Step_1b(z);
642 0 : if (ret < 0) return ret;
643 : }
644 0 : z->c = z->l - m7;
645 : }
646 0 : { int m8 = z->l - z->c; (void)m8;
647 0 : { int ret = r_Step_1c(z);
648 0 : if (ret < 0) return ret;
649 : }
650 0 : z->c = z->l - m8;
651 : }
652 0 : { int m9 = z->l - z->c; (void)m9;
653 0 : { int ret = r_Step_2(z);
654 0 : if (ret < 0) return ret;
655 : }
656 0 : z->c = z->l - m9;
657 : }
658 0 : { int m10 = z->l - z->c; (void)m10;
659 0 : { int ret = r_Step_3(z);
660 0 : if (ret < 0) return ret;
661 : }
662 0 : z->c = z->l - m10;
663 : }
664 0 : { int m11 = z->l - z->c; (void)m11;
665 0 : { int ret = r_Step_4(z);
666 0 : if (ret < 0) return ret;
667 : }
668 0 : z->c = z->l - m11;
669 : }
670 0 : { int m12 = z->l - z->c; (void)m12;
671 0 : { int ret = r_Step_5a(z);
672 0 : if (ret < 0) return ret;
673 : }
674 0 : z->c = z->l - m12;
675 : }
676 0 : { int m13 = z->l - z->c; (void)m13;
677 0 : { int ret = r_Step_5b(z);
678 0 : if (ret < 0) return ret;
679 : }
680 0 : z->c = z->l - m13;
681 : }
682 0 : z->c = z->lb;
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) {
688 0 : int c16 = z->c;
689 0 : z->bra = z->c;
690 0 : if (z->c == z->l || z->p[z->c] != 'Y') goto lab7;
691 0 : z->c++;
692 0 : z->ket = z->c;
693 0 : z->c = c16;
694 0 : break;
695 0 : lab7:
696 0 : z->c = c16;
697 0 : if (z->c >= z->l) goto lab6;
698 0 : z->c++;
699 : }
700 0 : { int ret = slice_from_s(z, 1, s_23);
701 0 : if (ret < 0) return ret;
702 : }
703 0 : continue;
704 0 : lab6:
705 0 : z->c = c15;
706 0 : break;
707 : }
708 0 : lab5:
709 0 : z->c = c14;
710 : }
711 0 : return 1;
712 : }
713 :
714 0 : extern struct SN_env * porter_ISO_8859_1_create_env(void) { return SN_create_env(0, 3); }
715 :
716 0 : extern void porter_ISO_8859_1_close_env(struct SN_env * z) { SN_close_env(z, 0); }
717 :
|