2 /* This file was generated automatically by the Snowball to ANSI C compiler */
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 c3
= z
->c
; /* or, line 44 */
425 if (in_grouping_U(z
, g_v
, 97, 251, 0)) goto lab3
;
426 z
->bra
= z
->c
; /* [, line 40 */
427 { int c4
= 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, 0)) goto lab5
;
431 { int ret
= slice_from_s(z
, 1, s_1
); /* <-, line 40 */
432 if (ret
< 0) return ret
;
437 if (!(eq_s(z
, 1, s_2
))) goto lab6
;
438 z
->ket
= z
->c
; /* ], line 41 */
439 if (in_grouping_U(z
, g_v
, 97, 251, 0)) goto lab6
;
440 { int ret
= slice_from_s(z
, 1, s_3
); /* <-, line 41 */
441 if (ret
< 0) return ret
;
446 if (!(eq_s(z
, 1, s_4
))) goto lab3
;
447 z
->ket
= z
->c
; /* ], line 42 */
448 { int ret
= slice_from_s(z
, 1, s_5
); /* <-, line 42 */
449 if (ret
< 0) return ret
;
456 z
->bra
= z
->c
; /* [, line 45 */
457 if (!(eq_s(z
, 1, s_6
))) goto lab7
;
458 z
->ket
= z
->c
; /* ], line 45 */
459 if (in_grouping_U(z
, g_v
, 97, 251, 0)) goto lab7
;
460 { int ret
= slice_from_s(z
, 1, s_7
); /* <-, line 45 */
461 if (ret
< 0) return ret
;
466 if (!(eq_s(z
, 1, s_8
))) goto lab1
;
467 z
->bra
= z
->c
; /* [, line 47 */
468 if (!(eq_s(z
, 1, s_9
))) goto lab1
;
469 z
->ket
= z
->c
; /* ], line 47 */
470 { int ret
= slice_from_s(z
, 1, s_10
); /* <-, line 47 */
471 if (ret
< 0) return ret
;
479 { int ret
= skip_utf8(z
->p
, z
->c
, 0, z
->l
, 1);
480 if (ret
< 0) goto lab0
;
481 z
->c
= ret
; /* goto, line 38 */
492 static int r_mark_regions(struct SN_env
* z
) {
496 { int c1
= z
->c
; /* do, line 56 */
497 { int c2
= z
->c
; /* or, line 58 */
498 if (in_grouping_U(z
, g_v
, 97, 251, 0)) goto lab2
;
499 if (in_grouping_U(z
, g_v
, 97, 251, 0)) goto lab2
;
500 { int ret
= skip_utf8(z
->p
, z
->c
, 0, z
->l
, 1);
501 if (ret
< 0) goto lab2
;
502 z
->c
= ret
; /* next, line 57 */
507 if (z
->c
+ 2 >= z
->l
|| z
->p
[z
->c
+ 2] >> 5 != 3 || !((331776 >> (z
->p
[z
->c
+ 2] & 0x1f)) & 1)) goto lab3
;
508 if (!(find_among(z
, a_0
, 3))) goto lab3
; /* among, line 59 */
512 { int ret
= skip_utf8(z
->p
, z
->c
, 0, z
->l
, 1);
513 if (ret
< 0) goto lab0
;
514 z
->c
= ret
; /* next, line 66 */
516 { /* gopast */ /* grouping v, line 66 */
517 int ret
= out_grouping_U(z
, g_v
, 97, 251, 1);
518 if (ret
< 0) goto lab0
;
523 z
->I
[0] = z
->c
; /* setmark pV, line 67 */
527 { int c3
= z
->c
; /* do, line 69 */
528 { /* gopast */ /* grouping v, line 70 */
529 int ret
= out_grouping_U(z
, g_v
, 97, 251, 1);
530 if (ret
< 0) goto lab4
;
533 { /* gopast */ /* non v, line 70 */
534 int ret
= in_grouping_U(z
, g_v
, 97, 251, 1);
535 if (ret
< 0) goto lab4
;
538 z
->I
[1] = z
->c
; /* setmark p1, line 70 */
539 { /* gopast */ /* grouping v, line 71 */
540 int ret
= out_grouping_U(z
, g_v
, 97, 251, 1);
541 if (ret
< 0) goto lab4
;
544 { /* gopast */ /* non v, line 71 */
545 int ret
= in_grouping_U(z
, g_v
, 97, 251, 1);
546 if (ret
< 0) goto lab4
;
549 z
->I
[2] = z
->c
; /* setmark p2, line 71 */
556 static int r_postlude(struct SN_env
* z
) {
558 while(1) { /* repeat, line 75 */
560 z
->bra
= z
->c
; /* [, line 77 */
561 if (z
->c
>= z
->l
|| z
->p
[z
->c
+ 0] >> 5 != 2 || !((35652096 >> (z
->p
[z
->c
+ 0] & 0x1f)) & 1)) among_var
= 4; else
562 among_var
= find_among(z
, a_1
, 4); /* substring, line 77 */
563 if (!(among_var
)) goto lab0
;
564 z
->ket
= z
->c
; /* ], line 77 */
568 { int ret
= slice_from_s(z
, 1, s_11
); /* <-, line 78 */
569 if (ret
< 0) return ret
;
573 { int ret
= slice_from_s(z
, 1, s_12
); /* <-, line 79 */
574 if (ret
< 0) return ret
;
578 { int ret
= slice_from_s(z
, 1, s_13
); /* <-, line 80 */
579 if (ret
< 0) return ret
;
583 { int ret
= skip_utf8(z
->p
, z
->c
, 0, z
->l
, 1);
584 if (ret
< 0) goto lab0
;
585 z
->c
= ret
; /* next, line 81 */
597 static int r_RV(struct SN_env
* z
) {
598 if (!(z
->I
[0] <= z
->c
)) return 0;
602 static int r_R1(struct SN_env
* z
) {
603 if (!(z
->I
[1] <= z
->c
)) return 0;
607 static int r_R2(struct SN_env
* z
) {
608 if (!(z
->I
[2] <= z
->c
)) return 0;
612 static int r_standard_suffix(struct SN_env
* z
) {
614 z
->ket
= z
->c
; /* [, line 92 */
615 among_var
= find_among_b(z
, a_4
, 43); /* substring, line 92 */
616 if (!(among_var
)) return 0;
617 z
->bra
= z
->c
; /* ], line 92 */
622 if (ret
== 0) return 0; /* call R2, line 96 */
623 if (ret
< 0) return ret
;
625 { int ret
= slice_del(z
); /* delete, line 96 */
626 if (ret
< 0) return ret
;
631 if (ret
== 0) return 0; /* call R2, line 99 */
632 if (ret
< 0) return ret
;
634 { int ret
= slice_del(z
); /* delete, line 99 */
635 if (ret
< 0) return ret
;
637 { int m_keep
= z
->l
- z
->c
;/* (void) m_keep;*/ /* try, line 100 */
638 z
->ket
= z
->c
; /* [, line 100 */
639 if (!(eq_s_b(z
, 2, s_14
))) { z
->c
= z
->l
- m_keep
; goto lab0
; }
640 z
->bra
= z
->c
; /* ], line 100 */
641 { int m1
= z
->l
- z
->c
; (void)m1
; /* or, line 100 */
643 if (ret
== 0) goto lab2
; /* call R2, line 100 */
644 if (ret
< 0) return ret
;
646 { int ret
= slice_del(z
); /* delete, line 100 */
647 if (ret
< 0) return ret
;
652 { int ret
= slice_from_s(z
, 3, s_15
); /* <-, line 100 */
653 if (ret
< 0) return ret
;
663 if (ret
== 0) return 0; /* call R2, line 104 */
664 if (ret
< 0) return ret
;
666 { int ret
= slice_from_s(z
, 3, s_16
); /* <-, line 104 */
667 if (ret
< 0) return ret
;
672 if (ret
== 0) return 0; /* call R2, line 107 */
673 if (ret
< 0) return ret
;
675 { int ret
= slice_from_s(z
, 1, s_17
); /* <-, line 107 */
676 if (ret
< 0) return ret
;
681 if (ret
== 0) return 0; /* call R2, line 110 */
682 if (ret
< 0) return ret
;
684 { int ret
= slice_from_s(z
, 3, s_18
); /* <-, line 110 */
685 if (ret
< 0) return ret
;
690 if (ret
== 0) return 0; /* call RV, line 114 */
691 if (ret
< 0) return ret
;
693 { int ret
= slice_del(z
); /* delete, line 114 */
694 if (ret
< 0) return ret
;
696 { int m_keep
= z
->l
- z
->c
;/* (void) m_keep;*/ /* try, line 115 */
697 z
->ket
= z
->c
; /* [, line 116 */
698 among_var
= find_among_b(z
, a_2
, 6); /* substring, line 116 */
699 if (!(among_var
)) { z
->c
= z
->l
- m_keep
; goto lab3
; }
700 z
->bra
= z
->c
; /* ], line 116 */
702 case 0: { z
->c
= z
->l
- m_keep
; goto lab3
; }
705 if (ret
== 0) { z
->c
= z
->l
- m_keep
; goto lab3
; } /* call R2, line 117 */
706 if (ret
< 0) return ret
;
708 { int ret
= slice_del(z
); /* delete, line 117 */
709 if (ret
< 0) return ret
;
711 z
->ket
= z
->c
; /* [, line 117 */
712 if (!(eq_s_b(z
, 2, s_19
))) { z
->c
= z
->l
- m_keep
; goto lab3
; }
713 z
->bra
= z
->c
; /* ], line 117 */
715 if (ret
== 0) { z
->c
= z
->l
- m_keep
; goto lab3
; } /* call R2, line 117 */
716 if (ret
< 0) return ret
;
718 { int ret
= slice_del(z
); /* delete, line 117 */
719 if (ret
< 0) return ret
;
723 { int m2
= z
->l
- z
->c
; (void)m2
; /* or, line 118 */
725 if (ret
== 0) goto lab5
; /* call R2, line 118 */
726 if (ret
< 0) return ret
;
728 { int ret
= slice_del(z
); /* delete, line 118 */
729 if (ret
< 0) return ret
;
735 if (ret
== 0) { z
->c
= z
->l
- m_keep
; goto lab3
; } /* call R1, line 118 */
736 if (ret
< 0) return ret
;
738 { int ret
= slice_from_s(z
, 3, s_20
); /* <-, line 118 */
739 if (ret
< 0) return ret
;
746 if (ret
== 0) { z
->c
= z
->l
- m_keep
; goto lab3
; } /* call R2, line 120 */
747 if (ret
< 0) return ret
;
749 { int ret
= slice_del(z
); /* delete, line 120 */
750 if (ret
< 0) return ret
;
755 if (ret
== 0) { z
->c
= z
->l
- m_keep
; goto lab3
; } /* call RV, line 122 */
756 if (ret
< 0) return ret
;
758 { int ret
= slice_from_s(z
, 1, s_21
); /* <-, line 122 */
759 if (ret
< 0) return ret
;
769 if (ret
== 0) return 0; /* call R2, line 129 */
770 if (ret
< 0) return ret
;
772 { int ret
= slice_del(z
); /* delete, line 129 */
773 if (ret
< 0) return ret
;
775 { int m_keep
= z
->l
- z
->c
;/* (void) m_keep;*/ /* try, line 130 */
776 z
->ket
= z
->c
; /* [, line 131 */
777 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
- m_keep
; goto lab6
; }
778 among_var
= find_among_b(z
, a_3
, 3); /* substring, line 131 */
779 if (!(among_var
)) { z
->c
= z
->l
- m_keep
; goto lab6
; }
780 z
->bra
= z
->c
; /* ], line 131 */
782 case 0: { z
->c
= z
->l
- m_keep
; goto lab6
; }
784 { int m3
= z
->l
- z
->c
; (void)m3
; /* or, line 132 */
786 if (ret
== 0) goto lab8
; /* call R2, line 132 */
787 if (ret
< 0) return ret
;
789 { int ret
= slice_del(z
); /* delete, line 132 */
790 if (ret
< 0) return ret
;
795 { int ret
= slice_from_s(z
, 3, s_22
); /* <-, line 132 */
796 if (ret
< 0) return ret
;
802 { int m4
= z
->l
- z
->c
; (void)m4
; /* or, line 133 */
804 if (ret
== 0) goto lab10
; /* call R2, line 133 */
805 if (ret
< 0) return ret
;
807 { int ret
= slice_del(z
); /* delete, line 133 */
808 if (ret
< 0) return ret
;
813 { int ret
= slice_from_s(z
, 3, s_23
); /* <-, line 133 */
814 if (ret
< 0) return ret
;
821 if (ret
== 0) { z
->c
= z
->l
- m_keep
; goto lab6
; } /* call R2, line 134 */
822 if (ret
< 0) return ret
;
824 { int ret
= slice_del(z
); /* delete, line 134 */
825 if (ret
< 0) return ret
;
835 if (ret
== 0) return 0; /* call R2, line 141 */
836 if (ret
< 0) return ret
;
838 { int ret
= slice_del(z
); /* delete, line 141 */
839 if (ret
< 0) return ret
;
841 { int m_keep
= z
->l
- z
->c
;/* (void) m_keep;*/ /* try, line 142 */
842 z
->ket
= z
->c
; /* [, line 142 */
843 if (!(eq_s_b(z
, 2, s_24
))) { z
->c
= z
->l
- m_keep
; goto lab11
; }
844 z
->bra
= z
->c
; /* ], line 142 */
846 if (ret
== 0) { z
->c
= z
->l
- m_keep
; goto lab11
; } /* call R2, line 142 */
847 if (ret
< 0) return ret
;
849 { int ret
= slice_del(z
); /* delete, line 142 */
850 if (ret
< 0) return ret
;
852 z
->ket
= z
->c
; /* [, line 142 */
853 if (!(eq_s_b(z
, 2, s_25
))) { z
->c
= z
->l
- m_keep
; goto lab11
; }
854 z
->bra
= z
->c
; /* ], line 142 */
855 { int m5
= z
->l
- z
->c
; (void)m5
; /* or, line 142 */
857 if (ret
== 0) goto lab13
; /* call R2, line 142 */
858 if (ret
< 0) return ret
;
860 { int ret
= slice_del(z
); /* delete, line 142 */
861 if (ret
< 0) return ret
;
866 { int ret
= slice_from_s(z
, 3, s_26
); /* <-, line 142 */
867 if (ret
< 0) return ret
;
876 { int ret
= slice_from_s(z
, 3, s_27
); /* <-, line 144 */
877 if (ret
< 0) return ret
;
882 if (ret
== 0) return 0; /* call R1, line 145 */
883 if (ret
< 0) return ret
;
885 { int ret
= slice_from_s(z
, 2, s_28
); /* <-, line 145 */
886 if (ret
< 0) return ret
;
890 { int m6
= z
->l
- z
->c
; (void)m6
; /* or, line 147 */
892 if (ret
== 0) goto lab15
; /* call R2, line 147 */
893 if (ret
< 0) return ret
;
895 { int ret
= slice_del(z
); /* delete, line 147 */
896 if (ret
< 0) return ret
;
902 if (ret
== 0) return 0; /* call R1, line 147 */
903 if (ret
< 0) return ret
;
905 { int ret
= slice_from_s(z
, 3, s_29
); /* <-, line 147 */
906 if (ret
< 0) return ret
;
913 if (ret
== 0) return 0; /* call R1, line 150 */
914 if (ret
< 0) return ret
;
916 if (out_grouping_b_U(z
, g_v
, 97, 251, 0)) return 0;
917 { int ret
= slice_del(z
); /* delete, line 150 */
918 if (ret
< 0) return ret
;
923 if (ret
== 0) return 0; /* call RV, line 155 */
924 if (ret
< 0) return ret
;
926 { int ret
= slice_from_s(z
, 3, s_30
); /* <-, line 155 */
927 if (ret
< 0) return ret
;
929 return 0; /* fail, line 155 */
933 if (ret
== 0) return 0; /* call RV, line 156 */
934 if (ret
< 0) return ret
;
936 { int ret
= slice_from_s(z
, 3, s_31
); /* <-, line 156 */
937 if (ret
< 0) return ret
;
939 return 0; /* fail, line 156 */
942 { int m_test
= z
->l
- z
->c
; /* test, line 158 */
943 if (in_grouping_b_U(z
, g_v
, 97, 251, 0)) return 0;
945 if (ret
== 0) return 0; /* call RV, line 158 */
946 if (ret
< 0) return ret
;
948 z
->c
= z
->l
- m_test
;
950 { int ret
= slice_del(z
); /* delete, line 158 */
951 if (ret
< 0) return ret
;
953 return 0; /* fail, line 158 */
959 static int r_i_verb_suffix(struct SN_env
* z
) {
961 { int mlimit
; /* setlimit, line 163 */
962 int m1
= z
->l
- z
->c
; (void)m1
;
963 if (z
->c
< z
->I
[0]) return 0;
964 z
->c
= z
->I
[0]; /* tomark, line 163 */
965 mlimit
= z
->lb
; z
->lb
= z
->c
;
967 z
->ket
= z
->c
; /* [, line 164 */
968 if (z
->c
<= z
->lb
|| z
->p
[z
->c
- 1] >> 5 != 3 || !((68944418 >> (z
->p
[z
->c
- 1] & 0x1f)) & 1)) { z
->lb
= mlimit
; return 0; }
969 among_var
= find_among_b(z
, a_5
, 35); /* substring, line 164 */
970 if (!(among_var
)) { z
->lb
= mlimit
; return 0; }
971 z
->bra
= z
->c
; /* ], line 164 */
973 case 0: { z
->lb
= mlimit
; return 0; }
975 if (out_grouping_b_U(z
, g_v
, 97, 251, 0)) { z
->lb
= mlimit
; return 0; }
976 { int ret
= slice_del(z
); /* delete, line 170 */
977 if (ret
< 0) return ret
;
986 static int r_verb_suffix(struct SN_env
* z
) {
988 { int mlimit
; /* setlimit, line 174 */
989 int m1
= z
->l
- z
->c
; (void)m1
;
990 if (z
->c
< z
->I
[0]) return 0;
991 z
->c
= z
->I
[0]; /* tomark, line 174 */
992 mlimit
= z
->lb
; z
->lb
= z
->c
;
994 z
->ket
= z
->c
; /* [, line 175 */
995 among_var
= find_among_b(z
, a_6
, 38); /* substring, line 175 */
996 if (!(among_var
)) { z
->lb
= mlimit
; return 0; }
997 z
->bra
= z
->c
; /* ], line 175 */
999 case 0: { z
->lb
= mlimit
; return 0; }
1001 { int ret
= r_R2(z
);
1002 if (ret
== 0) { z
->lb
= mlimit
; return 0; } /* call R2, line 177 */
1003 if (ret
< 0) return ret
;
1005 { int ret
= slice_del(z
); /* delete, line 177 */
1006 if (ret
< 0) return ret
;
1010 { int ret
= slice_del(z
); /* delete, line 185 */
1011 if (ret
< 0) return ret
;
1015 { int ret
= slice_del(z
); /* delete, line 190 */
1016 if (ret
< 0) return ret
;
1018 { int m_keep
= z
->l
- z
->c
;/* (void) m_keep;*/ /* try, line 191 */
1019 z
->ket
= z
->c
; /* [, line 191 */
1020 if (!(eq_s_b(z
, 1, s_32
))) { z
->c
= z
->l
- m_keep
; goto lab0
; }
1021 z
->bra
= z
->c
; /* ], line 191 */
1022 { int ret
= slice_del(z
); /* delete, line 191 */
1023 if (ret
< 0) return ret
;
1035 static int r_residual_suffix(struct SN_env
* z
) {
1037 { int m_keep
= z
->l
- z
->c
;/* (void) m_keep;*/ /* try, line 199 */
1038 z
->ket
= z
->c
; /* [, line 199 */
1039 if (!(eq_s_b(z
, 1, s_33
))) { z
->c
= z
->l
- m_keep
; goto lab0
; }
1040 z
->bra
= z
->c
; /* ], line 199 */
1041 { int m_test
= z
->l
- z
->c
; /* test, line 199 */
1042 if (out_grouping_b_U(z
, g_keep_with_s
, 97, 232, 0)) { z
->c
= z
->l
- m_keep
; goto lab0
; }
1043 z
->c
= z
->l
- m_test
;
1045 { int ret
= slice_del(z
); /* delete, line 199 */
1046 if (ret
< 0) return ret
;
1051 { int mlimit
; /* setlimit, line 200 */
1052 int m1
= z
->l
- z
->c
; (void)m1
;
1053 if (z
->c
< z
->I
[0]) return 0;
1054 z
->c
= z
->I
[0]; /* tomark, line 200 */
1055 mlimit
= z
->lb
; z
->lb
= z
->c
;
1057 z
->ket
= z
->c
; /* [, line 201 */
1058 among_var
= find_among_b(z
, a_7
, 7); /* substring, line 201 */
1059 if (!(among_var
)) { z
->lb
= mlimit
; return 0; }
1060 z
->bra
= z
->c
; /* ], line 201 */
1062 case 0: { z
->lb
= mlimit
; return 0; }
1064 { int ret
= r_R2(z
);
1065 if (ret
== 0) { z
->lb
= mlimit
; return 0; } /* call R2, line 202 */
1066 if (ret
< 0) return ret
;
1068 { int m2
= z
->l
- z
->c
; (void)m2
; /* or, line 202 */
1069 if (!(eq_s_b(z
, 1, s_34
))) goto lab2
;
1073 if (!(eq_s_b(z
, 1, s_35
))) { z
->lb
= mlimit
; return 0; }
1076 { int ret
= slice_del(z
); /* delete, line 202 */
1077 if (ret
< 0) return ret
;
1081 { int ret
= slice_from_s(z
, 1, s_36
); /* <-, line 204 */
1082 if (ret
< 0) return ret
;
1086 { int ret
= slice_del(z
); /* delete, line 205 */
1087 if (ret
< 0) return ret
;
1091 if (!(eq_s_b(z
, 2, s_37
))) { z
->lb
= mlimit
; return 0; }
1092 { int ret
= slice_del(z
); /* delete, line 206 */
1093 if (ret
< 0) return ret
;
1102 static int r_un_double(struct SN_env
* z
) {
1103 { int m_test
= z
->l
- z
->c
; /* test, line 212 */
1104 if (z
->c
- 2 <= z
->lb
|| z
->p
[z
->c
- 1] >> 5 != 3 || !((1069056 >> (z
->p
[z
->c
- 1] & 0x1f)) & 1)) return 0;
1105 if (!(find_among_b(z
, a_8
, 5))) return 0; /* among, line 212 */
1106 z
->c
= z
->l
- m_test
;
1108 z
->ket
= z
->c
; /* [, line 212 */
1109 { int ret
= skip_utf8(z
->p
, z
->c
, z
->lb
, 0, -1);
1110 if (ret
< 0) return 0;
1111 z
->c
= ret
; /* next, line 212 */
1113 z
->bra
= z
->c
; /* ], line 212 */
1114 { int ret
= slice_del(z
); /* delete, line 212 */
1115 if (ret
< 0) return ret
;
1120 static int r_un_accent(struct SN_env
* z
) {
1122 while(1) { /* atleast, line 216 */
1123 if (out_grouping_b_U(z
, g_v
, 97, 251, 0)) goto lab0
;
1129 if (i
> 0) return 0;
1131 z
->ket
= z
->c
; /* [, line 217 */
1132 { int m1
= z
->l
- z
->c
; (void)m1
; /* or, line 217 */
1133 if (!(eq_s_b(z
, 2, s_38
))) goto lab2
;
1137 if (!(eq_s_b(z
, 2, s_39
))) return 0;
1140 z
->bra
= z
->c
; /* ], line 217 */
1141 { int ret
= slice_from_s(z
, 1, s_40
); /* <-, line 217 */
1142 if (ret
< 0) return ret
;
1147 extern int french_UTF_8_stem(struct SN_env
* z
) {
1148 { int c1
= z
->c
; /* do, line 223 */
1149 { int ret
= r_prelude(z
);
1150 if (ret
== 0) goto lab0
; /* call prelude, line 223 */
1151 if (ret
< 0) return ret
;
1156 { int c2
= z
->c
; /* do, line 224 */
1157 { int ret
= r_mark_regions(z
);
1158 if (ret
== 0) goto lab1
; /* call mark_regions, line 224 */
1159 if (ret
< 0) return ret
;
1164 z
->lb
= z
->c
; z
->c
= z
->l
; /* backwards, line 225 */
1166 { int m3
= z
->l
- z
->c
; (void)m3
; /* do, line 227 */
1167 { int m4
= z
->l
- z
->c
; (void)m4
; /* or, line 237 */
1168 { int m5
= z
->l
- z
->c
; (void)m5
; /* and, line 233 */
1169 { int m6
= z
->l
- z
->c
; (void)m6
; /* or, line 229 */
1170 { int ret
= r_standard_suffix(z
);
1171 if (ret
== 0) goto lab6
; /* call standard_suffix, line 229 */
1172 if (ret
< 0) return ret
;
1177 { int ret
= r_i_verb_suffix(z
);
1178 if (ret
== 0) goto lab7
; /* call i_verb_suffix, line 230 */
1179 if (ret
< 0) return ret
;
1184 { int ret
= r_verb_suffix(z
);
1185 if (ret
== 0) goto lab4
; /* call verb_suffix, line 231 */
1186 if (ret
< 0) return ret
;
1191 { int m_keep
= z
->l
- z
->c
;/* (void) m_keep;*/ /* try, line 234 */
1192 z
->ket
= z
->c
; /* [, line 234 */
1193 { int m7
= z
->l
- z
->c
; (void)m7
; /* or, line 234 */
1194 if (!(eq_s_b(z
, 1, s_41
))) goto lab10
;
1195 z
->bra
= z
->c
; /* ], line 234 */
1196 { int ret
= slice_from_s(z
, 1, s_42
); /* <-, line 234 */
1197 if (ret
< 0) return ret
;
1202 if (!(eq_s_b(z
, 2, s_43
))) { z
->c
= z
->l
- m_keep
; goto lab8
; }
1203 z
->bra
= z
->c
; /* ], line 235 */
1204 { int ret
= slice_from_s(z
, 1, s_44
); /* <-, line 235 */
1205 if (ret
< 0) return ret
;
1216 { int ret
= r_residual_suffix(z
);
1217 if (ret
== 0) goto lab2
; /* call residual_suffix, line 238 */
1218 if (ret
< 0) return ret
;
1225 { int m8
= z
->l
- z
->c
; (void)m8
; /* do, line 243 */
1226 { int ret
= r_un_double(z
);
1227 if (ret
== 0) goto lab11
; /* call un_double, line 243 */
1228 if (ret
< 0) return ret
;
1233 { int m9
= z
->l
- z
->c
; (void)m9
; /* do, line 244 */
1234 { int ret
= r_un_accent(z
);
1235 if (ret
== 0) goto lab12
; /* call un_accent, line 244 */
1236 if (ret
< 0) return ret
;
1242 { int c10
= z
->c
; /* do, line 246 */
1243 { int ret
= r_postlude(z
);
1244 if (ret
== 0) goto lab13
; /* call postlude, line 246 */
1245 if (ret
< 0) return ret
;
1253 extern struct SN_env
* french_UTF_8_create_env(void) { return SN_create_env(0, 3, 0); }
1255 extern void french_UTF_8_close_env(struct SN_env
* z
) { SN_close_env(z
, 0); }