PostgreSQL Source Code git master
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
stem_UTF_8_french.c
Go to the documentation of this file.
1/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
2
3#include "header.h"
4
5#ifdef __cplusplus
6extern "C" {
7#endif
8extern int french_UTF_8_stem(struct SN_env * z);
9#ifdef __cplusplus
10}
11#endif
12static int r_un_accent(struct SN_env * z);
13static int r_un_double(struct SN_env * z);
14static int r_residual_suffix(struct SN_env * z);
15static int r_verb_suffix(struct SN_env * z);
16static int r_i_verb_suffix(struct SN_env * z);
17static int r_standard_suffix(struct SN_env * z);
18static int r_R2(struct SN_env * z);
19static int r_R1(struct SN_env * z);
20static int r_RV(struct SN_env * z);
21static int r_mark_regions(struct SN_env * z);
22static int r_postlude(struct SN_env * z);
23static int r_prelude(struct SN_env * z);
24#ifdef __cplusplus
25extern "C" {
26#endif
27
28
29extern struct SN_env * french_UTF_8_create_env(void);
30extern void french_UTF_8_close_env(struct SN_env * z);
31
32
33#ifdef __cplusplus
34}
35#endif
36static const symbol s_0_0[3] = { 'c', 'o', 'l' };
37static const symbol s_0_1[3] = { 'p', 'a', 'r' };
38static const symbol s_0_2[3] = { 't', 'a', 'p' };
39
40static const struct among a_0[3] =
41{
42{ 3, s_0_0, -1, -1, 0},
43{ 3, s_0_1, -1, -1, 0},
44{ 3, s_0_2, -1, -1, 0}
45};
46
47static const symbol s_1_1[1] = { 'H' };
48static const symbol s_1_2[2] = { 'H', 'e' };
49static const symbol s_1_3[2] = { 'H', 'i' };
50static const symbol s_1_4[1] = { 'I' };
51static const symbol s_1_5[1] = { 'U' };
52static const symbol s_1_6[1] = { 'Y' };
53
54static const struct among a_1[7] =
55{
56{ 0, 0, -1, 7, 0},
57{ 1, s_1_1, 0, 6, 0},
58{ 2, s_1_2, 1, 4, 0},
59{ 2, s_1_3, 1, 5, 0},
60{ 1, s_1_4, 0, 1, 0},
61{ 1, s_1_5, 0, 2, 0},
62{ 1, s_1_6, 0, 3, 0}
63};
64
65static const symbol s_2_0[3] = { 'i', 'q', 'U' };
66static const symbol s_2_1[3] = { 'a', 'b', 'l' };
67static const symbol s_2_2[4] = { 'I', 0xC3, 0xA8, 'r' };
68static const symbol s_2_3[4] = { 'i', 0xC3, 0xA8, 'r' };
69static const symbol s_2_4[3] = { 'e', 'u', 's' };
70static const symbol s_2_5[2] = { 'i', 'v' };
71
72static const struct among a_2[6] =
73{
74{ 3, s_2_0, -1, 3, 0},
75{ 3, s_2_1, -1, 3, 0},
76{ 4, s_2_2, -1, 4, 0},
77{ 4, s_2_3, -1, 4, 0},
78{ 3, s_2_4, -1, 2, 0},
79{ 2, s_2_5, -1, 1, 0}
80};
81
82static const symbol s_3_0[2] = { 'i', 'c' };
83static const symbol s_3_1[4] = { 'a', 'b', 'i', 'l' };
84static const symbol s_3_2[2] = { 'i', 'v' };
85
86static const struct among a_3[3] =
87{
88{ 2, s_3_0, -1, 2, 0},
89{ 4, s_3_1, -1, 1, 0},
90{ 2, s_3_2, -1, 3, 0}
91};
92
93static const symbol s_4_0[4] = { 'i', 'q', 'U', 'e' };
94static const symbol s_4_1[6] = { 'a', 't', 'r', 'i', 'c', 'e' };
95static const symbol s_4_2[4] = { 'a', 'n', 'c', 'e' };
96static const symbol s_4_3[4] = { 'e', 'n', 'c', 'e' };
97static const symbol s_4_4[5] = { 'l', 'o', 'g', 'i', 'e' };
98static const symbol s_4_5[4] = { 'a', 'b', 'l', 'e' };
99static const symbol s_4_6[4] = { 'i', 's', 'm', 'e' };
100static const symbol s_4_7[4] = { 'e', 'u', 's', 'e' };
101static const symbol s_4_8[4] = { 'i', 's', 't', 'e' };
102static const symbol s_4_9[3] = { 'i', 'v', 'e' };
103static const symbol s_4_10[2] = { 'i', 'f' };
104static const symbol s_4_11[5] = { 'u', 's', 'i', 'o', 'n' };
105static const symbol s_4_12[5] = { 'a', 't', 'i', 'o', 'n' };
106static const symbol s_4_13[5] = { 'u', 't', 'i', 'o', 'n' };
107static const symbol s_4_14[5] = { 'a', 't', 'e', 'u', 'r' };
108static const symbol s_4_15[5] = { 'i', 'q', 'U', 'e', 's' };
109static const symbol s_4_16[7] = { 'a', 't', 'r', 'i', 'c', 'e', 's' };
110static const symbol s_4_17[5] = { 'a', 'n', 'c', 'e', 's' };
111static const symbol s_4_18[5] = { 'e', 'n', 'c', 'e', 's' };
112static const symbol s_4_19[6] = { 'l', 'o', 'g', 'i', 'e', 's' };
113static const symbol s_4_20[5] = { 'a', 'b', 'l', 'e', 's' };
114static const symbol s_4_21[5] = { 'i', 's', 'm', 'e', 's' };
115static const symbol s_4_22[5] = { 'e', 'u', 's', 'e', 's' };
116static const symbol s_4_23[5] = { 'i', 's', 't', 'e', 's' };
117static const symbol s_4_24[4] = { 'i', 'v', 'e', 's' };
118static const symbol s_4_25[3] = { 'i', 'f', 's' };
119static const symbol s_4_26[6] = { 'u', 's', 'i', 'o', 'n', 's' };
120static const symbol s_4_27[6] = { 'a', 't', 'i', 'o', 'n', 's' };
121static const symbol s_4_28[6] = { 'u', 't', 'i', 'o', 'n', 's' };
122static const symbol s_4_29[6] = { 'a', 't', 'e', 'u', 'r', 's' };
123static const symbol s_4_30[5] = { 'm', 'e', 'n', 't', 's' };
124static const symbol s_4_31[6] = { 'e', 'm', 'e', 'n', 't', 's' };
125static const symbol s_4_32[9] = { 'i', 's', 's', 'e', 'm', 'e', 'n', 't', 's' };
126static const symbol s_4_33[5] = { 'i', 't', 0xC3, 0xA9, 's' };
127static const symbol s_4_34[4] = { 'm', 'e', 'n', 't' };
128static const symbol s_4_35[5] = { 'e', 'm', 'e', 'n', 't' };
129static const symbol s_4_36[8] = { 'i', 's', 's', 'e', 'm', 'e', 'n', 't' };
130static const symbol s_4_37[6] = { 'a', 'm', 'm', 'e', 'n', 't' };
131static const symbol s_4_38[6] = { 'e', 'm', 'm', 'e', 'n', 't' };
132static const symbol s_4_39[3] = { 'a', 'u', 'x' };
133static const symbol s_4_40[4] = { 'e', 'a', 'u', 'x' };
134static const symbol s_4_41[3] = { 'e', 'u', 'x' };
135static const symbol s_4_42[4] = { 'i', 't', 0xC3, 0xA9 };
136
137static const struct among a_4[43] =
138{
139{ 4, s_4_0, -1, 1, 0},
140{ 6, s_4_1, -1, 2, 0},
141{ 4, s_4_2, -1, 1, 0},
142{ 4, s_4_3, -1, 5, 0},
143{ 5, s_4_4, -1, 3, 0},
144{ 4, s_4_5, -1, 1, 0},
145{ 4, s_4_6, -1, 1, 0},
146{ 4, s_4_7, -1, 11, 0},
147{ 4, s_4_8, -1, 1, 0},
148{ 3, s_4_9, -1, 8, 0},
149{ 2, s_4_10, -1, 8, 0},
150{ 5, s_4_11, -1, 4, 0},
151{ 5, s_4_12, -1, 2, 0},
152{ 5, s_4_13, -1, 4, 0},
153{ 5, s_4_14, -1, 2, 0},
154{ 5, s_4_15, -1, 1, 0},
155{ 7, s_4_16, -1, 2, 0},
156{ 5, s_4_17, -1, 1, 0},
157{ 5, s_4_18, -1, 5, 0},
158{ 6, s_4_19, -1, 3, 0},
159{ 5, s_4_20, -1, 1, 0},
160{ 5, s_4_21, -1, 1, 0},
161{ 5, s_4_22, -1, 11, 0},
162{ 5, s_4_23, -1, 1, 0},
163{ 4, s_4_24, -1, 8, 0},
164{ 3, s_4_25, -1, 8, 0},
165{ 6, s_4_26, -1, 4, 0},
166{ 6, s_4_27, -1, 2, 0},
167{ 6, s_4_28, -1, 4, 0},
168{ 6, s_4_29, -1, 2, 0},
169{ 5, s_4_30, -1, 15, 0},
170{ 6, s_4_31, 30, 6, 0},
171{ 9, s_4_32, 31, 12, 0},
172{ 5, s_4_33, -1, 7, 0},
173{ 4, s_4_34, -1, 15, 0},
174{ 5, s_4_35, 34, 6, 0},
175{ 8, s_4_36, 35, 12, 0},
176{ 6, s_4_37, 34, 13, 0},
177{ 6, s_4_38, 34, 14, 0},
178{ 3, s_4_39, -1, 10, 0},
179{ 4, s_4_40, 39, 9, 0},
180{ 3, s_4_41, -1, 1, 0},
181{ 4, s_4_42, -1, 7, 0}
182};
183
184static const symbol s_5_0[3] = { 'i', 'r', 'a' };
185static const symbol s_5_1[2] = { 'i', 'e' };
186static const symbol s_5_2[4] = { 'i', 's', 's', 'e' };
187static const symbol s_5_3[7] = { 'i', 's', 's', 'a', 'n', 't', 'e' };
188static const symbol s_5_4[1] = { 'i' };
189static const symbol s_5_5[4] = { 'i', 'r', 'a', 'i' };
190static const symbol s_5_6[2] = { 'i', 'r' };
191static const symbol s_5_7[4] = { 'i', 'r', 'a', 's' };
192static const symbol s_5_8[3] = { 'i', 'e', 's' };
193static const symbol s_5_9[5] = { 0xC3, 0xAE, 'm', 'e', 's' };
194static const symbol s_5_10[5] = { 'i', 's', 's', 'e', 's' };
195static const symbol s_5_11[8] = { 'i', 's', 's', 'a', 'n', 't', 'e', 's' };
196static const symbol s_5_12[5] = { 0xC3, 0xAE, 't', 'e', 's' };
197static const symbol s_5_13[2] = { 'i', 's' };
198static const symbol s_5_14[5] = { 'i', 'r', 'a', 'i', 's' };
199static const symbol s_5_15[6] = { 'i', 's', 's', 'a', 'i', 's' };
200static const symbol s_5_16[6] = { 'i', 'r', 'i', 'o', 'n', 's' };
201static const symbol s_5_17[7] = { 'i', 's', 's', 'i', 'o', 'n', 's' };
202static const symbol s_5_18[5] = { 'i', 'r', 'o', 'n', 's' };
203static const symbol s_5_19[6] = { 'i', 's', 's', 'o', 'n', 's' };
204static const symbol s_5_20[7] = { 'i', 's', 's', 'a', 'n', 't', 's' };
205static const symbol s_5_21[2] = { 'i', 't' };
206static const symbol s_5_22[5] = { 'i', 'r', 'a', 'i', 't' };
207static const symbol s_5_23[6] = { 'i', 's', 's', 'a', 'i', 't' };
208static const symbol s_5_24[6] = { 'i', 's', 's', 'a', 'n', 't' };
209static const symbol s_5_25[7] = { 'i', 'r', 'a', 'I', 'e', 'n', 't' };
210static const symbol s_5_26[8] = { 'i', 's', 's', 'a', 'I', 'e', 'n', 't' };
211static const symbol s_5_27[5] = { 'i', 'r', 'e', 'n', 't' };
212static const symbol s_5_28[6] = { 'i', 's', 's', 'e', 'n', 't' };
213static const symbol s_5_29[5] = { 'i', 'r', 'o', 'n', 't' };
214static const symbol s_5_30[3] = { 0xC3, 0xAE, 't' };
215static const symbol s_5_31[5] = { 'i', 'r', 'i', 'e', 'z' };
216static const symbol s_5_32[6] = { 'i', 's', 's', 'i', 'e', 'z' };
217static const symbol s_5_33[4] = { 'i', 'r', 'e', 'z' };
218static const symbol s_5_34[5] = { 'i', 's', 's', 'e', 'z' };
219
220static const struct among a_5[35] =
221{
222{ 3, s_5_0, -1, 1, 0},
223{ 2, s_5_1, -1, 1, 0},
224{ 4, s_5_2, -1, 1, 0},
225{ 7, s_5_3, -1, 1, 0},
226{ 1, s_5_4, -1, 1, 0},
227{ 4, s_5_5, 4, 1, 0},
228{ 2, s_5_6, -1, 1, 0},
229{ 4, s_5_7, -1, 1, 0},
230{ 3, s_5_8, -1, 1, 0},
231{ 5, s_5_9, -1, 1, 0},
232{ 5, s_5_10, -1, 1, 0},
233{ 8, s_5_11, -1, 1, 0},
234{ 5, s_5_12, -1, 1, 0},
235{ 2, s_5_13, -1, 1, 0},
236{ 5, s_5_14, 13, 1, 0},
237{ 6, s_5_15, 13, 1, 0},
238{ 6, s_5_16, -1, 1, 0},
239{ 7, s_5_17, -1, 1, 0},
240{ 5, s_5_18, -1, 1, 0},
241{ 6, s_5_19, -1, 1, 0},
242{ 7, s_5_20, -1, 1, 0},
243{ 2, s_5_21, -1, 1, 0},
244{ 5, s_5_22, 21, 1, 0},
245{ 6, s_5_23, 21, 1, 0},
246{ 6, s_5_24, -1, 1, 0},
247{ 7, s_5_25, -1, 1, 0},
248{ 8, s_5_26, -1, 1, 0},
249{ 5, s_5_27, -1, 1, 0},
250{ 6, s_5_28, -1, 1, 0},
251{ 5, s_5_29, -1, 1, 0},
252{ 3, s_5_30, -1, 1, 0},
253{ 5, s_5_31, -1, 1, 0},
254{ 6, s_5_32, -1, 1, 0},
255{ 4, s_5_33, -1, 1, 0},
256{ 5, s_5_34, -1, 1, 0}
257};
258
259static const symbol s_6_0[1] = { 'a' };
260static const symbol s_6_1[3] = { 'e', 'r', 'a' };
261static const symbol s_6_2[4] = { 'a', 's', 's', 'e' };
262static const symbol s_6_3[4] = { 'a', 'n', 't', 'e' };
263static const symbol s_6_4[3] = { 0xC3, 0xA9, 'e' };
264static const symbol s_6_5[2] = { 'a', 'i' };
265static const symbol s_6_6[4] = { 'e', 'r', 'a', 'i' };
266static const symbol s_6_7[2] = { 'e', 'r' };
267static const symbol s_6_8[2] = { 'a', 's' };
268static const symbol s_6_9[4] = { 'e', 'r', 'a', 's' };
269static const symbol s_6_10[5] = { 0xC3, 0xA2, 'm', 'e', 's' };
270static const symbol s_6_11[5] = { 'a', 's', 's', 'e', 's' };
271static const symbol s_6_12[5] = { 'a', 'n', 't', 'e', 's' };
272static const symbol s_6_13[5] = { 0xC3, 0xA2, 't', 'e', 's' };
273static const symbol s_6_14[4] = { 0xC3, 0xA9, 'e', 's' };
274static const symbol s_6_15[3] = { 'a', 'i', 's' };
275static const symbol s_6_16[5] = { 'e', 'r', 'a', 'i', 's' };
276static const symbol s_6_17[4] = { 'i', 'o', 'n', 's' };
277static const symbol s_6_18[6] = { 'e', 'r', 'i', 'o', 'n', 's' };
278static const symbol s_6_19[7] = { 'a', 's', 's', 'i', 'o', 'n', 's' };
279static const symbol s_6_20[5] = { 'e', 'r', 'o', 'n', 's' };
280static const symbol s_6_21[4] = { 'a', 'n', 't', 's' };
281static const symbol s_6_22[3] = { 0xC3, 0xA9, 's' };
282static const symbol s_6_23[3] = { 'a', 'i', 't' };
283static const symbol s_6_24[5] = { 'e', 'r', 'a', 'i', 't' };
284static const symbol s_6_25[3] = { 'a', 'n', 't' };
285static const symbol s_6_26[5] = { 'a', 'I', 'e', 'n', 't' };
286static const symbol s_6_27[7] = { 'e', 'r', 'a', 'I', 'e', 'n', 't' };
287static const symbol s_6_28[6] = { 0xC3, 0xA8, 'r', 'e', 'n', 't' };
288static const symbol s_6_29[6] = { 'a', 's', 's', 'e', 'n', 't' };
289static const symbol s_6_30[5] = { 'e', 'r', 'o', 'n', 't' };
290static const symbol s_6_31[3] = { 0xC3, 0xA2, 't' };
291static const symbol s_6_32[2] = { 'e', 'z' };
292static const symbol s_6_33[3] = { 'i', 'e', 'z' };
293static const symbol s_6_34[5] = { 'e', 'r', 'i', 'e', 'z' };
294static const symbol s_6_35[6] = { 'a', 's', 's', 'i', 'e', 'z' };
295static const symbol s_6_36[4] = { 'e', 'r', 'e', 'z' };
296static const symbol s_6_37[2] = { 0xC3, 0xA9 };
297
298static const struct among a_6[38] =
299{
300{ 1, s_6_0, -1, 3, 0},
301{ 3, s_6_1, 0, 2, 0},
302{ 4, s_6_2, -1, 3, 0},
303{ 4, s_6_3, -1, 3, 0},
304{ 3, s_6_4, -1, 2, 0},
305{ 2, s_6_5, -1, 3, 0},
306{ 4, s_6_6, 5, 2, 0},
307{ 2, s_6_7, -1, 2, 0},
308{ 2, s_6_8, -1, 3, 0},
309{ 4, s_6_9, 8, 2, 0},
310{ 5, s_6_10, -1, 3, 0},
311{ 5, s_6_11, -1, 3, 0},
312{ 5, s_6_12, -1, 3, 0},
313{ 5, s_6_13, -1, 3, 0},
314{ 4, s_6_14, -1, 2, 0},
315{ 3, s_6_15, -1, 3, 0},
316{ 5, s_6_16, 15, 2, 0},
317{ 4, s_6_17, -1, 1, 0},
318{ 6, s_6_18, 17, 2, 0},
319{ 7, s_6_19, 17, 3, 0},
320{ 5, s_6_20, -1, 2, 0},
321{ 4, s_6_21, -1, 3, 0},
322{ 3, s_6_22, -1, 2, 0},
323{ 3, s_6_23, -1, 3, 0},
324{ 5, s_6_24, 23, 2, 0},
325{ 3, s_6_25, -1, 3, 0},
326{ 5, s_6_26, -1, 3, 0},
327{ 7, s_6_27, 26, 2, 0},
328{ 6, s_6_28, -1, 2, 0},
329{ 6, s_6_29, -1, 3, 0},
330{ 5, s_6_30, -1, 2, 0},
331{ 3, s_6_31, -1, 3, 0},
332{ 2, s_6_32, -1, 2, 0},
333{ 3, s_6_33, 32, 2, 0},
334{ 5, s_6_34, 33, 2, 0},
335{ 6, s_6_35, 33, 3, 0},
336{ 4, s_6_36, 32, 2, 0},
337{ 2, s_6_37, -1, 2, 0}
338};
339
340static const symbol s_7_0[1] = { 'e' };
341static const symbol s_7_1[5] = { 'I', 0xC3, 0xA8, 'r', 'e' };
342static const symbol s_7_2[5] = { 'i', 0xC3, 0xA8, 'r', 'e' };
343static const symbol s_7_3[3] = { 'i', 'o', 'n' };
344static const symbol s_7_4[3] = { 'I', 'e', 'r' };
345static const symbol s_7_5[3] = { 'i', 'e', 'r' };
346
347static const struct among a_7[6] =
348{
349{ 1, s_7_0, -1, 3, 0},
350{ 5, s_7_1, 0, 2, 0},
351{ 5, s_7_2, 0, 2, 0},
352{ 3, s_7_3, -1, 1, 0},
353{ 3, s_7_4, -1, 2, 0},
354{ 3, s_7_5, -1, 2, 0}
355};
356
357static const symbol s_8_0[3] = { 'e', 'l', 'l' };
358static const symbol s_8_1[4] = { 'e', 'i', 'l', 'l' };
359static const symbol s_8_2[3] = { 'e', 'n', 'n' };
360static const symbol s_8_3[3] = { 'o', 'n', 'n' };
361static const symbol s_8_4[3] = { 'e', 't', 't' };
362
363static const struct among a_8[5] =
364{
365{ 3, s_8_0, -1, -1, 0},
366{ 4, s_8_1, -1, -1, 0},
367{ 3, s_8_2, -1, -1, 0},
368{ 3, s_8_3, -1, -1, 0},
369{ 3, s_8_4, -1, -1, 0}
370};
371
372static const unsigned char g_v[] = { 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 130, 103, 8, 5 };
373
374static const unsigned char g_keep_with_s[] = { 1, 65, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 };
375
376static const symbol s_0[] = { 'U' };
377static const symbol s_1[] = { 'I' };
378static const symbol s_2[] = { 'Y' };
379static const symbol s_3[] = { 0xC3, 0xAB };
380static const symbol s_4[] = { 'H', 'e' };
381static const symbol s_5[] = { 0xC3, 0xAF };
382static const symbol s_6[] = { 'H', 'i' };
383static const symbol s_7[] = { 'Y' };
384static const symbol s_8[] = { 'U' };
385static const symbol s_9[] = { 'i' };
386static const symbol s_10[] = { 'u' };
387static const symbol s_11[] = { 'y' };
388static const symbol s_12[] = { 0xC3, 0xAB };
389static const symbol s_13[] = { 0xC3, 0xAF };
390static const symbol s_14[] = { 'i', 'c' };
391static const symbol s_15[] = { 'i', 'q', 'U' };
392static const symbol s_16[] = { 'l', 'o', 'g' };
393static const symbol s_17[] = { 'u' };
394static const symbol s_18[] = { 'e', 'n', 't' };
395static const symbol s_19[] = { 'a', 't' };
396static const symbol s_20[] = { 'e', 'u', 'x' };
397static const symbol s_21[] = { 'i' };
398static const symbol s_22[] = { 'a', 'b', 'l' };
399static const symbol s_23[] = { 'i', 'q', 'U' };
400static const symbol s_24[] = { 'a', 't' };
401static const symbol s_25[] = { 'i', 'c' };
402static const symbol s_26[] = { 'i', 'q', 'U' };
403static const symbol s_27[] = { 'e', 'a', 'u' };
404static const symbol s_28[] = { 'a', 'l' };
405static const symbol s_29[] = { 'e', 'u', 'x' };
406static const symbol s_30[] = { 'a', 'n', 't' };
407static const symbol s_31[] = { 'e', 'n', 't' };
408static const symbol s_32[] = { 'H', 'i' };
409static const symbol s_33[] = { 'i' };
410static const symbol s_34[] = { 0xC3, 0xA9 };
411static const symbol s_35[] = { 0xC3, 0xA8 };
412static const symbol s_36[] = { 'e' };
413static const symbol s_37[] = { 'i' };
414static const symbol s_38[] = { 0xC3, 0xA7 };
415static const symbol s_39[] = { 'c' };
416
417static int r_prelude(struct SN_env * z) {
418 while(1) {
419 int c1 = z->c;
420 while(1) {
421 int c2 = z->c;
422 { int c3 = z->c;
423 if (in_grouping_U(z, g_v, 97, 251, 0)) goto lab3;
424 z->bra = z->c;
425 { int c4 = z->c;
426 if (z->c == z->l || z->p[z->c] != 'u') goto lab5;
427 z->c++;
428 z->ket = z->c;
429 if (in_grouping_U(z, g_v, 97, 251, 0)) goto lab5;
430 { int ret = slice_from_s(z, 1, s_0);
431 if (ret < 0) return ret;
432 }
433 goto lab4;
434 lab5:
435 z->c = c4;
436 if (z->c == z->l || z->p[z->c] != 'i') goto lab6;
437 z->c++;
438 z->ket = z->c;
439 if (in_grouping_U(z, g_v, 97, 251, 0)) goto lab6;
440 { int ret = slice_from_s(z, 1, s_1);
441 if (ret < 0) return ret;
442 }
443 goto lab4;
444 lab6:
445 z->c = c4;
446 if (z->c == z->l || z->p[z->c] != 'y') goto lab3;
447 z->c++;
448 z->ket = z->c;
449 { int ret = slice_from_s(z, 1, s_2);
450 if (ret < 0) return ret;
451 }
452 }
453 lab4:
454 goto lab2;
455 lab3:
456 z->c = c3;
457 z->bra = z->c;
458 if (!(eq_s(z, 2, s_3))) goto lab7;
459 z->ket = z->c;
460 { int ret = slice_from_s(z, 2, s_4);
461 if (ret < 0) return ret;
462 }
463 goto lab2;
464 lab7:
465 z->c = c3;
466 z->bra = z->c;
467 if (!(eq_s(z, 2, s_5))) goto lab8;
468 z->ket = z->c;
469 { int ret = slice_from_s(z, 2, s_6);
470 if (ret < 0) return ret;
471 }
472 goto lab2;
473 lab8:
474 z->c = c3;
475 z->bra = z->c;
476 if (z->c == z->l || z->p[z->c] != 'y') goto lab9;
477 z->c++;
478 z->ket = z->c;
479 if (in_grouping_U(z, g_v, 97, 251, 0)) goto lab9;
480 { int ret = slice_from_s(z, 1, s_7);
481 if (ret < 0) return ret;
482 }
483 goto lab2;
484 lab9:
485 z->c = c3;
486 if (z->c == z->l || z->p[z->c] != 'q') goto lab1;
487 z->c++;
488 z->bra = z->c;
489 if (z->c == z->l || z->p[z->c] != 'u') goto lab1;
490 z->c++;
491 z->ket = z->c;
492 { int ret = slice_from_s(z, 1, s_8);
493 if (ret < 0) return ret;
494 }
495 }
496 lab2:
497 z->c = c2;
498 break;
499 lab1:
500 z->c = c2;
501 { int ret = skip_utf8(z->p, z->c, z->l, 1);
502 if (ret < 0) goto lab0;
503 z->c = ret;
504 }
505 }
506 continue;
507 lab0:
508 z->c = c1;
509 break;
510 }
511 return 1;
512}
513
514static int r_mark_regions(struct SN_env * z) {
515 z->I[2] = z->l;
516 z->I[1] = z->l;
517 z->I[0] = z->l;
518 { int c1 = z->c;
519 { int c2 = z->c;
520 if (in_grouping_U(z, g_v, 97, 251, 0)) goto lab2;
521 if (in_grouping_U(z, g_v, 97, 251, 0)) goto lab2;
522 { int ret = skip_utf8(z->p, z->c, z->l, 1);
523 if (ret < 0) goto lab2;
524 z->c = ret;
525 }
526 goto lab1;
527 lab2:
528 z->c = c2;
529 if (z->c + 2 >= z->l || z->p[z->c + 2] >> 5 != 3 || !((331776 >> (z->p[z->c + 2] & 0x1f)) & 1)) goto lab3;
530 if (!(find_among(z, a_0, 3))) goto lab3;
531 goto lab1;
532 lab3:
533 z->c = c2;
534 { int ret = skip_utf8(z->p, z->c, z->l, 1);
535 if (ret < 0) goto lab0;
536 z->c = ret;
537 }
538 {
539 int ret = out_grouping_U(z, g_v, 97, 251, 1);
540 if (ret < 0) goto lab0;
541 z->c += ret;
542 }
543 }
544 lab1:
545 z->I[2] = z->c;
546 lab0:
547 z->c = c1;
548 }
549 { int c3 = z->c;
550 {
551 int ret = out_grouping_U(z, g_v, 97, 251, 1);
552 if (ret < 0) goto lab4;
553 z->c += ret;
554 }
555 {
556 int ret = in_grouping_U(z, g_v, 97, 251, 1);
557 if (ret < 0) goto lab4;
558 z->c += ret;
559 }
560 z->I[1] = z->c;
561 {
562 int ret = out_grouping_U(z, g_v, 97, 251, 1);
563 if (ret < 0) goto lab4;
564 z->c += ret;
565 }
566 {
567 int ret = in_grouping_U(z, g_v, 97, 251, 1);
568 if (ret < 0) goto lab4;
569 z->c += ret;
570 }
571 z->I[0] = z->c;
572 lab4:
573 z->c = c3;
574 }
575 return 1;
576}
577
578static int r_postlude(struct SN_env * z) {
579 int among_var;
580 while(1) {
581 int c1 = z->c;
582 z->bra = z->c;
583 if (z->c >= z->l || z->p[z->c + 0] >> 5 != 2 || !((35652352 >> (z->p[z->c + 0] & 0x1f)) & 1)) among_var = 7; else
584 among_var = find_among(z, a_1, 7);
585 if (!(among_var)) goto lab0;
586 z->ket = z->c;
587 switch (among_var) {
588 case 1:
589 { int ret = slice_from_s(z, 1, s_9);
590 if (ret < 0) return ret;
591 }
592 break;
593 case 2:
594 { int ret = slice_from_s(z, 1, s_10);
595 if (ret < 0) return ret;
596 }
597 break;
598 case 3:
599 { int ret = slice_from_s(z, 1, s_11);
600 if (ret < 0) return ret;
601 }
602 break;
603 case 4:
604 { int ret = slice_from_s(z, 2, s_12);
605 if (ret < 0) return ret;
606 }
607 break;
608 case 5:
609 { int ret = slice_from_s(z, 2, s_13);
610 if (ret < 0) return ret;
611 }
612 break;
613 case 6:
614 { int ret = slice_del(z);
615 if (ret < 0) return ret;
616 }
617 break;
618 case 7:
619 { int ret = skip_utf8(z->p, z->c, z->l, 1);
620 if (ret < 0) goto lab0;
621 z->c = ret;
622 }
623 break;
624 }
625 continue;
626 lab0:
627 z->c = c1;
628 break;
629 }
630 return 1;
631}
632
633static int r_RV(struct SN_env * z) {
634 if (!(z->I[2] <= z->c)) return 0;
635 return 1;
636}
637
638static int r_R1(struct SN_env * z) {
639 if (!(z->I[1] <= z->c)) return 0;
640 return 1;
641}
642
643static int r_R2(struct SN_env * z) {
644 if (!(z->I[0] <= z->c)) return 0;
645 return 1;
646}
647
648static int r_standard_suffix(struct SN_env * z) {
649 int among_var;
650 z->ket = z->c;
651 among_var = find_among_b(z, a_4, 43);
652 if (!(among_var)) return 0;
653 z->bra = z->c;
654 switch (among_var) {
655 case 1:
656 { int ret = r_R2(z);
657 if (ret <= 0) return ret;
658 }
659 { int ret = slice_del(z);
660 if (ret < 0) return ret;
661 }
662 break;
663 case 2:
664 { int ret = r_R2(z);
665 if (ret <= 0) return ret;
666 }
667 { int ret = slice_del(z);
668 if (ret < 0) return ret;
669 }
670 { int m1 = z->l - z->c; (void)m1;
671 z->ket = z->c;
672 if (!(eq_s_b(z, 2, s_14))) { z->c = z->l - m1; goto lab0; }
673 z->bra = z->c;
674 { int m2 = z->l - z->c; (void)m2;
675 { int ret = r_R2(z);
676 if (ret == 0) goto lab2;
677 if (ret < 0) return ret;
678 }
679 { int ret = slice_del(z);
680 if (ret < 0) return ret;
681 }
682 goto lab1;
683 lab2:
684 z->c = z->l - m2;
685 { int ret = slice_from_s(z, 3, s_15);
686 if (ret < 0) return ret;
687 }
688 }
689 lab1:
690 lab0:
691 ;
692 }
693 break;
694 case 3:
695 { int ret = r_R2(z);
696 if (ret <= 0) return ret;
697 }
698 { int ret = slice_from_s(z, 3, s_16);
699 if (ret < 0) return ret;
700 }
701 break;
702 case 4:
703 { int ret = r_R2(z);
704 if (ret <= 0) return ret;
705 }
706 { int ret = slice_from_s(z, 1, s_17);
707 if (ret < 0) return ret;
708 }
709 break;
710 case 5:
711 { int ret = r_R2(z);
712 if (ret <= 0) return ret;
713 }
714 { int ret = slice_from_s(z, 3, s_18);
715 if (ret < 0) return ret;
716 }
717 break;
718 case 6:
719 { int ret = r_RV(z);
720 if (ret <= 0) return ret;
721 }
722 { int ret = slice_del(z);
723 if (ret < 0) return ret;
724 }
725 { int m3 = z->l - z->c; (void)m3;
726 z->ket = z->c;
727 among_var = find_among_b(z, a_2, 6);
728 if (!(among_var)) { z->c = z->l - m3; goto lab3; }
729 z->bra = z->c;
730 switch (among_var) {
731 case 1:
732 { int ret = r_R2(z);
733 if (ret == 0) { z->c = z->l - m3; goto lab3; }
734 if (ret < 0) return ret;
735 }
736 { int ret = slice_del(z);
737 if (ret < 0) return ret;
738 }
739 z->ket = z->c;
740 if (!(eq_s_b(z, 2, s_19))) { z->c = z->l - m3; goto lab3; }
741 z->bra = z->c;
742 { int ret = r_R2(z);
743 if (ret == 0) { z->c = z->l - m3; goto lab3; }
744 if (ret < 0) return ret;
745 }
746 { int ret = slice_del(z);
747 if (ret < 0) return ret;
748 }
749 break;
750 case 2:
751 { int m4 = z->l - z->c; (void)m4;
752 { int ret = r_R2(z);
753 if (ret == 0) goto lab5;
754 if (ret < 0) return ret;
755 }
756 { int ret = slice_del(z);
757 if (ret < 0) return ret;
758 }
759 goto lab4;
760 lab5:
761 z->c = z->l - m4;
762 { int ret = r_R1(z);
763 if (ret == 0) { z->c = z->l - m3; goto lab3; }
764 if (ret < 0) return ret;
765 }
766 { int ret = slice_from_s(z, 3, s_20);
767 if (ret < 0) return ret;
768 }
769 }
770 lab4:
771 break;
772 case 3:
773 { int ret = r_R2(z);
774 if (ret == 0) { z->c = z->l - m3; goto lab3; }
775 if (ret < 0) return ret;
776 }
777 { int ret = slice_del(z);
778 if (ret < 0) return ret;
779 }
780 break;
781 case 4:
782 { int ret = r_RV(z);
783 if (ret == 0) { z->c = z->l - m3; goto lab3; }
784 if (ret < 0) return ret;
785 }
786 { int ret = slice_from_s(z, 1, s_21);
787 if (ret < 0) return ret;
788 }
789 break;
790 }
791 lab3:
792 ;
793 }
794 break;
795 case 7:
796 { int ret = r_R2(z);
797 if (ret <= 0) return ret;
798 }
799 { int ret = slice_del(z);
800 if (ret < 0) return ret;
801 }
802 { int m5 = z->l - z->c; (void)m5;
803 z->ket = z->c;
804 if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4198408 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l - m5; goto lab6; }
805 among_var = find_among_b(z, a_3, 3);
806 if (!(among_var)) { z->c = z->l - m5; goto lab6; }
807 z->bra = z->c;
808 switch (among_var) {
809 case 1:
810 { int m6 = z->l - z->c; (void)m6;
811 { int ret = r_R2(z);
812 if (ret == 0) goto lab8;
813 if (ret < 0) return ret;
814 }
815 { int ret = slice_del(z);
816 if (ret < 0) return ret;
817 }
818 goto lab7;
819 lab8:
820 z->c = z->l - m6;
821 { int ret = slice_from_s(z, 3, s_22);
822 if (ret < 0) return ret;
823 }
824 }
825 lab7:
826 break;
827 case 2:
828 { int m7 = z->l - z->c; (void)m7;
829 { int ret = r_R2(z);
830 if (ret == 0) goto lab10;
831 if (ret < 0) return ret;
832 }
833 { int ret = slice_del(z);
834 if (ret < 0) return ret;
835 }
836 goto lab9;
837 lab10:
838 z->c = z->l - m7;
839 { int ret = slice_from_s(z, 3, s_23);
840 if (ret < 0) return ret;
841 }
842 }
843 lab9:
844 break;
845 case 3:
846 { int ret = r_R2(z);
847 if (ret == 0) { z->c = z->l - m5; goto lab6; }
848 if (ret < 0) return ret;
849 }
850 { int ret = slice_del(z);
851 if (ret < 0) return ret;
852 }
853 break;
854 }
855 lab6:
856 ;
857 }
858 break;
859 case 8:
860 { int ret = r_R2(z);
861 if (ret <= 0) return ret;
862 }
863 { int ret = slice_del(z);
864 if (ret < 0) return ret;
865 }
866 { int m8 = z->l - z->c; (void)m8;
867 z->ket = z->c;
868 if (!(eq_s_b(z, 2, s_24))) { z->c = z->l - m8; goto lab11; }
869 z->bra = z->c;
870 { int ret = r_R2(z);
871 if (ret == 0) { z->c = z->l - m8; goto lab11; }
872 if (ret < 0) return ret;
873 }
874 { int ret = slice_del(z);
875 if (ret < 0) return ret;
876 }
877 z->ket = z->c;
878 if (!(eq_s_b(z, 2, s_25))) { z->c = z->l - m8; goto lab11; }
879 z->bra = z->c;
880 { int m9 = z->l - z->c; (void)m9;
881 { int ret = r_R2(z);
882 if (ret == 0) goto lab13;
883 if (ret < 0) return ret;
884 }
885 { int ret = slice_del(z);
886 if (ret < 0) return ret;
887 }
888 goto lab12;
889 lab13:
890 z->c = z->l - m9;
891 { int ret = slice_from_s(z, 3, s_26);
892 if (ret < 0) return ret;
893 }
894 }
895 lab12:
896 lab11:
897 ;
898 }
899 break;
900 case 9:
901 { int ret = slice_from_s(z, 3, s_27);
902 if (ret < 0) return ret;
903 }
904 break;
905 case 10:
906 { int ret = r_R1(z);
907 if (ret <= 0) return ret;
908 }
909 { int ret = slice_from_s(z, 2, s_28);
910 if (ret < 0) return ret;
911 }
912 break;
913 case 11:
914 { int m10 = z->l - z->c; (void)m10;
915 { int ret = r_R2(z);
916 if (ret == 0) goto lab15;
917 if (ret < 0) return ret;
918 }
919 { int ret = slice_del(z);
920 if (ret < 0) return ret;
921 }
922 goto lab14;
923 lab15:
924 z->c = z->l - m10;
925 { int ret = r_R1(z);
926 if (ret <= 0) return ret;
927 }
928 { int ret = slice_from_s(z, 3, s_29);
929 if (ret < 0) return ret;
930 }
931 }
932 lab14:
933 break;
934 case 12:
935 { int ret = r_R1(z);
936 if (ret <= 0) return ret;
937 }
938 if (out_grouping_b_U(z, g_v, 97, 251, 0)) return 0;
939 { int ret = slice_del(z);
940 if (ret < 0) return ret;
941 }
942 break;
943 case 13:
944 { int ret = r_RV(z);
945 if (ret <= 0) return ret;
946 }
947 { int ret = slice_from_s(z, 3, s_30);
948 if (ret < 0) return ret;
949 }
950 return 0;
951 break;
952 case 14:
953 { int ret = r_RV(z);
954 if (ret <= 0) return ret;
955 }
956 { int ret = slice_from_s(z, 3, s_31);
957 if (ret < 0) return ret;
958 }
959 return 0;
960 break;
961 case 15:
962 { int m_test11 = z->l - z->c;
963 if (in_grouping_b_U(z, g_v, 97, 251, 0)) return 0;
964 { int ret = r_RV(z);
965 if (ret <= 0) return ret;
966 }
967 z->c = z->l - m_test11;
968 }
969 { int ret = slice_del(z);
970 if (ret < 0) return ret;
971 }
972 return 0;
973 break;
974 }
975 return 1;
976}
977
978static int r_i_verb_suffix(struct SN_env * z) {
979
980 { int mlimit1;
981 if (z->c < z->I[2]) return 0;
982 mlimit1 = z->lb; z->lb = z->I[2];
983 z->ket = z->c;
984 if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((68944418 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit1; return 0; }
985 if (!(find_among_b(z, a_5, 35))) { z->lb = mlimit1; return 0; }
986 z->bra = z->c;
987 { int m2 = z->l - z->c; (void)m2;
988 if (z->c <= z->lb || z->p[z->c - 1] != 'H') goto lab0;
989 z->c--;
990 { z->lb = mlimit1; return 0; }
991 lab0:
992 z->c = z->l - m2;
993 }
994 if (out_grouping_b_U(z, g_v, 97, 251, 0)) { z->lb = mlimit1; return 0; }
995 { int ret = slice_del(z);
996 if (ret < 0) return ret;
997 }
998 z->lb = mlimit1;
999 }
1000 return 1;
1001}
1002
1003static int r_verb_suffix(struct SN_env * z) {
1004 int among_var;
1005
1006 { int mlimit1;
1007 if (z->c < z->I[2]) return 0;
1008 mlimit1 = z->lb; z->lb = z->I[2];
1009 z->ket = z->c;
1010 among_var = find_among_b(z, a_6, 38);
1011 if (!(among_var)) { z->lb = mlimit1; return 0; }
1012 z->bra = z->c;
1013 switch (among_var) {
1014 case 1:
1015 { int ret = r_R2(z);
1016 if (ret == 0) { z->lb = mlimit1; return 0; }
1017 if (ret < 0) return ret;
1018 }
1019 { int ret = slice_del(z);
1020 if (ret < 0) return ret;
1021 }
1022 break;
1023 case 2:
1024 { int ret = slice_del(z);
1025 if (ret < 0) return ret;
1026 }
1027 break;
1028 case 3:
1029 { int ret = slice_del(z);
1030 if (ret < 0) return ret;
1031 }
1032 { int m2 = z->l - z->c; (void)m2;
1033 z->ket = z->c;
1034 if (z->c <= z->lb || z->p[z->c - 1] != 'e') { z->c = z->l - m2; goto lab0; }
1035 z->c--;
1036 z->bra = z->c;
1037 { int ret = slice_del(z);
1038 if (ret < 0) return ret;
1039 }
1040 lab0:
1041 ;
1042 }
1043 break;
1044 }
1045 z->lb = mlimit1;
1046 }
1047 return 1;
1048}
1049
1050static int r_residual_suffix(struct SN_env * z) {
1051 int among_var;
1052 { int m1 = z->l - z->c; (void)m1;
1053 z->ket = z->c;
1054 if (z->c <= z->lb || z->p[z->c - 1] != 's') { z->c = z->l - m1; goto lab0; }
1055 z->c--;
1056 z->bra = z->c;
1057 { int m_test2 = z->l - z->c;
1058 { int m3 = z->l - z->c; (void)m3;
1059 if (!(eq_s_b(z, 2, s_32))) goto lab2;
1060 goto lab1;
1061 lab2:
1062 z->c = z->l - m3;
1063 if (out_grouping_b_U(z, g_keep_with_s, 97, 232, 0)) { z->c = z->l - m1; goto lab0; }
1064 }
1065 lab1:
1066 z->c = z->l - m_test2;
1067 }
1068 { int ret = slice_del(z);
1069 if (ret < 0) return ret;
1070 }
1071 lab0:
1072 ;
1073 }
1074
1075 { int mlimit4;
1076 if (z->c < z->I[2]) return 0;
1077 mlimit4 = z->lb; z->lb = z->I[2];
1078 z->ket = z->c;
1079 if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((278560 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit4; return 0; }
1080 among_var = find_among_b(z, a_7, 6);
1081 if (!(among_var)) { z->lb = mlimit4; return 0; }
1082 z->bra = z->c;
1083 switch (among_var) {
1084 case 1:
1085 { int ret = r_R2(z);
1086 if (ret == 0) { z->lb = mlimit4; return 0; }
1087 if (ret < 0) return ret;
1088 }
1089 { int m5 = z->l - z->c; (void)m5;
1090 if (z->c <= z->lb || z->p[z->c - 1] != 's') goto lab4;
1091 z->c--;
1092 goto lab3;
1093 lab4:
1094 z->c = z->l - m5;
1095 if (z->c <= z->lb || z->p[z->c - 1] != 't') { z->lb = mlimit4; return 0; }
1096 z->c--;
1097 }
1098 lab3:
1099 { int ret = slice_del(z);
1100 if (ret < 0) return ret;
1101 }
1102 break;
1103 case 2:
1104 { int ret = slice_from_s(z, 1, s_33);
1105 if (ret < 0) return ret;
1106 }
1107 break;
1108 case 3:
1109 { int ret = slice_del(z);
1110 if (ret < 0) return ret;
1111 }
1112 break;
1113 }
1114 z->lb = mlimit4;
1115 }
1116 return 1;
1117}
1118
1119static int r_un_double(struct SN_env * z) {
1120 { int m_test1 = z->l - z->c;
1121 if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1069056 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
1122 if (!(find_among_b(z, a_8, 5))) return 0;
1123 z->c = z->l - m_test1;
1124 }
1125 z->ket = z->c;
1126 { int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
1127 if (ret < 0) return 0;
1128 z->c = ret;
1129 }
1130 z->bra = z->c;
1131 { int ret = slice_del(z);
1132 if (ret < 0) return ret;
1133 }
1134 return 1;
1135}
1136
1137static int r_un_accent(struct SN_env * z) {
1138 { int i = 1;
1139 while(1) {
1140 if (out_grouping_b_U(z, g_v, 97, 251, 0)) goto lab0;
1141 i--;
1142 continue;
1143 lab0:
1144 break;
1145 }
1146 if (i > 0) return 0;
1147 }
1148 z->ket = z->c;
1149 { int m1 = z->l - z->c; (void)m1;
1150 if (!(eq_s_b(z, 2, s_34))) goto lab2;
1151 goto lab1;
1152 lab2:
1153 z->c = z->l - m1;
1154 if (!(eq_s_b(z, 2, s_35))) return 0;
1155 }
1156lab1:
1157 z->bra = z->c;
1158 { int ret = slice_from_s(z, 1, s_36);
1159 if (ret < 0) return ret;
1160 }
1161 return 1;
1162}
1163
1164extern int french_UTF_8_stem(struct SN_env * z) {
1165 { int c1 = z->c;
1166 { int ret = r_prelude(z);
1167 if (ret < 0) return ret;
1168 }
1169 z->c = c1;
1170 }
1171
1172 { int ret = r_mark_regions(z);
1173 if (ret < 0) return ret;
1174 }
1175 z->lb = z->c; z->c = z->l;
1176
1177 { int m2 = z->l - z->c; (void)m2;
1178 { int m3 = z->l - z->c; (void)m3;
1179 { int m4 = z->l - z->c; (void)m4;
1180 { int m5 = z->l - z->c; (void)m5;
1181 { int ret = r_standard_suffix(z);
1182 if (ret == 0) goto lab4;
1183 if (ret < 0) return ret;
1184 }
1185 goto lab3;
1186 lab4:
1187 z->c = z->l - m5;
1188 { int ret = r_i_verb_suffix(z);
1189 if (ret == 0) goto lab5;
1190 if (ret < 0) return ret;
1191 }
1192 goto lab3;
1193 lab5:
1194 z->c = z->l - m5;
1195 { int ret = r_verb_suffix(z);
1196 if (ret == 0) goto lab2;
1197 if (ret < 0) return ret;
1198 }
1199 }
1200 lab3:
1201 z->c = z->l - m4;
1202 { int m6 = z->l - z->c; (void)m6;
1203 z->ket = z->c;
1204 { int m7 = z->l - z->c; (void)m7;
1205 if (z->c <= z->lb || z->p[z->c - 1] != 'Y') goto lab8;
1206 z->c--;
1207 z->bra = z->c;
1208 { int ret = slice_from_s(z, 1, s_37);
1209 if (ret < 0) return ret;
1210 }
1211 goto lab7;
1212 lab8:
1213 z->c = z->l - m7;
1214 if (!(eq_s_b(z, 2, s_38))) { z->c = z->l - m6; goto lab6; }
1215 z->bra = z->c;
1216 { int ret = slice_from_s(z, 1, s_39);
1217 if (ret < 0) return ret;
1218 }
1219 }
1220 lab7:
1221 lab6:
1222 ;
1223 }
1224 }
1225 goto lab1;
1226 lab2:
1227 z->c = z->l - m3;
1228 { int ret = r_residual_suffix(z);
1229 if (ret == 0) goto lab0;
1230 if (ret < 0) return ret;
1231 }
1232 }
1233 lab1:
1234 lab0:
1235 z->c = z->l - m2;
1236 }
1237 { int m8 = z->l - z->c; (void)m8;
1238 { int ret = r_un_double(z);
1239 if (ret < 0) return ret;
1240 }
1241 z->c = z->l - m8;
1242 }
1243 { int m9 = z->l - z->c; (void)m9;
1244 { int ret = r_un_accent(z);
1245 if (ret < 0) return ret;
1246 }
1247 z->c = z->l - m9;
1248 }
1249 z->c = z->lb;
1250 { int c10 = z->c;
1251 { int ret = r_postlude(z);
1252 if (ret < 0) return ret;
1253 }
1254 z->c = c10;
1255 }
1256 return 1;
1257}
1258
1259extern struct SN_env * french_UTF_8_create_env(void) { return SN_create_env(0, 3); }
1260
1261extern void french_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); }
1262
void SN_close_env(struct SN_env *z, int S_size)
Definition: api.c:34
struct SN_env * SN_create_env(int S_size, int I_size)
Definition: api.c:3
unsigned char symbol
Definition: api.h:2
int i
Definition: isn.c:72
static const symbol s_4_27[6]
static const symbol s_25[]
static const symbol s_2[]
static const symbol s_5_7[4]
static const symbol s_4_30[5]
static const symbol s_6_18[6]
static const symbol s_0_2[3]
static const symbol s_5_23[6]
static const symbol s_4_13[5]
static const symbol s_5_14[5]
static const symbol s_5_27[5]
static const symbol s_4_7[4]
static const symbol s_6_21[4]
static const symbol s_4_36[8]
static int r_un_accent(struct SN_env *z)
static const symbol s_6_24[5]
static const symbol s_2_5[2]
static const symbol s_4[]
static const symbol s_4_28[6]
static const symbol s_6_22[3]
static const symbol s_5_16[6]
static const struct among a_8[5]
static const symbol s_4_6[4]
static const symbol s_4_37[6]
static const symbol s_5_31[5]
static const symbol s_6_23[3]
static const symbol s_30[]
static const symbol s_38[]
static const symbol s_5_13[2]
static const symbol s_4_32[9]
static const symbol s_5_3[7]
static const symbol s_1_2[2]
static const symbol s_5_33[4]
static const symbol s_4_3[4]
static const symbol s_6_34[5]
static const symbol s_6_1[3]
static int r_standard_suffix(struct SN_env *z)
static const struct among a_1[7]
static const symbol s_6_20[5]
static const symbol s_4_2[4]
static const symbol s_29[]
static const struct among a_2[6]
static const symbol s_4_20[5]
static const symbol s_6_15[3]
static const symbol s_6_36[4]
static int r_un_double(struct SN_env *z)
static const symbol s_4_39[3]
static const symbol s_6_5[2]
static const struct among a_7[6]
static const symbol s_27[]
static const symbol s_4_9[3]
static const symbol s_5_6[2]
static const symbol s_1_3[2]
static const struct among a_0[3]
static const symbol s_2_1[3]
static const symbol s_5_24[6]
static const symbol s_5_10[5]
static const symbol s_5_12[5]
static const symbol s_4_40[4]
static const symbol s_6[]
static const symbol s_6_31[3]
static int r_verb_suffix(struct SN_env *z)
static const symbol s_4_21[5]
struct SN_env * french_UTF_8_create_env(void)
static const symbol s_6_8[2]
static const symbol s_21[]
static const symbol s_1_4[1]
static const symbol s_3[]
static const symbol s_6_6[4]
static const symbol s_2_2[4]
static const symbol s_4_29[6]
static const symbol s_3_0[2]
static const symbol s_5_22[5]
static const symbol s_6_32[2]
static const symbol s_6_3[4]
static const symbol s_5_25[7]
static const symbol s_4_15[5]
static const symbol s_37[]
static const symbol s_7_2[5]
static const symbol s_6_35[6]
static const symbol s_4_12[5]
static const symbol s_5_11[8]
static const symbol s_5_4[1]
static const symbol s_4_24[4]
static const symbol s_6_2[4]
static const struct among a_3[3]
static const symbol s_5_26[8]
static const symbol s_4_22[5]
static int r_i_verb_suffix(struct SN_env *z)
static int r_R2(struct SN_env *z)
static const symbol s_4_1[6]
static const symbol s_5_0[3]
static const symbol s_7[]
static const symbol s_8_0[3]
static const symbol s_32[]
static const symbol s_5_34[5]
static const symbol s_13[]
static const struct among a_4[43]
static const symbol s_5_9[5]
static const symbol s_8_2[3]
static const symbol s_7_5[3]
static const symbol s_6_30[5]
static const symbol s_5_18[5]
static const symbol s_4_35[5]
static const symbol s_0_0[3]
static const symbol s_20[]
static const struct among a_5[35]
static const symbol s_5_21[2]
static const symbol s_6_12[5]
static const symbol s_4_18[5]
static const symbol s_1_5[1]
static int r_RV(struct SN_env *z)
static const symbol s_35[]
static const symbol s_1_6[1]
static const symbol s_5_30[3]
static const symbol s_4_11[5]
static const symbol s_19[]
static const symbol s_23[]
static const symbol s_6_19[7]
static const symbol s_7_1[5]
static const symbol s_24[]
static const symbol s_4_17[5]
static const symbol s_4_19[6]
static const symbol s_0_1[3]
static const symbol s_2_0[3]
static const symbol s_4_14[5]
static const symbol s_4_31[6]
static const symbol s_2_4[3]
static int r_R1(struct SN_env *z)
static const symbol s_16[]
static int r_postlude(struct SN_env *z)
static const symbol s_14[]
int french_UTF_8_stem(struct SN_env *z)
static const symbol s_4_0[4]
static const symbol s_22[]
static const symbol s_5_15[6]
static int r_prelude(struct SN_env *z)
static const symbol s_6_9[4]
void french_UTF_8_close_env(struct SN_env *z)
static const symbol s_6_17[4]
static const symbol s_10[]
static const symbol s_1_1[1]
static const symbol s_6_16[5]
static const symbol s_6_28[6]
static const symbol s_5_2[4]
static const symbol s_1[]
static const symbol s_5_5[4]
static const symbol s_6_11[5]
static const symbol s_4_5[4]
static const symbol s_39[]
static const symbol s_6_7[2]
static const symbol s_4_16[7]
static const unsigned char g_keep_with_s[]
static const symbol s_3_1[4]
static const symbol s_31[]
static const symbol s_8_4[3]
static const symbol s_6_25[3]
static const symbol s_6_14[4]
static int r_mark_regions(struct SN_env *z)
static const symbol s_7_3[3]
static const struct among a_6[38]
static const symbol s_6_33[3]
static const symbol s_11[]
static const symbol s_12[]
static const symbol s_36[]
static const symbol s_5_19[6]
static const symbol s_6_0[1]
static const symbol s_5_8[3]
static const symbol s_2_3[4]
static const symbol s_6_13[5]
static const symbol s_4_10[2]
static const symbol s_7_4[3]
static const symbol s_6_29[6]
static const symbol s_33[]
static const symbol s_4_42[4]
static const symbol s_7_0[1]
static const symbol s_4_8[4]
static const symbol s_5_1[2]
static const symbol s_6_27[7]
static const symbol s_6_4[3]
static const symbol s_6_37[2]
static const symbol s_5_20[7]
static const symbol s_4_34[4]
static const symbol s_18[]
static const symbol s_17[]
static const symbol s_5_32[6]
static const symbol s_8_1[4]
static const symbol s_6_26[5]
static const symbol s_4_41[3]
static const symbol s_5_17[7]
static const symbol s_28[]
static const symbol s_4_4[5]
static const unsigned char g_v[]
static const symbol s_5_29[5]
static int r_residual_suffix(struct SN_env *z)
static const symbol s_8[]
static const symbol s_9[]
static const symbol s_5_28[6]
static const symbol s_4_26[6]
static const symbol s_6_10[5]
static const symbol s_3_2[2]
static const symbol s_5[]
static const symbol s_15[]
static const symbol s_8_3[3]
static const symbol s_4_25[3]
static const symbol s_26[]
static const symbol s_4_38[6]
static const symbol s_4_33[5]
static const symbol s_0[]
static const symbol s_4_23[5]
static const symbol s_34[]
Definition: api.h:14
int lb
Definition: api.h:16
symbol * p
Definition: api.h:15
int * I
Definition: api.h:18
int ket
Definition: api.h:16
int c
Definition: api.h:16
int bra
Definition: api.h:16
int l
Definition: api.h:16
Definition: header.h:16
int find_among_b(struct SN_env *z, const struct among *v, int v_size)
Definition: utilities.c:298
int out_grouping_U(struct SN_env *z, const unsigned char *s, int min, int max, int repeat)
Definition: utilities.c:141
int slice_del(struct SN_env *z)
Definition: utilities.c:431
int in_grouping_U(struct SN_env *z, const unsigned char *s, int min, int max, int repeat)
Definition: utilities.c:117
int eq_s(struct SN_env *z, int s_size, const symbol *s)
Definition: utilities.c:215
int in_grouping_b_U(struct SN_env *z, const unsigned char *s, int min, int max, int repeat)
Definition: utilities.c:129
int skip_b_utf8(const symbol *p, int c, int limit, int n)
Definition: utilities.c:52
int eq_s_b(struct SN_env *z, int s_size, const symbol *s)
Definition: utilities.c:220
int out_grouping_b_U(struct SN_env *z, const unsigned char *s, int min, int max, int repeat)
Definition: utilities.c:153
int find_among(struct SN_env *z, const struct among *v, int v_size)
Definition: utilities.c:233
int skip_utf8(const symbol *p, int c, int limit, int n)
Definition: utilities.c:27
int slice_from_s(struct SN_env *z, int s_size, const symbol *s)
Definition: utilities.c:422