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