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