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