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 irish_ISO_8859_1_stem(struct SN_env * z); |
10 | #ifdef __cplusplus |
11 | } |
12 | #endif |
13 | static int r_verb_sfx(struct SN_env * z); |
14 | static int r_deriv(struct SN_env * z); |
15 | static int r_noun_sfx(struct SN_env * z); |
16 | static int r_mark_regions(struct SN_env * z); |
17 | static int r_initial_morph(struct SN_env * z); |
18 | static int r_RV(struct SN_env * z); |
19 | static int r_R2(struct SN_env * z); |
20 | static int r_R1(struct SN_env * z); |
21 | #ifdef __cplusplus |
22 | extern "C" { |
23 | #endif |
24 | |
25 | |
26 | extern struct SN_env * irish_ISO_8859_1_create_env(void); |
27 | extern void irish_ISO_8859_1_close_env(struct SN_env * z); |
28 | |
29 | |
30 | #ifdef __cplusplus |
31 | } |
32 | #endif |
33 | static const symbol s_0_0[2] = { 'b', '\'' }; |
34 | static const symbol s_0_1[2] = { 'b', 'h' }; |
35 | static const symbol s_0_2[3] = { 'b', 'h', 'f' }; |
36 | static const symbol s_0_3[2] = { 'b', 'p' }; |
37 | static const symbol s_0_4[2] = { 'c', 'h' }; |
38 | static const symbol s_0_5[2] = { 'd', '\'' }; |
39 | static const symbol s_0_6[4] = { 'd', '\'', 'f', 'h' }; |
40 | static const symbol s_0_7[2] = { 'd', 'h' }; |
41 | static const symbol s_0_8[2] = { 'd', 't' }; |
42 | static const symbol s_0_9[2] = { 'f', 'h' }; |
43 | static const symbol s_0_10[2] = { 'g', 'c' }; |
44 | static const symbol s_0_11[2] = { 'g', 'h' }; |
45 | static const symbol s_0_12[2] = { 'h', '-' }; |
46 | static const symbol s_0_13[2] = { 'm', '\'' }; |
47 | static const symbol s_0_14[2] = { 'm', 'b' }; |
48 | static const symbol s_0_15[2] = { 'm', 'h' }; |
49 | static const symbol s_0_16[2] = { 'n', '-' }; |
50 | static const symbol s_0_17[2] = { 'n', 'd' }; |
51 | static const symbol s_0_18[2] = { 'n', 'g' }; |
52 | static const symbol s_0_19[2] = { 'p', 'h' }; |
53 | static const symbol s_0_20[2] = { 's', 'h' }; |
54 | static const symbol s_0_21[2] = { 't', '-' }; |
55 | static const symbol s_0_22[2] = { 't', 'h' }; |
56 | static const symbol s_0_23[2] = { 't', 's' }; |
57 | |
58 | static const struct among a_0[24] = |
59 | { |
60 | /* 0 */ { 2, s_0_0, -1, 1, 0}, |
61 | /* 1 */ { 2, s_0_1, -1, 4, 0}, |
62 | /* 2 */ { 3, s_0_2, 1, 2, 0}, |
63 | /* 3 */ { 2, s_0_3, -1, 8, 0}, |
64 | /* 4 */ { 2, s_0_4, -1, 5, 0}, |
65 | /* 5 */ { 2, s_0_5, -1, 1, 0}, |
66 | /* 6 */ { 4, s_0_6, 5, 2, 0}, |
67 | /* 7 */ { 2, s_0_7, -1, 6, 0}, |
68 | /* 8 */ { 2, s_0_8, -1, 9, 0}, |
69 | /* 9 */ { 2, s_0_9, -1, 2, 0}, |
70 | /* 10 */ { 2, s_0_10, -1, 5, 0}, |
71 | /* 11 */ { 2, s_0_11, -1, 7, 0}, |
72 | /* 12 */ { 2, s_0_12, -1, 1, 0}, |
73 | /* 13 */ { 2, s_0_13, -1, 1, 0}, |
74 | /* 14 */ { 2, s_0_14, -1, 4, 0}, |
75 | /* 15 */ { 2, s_0_15, -1, 10, 0}, |
76 | /* 16 */ { 2, s_0_16, -1, 1, 0}, |
77 | /* 17 */ { 2, s_0_17, -1, 6, 0}, |
78 | /* 18 */ { 2, s_0_18, -1, 7, 0}, |
79 | /* 19 */ { 2, s_0_19, -1, 8, 0}, |
80 | /* 20 */ { 2, s_0_20, -1, 3, 0}, |
81 | /* 21 */ { 2, s_0_21, -1, 1, 0}, |
82 | /* 22 */ { 2, s_0_22, -1, 9, 0}, |
83 | /* 23 */ { 2, s_0_23, -1, 3, 0} |
84 | }; |
85 | |
86 | static const symbol s_1_0[6] = { 0xED, 'o', 'c', 'h', 't', 'a' }; |
87 | static const symbol s_1_1[7] = { 'a', 0xED, 'o', 'c', 'h', 't', 'a' }; |
88 | static const symbol s_1_2[3] = { 'i', 'r', 'e' }; |
89 | static const symbol s_1_3[4] = { 'a', 'i', 'r', 'e' }; |
90 | static const symbol s_1_4[3] = { 'a', 'b', 'h' }; |
91 | static const symbol s_1_5[4] = { 'e', 'a', 'b', 'h' }; |
92 | static const symbol s_1_6[3] = { 'i', 'b', 'h' }; |
93 | static const symbol s_1_7[4] = { 'a', 'i', 'b', 'h' }; |
94 | static const symbol s_1_8[3] = { 'a', 'm', 'h' }; |
95 | static const symbol s_1_9[4] = { 'e', 'a', 'm', 'h' }; |
96 | static const symbol s_1_10[3] = { 'i', 'm', 'h' }; |
97 | static const symbol s_1_11[4] = { 'a', 'i', 'm', 'h' }; |
98 | static const symbol s_1_12[5] = { 0xED, 'o', 'c', 'h', 't' }; |
99 | static const symbol s_1_13[6] = { 'a', 0xED, 'o', 'c', 'h', 't' }; |
100 | static const symbol s_1_14[3] = { 'i', 'r', 0xED }; |
101 | static const symbol s_1_15[4] = { 'a', 'i', 'r', 0xED }; |
102 | |
103 | static const struct among a_1[16] = |
104 | { |
105 | /* 0 */ { 6, s_1_0, -1, 1, 0}, |
106 | /* 1 */ { 7, s_1_1, 0, 1, 0}, |
107 | /* 2 */ { 3, s_1_2, -1, 2, 0}, |
108 | /* 3 */ { 4, s_1_3, 2, 2, 0}, |
109 | /* 4 */ { 3, s_1_4, -1, 1, 0}, |
110 | /* 5 */ { 4, s_1_5, 4, 1, 0}, |
111 | /* 6 */ { 3, s_1_6, -1, 1, 0}, |
112 | /* 7 */ { 4, s_1_7, 6, 1, 0}, |
113 | /* 8 */ { 3, s_1_8, -1, 1, 0}, |
114 | /* 9 */ { 4, s_1_9, 8, 1, 0}, |
115 | /* 10 */ { 3, s_1_10, -1, 1, 0}, |
116 | /* 11 */ { 4, s_1_11, 10, 1, 0}, |
117 | /* 12 */ { 5, s_1_12, -1, 1, 0}, |
118 | /* 13 */ { 6, s_1_13, 12, 1, 0}, |
119 | /* 14 */ { 3, s_1_14, -1, 2, 0}, |
120 | /* 15 */ { 4, s_1_15, 14, 2, 0} |
121 | }; |
122 | |
123 | static const symbol s_2_0[8] = { 0xF3, 'i', 'd', 'e', 'a', 'c', 'h', 'a' }; |
124 | static const symbol s_2_1[7] = { 'p', 'a', 't', 'a', 'c', 'h', 'a' }; |
125 | static const symbol s_2_2[5] = { 'a', 'c', 'h', 't', 'a' }; |
126 | static const symbol s_2_3[8] = { 'a', 'r', 'c', 'a', 'c', 'h', 't', 'a' }; |
127 | static const symbol s_2_4[6] = { 'e', 'a', 'c', 'h', 't', 'a' }; |
128 | static const symbol s_2_5[11] = { 'g', 'r', 'a', 'f', 'a', 0xED, 'o', 'c', 'h', 't', 'a' }; |
129 | static const symbol s_2_6[5] = { 'p', 'a', 'i', 't', 'e' }; |
130 | static const symbol s_2_7[3] = { 'a', 'c', 'h' }; |
131 | static const symbol s_2_8[4] = { 'e', 'a', 'c', 'h' }; |
132 | static const symbol s_2_9[7] = { 0xF3, 'i', 'd', 'e', 'a', 'c', 'h' }; |
133 | static const symbol s_2_10[7] = { 'g', 'i', 'n', 'e', 'a', 'c', 'h' }; |
134 | static const symbol s_2_11[6] = { 'p', 'a', 't', 'a', 'c', 'h' }; |
135 | static const symbol s_2_12[9] = { 'g', 'r', 'a', 'f', 'a', 0xED, 'o', 'c', 'h' }; |
136 | static const symbol s_2_13[7] = { 'p', 'a', 't', 'a', 'i', 'g', 'h' }; |
137 | static const symbol s_2_14[6] = { 0xF3, 'i', 'd', 'i', 'g', 'h' }; |
138 | static const symbol s_2_15[7] = { 'a', 'c', 'h', 't', 0xFA, 'i', 'l' }; |
139 | static const symbol s_2_16[8] = { 'e', 'a', 'c', 'h', 't', 0xFA, 'i', 'l' }; |
140 | static const symbol s_2_17[6] = { 'g', 'i', 'n', 'e', 'a', 's' }; |
141 | static const symbol s_2_18[5] = { 'g', 'i', 'n', 'i', 's' }; |
142 | static const symbol s_2_19[4] = { 'a', 'c', 'h', 't' }; |
143 | static const symbol s_2_20[7] = { 'a', 'r', 'c', 'a', 'c', 'h', 't' }; |
144 | static const symbol s_2_21[5] = { 'e', 'a', 'c', 'h', 't' }; |
145 | static const symbol s_2_22[10] = { 'g', 'r', 'a', 'f', 'a', 0xED, 'o', 'c', 'h', 't' }; |
146 | static const symbol s_2_23[9] = { 'a', 'r', 'c', 'a', 'c', 'h', 't', 'a', 0xED }; |
147 | static const symbol s_2_24[12] = { 'g', 'r', 'a', 'f', 'a', 0xED, 'o', 'c', 'h', 't', 'a', 0xED }; |
148 | |
149 | static const struct among a_2[25] = |
150 | { |
151 | /* 0 */ { 8, s_2_0, -1, 6, 0}, |
152 | /* 1 */ { 7, s_2_1, -1, 5, 0}, |
153 | /* 2 */ { 5, s_2_2, -1, 1, 0}, |
154 | /* 3 */ { 8, s_2_3, 2, 2, 0}, |
155 | /* 4 */ { 6, s_2_4, 2, 1, 0}, |
156 | /* 5 */ { 11, s_2_5, -1, 4, 0}, |
157 | /* 6 */ { 5, s_2_6, -1, 5, 0}, |
158 | /* 7 */ { 3, s_2_7, -1, 1, 0}, |
159 | /* 8 */ { 4, s_2_8, 7, 1, 0}, |
160 | /* 9 */ { 7, s_2_9, 8, 6, 0}, |
161 | /* 10 */ { 7, s_2_10, 8, 3, 0}, |
162 | /* 11 */ { 6, s_2_11, 7, 5, 0}, |
163 | /* 12 */ { 9, s_2_12, -1, 4, 0}, |
164 | /* 13 */ { 7, s_2_13, -1, 5, 0}, |
165 | /* 14 */ { 6, s_2_14, -1, 6, 0}, |
166 | /* 15 */ { 7, s_2_15, -1, 1, 0}, |
167 | /* 16 */ { 8, s_2_16, 15, 1, 0}, |
168 | /* 17 */ { 6, s_2_17, -1, 3, 0}, |
169 | /* 18 */ { 5, s_2_18, -1, 3, 0}, |
170 | /* 19 */ { 4, s_2_19, -1, 1, 0}, |
171 | /* 20 */ { 7, s_2_20, 19, 2, 0}, |
172 | /* 21 */ { 5, s_2_21, 19, 1, 0}, |
173 | /* 22 */ { 10, s_2_22, -1, 4, 0}, |
174 | /* 23 */ { 9, s_2_23, -1, 2, 0}, |
175 | /* 24 */ { 12, s_2_24, -1, 4, 0} |
176 | }; |
177 | |
178 | static const symbol s_3_0[4] = { 'i', 'm', 'i', 'd' }; |
179 | static const symbol s_3_1[5] = { 'a', 'i', 'm', 'i', 'd' }; |
180 | static const symbol s_3_2[4] = { 0xED, 'm', 'i', 'd' }; |
181 | static const symbol s_3_3[5] = { 'a', 0xED, 'm', 'i', 'd' }; |
182 | static const symbol s_3_4[3] = { 'a', 'd', 'h' }; |
183 | static const symbol s_3_5[4] = { 'e', 'a', 'd', 'h' }; |
184 | static const symbol s_3_6[5] = { 'f', 'a', 'i', 'd', 'h' }; |
185 | static const symbol s_3_7[4] = { 'f', 'i', 'd', 'h' }; |
186 | static const symbol s_3_8[3] = { 0xE1, 'i', 'l' }; |
187 | static const symbol s_3_9[3] = { 'a', 'i', 'n' }; |
188 | static const symbol s_3_10[4] = { 't', 'e', 'a', 'r' }; |
189 | static const symbol s_3_11[3] = { 't', 'a', 'r' }; |
190 | |
191 | static const struct among a_3[12] = |
192 | { |
193 | /* 0 */ { 4, s_3_0, -1, 1, 0}, |
194 | /* 1 */ { 5, s_3_1, 0, 1, 0}, |
195 | /* 2 */ { 4, s_3_2, -1, 1, 0}, |
196 | /* 3 */ { 5, s_3_3, 2, 1, 0}, |
197 | /* 4 */ { 3, s_3_4, -1, 2, 0}, |
198 | /* 5 */ { 4, s_3_5, 4, 2, 0}, |
199 | /* 6 */ { 5, s_3_6, -1, 1, 0}, |
200 | /* 7 */ { 4, s_3_7, -1, 1, 0}, |
201 | /* 8 */ { 3, s_3_8, -1, 2, 0}, |
202 | /* 9 */ { 3, s_3_9, -1, 2, 0}, |
203 | /* 10 */ { 4, s_3_10, -1, 2, 0}, |
204 | /* 11 */ { 3, s_3_11, -1, 2, 0} |
205 | }; |
206 | |
207 | static const unsigned char g_v[] = { 17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 17, 4, 2 }; |
208 | |
209 | static const symbol s_0[] = { 'f' }; |
210 | static const symbol s_1[] = { 's' }; |
211 | static const symbol s_2[] = { 'b' }; |
212 | static const symbol s_3[] = { 'c' }; |
213 | static const symbol s_4[] = { 'd' }; |
214 | static const symbol s_5[] = { 'g' }; |
215 | static const symbol s_6[] = { 'p' }; |
216 | static const symbol s_7[] = { 't' }; |
217 | static const symbol s_8[] = { 'm' }; |
218 | static const symbol s_9[] = { 'a', 'r', 'c' }; |
219 | static const symbol s_10[] = { 'g', 'i', 'n' }; |
220 | static const symbol s_11[] = { 'g', 'r', 'a', 'f' }; |
221 | static const symbol s_12[] = { 'p', 'a', 'i', 't', 'e' }; |
222 | static const symbol s_13[] = { 0xF3, 'i', 'd' }; |
223 | |
224 | static int r_mark_regions(struct SN_env * z) { /* forwardmode */ |
225 | z->I[0] = z->l; /* $pV = <integer expression>, line 30 */ |
226 | z->I[1] = z->l; /* $p1 = <integer expression>, line 31 */ |
227 | z->I[2] = z->l; /* $p2 = <integer expression>, line 32 */ |
228 | { int c1 = z->c; /* do, line 34 */ |
229 | { /* gopast */ /* grouping v, line 35 */ |
230 | int ret = out_grouping(z, g_v, 97, 250, 1); |
231 | if (ret < 0) goto lab0; |
232 | z->c += ret; |
233 | } |
234 | z->I[0] = z->c; /* setmark pV, line 35 */ |
235 | lab0: |
236 | z->c = c1; |
237 | } |
238 | { int c2 = z->c; /* do, line 37 */ |
239 | { /* gopast */ /* grouping v, line 38 */ |
240 | int ret = out_grouping(z, g_v, 97, 250, 1); |
241 | if (ret < 0) goto lab1; |
242 | z->c += ret; |
243 | } |
244 | { /* gopast */ /* non v, line 38 */ |
245 | int ret = in_grouping(z, g_v, 97, 250, 1); |
246 | if (ret < 0) goto lab1; |
247 | z->c += ret; |
248 | } |
249 | z->I[1] = z->c; /* setmark p1, line 38 */ |
250 | { /* gopast */ /* grouping v, line 39 */ |
251 | int ret = out_grouping(z, g_v, 97, 250, 1); |
252 | if (ret < 0) goto lab1; |
253 | z->c += ret; |
254 | } |
255 | { /* gopast */ /* non v, line 39 */ |
256 | int ret = in_grouping(z, g_v, 97, 250, 1); |
257 | if (ret < 0) goto lab1; |
258 | z->c += ret; |
259 | } |
260 | z->I[2] = z->c; /* setmark p2, line 39 */ |
261 | lab1: |
262 | z->c = c2; |
263 | } |
264 | return 1; |
265 | } |
266 | |
267 | static int r_initial_morph(struct SN_env * z) { /* forwardmode */ |
268 | int among_var; |
269 | z->bra = z->c; /* [, line 44 */ |
270 | among_var = find_among(z, a_0, 24); /* substring, line 44 */ |
271 | if (!(among_var)) return 0; |
272 | z->ket = z->c; /* ], line 44 */ |
273 | switch (among_var) { /* among, line 44 */ |
274 | case 1: |
275 | { int ret = slice_del(z); /* delete, line 46 */ |
276 | if (ret < 0) return ret; |
277 | } |
278 | break; |
279 | case 2: |
280 | { int ret = slice_from_s(z, 1, s_0); /* <-, line 52 */ |
281 | if (ret < 0) return ret; |
282 | } |
283 | break; |
284 | case 3: |
285 | { int ret = slice_from_s(z, 1, s_1); /* <-, line 58 */ |
286 | if (ret < 0) return ret; |
287 | } |
288 | break; |
289 | case 4: |
290 | { int ret = slice_from_s(z, 1, s_2); /* <-, line 61 */ |
291 | if (ret < 0) return ret; |
292 | } |
293 | break; |
294 | case 5: |
295 | { int ret = slice_from_s(z, 1, s_3); /* <-, line 63 */ |
296 | if (ret < 0) return ret; |
297 | } |
298 | break; |
299 | case 6: |
300 | { int ret = slice_from_s(z, 1, s_4); /* <-, line 65 */ |
301 | if (ret < 0) return ret; |
302 | } |
303 | break; |
304 | case 7: |
305 | { int ret = slice_from_s(z, 1, s_5); /* <-, line 69 */ |
306 | if (ret < 0) return ret; |
307 | } |
308 | break; |
309 | case 8: |
310 | { int ret = slice_from_s(z, 1, s_6); /* <-, line 71 */ |
311 | if (ret < 0) return ret; |
312 | } |
313 | break; |
314 | case 9: |
315 | { int ret = slice_from_s(z, 1, s_7); /* <-, line 75 */ |
316 | if (ret < 0) return ret; |
317 | } |
318 | break; |
319 | case 10: |
320 | { int ret = slice_from_s(z, 1, s_8); /* <-, line 89 */ |
321 | if (ret < 0) return ret; |
322 | } |
323 | break; |
324 | } |
325 | return 1; |
326 | } |
327 | |
328 | static int r_RV(struct SN_env * z) { /* backwardmode */ |
329 | if (!(z->I[0] <= z->c)) return 0; /* $(<integer expression> <= <integer expression>), line 99 */ |
330 | return 1; |
331 | } |
332 | |
333 | static int r_R1(struct SN_env * z) { /* backwardmode */ |
334 | if (!(z->I[1] <= z->c)) return 0; /* $(<integer expression> <= <integer expression>), line 100 */ |
335 | return 1; |
336 | } |
337 | |
338 | static int r_R2(struct SN_env * z) { /* backwardmode */ |
339 | if (!(z->I[2] <= z->c)) return 0; /* $(<integer expression> <= <integer expression>), line 101 */ |
340 | return 1; |
341 | } |
342 | |
343 | static int r_noun_sfx(struct SN_env * z) { /* backwardmode */ |
344 | int among_var; |
345 | z->ket = z->c; /* [, line 104 */ |
346 | among_var = find_among_b(z, a_1, 16); /* substring, line 104 */ |
347 | if (!(among_var)) return 0; |
348 | z->bra = z->c; /* ], line 104 */ |
349 | switch (among_var) { /* among, line 104 */ |
350 | case 1: |
351 | { int ret = r_R1(z); /* call R1, line 108 */ |
352 | if (ret <= 0) return ret; |
353 | } |
354 | { int ret = slice_del(z); /* delete, line 108 */ |
355 | if (ret < 0) return ret; |
356 | } |
357 | break; |
358 | case 2: |
359 | { int ret = r_R2(z); /* call R2, line 110 */ |
360 | if (ret <= 0) return ret; |
361 | } |
362 | { int ret = slice_del(z); /* delete, line 110 */ |
363 | if (ret < 0) return ret; |
364 | } |
365 | break; |
366 | } |
367 | return 1; |
368 | } |
369 | |
370 | static int r_deriv(struct SN_env * z) { /* backwardmode */ |
371 | int among_var; |
372 | z->ket = z->c; /* [, line 114 */ |
373 | among_var = find_among_b(z, a_2, 25); /* substring, line 114 */ |
374 | if (!(among_var)) return 0; |
375 | z->bra = z->c; /* ], line 114 */ |
376 | switch (among_var) { /* among, line 114 */ |
377 | case 1: |
378 | { int ret = r_R2(z); /* call R2, line 116 */ |
379 | if (ret <= 0) return ret; |
380 | } |
381 | { int ret = slice_del(z); /* delete, line 116 */ |
382 | if (ret < 0) return ret; |
383 | } |
384 | break; |
385 | case 2: |
386 | { int ret = slice_from_s(z, 3, s_9); /* <-, line 118 */ |
387 | if (ret < 0) return ret; |
388 | } |
389 | break; |
390 | case 3: |
391 | { int ret = slice_from_s(z, 3, s_10); /* <-, line 120 */ |
392 | if (ret < 0) return ret; |
393 | } |
394 | break; |
395 | case 4: |
396 | { int ret = slice_from_s(z, 4, s_11); /* <-, line 122 */ |
397 | if (ret < 0) return ret; |
398 | } |
399 | break; |
400 | case 5: |
401 | { int ret = slice_from_s(z, 5, s_12); /* <-, line 124 */ |
402 | if (ret < 0) return ret; |
403 | } |
404 | break; |
405 | case 6: |
406 | { int ret = slice_from_s(z, 3, s_13); /* <-, line 126 */ |
407 | if (ret < 0) return ret; |
408 | } |
409 | break; |
410 | } |
411 | return 1; |
412 | } |
413 | |
414 | static int r_verb_sfx(struct SN_env * z) { /* backwardmode */ |
415 | int among_var; |
416 | z->ket = z->c; /* [, line 130 */ |
417 | if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((282896 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; /* substring, line 130 */ |
418 | among_var = find_among_b(z, a_3, 12); |
419 | if (!(among_var)) return 0; |
420 | z->bra = z->c; /* ], line 130 */ |
421 | switch (among_var) { /* among, line 130 */ |
422 | case 1: |
423 | { int ret = r_RV(z); /* call RV, line 133 */ |
424 | if (ret <= 0) return ret; |
425 | } |
426 | { int ret = slice_del(z); /* delete, line 133 */ |
427 | if (ret < 0) return ret; |
428 | } |
429 | break; |
430 | case 2: |
431 | { int ret = r_R1(z); /* call R1, line 138 */ |
432 | if (ret <= 0) return ret; |
433 | } |
434 | { int ret = slice_del(z); /* delete, line 138 */ |
435 | if (ret < 0) return ret; |
436 | } |
437 | break; |
438 | } |
439 | return 1; |
440 | } |
441 | |
442 | extern int irish_ISO_8859_1_stem(struct SN_env * z) { /* forwardmode */ |
443 | { int c1 = z->c; /* do, line 144 */ |
444 | { int ret = r_initial_morph(z); /* call initial_morph, line 144 */ |
445 | if (ret == 0) goto lab0; |
446 | if (ret < 0) return ret; |
447 | } |
448 | lab0: |
449 | z->c = c1; |
450 | } |
451 | /* do, line 145 */ |
452 | { int ret = r_mark_regions(z); /* call mark_regions, line 145 */ |
453 | if (ret == 0) goto lab1; |
454 | if (ret < 0) return ret; |
455 | } |
456 | lab1: |
457 | z->lb = z->c; z->c = z->l; /* backwards, line 146 */ |
458 | |
459 | { int m2 = z->l - z->c; (void)m2; /* do, line 147 */ |
460 | { int ret = r_noun_sfx(z); /* call noun_sfx, line 147 */ |
461 | if (ret == 0) goto lab2; |
462 | if (ret < 0) return ret; |
463 | } |
464 | lab2: |
465 | z->c = z->l - m2; |
466 | } |
467 | { int m3 = z->l - z->c; (void)m3; /* do, line 148 */ |
468 | { int ret = r_deriv(z); /* call deriv, line 148 */ |
469 | if (ret == 0) goto lab3; |
470 | if (ret < 0) return ret; |
471 | } |
472 | lab3: |
473 | z->c = z->l - m3; |
474 | } |
475 | { int m4 = z->l - z->c; (void)m4; /* do, line 149 */ |
476 | { int ret = r_verb_sfx(z); /* call verb_sfx, line 149 */ |
477 | if (ret == 0) goto lab4; |
478 | if (ret < 0) return ret; |
479 | } |
480 | lab4: |
481 | z->c = z->l - m4; |
482 | } |
483 | z->c = z->lb; |
484 | return 1; |
485 | } |
486 | |
487 | extern struct SN_env * irish_ISO_8859_1_create_env(void) { return SN_create_env(0, 3, 0); } |
488 | |
489 | extern void irish_ISO_8859_1_close_env(struct SN_env * z) { SN_close_env(z, 0); } |
490 | |
491 | |