PostgreSQL Source Code  git master
stem_ISO_8859_1_french.c
Go to the documentation of this file.
1 /* Generated by Snowball 2.2.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 
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 
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 
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 
622 static int r_RV(struct SN_env * z) {
623  if (!(z->I[2] <= z->c)) return 0;
624  return 1;
625 }
626 
627 static int r_R1(struct SN_env * z) {
628  if (!(z->I[1] <= z->c)) return 0;
629  return 1;
630 }
631 
632 static int r_R2(struct SN_env * z) {
633  if (!(z->I[0] <= z->c)) return 0;
634  return 1;
635 }
636 
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 
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 
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 
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 
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 
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 
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 
1249 extern struct SN_env * french_ISO_8859_1_create_env(void) { return SN_create_env(0, 3); }
1250 
1251 extern void french_ISO_8859_1_close_env(struct SN_env * z) { SN_close_env(z, 0); }
1252 
struct SN_env * SN_create_env(int S_size, int I_size)
Definition: api.c:3
void SN_close_env(struct SN_env *z, int S_size)
Definition: api.c:34
unsigned char symbol
Definition: api.h:2
int i
Definition: isn.c:73
static const symbol s_4_27[6]
static const symbol s_25[]
static const symbol s_2[]
static const symbol s_5_7[4]
static const symbol s_4_30[5]
static const symbol s_6_18[6]
static const symbol s_5_30[2]
static const symbol s_0_2[3]
static const symbol s_5_23[6]
static const symbol s_4_13[5]
static const symbol s_5_14[5]
static const symbol s_5_27[5]
static const symbol s_4_7[4]
static const symbol s_6_21[4]
static const symbol s_4_36[8]
static int r_un_accent(struct SN_env *z)
static const symbol s_6_24[5]
static const symbol s_2_5[2]
static const symbol s_4[]
static const symbol s_4_28[6]
static const symbol s_5_16[6]
static const struct among a_8[5]
static const symbol s_4_6[4]
static const symbol s_4_37[6]
static const symbol s_5_31[5]
static const symbol s_6_23[3]
static const symbol s_30[]
static const symbol s_5_13[2]
static const symbol s_4_32[9]
static const symbol s_5_3[7]
static const symbol s_1_2[2]
static const symbol s_5_33[4]
struct SN_env * french_ISO_8859_1_create_env(void)
static const symbol s_4_3[4]
void french_ISO_8859_1_close_env(struct SN_env *z)
static const symbol s_6_34[5]
static const symbol s_6_1[3]
int french_ISO_8859_1_stem(struct SN_env *z)
static int r_standard_suffix(struct SN_env *z)
static const struct among a_1[7]
static const symbol s_6_20[5]
static const symbol s_4_2[4]
static const symbol s_29[]
static const symbol s_2_3[3]
static const struct among a_2[6]
static const symbol s_4_20[5]
static const symbol s_6_15[3]
static const symbol s_6_36[4]
static int r_un_double(struct SN_env *z)
static const symbol s_4_39[3]
static const symbol s_6_5[2]
static const struct among a_7[6]
static const symbol s_27[]
static const symbol s_4_9[3]
static const symbol s_5_6[2]
static const symbol s_1_3[2]
static const struct among a_0[3]
static const symbol s_2_1[3]
static const symbol s_5_24[6]
static const symbol s_5_10[5]
static const symbol s_4_40[4]
static const symbol s_6[]
static int r_verb_suffix(struct SN_env *z)
static const symbol s_6_37[1]
static const symbol s_4_21[5]
static const symbol s_7_1[4]
static const symbol s_6_8[2]
static const symbol s_21[]
static const symbol s_1_4[1]
static const symbol s_3[]
static const symbol s_6_6[4]
static const symbol s_4_29[6]
static const symbol s_3_0[2]
static const symbol s_5_22[5]
static const symbol s_6_32[2]
static const symbol s_6_3[4]
static const symbol s_5_25[7]
static const symbol s_4_15[5]
static const symbol s_6_35[6]
static const symbol s_4_12[5]
static const symbol s_5_11[8]
static const symbol s_5_4[1]
static const symbol s_4_24[4]
static const symbol s_6_2[4]
static const struct among a_3[3]
static const symbol s_5_26[8]
static const symbol s_4_22[5]
static int r_i_verb_suffix(struct SN_env *z)
static int r_R2(struct SN_env *z)
static const symbol s_4_1[6]
static const symbol s_5_0[3]
static const symbol s_6_4[2]
static const symbol s_7[]
static const symbol s_8_0[3]
static const symbol s_32[]
static const symbol s_5_34[5]
static const symbol s_13[]
static const struct among a_4[43]
static const symbol s_6_14[3]
static const symbol s_8_2[3]
static const symbol s_7_5[3]
static const symbol s_6_30[5]
static const symbol s_5_18[5]
static const symbol s_4_35[5]
static const symbol s_0_0[3]
static const symbol s_20[]
static const struct among a_5[35]
static const symbol s_5_21[2]
static const symbol s_6_12[5]
static const symbol s_6_31[2]
static const symbol s_4_18[5]
static const symbol s_1_5[1]
static int r_RV(struct SN_env *z)
static const symbol s_1_6[1]
static const symbol s_4_11[5]
static const symbol s_19[]
static const symbol s_23[]
static const symbol s_4_33[4]
static const symbol s_6_19[7]
static const symbol s_24[]
static const symbol s_4_17[5]
static const symbol s_4_19[6]
static const symbol s_4_42[3]
static const symbol s_0_1[3]
static const symbol s_2_0[3]
static const symbol s_4_14[5]
static const symbol s_6_22[2]
static const symbol s_4_31[6]
static const symbol s_2_4[3]
static int r_R1(struct SN_env *z)
static const symbol s_7_2[4]
static const symbol s_16[]
static int r_postlude(struct SN_env *z)
static const symbol s_14[]
static const symbol s_4_0[4]
static const symbol s_6_28[5]
static const symbol s_22[]
static const symbol s_5_15[6]
static int r_prelude(struct SN_env *z)
static const symbol s_6_9[4]
static const symbol s_6_10[4]
static const symbol s_6_17[4]
static const symbol s_10[]
static const symbol s_1_1[1]
static const symbol s_5_12[4]
static const symbol s_6_16[5]
static const symbol s_5_2[4]
static const symbol s_1[]
static const symbol s_5_5[4]
static const symbol s_6_11[5]
static const symbol s_4_5[4]
static const symbol s_6_7[2]
static const symbol s_4_16[7]
static const unsigned char g_keep_with_s[]
static const symbol s_3_1[4]
static const symbol s_31[]
static const symbol s_8_4[3]
static const symbol s_6_25[3]
static const symbol s_2_2[3]
static int r_mark_regions(struct SN_env *z)
static const symbol s_7_3[3]
static const struct among a_6[38]
static const symbol s_6_13[4]
static const symbol s_6_33[3]
static const symbol s_11[]
static const symbol s_12[]
static const symbol s_5_19[6]
static const symbol s_6_0[1]
static const symbol s_5_8[3]
static const symbol s_4_10[2]
static const symbol s_7_4[3]
static const symbol s_6_29[6]
static const symbol s_33[]
static const symbol s_7_0[1]
static const symbol s_4_8[4]
static const symbol s_5_1[2]
static const symbol s_6_27[7]
static const symbol s_5_20[7]
static const symbol s_4_34[4]
static const symbol s_18[]
static const symbol s_17[]
static const symbol s_5_32[6]
static const symbol s_8_1[4]
static const symbol s_6_26[5]
static const symbol s_4_41[3]
static const symbol s_5_17[7]
static const symbol s_28[]
static const symbol s_4_4[5]
static const unsigned char g_v[]
static const symbol s_5_29[5]
static int r_residual_suffix(struct SN_env *z)
static const symbol s_8[]
static const symbol s_9[]
static const symbol s_5_28[6]
static const symbol s_4_26[6]
static const symbol s_3_2[2]
static const symbol s_5[]
static const symbol s_5_9[4]
static const symbol s_15[]
static const symbol s_8_3[3]
static const symbol s_4_25[3]
static const symbol s_26[]
static const symbol s_4_38[6]
static const symbol s_0[]
static const symbol s_4_23[5]
static const symbol s_34[]
Definition: api.h:14
int lb
Definition: api.h:16
symbol * p
Definition: api.h:15
int * I
Definition: api.h:18
int ket
Definition: api.h:16
int c
Definition: api.h:16
int bra
Definition: api.h:16
int l
Definition: api.h:16
Definition: header.h:16
int find_among_b(struct SN_env *z, const struct among *v, int v_size)
Definition: utilities.c:298
int slice_del(struct SN_env *z)
Definition: utilities.c:431
int in_grouping(struct SN_env *z, const unsigned char *s, int min, int max, int repeat)
Definition: utilities.c:167
int out_grouping_b(struct SN_env *z, const unsigned char *s, int min, int max, int repeat)
Definition: utilities.c:203
int eq_s_b(struct SN_env *z, int s_size, const symbol *s)
Definition: utilities.c:220
int out_grouping(struct SN_env *z, const unsigned char *s, int min, int max, int repeat)
Definition: utilities.c:191
int find_among(struct SN_env *z, const struct among *v, int v_size)
Definition: utilities.c:233
int slice_from_s(struct SN_env *z, int s_size, const symbol *s)
Definition: utilities.c:422
int in_grouping_b(struct SN_env *z, const unsigned char *s, int min, int max, int repeat)
Definition: utilities.c:179