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 portuguese_UTF_8_stem(struct SN_env * z);
10 #ifdef __cplusplus
11 }
12 #endif
13 static int r_residual_form(struct SN_env * z);
14 static int r_residual_suffix(struct SN_env * z);
15 static int r_verb_suffix(struct SN_env * z);
16 static int r_standard_suffix(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 * portuguese_UTF_8_create_env(void);
29 extern void portuguese_UTF_8_close_env(struct SN_env * z);
30
31
32 #ifdef __cplusplus
33 }
34 #endif
35 static const symbol s_0_1[2] = { 0xC3, 0xA3 };
36 static const symbol s_0_2[2] = { 0xC3, 0xB5 };
37
38 static const struct among a_0[3] =
39 {
40 /* 0 */ { 0, 0, -1, 3, 0},
41 /* 1 */ { 2, s_0_1, 0, 1, 0},
42 /* 2 */ { 2, s_0_2, 0, 2, 0}
43 };
44
45 static const symbol s_1_1[2] = { 'a', '~' };
46 static const symbol s_1_2[2] = { 'o', '~' };
47
48 static const struct among a_1[3] =
49 {
50 /* 0 */ { 0, 0, -1, 3, 0},
51 /* 1 */ { 2, s_1_1, 0, 1, 0},
52 /* 2 */ { 2, s_1_2, 0, 2, 0}
53 };
54
55 static const symbol s_2_0[2] = { 'i', 'c' };
56 static const symbol s_2_1[2] = { 'a', 'd' };
57 static const symbol s_2_2[2] = { 'o', 's' };
58 static const symbol s_2_3[2] = { 'i', 'v' };
59
60 static const struct among a_2[4] =
61 {
62 /* 0 */ { 2, s_2_0, -1, -1, 0},
63 /* 1 */ { 2, s_2_1, -1, -1, 0},
64 /* 2 */ { 2, s_2_2, -1, -1, 0},
65 /* 3 */ { 2, s_2_3, -1, 1, 0}
66 };
67
68 static const symbol s_3_0[4] = { 'a', 'n', 't', 'e' };
69 static const symbol s_3_1[4] = { 'a', 'v', 'e', 'l' };
70 static const symbol s_3_2[5] = { 0xC3, 0xAD, 'v', 'e', 'l' };
71
72 static const struct among a_3[3] =
73 {
74 /* 0 */ { 4, s_3_0, -1, 1, 0},
75 /* 1 */ { 4, s_3_1, -1, 1, 0},
76 /* 2 */ { 5, s_3_2, -1, 1, 0}
77 };
78
79 static const symbol s_4_0[2] = { 'i', 'c' };
80 static const symbol s_4_1[4] = { 'a', 'b', 'i', 'l' };
81 static const symbol s_4_2[2] = { 'i', 'v' };
82
83 static const struct among a_4[3] =
84 {
85 /* 0 */ { 2, s_4_0, -1, 1, 0},
86 /* 1 */ { 4, s_4_1, -1, 1, 0},
87 /* 2 */ { 2, s_4_2, -1, 1, 0}
88 };
89
90 static const symbol s_5_0[3] = { 'i', 'c', 'a' };
91 static const symbol s_5_1[6] = { 0xC3, 0xA2, 'n', 'c', 'i', 'a' };
92 static const symbol s_5_2[6] = { 0xC3, 0xAA, 'n', 'c', 'i', 'a' };
93 static const symbol s_5_3[5] = { 'l', 'o', 'g', 'i', 'a' };
94 static const symbol s_5_4[3] = { 'i', 'r', 'a' };
95 static const symbol s_5_5[5] = { 'a', 'd', 'o', 'r', 'a' };
96 static const symbol s_5_6[3] = { 'o', 's', 'a' };
97 static const symbol s_5_7[4] = { 'i', 's', 't', 'a' };
98 static const symbol s_5_8[3] = { 'i', 'v', 'a' };
99 static const symbol s_5_9[3] = { 'e', 'z', 'a' };
100 static const symbol s_5_10[5] = { 'i', 'd', 'a', 'd', 'e' };
101 static const symbol s_5_11[4] = { 'a', 'n', 't', 'e' };
102 static const symbol s_5_12[5] = { 'm', 'e', 'n', 't', 'e' };
103 static const symbol s_5_13[6] = { 'a', 'm', 'e', 'n', 't', 'e' };
104 static const symbol s_5_14[5] = { 0xC3, 0xA1, 'v', 'e', 'l' };
105 static const symbol s_5_15[5] = { 0xC3, 0xAD, 'v', 'e', 'l' };
106 static const symbol s_5_16[3] = { 'i', 'c', 'o' };
107 static const symbol s_5_17[4] = { 'i', 's', 'm', 'o' };
108 static const symbol s_5_18[3] = { 'o', 's', 'o' };
109 static const symbol s_5_19[6] = { 'a', 'm', 'e', 'n', 't', 'o' };
110 static const symbol s_5_20[6] = { 'i', 'm', 'e', 'n', 't', 'o' };
111 static const symbol s_5_21[3] = { 'i', 'v', 'o' };
112 static const symbol s_5_22[6] = { 'a', 0xC3, 0xA7, 'a', '~', 'o' };
113 static const symbol s_5_23[6] = { 'u', 0xC3, 0xA7, 'a', '~', 'o' };
114 static const symbol s_5_24[4] = { 'a', 'd', 'o', 'r' };
115 static const symbol s_5_25[4] = { 'i', 'c', 'a', 's' };
116 static const symbol s_5_26[7] = { 0xC3, 0xAA, 'n', 'c', 'i', 'a', 's' };
117 static const symbol s_5_27[6] = { 'l', 'o', 'g', 'i', 'a', 's' };
118 static const symbol s_5_28[4] = { 'i', 'r', 'a', 's' };
119 static const symbol s_5_29[6] = { 'a', 'd', 'o', 'r', 'a', 's' };
120 static const symbol s_5_30[4] = { 'o', 's', 'a', 's' };
121 static const symbol s_5_31[5] = { 'i', 's', 't', 'a', 's' };
122 static const symbol s_5_32[4] = { 'i', 'v', 'a', 's' };
123 static const symbol s_5_33[4] = { 'e', 'z', 'a', 's' };
124 static const symbol s_5_34[6] = { 'i', 'd', 'a', 'd', 'e', 's' };
125 static const symbol s_5_35[6] = { 'a', 'd', 'o', 'r', 'e', 's' };
126 static const symbol s_5_36[5] = { 'a', 'n', 't', 'e', 's' };
127 static const symbol s_5_37[7] = { 'a', 0xC3, 0xA7, 'o', '~', 'e', 's' };
128 static const symbol s_5_38[7] = { 'u', 0xC3, 0xA7, 'o', '~', 'e', 's' };
129 static const symbol s_5_39[4] = { 'i', 'c', 'o', 's' };
130 static const symbol s_5_40[5] = { 'i', 's', 'm', 'o', 's' };
131 static const symbol s_5_41[4] = { 'o', 's', 'o', 's' };
132 static const symbol s_5_42[7] = { 'a', 'm', 'e', 'n', 't', 'o', 's' };
133 static const symbol s_5_43[7] = { 'i', 'm', 'e', 'n', 't', 'o', 's' };
134 static const symbol s_5_44[4] = { 'i', 'v', 'o', 's' };
135
136 static const struct among a_5[45] =
137 {
138 /* 0 */ { 3, s_5_0, -1, 1, 0},
139 /* 1 */ { 6, s_5_1, -1, 1, 0},
140 /* 2 */ { 6, s_5_2, -1, 4, 0},
141 /* 3 */ { 5, s_5_3, -1, 2, 0},
142 /* 4 */ { 3, s_5_4, -1, 9, 0},
143 /* 5 */ { 5, s_5_5, -1, 1, 0},
144 /* 6 */ { 3, s_5_6, -1, 1, 0},
145 /* 7 */ { 4, s_5_7, -1, 1, 0},
146 /* 8 */ { 3, s_5_8, -1, 8, 0},
147 /* 9 */ { 3, s_5_9, -1, 1, 0},
148 /* 10 */ { 5, s_5_10, -1, 7, 0},
149 /* 11 */ { 4, s_5_11, -1, 1, 0},
150 /* 12 */ { 5, s_5_12, -1, 6, 0},
151 /* 13 */ { 6, s_5_13, 12, 5, 0},
152 /* 14 */ { 5, s_5_14, -1, 1, 0},
153 /* 15 */ { 5, s_5_15, -1, 1, 0},
154 /* 16 */ { 3, s_5_16, -1, 1, 0},
155 /* 17 */ { 4, s_5_17, -1, 1, 0},
156 /* 18 */ { 3, s_5_18, -1, 1, 0},
157 /* 19 */ { 6, s_5_19, -1, 1, 0},
158 /* 20 */ { 6, s_5_20, -1, 1, 0},
159 /* 21 */ { 3, s_5_21, -1, 8, 0},
160 /* 22 */ { 6, s_5_22, -1, 1, 0},
161 /* 23 */ { 6, s_5_23, -1, 3, 0},
162 /* 24 */ { 4, s_5_24, -1, 1, 0},
163 /* 25 */ { 4, s_5_25, -1, 1, 0},
164 /* 26 */ { 7, s_5_26, -1, 4, 0},
165 /* 27 */ { 6, s_5_27, -1, 2, 0},
166 /* 28 */ { 4, s_5_28, -1, 9, 0},
167 /* 29 */ { 6, s_5_29, -1, 1, 0},
168 /* 30 */ { 4, s_5_30, -1, 1, 0},
169 /* 31 */ { 5, s_5_31, -1, 1, 0},
170 /* 32 */ { 4, s_5_32, -1, 8, 0},
171 /* 33 */ { 4, s_5_33, -1, 1, 0},
172 /* 34 */ { 6, s_5_34, -1, 7, 0},
173 /* 35 */ { 6, s_5_35, -1, 1, 0},
174 /* 36 */ { 5, s_5_36, -1, 1, 0},
175 /* 37 */ { 7, s_5_37, -1, 1, 0},
176 /* 38 */ { 7, s_5_38, -1, 3, 0},
177 /* 39 */ { 4, s_5_39, -1, 1, 0},
178 /* 40 */ { 5, s_5_40, -1, 1, 0},
179 /* 41 */ { 4, s_5_41, -1, 1, 0},
180 /* 42 */ { 7, s_5_42, -1, 1, 0},
181 /* 43 */ { 7, s_5_43, -1, 1, 0},
182 /* 44 */ { 4, s_5_44, -1, 8, 0}
183 };
184
185 static const symbol s_6_0[3] = { 'a', 'd', 'a' };
186 static const symbol s_6_1[3] = { 'i', 'd', 'a' };
187 static const symbol s_6_2[2] = { 'i', 'a' };
188 static const symbol s_6_3[4] = { 'a', 'r', 'i', 'a' };
189 static const symbol s_6_4[4] = { 'e', 'r', 'i', 'a' };
190 static const symbol s_6_5[4] = { 'i', 'r', 'i', 'a' };
191 static const symbol s_6_6[3] = { 'a', 'r', 'a' };
192 static const symbol s_6_7[3] = { 'e', 'r', 'a' };
193 static const symbol s_6_8[3] = { 'i', 'r', 'a' };
194 static const symbol s_6_9[3] = { 'a', 'v', 'a' };
195 static const symbol s_6_10[4] = { 'a', 's', 's', 'e' };
196 static const symbol s_6_11[4] = { 'e', 's', 's', 'e' };
197 static const symbol s_6_12[4] = { 'i', 's', 's', 'e' };
198 static const symbol s_6_13[4] = { 'a', 's', 't', 'e' };
199 static const symbol s_6_14[4] = { 'e', 's', 't', 'e' };
200 static const symbol s_6_15[4] = { 'i', 's', 't', 'e' };
201 static const symbol s_6_16[2] = { 'e', 'i' };
202 static const symbol s_6_17[4] = { 'a', 'r', 'e', 'i' };
203 static const symbol s_6_18[4] = { 'e', 'r', 'e', 'i' };
204 static const symbol s_6_19[4] = { 'i', 'r', 'e', 'i' };
205 static const symbol s_6_20[2] = { 'a', 'm' };
206 static const symbol s_6_21[3] = { 'i', 'a', 'm' };
207 static const symbol s_6_22[5] = { 'a', 'r', 'i', 'a', 'm' };
208 static const symbol s_6_23[5] = { 'e', 'r', 'i', 'a', 'm' };
209 static const symbol s_6_24[5] = { 'i', 'r', 'i', 'a', 'm' };
210 static const symbol s_6_25[4] = { 'a', 'r', 'a', 'm' };
211 static const symbol s_6_26[4] = { 'e', 'r', 'a', 'm' };
212 static const symbol s_6_27[4] = { 'i', 'r', 'a', 'm' };
213 static const symbol s_6_28[4] = { 'a', 'v', 'a', 'm' };
214 static const symbol s_6_29[2] = { 'e', 'm' };
215 static const symbol s_6_30[4] = { 'a', 'r', 'e', 'm' };
216 static const symbol s_6_31[4] = { 'e', 'r', 'e', 'm' };
217 static const symbol s_6_32[4] = { 'i', 'r', 'e', 'm' };
218 static const symbol s_6_33[5] = { 'a', 's', 's', 'e', 'm' };
219 static const symbol s_6_34[5] = { 'e', 's', 's', 'e', 'm' };
220 static const symbol s_6_35[5] = { 'i', 's', 's', 'e', 'm' };
221 static const symbol s_6_36[3] = { 'a', 'd', 'o' };
222 static const symbol s_6_37[3] = { 'i', 'd', 'o' };
223 static const symbol s_6_38[4] = { 'a', 'n', 'd', 'o' };
224 static const symbol s_6_39[4] = { 'e', 'n', 'd', 'o' };
225 static const symbol s_6_40[4] = { 'i', 'n', 'd', 'o' };
226 static const symbol s_6_41[5] = { 'a', 'r', 'a', '~', 'o' };
227 static const symbol s_6_42[5] = { 'e', 'r', 'a', '~', 'o' };
228 static const symbol s_6_43[5] = { 'i', 'r', 'a', '~', 'o' };
229 static const symbol s_6_44[2] = { 'a', 'r' };
230 static const symbol s_6_45[2] = { 'e', 'r' };
231 static const symbol s_6_46[2] = { 'i', 'r' };
232 static const symbol s_6_47[2] = { 'a', 's' };
233 static const symbol s_6_48[4] = { 'a', 'd', 'a', 's' };
234 static const symbol s_6_49[4] = { 'i', 'd', 'a', 's' };
235 static const symbol s_6_50[3] = { 'i', 'a', 's' };
236 static const symbol s_6_51[5] = { 'a', 'r', 'i', 'a', 's' };
237 static const symbol s_6_52[5] = { 'e', 'r', 'i', 'a', 's' };
238 static const symbol s_6_53[5] = { 'i', 'r', 'i', 'a', 's' };
239 static const symbol s_6_54[4] = { 'a', 'r', 'a', 's' };
240 static const symbol s_6_55[4] = { 'e', 'r', 'a', 's' };
241 static const symbol s_6_56[4] = { 'i', 'r', 'a', 's' };
242 static const symbol s_6_57[4] = { 'a', 'v', 'a', 's' };
243 static const symbol s_6_58[2] = { 'e', 's' };
244 static const symbol s_6_59[5] = { 'a', 'r', 'd', 'e', 's' };
245 static const symbol s_6_60[5] = { 'e', 'r', 'd', 'e', 's' };
246 static const symbol s_6_61[5] = { 'i', 'r', 'd', 'e', 's' };
247 static const symbol s_6_62[4] = { 'a', 'r', 'e', 's' };
248 static const symbol s_6_63[4] = { 'e', 'r', 'e', 's' };
249 static const symbol s_6_64[4] = { 'i', 'r', 'e', 's' };
250 static const symbol s_6_65[5] = { 'a', 's', 's', 'e', 's' };
251 static const symbol s_6_66[5] = { 'e', 's', 's', 'e', 's' };
252 static const symbol s_6_67[5] = { 'i', 's', 's', 'e', 's' };
253 static const symbol s_6_68[5] = { 'a', 's', 't', 'e', 's' };
254 static const symbol s_6_69[5] = { 'e', 's', 't', 'e', 's' };
255 static const symbol s_6_70[5] = { 'i', 's', 't', 'e', 's' };
256 static const symbol s_6_71[2] = { 'i', 's' };
257 static const symbol s_6_72[3] = { 'a', 'i', 's' };
258 static const symbol s_6_73[3] = { 'e', 'i', 's' };
259 static const symbol s_6_74[5] = { 'a', 'r', 'e', 'i', 's' };
260 static const symbol s_6_75[5] = { 'e', 'r', 'e', 'i', 's' };
261 static const symbol s_6_76[5] = { 'i', 'r', 'e', 'i', 's' };
262 static const symbol s_6_77[6] = { 0xC3, 0xA1, 'r', 'e', 'i', 's' };
263 static const symbol s_6_78[6] = { 0xC3, 0xA9, 'r', 'e', 'i', 's' };
264 static const symbol s_6_79[6] = { 0xC3, 0xAD, 'r', 'e', 'i', 's' };
265 static const symbol s_6_80[7] = { 0xC3, 0xA1, 's', 's', 'e', 'i', 's' };
266 static const symbol s_6_81[7] = { 0xC3, 0xA9, 's', 's', 'e', 'i', 's' };
267 static const symbol s_6_82[7] = { 0xC3, 0xAD, 's', 's', 'e', 'i', 's' };
268 static const symbol s_6_83[6] = { 0xC3, 0xA1, 'v', 'e', 'i', 's' };
269 static const symbol s_6_84[5] = { 0xC3, 0xAD, 'e', 'i', 's' };
270 static const symbol s_6_85[7] = { 'a', 'r', 0xC3, 0xAD, 'e', 'i', 's' };
271 static const symbol s_6_86[7] = { 'e', 'r', 0xC3, 0xAD, 'e', 'i', 's' };
272 static const symbol s_6_87[7] = { 'i', 'r', 0xC3, 0xAD, 'e', 'i', 's' };
273 static const symbol s_6_88[4] = { 'a', 'd', 'o', 's' };
274 static const symbol s_6_89[4] = { 'i', 'd', 'o', 's' };
275 static const symbol s_6_90[4] = { 'a', 'm', 'o', 's' };
276 static const symbol s_6_91[7] = { 0xC3, 0xA1, 'r', 'a', 'm', 'o', 's' };
277 static const symbol s_6_92[7] = { 0xC3, 0xA9, 'r', 'a', 'm', 'o', 's' };
278 static const symbol s_6_93[7] = { 0xC3, 0xAD, 'r', 'a', 'm', 'o', 's' };
279 static const symbol s_6_94[7] = { 0xC3, 0xA1, 'v', 'a', 'm', 'o', 's' };
280 static const symbol s_6_95[6] = { 0xC3, 0xAD, 'a', 'm', 'o', 's' };
281 static const symbol s_6_96[8] = { 'a', 'r', 0xC3, 0xAD, 'a', 'm', 'o', 's' };
282 static const symbol s_6_97[8] = { 'e', 'r', 0xC3, 0xAD, 'a', 'm', 'o', 's' };
283 static const symbol s_6_98[8] = { 'i', 'r', 0xC3, 0xAD, 'a', 'm', 'o', 's' };
284 static const symbol s_6_99[4] = { 'e', 'm', 'o', 's' };
285 static const symbol s_6_100[6] = { 'a', 'r', 'e', 'm', 'o', 's' };
286 static const symbol s_6_101[6] = { 'e', 'r', 'e', 'm', 'o', 's' };
287 static const symbol s_6_102[6] = { 'i', 'r', 'e', 'm', 'o', 's' };
288 static const symbol s_6_103[8] = { 0xC3, 0xA1, 's', 's', 'e', 'm', 'o', 's' };
289 static const symbol s_6_104[8] = { 0xC3, 0xAA, 's', 's', 'e', 'm', 'o', 's' };
290 static const symbol s_6_105[8] = { 0xC3, 0xAD, 's', 's', 'e', 'm', 'o', 's' };
291 static const symbol s_6_106[4] = { 'i', 'm', 'o', 's' };
292 static const symbol s_6_107[5] = { 'a', 'r', 'm', 'o', 's' };
293 static const symbol s_6_108[5] = { 'e', 'r', 'm', 'o', 's' };
294 static const symbol s_6_109[5] = { 'i', 'r', 'm', 'o', 's' };
295 static const symbol s_6_110[5] = { 0xC3, 0xA1, 'm', 'o', 's' };
296 static const symbol s_6_111[5] = { 'a', 'r', 0xC3, 0xA1, 's' };
297 static const symbol s_6_112[5] = { 'e', 'r', 0xC3, 0xA1, 's' };
298 static const symbol s_6_113[5] = { 'i', 'r', 0xC3, 0xA1, 's' };
299 static const symbol s_6_114[2] = { 'e', 'u' };
300 static const symbol s_6_115[2] = { 'i', 'u' };
301 static const symbol s_6_116[2] = { 'o', 'u' };
302 static const symbol s_6_117[4] = { 'a', 'r', 0xC3, 0xA1 };
303 static const symbol s_6_118[4] = { 'e', 'r', 0xC3, 0xA1 };
304 static const symbol s_6_119[4] = { 'i', 'r', 0xC3, 0xA1 };
305
306 static const struct among a_6[120] =
307 {
308 /* 0 */ { 3, s_6_0, -1, 1, 0},
309 /* 1 */ { 3, s_6_1, -1, 1, 0},
310 /* 2 */ { 2, s_6_2, -1, 1, 0},
311 /* 3 */ { 4, s_6_3, 2, 1, 0},
312 /* 4 */ { 4, s_6_4, 2, 1, 0},
313 /* 5 */ { 4, s_6_5, 2, 1, 0},
314 /* 6 */ { 3, s_6_6, -1, 1, 0},
315 /* 7 */ { 3, s_6_7, -1, 1, 0},
316 /* 8 */ { 3, s_6_8, -1, 1, 0},
317 /* 9 */ { 3, s_6_9, -1, 1, 0},
318 /* 10 */ { 4, s_6_10, -1, 1, 0},
319 /* 11 */ { 4, s_6_11, -1, 1, 0},
320 /* 12 */ { 4, s_6_12, -1, 1, 0},
321 /* 13 */ { 4, s_6_13, -1, 1, 0},
322 /* 14 */ { 4, s_6_14, -1, 1, 0},
323 /* 15 */ { 4, s_6_15, -1, 1, 0},
324 /* 16 */ { 2, s_6_16, -1, 1, 0},
325 /* 17 */ { 4, s_6_17, 16, 1, 0},
326 /* 18 */ { 4, s_6_18, 16, 1, 0},
327 /* 19 */ { 4, s_6_19, 16, 1, 0},
328 /* 20 */ { 2, s_6_20, -1, 1, 0},
329 /* 21 */ { 3, s_6_21, 20, 1, 0},
330 /* 22 */ { 5, s_6_22, 21, 1, 0},
331 /* 23 */ { 5, s_6_23, 21, 1, 0},
332 /* 24 */ { 5, s_6_24, 21, 1, 0},
333 /* 25 */ { 4, s_6_25, 20, 1, 0},
334 /* 26 */ { 4, s_6_26, 20, 1, 0},
335 /* 27 */ { 4, s_6_27, 20, 1, 0},
336 /* 28 */ { 4, s_6_28, 20, 1, 0},
337 /* 29 */ { 2, s_6_29, -1, 1, 0},
338 /* 30 */ { 4, s_6_30, 29, 1, 0},
339 /* 31 */ { 4, s_6_31, 29, 1, 0},
340 /* 32 */ { 4, s_6_32, 29, 1, 0},
341 /* 33 */ { 5, s_6_33, 29, 1, 0},
342 /* 34 */ { 5, s_6_34, 29, 1, 0},
343 /* 35 */ { 5, s_6_35, 29, 1, 0},
344 /* 36 */ { 3, s_6_36, -1, 1, 0},
345 /* 37 */ { 3, s_6_37, -1, 1, 0},
346 /* 38 */ { 4, s_6_38, -1, 1, 0},
347 /* 39 */ { 4, s_6_39, -1, 1, 0},
348 /* 40 */ { 4, s_6_40, -1, 1, 0},
349 /* 41 */ { 5, s_6_41, -1, 1, 0},
350 /* 42 */ { 5, s_6_42, -1, 1, 0},
351 /* 43 */ { 5, s_6_43, -1, 1, 0},
352 /* 44 */ { 2, s_6_44, -1, 1, 0},
353 /* 45 */ { 2, s_6_45, -1, 1, 0},
354 /* 46 */ { 2, s_6_46, -1, 1, 0},
355 /* 47 */ { 2, s_6_47, -1, 1, 0},
356 /* 48 */ { 4, s_6_48, 47, 1, 0},
357 /* 49 */ { 4, s_6_49, 47, 1, 0},
358 /* 50 */ { 3, s_6_50, 47, 1, 0},
359 /* 51 */ { 5, s_6_51, 50, 1, 0},
360 /* 52 */ { 5, s_6_52, 50, 1, 0},
361 /* 53 */ { 5, s_6_53, 50, 1, 0},
362 /* 54 */ { 4, s_6_54, 47, 1, 0},
363 /* 55 */ { 4, s_6_55, 47, 1, 0},
364 /* 56 */ { 4, s_6_56, 47, 1, 0},
365 /* 57 */ { 4, s_6_57, 47, 1, 0},
366 /* 58 */ { 2, s_6_58, -1, 1, 0},
367 /* 59 */ { 5, s_6_59, 58, 1, 0},
368 /* 60 */ { 5, s_6_60, 58, 1, 0},
369 /* 61 */ { 5, s_6_61, 58, 1, 0},
370 /* 62 */ { 4, s_6_62, 58, 1, 0},
371 /* 63 */ { 4, s_6_63, 58, 1, 0},
372 /* 64 */ { 4, s_6_64, 58, 1, 0},
373 /* 65 */ { 5, s_6_65, 58, 1, 0},
374 /* 66 */ { 5, s_6_66, 58, 1, 0},
375 /* 67 */ { 5, s_6_67, 58, 1, 0},
376 /* 68 */ { 5, s_6_68, 58, 1, 0},
377 /* 69 */ { 5, s_6_69, 58, 1, 0},
378 /* 70 */ { 5, s_6_70, 58, 1, 0},
379 /* 71 */ { 2, s_6_71, -1, 1, 0},
380 /* 72 */ { 3, s_6_72, 71, 1, 0},
381 /* 73 */ { 3, s_6_73, 71, 1, 0},
382 /* 74 */ { 5, s_6_74, 73, 1, 0},
383 /* 75 */ { 5, s_6_75, 73, 1, 0},
384 /* 76 */ { 5, s_6_76, 73, 1, 0},
385 /* 77 */ { 6, s_6_77, 73, 1, 0},
386 /* 78 */ { 6, s_6_78, 73, 1, 0},
387 /* 79 */ { 6, s_6_79, 73, 1, 0},
388 /* 80 */ { 7, s_6_80, 73, 1, 0},
389 /* 81 */ { 7, s_6_81, 73, 1, 0},
390 /* 82 */ { 7, s_6_82, 73, 1, 0},
391 /* 83 */ { 6, s_6_83, 73, 1, 0},
392 /* 84 */ { 5, s_6_84, 73, 1, 0},
393 /* 85 */ { 7, s_6_85, 84, 1, 0},
394 /* 86 */ { 7, s_6_86, 84, 1, 0},
395 /* 87 */ { 7, s_6_87, 84, 1, 0},
396 /* 88 */ { 4, s_6_88, -1, 1, 0},
397 /* 89 */ { 4, s_6_89, -1, 1, 0},
398 /* 90 */ { 4, s_6_90, -1, 1, 0},
399 /* 91 */ { 7, s_6_91, 90, 1, 0},
400 /* 92 */ { 7, s_6_92, 90, 1, 0},
401 /* 93 */ { 7, s_6_93, 90, 1, 0},
402 /* 94 */ { 7, s_6_94, 90, 1, 0},
403 /* 95 */ { 6, s_6_95, 90, 1, 0},
404 /* 96 */ { 8, s_6_96, 95, 1, 0},
405 /* 97 */ { 8, s_6_97, 95, 1, 0},
406 /* 98 */ { 8, s_6_98, 95, 1, 0},
407 /* 99 */ { 4, s_6_99, -1, 1, 0},
408 /*100 */ { 6, s_6_100, 99, 1, 0},
409 /*101 */ { 6, s_6_101, 99, 1, 0},
410 /*102 */ { 6, s_6_102, 99, 1, 0},
411 /*103 */ { 8, s_6_103, 99, 1, 0},
412 /*104 */ { 8, s_6_104, 99, 1, 0},
413 /*105 */ { 8, s_6_105, 99, 1, 0},
414 /*106 */ { 4, s_6_106, -1, 1, 0},
415 /*107 */ { 5, s_6_107, -1, 1, 0},
416 /*108 */ { 5, s_6_108, -1, 1, 0},
417 /*109 */ { 5, s_6_109, -1, 1, 0},
418 /*110 */ { 5, s_6_110, -1, 1, 0},
419 /*111 */ { 5, s_6_111, -1, 1, 0},
420 /*112 */ { 5, s_6_112, -1, 1, 0},
421 /*113 */ { 5, s_6_113, -1, 1, 0},
422 /*114 */ { 2, s_6_114, -1, 1, 0},
423 /*115 */ { 2, s_6_115, -1, 1, 0},
424 /*116 */ { 2, s_6_116, -1, 1, 0},
425 /*117 */ { 4, s_6_117, -1, 1, 0},
426 /*118 */ { 4, s_6_118, -1, 1, 0},
427 /*119 */ { 4, s_6_119, -1, 1, 0}
428 };
429
430 static const symbol s_7_0[1] = { 'a' };
431 static const symbol s_7_1[1] = { 'i' };
432 static const symbol s_7_2[1] = { 'o' };
433 static const symbol s_7_3[2] = { 'o', 's' };
434 static const symbol s_7_4[2] = { 0xC3, 0xA1 };
435 static const symbol s_7_5[2] = { 0xC3, 0xAD };
436 static const symbol s_7_6[2] = { 0xC3, 0xB3 };
437
438 static const struct among a_7[7] =
439 {
440 /* 0 */ { 1, s_7_0, -1, 1, 0},
441 /* 1 */ { 1, s_7_1, -1, 1, 0},
442 /* 2 */ { 1, s_7_2, -1, 1, 0},
443 /* 3 */ { 2, s_7_3, -1, 1, 0},
444 /* 4 */ { 2, s_7_4, -1, 1, 0},
445 /* 5 */ { 2, s_7_5, -1, 1, 0},
446 /* 6 */ { 2, s_7_6, -1, 1, 0}
447 };
448
449 static const symbol s_8_0[1] = { 'e' };
450 static const symbol s_8_1[2] = { 0xC3, 0xA7 };
451 static const symbol s_8_2[2] = { 0xC3, 0xA9 };
452 static const symbol s_8_3[2] = { 0xC3, 0xAA };
453
454 static const struct among a_8[4] =
455 {
456 /* 0 */ { 1, s_8_0, -1, 1, 0},
457 /* 1 */ { 2, s_8_1, -1, 2, 0},
458 /* 2 */ { 2, s_8_2, -1, 1, 0},
459 /* 3 */ { 2, s_8_3, -1, 1, 0}
460 };
461
462 static const unsigned char g_v[] = { 17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 19, 12, 2 };
463
464 static const symbol s_0[] = { 'a', '~' };
465 static const symbol s_1[] = { 'o', '~' };
466 static const symbol s_2[] = { 0xC3, 0xA3 };
467 static const symbol s_3[] = { 0xC3, 0xB5 };
468 static const symbol s_4[] = { 'l', 'o', 'g' };
469 static const symbol s_5[] = { 'u' };
470 static const symbol s_6[] = { 'e', 'n', 't', 'e' };
471 static const symbol s_7[] = { 'a', 't' };
472 static const symbol s_8[] = { 'a', 't' };
473 static const symbol s_9[] = { 'i', 'r' };
474 static const symbol s_10[] = { 'c' };
475
r_prelude(struct SN_env * z)476 static int r_prelude(struct SN_env * z) { /* forwardmode */
477 int among_var;
478 while(1) { /* repeat, line 36 */
479 int c1 = z->c;
480 z->bra = z->c; /* [, line 37 */
481 if (z->c + 1 >= z->l || (z->p[z->c + 1] != 163 && z->p[z->c + 1] != 181)) among_var = 3; else /* substring, line 37 */
482 among_var = find_among(z, a_0, 3);
483 if (!(among_var)) goto lab0;
484 z->ket = z->c; /* ], line 37 */
485 switch (among_var) { /* among, line 37 */
486 case 1:
487 { int ret = slice_from_s(z, 2, s_0); /* <-, line 38 */
488 if (ret < 0) return ret;
489 }
490 break;
491 case 2:
492 { int ret = slice_from_s(z, 2, s_1); /* <-, line 39 */
493 if (ret < 0) return ret;
494 }
495 break;
496 case 3:
497 { int ret = skip_utf8(z->p, z->c, 0, z->l, 1);
498 if (ret < 0) goto lab0;
499 z->c = ret; /* next, line 40 */
500 }
501 break;
502 }
503 continue;
504 lab0:
505 z->c = c1;
506 break;
507 }
508 return 1;
509 }
510
r_mark_regions(struct SN_env * z)511 static int r_mark_regions(struct SN_env * z) { /* forwardmode */
512 z->I[0] = z->l; /* $pV = <integer expression>, line 46 */
513 z->I[1] = z->l; /* $p1 = <integer expression>, line 47 */
514 z->I[2] = z->l; /* $p2 = <integer expression>, line 48 */
515 { int c1 = z->c; /* do, line 50 */
516 { int c2 = z->c; /* or, line 52 */
517 if (in_grouping_U(z, g_v, 97, 250, 0)) goto lab2; /* grouping v, line 51 */
518 { int c3 = z->c; /* or, line 51 */
519 if (out_grouping_U(z, g_v, 97, 250, 0)) goto lab4; /* non v, line 51 */
520 { /* gopast */ /* grouping v, line 51 */
521 int ret = out_grouping_U(z, g_v, 97, 250, 1);
522 if (ret < 0) goto lab4;
523 z->c += ret;
524 }
525 goto lab3;
526 lab4:
527 z->c = c3;
528 if (in_grouping_U(z, g_v, 97, 250, 0)) goto lab2; /* grouping v, line 51 */
529 { /* gopast */ /* non v, line 51 */
530 int ret = in_grouping_U(z, g_v, 97, 250, 1);
531 if (ret < 0) goto lab2;
532 z->c += ret;
533 }
534 }
535 lab3:
536 goto lab1;
537 lab2:
538 z->c = c2;
539 if (out_grouping_U(z, g_v, 97, 250, 0)) goto lab0; /* non v, line 53 */
540 { int c4 = z->c; /* or, line 53 */
541 if (out_grouping_U(z, g_v, 97, 250, 0)) goto lab6; /* non v, line 53 */
542 { /* gopast */ /* grouping v, line 53 */
543 int ret = out_grouping_U(z, g_v, 97, 250, 1);
544 if (ret < 0) goto lab6;
545 z->c += ret;
546 }
547 goto lab5;
548 lab6:
549 z->c = c4;
550 if (in_grouping_U(z, g_v, 97, 250, 0)) goto lab0; /* grouping v, line 53 */
551 { int ret = skip_utf8(z->p, z->c, 0, z->l, 1);
552 if (ret < 0) goto lab0;
553 z->c = ret; /* next, line 53 */
554 }
555 }
556 lab5:
557 ;
558 }
559 lab1:
560 z->I[0] = z->c; /* setmark pV, line 54 */
561 lab0:
562 z->c = c1;
563 }
564 { int c5 = z->c; /* do, line 56 */
565 { /* gopast */ /* grouping v, line 57 */
566 int ret = out_grouping_U(z, g_v, 97, 250, 1);
567 if (ret < 0) goto lab7;
568 z->c += ret;
569 }
570 { /* gopast */ /* non v, line 57 */
571 int ret = in_grouping_U(z, g_v, 97, 250, 1);
572 if (ret < 0) goto lab7;
573 z->c += ret;
574 }
575 z->I[1] = z->c; /* setmark p1, line 57 */
576 { /* gopast */ /* grouping v, line 58 */
577 int ret = out_grouping_U(z, g_v, 97, 250, 1);
578 if (ret < 0) goto lab7;
579 z->c += ret;
580 }
581 { /* gopast */ /* non v, line 58 */
582 int ret = in_grouping_U(z, g_v, 97, 250, 1);
583 if (ret < 0) goto lab7;
584 z->c += ret;
585 }
586 z->I[2] = z->c; /* setmark p2, line 58 */
587 lab7:
588 z->c = c5;
589 }
590 return 1;
591 }
592
r_postlude(struct SN_env * z)593 static int r_postlude(struct SN_env * z) { /* forwardmode */
594 int among_var;
595 while(1) { /* repeat, line 62 */
596 int c1 = z->c;
597 z->bra = z->c; /* [, line 63 */
598 if (z->c + 1 >= z->l || z->p[z->c + 1] != 126) among_var = 3; else /* substring, line 63 */
599 among_var = find_among(z, a_1, 3);
600 if (!(among_var)) goto lab0;
601 z->ket = z->c; /* ], line 63 */
602 switch (among_var) { /* among, line 63 */
603 case 1:
604 { int ret = slice_from_s(z, 2, s_2); /* <-, line 64 */
605 if (ret < 0) return ret;
606 }
607 break;
608 case 2:
609 { int ret = slice_from_s(z, 2, s_3); /* <-, line 65 */
610 if (ret < 0) return ret;
611 }
612 break;
613 case 3:
614 { int ret = skip_utf8(z->p, z->c, 0, z->l, 1);
615 if (ret < 0) goto lab0;
616 z->c = ret; /* next, line 66 */
617 }
618 break;
619 }
620 continue;
621 lab0:
622 z->c = c1;
623 break;
624 }
625 return 1;
626 }
627
r_RV(struct SN_env * z)628 static int r_RV(struct SN_env * z) { /* backwardmode */
629 if (!(z->I[0] <= z->c)) return 0; /* $(<integer expression> <= <integer expression>), line 72 */
630 return 1;
631 }
632
r_R1(struct SN_env * z)633 static int r_R1(struct SN_env * z) { /* backwardmode */
634 if (!(z->I[1] <= z->c)) return 0; /* $(<integer expression> <= <integer expression>), line 73 */
635 return 1;
636 }
637
r_R2(struct SN_env * z)638 static int r_R2(struct SN_env * z) { /* backwardmode */
639 if (!(z->I[2] <= z->c)) return 0; /* $(<integer expression> <= <integer expression>), line 74 */
640 return 1;
641 }
642
r_standard_suffix(struct SN_env * z)643 static int r_standard_suffix(struct SN_env * z) { /* backwardmode */
644 int among_var;
645 z->ket = z->c; /* [, line 77 */
646 if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((823330 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; /* substring, line 77 */
647 among_var = find_among_b(z, a_5, 45);
648 if (!(among_var)) return 0;
649 z->bra = z->c; /* ], line 77 */
650 switch (among_var) { /* among, line 77 */
651 case 1:
652 { int ret = r_R2(z); /* call R2, line 93 */
653 if (ret <= 0) return ret;
654 }
655 { int ret = slice_del(z); /* delete, line 93 */
656 if (ret < 0) return ret;
657 }
658 break;
659 case 2:
660 { int ret = r_R2(z); /* call R2, line 98 */
661 if (ret <= 0) return ret;
662 }
663 { int ret = slice_from_s(z, 3, s_4); /* <-, line 98 */
664 if (ret < 0) return ret;
665 }
666 break;
667 case 3:
668 { int ret = r_R2(z); /* call R2, line 102 */
669 if (ret <= 0) return ret;
670 }
671 { int ret = slice_from_s(z, 1, s_5); /* <-, line 102 */
672 if (ret < 0) return ret;
673 }
674 break;
675 case 4:
676 { int ret = r_R2(z); /* call R2, line 106 */
677 if (ret <= 0) return ret;
678 }
679 { int ret = slice_from_s(z, 4, s_6); /* <-, line 106 */
680 if (ret < 0) return ret;
681 }
682 break;
683 case 5:
684 { int ret = r_R1(z); /* call R1, line 110 */
685 if (ret <= 0) return ret;
686 }
687 { int ret = slice_del(z); /* delete, line 110 */
688 if (ret < 0) return ret;
689 }
690 { int m1 = z->l - z->c; (void)m1; /* try, line 111 */
691 z->ket = z->c; /* [, line 112 */
692 if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4718616 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l - m1; goto lab0; } /* substring, line 112 */
693 among_var = find_among_b(z, a_2, 4);
694 if (!(among_var)) { z->c = z->l - m1; goto lab0; }
695 z->bra = z->c; /* ], line 112 */
696 { int ret = r_R2(z); /* call R2, line 112 */
697 if (ret == 0) { z->c = z->l - m1; goto lab0; }
698 if (ret < 0) return ret;
699 }
700 { int ret = slice_del(z); /* delete, line 112 */
701 if (ret < 0) return ret;
702 }
703 switch (among_var) { /* among, line 112 */
704 case 1:
705 z->ket = z->c; /* [, line 113 */
706 if (!(eq_s_b(z, 2, s_7))) { z->c = z->l - m1; goto lab0; } /* literal, line 113 */
707 z->bra = z->c; /* ], line 113 */
708 { int ret = r_R2(z); /* call R2, line 113 */
709 if (ret == 0) { z->c = z->l - m1; goto lab0; }
710 if (ret < 0) return ret;
711 }
712 { int ret = slice_del(z); /* delete, line 113 */
713 if (ret < 0) return ret;
714 }
715 break;
716 }
717 lab0:
718 ;
719 }
720 break;
721 case 6:
722 { int ret = r_R2(z); /* call R2, line 122 */
723 if (ret <= 0) return ret;
724 }
725 { int ret = slice_del(z); /* delete, line 122 */
726 if (ret < 0) return ret;
727 }
728 { int m2 = z->l - z->c; (void)m2; /* try, line 123 */
729 z->ket = z->c; /* [, line 124 */
730 if (z->c - 3 <= z->lb || (z->p[z->c - 1] != 101 && z->p[z->c - 1] != 108)) { z->c = z->l - m2; goto lab1; } /* substring, line 124 */
731 if (!(find_among_b(z, a_3, 3))) { z->c = z->l - m2; goto lab1; }
732 z->bra = z->c; /* ], line 124 */
733 { int ret = r_R2(z); /* call R2, line 127 */
734 if (ret == 0) { z->c = z->l - m2; goto lab1; }
735 if (ret < 0) return ret;
736 }
737 { int ret = slice_del(z); /* delete, line 127 */
738 if (ret < 0) return ret;
739 }
740 lab1:
741 ;
742 }
743 break;
744 case 7:
745 { int ret = r_R2(z); /* call R2, line 134 */
746 if (ret <= 0) return ret;
747 }
748 { int ret = slice_del(z); /* delete, line 134 */
749 if (ret < 0) return ret;
750 }
751 { int m3 = z->l - z->c; (void)m3; /* try, line 135 */
752 z->ket = z->c; /* [, line 136 */
753 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 */
754 if (!(find_among_b(z, a_4, 3))) { z->c = z->l - m3; goto lab2; }
755 z->bra = z->c; /* ], line 136 */
756 { int ret = r_R2(z); /* call R2, line 139 */
757 if (ret == 0) { z->c = z->l - m3; goto lab2; }
758 if (ret < 0) return ret;
759 }
760 { int ret = slice_del(z); /* delete, line 139 */
761 if (ret < 0) return ret;
762 }
763 lab2:
764 ;
765 }
766 break;
767 case 8:
768 { int ret = r_R2(z); /* call R2, line 146 */
769 if (ret <= 0) return ret;
770 }
771 { int ret = slice_del(z); /* delete, line 146 */
772 if (ret < 0) return ret;
773 }
774 { int m4 = z->l - z->c; (void)m4; /* try, line 147 */
775 z->ket = z->c; /* [, line 148 */
776 if (!(eq_s_b(z, 2, s_8))) { z->c = z->l - m4; goto lab3; } /* literal, line 148 */
777 z->bra = z->c; /* ], line 148 */
778 { int ret = r_R2(z); /* call R2, line 148 */
779 if (ret == 0) { z->c = z->l - m4; goto lab3; }
780 if (ret < 0) return ret;
781 }
782 { int ret = slice_del(z); /* delete, line 148 */
783 if (ret < 0) return ret;
784 }
785 lab3:
786 ;
787 }
788 break;
789 case 9:
790 { int ret = r_RV(z); /* call RV, line 153 */
791 if (ret <= 0) return ret;
792 }
793 if (z->c <= z->lb || z->p[z->c - 1] != 'e') return 0; /* literal, line 153 */
794 z->c--;
795 { int ret = slice_from_s(z, 2, s_9); /* <-, line 154 */
796 if (ret < 0) return ret;
797 }
798 break;
799 }
800 return 1;
801 }
802
r_verb_suffix(struct SN_env * z)803 static int r_verb_suffix(struct SN_env * z) { /* backwardmode */
804
805 { int mlimit1; /* setlimit, line 159 */
806 if (z->c < z->I[0]) return 0;
807 mlimit1 = z->lb; z->lb = z->I[0];
808 z->ket = z->c; /* [, line 160 */
809 if (!(find_among_b(z, a_6, 120))) { z->lb = mlimit1; return 0; } /* substring, line 160 */
810 z->bra = z->c; /* ], line 160 */
811 { int ret = slice_del(z); /* delete, line 179 */
812 if (ret < 0) return ret;
813 }
814 z->lb = mlimit1;
815 }
816 return 1;
817 }
818
r_residual_suffix(struct SN_env * z)819 static int r_residual_suffix(struct SN_env * z) { /* backwardmode */
820 z->ket = z->c; /* [, line 184 */
821 if (!(find_among_b(z, a_7, 7))) return 0; /* substring, line 184 */
822 z->bra = z->c; /* ], line 184 */
823 { int ret = r_RV(z); /* call RV, line 187 */
824 if (ret <= 0) return ret;
825 }
826 { int ret = slice_del(z); /* delete, line 187 */
827 if (ret < 0) return ret;
828 }
829 return 1;
830 }
831
r_residual_form(struct SN_env * z)832 static int r_residual_form(struct SN_env * z) { /* backwardmode */
833 int among_var;
834 z->ket = z->c; /* [, line 192 */
835 among_var = find_among_b(z, a_8, 4); /* substring, line 192 */
836 if (!(among_var)) return 0;
837 z->bra = z->c; /* ], line 192 */
838 switch (among_var) { /* among, line 192 */
839 case 1:
840 { int ret = r_RV(z); /* call RV, line 194 */
841 if (ret <= 0) return ret;
842 }
843 { int ret = slice_del(z); /* delete, line 194 */
844 if (ret < 0) return ret;
845 }
846 z->ket = z->c; /* [, line 194 */
847 { int m1 = z->l - z->c; (void)m1; /* or, line 194 */
848 if (z->c <= z->lb || z->p[z->c - 1] != 'u') goto lab1; /* literal, line 194 */
849 z->c--;
850 z->bra = z->c; /* ], line 194 */
851 { int m_test2 = z->l - z->c; /* test, line 194 */
852 if (z->c <= z->lb || z->p[z->c - 1] != 'g') goto lab1; /* literal, line 194 */
853 z->c--;
854 z->c = z->l - m_test2;
855 }
856 goto lab0;
857 lab1:
858 z->c = z->l - m1;
859 if (z->c <= z->lb || z->p[z->c - 1] != 'i') return 0; /* literal, line 195 */
860 z->c--;
861 z->bra = z->c; /* ], line 195 */
862 { int m_test3 = z->l - z->c; /* test, line 195 */
863 if (z->c <= z->lb || z->p[z->c - 1] != 'c') return 0; /* literal, line 195 */
864 z->c--;
865 z->c = z->l - m_test3;
866 }
867 }
868 lab0:
869 { int ret = r_RV(z); /* call RV, line 195 */
870 if (ret <= 0) return ret;
871 }
872 { int ret = slice_del(z); /* delete, line 195 */
873 if (ret < 0) return ret;
874 }
875 break;
876 case 2:
877 { int ret = slice_from_s(z, 1, s_10); /* <-, line 196 */
878 if (ret < 0) return ret;
879 }
880 break;
881 }
882 return 1;
883 }
884
portuguese_UTF_8_stem(struct SN_env * z)885 extern int portuguese_UTF_8_stem(struct SN_env * z) { /* forwardmode */
886 { int c1 = z->c; /* do, line 202 */
887 { int ret = r_prelude(z); /* call prelude, line 202 */
888 if (ret == 0) goto lab0;
889 if (ret < 0) return ret;
890 }
891 lab0:
892 z->c = c1;
893 }
894 /* do, line 203 */
895 { int ret = r_mark_regions(z); /* call mark_regions, line 203 */
896 if (ret == 0) goto lab1;
897 if (ret < 0) return ret;
898 }
899 lab1:
900 z->lb = z->c; z->c = z->l; /* backwards, line 204 */
901
902 { int m2 = z->l - z->c; (void)m2; /* do, line 205 */
903 { int m3 = z->l - z->c; (void)m3; /* or, line 209 */
904 { int m4 = z->l - z->c; (void)m4; /* and, line 207 */
905 { int m5 = z->l - z->c; (void)m5; /* or, line 206 */
906 { int ret = r_standard_suffix(z); /* call standard_suffix, line 206 */
907 if (ret == 0) goto lab6;
908 if (ret < 0) return ret;
909 }
910 goto lab5;
911 lab6:
912 z->c = z->l - m5;
913 { int ret = r_verb_suffix(z); /* call verb_suffix, line 206 */
914 if (ret == 0) goto lab4;
915 if (ret < 0) return ret;
916 }
917 }
918 lab5:
919 z->c = z->l - m4;
920 { int m6 = z->l - z->c; (void)m6; /* do, line 207 */
921 z->ket = z->c; /* [, line 207 */
922 if (z->c <= z->lb || z->p[z->c - 1] != 'i') goto lab7; /* literal, line 207 */
923 z->c--;
924 z->bra = z->c; /* ], line 207 */
925 { int m_test7 = z->l - z->c; /* test, line 207 */
926 if (z->c <= z->lb || z->p[z->c - 1] != 'c') goto lab7; /* literal, line 207 */
927 z->c--;
928 z->c = z->l - m_test7;
929 }
930 { int ret = r_RV(z); /* call RV, line 207 */
931 if (ret == 0) goto lab7;
932 if (ret < 0) return ret;
933 }
934 { int ret = slice_del(z); /* delete, line 207 */
935 if (ret < 0) return ret;
936 }
937 lab7:
938 z->c = z->l - m6;
939 }
940 }
941 goto lab3;
942 lab4:
943 z->c = z->l - m3;
944 { int ret = r_residual_suffix(z); /* call residual_suffix, line 209 */
945 if (ret == 0) goto lab2;
946 if (ret < 0) return ret;
947 }
948 }
949 lab3:
950 lab2:
951 z->c = z->l - m2;
952 }
953 { int m8 = z->l - z->c; (void)m8; /* do, line 211 */
954 { int ret = r_residual_form(z); /* call residual_form, line 211 */
955 if (ret == 0) goto lab8;
956 if (ret < 0) return ret;
957 }
958 lab8:
959 z->c = z->l - m8;
960 }
961 z->c = z->lb;
962 { int c9 = z->c; /* do, line 213 */
963 { int ret = r_postlude(z); /* call postlude, line 213 */
964 if (ret == 0) goto lab9;
965 if (ret < 0) return ret;
966 }
967 lab9:
968 z->c = c9;
969 }
970 return 1;
971 }
972
portuguese_UTF_8_create_env(void)973 extern struct SN_env * portuguese_UTF_8_create_env(void) { return SN_create_env(0, 3, 0); }
974
portuguese_UTF_8_close_env(struct SN_env * z)975 extern void portuguese_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); }
976
977