No issues found
1 /*
2 * Copyright (c) 2001, Dr Martin Porter
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
6 * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
7 * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
8 * Neither the name of the <ORGANIZATION> nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
9 *
10 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
11 */
12
13
14
15 /* This file was generated automatically by the Snowball to ANSI C compiler */
16
17 #include "header.h"
18
19 extern int italian_UTF_8_stem(struct SN_env * z);
20 static int r_vowel_suffix(struct SN_env * z);
21 static int r_verb_suffix(struct SN_env * z);
22 static int r_standard_suffix(struct SN_env * z);
23 static int r_attached_pronoun(struct SN_env * z);
24 static int r_R2(struct SN_env * z);
25 static int r_R1(struct SN_env * z);
26 static int r_RV(struct SN_env * z);
27 static int r_mark_regions(struct SN_env * z);
28 static int r_postlude(struct SN_env * z);
29 static int r_prelude(struct SN_env * z);
30
31 extern struct SN_env * italian_UTF_8_create_env(void);
32 extern void italian_UTF_8_close_env(struct SN_env * z);
33
34 static symbol s_0_1[2] = { 'q', 'u' };
35 static symbol s_0_2[2] = { 0xC3, 0xA1 };
36 static symbol s_0_3[2] = { 0xC3, 0xA9 };
37 static symbol s_0_4[2] = { 0xC3, 0xAD };
38 static symbol s_0_5[2] = { 0xC3, 0xB3 };
39 static symbol s_0_6[2] = { 0xC3, 0xBA };
40
41 static struct among a_0[7] =
42 {
43 /* 0 */ { 0, 0, -1, 7, 0},
44 /* 1 */ { 2, s_0_1, 0, 6, 0},
45 /* 2 */ { 2, s_0_2, 0, 1, 0},
46 /* 3 */ { 2, s_0_3, 0, 2, 0},
47 /* 4 */ { 2, s_0_4, 0, 3, 0},
48 /* 5 */ { 2, s_0_5, 0, 4, 0},
49 /* 6 */ { 2, s_0_6, 0, 5, 0}
50 };
51
52 static symbol s_1_1[1] = { 'I' };
53 static symbol s_1_2[1] = { 'U' };
54
55 static struct among a_1[3] =
56 {
57 /* 0 */ { 0, 0, -1, 3, 0},
58 /* 1 */ { 1, s_1_1, 0, 1, 0},
59 /* 2 */ { 1, s_1_2, 0, 2, 0}
60 };
61
62 static symbol s_2_0[2] = { 'l', 'a' };
63 static symbol s_2_1[4] = { 'c', 'e', 'l', 'a' };
64 static symbol s_2_2[6] = { 'g', 'l', 'i', 'e', 'l', 'a' };
65 static symbol s_2_3[4] = { 'm', 'e', 'l', 'a' };
66 static symbol s_2_4[4] = { 't', 'e', 'l', 'a' };
67 static symbol s_2_5[4] = { 'v', 'e', 'l', 'a' };
68 static symbol s_2_6[2] = { 'l', 'e' };
69 static symbol s_2_7[4] = { 'c', 'e', 'l', 'e' };
70 static symbol s_2_8[6] = { 'g', 'l', 'i', 'e', 'l', 'e' };
71 static symbol s_2_9[4] = { 'm', 'e', 'l', 'e' };
72 static symbol s_2_10[4] = { 't', 'e', 'l', 'e' };
73 static symbol s_2_11[4] = { 'v', 'e', 'l', 'e' };
74 static symbol s_2_12[2] = { 'n', 'e' };
75 static symbol s_2_13[4] = { 'c', 'e', 'n', 'e' };
76 static symbol s_2_14[6] = { 'g', 'l', 'i', 'e', 'n', 'e' };
77 static symbol s_2_15[4] = { 'm', 'e', 'n', 'e' };
78 static symbol s_2_16[4] = { 's', 'e', 'n', 'e' };
79 static symbol s_2_17[4] = { 't', 'e', 'n', 'e' };
80 static symbol s_2_18[4] = { 'v', 'e', 'n', 'e' };
81 static symbol s_2_19[2] = { 'c', 'i' };
82 static symbol s_2_20[2] = { 'l', 'i' };
83 static symbol s_2_21[4] = { 'c', 'e', 'l', 'i' };
84 static symbol s_2_22[6] = { 'g', 'l', 'i', 'e', 'l', 'i' };
85 static symbol s_2_23[4] = { 'm', 'e', 'l', 'i' };
86 static symbol s_2_24[4] = { 't', 'e', 'l', 'i' };
87 static symbol s_2_25[4] = { 'v', 'e', 'l', 'i' };
88 static symbol s_2_26[3] = { 'g', 'l', 'i' };
89 static symbol s_2_27[2] = { 'm', 'i' };
90 static symbol s_2_28[2] = { 's', 'i' };
91 static symbol s_2_29[2] = { 't', 'i' };
92 static symbol s_2_30[2] = { 'v', 'i' };
93 static symbol s_2_31[2] = { 'l', 'o' };
94 static symbol s_2_32[4] = { 'c', 'e', 'l', 'o' };
95 static symbol s_2_33[6] = { 'g', 'l', 'i', 'e', 'l', 'o' };
96 static symbol s_2_34[4] = { 'm', 'e', 'l', 'o' };
97 static symbol s_2_35[4] = { 't', 'e', 'l', 'o' };
98 static symbol s_2_36[4] = { 'v', 'e', 'l', 'o' };
99
100 static struct among a_2[37] =
101 {
102 /* 0 */ { 2, s_2_0, -1, -1, 0},
103 /* 1 */ { 4, s_2_1, 0, -1, 0},
104 /* 2 */ { 6, s_2_2, 0, -1, 0},
105 /* 3 */ { 4, s_2_3, 0, -1, 0},
106 /* 4 */ { 4, s_2_4, 0, -1, 0},
107 /* 5 */ { 4, s_2_5, 0, -1, 0},
108 /* 6 */ { 2, s_2_6, -1, -1, 0},
109 /* 7 */ { 4, s_2_7, 6, -1, 0},
110 /* 8 */ { 6, s_2_8, 6, -1, 0},
111 /* 9 */ { 4, s_2_9, 6, -1, 0},
112 /* 10 */ { 4, s_2_10, 6, -1, 0},
113 /* 11 */ { 4, s_2_11, 6, -1, 0},
114 /* 12 */ { 2, s_2_12, -1, -1, 0},
115 /* 13 */ { 4, s_2_13, 12, -1, 0},
116 /* 14 */ { 6, s_2_14, 12, -1, 0},
117 /* 15 */ { 4, s_2_15, 12, -1, 0},
118 /* 16 */ { 4, s_2_16, 12, -1, 0},
119 /* 17 */ { 4, s_2_17, 12, -1, 0},
120 /* 18 */ { 4, s_2_18, 12, -1, 0},
121 /* 19 */ { 2, s_2_19, -1, -1, 0},
122 /* 20 */ { 2, s_2_20, -1, -1, 0},
123 /* 21 */ { 4, s_2_21, 20, -1, 0},
124 /* 22 */ { 6, s_2_22, 20, -1, 0},
125 /* 23 */ { 4, s_2_23, 20, -1, 0},
126 /* 24 */ { 4, s_2_24, 20, -1, 0},
127 /* 25 */ { 4, s_2_25, 20, -1, 0},
128 /* 26 */ { 3, s_2_26, 20, -1, 0},
129 /* 27 */ { 2, s_2_27, -1, -1, 0},
130 /* 28 */ { 2, s_2_28, -1, -1, 0},
131 /* 29 */ { 2, s_2_29, -1, -1, 0},
132 /* 30 */ { 2, s_2_30, -1, -1, 0},
133 /* 31 */ { 2, s_2_31, -1, -1, 0},
134 /* 32 */ { 4, s_2_32, 31, -1, 0},
135 /* 33 */ { 6, s_2_33, 31, -1, 0},
136 /* 34 */ { 4, s_2_34, 31, -1, 0},
137 /* 35 */ { 4, s_2_35, 31, -1, 0},
138 /* 36 */ { 4, s_2_36, 31, -1, 0}
139 };
140
141 static symbol s_3_0[4] = { 'a', 'n', 'd', 'o' };
142 static symbol s_3_1[4] = { 'e', 'n', 'd', 'o' };
143 static symbol s_3_2[2] = { 'a', 'r' };
144 static symbol s_3_3[2] = { 'e', 'r' };
145 static symbol s_3_4[2] = { 'i', 'r' };
146
147 static struct among a_3[5] =
148 {
149 /* 0 */ { 4, s_3_0, -1, 1, 0},
150 /* 1 */ { 4, s_3_1, -1, 1, 0},
151 /* 2 */ { 2, s_3_2, -1, 2, 0},
152 /* 3 */ { 2, s_3_3, -1, 2, 0},
153 /* 4 */ { 2, s_3_4, -1, 2, 0}
154 };
155
156 static symbol s_4_0[2] = { 'i', 'c' };
157 static symbol s_4_1[4] = { 'a', 'b', 'i', 'l' };
158 static symbol s_4_2[2] = { 'o', 's' };
159 static symbol s_4_3[2] = { 'i', 'v' };
160
161 static struct among a_4[4] =
162 {
163 /* 0 */ { 2, s_4_0, -1, -1, 0},
164 /* 1 */ { 4, s_4_1, -1, -1, 0},
165 /* 2 */ { 2, s_4_2, -1, -1, 0},
166 /* 3 */ { 2, s_4_3, -1, 1, 0}
167 };
168
169 static symbol s_5_0[2] = { 'i', 'c' };
170 static symbol s_5_1[4] = { 'a', 'b', 'i', 'l' };
171 static symbol s_5_2[2] = { 'i', 'v' };
172
173 static struct among a_5[3] =
174 {
175 /* 0 */ { 2, s_5_0, -1, 1, 0},
176 /* 1 */ { 4, s_5_1, -1, 1, 0},
177 /* 2 */ { 2, s_5_2, -1, 1, 0}
178 };
179
180 static symbol s_6_0[3] = { 'i', 'c', 'a' };
181 static symbol s_6_1[5] = { 'l', 'o', 'g', 'i', 'a' };
182 static symbol s_6_2[3] = { 'o', 's', 'a' };
183 static symbol s_6_3[4] = { 'i', 's', 't', 'a' };
184 static symbol s_6_4[3] = { 'i', 'v', 'a' };
185 static symbol s_6_5[4] = { 'a', 'n', 'z', 'a' };
186 static symbol s_6_6[4] = { 'e', 'n', 'z', 'a' };
187 static symbol s_6_7[3] = { 'i', 'c', 'e' };
188 static symbol s_6_8[6] = { 'a', 't', 'r', 'i', 'c', 'e' };
189 static symbol s_6_9[4] = { 'i', 'c', 'h', 'e' };
190 static symbol s_6_10[5] = { 'l', 'o', 'g', 'i', 'e' };
191 static symbol s_6_11[5] = { 'a', 'b', 'i', 'l', 'e' };
192 static symbol s_6_12[5] = { 'i', 'b', 'i', 'l', 'e' };
193 static symbol s_6_13[6] = { 'u', 's', 'i', 'o', 'n', 'e' };
194 static symbol s_6_14[6] = { 'a', 'z', 'i', 'o', 'n', 'e' };
195 static symbol s_6_15[6] = { 'u', 'z', 'i', 'o', 'n', 'e' };
196 static symbol s_6_16[5] = { 'a', 't', 'o', 'r', 'e' };
197 static symbol s_6_17[3] = { 'o', 's', 'e' };
198 static symbol s_6_18[4] = { 'a', 'n', 't', 'e' };
199 static symbol s_6_19[5] = { 'm', 'e', 'n', 't', 'e' };
200 static symbol s_6_20[6] = { 'a', 'm', 'e', 'n', 't', 'e' };
201 static symbol s_6_21[4] = { 'i', 's', 't', 'e' };
202 static symbol s_6_22[3] = { 'i', 'v', 'e' };
203 static symbol s_6_23[4] = { 'a', 'n', 'z', 'e' };
204 static symbol s_6_24[4] = { 'e', 'n', 'z', 'e' };
205 static symbol s_6_25[3] = { 'i', 'c', 'i' };
206 static symbol s_6_26[6] = { 'a', 't', 'r', 'i', 'c', 'i' };
207 static symbol s_6_27[4] = { 'i', 'c', 'h', 'i' };
208 static symbol s_6_28[5] = { 'a', 'b', 'i', 'l', 'i' };
209 static symbol s_6_29[5] = { 'i', 'b', 'i', 'l', 'i' };
210 static symbol s_6_30[4] = { 'i', 's', 'm', 'i' };
211 static symbol s_6_31[6] = { 'u', 's', 'i', 'o', 'n', 'i' };
212 static symbol s_6_32[6] = { 'a', 'z', 'i', 'o', 'n', 'i' };
213 static symbol s_6_33[6] = { 'u', 'z', 'i', 'o', 'n', 'i' };
214 static symbol s_6_34[5] = { 'a', 't', 'o', 'r', 'i' };
215 static symbol s_6_35[3] = { 'o', 's', 'i' };
216 static symbol s_6_36[4] = { 'a', 'n', 't', 'i' };
217 static symbol s_6_37[6] = { 'a', 'm', 'e', 'n', 't', 'i' };
218 static symbol s_6_38[6] = { 'i', 'm', 'e', 'n', 't', 'i' };
219 static symbol s_6_39[4] = { 'i', 's', 't', 'i' };
220 static symbol s_6_40[3] = { 'i', 'v', 'i' };
221 static symbol s_6_41[3] = { 'i', 'c', 'o' };
222 static symbol s_6_42[4] = { 'i', 's', 'm', 'o' };
223 static symbol s_6_43[3] = { 'o', 's', 'o' };
224 static symbol s_6_44[6] = { 'a', 'm', 'e', 'n', 't', 'o' };
225 static symbol s_6_45[6] = { 'i', 'm', 'e', 'n', 't', 'o' };
226 static symbol s_6_46[3] = { 'i', 'v', 'o' };
227 static symbol s_6_47[4] = { 'i', 't', 0xC3, 0xA0 };
228 static symbol s_6_48[5] = { 'i', 's', 't', 0xC3, 0xA0 };
229 static symbol s_6_49[5] = { 'i', 's', 't', 0xC3, 0xA8 };
230 static symbol s_6_50[5] = { 'i', 's', 't', 0xC3, 0xAC };
231
232 static struct among a_6[51] =
233 {
234 /* 0 */ { 3, s_6_0, -1, 1, 0},
235 /* 1 */ { 5, s_6_1, -1, 3, 0},
236 /* 2 */ { 3, s_6_2, -1, 1, 0},
237 /* 3 */ { 4, s_6_3, -1, 1, 0},
238 /* 4 */ { 3, s_6_4, -1, 9, 0},
239 /* 5 */ { 4, s_6_5, -1, 1, 0},
240 /* 6 */ { 4, s_6_6, -1, 5, 0},
241 /* 7 */ { 3, s_6_7, -1, 1, 0},
242 /* 8 */ { 6, s_6_8, 7, 1, 0},
243 /* 9 */ { 4, s_6_9, -1, 1, 0},
244 /* 10 */ { 5, s_6_10, -1, 3, 0},
245 /* 11 */ { 5, s_6_11, -1, 1, 0},
246 /* 12 */ { 5, s_6_12, -1, 1, 0},
247 /* 13 */ { 6, s_6_13, -1, 4, 0},
248 /* 14 */ { 6, s_6_14, -1, 2, 0},
249 /* 15 */ { 6, s_6_15, -1, 4, 0},
250 /* 16 */ { 5, s_6_16, -1, 2, 0},
251 /* 17 */ { 3, s_6_17, -1, 1, 0},
252 /* 18 */ { 4, s_6_18, -1, 1, 0},
253 /* 19 */ { 5, s_6_19, -1, 1, 0},
254 /* 20 */ { 6, s_6_20, 19, 7, 0},
255 /* 21 */ { 4, s_6_21, -1, 1, 0},
256 /* 22 */ { 3, s_6_22, -1, 9, 0},
257 /* 23 */ { 4, s_6_23, -1, 1, 0},
258 /* 24 */ { 4, s_6_24, -1, 5, 0},
259 /* 25 */ { 3, s_6_25, -1, 1, 0},
260 /* 26 */ { 6, s_6_26, 25, 1, 0},
261 /* 27 */ { 4, s_6_27, -1, 1, 0},
262 /* 28 */ { 5, s_6_28, -1, 1, 0},
263 /* 29 */ { 5, s_6_29, -1, 1, 0},
264 /* 30 */ { 4, s_6_30, -1, 1, 0},
265 /* 31 */ { 6, s_6_31, -1, 4, 0},
266 /* 32 */ { 6, s_6_32, -1, 2, 0},
267 /* 33 */ { 6, s_6_33, -1, 4, 0},
268 /* 34 */ { 5, s_6_34, -1, 2, 0},
269 /* 35 */ { 3, s_6_35, -1, 1, 0},
270 /* 36 */ { 4, s_6_36, -1, 1, 0},
271 /* 37 */ { 6, s_6_37, -1, 6, 0},
272 /* 38 */ { 6, s_6_38, -1, 6, 0},
273 /* 39 */ { 4, s_6_39, -1, 1, 0},
274 /* 40 */ { 3, s_6_40, -1, 9, 0},
275 /* 41 */ { 3, s_6_41, -1, 1, 0},
276 /* 42 */ { 4, s_6_42, -1, 1, 0},
277 /* 43 */ { 3, s_6_43, -1, 1, 0},
278 /* 44 */ { 6, s_6_44, -1, 6, 0},
279 /* 45 */ { 6, s_6_45, -1, 6, 0},
280 /* 46 */ { 3, s_6_46, -1, 9, 0},
281 /* 47 */ { 4, s_6_47, -1, 8, 0},
282 /* 48 */ { 5, s_6_48, -1, 1, 0},
283 /* 49 */ { 5, s_6_49, -1, 1, 0},
284 /* 50 */ { 5, s_6_50, -1, 1, 0}
285 };
286
287 static symbol s_7_0[4] = { 'i', 's', 'c', 'a' };
288 static symbol s_7_1[4] = { 'e', 'n', 'd', 'a' };
289 static symbol s_7_2[3] = { 'a', 't', 'a' };
290 static symbol s_7_3[3] = { 'i', 't', 'a' };
291 static symbol s_7_4[3] = { 'u', 't', 'a' };
292 static symbol s_7_5[3] = { 'a', 'v', 'a' };
293 static symbol s_7_6[3] = { 'e', 'v', 'a' };
294 static symbol s_7_7[3] = { 'i', 'v', 'a' };
295 static symbol s_7_8[6] = { 'e', 'r', 'e', 'b', 'b', 'e' };
296 static symbol s_7_9[6] = { 'i', 'r', 'e', 'b', 'b', 'e' };
297 static symbol s_7_10[4] = { 'i', 's', 'c', 'e' };
298 static symbol s_7_11[4] = { 'e', 'n', 'd', 'e' };
299 static symbol s_7_12[3] = { 'a', 'r', 'e' };
300 static symbol s_7_13[3] = { 'e', 'r', 'e' };
301 static symbol s_7_14[3] = { 'i', 'r', 'e' };
302 static symbol s_7_15[4] = { 'a', 's', 's', 'e' };
303 static symbol s_7_16[3] = { 'a', 't', 'e' };
304 static symbol s_7_17[5] = { 'a', 'v', 'a', 't', 'e' };
305 static symbol s_7_18[5] = { 'e', 'v', 'a', 't', 'e' };
306 static symbol s_7_19[5] = { 'i', 'v', 'a', 't', 'e' };
307 static symbol s_7_20[3] = { 'e', 't', 'e' };
308 static symbol s_7_21[5] = { 'e', 'r', 'e', 't', 'e' };
309 static symbol s_7_22[5] = { 'i', 'r', 'e', 't', 'e' };
310 static symbol s_7_23[3] = { 'i', 't', 'e' };
311 static symbol s_7_24[6] = { 'e', 'r', 'e', 's', 't', 'e' };
312 static symbol s_7_25[6] = { 'i', 'r', 'e', 's', 't', 'e' };
313 static symbol s_7_26[3] = { 'u', 't', 'e' };
314 static symbol s_7_27[4] = { 'e', 'r', 'a', 'i' };
315 static symbol s_7_28[4] = { 'i', 'r', 'a', 'i' };
316 static symbol s_7_29[4] = { 'i', 's', 'c', 'i' };
317 static symbol s_7_30[4] = { 'e', 'n', 'd', 'i' };
318 static symbol s_7_31[4] = { 'e', 'r', 'e', 'i' };
319 static symbol s_7_32[4] = { 'i', 'r', 'e', 'i' };
320 static symbol s_7_33[4] = { 'a', 's', 's', 'i' };
321 static symbol s_7_34[3] = { 'a', 't', 'i' };
322 static symbol s_7_35[3] = { 'i', 't', 'i' };
323 static symbol s_7_36[6] = { 'e', 'r', 'e', 's', 't', 'i' };
324 static symbol s_7_37[6] = { 'i', 'r', 'e', 's', 't', 'i' };
325 static symbol s_7_38[3] = { 'u', 't', 'i' };
326 static symbol s_7_39[3] = { 'a', 'v', 'i' };
327 static symbol s_7_40[3] = { 'e', 'v', 'i' };
328 static symbol s_7_41[3] = { 'i', 'v', 'i' };
329 static symbol s_7_42[4] = { 'i', 's', 'c', 'o' };
330 static symbol s_7_43[4] = { 'a', 'n', 'd', 'o' };
331 static symbol s_7_44[4] = { 'e', 'n', 'd', 'o' };
332 static symbol s_7_45[4] = { 'Y', 'a', 'm', 'o' };
333 static symbol s_7_46[4] = { 'i', 'a', 'm', 'o' };
334 static symbol s_7_47[5] = { 'a', 'v', 'a', 'm', 'o' };
335 static symbol s_7_48[5] = { 'e', 'v', 'a', 'm', 'o' };
336 static symbol s_7_49[5] = { 'i', 'v', 'a', 'm', 'o' };
337 static symbol s_7_50[5] = { 'e', 'r', 'e', 'm', 'o' };
338 static symbol s_7_51[5] = { 'i', 'r', 'e', 'm', 'o' };
339 static symbol s_7_52[6] = { 'a', 's', 's', 'i', 'm', 'o' };
340 static symbol s_7_53[4] = { 'a', 'm', 'm', 'o' };
341 static symbol s_7_54[4] = { 'e', 'm', 'm', 'o' };
342 static symbol s_7_55[6] = { 'e', 'r', 'e', 'm', 'm', 'o' };
343 static symbol s_7_56[6] = { 'i', 'r', 'e', 'm', 'm', 'o' };
344 static symbol s_7_57[4] = { 'i', 'm', 'm', 'o' };
345 static symbol s_7_58[3] = { 'a', 'n', 'o' };
346 static symbol s_7_59[6] = { 'i', 's', 'c', 'a', 'n', 'o' };
347 static symbol s_7_60[5] = { 'a', 'v', 'a', 'n', 'o' };
348 static symbol s_7_61[5] = { 'e', 'v', 'a', 'n', 'o' };
349 static symbol s_7_62[5] = { 'i', 'v', 'a', 'n', 'o' };
350 static symbol s_7_63[6] = { 'e', 'r', 'a', 'n', 'n', 'o' };
351 static symbol s_7_64[6] = { 'i', 'r', 'a', 'n', 'n', 'o' };
352 static symbol s_7_65[3] = { 'o', 'n', 'o' };
353 static symbol s_7_66[6] = { 'i', 's', 'c', 'o', 'n', 'o' };
354 static symbol s_7_67[5] = { 'a', 'r', 'o', 'n', 'o' };
355 static symbol s_7_68[5] = { 'e', 'r', 'o', 'n', 'o' };
356 static symbol s_7_69[5] = { 'i', 'r', 'o', 'n', 'o' };
357 static symbol s_7_70[8] = { 'e', 'r', 'e', 'b', 'b', 'e', 'r', 'o' };
358 static symbol s_7_71[8] = { 'i', 'r', 'e', 'b', 'b', 'e', 'r', 'o' };
359 static symbol s_7_72[6] = { 'a', 's', 's', 'e', 'r', 'o' };
360 static symbol s_7_73[6] = { 'e', 's', 's', 'e', 'r', 'o' };
361 static symbol s_7_74[6] = { 'i', 's', 's', 'e', 'r', 'o' };
362 static symbol s_7_75[3] = { 'a', 't', 'o' };
363 static symbol s_7_76[3] = { 'i', 't', 'o' };
364 static symbol s_7_77[3] = { 'u', 't', 'o' };
365 static symbol s_7_78[3] = { 'a', 'v', 'o' };
366 static symbol s_7_79[3] = { 'e', 'v', 'o' };
367 static symbol s_7_80[3] = { 'i', 'v', 'o' };
368 static symbol s_7_81[2] = { 'a', 'r' };
369 static symbol s_7_82[2] = { 'i', 'r' };
370 static symbol s_7_83[4] = { 'e', 'r', 0xC3, 0xA0 };
371 static symbol s_7_84[4] = { 'i', 'r', 0xC3, 0xA0 };
372 static symbol s_7_85[4] = { 'e', 'r', 0xC3, 0xB2 };
373 static symbol s_7_86[4] = { 'i', 'r', 0xC3, 0xB2 };
374
375 static struct among a_7[87] =
376 {
377 /* 0 */ { 4, s_7_0, -1, 1, 0},
378 /* 1 */ { 4, s_7_1, -1, 1, 0},
379 /* 2 */ { 3, s_7_2, -1, 1, 0},
380 /* 3 */ { 3, s_7_3, -1, 1, 0},
381 /* 4 */ { 3, s_7_4, -1, 1, 0},
382 /* 5 */ { 3, s_7_5, -1, 1, 0},
383 /* 6 */ { 3, s_7_6, -1, 1, 0},
384 /* 7 */ { 3, s_7_7, -1, 1, 0},
385 /* 8 */ { 6, s_7_8, -1, 1, 0},
386 /* 9 */ { 6, s_7_9, -1, 1, 0},
387 /* 10 */ { 4, s_7_10, -1, 1, 0},
388 /* 11 */ { 4, s_7_11, -1, 1, 0},
389 /* 12 */ { 3, s_7_12, -1, 1, 0},
390 /* 13 */ { 3, s_7_13, -1, 1, 0},
391 /* 14 */ { 3, s_7_14, -1, 1, 0},
392 /* 15 */ { 4, s_7_15, -1, 1, 0},
393 /* 16 */ { 3, s_7_16, -1, 1, 0},
394 /* 17 */ { 5, s_7_17, 16, 1, 0},
395 /* 18 */ { 5, s_7_18, 16, 1, 0},
396 /* 19 */ { 5, s_7_19, 16, 1, 0},
397 /* 20 */ { 3, s_7_20, -1, 1, 0},
398 /* 21 */ { 5, s_7_21, 20, 1, 0},
399 /* 22 */ { 5, s_7_22, 20, 1, 0},
400 /* 23 */ { 3, s_7_23, -1, 1, 0},
401 /* 24 */ { 6, s_7_24, -1, 1, 0},
402 /* 25 */ { 6, s_7_25, -1, 1, 0},
403 /* 26 */ { 3, s_7_26, -1, 1, 0},
404 /* 27 */ { 4, s_7_27, -1, 1, 0},
405 /* 28 */ { 4, s_7_28, -1, 1, 0},
406 /* 29 */ { 4, s_7_29, -1, 1, 0},
407 /* 30 */ { 4, s_7_30, -1, 1, 0},
408 /* 31 */ { 4, s_7_31, -1, 1, 0},
409 /* 32 */ { 4, s_7_32, -1, 1, 0},
410 /* 33 */ { 4, s_7_33, -1, 1, 0},
411 /* 34 */ { 3, s_7_34, -1, 1, 0},
412 /* 35 */ { 3, s_7_35, -1, 1, 0},
413 /* 36 */ { 6, s_7_36, -1, 1, 0},
414 /* 37 */ { 6, s_7_37, -1, 1, 0},
415 /* 38 */ { 3, s_7_38, -1, 1, 0},
416 /* 39 */ { 3, s_7_39, -1, 1, 0},
417 /* 40 */ { 3, s_7_40, -1, 1, 0},
418 /* 41 */ { 3, s_7_41, -1, 1, 0},
419 /* 42 */ { 4, s_7_42, -1, 1, 0},
420 /* 43 */ { 4, s_7_43, -1, 1, 0},
421 /* 44 */ { 4, s_7_44, -1, 1, 0},
422 /* 45 */ { 4, s_7_45, -1, 1, 0},
423 /* 46 */ { 4, s_7_46, -1, 1, 0},
424 /* 47 */ { 5, s_7_47, -1, 1, 0},
425 /* 48 */ { 5, s_7_48, -1, 1, 0},
426 /* 49 */ { 5, s_7_49, -1, 1, 0},
427 /* 50 */ { 5, s_7_50, -1, 1, 0},
428 /* 51 */ { 5, s_7_51, -1, 1, 0},
429 /* 52 */ { 6, s_7_52, -1, 1, 0},
430 /* 53 */ { 4, s_7_53, -1, 1, 0},
431 /* 54 */ { 4, s_7_54, -1, 1, 0},
432 /* 55 */ { 6, s_7_55, 54, 1, 0},
433 /* 56 */ { 6, s_7_56, 54, 1, 0},
434 /* 57 */ { 4, s_7_57, -1, 1, 0},
435 /* 58 */ { 3, s_7_58, -1, 1, 0},
436 /* 59 */ { 6, s_7_59, 58, 1, 0},
437 /* 60 */ { 5, s_7_60, 58, 1, 0},
438 /* 61 */ { 5, s_7_61, 58, 1, 0},
439 /* 62 */ { 5, s_7_62, 58, 1, 0},
440 /* 63 */ { 6, s_7_63, -1, 1, 0},
441 /* 64 */ { 6, s_7_64, -1, 1, 0},
442 /* 65 */ { 3, s_7_65, -1, 1, 0},
443 /* 66 */ { 6, s_7_66, 65, 1, 0},
444 /* 67 */ { 5, s_7_67, 65, 1, 0},
445 /* 68 */ { 5, s_7_68, 65, 1, 0},
446 /* 69 */ { 5, s_7_69, 65, 1, 0},
447 /* 70 */ { 8, s_7_70, -1, 1, 0},
448 /* 71 */ { 8, s_7_71, -1, 1, 0},
449 /* 72 */ { 6, s_7_72, -1, 1, 0},
450 /* 73 */ { 6, s_7_73, -1, 1, 0},
451 /* 74 */ { 6, s_7_74, -1, 1, 0},
452 /* 75 */ { 3, s_7_75, -1, 1, 0},
453 /* 76 */ { 3, s_7_76, -1, 1, 0},
454 /* 77 */ { 3, s_7_77, -1, 1, 0},
455 /* 78 */ { 3, s_7_78, -1, 1, 0},
456 /* 79 */ { 3, s_7_79, -1, 1, 0},
457 /* 80 */ { 3, s_7_80, -1, 1, 0},
458 /* 81 */ { 2, s_7_81, -1, 1, 0},
459 /* 82 */ { 2, s_7_82, -1, 1, 0},
460 /* 83 */ { 4, s_7_83, -1, 1, 0},
461 /* 84 */ { 4, s_7_84, -1, 1, 0},
462 /* 85 */ { 4, s_7_85, -1, 1, 0},
463 /* 86 */ { 4, s_7_86, -1, 1, 0}
464 };
465
466 static unsigned char g_v[] = { 17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 8, 2, 1 };
467
468 static unsigned char g_AEIO[] = { 17, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 8, 2 };
469
470 static unsigned char g_CG[] = { 17 };
471
472 static symbol s_0[] = { 0xC3, 0xA0 };
473 static symbol s_1[] = { 0xC3, 0xA8 };
474 static symbol s_2[] = { 0xC3, 0xAC };
475 static symbol s_3[] = { 0xC3, 0xB2 };
476 static symbol s_4[] = { 0xC3, 0xB9 };
477 static symbol s_5[] = { 'q', 'U' };
478 static symbol s_6[] = { 'u' };
479 static symbol s_7[] = { 'U' };
480 static symbol s_8[] = { 'i' };
481 static symbol s_9[] = { 'I' };
482 static symbol s_10[] = { 'i' };
483 static symbol s_11[] = { 'u' };
484 static symbol s_12[] = { 'e' };
485 static symbol s_13[] = { 'i', 'c' };
486 static symbol s_14[] = { 'l', 'o', 'g' };
487 static symbol s_15[] = { 'u' };
488 static symbol s_16[] = { 'e', 'n', 't', 'e' };
489 static symbol s_17[] = { 'a', 't' };
490 static symbol s_18[] = { 'a', 't' };
491 static symbol s_19[] = { 'i', 'c' };
492 static symbol s_20[] = { 'i' };
493 static symbol s_21[] = { 'h' };
494
495 static int r_prelude(struct SN_env * z) {
496 int among_var;
497 { int c_test = z->c; /* test, line 35 */
498 while(1) { /* repeat, line 35 */
499 int c = z->c;
500 z->bra = z->c; /* [, line 36 */
501 among_var = find_among(z, a_0, 7); /* substring, line 36 */
502 if (!(among_var)) goto lab0;
503 z->ket = z->c; /* ], line 36 */
504 switch(among_var) {
505 case 0: goto lab0;
506 case 1:
507 { int ret;
508 ret = slice_from_s(z, 2, s_0); /* <-, line 37 */
509 if (ret < 0) return ret;
510 }
511 break;
512 case 2:
513 { int ret;
514 ret = slice_from_s(z, 2, s_1); /* <-, line 38 */
515 if (ret < 0) return ret;
516 }
517 break;
518 case 3:
519 { int ret;
520 ret = slice_from_s(z, 2, s_2); /* <-, line 39 */
521 if (ret < 0) return ret;
522 }
523 break;
524 case 4:
525 { int ret;
526 ret = slice_from_s(z, 2, s_3); /* <-, line 40 */
527 if (ret < 0) return ret;
528 }
529 break;
530 case 5:
531 { int ret;
532 ret = slice_from_s(z, 2, s_4); /* <-, line 41 */
533 if (ret < 0) return ret;
534 }
535 break;
536 case 6:
537 { int ret;
538 ret = slice_from_s(z, 2, s_5); /* <-, line 42 */
539 if (ret < 0) return ret;
540 }
541 break;
542 case 7:
543 { int c = skip_utf8(z->p, z->c, 0, z->l, 1);
544 if (c < 0) goto lab0;
545 z->c = c; /* next, line 43 */
546 }
547 break;
548 }
549 continue;
550 lab0:
551 z->c = c;
552 break;
553 }
554 z->c = c_test;
555 }
556 while(1) { /* repeat, line 46 */
557 int c = z->c;
558 while(1) { /* goto, line 46 */
559 int c = z->c;
560 if (!(in_grouping_U(z, g_v, 97, 249))) goto lab2;
561 z->bra = z->c; /* [, line 47 */
562 { int c = z->c; /* or, line 47 */
563 if (!(eq_s(z, 1, s_6))) goto lab4;
564 z->ket = z->c; /* ], line 47 */
565 if (!(in_grouping_U(z, g_v, 97, 249))) goto lab4;
566 { int ret;
567 ret = slice_from_s(z, 1, s_7); /* <-, line 47 */
568 if (ret < 0) return ret;
569 }
570 goto lab3;
571 lab4:
572 z->c = c;
573 if (!(eq_s(z, 1, s_8))) goto lab2;
574 z->ket = z->c; /* ], line 48 */
575 if (!(in_grouping_U(z, g_v, 97, 249))) goto lab2;
576 { int ret;
577 ret = slice_from_s(z, 1, s_9); /* <-, line 48 */
578 if (ret < 0) return ret;
579 }
580 }
581 lab3:
582 z->c = c;
583 break;
584 lab2:
585 z->c = c;
586 { int c = skip_utf8(z->p, z->c, 0, z->l, 1);
587 if (c < 0) goto lab1;
588 z->c = c; /* goto, line 46 */
589 }
590 }
591 continue;
592 lab1:
593 z->c = c;
594 break;
595 }
596 return 1;
597 }
598
599 static int r_mark_regions(struct SN_env * z) {
600 z->I[0] = z->l;
601 z->I[1] = z->l;
602 z->I[2] = z->l;
603 { int c = z->c; /* do, line 58 */
604 { int c = z->c; /* or, line 60 */
605 if (!(in_grouping_U(z, g_v, 97, 249))) goto lab2;
606 { int c = z->c; /* or, line 59 */
607 if (!(out_grouping_U(z, g_v, 97, 249))) goto lab4;
608 while(1) { /* gopast, line 59 */
609 if (!(in_grouping_U(z, g_v, 97, 249))) goto lab5;
610 break;
611 lab5:
612 { int c = skip_utf8(z->p, z->c, 0, z->l, 1);
613 if (c < 0) goto lab4;
614 z->c = c; /* gopast, line 59 */
615 }
616 }
617 goto lab3;
618 lab4:
619 z->c = c;
620 if (!(in_grouping_U(z, g_v, 97, 249))) goto lab2;
621 while(1) { /* gopast, line 59 */
622 if (!(out_grouping_U(z, g_v, 97, 249))) goto lab6;
623 break;
624 lab6:
625 { int c = skip_utf8(z->p, z->c, 0, z->l, 1);
626 if (c < 0) goto lab2;
627 z->c = c; /* gopast, line 59 */
628 }
629 }
630 }
631 lab3:
632 goto lab1;
633 lab2:
634 z->c = c;
635 if (!(out_grouping_U(z, g_v, 97, 249))) goto lab0;
636 { int c = z->c; /* or, line 61 */
637 if (!(out_grouping_U(z, g_v, 97, 249))) goto lab8;
638 while(1) { /* gopast, line 61 */
639 if (!(in_grouping_U(z, g_v, 97, 249))) goto lab9;
640 break;
641 lab9:
642 { int c = skip_utf8(z->p, z->c, 0, z->l, 1);
643 if (c < 0) goto lab8;
644 z->c = c; /* gopast, line 61 */
645 }
646 }
647 goto lab7;
648 lab8:
649 z->c = c;
650 if (!(in_grouping_U(z, g_v, 97, 249))) goto lab0;
651 { int c = skip_utf8(z->p, z->c, 0, z->l, 1);
652 if (c < 0) goto lab0;
653 z->c = c; /* next, line 61 */
654 }
655 }
656 lab7:
657 ;
658 }
659 lab1:
660 z->I[0] = z->c; /* setmark pV, line 62 */
661 lab0:
662 z->c = c;
663 }
664 { int c = z->c; /* do, line 64 */
665 while(1) { /* gopast, line 65 */
666 if (!(in_grouping_U(z, g_v, 97, 249))) goto lab11;
667 break;
668 lab11:
669 { int c = skip_utf8(z->p, z->c, 0, z->l, 1);
670 if (c < 0) goto lab10;
671 z->c = c; /* gopast, line 65 */
672 }
673 }
674 while(1) { /* gopast, line 65 */
675 if (!(out_grouping_U(z, g_v, 97, 249))) goto lab12;
676 break;
677 lab12:
678 { int c = skip_utf8(z->p, z->c, 0, z->l, 1);
679 if (c < 0) goto lab10;
680 z->c = c; /* gopast, line 65 */
681 }
682 }
683 z->I[1] = z->c; /* setmark p1, line 65 */
684 while(1) { /* gopast, line 66 */
685 if (!(in_grouping_U(z, g_v, 97, 249))) goto lab13;
686 break;
687 lab13:
688 { int c = skip_utf8(z->p, z->c, 0, z->l, 1);
689 if (c < 0) goto lab10;
690 z->c = c; /* gopast, line 66 */
691 }
692 }
693 while(1) { /* gopast, line 66 */
694 if (!(out_grouping_U(z, g_v, 97, 249))) goto lab14;
695 break;
696 lab14:
697 { int c = skip_utf8(z->p, z->c, 0, z->l, 1);
698 if (c < 0) goto lab10;
699 z->c = c; /* gopast, line 66 */
700 }
701 }
702 z->I[2] = z->c; /* setmark p2, line 66 */
703 lab10:
704 z->c = c;
705 }
706 return 1;
707 }
708
709 static int r_postlude(struct SN_env * z) {
710 int among_var;
711 while(1) { /* repeat, line 70 */
712 int c = z->c;
713 z->bra = z->c; /* [, line 72 */
714 among_var = find_among(z, a_1, 3); /* substring, line 72 */
715 if (!(among_var)) goto lab0;
716 z->ket = z->c; /* ], line 72 */
717 switch(among_var) {
718 case 0: goto lab0;
719 case 1:
720 { int ret;
721 ret = slice_from_s(z, 1, s_10); /* <-, line 73 */
722 if (ret < 0) return ret;
723 }
724 break;
725 case 2:
726 { int ret;
727 ret = slice_from_s(z, 1, s_11); /* <-, line 74 */
728 if (ret < 0) return ret;
729 }
730 break;
731 case 3:
732 { int c = skip_utf8(z->p, z->c, 0, z->l, 1);
733 if (c < 0) goto lab0;
734 z->c = c; /* next, line 75 */
735 }
736 break;
737 }
738 continue;
739 lab0:
740 z->c = c;
741 break;
742 }
743 return 1;
744 }
745
746 static int r_RV(struct SN_env * z) {
747 if (!(z->I[0] <= z->c)) return 0;
748 return 1;
749 }
750
751 static int r_R1(struct SN_env * z) {
752 if (!(z->I[1] <= z->c)) return 0;
753 return 1;
754 }
755
756 static int r_R2(struct SN_env * z) {
757 if (!(z->I[2] <= z->c)) return 0;
758 return 1;
759 }
760
761 static int r_attached_pronoun(struct SN_env * z) {
762 int among_var;
763 z->ket = z->c; /* [, line 87 */
764 if (!(find_among_b(z, a_2, 37))) return 0; /* substring, line 87 */
765 z->bra = z->c; /* ], line 87 */
766 among_var = find_among_b(z, a_3, 5); /* among, line 97 */
767 if (!(among_var)) return 0;
768 { int ret = r_RV(z);
769 if (ret == 0) return 0; /* call RV, line 97 */
770 if (ret < 0) return ret;
771 }
772 switch(among_var) {
773 case 0: return 0;
774 case 1:
775 { int ret;
776 ret = slice_del(z); /* delete, line 98 */
777 if (ret < 0) return ret;
778 }
779 break;
780 case 2:
781 { int ret;
782 ret = slice_from_s(z, 1, s_12); /* <-, line 99 */
783 if (ret < 0) return ret;
784 }
785 break;
786 }
787 return 1;
788 }
789
790 static int r_standard_suffix(struct SN_env * z) {
791 int among_var;
792 z->ket = z->c; /* [, line 104 */
793 among_var = find_among_b(z, a_6, 51); /* substring, line 104 */
794 if (!(among_var)) return 0;
795 z->bra = z->c; /* ], line 104 */
796 switch(among_var) {
797 case 0: return 0;
798 case 1:
799 { int ret = r_R2(z);
800 if (ret == 0) return 0; /* call R2, line 111 */
801 if (ret < 0) return ret;
802 }
803 { int ret;
804 ret = slice_del(z); /* delete, line 111 */
805 if (ret < 0) return ret;
806 }
807 break;
808 case 2:
809 { int ret = r_R2(z);
810 if (ret == 0) return 0; /* call R2, line 113 */
811 if (ret < 0) return ret;
812 }
813 { int ret;
814 ret = slice_del(z); /* delete, line 113 */
815 if (ret < 0) return ret;
816 }
817 { int m = z->l - z->c; (void) m; /* try, line 114 */
818 z->ket = z->c; /* [, line 114 */
819 if (!(eq_s_b(z, 2, s_13))) { z->c = z->l - m; goto lab0; }
820 z->bra = z->c; /* ], line 114 */
821 { int ret = r_R2(z);
822 if (ret == 0) { z->c = z->l - m; goto lab0; } /* call R2, line 114 */
823 if (ret < 0) return ret;
824 }
825 { int ret;
826 ret = slice_del(z); /* delete, line 114 */
827 if (ret < 0) return ret;
828 }
829 lab0:
830 ;
831 }
832 break;
833 case 3:
834 { int ret = r_R2(z);
835 if (ret == 0) return 0; /* call R2, line 117 */
836 if (ret < 0) return ret;
837 }
838 { int ret;
839 ret = slice_from_s(z, 3, s_14); /* <-, line 117 */
840 if (ret < 0) return ret;
841 }
842 break;
843 case 4:
844 { int ret = r_R2(z);
845 if (ret == 0) return 0; /* call R2, line 119 */
846 if (ret < 0) return ret;
847 }
848 { int ret;
849 ret = slice_from_s(z, 1, s_15); /* <-, line 119 */
850 if (ret < 0) return ret;
851 }
852 break;
853 case 5:
854 { int ret = r_R2(z);
855 if (ret == 0) return 0; /* call R2, line 121 */
856 if (ret < 0) return ret;
857 }
858 { int ret;
859 ret = slice_from_s(z, 4, s_16); /* <-, line 121 */
860 if (ret < 0) return ret;
861 }
862 break;
863 case 6:
864 { int ret = r_RV(z);
865 if (ret == 0) return 0; /* call RV, line 123 */
866 if (ret < 0) return ret;
867 }
868 { int ret;
869 ret = slice_del(z); /* delete, line 123 */
870 if (ret < 0) return ret;
871 }
872 break;
873 case 7:
874 { int ret = r_R1(z);
875 if (ret == 0) return 0; /* call R1, line 125 */
876 if (ret < 0) return ret;
877 }
878 { int ret;
879 ret = slice_del(z); /* delete, line 125 */
880 if (ret < 0) return ret;
881 }
882 { int m = z->l - z->c; (void) m; /* try, line 126 */
883 z->ket = z->c; /* [, line 127 */
884 among_var = find_among_b(z, a_4, 4); /* substring, line 127 */
885 if (!(among_var)) { z->c = z->l - m; goto lab1; }
886 z->bra = z->c; /* ], line 127 */
887 { int ret = r_R2(z);
888 if (ret == 0) { z->c = z->l - m; goto lab1; } /* call R2, line 127 */
889 if (ret < 0) return ret;
890 }
891 { int ret;
892 ret = slice_del(z); /* delete, line 127 */
893 if (ret < 0) return ret;
894 }
895 switch(among_var) {
896 case 0: { z->c = z->l - m; goto lab1; }
897 case 1:
898 z->ket = z->c; /* [, line 128 */
899 if (!(eq_s_b(z, 2, s_17))) { z->c = z->l - m; goto lab1; }
900 z->bra = z->c; /* ], line 128 */
901 { int ret = r_R2(z);
902 if (ret == 0) { z->c = z->l - m; goto lab1; } /* call R2, line 128 */
903 if (ret < 0) return ret;
904 }
905 { int ret;
906 ret = slice_del(z); /* delete, line 128 */
907 if (ret < 0) return ret;
908 }
909 break;
910 }
911 lab1:
912 ;
913 }
914 break;
915 case 8:
916 { int ret = r_R2(z);
917 if (ret == 0) return 0; /* call R2, line 134 */
918 if (ret < 0) return ret;
919 }
920 { int ret;
921 ret = slice_del(z); /* delete, line 134 */
922 if (ret < 0) return ret;
923 }
924 { int m = z->l - z->c; (void) m; /* try, line 135 */
925 z->ket = z->c; /* [, line 136 */
926 among_var = find_among_b(z, a_5, 3); /* substring, line 136 */
927 if (!(among_var)) { z->c = z->l - m; goto lab2; }
928 z->bra = z->c; /* ], line 136 */
929 switch(among_var) {
930 case 0: { z->c = z->l - m; goto lab2; }
931 case 1:
932 { int ret = r_R2(z);
933 if (ret == 0) { z->c = z->l - m; goto lab2; } /* call R2, line 137 */
934 if (ret < 0) return ret;
935 }
936 { int ret;
937 ret = slice_del(z); /* delete, line 137 */
938 if (ret < 0) return ret;
939 }
940 break;
941 }
942 lab2:
943 ;
944 }
945 break;
946 case 9:
947 { int ret = r_R2(z);
948 if (ret == 0) return 0; /* call R2, line 142 */
949 if (ret < 0) return ret;
950 }
951 { int ret;
952 ret = slice_del(z); /* delete, line 142 */
953 if (ret < 0) return ret;
954 }
955 { int m = z->l - z->c; (void) m; /* try, line 143 */
956 z->ket = z->c; /* [, line 143 */
957 if (!(eq_s_b(z, 2, s_18))) { z->c = z->l - m; goto lab3; }
958 z->bra = z->c; /* ], line 143 */
959 { int ret = r_R2(z);
960 if (ret == 0) { z->c = z->l - m; goto lab3; } /* call R2, line 143 */
961 if (ret < 0) return ret;
962 }
963 { int ret;
964 ret = slice_del(z); /* delete, line 143 */
965 if (ret < 0) return ret;
966 }
967 z->ket = z->c; /* [, line 143 */
968 if (!(eq_s_b(z, 2, s_19))) { z->c = z->l - m; goto lab3; }
969 z->bra = z->c; /* ], line 143 */
970 { int ret = r_R2(z);
971 if (ret == 0) { z->c = z->l - m; goto lab3; } /* call R2, line 143 */
972 if (ret < 0) return ret;
973 }
974 { int ret;
975 ret = slice_del(z); /* delete, line 143 */
976 if (ret < 0) return ret;
977 }
978 lab3:
979 ;
980 }
981 break;
982 }
983 return 1;
984 }
985
986 static int r_verb_suffix(struct SN_env * z) {
987 int among_var;
988 { int m3; /* setlimit, line 148 */
989 int m = z->l - z->c; (void) m;
990 if (z->c < z->I[0]) return 0;
991 z->c = z->I[0]; /* tomark, line 148 */
992 m3 = z->lb; z->lb = z->c;
993 z->c = z->l - m;
994 z->ket = z->c; /* [, line 149 */
995 among_var = find_among_b(z, a_7, 87); /* substring, line 149 */
996 if (!(among_var)) { z->lb = m3; return 0; }
997 z->bra = z->c; /* ], line 149 */
998 switch(among_var) {
999 case 0: { z->lb = m3; return 0; }
1000 case 1:
1001 { int ret;
1002 ret = slice_del(z); /* delete, line 163 */
1003 if (ret < 0) return ret;
1004 }
1005 break;
1006 }
1007 z->lb = m3;
1008 }
1009 return 1;
1010 }
1011
1012 static int r_vowel_suffix(struct SN_env * z) {
1013 { int m = z->l - z->c; (void) m; /* try, line 171 */
1014 z->ket = z->c; /* [, line 172 */
1015 if (!(in_grouping_b_U(z, g_AEIO, 97, 242))) { z->c = z->l - m; goto lab0; }
1016 z->bra = z->c; /* ], line 172 */
1017 { int ret = r_RV(z);
1018 if (ret == 0) { z->c = z->l - m; goto lab0; } /* call RV, line 172 */
1019 if (ret < 0) return ret;
1020 }
1021 { int ret;
1022 ret = slice_del(z); /* delete, line 172 */
1023 if (ret < 0) return ret;
1024 }
1025 z->ket = z->c; /* [, line 173 */
1026 if (!(eq_s_b(z, 1, s_20))) { z->c = z->l - m; goto lab0; }
1027 z->bra = z->c; /* ], line 173 */
1028 { int ret = r_RV(z);
1029 if (ret == 0) { z->c = z->l - m; goto lab0; } /* call RV, line 173 */
1030 if (ret < 0) return ret;
1031 }
1032 { int ret;
1033 ret = slice_del(z); /* delete, line 173 */
1034 if (ret < 0) return ret;
1035 }
1036 lab0:
1037 ;
1038 }
1039 { int m = z->l - z->c; (void) m; /* try, line 175 */
1040 z->ket = z->c; /* [, line 176 */
1041 if (!(eq_s_b(z, 1, s_21))) { z->c = z->l - m; goto lab1; }
1042 z->bra = z->c; /* ], line 176 */
1043 if (!(in_grouping_b_U(z, g_CG, 99, 103))) { z->c = z->l - m; goto lab1; }
1044 { int ret = r_RV(z);
1045 if (ret == 0) { z->c = z->l - m; goto lab1; } /* call RV, line 176 */
1046 if (ret < 0) return ret;
1047 }
1048 { int ret;
1049 ret = slice_del(z); /* delete, line 176 */
1050 if (ret < 0) return ret;
1051 }
1052 lab1:
1053 ;
1054 }
1055 return 1;
1056 }
1057
1058 extern int italian_UTF_8_stem(struct SN_env * z) {
1059 { int c = z->c; /* do, line 182 */
1060 { int ret = r_prelude(z);
1061 if (ret == 0) goto lab0; /* call prelude, line 182 */
1062 if (ret < 0) return ret;
1063 }
1064 lab0:
1065 z->c = c;
1066 }
1067 { int c = z->c; /* do, line 183 */
1068 { int ret = r_mark_regions(z);
1069 if (ret == 0) goto lab1; /* call mark_regions, line 183 */
1070 if (ret < 0) return ret;
1071 }
1072 lab1:
1073 z->c = c;
1074 }
1075 z->lb = z->c; z->c = z->l; /* backwards, line 184 */
1076
1077 { int m = z->l - z->c; (void) m; /* do, line 185 */
1078 { int ret = r_attached_pronoun(z);
1079 if (ret == 0) goto lab2; /* call attached_pronoun, line 185 */
1080 if (ret < 0) return ret;
1081 }
1082 lab2:
1083 z->c = z->l - m;
1084 }
1085 { int m = z->l - z->c; (void) m; /* do, line 186 */
1086 { int m = z->l - z->c; (void) m; /* or, line 186 */
1087 { int ret = r_standard_suffix(z);
1088 if (ret == 0) goto lab5; /* call standard_suffix, line 186 */
1089 if (ret < 0) return ret;
1090 }
1091 goto lab4;
1092 lab5:
1093 z->c = z->l - m;
1094 { int ret = r_verb_suffix(z);
1095 if (ret == 0) goto lab3; /* call verb_suffix, line 186 */
1096 if (ret < 0) return ret;
1097 }
1098 }
1099 lab4:
1100 lab3:
1101 z->c = z->l - m;
1102 }
1103 { int m = z->l - z->c; (void) m; /* do, line 187 */
1104 { int ret = r_vowel_suffix(z);
1105 if (ret == 0) goto lab6; /* call vowel_suffix, line 187 */
1106 if (ret < 0) return ret;
1107 }
1108 lab6:
1109 z->c = z->l - m;
1110 }
1111 z->c = z->lb;
1112 { int c = z->c; /* do, line 189 */
1113 { int ret = r_postlude(z);
1114 if (ret == 0) goto lab7; /* call postlude, line 189 */
1115 if (ret < 0) return ret;
1116 }
1117 lab7:
1118 z->c = c;
1119 }
1120 return 1;
1121 }
1122
1123 extern struct SN_env * italian_UTF_8_create_env(void) { return SN_create_env(0, 3, 0); }
1124
1125 extern void italian_UTF_8_close_env(struct SN_env * z) { SN_close_env(z); }