Stripped down to only use English/porter for now
[libstemmer_c.git] / src_c / stem_UTF_8_portuguese.c
1
2 /* This file was generated automatically by the Snowball to ANSI C compiler */
3
4 #include "../runtime/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[3] = { 'i', 'r', 'a' };
94 static const symbol s_5_4[5] = { 'a', 'd', 'o', 'r', 'a' };
95 static const symbol s_5_5[3] = { 'o', 's', 'a' };
96 static const symbol s_5_6[4] = { 'i', 's', 't', 'a' };
97 static const symbol s_5_7[3] = { 'i', 'v', 'a' };
98 static const symbol s_5_8[3] = { 'e', 'z', 'a' };
99 static const symbol s_5_9[6] = { 'l', 'o', 'g', 0xC3, 0xAD, '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[6] = { 'u', 'c', 'i', 0xC3, 0xB3, 'n' };
107 static const symbol s_5_17[3] = { 'i', 'c', 'o' };
108 static const symbol s_5_18[4] = { 'i', 's', 'm', 'o' };
109 static const symbol s_5_19[3] = { 'o', 's', 'o' };
110 static const symbol s_5_20[6] = { 'a', 'm', 'e', 'n', 't', 'o' };
111 static const symbol s_5_21[6] = { 'i', 'm', 'e', 'n', 't', 'o' };
112 static const symbol s_5_22[3] = { 'i', 'v', 'o' };
113 static const symbol s_5_23[6] = { 'a', 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[4] = { 'i', 'r', 'a', 's' };
118 static const symbol s_5_28[6] = { 'a', 'd', 'o', 'r', 'a', 's' };
119 static const symbol s_5_29[4] = { 'o', 's', 'a', 's' };
120 static const symbol s_5_30[5] = { 'i', 's', 't', 'a', 's' };
121 static const symbol s_5_31[4] = { 'i', 'v', 'a', 's' };
122 static const symbol s_5_32[4] = { 'e', 'z', 'a', 's' };
123 static const symbol s_5_33[7] = { 'l', 'o', 'g', 0xC3, 0xAD, 'a', 's' };
124 static const symbol s_5_34[6] = { 'i', 'd', 'a', 'd', 'e', 's' };
125 static const symbol s_5_35[7] = { 'u', 'c', 'i', 'o', 'n', 'e', 's' };
126 static const symbol s_5_36[6] = { 'a', 'd', 'o', 'r', 'e', 's' };
127 static const symbol s_5_37[5] = { 'a', 'n', 't', 'e', 's' };
128 static const symbol s_5_38[7] = { 'a', 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 */ { 3, s_5_3, -1, 9, 0},
142 /*  4 */ { 5, s_5_4, -1, 1, 0},
143 /*  5 */ { 3, s_5_5, -1, 1, 0},
144 /*  6 */ { 4, s_5_6, -1, 1, 0},
145 /*  7 */ { 3, s_5_7, -1, 8, 0},
146 /*  8 */ { 3, s_5_8, -1, 1, 0},
147 /*  9 */ { 6, s_5_9, -1, 2, 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 */ { 6, s_5_16, -1, 3, 0},
155 /* 17 */ { 3, s_5_17, -1, 1, 0},
156 /* 18 */ { 4, s_5_18, -1, 1, 0},
157 /* 19 */ { 3, s_5_19, -1, 1, 0},
158 /* 20 */ { 6, s_5_20, -1, 1, 0},
159 /* 21 */ { 6, s_5_21, -1, 1, 0},
160 /* 22 */ { 3, s_5_22, -1, 8, 0},
161 /* 23 */ { 6, s_5_23, -1, 1, 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 */ { 4, s_5_27, -1, 9, 0},
166 /* 28 */ { 6, s_5_28, -1, 1, 0},
167 /* 29 */ { 4, s_5_29, -1, 1, 0},
168 /* 30 */ { 5, s_5_30, -1, 1, 0},
169 /* 31 */ { 4, s_5_31, -1, 8, 0},
170 /* 32 */ { 4, s_5_32, -1, 1, 0},
171 /* 33 */ { 7, s_5_33, -1, 2, 0},
172 /* 34 */ { 6, s_5_34, -1, 7, 0},
173 /* 35 */ { 7, s_5_35, -1, 3, 0},
174 /* 36 */ { 6, s_5_36, -1, 1, 0},
175 /* 37 */ { 5, s_5_37, -1, 1, 0},
176 /* 38 */ { 7, s_5_38, -1, 1, 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[] = { 'e' };
474 static const symbol s_10[] = { 'i', 'r' };
475 static const symbol s_11[] = { 'u' };
476 static const symbol s_12[] = { 'g' };
477 static const symbol s_13[] = { 'i' };
478 static const symbol s_14[] = { 'c' };
479 static const symbol s_15[] = { 'c' };
480 static const symbol s_16[] = { 'i' };
481 static const symbol s_17[] = { 'c' };
482
483 static int r_prelude(struct SN_env * z) {
484     int among_var;
485     while(1) { /* repeat, line 36 */
486         int c1 = z->c;
487         z->bra = z->c; /* [, line 37 */
488         if (z->c + 1 >= z->l || (z->p[z->c + 1] != 163 && z->p[z->c + 1] != 181)) among_var = 3; else
489         among_var = find_among(z, a_0, 3); /* substring, line 37 */
490         if (!(among_var)) goto lab0;
491         z->ket = z->c; /* ], line 37 */
492         switch(among_var) {
493             case 0: goto lab0;
494             case 1:
495                 {   int ret = slice_from_s(z, 2, s_0); /* <-, line 38 */
496                     if (ret < 0) return ret;
497                 }
498                 break;
499             case 2:
500                 {   int ret = slice_from_s(z, 2, s_1); /* <-, line 39 */
501                     if (ret < 0) return ret;
502                 }
503                 break;
504             case 3:
505                 {   int ret = skip_utf8(z->p, z->c, 0, z->l, 1);
506                     if (ret < 0) goto lab0;
507                     z->c = ret; /* next, line 40 */
508                 }
509                 break;
510         }
511         continue;
512     lab0:
513         z->c = c1;
514         break;
515     }
516     return 1;
517 }
518
519 static int r_mark_regions(struct SN_env * z) {
520     z->I[0] = z->l;
521     z->I[1] = z->l;
522     z->I[2] = z->l;
523     {   int c1 = z->c; /* do, line 50 */
524         {   int c2 = z->c; /* or, line 52 */
525             if (in_grouping_U(z, g_v, 97, 250, 0)) goto lab2;
526             {   int c3 = z->c; /* or, line 51 */
527                 if (out_grouping_U(z, g_v, 97, 250, 0)) goto lab4;
528                 {    /* gopast */ /* grouping v, line 51 */
529                     int ret = out_grouping_U(z, g_v, 97, 250, 1);
530                     if (ret < 0) goto lab4;
531                     z->c += ret;
532                 }
533                 goto lab3;
534             lab4:
535                 z->c = c3;
536                 if (in_grouping_U(z, g_v, 97, 250, 0)) goto lab2;
537                 {    /* gopast */ /* non v, line 51 */
538                     int ret = in_grouping_U(z, g_v, 97, 250, 1);
539                     if (ret < 0) goto lab2;
540                     z->c += ret;
541                 }
542             }
543         lab3:
544             goto lab1;
545         lab2:
546             z->c = c2;
547             if (out_grouping_U(z, g_v, 97, 250, 0)) goto lab0;
548             {   int c4 = z->c; /* or, line 53 */
549                 if (out_grouping_U(z, g_v, 97, 250, 0)) goto lab6;
550                 {    /* gopast */ /* grouping v, line 53 */
551                     int ret = out_grouping_U(z, g_v, 97, 250, 1);
552                     if (ret < 0) goto lab6;
553                     z->c += ret;
554                 }
555                 goto lab5;
556             lab6:
557                 z->c = c4;
558                 if (in_grouping_U(z, g_v, 97, 250, 0)) goto lab0;
559                 {   int ret = skip_utf8(z->p, z->c, 0, z->l, 1);
560                     if (ret < 0) goto lab0;
561                     z->c = ret; /* next, line 53 */
562                 }
563             }
564         lab5:
565             ;
566         }
567     lab1:
568         z->I[0] = z->c; /* setmark pV, line 54 */
569     lab0:
570         z->c = c1;
571     }
572     {   int c5 = z->c; /* do, line 56 */
573         {    /* gopast */ /* grouping v, line 57 */
574             int ret = out_grouping_U(z, g_v, 97, 250, 1);
575             if (ret < 0) goto lab7;
576             z->c += ret;
577         }
578         {    /* gopast */ /* non v, line 57 */
579             int ret = in_grouping_U(z, g_v, 97, 250, 1);
580             if (ret < 0) goto lab7;
581             z->c += ret;
582         }
583         z->I[1] = z->c; /* setmark p1, line 57 */
584         {    /* gopast */ /* grouping v, line 58 */
585             int ret = out_grouping_U(z, g_v, 97, 250, 1);
586             if (ret < 0) goto lab7;
587             z->c += ret;
588         }
589         {    /* gopast */ /* non v, line 58 */
590             int ret = in_grouping_U(z, g_v, 97, 250, 1);
591             if (ret < 0) goto lab7;
592             z->c += ret;
593         }
594         z->I[2] = z->c; /* setmark p2, line 58 */
595     lab7:
596         z->c = c5;
597     }
598     return 1;
599 }
600
601 static int r_postlude(struct SN_env * z) {
602     int among_var;
603     while(1) { /* repeat, line 62 */
604         int c1 = z->c;
605         z->bra = z->c; /* [, line 63 */
606         if (z->c + 1 >= z->l || z->p[z->c + 1] != 126) among_var = 3; else
607         among_var = find_among(z, a_1, 3); /* substring, line 63 */
608         if (!(among_var)) goto lab0;
609         z->ket = z->c; /* ], line 63 */
610         switch(among_var) {
611             case 0: goto lab0;
612             case 1:
613                 {   int ret = slice_from_s(z, 2, s_2); /* <-, line 64 */
614                     if (ret < 0) return ret;
615                 }
616                 break;
617             case 2:
618                 {   int ret = slice_from_s(z, 2, s_3); /* <-, line 65 */
619                     if (ret < 0) return ret;
620                 }
621                 break;
622             case 3:
623                 {   int ret = skip_utf8(z->p, z->c, 0, z->l, 1);
624                     if (ret < 0) goto lab0;
625                     z->c = ret; /* next, line 66 */
626                 }
627                 break;
628         }
629         continue;
630     lab0:
631         z->c = c1;
632         break;
633     }
634     return 1;
635 }
636
637 static int r_RV(struct SN_env * z) {
638     if (!(z->I[0] <= z->c)) return 0;
639     return 1;
640 }
641
642 static int r_R1(struct SN_env * z) {
643     if (!(z->I[1] <= z->c)) return 0;
644     return 1;
645 }
646
647 static int r_R2(struct SN_env * z) {
648     if (!(z->I[2] <= z->c)) return 0;
649     return 1;
650 }
651
652 static int r_standard_suffix(struct SN_env * z) {
653     int among_var;
654     z->ket = z->c; /* [, line 77 */
655     if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((839714 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
656     among_var = find_among_b(z, a_5, 45); /* substring, line 77 */
657     if (!(among_var)) return 0;
658     z->bra = z->c; /* ], line 77 */
659     switch(among_var) {
660         case 0: return 0;
661         case 1:
662             {   int ret = r_R2(z);
663                 if (ret == 0) return 0; /* call R2, line 93 */
664                 if (ret < 0) return ret;
665             }
666             {   int ret = slice_del(z); /* delete, line 93 */
667                 if (ret < 0) return ret;
668             }
669             break;
670         case 2:
671             {   int ret = r_R2(z);
672                 if (ret == 0) return 0; /* call R2, line 98 */
673                 if (ret < 0) return ret;
674             }
675             {   int ret = slice_from_s(z, 3, s_4); /* <-, line 98 */
676                 if (ret < 0) return ret;
677             }
678             break;
679         case 3:
680             {   int ret = r_R2(z);
681                 if (ret == 0) return 0; /* call R2, line 102 */
682                 if (ret < 0) return ret;
683             }
684             {   int ret = slice_from_s(z, 1, s_5); /* <-, line 102 */
685                 if (ret < 0) return ret;
686             }
687             break;
688         case 4:
689             {   int ret = r_R2(z);
690                 if (ret == 0) return 0; /* call R2, line 106 */
691                 if (ret < 0) return ret;
692             }
693             {   int ret = slice_from_s(z, 4, s_6); /* <-, line 106 */
694                 if (ret < 0) return ret;
695             }
696             break;
697         case 5:
698             {   int ret = r_R1(z);
699                 if (ret == 0) return 0; /* call R1, line 110 */
700                 if (ret < 0) return ret;
701             }
702             {   int ret = slice_del(z); /* delete, line 110 */
703                 if (ret < 0) return ret;
704             }
705             {   int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 111 */
706                 z->ket = z->c; /* [, line 112 */
707                 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 - m_keep; goto lab0; }
708                 among_var = find_among_b(z, a_2, 4); /* substring, line 112 */
709                 if (!(among_var)) { z->c = z->l - m_keep; goto lab0; }
710                 z->bra = z->c; /* ], line 112 */
711                 {   int ret = r_R2(z);
712                     if (ret == 0) { z->c = z->l - m_keep; goto lab0; } /* call R2, line 112 */
713                     if (ret < 0) return ret;
714                 }
715                 {   int ret = slice_del(z); /* delete, line 112 */
716                     if (ret < 0) return ret;
717                 }
718                 switch(among_var) {
719                     case 0: { z->c = z->l - m_keep; goto lab0; }
720                     case 1:
721                         z->ket = z->c; /* [, line 113 */
722                         if (!(eq_s_b(z, 2, s_7))) { z->c = z->l - m_keep; goto lab0; }
723                         z->bra = z->c; /* ], line 113 */
724                         {   int ret = r_R2(z);
725                             if (ret == 0) { z->c = z->l - m_keep; goto lab0; } /* call R2, line 113 */
726                             if (ret < 0) return ret;
727                         }
728                         {   int ret = slice_del(z); /* delete, line 113 */
729                             if (ret < 0) return ret;
730                         }
731                         break;
732                 }
733             lab0:
734                 ;
735             }
736             break;
737         case 6:
738             {   int ret = r_R2(z);
739                 if (ret == 0) return 0; /* call R2, line 122 */
740                 if (ret < 0) return ret;
741             }
742             {   int ret = slice_del(z); /* delete, line 122 */
743                 if (ret < 0) return ret;
744             }
745             {   int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 123 */
746                 z->ket = z->c; /* [, line 124 */
747                 if (z->c - 3 <= z->lb || (z->p[z->c - 1] != 101 && z->p[z->c - 1] != 108)) { z->c = z->l - m_keep; goto lab1; }
748                 among_var = find_among_b(z, a_3, 3); /* substring, line 124 */
749                 if (!(among_var)) { z->c = z->l - m_keep; goto lab1; }
750                 z->bra = z->c; /* ], line 124 */
751                 switch(among_var) {
752                     case 0: { z->c = z->l - m_keep; goto lab1; }
753                     case 1:
754                         {   int ret = r_R2(z);
755                             if (ret == 0) { z->c = z->l - m_keep; goto lab1; } /* call R2, line 127 */
756                             if (ret < 0) return ret;
757                         }
758                         {   int ret = slice_del(z); /* delete, line 127 */
759                             if (ret < 0) return ret;
760                         }
761                         break;
762                 }
763             lab1:
764                 ;
765             }
766             break;
767         case 7:
768             {   int ret = r_R2(z);
769                 if (ret == 0) return 0; /* call R2, line 134 */
770                 if (ret < 0) return ret;
771             }
772             {   int ret = slice_del(z); /* delete, line 134 */
773                 if (ret < 0) return ret;
774             }
775             {   int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 135 */
776                 z->ket = z->c; /* [, line 136 */
777                 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 - m_keep; goto lab2; }
778                 among_var = find_among_b(z, a_4, 3); /* substring, line 136 */
779                 if (!(among_var)) { z->c = z->l - m_keep; goto lab2; }
780                 z->bra = z->c; /* ], line 136 */
781                 switch(among_var) {
782                     case 0: { z->c = z->l - m_keep; goto lab2; }
783                     case 1:
784                         {   int ret = r_R2(z);
785                             if (ret == 0) { z->c = z->l - m_keep; goto lab2; } /* call R2, line 139 */
786                             if (ret < 0) return ret;
787                         }
788                         {   int ret = slice_del(z); /* delete, line 139 */
789                             if (ret < 0) return ret;
790                         }
791                         break;
792                 }
793             lab2:
794                 ;
795             }
796             break;
797         case 8:
798             {   int ret = r_R2(z);
799                 if (ret == 0) return 0; /* call R2, line 146 */
800                 if (ret < 0) return ret;
801             }
802             {   int ret = slice_del(z); /* delete, line 146 */
803                 if (ret < 0) return ret;
804             }
805             {   int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 147 */
806                 z->ket = z->c; /* [, line 148 */
807                 if (!(eq_s_b(z, 2, s_8))) { z->c = z->l - m_keep; goto lab3; }
808                 z->bra = z->c; /* ], line 148 */
809                 {   int ret = r_R2(z);
810                     if (ret == 0) { z->c = z->l - m_keep; goto lab3; } /* call R2, line 148 */
811                     if (ret < 0) return ret;
812                 }
813                 {   int ret = slice_del(z); /* delete, line 148 */
814                     if (ret < 0) return ret;
815                 }
816             lab3:
817                 ;
818             }
819             break;
820         case 9:
821             {   int ret = r_RV(z);
822                 if (ret == 0) return 0; /* call RV, line 153 */
823                 if (ret < 0) return ret;
824             }
825             if (!(eq_s_b(z, 1, s_9))) return 0;
826             {   int ret = slice_from_s(z, 2, s_10); /* <-, line 154 */
827                 if (ret < 0) return ret;
828             }
829             break;
830     }
831     return 1;
832 }
833
834 static int r_verb_suffix(struct SN_env * z) {
835     int among_var;
836     {   int mlimit; /* setlimit, line 159 */
837         int m1 = z->l - z->c; (void)m1;
838         if (z->c < z->I[0]) return 0;
839         z->c = z->I[0]; /* tomark, line 159 */
840         mlimit = z->lb; z->lb = z->c;
841         z->c = z->l - m1;
842         z->ket = z->c; /* [, line 160 */
843         among_var = find_among_b(z, a_6, 120); /* substring, line 160 */
844         if (!(among_var)) { z->lb = mlimit; return 0; }
845         z->bra = z->c; /* ], line 160 */
846         switch(among_var) {
847             case 0: { z->lb = mlimit; return 0; }
848             case 1:
849                 {   int ret = slice_del(z); /* delete, line 179 */
850                     if (ret < 0) return ret;
851                 }
852                 break;
853         }
854         z->lb = mlimit;
855     }
856     return 1;
857 }
858
859 static int r_residual_suffix(struct SN_env * z) {
860     int among_var;
861     z->ket = z->c; /* [, line 184 */
862     among_var = find_among_b(z, a_7, 7); /* substring, line 184 */
863     if (!(among_var)) return 0;
864     z->bra = z->c; /* ], line 184 */
865     switch(among_var) {
866         case 0: return 0;
867         case 1:
868             {   int ret = r_RV(z);
869                 if (ret == 0) return 0; /* call RV, line 187 */
870                 if (ret < 0) return ret;
871             }
872             {   int ret = slice_del(z); /* delete, line 187 */
873                 if (ret < 0) return ret;
874             }
875             break;
876     }
877     return 1;
878 }
879
880 static int r_residual_form(struct SN_env * z) {
881     int among_var;
882     z->ket = z->c; /* [, line 192 */
883     among_var = find_among_b(z, a_8, 4); /* substring, line 192 */
884     if (!(among_var)) return 0;
885     z->bra = z->c; /* ], line 192 */
886     switch(among_var) {
887         case 0: return 0;
888         case 1:
889             {   int ret = r_RV(z);
890                 if (ret == 0) return 0; /* call RV, line 194 */
891                 if (ret < 0) return ret;
892             }
893             {   int ret = slice_del(z); /* delete, line 194 */
894                 if (ret < 0) return ret;
895             }
896             z->ket = z->c; /* [, line 194 */
897             {   int m1 = z->l - z->c; (void)m1; /* or, line 194 */
898                 if (!(eq_s_b(z, 1, s_11))) goto lab1;
899                 z->bra = z->c; /* ], line 194 */
900                 {   int m_test = z->l - z->c; /* test, line 194 */
901                     if (!(eq_s_b(z, 1, s_12))) goto lab1;
902                     z->c = z->l - m_test;
903                 }
904                 goto lab0;
905             lab1:
906                 z->c = z->l - m1;
907                 if (!(eq_s_b(z, 1, s_13))) return 0;
908                 z->bra = z->c; /* ], line 195 */
909                 {   int m_test = z->l - z->c; /* test, line 195 */
910                     if (!(eq_s_b(z, 1, s_14))) return 0;
911                     z->c = z->l - m_test;
912                 }
913             }
914         lab0:
915             {   int ret = r_RV(z);
916                 if (ret == 0) return 0; /* call RV, line 195 */
917                 if (ret < 0) return ret;
918             }
919             {   int ret = slice_del(z); /* delete, line 195 */
920                 if (ret < 0) return ret;
921             }
922             break;
923         case 2:
924             {   int ret = slice_from_s(z, 1, s_15); /* <-, line 196 */
925                 if (ret < 0) return ret;
926             }
927             break;
928     }
929     return 1;
930 }
931
932 extern int portuguese_UTF_8_stem(struct SN_env * z) {
933     {   int c1 = z->c; /* do, line 202 */
934         {   int ret = r_prelude(z);
935             if (ret == 0) goto lab0; /* call prelude, line 202 */
936             if (ret < 0) return ret;
937         }
938     lab0:
939         z->c = c1;
940     }
941     {   int c2 = z->c; /* do, line 203 */
942         {   int ret = r_mark_regions(z);
943             if (ret == 0) goto lab1; /* call mark_regions, line 203 */
944             if (ret < 0) return ret;
945         }
946     lab1:
947         z->c = c2;
948     }
949     z->lb = z->c; z->c = z->l; /* backwards, line 204 */
950
951     {   int m3 = z->l - z->c; (void)m3; /* do, line 205 */
952         {   int m4 = z->l - z->c; (void)m4; /* or, line 209 */
953             {   int m5 = z->l - z->c; (void)m5; /* and, line 207 */
954                 {   int m6 = z->l - z->c; (void)m6; /* or, line 206 */
955                     {   int ret = r_standard_suffix(z);
956                         if (ret == 0) goto lab6; /* call standard_suffix, line 206 */
957                         if (ret < 0) return ret;
958                     }
959                     goto lab5;
960                 lab6:
961                     z->c = z->l - m6;
962                     {   int ret = r_verb_suffix(z);
963                         if (ret == 0) goto lab4; /* call verb_suffix, line 206 */
964                         if (ret < 0) return ret;
965                     }
966                 }
967             lab5:
968                 z->c = z->l - m5;
969                 {   int m7 = z->l - z->c; (void)m7; /* do, line 207 */
970                     z->ket = z->c; /* [, line 207 */
971                     if (!(eq_s_b(z, 1, s_16))) goto lab7;
972                     z->bra = z->c; /* ], line 207 */
973                     {   int m_test = z->l - z->c; /* test, line 207 */
974                         if (!(eq_s_b(z, 1, s_17))) goto lab7;
975                         z->c = z->l - m_test;
976                     }
977                     {   int ret = r_RV(z);
978                         if (ret == 0) goto lab7; /* call RV, line 207 */
979                         if (ret < 0) return ret;
980                     }
981                     {   int ret = slice_del(z); /* delete, line 207 */
982                         if (ret < 0) return ret;
983                     }
984                 lab7:
985                     z->c = z->l - m7;
986                 }
987             }
988             goto lab3;
989         lab4:
990             z->c = z->l - m4;
991             {   int ret = r_residual_suffix(z);
992                 if (ret == 0) goto lab2; /* call residual_suffix, line 209 */
993                 if (ret < 0) return ret;
994             }
995         }
996     lab3:
997     lab2:
998         z->c = z->l - m3;
999     }
1000     {   int m8 = z->l - z->c; (void)m8; /* do, line 211 */
1001         {   int ret = r_residual_form(z);
1002             if (ret == 0) goto lab8; /* call residual_form, line 211 */
1003             if (ret < 0) return ret;
1004         }
1005     lab8:
1006         z->c = z->l - m8;
1007     }
1008     z->c = z->lb;
1009     {   int c9 = z->c; /* do, line 213 */
1010         {   int ret = r_postlude(z);
1011             if (ret == 0) goto lab9; /* call postlude, line 213 */
1012             if (ret < 0) return ret;
1013         }
1014     lab9:
1015         z->c = c9;
1016     }
1017     return 1;
1018 }
1019
1020 extern struct SN_env * portuguese_UTF_8_create_env(void) { return SN_create_env(0, 3, 0); }
1021
1022 extern void portuguese_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); }
1023