1 /* Generated by Snowball 2.1.0 - https://snowballstem.org/ */
2 
3 #include "header.h"
4 
5 #ifdef __cplusplus
6 extern "C" {
7 #endif
8 extern int french_ISO_8859_1_stem(struct SN_env * z);
9 #ifdef __cplusplus
10 }
11 #endif
12 static int r_un_accent(struct SN_env * z);
13 static int r_un_double(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_i_verb_suffix(struct SN_env * z);
17 static int r_standard_suffix(struct SN_env * z);
18 static int r_R2(struct SN_env * z);
19 static int r_R1(struct SN_env * z);
20 static int r_RV(struct SN_env * z);
21 static int r_mark_regions(struct SN_env * z);
22 static int r_postlude(struct SN_env * z);
23 static int r_prelude(struct SN_env * z);
24 #ifdef __cplusplus
25 extern "C" {
26 #endif
27 
28 
29 extern struct SN_env * french_ISO_8859_1_create_env(void);
30 extern void french_ISO_8859_1_close_env(struct SN_env * z);
31 
32 
33 #ifdef __cplusplus
34 }
35 #endif
36 static const symbol s_0_0[3] = { 'c', 'o', 'l' };
37 static const symbol s_0_1[3] = { 'p', 'a', 'r' };
38 static const symbol s_0_2[3] = { 't', 'a', 'p' };
39 
40 static const struct among a_0[3] =
41 {
42 { 3, s_0_0, -1, -1, 0},
43 { 3, s_0_1, -1, -1, 0},
44 { 3, s_0_2, -1, -1, 0}
45 };
46 
47 static const symbol s_1_1[1] = { 'H' };
48 static const symbol s_1_2[2] = { 'H', 'e' };
49 static const symbol s_1_3[2] = { 'H', 'i' };
50 static const symbol s_1_4[1] = { 'I' };
51 static const symbol s_1_5[1] = { 'U' };
52 static const symbol s_1_6[1] = { 'Y' };
53 
54 static const struct among a_1[7] =
55 {
56 { 0, 0, -1, 7, 0},
57 { 1, s_1_1, 0, 6, 0},
58 { 2, s_1_2, 1, 4, 0},
59 { 2, s_1_3, 1, 5, 0},
60 { 1, s_1_4, 0, 1, 0},
61 { 1, s_1_5, 0, 2, 0},
62 { 1, s_1_6, 0, 3, 0}
63 };
64 
65 static const symbol s_2_0[3] = { 'i', 'q', 'U' };
66 static const symbol s_2_1[3] = { 'a', 'b', 'l' };
67 static const symbol s_2_2[3] = { 'I', 0xE8, 'r' };
68 static const symbol s_2_3[3] = { 'i', 0xE8, 'r' };
69 static const symbol s_2_4[3] = { 'e', 'u', 's' };
70 static const symbol s_2_5[2] = { 'i', 'v' };
71 
72 static const struct among a_2[6] =
73 {
74 { 3, s_2_0, -1, 3, 0},
75 { 3, s_2_1, -1, 3, 0},
76 { 3, s_2_2, -1, 4, 0},
77 { 3, s_2_3, -1, 4, 0},
78 { 3, s_2_4, -1, 2, 0},
79 { 2, s_2_5, -1, 1, 0}
80 };
81 
82 static const symbol s_3_0[2] = { 'i', 'c' };
83 static const symbol s_3_1[4] = { 'a', 'b', 'i', 'l' };
84 static const symbol s_3_2[2] = { 'i', 'v' };
85 
86 static const struct among a_3[3] =
87 {
88 { 2, s_3_0, -1, 2, 0},
89 { 4, s_3_1, -1, 1, 0},
90 { 2, s_3_2, -1, 3, 0}
91 };
92 
93 static const symbol s_4_0[4] = { 'i', 'q', 'U', 'e' };
94 static const symbol s_4_1[6] = { 'a', 't', 'r', 'i', 'c', 'e' };
95 static const symbol s_4_2[4] = { 'a', 'n', 'c', 'e' };
96 static const symbol s_4_3[4] = { 'e', 'n', 'c', 'e' };
97 static const symbol s_4_4[5] = { 'l', 'o', 'g', 'i', 'e' };
98 static const symbol s_4_5[4] = { 'a', 'b', 'l', 'e' };
99 static const symbol s_4_6[4] = { 'i', 's', 'm', 'e' };
100 static const symbol s_4_7[4] = { 'e', 'u', 's', 'e' };
101 static const symbol s_4_8[4] = { 'i', 's', 't', 'e' };
102 static const symbol s_4_9[3] = { 'i', 'v', 'e' };
103 static const symbol s_4_10[2] = { 'i', 'f' };
104 static const symbol s_4_11[5] = { 'u', 's', 'i', 'o', 'n' };
105 static const symbol s_4_12[5] = { 'a', 't', 'i', 'o', 'n' };
106 static const symbol s_4_13[5] = { 'u', 't', 'i', 'o', 'n' };
107 static const symbol s_4_14[5] = { 'a', 't', 'e', 'u', 'r' };
108 static const symbol s_4_15[5] = { 'i', 'q', 'U', 'e', 's' };
109 static const symbol s_4_16[7] = { 'a', 't', 'r', 'i', 'c', 'e', 's' };
110 static const symbol s_4_17[5] = { 'a', 'n', 'c', 'e', 's' };
111 static const symbol s_4_18[5] = { 'e', 'n', 'c', 'e', 's' };
112 static const symbol s_4_19[6] = { 'l', 'o', 'g', 'i', 'e', 's' };
113 static const symbol s_4_20[5] = { 'a', 'b', 'l', 'e', 's' };
114 static const symbol s_4_21[5] = { 'i', 's', 'm', 'e', 's' };
115 static const symbol s_4_22[5] = { 'e', 'u', 's', 'e', 's' };
116 static const symbol s_4_23[5] = { 'i', 's', 't', 'e', 's' };
117 static const symbol s_4_24[4] = { 'i', 'v', 'e', 's' };
118 static const symbol s_4_25[3] = { 'i', 'f', 's' };
119 static const symbol s_4_26[6] = { 'u', 's', 'i', 'o', 'n', 's' };
120 static const symbol s_4_27[6] = { 'a', 't', 'i', 'o', 'n', 's' };
121 static const symbol s_4_28[6] = { 'u', 't', 'i', 'o', 'n', 's' };
122 static const symbol s_4_29[6] = { 'a', 't', 'e', 'u', 'r', 's' };
123 static const symbol s_4_30[5] = { 'm', 'e', 'n', 't', 's' };
124 static const symbol s_4_31[6] = { 'e', 'm', 'e', 'n', 't', 's' };
125 static const symbol s_4_32[9] = { 'i', 's', 's', 'e', 'm', 'e', 'n', 't', 's' };
126 static const symbol s_4_33[4] = { 'i', 't', 0xE9, 's' };
127 static const symbol s_4_34[4] = { 'm', 'e', 'n', 't' };
128 static const symbol s_4_35[5] = { 'e', 'm', 'e', 'n', 't' };
129 static const symbol s_4_36[8] = { 'i', 's', 's', 'e', 'm', 'e', 'n', 't' };
130 static const symbol s_4_37[6] = { 'a', 'm', 'm', 'e', 'n', 't' };
131 static const symbol s_4_38[6] = { 'e', 'm', 'm', 'e', 'n', 't' };
132 static const symbol s_4_39[3] = { 'a', 'u', 'x' };
133 static const symbol s_4_40[4] = { 'e', 'a', 'u', 'x' };
134 static const symbol s_4_41[3] = { 'e', 'u', 'x' };
135 static const symbol s_4_42[3] = { 'i', 't', 0xE9 };
136 
137 static const struct among a_4[43] =
138 {
139 { 4, s_4_0, -1, 1, 0},
140 { 6, s_4_1, -1, 2, 0},
141 { 4, s_4_2, -1, 1, 0},
142 { 4, s_4_3, -1, 5, 0},
143 { 5, s_4_4, -1, 3, 0},
144 { 4, s_4_5, -1, 1, 0},
145 { 4, s_4_6, -1, 1, 0},
146 { 4, s_4_7, -1, 11, 0},
147 { 4, s_4_8, -1, 1, 0},
148 { 3, s_4_9, -1, 8, 0},
149 { 2, s_4_10, -1, 8, 0},
150 { 5, s_4_11, -1, 4, 0},
151 { 5, s_4_12, -1, 2, 0},
152 { 5, s_4_13, -1, 4, 0},
153 { 5, s_4_14, -1, 2, 0},
154 { 5, s_4_15, -1, 1, 0},
155 { 7, s_4_16, -1, 2, 0},
156 { 5, s_4_17, -1, 1, 0},
157 { 5, s_4_18, -1, 5, 0},
158 { 6, s_4_19, -1, 3, 0},
159 { 5, s_4_20, -1, 1, 0},
160 { 5, s_4_21, -1, 1, 0},
161 { 5, s_4_22, -1, 11, 0},
162 { 5, s_4_23, -1, 1, 0},
163 { 4, s_4_24, -1, 8, 0},
164 { 3, s_4_25, -1, 8, 0},
165 { 6, s_4_26, -1, 4, 0},
166 { 6, s_4_27, -1, 2, 0},
167 { 6, s_4_28, -1, 4, 0},
168 { 6, s_4_29, -1, 2, 0},
169 { 5, s_4_30, -1, 15, 0},
170 { 6, s_4_31, 30, 6, 0},
171 { 9, s_4_32, 31, 12, 0},
172 { 4, s_4_33, -1, 7, 0},
173 { 4, s_4_34, -1, 15, 0},
174 { 5, s_4_35, 34, 6, 0},
175 { 8, s_4_36, 35, 12, 0},
176 { 6, s_4_37, 34, 13, 0},
177 { 6, s_4_38, 34, 14, 0},
178 { 3, s_4_39, -1, 10, 0},
179 { 4, s_4_40, 39, 9, 0},
180 { 3, s_4_41, -1, 1, 0},
181 { 3, s_4_42, -1, 7, 0}
182 };
183 
184 static const symbol s_5_0[3] = { 'i', 'r', 'a' };
185 static const symbol s_5_1[2] = { 'i', 'e' };
186 static const symbol s_5_2[4] = { 'i', 's', 's', 'e' };
187 static const symbol s_5_3[7] = { 'i', 's', 's', 'a', 'n', 't', 'e' };
188 static const symbol s_5_4[1] = { 'i' };
189 static const symbol s_5_5[4] = { 'i', 'r', 'a', 'i' };
190 static const symbol s_5_6[2] = { 'i', 'r' };
191 static const symbol s_5_7[4] = { 'i', 'r', 'a', 's' };
192 static const symbol s_5_8[3] = { 'i', 'e', 's' };
193 static const symbol s_5_9[4] = { 0xEE, 'm', 'e', 's' };
194 static const symbol s_5_10[5] = { 'i', 's', 's', 'e', 's' };
195 static const symbol s_5_11[8] = { 'i', 's', 's', 'a', 'n', 't', 'e', 's' };
196 static const symbol s_5_12[4] = { 0xEE, 't', 'e', 's' };
197 static const symbol s_5_13[2] = { 'i', 's' };
198 static const symbol s_5_14[5] = { 'i', 'r', 'a', 'i', 's' };
199 static const symbol s_5_15[6] = { 'i', 's', 's', 'a', 'i', 's' };
200 static const symbol s_5_16[6] = { 'i', 'r', 'i', 'o', 'n', 's' };
201 static const symbol s_5_17[7] = { 'i', 's', 's', 'i', 'o', 'n', 's' };
202 static const symbol s_5_18[5] = { 'i', 'r', 'o', 'n', 's' };
203 static const symbol s_5_19[6] = { 'i', 's', 's', 'o', 'n', 's' };
204 static const symbol s_5_20[7] = { 'i', 's', 's', 'a', 'n', 't', 's' };
205 static const symbol s_5_21[2] = { 'i', 't' };
206 static const symbol s_5_22[5] = { 'i', 'r', 'a', 'i', 't' };
207 static const symbol s_5_23[6] = { 'i', 's', 's', 'a', 'i', 't' };
208 static const symbol s_5_24[6] = { 'i', 's', 's', 'a', 'n', 't' };
209 static const symbol s_5_25[7] = { 'i', 'r', 'a', 'I', 'e', 'n', 't' };
210 static const symbol s_5_26[8] = { 'i', 's', 's', 'a', 'I', 'e', 'n', 't' };
211 static const symbol s_5_27[5] = { 'i', 'r', 'e', 'n', 't' };
212 static const symbol s_5_28[6] = { 'i', 's', 's', 'e', 'n', 't' };
213 static const symbol s_5_29[5] = { 'i', 'r', 'o', 'n', 't' };
214 static const symbol s_5_30[2] = { 0xEE, 't' };
215 static const symbol s_5_31[5] = { 'i', 'r', 'i', 'e', 'z' };
216 static const symbol s_5_32[6] = { 'i', 's', 's', 'i', 'e', 'z' };
217 static const symbol s_5_33[4] = { 'i', 'r', 'e', 'z' };
218 static const symbol s_5_34[5] = { 'i', 's', 's', 'e', 'z' };
219 
220 static const struct among a_5[35] =
221 {
222 { 3, s_5_0, -1, 1, 0},
223 { 2, s_5_1, -1, 1, 0},
224 { 4, s_5_2, -1, 1, 0},
225 { 7, s_5_3, -1, 1, 0},
226 { 1, s_5_4, -1, 1, 0},
227 { 4, s_5_5, 4, 1, 0},
228 { 2, s_5_6, -1, 1, 0},
229 { 4, s_5_7, -1, 1, 0},
230 { 3, s_5_8, -1, 1, 0},
231 { 4, s_5_9, -1, 1, 0},
232 { 5, s_5_10, -1, 1, 0},
233 { 8, s_5_11, -1, 1, 0},
234 { 4, s_5_12, -1, 1, 0},
235 { 2, s_5_13, -1, 1, 0},
236 { 5, s_5_14, 13, 1, 0},
237 { 6, s_5_15, 13, 1, 0},
238 { 6, s_5_16, -1, 1, 0},
239 { 7, s_5_17, -1, 1, 0},
240 { 5, s_5_18, -1, 1, 0},
241 { 6, s_5_19, -1, 1, 0},
242 { 7, s_5_20, -1, 1, 0},
243 { 2, s_5_21, -1, 1, 0},
244 { 5, s_5_22, 21, 1, 0},
245 { 6, s_5_23, 21, 1, 0},
246 { 6, s_5_24, -1, 1, 0},
247 { 7, s_5_25, -1, 1, 0},
248 { 8, s_5_26, -1, 1, 0},
249 { 5, s_5_27, -1, 1, 0},
250 { 6, s_5_28, -1, 1, 0},
251 { 5, s_5_29, -1, 1, 0},
252 { 2, s_5_30, -1, 1, 0},
253 { 5, s_5_31, -1, 1, 0},
254 { 6, s_5_32, -1, 1, 0},
255 { 4, s_5_33, -1, 1, 0},
256 { 5, s_5_34, -1, 1, 0}
257 };
258 
259 static const symbol s_6_0[1] = { 'a' };
260 static const symbol s_6_1[3] = { 'e', 'r', 'a' };
261 static const symbol s_6_2[4] = { 'a', 's', 's', 'e' };
262 static const symbol s_6_3[4] = { 'a', 'n', 't', 'e' };
263 static const symbol s_6_4[2] = { 0xE9, 'e' };
264 static const symbol s_6_5[2] = { 'a', 'i' };
265 static const symbol s_6_6[4] = { 'e', 'r', 'a', 'i' };
266 static const symbol s_6_7[2] = { 'e', 'r' };
267 static const symbol s_6_8[2] = { 'a', 's' };
268 static const symbol s_6_9[4] = { 'e', 'r', 'a', 's' };
269 static const symbol s_6_10[4] = { 0xE2, 'm', 'e', 's' };
270 static const symbol s_6_11[5] = { 'a', 's', 's', 'e', 's' };
271 static const symbol s_6_12[5] = { 'a', 'n', 't', 'e', 's' };
272 static const symbol s_6_13[4] = { 0xE2, 't', 'e', 's' };
273 static const symbol s_6_14[3] = { 0xE9, 'e', 's' };
274 static const symbol s_6_15[3] = { 'a', 'i', 's' };
275 static const symbol s_6_16[5] = { 'e', 'r', 'a', 'i', 's' };
276 static const symbol s_6_17[4] = { 'i', 'o', 'n', 's' };
277 static const symbol s_6_18[6] = { 'e', 'r', 'i', 'o', 'n', 's' };
278 static const symbol s_6_19[7] = { 'a', 's', 's', 'i', 'o', 'n', 's' };
279 static const symbol s_6_20[5] = { 'e', 'r', 'o', 'n', 's' };
280 static const symbol s_6_21[4] = { 'a', 'n', 't', 's' };
281 static const symbol s_6_22[2] = { 0xE9, 's' };
282 static const symbol s_6_23[3] = { 'a', 'i', 't' };
283 static const symbol s_6_24[5] = { 'e', 'r', 'a', 'i', 't' };
284 static const symbol s_6_25[3] = { 'a', 'n', 't' };
285 static const symbol s_6_26[5] = { 'a', 'I', 'e', 'n', 't' };
286 static const symbol s_6_27[7] = { 'e', 'r', 'a', 'I', 'e', 'n', 't' };
287 static const symbol s_6_28[5] = { 0xE8, 'r', 'e', 'n', 't' };
288 static const symbol s_6_29[6] = { 'a', 's', 's', 'e', 'n', 't' };
289 static const symbol s_6_30[5] = { 'e', 'r', 'o', 'n', 't' };
290 static const symbol s_6_31[2] = { 0xE2, 't' };
291 static const symbol s_6_32[2] = { 'e', 'z' };
292 static const symbol s_6_33[3] = { 'i', 'e', 'z' };
293 static const symbol s_6_34[5] = { 'e', 'r', 'i', 'e', 'z' };
294 static const symbol s_6_35[6] = { 'a', 's', 's', 'i', 'e', 'z' };
295 static const symbol s_6_36[4] = { 'e', 'r', 'e', 'z' };
296 static const symbol s_6_37[1] = { 0xE9 };
297 
298 static const struct among a_6[38] =
299 {
300 { 1, s_6_0, -1, 3, 0},
301 { 3, s_6_1, 0, 2, 0},
302 { 4, s_6_2, -1, 3, 0},
303 { 4, s_6_3, -1, 3, 0},
304 { 2, s_6_4, -1, 2, 0},
305 { 2, s_6_5, -1, 3, 0},
306 { 4, s_6_6, 5, 2, 0},
307 { 2, s_6_7, -1, 2, 0},
308 { 2, s_6_8, -1, 3, 0},
309 { 4, s_6_9, 8, 2, 0},
310 { 4, s_6_10, -1, 3, 0},
311 { 5, s_6_11, -1, 3, 0},
312 { 5, s_6_12, -1, 3, 0},
313 { 4, s_6_13, -1, 3, 0},
314 { 3, s_6_14, -1, 2, 0},
315 { 3, s_6_15, -1, 3, 0},
316 { 5, s_6_16, 15, 2, 0},
317 { 4, s_6_17, -1, 1, 0},
318 { 6, s_6_18, 17, 2, 0},
319 { 7, s_6_19, 17, 3, 0},
320 { 5, s_6_20, -1, 2, 0},
321 { 4, s_6_21, -1, 3, 0},
322 { 2, s_6_22, -1, 2, 0},
323 { 3, s_6_23, -1, 3, 0},
324 { 5, s_6_24, 23, 2, 0},
325 { 3, s_6_25, -1, 3, 0},
326 { 5, s_6_26, -1, 3, 0},
327 { 7, s_6_27, 26, 2, 0},
328 { 5, s_6_28, -1, 2, 0},
329 { 6, s_6_29, -1, 3, 0},
330 { 5, s_6_30, -1, 2, 0},
331 { 2, s_6_31, -1, 3, 0},
332 { 2, s_6_32, -1, 2, 0},
333 { 3, s_6_33, 32, 2, 0},
334 { 5, s_6_34, 33, 2, 0},
335 { 6, s_6_35, 33, 3, 0},
336 { 4, s_6_36, 32, 2, 0},
337 { 1, s_6_37, -1, 2, 0}
338 };
339 
340 static const symbol s_7_0[1] = { 'e' };
341 static const symbol s_7_1[4] = { 'I', 0xE8, 'r', 'e' };
342 static const symbol s_7_2[4] = { 'i', 0xE8, 'r', 'e' };
343 static const symbol s_7_3[3] = { 'i', 'o', 'n' };
344 static const symbol s_7_4[3] = { 'I', 'e', 'r' };
345 static const symbol s_7_5[3] = { 'i', 'e', 'r' };
346 
347 static const struct among a_7[6] =
348 {
349 { 1, s_7_0, -1, 3, 0},
350 { 4, s_7_1, 0, 2, 0},
351 { 4, s_7_2, 0, 2, 0},
352 { 3, s_7_3, -1, 1, 0},
353 { 3, s_7_4, -1, 2, 0},
354 { 3, s_7_5, -1, 2, 0}
355 };
356 
357 static const symbol s_8_0[3] = { 'e', 'l', 'l' };
358 static const symbol s_8_1[4] = { 'e', 'i', 'l', 'l' };
359 static const symbol s_8_2[3] = { 'e', 'n', 'n' };
360 static const symbol s_8_3[3] = { 'o', 'n', 'n' };
361 static const symbol s_8_4[3] = { 'e', 't', 't' };
362 
363 static const struct among a_8[5] =
364 {
365 { 3, s_8_0, -1, -1, 0},
366 { 4, s_8_1, -1, -1, 0},
367 { 3, s_8_2, -1, -1, 0},
368 { 3, s_8_3, -1, -1, 0},
369 { 3, s_8_4, -1, -1, 0}
370 };
371 
372 static const unsigned char g_v[] = { 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 130, 103, 8, 5 };
373 
374 static const unsigned char g_keep_with_s[] = { 1, 65, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 };
375 
376 static const symbol s_0[] = { 'U' };
377 static const symbol s_1[] = { 'I' };
378 static const symbol s_2[] = { 'Y' };
379 static const symbol s_3[] = { 'H', 'e' };
380 static const symbol s_4[] = { 'H', 'i' };
381 static const symbol s_5[] = { 'Y' };
382 static const symbol s_6[] = { 'U' };
383 static const symbol s_7[] = { 'i' };
384 static const symbol s_8[] = { 'u' };
385 static const symbol s_9[] = { 'y' };
386 static const symbol s_10[] = { 0xEB };
387 static const symbol s_11[] = { 0xEF };
388 static const symbol s_12[] = { 'i', 'c' };
389 static const symbol s_13[] = { 'i', 'q', 'U' };
390 static const symbol s_14[] = { 'l', 'o', 'g' };
391 static const symbol s_15[] = { 'u' };
392 static const symbol s_16[] = { 'e', 'n', 't' };
393 static const symbol s_17[] = { 'a', 't' };
394 static const symbol s_18[] = { 'e', 'u', 'x' };
395 static const symbol s_19[] = { 'i' };
396 static const symbol s_20[] = { 'a', 'b', 'l' };
397 static const symbol s_21[] = { 'i', 'q', 'U' };
398 static const symbol s_22[] = { 'a', 't' };
399 static const symbol s_23[] = { 'i', 'c' };
400 static const symbol s_24[] = { 'i', 'q', 'U' };
401 static const symbol s_25[] = { 'e', 'a', 'u' };
402 static const symbol s_26[] = { 'a', 'l' };
403 static const symbol s_27[] = { 'e', 'u', 'x' };
404 static const symbol s_28[] = { 'a', 'n', 't' };
405 static const symbol s_29[] = { 'e', 'n', 't' };
406 static const symbol s_30[] = { 'H', 'i' };
407 static const symbol s_31[] = { 'i' };
408 static const symbol s_32[] = { 'e' };
409 static const symbol s_33[] = { 'i' };
410 static const symbol s_34[] = { 'c' };
411 
r_prelude(struct SN_env * z)412 static int r_prelude(struct SN_env * z) {
413     while(1) {
414         int c1 = z->c;
415         while(1) {
416             int c2 = z->c;
417             {   int c3 = z->c;
418                 if (in_grouping(z, g_v, 97, 251, 0)) goto lab3;
419                 z->bra = z->c;
420                 {   int c4 = z->c;
421                     if (z->c == z->l || z->p[z->c] != 'u') goto lab5;
422                     z->c++;
423                     z->ket = z->c;
424                     if (in_grouping(z, g_v, 97, 251, 0)) goto lab5;
425                     {   int ret = slice_from_s(z, 1, s_0);
426                         if (ret < 0) return ret;
427                     }
428                     goto lab4;
429                 lab5:
430                     z->c = c4;
431                     if (z->c == z->l || z->p[z->c] != 'i') goto lab6;
432                     z->c++;
433                     z->ket = z->c;
434                     if (in_grouping(z, g_v, 97, 251, 0)) goto lab6;
435                     {   int ret = slice_from_s(z, 1, s_1);
436                         if (ret < 0) return ret;
437                     }
438                     goto lab4;
439                 lab6:
440                     z->c = c4;
441                     if (z->c == z->l || z->p[z->c] != 'y') goto lab3;
442                     z->c++;
443                     z->ket = z->c;
444                     {   int ret = slice_from_s(z, 1, s_2);
445                         if (ret < 0) return ret;
446                     }
447                 }
448             lab4:
449                 goto lab2;
450             lab3:
451                 z->c = c3;
452                 z->bra = z->c;
453                 if (z->c == z->l || z->p[z->c] != 0xEB) goto lab7;
454                 z->c++;
455                 z->ket = z->c;
456                 {   int ret = slice_from_s(z, 2, s_3);
457                     if (ret < 0) return ret;
458                 }
459                 goto lab2;
460             lab7:
461                 z->c = c3;
462                 z->bra = z->c;
463                 if (z->c == z->l || z->p[z->c] != 0xEF) goto lab8;
464                 z->c++;
465                 z->ket = z->c;
466                 {   int ret = slice_from_s(z, 2, s_4);
467                     if (ret < 0) return ret;
468                 }
469                 goto lab2;
470             lab8:
471                 z->c = c3;
472                 z->bra = z->c;
473                 if (z->c == z->l || z->p[z->c] != 'y') goto lab9;
474                 z->c++;
475                 z->ket = z->c;
476                 if (in_grouping(z, g_v, 97, 251, 0)) goto lab9;
477                 {   int ret = slice_from_s(z, 1, s_5);
478                     if (ret < 0) return ret;
479                 }
480                 goto lab2;
481             lab9:
482                 z->c = c3;
483                 if (z->c == z->l || z->p[z->c] != 'q') goto lab1;
484                 z->c++;
485                 z->bra = z->c;
486                 if (z->c == z->l || z->p[z->c] != 'u') goto lab1;
487                 z->c++;
488                 z->ket = z->c;
489                 {   int ret = slice_from_s(z, 1, s_6);
490                     if (ret < 0) return ret;
491                 }
492             }
493         lab2:
494             z->c = c2;
495             break;
496         lab1:
497             z->c = c2;
498             if (z->c >= z->l) goto lab0;
499             z->c++;
500         }
501         continue;
502     lab0:
503         z->c = c1;
504         break;
505     }
506     return 1;
507 }
508 
r_mark_regions(struct SN_env * z)509 static int r_mark_regions(struct SN_env * z) {
510     z->I[2] = z->l;
511     z->I[1] = z->l;
512     z->I[0] = z->l;
513     {   int c1 = z->c;
514         {   int c2 = z->c;
515             if (in_grouping(z, g_v, 97, 251, 0)) goto lab2;
516             if (in_grouping(z, g_v, 97, 251, 0)) goto lab2;
517             if (z->c >= z->l) goto lab2;
518             z->c++;
519             goto lab1;
520         lab2:
521             z->c = c2;
522             if (z->c + 2 >= z->l || z->p[z->c + 2] >> 5 != 3 || !((331776 >> (z->p[z->c + 2] & 0x1f)) & 1)) goto lab3;
523             if (!(find_among(z, a_0, 3))) goto lab3;
524             goto lab1;
525         lab3:
526             z->c = c2;
527             if (z->c >= z->l) goto lab0;
528             z->c++;
529             {
530                 int ret = out_grouping(z, g_v, 97, 251, 1);
531                 if (ret < 0) goto lab0;
532                 z->c += ret;
533             }
534         }
535     lab1:
536         z->I[2] = z->c;
537     lab0:
538         z->c = c1;
539     }
540     {   int c3 = z->c;
541         {
542             int ret = out_grouping(z, g_v, 97, 251, 1);
543             if (ret < 0) goto lab4;
544             z->c += ret;
545         }
546         {
547             int ret = in_grouping(z, g_v, 97, 251, 1);
548             if (ret < 0) goto lab4;
549             z->c += ret;
550         }
551         z->I[1] = z->c;
552         {
553             int ret = out_grouping(z, g_v, 97, 251, 1);
554             if (ret < 0) goto lab4;
555             z->c += ret;
556         }
557         {
558             int ret = in_grouping(z, g_v, 97, 251, 1);
559             if (ret < 0) goto lab4;
560             z->c += ret;
561         }
562         z->I[0] = z->c;
563     lab4:
564         z->c = c3;
565     }
566     return 1;
567 }
568 
r_postlude(struct SN_env * z)569 static int r_postlude(struct SN_env * z) {
570     int among_var;
571     while(1) {
572         int c1 = z->c;
573         z->bra = z->c;
574         if (z->c >= z->l || z->p[z->c + 0] >> 5 != 2 || !((35652352 >> (z->p[z->c + 0] & 0x1f)) & 1)) among_var = 7; else
575         among_var = find_among(z, a_1, 7);
576         if (!(among_var)) goto lab0;
577         z->ket = z->c;
578         switch (among_var) {
579             case 1:
580                 {   int ret = slice_from_s(z, 1, s_7);
581                     if (ret < 0) return ret;
582                 }
583                 break;
584             case 2:
585                 {   int ret = slice_from_s(z, 1, s_8);
586                     if (ret < 0) return ret;
587                 }
588                 break;
589             case 3:
590                 {   int ret = slice_from_s(z, 1, s_9);
591                     if (ret < 0) return ret;
592                 }
593                 break;
594             case 4:
595                 {   int ret = slice_from_s(z, 1, s_10);
596                     if (ret < 0) return ret;
597                 }
598                 break;
599             case 5:
600                 {   int ret = slice_from_s(z, 1, s_11);
601                     if (ret < 0) return ret;
602                 }
603                 break;
604             case 6:
605                 {   int ret = slice_del(z);
606                     if (ret < 0) return ret;
607                 }
608                 break;
609             case 7:
610                 if (z->c >= z->l) goto lab0;
611                 z->c++;
612                 break;
613         }
614         continue;
615     lab0:
616         z->c = c1;
617         break;
618     }
619     return 1;
620 }
621 
r_RV(struct SN_env * z)622 static int r_RV(struct SN_env * z) {
623     if (!(z->I[2] <= z->c)) return 0;
624     return 1;
625 }
626 
r_R1(struct SN_env * z)627 static int r_R1(struct SN_env * z) {
628     if (!(z->I[1] <= z->c)) return 0;
629     return 1;
630 }
631 
r_R2(struct SN_env * z)632 static int r_R2(struct SN_env * z) {
633     if (!(z->I[0] <= z->c)) return 0;
634     return 1;
635 }
636 
r_standard_suffix(struct SN_env * z)637 static int r_standard_suffix(struct SN_env * z) {
638     int among_var;
639     z->ket = z->c;
640     among_var = find_among_b(z, a_4, 43);
641     if (!(among_var)) return 0;
642     z->bra = z->c;
643     switch (among_var) {
644         case 1:
645             {   int ret = r_R2(z);
646                 if (ret <= 0) return ret;
647             }
648             {   int ret = slice_del(z);
649                 if (ret < 0) return ret;
650             }
651             break;
652         case 2:
653             {   int ret = r_R2(z);
654                 if (ret <= 0) return ret;
655             }
656             {   int ret = slice_del(z);
657                 if (ret < 0) return ret;
658             }
659             {   int m1 = z->l - z->c; (void)m1;
660                 z->ket = z->c;
661                 if (!(eq_s_b(z, 2, s_12))) { z->c = z->l - m1; goto lab0; }
662                 z->bra = z->c;
663                 {   int m2 = z->l - z->c; (void)m2;
664                     {   int ret = r_R2(z);
665                         if (ret == 0) goto lab2;
666                         if (ret < 0) return ret;
667                     }
668                     {   int ret = slice_del(z);
669                         if (ret < 0) return ret;
670                     }
671                     goto lab1;
672                 lab2:
673                     z->c = z->l - m2;
674                     {   int ret = slice_from_s(z, 3, s_13);
675                         if (ret < 0) return ret;
676                     }
677                 }
678             lab1:
679             lab0:
680                 ;
681             }
682             break;
683         case 3:
684             {   int ret = r_R2(z);
685                 if (ret <= 0) return ret;
686             }
687             {   int ret = slice_from_s(z, 3, s_14);
688                 if (ret < 0) return ret;
689             }
690             break;
691         case 4:
692             {   int ret = r_R2(z);
693                 if (ret <= 0) return ret;
694             }
695             {   int ret = slice_from_s(z, 1, s_15);
696                 if (ret < 0) return ret;
697             }
698             break;
699         case 5:
700             {   int ret = r_R2(z);
701                 if (ret <= 0) return ret;
702             }
703             {   int ret = slice_from_s(z, 3, s_16);
704                 if (ret < 0) return ret;
705             }
706             break;
707         case 6:
708             {   int ret = r_RV(z);
709                 if (ret <= 0) return ret;
710             }
711             {   int ret = slice_del(z);
712                 if (ret < 0) return ret;
713             }
714             {   int m3 = z->l - z->c; (void)m3;
715                 z->ket = z->c;
716                 among_var = find_among_b(z, a_2, 6);
717                 if (!(among_var)) { z->c = z->l - m3; goto lab3; }
718                 z->bra = z->c;
719                 switch (among_var) {
720                     case 1:
721                         {   int ret = r_R2(z);
722                             if (ret == 0) { z->c = z->l - m3; goto lab3; }
723                             if (ret < 0) return ret;
724                         }
725                         {   int ret = slice_del(z);
726                             if (ret < 0) return ret;
727                         }
728                         z->ket = z->c;
729                         if (!(eq_s_b(z, 2, s_17))) { z->c = z->l - m3; goto lab3; }
730                         z->bra = z->c;
731                         {   int ret = r_R2(z);
732                             if (ret == 0) { z->c = z->l - m3; goto lab3; }
733                             if (ret < 0) return ret;
734                         }
735                         {   int ret = slice_del(z);
736                             if (ret < 0) return ret;
737                         }
738                         break;
739                     case 2:
740                         {   int m4 = z->l - z->c; (void)m4;
741                             {   int ret = r_R2(z);
742                                 if (ret == 0) goto lab5;
743                                 if (ret < 0) return ret;
744                             }
745                             {   int ret = slice_del(z);
746                                 if (ret < 0) return ret;
747                             }
748                             goto lab4;
749                         lab5:
750                             z->c = z->l - m4;
751                             {   int ret = r_R1(z);
752                                 if (ret == 0) { z->c = z->l - m3; goto lab3; }
753                                 if (ret < 0) return ret;
754                             }
755                             {   int ret = slice_from_s(z, 3, s_18);
756                                 if (ret < 0) return ret;
757                             }
758                         }
759                     lab4:
760                         break;
761                     case 3:
762                         {   int ret = r_R2(z);
763                             if (ret == 0) { z->c = z->l - m3; goto lab3; }
764                             if (ret < 0) return ret;
765                         }
766                         {   int ret = slice_del(z);
767                             if (ret < 0) return ret;
768                         }
769                         break;
770                     case 4:
771                         {   int ret = r_RV(z);
772                             if (ret == 0) { z->c = z->l - m3; goto lab3; }
773                             if (ret < 0) return ret;
774                         }
775                         {   int ret = slice_from_s(z, 1, s_19);
776                             if (ret < 0) return ret;
777                         }
778                         break;
779                 }
780             lab3:
781                 ;
782             }
783             break;
784         case 7:
785             {   int ret = r_R2(z);
786                 if (ret <= 0) return ret;
787             }
788             {   int ret = slice_del(z);
789                 if (ret < 0) return ret;
790             }
791             {   int m5 = z->l - z->c; (void)m5;
792                 z->ket = z->c;
793                 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 - m5; goto lab6; }
794                 among_var = find_among_b(z, a_3, 3);
795                 if (!(among_var)) { z->c = z->l - m5; goto lab6; }
796                 z->bra = z->c;
797                 switch (among_var) {
798                     case 1:
799                         {   int m6 = z->l - z->c; (void)m6;
800                             {   int ret = r_R2(z);
801                                 if (ret == 0) goto lab8;
802                                 if (ret < 0) return ret;
803                             }
804                             {   int ret = slice_del(z);
805                                 if (ret < 0) return ret;
806                             }
807                             goto lab7;
808                         lab8:
809                             z->c = z->l - m6;
810                             {   int ret = slice_from_s(z, 3, s_20);
811                                 if (ret < 0) return ret;
812                             }
813                         }
814                     lab7:
815                         break;
816                     case 2:
817                         {   int m7 = z->l - z->c; (void)m7;
818                             {   int ret = r_R2(z);
819                                 if (ret == 0) goto lab10;
820                                 if (ret < 0) return ret;
821                             }
822                             {   int ret = slice_del(z);
823                                 if (ret < 0) return ret;
824                             }
825                             goto lab9;
826                         lab10:
827                             z->c = z->l - m7;
828                             {   int ret = slice_from_s(z, 3, s_21);
829                                 if (ret < 0) return ret;
830                             }
831                         }
832                     lab9:
833                         break;
834                     case 3:
835                         {   int ret = r_R2(z);
836                             if (ret == 0) { z->c = z->l - m5; goto lab6; }
837                             if (ret < 0) return ret;
838                         }
839                         {   int ret = slice_del(z);
840                             if (ret < 0) return ret;
841                         }
842                         break;
843                 }
844             lab6:
845                 ;
846             }
847             break;
848         case 8:
849             {   int ret = r_R2(z);
850                 if (ret <= 0) return ret;
851             }
852             {   int ret = slice_del(z);
853                 if (ret < 0) return ret;
854             }
855             {   int m8 = z->l - z->c; (void)m8;
856                 z->ket = z->c;
857                 if (!(eq_s_b(z, 2, s_22))) { z->c = z->l - m8; goto lab11; }
858                 z->bra = z->c;
859                 {   int ret = r_R2(z);
860                     if (ret == 0) { z->c = z->l - m8; goto lab11; }
861                     if (ret < 0) return ret;
862                 }
863                 {   int ret = slice_del(z);
864                     if (ret < 0) return ret;
865                 }
866                 z->ket = z->c;
867                 if (!(eq_s_b(z, 2, s_23))) { z->c = z->l - m8; goto lab11; }
868                 z->bra = z->c;
869                 {   int m9 = z->l - z->c; (void)m9;
870                     {   int ret = r_R2(z);
871                         if (ret == 0) goto lab13;
872                         if (ret < 0) return ret;
873                     }
874                     {   int ret = slice_del(z);
875                         if (ret < 0) return ret;
876                     }
877                     goto lab12;
878                 lab13:
879                     z->c = z->l - m9;
880                     {   int ret = slice_from_s(z, 3, s_24);
881                         if (ret < 0) return ret;
882                     }
883                 }
884             lab12:
885             lab11:
886                 ;
887             }
888             break;
889         case 9:
890             {   int ret = slice_from_s(z, 3, s_25);
891                 if (ret < 0) return ret;
892             }
893             break;
894         case 10:
895             {   int ret = r_R1(z);
896                 if (ret <= 0) return ret;
897             }
898             {   int ret = slice_from_s(z, 2, s_26);
899                 if (ret < 0) return ret;
900             }
901             break;
902         case 11:
903             {   int m10 = z->l - z->c; (void)m10;
904                 {   int ret = r_R2(z);
905                     if (ret == 0) goto lab15;
906                     if (ret < 0) return ret;
907                 }
908                 {   int ret = slice_del(z);
909                     if (ret < 0) return ret;
910                 }
911                 goto lab14;
912             lab15:
913                 z->c = z->l - m10;
914                 {   int ret = r_R1(z);
915                     if (ret <= 0) return ret;
916                 }
917                 {   int ret = slice_from_s(z, 3, s_27);
918                     if (ret < 0) return ret;
919                 }
920             }
921         lab14:
922             break;
923         case 12:
924             {   int ret = r_R1(z);
925                 if (ret <= 0) return ret;
926             }
927             if (out_grouping_b(z, g_v, 97, 251, 0)) return 0;
928             {   int ret = slice_del(z);
929                 if (ret < 0) return ret;
930             }
931             break;
932         case 13:
933             {   int ret = r_RV(z);
934                 if (ret <= 0) return ret;
935             }
936             {   int ret = slice_from_s(z, 3, s_28);
937                 if (ret < 0) return ret;
938             }
939             return 0;
940             break;
941         case 14:
942             {   int ret = r_RV(z);
943                 if (ret <= 0) return ret;
944             }
945             {   int ret = slice_from_s(z, 3, s_29);
946                 if (ret < 0) return ret;
947             }
948             return 0;
949             break;
950         case 15:
951             {   int m_test11 = z->l - z->c;
952                 if (in_grouping_b(z, g_v, 97, 251, 0)) return 0;
953                 {   int ret = r_RV(z);
954                     if (ret <= 0) return ret;
955                 }
956                 z->c = z->l - m_test11;
957             }
958             {   int ret = slice_del(z);
959                 if (ret < 0) return ret;
960             }
961             return 0;
962             break;
963     }
964     return 1;
965 }
966 
r_i_verb_suffix(struct SN_env * z)967 static int r_i_verb_suffix(struct SN_env * z) {
968 
969     {   int mlimit1;
970         if (z->c < z->I[2]) return 0;
971         mlimit1 = z->lb; z->lb = z->I[2];
972         z->ket = z->c;
973         if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((68944418 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit1; return 0; }
974         if (!(find_among_b(z, a_5, 35))) { z->lb = mlimit1; return 0; }
975         z->bra = z->c;
976         {   int m2 = z->l - z->c; (void)m2;
977             if (z->c <= z->lb || z->p[z->c - 1] != 'H') goto lab0;
978             z->c--;
979             { z->lb = mlimit1; return 0; }
980         lab0:
981             z->c = z->l - m2;
982         }
983         if (out_grouping_b(z, g_v, 97, 251, 0)) { z->lb = mlimit1; return 0; }
984         {   int ret = slice_del(z);
985             if (ret < 0) return ret;
986         }
987         z->lb = mlimit1;
988     }
989     return 1;
990 }
991 
r_verb_suffix(struct SN_env * z)992 static int r_verb_suffix(struct SN_env * z) {
993     int among_var;
994 
995     {   int mlimit1;
996         if (z->c < z->I[2]) return 0;
997         mlimit1 = z->lb; z->lb = z->I[2];
998         z->ket = z->c;
999         among_var = find_among_b(z, a_6, 38);
1000         if (!(among_var)) { z->lb = mlimit1; return 0; }
1001         z->bra = z->c;
1002         switch (among_var) {
1003             case 1:
1004                 {   int ret = r_R2(z);
1005                     if (ret == 0) { z->lb = mlimit1; return 0; }
1006                     if (ret < 0) return ret;
1007                 }
1008                 {   int ret = slice_del(z);
1009                     if (ret < 0) return ret;
1010                 }
1011                 break;
1012             case 2:
1013                 {   int ret = slice_del(z);
1014                     if (ret < 0) return ret;
1015                 }
1016                 break;
1017             case 3:
1018                 {   int ret = slice_del(z);
1019                     if (ret < 0) return ret;
1020                 }
1021                 {   int m2 = z->l - z->c; (void)m2;
1022                     z->ket = z->c;
1023                     if (z->c <= z->lb || z->p[z->c - 1] != 'e') { z->c = z->l - m2; goto lab0; }
1024                     z->c--;
1025                     z->bra = z->c;
1026                     {   int ret = slice_del(z);
1027                         if (ret < 0) return ret;
1028                     }
1029                 lab0:
1030                     ;
1031                 }
1032                 break;
1033         }
1034         z->lb = mlimit1;
1035     }
1036     return 1;
1037 }
1038 
r_residual_suffix(struct SN_env * z)1039 static int r_residual_suffix(struct SN_env * z) {
1040     int among_var;
1041     {   int m1 = z->l - z->c; (void)m1;
1042         z->ket = z->c;
1043         if (z->c <= z->lb || z->p[z->c - 1] != 's') { z->c = z->l - m1; goto lab0; }
1044         z->c--;
1045         z->bra = z->c;
1046         {   int m_test2 = z->l - z->c;
1047             {   int m3 = z->l - z->c; (void)m3;
1048                 if (!(eq_s_b(z, 2, s_30))) goto lab2;
1049                 goto lab1;
1050             lab2:
1051                 z->c = z->l - m3;
1052                 if (out_grouping_b(z, g_keep_with_s, 97, 232, 0)) { z->c = z->l - m1; goto lab0; }
1053             }
1054         lab1:
1055             z->c = z->l - m_test2;
1056         }
1057         {   int ret = slice_del(z);
1058             if (ret < 0) return ret;
1059         }
1060     lab0:
1061         ;
1062     }
1063 
1064     {   int mlimit4;
1065         if (z->c < z->I[2]) return 0;
1066         mlimit4 = z->lb; z->lb = z->I[2];
1067         z->ket = z->c;
1068         if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((278560 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit4; return 0; }
1069         among_var = find_among_b(z, a_7, 6);
1070         if (!(among_var)) { z->lb = mlimit4; return 0; }
1071         z->bra = z->c;
1072         switch (among_var) {
1073             case 1:
1074                 {   int ret = r_R2(z);
1075                     if (ret == 0) { z->lb = mlimit4; return 0; }
1076                     if (ret < 0) return ret;
1077                 }
1078                 {   int m5 = z->l - z->c; (void)m5;
1079                     if (z->c <= z->lb || z->p[z->c - 1] != 's') goto lab4;
1080                     z->c--;
1081                     goto lab3;
1082                 lab4:
1083                     z->c = z->l - m5;
1084                     if (z->c <= z->lb || z->p[z->c - 1] != 't') { z->lb = mlimit4; return 0; }
1085                     z->c--;
1086                 }
1087             lab3:
1088                 {   int ret = slice_del(z);
1089                     if (ret < 0) return ret;
1090                 }
1091                 break;
1092             case 2:
1093                 {   int ret = slice_from_s(z, 1, s_31);
1094                     if (ret < 0) return ret;
1095                 }
1096                 break;
1097             case 3:
1098                 {   int ret = slice_del(z);
1099                     if (ret < 0) return ret;
1100                 }
1101                 break;
1102         }
1103         z->lb = mlimit4;
1104     }
1105     return 1;
1106 }
1107 
r_un_double(struct SN_env * z)1108 static int r_un_double(struct SN_env * z) {
1109     {   int m_test1 = z->l - z->c;
1110         if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1069056 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
1111         if (!(find_among_b(z, a_8, 5))) return 0;
1112         z->c = z->l - m_test1;
1113     }
1114     z->ket = z->c;
1115     if (z->c <= z->lb) return 0;
1116     z->c--;
1117     z->bra = z->c;
1118     {   int ret = slice_del(z);
1119         if (ret < 0) return ret;
1120     }
1121     return 1;
1122 }
1123 
r_un_accent(struct SN_env * z)1124 static int r_un_accent(struct SN_env * z) {
1125     {   int i = 1;
1126         while(1) {
1127             if (out_grouping_b(z, g_v, 97, 251, 0)) goto lab0;
1128             i--;
1129             continue;
1130         lab0:
1131             break;
1132         }
1133         if (i > 0) return 0;
1134     }
1135     z->ket = z->c;
1136     {   int m1 = z->l - z->c; (void)m1;
1137         if (z->c <= z->lb || z->p[z->c - 1] != 0xE9) goto lab2;
1138         z->c--;
1139         goto lab1;
1140     lab2:
1141         z->c = z->l - m1;
1142         if (z->c <= z->lb || z->p[z->c - 1] != 0xE8) return 0;
1143         z->c--;
1144     }
1145 lab1:
1146     z->bra = z->c;
1147     {   int ret = slice_from_s(z, 1, s_32);
1148         if (ret < 0) return ret;
1149     }
1150     return 1;
1151 }
1152 
french_ISO_8859_1_stem(struct SN_env * z)1153 extern int french_ISO_8859_1_stem(struct SN_env * z) {
1154     {   int c1 = z->c;
1155         {   int ret = r_prelude(z);
1156             if (ret < 0) return ret;
1157         }
1158         z->c = c1;
1159     }
1160 
1161     {   int ret = r_mark_regions(z);
1162         if (ret < 0) return ret;
1163     }
1164     z->lb = z->c; z->c = z->l;
1165 
1166     {   int m2 = z->l - z->c; (void)m2;
1167         {   int m3 = z->l - z->c; (void)m3;
1168             {   int m4 = z->l - z->c; (void)m4;
1169                 {   int m5 = z->l - z->c; (void)m5;
1170                     {   int ret = r_standard_suffix(z);
1171                         if (ret == 0) goto lab4;
1172                         if (ret < 0) return ret;
1173                     }
1174                     goto lab3;
1175                 lab4:
1176                     z->c = z->l - m5;
1177                     {   int ret = r_i_verb_suffix(z);
1178                         if (ret == 0) goto lab5;
1179                         if (ret < 0) return ret;
1180                     }
1181                     goto lab3;
1182                 lab5:
1183                     z->c = z->l - m5;
1184                     {   int ret = r_verb_suffix(z);
1185                         if (ret == 0) goto lab2;
1186                         if (ret < 0) return ret;
1187                     }
1188                 }
1189             lab3:
1190                 z->c = z->l - m4;
1191                 {   int m6 = z->l - z->c; (void)m6;
1192                     z->ket = z->c;
1193                     {   int m7 = z->l - z->c; (void)m7;
1194                         if (z->c <= z->lb || z->p[z->c - 1] != 'Y') goto lab8;
1195                         z->c--;
1196                         z->bra = z->c;
1197                         {   int ret = slice_from_s(z, 1, s_33);
1198                             if (ret < 0) return ret;
1199                         }
1200                         goto lab7;
1201                     lab8:
1202                         z->c = z->l - m7;
1203                         if (z->c <= z->lb || z->p[z->c - 1] != 0xE7) { z->c = z->l - m6; goto lab6; }
1204                         z->c--;
1205                         z->bra = z->c;
1206                         {   int ret = slice_from_s(z, 1, s_34);
1207                             if (ret < 0) return ret;
1208                         }
1209                     }
1210                 lab7:
1211                 lab6:
1212                     ;
1213                 }
1214             }
1215             goto lab1;
1216         lab2:
1217             z->c = z->l - m3;
1218             {   int ret = r_residual_suffix(z);
1219                 if (ret == 0) goto lab0;
1220                 if (ret < 0) return ret;
1221             }
1222         }
1223     lab1:
1224     lab0:
1225         z->c = z->l - m2;
1226     }
1227     {   int m8 = z->l - z->c; (void)m8;
1228         {   int ret = r_un_double(z);
1229             if (ret < 0) return ret;
1230         }
1231         z->c = z->l - m8;
1232     }
1233     {   int m9 = z->l - z->c; (void)m9;
1234         {   int ret = r_un_accent(z);
1235             if (ret < 0) return ret;
1236         }
1237         z->c = z->l - m9;
1238     }
1239     z->c = z->lb;
1240     {   int c10 = z->c;
1241         {   int ret = r_postlude(z);
1242             if (ret < 0) return ret;
1243         }
1244         z->c = c10;
1245     }
1246     return 1;
1247 }
1248 
french_ISO_8859_1_create_env(void)1249 extern struct SN_env * french_ISO_8859_1_create_env(void) { return SN_create_env(0, 3); }
1250 
french_ISO_8859_1_close_env(struct SN_env * z)1251 extern void french_ISO_8859_1_close_env(struct SN_env * z) { SN_close_env(z, 0); }
1252 
1253