2 /* This file was generated automatically by the Snowball to ANSI C compiler */
4 #include "../runtime/header.h"
9 extern int french_UTF_8_stem(struct SN_env
* z
);
13 static int r_un_accent(struct SN_env
* z
);
14 static int r_un_double(struct SN_env
* z
);
15 static int r_residual_suffix(struct SN_env
* z
);
16 static int r_verb_suffix(struct SN_env
* z
);
17 static int r_i_verb_suffix(struct SN_env
* z
);
18 static int r_standard_suffix(struct SN_env
* z
);
19 static int r_R2(struct SN_env
* z
);
20 static int r_R1(struct SN_env
* z
);
21 static int r_RV(struct SN_env
* z
);
22 static int r_mark_regions(struct SN_env
* z
);
23 static int r_postlude(struct SN_env
* z
);
24 static int r_prelude(struct SN_env
* z
);
30 extern struct SN_env
* french_UTF_8_create_env(void);
31 extern void french_UTF_8_close_env(struct SN_env
* z
);
37 static const symbol s_0_0
[3] = { 'c', 'o', 'l' };
38 static const symbol s_0_1
[3] = { 'p', 'a', 'r' };
39 static const symbol s_0_2
[3] = { 't', 'a', 'p' };
41 static const struct among a_0
[3] =
43 /* 0 */ { 3, s_0_0
, -1, -1, 0},
44 /* 1 */ { 3, s_0_1
, -1, -1, 0},
45 /* 2 */ { 3, s_0_2
, -1, -1, 0}
48 static const symbol s_1_1
[1] = { 'I' };
49 static const symbol s_1_2
[1] = { 'U' };
50 static const symbol s_1_3
[1] = { 'Y' };
52 static const struct among a_1
[4] =
54 /* 0 */ { 0, 0, -1, 4, 0},
55 /* 1 */ { 1, s_1_1
, 0, 1, 0},
56 /* 2 */ { 1, s_1_2
, 0, 2, 0},
57 /* 3 */ { 1, s_1_3
, 0, 3, 0}
60 static const symbol s_2_0
[3] = { 'i', 'q', 'U' };
61 static const symbol s_2_1
[3] = { 'a', 'b', 'l' };
62 static const symbol s_2_2
[4] = { 'I', 0xC3, 0xA8, 'r' };
63 static const symbol s_2_3
[4] = { 'i', 0xC3, 0xA8, 'r' };
64 static const symbol s_2_4
[3] = { 'e', 'u', 's' };
65 static const symbol s_2_5
[2] = { 'i', 'v' };
67 static const struct among a_2
[6] =
69 /* 0 */ { 3, s_2_0
, -1, 3, 0},
70 /* 1 */ { 3, s_2_1
, -1, 3, 0},
71 /* 2 */ { 4, s_2_2
, -1, 4, 0},
72 /* 3 */ { 4, s_2_3
, -1, 4, 0},
73 /* 4 */ { 3, s_2_4
, -1, 2, 0},
74 /* 5 */ { 2, s_2_5
, -1, 1, 0}
77 static const symbol s_3_0
[2] = { 'i', 'c' };
78 static const symbol s_3_1
[4] = { 'a', 'b', 'i', 'l' };
79 static const symbol s_3_2
[2] = { 'i', 'v' };
81 static const struct among a_3
[3] =
83 /* 0 */ { 2, s_3_0
, -1, 2, 0},
84 /* 1 */ { 4, s_3_1
, -1, 1, 0},
85 /* 2 */ { 2, s_3_2
, -1, 3, 0}
88 static const symbol s_4_0
[4] = { 'i', 'q', 'U', 'e' };
89 static const symbol s_4_1
[6] = { 'a', 't', 'r', 'i', 'c', 'e' };
90 static const symbol s_4_2
[4] = { 'a', 'n', 'c', 'e' };
91 static const symbol s_4_3
[4] = { 'e', 'n', 'c', 'e' };
92 static const symbol s_4_4
[5] = { 'l', 'o', 'g', 'i', 'e' };
93 static const symbol s_4_5
[4] = { 'a', 'b', 'l', 'e' };
94 static const symbol s_4_6
[4] = { 'i', 's', 'm', 'e' };
95 static const symbol s_4_7
[4] = { 'e', 'u', 's', 'e' };
96 static const symbol s_4_8
[4] = { 'i', 's', 't', 'e' };
97 static const symbol s_4_9
[3] = { 'i', 'v', 'e' };
98 static const symbol s_4_10
[2] = { 'i', 'f' };
99 static const symbol s_4_11
[5] = { 'u', 's', 'i', 'o', 'n' };
100 static const symbol s_4_12
[5] = { 'a', 't', 'i', 'o', 'n' };
101 static const symbol s_4_13
[5] = { 'u', 't', 'i', 'o', 'n' };
102 static const symbol s_4_14
[5] = { 'a', 't', 'e', 'u', 'r' };
103 static const symbol s_4_15
[5] = { 'i', 'q', 'U', 'e', 's' };
104 static const symbol s_4_16
[7] = { 'a', 't', 'r', 'i', 'c', 'e', 's' };
105 static const symbol s_4_17
[5] = { 'a', 'n', 'c', 'e', 's' };
106 static const symbol s_4_18
[5] = { 'e', 'n', 'c', 'e', 's' };
107 static const symbol s_4_19
[6] = { 'l', 'o', 'g', 'i', 'e', 's' };
108 static const symbol s_4_20
[5] = { 'a', 'b', 'l', 'e', 's' };
109 static const symbol s_4_21
[5] = { 'i', 's', 'm', 'e', 's' };
110 static const symbol s_4_22
[5] = { 'e', 'u', 's', 'e', 's' };
111 static const symbol s_4_23
[5] = { 'i', 's', 't', 'e', 's' };
112 static const symbol s_4_24
[4] = { 'i', 'v', 'e', 's' };
113 static const symbol s_4_25
[3] = { 'i', 'f', 's' };
114 static const symbol s_4_26
[6] = { 'u', 's', 'i', 'o', 'n', 's' };
115 static const symbol s_4_27
[6] = { 'a', 't', 'i', 'o', 'n', 's' };
116 static const symbol s_4_28
[6] = { 'u', 't', 'i', 'o', 'n', 's' };
117 static const symbol s_4_29
[6] = { 'a', 't', 'e', 'u', 'r', 's' };
118 static const symbol s_4_30
[5] = { 'm', 'e', 'n', 't', 's' };
119 static const symbol s_4_31
[6] = { 'e', 'm', 'e', 'n', 't', 's' };
120 static const symbol s_4_32
[9] = { 'i', 's', 's', 'e', 'm', 'e', 'n', 't', 's' };
121 static const symbol s_4_33
[5] = { 'i', 't', 0xC3, 0xA9, 's' };
122 static const symbol s_4_34
[4] = { 'm', 'e', 'n', 't' };
123 static const symbol s_4_35
[5] = { 'e', 'm', 'e', 'n', 't' };
124 static const symbol s_4_36
[8] = { 'i', 's', 's', 'e', 'm', 'e', 'n', 't' };
125 static const symbol s_4_37
[6] = { 'a', 'm', 'm', 'e', 'n', 't' };
126 static const symbol s_4_38
[6] = { 'e', 'm', 'm', 'e', 'n', 't' };
127 static const symbol s_4_39
[3] = { 'a', 'u', 'x' };
128 static const symbol s_4_40
[4] = { 'e', 'a', 'u', 'x' };
129 static const symbol s_4_41
[3] = { 'e', 'u', 'x' };
130 static const symbol s_4_42
[4] = { 'i', 't', 0xC3, 0xA9 };
132 static const struct among a_4
[43] =
134 /* 0 */ { 4, s_4_0
, -1, 1, 0},
135 /* 1 */ { 6, s_4_1
, -1, 2, 0},
136 /* 2 */ { 4, s_4_2
, -1, 1, 0},
137 /* 3 */ { 4, s_4_3
, -1, 5, 0},
138 /* 4 */ { 5, s_4_4
, -1, 3, 0},
139 /* 5 */ { 4, s_4_5
, -1, 1, 0},
140 /* 6 */ { 4, s_4_6
, -1, 1, 0},
141 /* 7 */ { 4, s_4_7
, -1, 11, 0},
142 /* 8 */ { 4, s_4_8
, -1, 1, 0},
143 /* 9 */ { 3, s_4_9
, -1, 8, 0},
144 /* 10 */ { 2, s_4_10
, -1, 8, 0},
145 /* 11 */ { 5, s_4_11
, -1, 4, 0},
146 /* 12 */ { 5, s_4_12
, -1, 2, 0},
147 /* 13 */ { 5, s_4_13
, -1, 4, 0},
148 /* 14 */ { 5, s_4_14
, -1, 2, 0},
149 /* 15 */ { 5, s_4_15
, -1, 1, 0},
150 /* 16 */ { 7, s_4_16
, -1, 2, 0},
151 /* 17 */ { 5, s_4_17
, -1, 1, 0},
152 /* 18 */ { 5, s_4_18
, -1, 5, 0},
153 /* 19 */ { 6, s_4_19
, -1, 3, 0},
154 /* 20 */ { 5, s_4_20
, -1, 1, 0},
155 /* 21 */ { 5, s_4_21
, -1, 1, 0},
156 /* 22 */ { 5, s_4_22
, -1, 11, 0},
157 /* 23 */ { 5, s_4_23
, -1, 1, 0},
158 /* 24 */ { 4, s_4_24
, -1, 8, 0},
159 /* 25 */ { 3, s_4_25
, -1, 8, 0},
160 /* 26 */ { 6, s_4_26
, -1, 4, 0},
161 /* 27 */ { 6, s_4_27
, -1, 2, 0},
162 /* 28 */ { 6, s_4_28
, -1, 4, 0},
163 /* 29 */ { 6, s_4_29
, -1, 2, 0},
164 /* 30 */ { 5, s_4_30
, -1, 15, 0},
165 /* 31 */ { 6, s_4_31
, 30, 6, 0},
166 /* 32 */ { 9, s_4_32
, 31, 12, 0},
167 /* 33 */ { 5, s_4_33
, -1, 7, 0},
168 /* 34 */ { 4, s_4_34
, -1, 15, 0},
169 /* 35 */ { 5, s_4_35
, 34, 6, 0},
170 /* 36 */ { 8, s_4_36
, 35, 12, 0},
171 /* 37 */ { 6, s_4_37
, 34, 13, 0},
172 /* 38 */ { 6, s_4_38
, 34, 14, 0},
173 /* 39 */ { 3, s_4_39
, -1, 10, 0},
174 /* 40 */ { 4, s_4_40
, 39, 9, 0},
175 /* 41 */ { 3, s_4_41
, -1, 1, 0},
176 /* 42 */ { 4, s_4_42
, -1, 7, 0}
179 static const symbol s_5_0
[3] = { 'i', 'r', 'a' };
180 static const symbol s_5_1
[2] = { 'i', 'e' };
181 static const symbol s_5_2
[4] = { 'i', 's', 's', 'e' };
182 static const symbol s_5_3
[7] = { 'i', 's', 's', 'a', 'n', 't', 'e' };
183 static const symbol s_5_4
[1] = { 'i' };
184 static const symbol s_5_5
[4] = { 'i', 'r', 'a', 'i' };
185 static const symbol s_5_6
[2] = { 'i', 'r' };
186 static const symbol s_5_7
[4] = { 'i', 'r', 'a', 's' };
187 static const symbol s_5_8
[3] = { 'i', 'e', 's' };
188 static const symbol s_5_9
[5] = { 0xC3, 0xAE, 'm', 'e', 's' };
189 static const symbol s_5_10
[5] = { 'i', 's', 's', 'e', 's' };
190 static const symbol s_5_11
[8] = { 'i', 's', 's', 'a', 'n', 't', 'e', 's' };
191 static const symbol s_5_12
[5] = { 0xC3, 0xAE, 't', 'e', 's' };
192 static const symbol s_5_13
[2] = { 'i', 's' };
193 static const symbol s_5_14
[5] = { 'i', 'r', 'a', 'i', 's' };
194 static const symbol s_5_15
[6] = { 'i', 's', 's', 'a', 'i', 's' };
195 static const symbol s_5_16
[6] = { 'i', 'r', 'i', 'o', 'n', 's' };
196 static const symbol s_5_17
[7] = { 'i', 's', 's', 'i', 'o', 'n', 's' };
197 static const symbol s_5_18
[5] = { 'i', 'r', 'o', 'n', 's' };
198 static const symbol s_5_19
[6] = { 'i', 's', 's', 'o', 'n', 's' };
199 static const symbol s_5_20
[7] = { 'i', 's', 's', 'a', 'n', 't', 's' };
200 static const symbol s_5_21
[2] = { 'i', 't' };
201 static const symbol s_5_22
[5] = { 'i', 'r', 'a', 'i', 't' };
202 static const symbol s_5_23
[6] = { 'i', 's', 's', 'a', 'i', 't' };
203 static const symbol s_5_24
[6] = { 'i', 's', 's', 'a', 'n', 't' };
204 static const symbol s_5_25
[7] = { 'i', 'r', 'a', 'I', 'e', 'n', 't' };
205 static const symbol s_5_26
[8] = { 'i', 's', 's', 'a', 'I', 'e', 'n', 't' };
206 static const symbol s_5_27
[5] = { 'i', 'r', 'e', 'n', 't' };
207 static const symbol s_5_28
[6] = { 'i', 's', 's', 'e', 'n', 't' };
208 static const symbol s_5_29
[5] = { 'i', 'r', 'o', 'n', 't' };
209 static const symbol s_5_30
[3] = { 0xC3, 0xAE, 't' };
210 static const symbol s_5_31
[5] = { 'i', 'r', 'i', 'e', 'z' };
211 static const symbol s_5_32
[6] = { 'i', 's', 's', 'i', 'e', 'z' };
212 static const symbol s_5_33
[4] = { 'i', 'r', 'e', 'z' };
213 static const symbol s_5_34
[5] = { 'i', 's', 's', 'e', 'z' };
215 static const struct among a_5
[35] =
217 /* 0 */ { 3, s_5_0
, -1, 1, 0},
218 /* 1 */ { 2, s_5_1
, -1, 1, 0},
219 /* 2 */ { 4, s_5_2
, -1, 1, 0},
220 /* 3 */ { 7, s_5_3
, -1, 1, 0},
221 /* 4 */ { 1, s_5_4
, -1, 1, 0},
222 /* 5 */ { 4, s_5_5
, 4, 1, 0},
223 /* 6 */ { 2, s_5_6
, -1, 1, 0},
224 /* 7 */ { 4, s_5_7
, -1, 1, 0},
225 /* 8 */ { 3, s_5_8
, -1, 1, 0},
226 /* 9 */ { 5, s_5_9
, -1, 1, 0},
227 /* 10 */ { 5, s_5_10
, -1, 1, 0},
228 /* 11 */ { 8, s_5_11
, -1, 1, 0},
229 /* 12 */ { 5, s_5_12
, -1, 1, 0},
230 /* 13 */ { 2, s_5_13
, -1, 1, 0},
231 /* 14 */ { 5, s_5_14
, 13, 1, 0},
232 /* 15 */ { 6, s_5_15
, 13, 1, 0},
233 /* 16 */ { 6, s_5_16
, -1, 1, 0},
234 /* 17 */ { 7, s_5_17
, -1, 1, 0},
235 /* 18 */ { 5, s_5_18
, -1, 1, 0},
236 /* 19 */ { 6, s_5_19
, -1, 1, 0},
237 /* 20 */ { 7, s_5_20
, -1, 1, 0},
238 /* 21 */ { 2, s_5_21
, -1, 1, 0},
239 /* 22 */ { 5, s_5_22
, 21, 1, 0},
240 /* 23 */ { 6, s_5_23
, 21, 1, 0},
241 /* 24 */ { 6, s_5_24
, -1, 1, 0},
242 /* 25 */ { 7, s_5_25
, -1, 1, 0},
243 /* 26 */ { 8, s_5_26
, -1, 1, 0},
244 /* 27 */ { 5, s_5_27
, -1, 1, 0},
245 /* 28 */ { 6, s_5_28
, -1, 1, 0},
246 /* 29 */ { 5, s_5_29
, -1, 1, 0},
247 /* 30 */ { 3, s_5_30
, -1, 1, 0},
248 /* 31 */ { 5, s_5_31
, -1, 1, 0},
249 /* 32 */ { 6, s_5_32
, -1, 1, 0},
250 /* 33 */ { 4, s_5_33
, -1, 1, 0},
251 /* 34 */ { 5, s_5_34
, -1, 1, 0}
254 static const symbol s_6_0
[1] = { 'a' };
255 static const symbol s_6_1
[3] = { 'e', 'r', 'a' };
256 static const symbol s_6_2
[4] = { 'a', 's', 's', 'e' };
257 static const symbol s_6_3
[4] = { 'a', 'n', 't', 'e' };
258 static const symbol s_6_4
[3] = { 0xC3, 0xA9, 'e' };
259 static const symbol s_6_5
[2] = { 'a', 'i' };
260 static const symbol s_6_6
[4] = { 'e', 'r', 'a', 'i' };
261 static const symbol s_6_7
[2] = { 'e', 'r' };
262 static const symbol s_6_8
[2] = { 'a', 's' };
263 static const symbol s_6_9
[4] = { 'e', 'r', 'a', 's' };
264 static const symbol s_6_10
[5] = { 0xC3, 0xA2, 'm', 'e', 's' };
265 static const symbol s_6_11
[5] = { 'a', 's', 's', 'e', 's' };
266 static const symbol s_6_12
[5] = { 'a', 'n', 't', 'e', 's' };
267 static const symbol s_6_13
[5] = { 0xC3, 0xA2, 't', 'e', 's' };
268 static const symbol s_6_14
[4] = { 0xC3, 0xA9, 'e', 's' };
269 static const symbol s_6_15
[3] = { 'a', 'i', 's' };
270 static const symbol s_6_16
[5] = { 'e', 'r', 'a', 'i', 's' };
271 static const symbol s_6_17
[4] = { 'i', 'o', 'n', 's' };
272 static const symbol s_6_18
[6] = { 'e', 'r', 'i', 'o', 'n', 's' };
273 static const symbol s_6_19
[7] = { 'a', 's', 's', 'i', 'o', 'n', 's' };
274 static const symbol s_6_20
[5] = { 'e', 'r', 'o', 'n', 's' };
275 static const symbol s_6_21
[4] = { 'a', 'n', 't', 's' };
276 static const symbol s_6_22
[3] = { 0xC3, 0xA9, 's' };
277 static const symbol s_6_23
[3] = { 'a', 'i', 't' };
278 static const symbol s_6_24
[5] = { 'e', 'r', 'a', 'i', 't' };
279 static const symbol s_6_25
[3] = { 'a', 'n', 't' };
280 static const symbol s_6_26
[5] = { 'a', 'I', 'e', 'n', 't' };
281 static const symbol s_6_27
[7] = { 'e', 'r', 'a', 'I', 'e', 'n', 't' };
282 static const symbol s_6_28
[6] = { 0xC3, 0xA8, 'r', 'e', 'n', 't' };
283 static const symbol s_6_29
[6] = { 'a', 's', 's', 'e', 'n', 't' };
284 static const symbol s_6_30
[5] = { 'e', 'r', 'o', 'n', 't' };
285 static const symbol s_6_31
[3] = { 0xC3, 0xA2, 't' };
286 static const symbol s_6_32
[2] = { 'e', 'z' };
287 static const symbol s_6_33
[3] = { 'i', 'e', 'z' };
288 static const symbol s_6_34
[5] = { 'e', 'r', 'i', 'e', 'z' };
289 static const symbol s_6_35
[6] = { 'a', 's', 's', 'i', 'e', 'z' };
290 static const symbol s_6_36
[4] = { 'e', 'r', 'e', 'z' };
291 static const symbol s_6_37
[2] = { 0xC3, 0xA9 };
293 static const struct among a_6
[38] =
295 /* 0 */ { 1, s_6_0
, -1, 3, 0},
296 /* 1 */ { 3, s_6_1
, 0, 2, 0},
297 /* 2 */ { 4, s_6_2
, -1, 3, 0},
298 /* 3 */ { 4, s_6_3
, -1, 3, 0},
299 /* 4 */ { 3, s_6_4
, -1, 2, 0},
300 /* 5 */ { 2, s_6_5
, -1, 3, 0},
301 /* 6 */ { 4, s_6_6
, 5, 2, 0},
302 /* 7 */ { 2, s_6_7
, -1, 2, 0},
303 /* 8 */ { 2, s_6_8
, -1, 3, 0},
304 /* 9 */ { 4, s_6_9
, 8, 2, 0},
305 /* 10 */ { 5, s_6_10
, -1, 3, 0},
306 /* 11 */ { 5, s_6_11
, -1, 3, 0},
307 /* 12 */ { 5, s_6_12
, -1, 3, 0},
308 /* 13 */ { 5, s_6_13
, -1, 3, 0},
309 /* 14 */ { 4, s_6_14
, -1, 2, 0},
310 /* 15 */ { 3, s_6_15
, -1, 3, 0},
311 /* 16 */ { 5, s_6_16
, 15, 2, 0},
312 /* 17 */ { 4, s_6_17
, -1, 1, 0},
313 /* 18 */ { 6, s_6_18
, 17, 2, 0},
314 /* 19 */ { 7, s_6_19
, 17, 3, 0},
315 /* 20 */ { 5, s_6_20
, -1, 2, 0},
316 /* 21 */ { 4, s_6_21
, -1, 3, 0},
317 /* 22 */ { 3, s_6_22
, -1, 2, 0},
318 /* 23 */ { 3, s_6_23
, -1, 3, 0},
319 /* 24 */ { 5, s_6_24
, 23, 2, 0},
320 /* 25 */ { 3, s_6_25
, -1, 3, 0},
321 /* 26 */ { 5, s_6_26
, -1, 3, 0},
322 /* 27 */ { 7, s_6_27
, 26, 2, 0},
323 /* 28 */ { 6, s_6_28
, -1, 2, 0},
324 /* 29 */ { 6, s_6_29
, -1, 3, 0},
325 /* 30 */ { 5, s_6_30
, -1, 2, 0},
326 /* 31 */ { 3, s_6_31
, -1, 3, 0},
327 /* 32 */ { 2, s_6_32
, -1, 2, 0},
328 /* 33 */ { 3, s_6_33
, 32, 2, 0},
329 /* 34 */ { 5, s_6_34
, 33, 2, 0},
330 /* 35 */ { 6, s_6_35
, 33, 3, 0},
331 /* 36 */ { 4, s_6_36
, 32, 2, 0},
332 /* 37 */ { 2, s_6_37
, -1, 2, 0}
335 static const symbol s_7_0
[1] = { 'e' };
336 static const symbol s_7_1
[5] = { 'I', 0xC3, 0xA8, 'r', 'e' };
337 static const symbol s_7_2
[5] = { 'i', 0xC3, 0xA8, 'r', 'e' };
338 static const symbol s_7_3
[3] = { 'i', 'o', 'n' };
339 static const symbol s_7_4
[3] = { 'I', 'e', 'r' };
340 static const symbol s_7_5
[3] = { 'i', 'e', 'r' };
341 static const symbol s_7_6
[2] = { 0xC3, 0xAB };
343 static const struct among a_7
[7] =
345 /* 0 */ { 1, s_7_0
, -1, 3, 0},
346 /* 1 */ { 5, s_7_1
, 0, 2, 0},
347 /* 2 */ { 5, s_7_2
, 0, 2, 0},
348 /* 3 */ { 3, s_7_3
, -1, 1, 0},
349 /* 4 */ { 3, s_7_4
, -1, 2, 0},
350 /* 5 */ { 3, s_7_5
, -1, 2, 0},
351 /* 6 */ { 2, s_7_6
, -1, 4, 0}
354 static const symbol s_8_0
[3] = { 'e', 'l', 'l' };
355 static const symbol s_8_1
[4] = { 'e', 'i', 'l', 'l' };
356 static const symbol s_8_2
[3] = { 'e', 'n', 'n' };
357 static const symbol s_8_3
[3] = { 'o', 'n', 'n' };
358 static const symbol s_8_4
[3] = { 'e', 't', 't' };
360 static const struct among a_8
[5] =
362 /* 0 */ { 3, s_8_0
, -1, -1, 0},
363 /* 1 */ { 4, s_8_1
, -1, -1, 0},
364 /* 2 */ { 3, s_8_2
, -1, -1, 0},
365 /* 3 */ { 3, s_8_3
, -1, -1, 0},
366 /* 4 */ { 3, s_8_4
, -1, -1, 0}
369 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 };
371 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 };
373 static const symbol s_0
[] = { 'u' };
374 static const symbol s_1
[] = { 'U' };
375 static const symbol s_2
[] = { 'i' };
376 static const symbol s_3
[] = { 'I' };
377 static const symbol s_4
[] = { 'y' };
378 static const symbol s_5
[] = { 'Y' };
379 static const symbol s_6
[] = { 'y' };
380 static const symbol s_7
[] = { 'Y' };
381 static const symbol s_8
[] = { 'q' };
382 static const symbol s_9
[] = { 'u' };
383 static const symbol s_10
[] = { 'U' };
384 static const symbol s_11
[] = { 'i' };
385 static const symbol s_12
[] = { 'u' };
386 static const symbol s_13
[] = { 'y' };
387 static const symbol s_14
[] = { 'i', 'c' };
388 static const symbol s_15
[] = { 'i', 'q', 'U' };
389 static const symbol s_16
[] = { 'l', 'o', 'g' };
390 static const symbol s_17
[] = { 'u' };
391 static const symbol s_18
[] = { 'e', 'n', 't' };
392 static const symbol s_19
[] = { 'a', 't' };
393 static const symbol s_20
[] = { 'e', 'u', 'x' };
394 static const symbol s_21
[] = { 'i' };
395 static const symbol s_22
[] = { 'a', 'b', 'l' };
396 static const symbol s_23
[] = { 'i', 'q', 'U' };
397 static const symbol s_24
[] = { 'a', 't' };
398 static const symbol s_25
[] = { 'i', 'c' };
399 static const symbol s_26
[] = { 'i', 'q', 'U' };
400 static const symbol s_27
[] = { 'e', 'a', 'u' };
401 static const symbol s_28
[] = { 'a', 'l' };
402 static const symbol s_29
[] = { 'e', 'u', 'x' };
403 static const symbol s_30
[] = { 'a', 'n', 't' };
404 static const symbol s_31
[] = { 'e', 'n', 't' };
405 static const symbol s_32
[] = { 'e' };
406 static const symbol s_33
[] = { 's' };
407 static const symbol s_34
[] = { 's' };
408 static const symbol s_35
[] = { 't' };
409 static const symbol s_36
[] = { 'i' };
410 static const symbol s_37
[] = { 'g', 'u' };
411 static const symbol s_38
[] = { 0xC3, 0xA9 };
412 static const symbol s_39
[] = { 0xC3, 0xA8 };
413 static const symbol s_40
[] = { 'e' };
414 static const symbol s_41
[] = { 'Y' };
415 static const symbol s_42
[] = { 'i' };
416 static const symbol s_43
[] = { 0xC3, 0xA7 };
417 static const symbol s_44
[] = { 'c' };
419 static int r_prelude(struct SN_env
* z
) {
420 while(1) { /* repeat, line 38 */
422 while(1) { /* goto, line 38 */
424 { int c
= z
->c
; /* or, line 44 */
425 if (!(in_grouping_U(z
, g_v
, 97, 251))) goto lab3
;
426 z
->bra
= z
->c
; /* [, line 40 */
427 { int c
= z
->c
; /* or, line 40 */
428 if (!(eq_s(z
, 1, s_0
))) goto lab5
;
429 z
->ket
= z
->c
; /* ], line 40 */
430 if (!(in_grouping_U(z
, g_v
, 97, 251))) goto lab5
;
432 ret
= slice_from_s(z
, 1, s_1
); /* <-, line 40 */
433 if (ret
< 0) return ret
;
438 if (!(eq_s(z
, 1, s_2
))) goto lab6
;
439 z
->ket
= z
->c
; /* ], line 41 */
440 if (!(in_grouping_U(z
, g_v
, 97, 251))) goto lab6
;
442 ret
= slice_from_s(z
, 1, s_3
); /* <-, line 41 */
443 if (ret
< 0) return ret
;
448 if (!(eq_s(z
, 1, s_4
))) goto lab3
;
449 z
->ket
= z
->c
; /* ], line 42 */
451 ret
= slice_from_s(z
, 1, s_5
); /* <-, line 42 */
452 if (ret
< 0) return ret
;
459 z
->bra
= z
->c
; /* [, line 45 */
460 if (!(eq_s(z
, 1, s_6
))) goto lab7
;
461 z
->ket
= z
->c
; /* ], line 45 */
462 if (!(in_grouping_U(z
, g_v
, 97, 251))) goto lab7
;
464 ret
= slice_from_s(z
, 1, s_7
); /* <-, line 45 */
465 if (ret
< 0) return ret
;
470 if (!(eq_s(z
, 1, s_8
))) goto lab1
;
471 z
->bra
= z
->c
; /* [, line 47 */
472 if (!(eq_s(z
, 1, s_9
))) goto lab1
;
473 z
->ket
= z
->c
; /* ], line 47 */
475 ret
= slice_from_s(z
, 1, s_10
); /* <-, line 47 */
476 if (ret
< 0) return ret
;
484 { int c
= skip_utf8(z
->p
, z
->c
, 0, z
->l
, 1);
485 if (c
< 0) goto lab0
;
486 z
->c
= c
; /* goto, line 38 */
497 static int r_mark_regions(struct SN_env
* z
) {
501 { int c
= z
->c
; /* do, line 56 */
502 { int c
= z
->c
; /* or, line 58 */
503 if (!(in_grouping_U(z
, g_v
, 97, 251))) goto lab2
;
504 if (!(in_grouping_U(z
, g_v
, 97, 251))) goto lab2
;
505 { int c
= skip_utf8(z
->p
, z
->c
, 0, z
->l
, 1);
506 if (c
< 0) goto lab2
;
507 z
->c
= c
; /* next, line 57 */
512 if (z
->c
+ 2 >= z
->l
|| z
->p
[z
->c
+ 2] >> 5 != 3 || !((331776 >> (z
->p
[z
->c
+ 2] & 0x1f)) & 1)) goto lab3
;
513 if (!(find_among(z
, a_0
, 3))) goto lab3
; /* among, line 59 */
517 { int c
= skip_utf8(z
->p
, z
->c
, 0, z
->l
, 1);
518 if (c
< 0) goto lab0
;
519 z
->c
= c
; /* next, line 66 */
521 while(1) { /* gopast, line 66 */
522 if (!(in_grouping_U(z
, g_v
, 97, 251))) goto lab4
;
525 { int c
= skip_utf8(z
->p
, z
->c
, 0, z
->l
, 1);
526 if (c
< 0) goto lab0
;
527 z
->c
= c
; /* gopast, line 66 */
532 z
->I
[0] = z
->c
; /* setmark pV, line 67 */
536 { int c
= z
->c
; /* do, line 69 */
537 while(1) { /* gopast, line 70 */
538 if (!(in_grouping_U(z
, g_v
, 97, 251))) goto lab6
;
541 { int c
= skip_utf8(z
->p
, z
->c
, 0, z
->l
, 1);
542 if (c
< 0) goto lab5
;
543 z
->c
= c
; /* gopast, line 70 */
546 while(1) { /* gopast, line 70 */
547 if (!(out_grouping_U(z
, g_v
, 97, 251))) goto lab7
;
550 { int c
= skip_utf8(z
->p
, z
->c
, 0, z
->l
, 1);
551 if (c
< 0) goto lab5
;
552 z
->c
= c
; /* gopast, line 70 */
555 z
->I
[1] = z
->c
; /* setmark p1, line 70 */
556 while(1) { /* gopast, line 71 */
557 if (!(in_grouping_U(z
, g_v
, 97, 251))) goto lab8
;
560 { int c
= skip_utf8(z
->p
, z
->c
, 0, z
->l
, 1);
561 if (c
< 0) goto lab5
;
562 z
->c
= c
; /* gopast, line 71 */
565 while(1) { /* gopast, line 71 */
566 if (!(out_grouping_U(z
, g_v
, 97, 251))) goto lab9
;
569 { int c
= skip_utf8(z
->p
, z
->c
, 0, z
->l
, 1);
570 if (c
< 0) goto lab5
;
571 z
->c
= c
; /* gopast, line 71 */
574 z
->I
[2] = z
->c
; /* setmark p2, line 71 */
581 static int r_postlude(struct SN_env
* z
) {
583 while(1) { /* repeat, line 75 */
585 z
->bra
= z
->c
; /* [, line 77 */
586 if (z
->c
+ 0 >= z
->l
|| z
->p
[z
->c
+ 0] >> 5 != 2 || !((35652096 >> (z
->p
[z
->c
+ 0] & 0x1f)) & 1)) among_var
= 4; else
587 among_var
= find_among(z
, a_1
, 4); /* substring, line 77 */
588 if (!(among_var
)) goto lab0
;
589 z
->ket
= z
->c
; /* ], line 77 */
594 ret
= slice_from_s(z
, 1, s_11
); /* <-, line 78 */
595 if (ret
< 0) return ret
;
600 ret
= slice_from_s(z
, 1, s_12
); /* <-, line 79 */
601 if (ret
< 0) return ret
;
606 ret
= slice_from_s(z
, 1, s_13
); /* <-, line 80 */
607 if (ret
< 0) return ret
;
611 { int c
= skip_utf8(z
->p
, z
->c
, 0, z
->l
, 1);
612 if (c
< 0) goto lab0
;
613 z
->c
= c
; /* next, line 81 */
625 static int r_RV(struct SN_env
* z
) {
626 if (!(z
->I
[0] <= z
->c
)) return 0;
630 static int r_R1(struct SN_env
* z
) {
631 if (!(z
->I
[1] <= z
->c
)) return 0;
635 static int r_R2(struct SN_env
* z
) {
636 if (!(z
->I
[2] <= z
->c
)) return 0;
640 static int r_standard_suffix(struct SN_env
* z
) {
642 z
->ket
= z
->c
; /* [, line 92 */
643 among_var
= find_among_b(z
, a_4
, 43); /* substring, line 92 */
644 if (!(among_var
)) return 0;
645 z
->bra
= z
->c
; /* ], line 92 */
650 if (ret
== 0) return 0; /* call R2, line 96 */
651 if (ret
< 0) return ret
;
654 ret
= slice_del(z
); /* delete, line 96 */
655 if (ret
< 0) return ret
;
660 if (ret
== 0) return 0; /* call R2, line 99 */
661 if (ret
< 0) return ret
;
664 ret
= slice_del(z
); /* delete, line 99 */
665 if (ret
< 0) return ret
;
667 { int m
= z
->l
- z
->c
; (void) m
; /* try, line 100 */
668 z
->ket
= z
->c
; /* [, line 100 */
669 if (!(eq_s_b(z
, 2, s_14
))) { z
->c
= z
->l
- m
; goto lab0
; }
670 z
->bra
= z
->c
; /* ], line 100 */
671 { int m
= z
->l
- z
->c
; (void) m
; /* or, line 100 */
673 if (ret
== 0) goto lab2
; /* call R2, line 100 */
674 if (ret
< 0) return ret
;
677 ret
= slice_del(z
); /* delete, line 100 */
678 if (ret
< 0) return ret
;
684 ret
= slice_from_s(z
, 3, s_15
); /* <-, line 100 */
685 if (ret
< 0) return ret
;
695 if (ret
== 0) return 0; /* call R2, line 104 */
696 if (ret
< 0) return ret
;
699 ret
= slice_from_s(z
, 3, s_16
); /* <-, line 104 */
700 if (ret
< 0) return ret
;
705 if (ret
== 0) return 0; /* call R2, line 107 */
706 if (ret
< 0) return ret
;
709 ret
= slice_from_s(z
, 1, s_17
); /* <-, line 107 */
710 if (ret
< 0) return ret
;
715 if (ret
== 0) return 0; /* call R2, line 110 */
716 if (ret
< 0) return ret
;
719 ret
= slice_from_s(z
, 3, s_18
); /* <-, line 110 */
720 if (ret
< 0) return ret
;
725 if (ret
== 0) return 0; /* call RV, line 114 */
726 if (ret
< 0) return ret
;
729 ret
= slice_del(z
); /* delete, line 114 */
730 if (ret
< 0) return ret
;
732 { int m
= z
->l
- z
->c
; (void) m
; /* try, line 115 */
733 z
->ket
= z
->c
; /* [, line 116 */
734 among_var
= find_among_b(z
, a_2
, 6); /* substring, line 116 */
735 if (!(among_var
)) { z
->c
= z
->l
- m
; goto lab3
; }
736 z
->bra
= z
->c
; /* ], line 116 */
738 case 0: { z
->c
= z
->l
- m
; goto lab3
; }
741 if (ret
== 0) { z
->c
= z
->l
- m
; goto lab3
; } /* call R2, line 117 */
742 if (ret
< 0) return ret
;
745 ret
= slice_del(z
); /* delete, line 117 */
746 if (ret
< 0) return ret
;
748 z
->ket
= z
->c
; /* [, line 117 */
749 if (!(eq_s_b(z
, 2, s_19
))) { z
->c
= z
->l
- m
; goto lab3
; }
750 z
->bra
= z
->c
; /* ], line 117 */
752 if (ret
== 0) { z
->c
= z
->l
- m
; goto lab3
; } /* call R2, line 117 */
753 if (ret
< 0) return ret
;
756 ret
= slice_del(z
); /* delete, line 117 */
757 if (ret
< 0) return ret
;
761 { int m
= z
->l
- z
->c
; (void) m
; /* or, line 118 */
763 if (ret
== 0) goto lab5
; /* call R2, line 118 */
764 if (ret
< 0) return ret
;
767 ret
= slice_del(z
); /* delete, line 118 */
768 if (ret
< 0) return ret
;
774 if (ret
== 0) { z
->c
= z
->l
- m
; goto lab3
; } /* call R1, line 118 */
775 if (ret
< 0) return ret
;
778 ret
= slice_from_s(z
, 3, s_20
); /* <-, line 118 */
779 if (ret
< 0) return ret
;
786 if (ret
== 0) { z
->c
= z
->l
- m
; goto lab3
; } /* call R2, line 120 */
787 if (ret
< 0) return ret
;
790 ret
= slice_del(z
); /* delete, line 120 */
791 if (ret
< 0) return ret
;
796 if (ret
== 0) { z
->c
= z
->l
- m
; goto lab3
; } /* call RV, line 122 */
797 if (ret
< 0) return ret
;
800 ret
= slice_from_s(z
, 1, s_21
); /* <-, line 122 */
801 if (ret
< 0) return ret
;
811 if (ret
== 0) return 0; /* call R2, line 129 */
812 if (ret
< 0) return ret
;
815 ret
= slice_del(z
); /* delete, line 129 */
816 if (ret
< 0) return ret
;
818 { int m
= z
->l
- z
->c
; (void) m
; /* try, line 130 */
819 z
->ket
= z
->c
; /* [, line 131 */
820 if (z
->c
<= z
->lb
|| z
->p
[z
->c
- 1] >> 5 != 3 || !((4198408 >> (z
->p
[z
->c
- 1] & 0x1f)) & 1)) { z
->c
= z
->l
- m
; goto lab6
; }
821 among_var
= find_among_b(z
, a_3
, 3); /* substring, line 131 */
822 if (!(among_var
)) { z
->c
= z
->l
- m
; goto lab6
; }
823 z
->bra
= z
->c
; /* ], line 131 */
825 case 0: { z
->c
= z
->l
- m
; goto lab6
; }
827 { int m
= z
->l
- z
->c
; (void) m
; /* or, line 132 */
829 if (ret
== 0) goto lab8
; /* call R2, line 132 */
830 if (ret
< 0) return ret
;
833 ret
= slice_del(z
); /* delete, line 132 */
834 if (ret
< 0) return ret
;
840 ret
= slice_from_s(z
, 3, s_22
); /* <-, line 132 */
841 if (ret
< 0) return ret
;
847 { int m
= z
->l
- z
->c
; (void) m
; /* or, line 133 */
849 if (ret
== 0) goto lab10
; /* call R2, line 133 */
850 if (ret
< 0) return ret
;
853 ret
= slice_del(z
); /* delete, line 133 */
854 if (ret
< 0) return ret
;
860 ret
= slice_from_s(z
, 3, s_23
); /* <-, line 133 */
861 if (ret
< 0) return ret
;
868 if (ret
== 0) { z
->c
= z
->l
- m
; goto lab6
; } /* call R2, line 134 */
869 if (ret
< 0) return ret
;
872 ret
= slice_del(z
); /* delete, line 134 */
873 if (ret
< 0) return ret
;
883 if (ret
== 0) return 0; /* call R2, line 141 */
884 if (ret
< 0) return ret
;
887 ret
= slice_del(z
); /* delete, line 141 */
888 if (ret
< 0) return ret
;
890 { int m
= z
->l
- z
->c
; (void) m
; /* try, line 142 */
891 z
->ket
= z
->c
; /* [, line 142 */
892 if (!(eq_s_b(z
, 2, s_24
))) { z
->c
= z
->l
- m
; goto lab11
; }
893 z
->bra
= z
->c
; /* ], line 142 */
895 if (ret
== 0) { z
->c
= z
->l
- m
; goto lab11
; } /* call R2, line 142 */
896 if (ret
< 0) return ret
;
899 ret
= slice_del(z
); /* delete, line 142 */
900 if (ret
< 0) return ret
;
902 z
->ket
= z
->c
; /* [, line 142 */
903 if (!(eq_s_b(z
, 2, s_25
))) { z
->c
= z
->l
- m
; goto lab11
; }
904 z
->bra
= z
->c
; /* ], line 142 */
905 { int m
= z
->l
- z
->c
; (void) m
; /* or, line 142 */
907 if (ret
== 0) goto lab13
; /* call R2, line 142 */
908 if (ret
< 0) return ret
;
911 ret
= slice_del(z
); /* delete, line 142 */
912 if (ret
< 0) return ret
;
918 ret
= slice_from_s(z
, 3, s_26
); /* <-, line 142 */
919 if (ret
< 0) return ret
;
929 ret
= slice_from_s(z
, 3, s_27
); /* <-, line 144 */
930 if (ret
< 0) return ret
;
935 if (ret
== 0) return 0; /* call R1, line 145 */
936 if (ret
< 0) return ret
;
939 ret
= slice_from_s(z
, 2, s_28
); /* <-, line 145 */
940 if (ret
< 0) return ret
;
944 { int m
= z
->l
- z
->c
; (void) m
; /* or, line 147 */
946 if (ret
== 0) goto lab15
; /* call R2, line 147 */
947 if (ret
< 0) return ret
;
950 ret
= slice_del(z
); /* delete, line 147 */
951 if (ret
< 0) return ret
;
957 if (ret
== 0) return 0; /* call R1, line 147 */
958 if (ret
< 0) return ret
;
961 ret
= slice_from_s(z
, 3, s_29
); /* <-, line 147 */
962 if (ret
< 0) return ret
;
969 if (ret
== 0) return 0; /* call R1, line 150 */
970 if (ret
< 0) return ret
;
972 if (!(out_grouping_b_U(z
, g_v
, 97, 251))) return 0;
974 ret
= slice_del(z
); /* delete, line 150 */
975 if (ret
< 0) return ret
;
980 if (ret
== 0) return 0; /* call RV, line 155 */
981 if (ret
< 0) return ret
;
984 ret
= slice_from_s(z
, 3, s_30
); /* <-, line 155 */
985 if (ret
< 0) return ret
;
987 return 0; /* fail, line 155 */
991 if (ret
== 0) return 0; /* call RV, line 156 */
992 if (ret
< 0) return ret
;
995 ret
= slice_from_s(z
, 3, s_31
); /* <-, line 156 */
996 if (ret
< 0) return ret
;
998 return 0; /* fail, line 156 */
1001 { int m_test
= z
->l
- z
->c
; /* test, line 158 */
1002 if (!(in_grouping_b_U(z
, g_v
, 97, 251))) return 0;
1003 { int ret
= r_RV(z
);
1004 if (ret
== 0) return 0; /* call RV, line 158 */
1005 if (ret
< 0) return ret
;
1007 z
->c
= z
->l
- m_test
;
1010 ret
= slice_del(z
); /* delete, line 158 */
1011 if (ret
< 0) return ret
;
1013 return 0; /* fail, line 158 */
1019 static int r_i_verb_suffix(struct SN_env
* z
) {
1021 { int m3
; /* setlimit, line 163 */
1022 int m
= z
->l
- z
->c
; (void) m
;
1023 if (z
->c
< z
->I
[0]) return 0;
1024 z
->c
= z
->I
[0]; /* tomark, line 163 */
1025 m3
= z
->lb
; z
->lb
= z
->c
;
1027 z
->ket
= z
->c
; /* [, line 164 */
1028 if (z
->c
<= z
->lb
|| z
->p
[z
->c
- 1] >> 5 != 3 || !((68944418 >> (z
->p
[z
->c
- 1] & 0x1f)) & 1)) { z
->lb
= m3
; return 0; }
1029 among_var
= find_among_b(z
, a_5
, 35); /* substring, line 164 */
1030 if (!(among_var
)) { z
->lb
= m3
; return 0; }
1031 z
->bra
= z
->c
; /* ], line 164 */
1033 case 0: { z
->lb
= m3
; return 0; }
1035 if (!(out_grouping_b_U(z
, g_v
, 97, 251))) { z
->lb
= m3
; return 0; }
1037 ret
= slice_del(z
); /* delete, line 170 */
1038 if (ret
< 0) return ret
;
1047 static int r_verb_suffix(struct SN_env
* z
) {
1049 { int m3
; /* setlimit, line 174 */
1050 int m
= z
->l
- z
->c
; (void) m
;
1051 if (z
->c
< z
->I
[0]) return 0;
1052 z
->c
= z
->I
[0]; /* tomark, line 174 */
1053 m3
= z
->lb
; z
->lb
= z
->c
;
1055 z
->ket
= z
->c
; /* [, line 175 */
1056 among_var
= find_among_b(z
, a_6
, 38); /* substring, line 175 */
1057 if (!(among_var
)) { z
->lb
= m3
; return 0; }
1058 z
->bra
= z
->c
; /* ], line 175 */
1060 case 0: { z
->lb
= m3
; return 0; }
1062 { int ret
= r_R2(z
);
1063 if (ret
== 0) { z
->lb
= m3
; return 0; } /* call R2, line 177 */
1064 if (ret
< 0) return ret
;
1067 ret
= slice_del(z
); /* delete, line 177 */
1068 if (ret
< 0) return ret
;
1073 ret
= slice_del(z
); /* delete, line 185 */
1074 if (ret
< 0) return ret
;
1079 ret
= slice_del(z
); /* delete, line 190 */
1080 if (ret
< 0) return ret
;
1082 { int m
= z
->l
- z
->c
; (void) m
; /* try, line 191 */
1083 z
->ket
= z
->c
; /* [, line 191 */
1084 if (!(eq_s_b(z
, 1, s_32
))) { z
->c
= z
->l
- m
; goto lab0
; }
1085 z
->bra
= z
->c
; /* ], line 191 */
1087 ret
= slice_del(z
); /* delete, line 191 */
1088 if (ret
< 0) return ret
;
1100 static int r_residual_suffix(struct SN_env
* z
) {
1102 { int m
= z
->l
- z
->c
; (void) m
; /* try, line 199 */
1103 z
->ket
= z
->c
; /* [, line 199 */
1104 if (!(eq_s_b(z
, 1, s_33
))) { z
->c
= z
->l
- m
; goto lab0
; }
1105 z
->bra
= z
->c
; /* ], line 199 */
1106 { int m_test
= z
->l
- z
->c
; /* test, line 199 */
1107 if (!(out_grouping_b_U(z
, g_keep_with_s
, 97, 232))) { z
->c
= z
->l
- m
; goto lab0
; }
1108 z
->c
= z
->l
- m_test
;
1111 ret
= slice_del(z
); /* delete, line 199 */
1112 if (ret
< 0) return ret
;
1117 { int m3
; /* setlimit, line 200 */
1118 int m
= z
->l
- z
->c
; (void) m
;
1119 if (z
->c
< z
->I
[0]) return 0;
1120 z
->c
= z
->I
[0]; /* tomark, line 200 */
1121 m3
= z
->lb
; z
->lb
= z
->c
;
1123 z
->ket
= z
->c
; /* [, line 201 */
1124 among_var
= find_among_b(z
, a_7
, 7); /* substring, line 201 */
1125 if (!(among_var
)) { z
->lb
= m3
; return 0; }
1126 z
->bra
= z
->c
; /* ], line 201 */
1128 case 0: { z
->lb
= m3
; return 0; }
1130 { int ret
= r_R2(z
);
1131 if (ret
== 0) { z
->lb
= m3
; return 0; } /* call R2, line 202 */
1132 if (ret
< 0) return ret
;
1134 { int m
= z
->l
- z
->c
; (void) m
; /* or, line 202 */
1135 if (!(eq_s_b(z
, 1, s_34
))) goto lab2
;
1139 if (!(eq_s_b(z
, 1, s_35
))) { z
->lb
= m3
; return 0; }
1143 ret
= slice_del(z
); /* delete, line 202 */
1144 if (ret
< 0) return ret
;
1149 ret
= slice_from_s(z
, 1, s_36
); /* <-, line 204 */
1150 if (ret
< 0) return ret
;
1155 ret
= slice_del(z
); /* delete, line 205 */
1156 if (ret
< 0) return ret
;
1160 if (!(eq_s_b(z
, 2, s_37
))) { z
->lb
= m3
; return 0; }
1162 ret
= slice_del(z
); /* delete, line 206 */
1163 if (ret
< 0) return ret
;
1172 static int r_un_double(struct SN_env
* z
) {
1173 { int m_test
= z
->l
- z
->c
; /* test, line 212 */
1174 if (z
->c
<= z
->lb
|| z
->p
[z
->c
- 1] >> 5 != 3 || !((1069056 >> (z
->p
[z
->c
- 1] & 0x1f)) & 1)) return 0;
1175 if (!(find_among_b(z
, a_8
, 5))) return 0; /* among, line 212 */
1176 z
->c
= z
->l
- m_test
;
1178 z
->ket
= z
->c
; /* [, line 212 */
1179 { int c
= skip_utf8(z
->p
, z
->c
, z
->lb
, 0, -1);
1180 if (c
< 0) return 0;
1181 z
->c
= c
; /* next, line 212 */
1183 z
->bra
= z
->c
; /* ], line 212 */
1185 ret
= slice_del(z
); /* delete, line 212 */
1186 if (ret
< 0) return ret
;
1191 static int r_un_accent(struct SN_env
* z
) {
1193 while(1) { /* atleast, line 216 */
1194 if (!(out_grouping_b_U(z
, g_v
, 97, 251))) goto lab0
;
1200 if (i
> 0) return 0;
1202 z
->ket
= z
->c
; /* [, line 217 */
1203 { int m
= z
->l
- z
->c
; (void) m
; /* or, line 217 */
1204 if (!(eq_s_b(z
, 2, s_38
))) goto lab2
;
1208 if (!(eq_s_b(z
, 2, s_39
))) return 0;
1211 z
->bra
= z
->c
; /* ], line 217 */
1213 ret
= slice_from_s(z
, 1, s_40
); /* <-, line 217 */
1214 if (ret
< 0) return ret
;
1219 extern int french_UTF_8_stem(struct SN_env
* z
) {
1220 { int c
= z
->c
; /* do, line 223 */
1221 { int ret
= r_prelude(z
);
1222 if (ret
== 0) goto lab0
; /* call prelude, line 223 */
1223 if (ret
< 0) return ret
;
1228 { int c
= z
->c
; /* do, line 224 */
1229 { int ret
= r_mark_regions(z
);
1230 if (ret
== 0) goto lab1
; /* call mark_regions, line 224 */
1231 if (ret
< 0) return ret
;
1236 z
->lb
= z
->c
; z
->c
= z
->l
; /* backwards, line 225 */
1238 { int m
= z
->l
- z
->c
; (void) m
; /* do, line 227 */
1239 { int m
= z
->l
- z
->c
; (void) m
; /* or, line 237 */
1240 { int m
= z
->l
- z
->c
; (void) m
; /* and, line 233 */
1241 { int m
= z
->l
- z
->c
; (void) m
; /* or, line 229 */
1242 { int ret
= r_standard_suffix(z
);
1243 if (ret
== 0) goto lab6
; /* call standard_suffix, line 229 */
1244 if (ret
< 0) return ret
;
1249 { int ret
= r_i_verb_suffix(z
);
1250 if (ret
== 0) goto lab7
; /* call i_verb_suffix, line 230 */
1251 if (ret
< 0) return ret
;
1256 { int ret
= r_verb_suffix(z
);
1257 if (ret
== 0) goto lab4
; /* call verb_suffix, line 231 */
1258 if (ret
< 0) return ret
;
1263 { int m
= z
->l
- z
->c
; (void) m
; /* try, line 234 */
1264 z
->ket
= z
->c
; /* [, line 234 */
1265 { int m
= z
->l
- z
->c
; (void) m
; /* or, line 234 */
1266 if (!(eq_s_b(z
, 1, s_41
))) goto lab10
;
1267 z
->bra
= z
->c
; /* ], line 234 */
1269 ret
= slice_from_s(z
, 1, s_42
); /* <-, line 234 */
1270 if (ret
< 0) return ret
;
1275 if (!(eq_s_b(z
, 2, s_43
))) { z
->c
= z
->l
- m
; goto lab8
; }
1276 z
->bra
= z
->c
; /* ], line 235 */
1278 ret
= slice_from_s(z
, 1, s_44
); /* <-, line 235 */
1279 if (ret
< 0) return ret
;
1290 { int ret
= r_residual_suffix(z
);
1291 if (ret
== 0) goto lab2
; /* call residual_suffix, line 238 */
1292 if (ret
< 0) return ret
;
1299 { int m
= z
->l
- z
->c
; (void) m
; /* do, line 243 */
1300 { int ret
= r_un_double(z
);
1301 if (ret
== 0) goto lab11
; /* call un_double, line 243 */
1302 if (ret
< 0) return ret
;
1307 { int m
= z
->l
- z
->c
; (void) m
; /* do, line 244 */
1308 { int ret
= r_un_accent(z
);
1309 if (ret
== 0) goto lab12
; /* call un_accent, line 244 */
1310 if (ret
< 0) return ret
;
1316 { int c
= z
->c
; /* do, line 246 */
1317 { int ret
= r_postlude(z
);
1318 if (ret
== 0) goto lab13
; /* call postlude, line 246 */
1319 if (ret
< 0) return ret
;
1327 extern struct SN_env
* french_UTF_8_create_env(void) { return SN_create_env(0, 3, 0); }
1329 extern void french_UTF_8_close_env(struct SN_env
* z
) { SN_close_env(z
, 0); }