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