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