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