YAZ 5.35.1
stem_ISO_8859_1_french.c
Go to the documentation of this file.
1
2/* This file was generated automatically by the Snowball to ANSI C compiler */
3
4#include "../runtime/header.h"
5
6#ifdef __cplusplus
7extern "C"
8{
9#endif
10 extern int french_ISO_8859_1_stem (struct SN_env *z);
11#ifdef __cplusplus
12}
13#endif
14static int r_un_accent (struct SN_env *z);
15static int r_un_double (struct SN_env *z);
16static int r_residual_suffix (struct SN_env *z);
17static int r_verb_suffix (struct SN_env *z);
18static int r_i_verb_suffix (struct SN_env *z);
19static int r_standard_suffix (struct SN_env *z);
20static int r_R2 (struct SN_env *z);
21static int r_R1 (struct SN_env *z);
22static int r_RV (struct SN_env *z);
23static int r_mark_regions (struct SN_env *z);
24static int r_postlude (struct SN_env *z);
25static int r_prelude (struct SN_env *z);
26#ifdef __cplusplus
27extern "C"
28{
29#endif
30
31
32 extern struct SN_env *french_ISO_8859_1_create_env (void);
33 extern void french_ISO_8859_1_close_env (struct SN_env *z);
34
35
36#ifdef __cplusplus
37}
38#endif
39static const symbol s_0_0[3] = { 'c', 'o', 'l' };
40static const symbol s_0_1[3] = { 'p', 'a', 'r' };
41static const symbol s_0_2[3] = { 't', 'a', 'p' };
42
43static const struct among a_0[3] = {
44/* 0 */ {3, s_0_0, -1, -1, 0},
45/* 1 */ {3, s_0_1, -1, -1, 0},
46/* 2 */ {3, s_0_2, -1, -1, 0}
47};
48
49static const symbol s_1_1[1] = { 'I' };
50static const symbol s_1_2[1] = { 'U' };
51static const symbol s_1_3[1] = { 'Y' };
52
53static 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}
58};
59
60static const symbol s_2_0[3] = { 'i', 'q', 'U' };
61static const symbol s_2_1[3] = { 'a', 'b', 'l' };
62static const symbol s_2_2[3] = { 'I', 0xE8, 'r' };
63static const symbol s_2_3[3] = { 'i', 0xE8, 'r' };
64static const symbol s_2_4[3] = { 'e', 'u', 's' };
65static const symbol s_2_5[2] = { 'i', 'v' };
66
67static const struct among a_2[6] = {
68/* 0 */ {3, s_2_0, -1, 3, 0},
69/* 1 */ {3, s_2_1, -1, 3, 0},
70/* 2 */ {3, s_2_2, -1, 4, 0},
71/* 3 */ {3, s_2_3, -1, 4, 0},
72/* 4 */ {3, s_2_4, -1, 2, 0},
73/* 5 */ {2, s_2_5, -1, 1, 0}
74};
75
76static const symbol s_3_0[2] = { 'i', 'c' };
77static const symbol s_3_1[4] = { 'a', 'b', 'i', 'l' };
78static const symbol s_3_2[2] = { 'i', 'v' };
79
80static const struct among a_3[3] = {
81/* 0 */ {2, s_3_0, -1, 2, 0},
82/* 1 */ {4, s_3_1, -1, 1, 0},
83/* 2 */ {2, s_3_2, -1, 3, 0}
84};
85
86static const symbol s_4_0[4] = { 'i', 'q', 'U', 'e' };
87static const symbol s_4_1[6] = { 'a', 't', 'r', 'i', 'c', 'e' };
88static const symbol s_4_2[4] = { 'a', 'n', 'c', 'e' };
89static const symbol s_4_3[4] = { 'e', 'n', 'c', 'e' };
90static const symbol s_4_4[5] = { 'l', 'o', 'g', 'i', 'e' };
91static const symbol s_4_5[4] = { 'a', 'b', 'l', 'e' };
92static const symbol s_4_6[4] = { 'i', 's', 'm', 'e' };
93static const symbol s_4_7[4] = { 'e', 'u', 's', 'e' };
94static const symbol s_4_8[4] = { 'i', 's', 't', 'e' };
95static const symbol s_4_9[3] = { 'i', 'v', 'e' };
96static const symbol s_4_10[2] = { 'i', 'f' };
97static const symbol s_4_11[5] = { 'u', 's', 'i', 'o', 'n' };
98static const symbol s_4_12[5] = { 'a', 't', 'i', 'o', 'n' };
99static const symbol s_4_13[5] = { 'u', 't', 'i', 'o', 'n' };
100static const symbol s_4_14[5] = { 'a', 't', 'e', 'u', 'r' };
101static const symbol s_4_15[5] = { 'i', 'q', 'U', 'e', 's' };
102static const symbol s_4_16[7] = { 'a', 't', 'r', 'i', 'c', 'e', 's' };
103static const symbol s_4_17[5] = { 'a', 'n', 'c', 'e', 's' };
104static const symbol s_4_18[5] = { 'e', 'n', 'c', 'e', 's' };
105static const symbol s_4_19[6] = { 'l', 'o', 'g', 'i', 'e', 's' };
106static const symbol s_4_20[5] = { 'a', 'b', 'l', 'e', 's' };
107static const symbol s_4_21[5] = { 'i', 's', 'm', 'e', 's' };
108static const symbol s_4_22[5] = { 'e', 'u', 's', 'e', 's' };
109static const symbol s_4_23[5] = { 'i', 's', 't', 'e', 's' };
110static const symbol s_4_24[4] = { 'i', 'v', 'e', 's' };
111static const symbol s_4_25[3] = { 'i', 'f', 's' };
112static const symbol s_4_26[6] = { 'u', 's', 'i', 'o', 'n', 's' };
113static const symbol s_4_27[6] = { 'a', 't', 'i', 'o', 'n', 's' };
114static const symbol s_4_28[6] = { 'u', 't', 'i', 'o', 'n', 's' };
115static const symbol s_4_29[6] = { 'a', 't', 'e', 'u', 'r', 's' };
116static const symbol s_4_30[5] = { 'm', 'e', 'n', 't', 's' };
117static const symbol s_4_31[6] = { 'e', 'm', 'e', 'n', 't', 's' };
118static const symbol s_4_32[9] =
119 { 'i', 's', 's', 'e', 'm', 'e', 'n', 't', 's' };
120static const symbol s_4_33[4] = { 'i', 't', 0xE9, 's' };
121static const symbol s_4_34[4] = { 'm', 'e', 'n', 't' };
122static const symbol s_4_35[5] = { 'e', 'm', 'e', 'n', 't' };
123static const symbol s_4_36[8] = { 'i', 's', 's', 'e', 'm', 'e', 'n', 't' };
124static const symbol s_4_37[6] = { 'a', 'm', 'm', 'e', 'n', 't' };
125static const symbol s_4_38[6] = { 'e', 'm', 'm', 'e', 'n', 't' };
126static const symbol s_4_39[3] = { 'a', 'u', 'x' };
127static const symbol s_4_40[4] = { 'e', 'a', 'u', 'x' };
128static const symbol s_4_41[3] = { 'e', 'u', 'x' };
129static const symbol s_4_42[3] = { 'i', 't', 0xE9 };
130
131static const struct among a_4[43] = {
132/* 0 */ {4, s_4_0, -1, 1, 0},
133/* 1 */ {6, s_4_1, -1, 2, 0},
134/* 2 */ {4, s_4_2, -1, 1, 0},
135/* 3 */ {4, s_4_3, -1, 5, 0},
136/* 4 */ {5, s_4_4, -1, 3, 0},
137/* 5 */ {4, s_4_5, -1, 1, 0},
138/* 6 */ {4, s_4_6, -1, 1, 0},
139/* 7 */ {4, s_4_7, -1, 11, 0},
140/* 8 */ {4, s_4_8, -1, 1, 0},
141/* 9 */ {3, s_4_9, -1, 8, 0},
142/* 10 */ {2, s_4_10, -1, 8, 0},
143/* 11 */ {5, s_4_11, -1, 4, 0},
144/* 12 */ {5, s_4_12, -1, 2, 0},
145/* 13 */ {5, s_4_13, -1, 4, 0},
146/* 14 */ {5, s_4_14, -1, 2, 0},
147/* 15 */ {5, s_4_15, -1, 1, 0},
148/* 16 */ {7, s_4_16, -1, 2, 0},
149/* 17 */ {5, s_4_17, -1, 1, 0},
150/* 18 */ {5, s_4_18, -1, 5, 0},
151/* 19 */ {6, s_4_19, -1, 3, 0},
152/* 20 */ {5, s_4_20, -1, 1, 0},
153/* 21 */ {5, s_4_21, -1, 1, 0},
154/* 22 */ {5, s_4_22, -1, 11, 0},
155/* 23 */ {5, s_4_23, -1, 1, 0},
156/* 24 */ {4, s_4_24, -1, 8, 0},
157/* 25 */ {3, s_4_25, -1, 8, 0},
158/* 26 */ {6, s_4_26, -1, 4, 0},
159/* 27 */ {6, s_4_27, -1, 2, 0},
160/* 28 */ {6, s_4_28, -1, 4, 0},
161/* 29 */ {6, s_4_29, -1, 2, 0},
162/* 30 */ {5, s_4_30, -1, 15, 0},
163/* 31 */ {6, s_4_31, 30, 6, 0},
164/* 32 */ {9, s_4_32, 31, 12, 0},
165/* 33 */ {4, s_4_33, -1, 7, 0},
166/* 34 */ {4, s_4_34, -1, 15, 0},
167/* 35 */ {5, s_4_35, 34, 6, 0},
168/* 36 */ {8, s_4_36, 35, 12, 0},
169/* 37 */ {6, s_4_37, 34, 13, 0},
170/* 38 */ {6, s_4_38, 34, 14, 0},
171/* 39 */ {3, s_4_39, -1, 10, 0},
172/* 40 */ {4, s_4_40, 39, 9, 0},
173/* 41 */ {3, s_4_41, -1, 1, 0},
174/* 42 */ {3, s_4_42, -1, 7, 0}
175};
176
177static const symbol s_5_0[3] = { 'i', 'r', 'a' };
178static const symbol s_5_1[2] = { 'i', 'e' };
179static const symbol s_5_2[4] = { 'i', 's', 's', 'e' };
180static const symbol s_5_3[7] = { 'i', 's', 's', 'a', 'n', 't', 'e' };
181static const symbol s_5_4[1] = { 'i' };
182static const symbol s_5_5[4] = { 'i', 'r', 'a', 'i' };
183static const symbol s_5_6[2] = { 'i', 'r' };
184static const symbol s_5_7[4] = { 'i', 'r', 'a', 's' };
185static const symbol s_5_8[3] = { 'i', 'e', 's' };
186static const symbol s_5_9[4] = { 0xEE, 'm', 'e', 's' };
187static const symbol s_5_10[5] = { 'i', 's', 's', 'e', 's' };
188static const symbol s_5_11[8] = { 'i', 's', 's', 'a', 'n', 't', 'e', 's' };
189static const symbol s_5_12[4] = { 0xEE, 't', 'e', 's' };
190static const symbol s_5_13[2] = { 'i', 's' };
191static const symbol s_5_14[5] = { 'i', 'r', 'a', 'i', 's' };
192static const symbol s_5_15[6] = { 'i', 's', 's', 'a', 'i', 's' };
193static const symbol s_5_16[6] = { 'i', 'r', 'i', 'o', 'n', 's' };
194static const symbol s_5_17[7] = { 'i', 's', 's', 'i', 'o', 'n', 's' };
195static const symbol s_5_18[5] = { 'i', 'r', 'o', 'n', 's' };
196static const symbol s_5_19[6] = { 'i', 's', 's', 'o', 'n', 's' };
197static const symbol s_5_20[7] = { 'i', 's', 's', 'a', 'n', 't', 's' };
198static const symbol s_5_21[2] = { 'i', 't' };
199static const symbol s_5_22[5] = { 'i', 'r', 'a', 'i', 't' };
200static const symbol s_5_23[6] = { 'i', 's', 's', 'a', 'i', 't' };
201static const symbol s_5_24[6] = { 'i', 's', 's', 'a', 'n', 't' };
202static const symbol s_5_25[7] = { 'i', 'r', 'a', 'I', 'e', 'n', 't' };
203static const symbol s_5_26[8] = { 'i', 's', 's', 'a', 'I', 'e', 'n', 't' };
204static const symbol s_5_27[5] = { 'i', 'r', 'e', 'n', 't' };
205static const symbol s_5_28[6] = { 'i', 's', 's', 'e', 'n', 't' };
206static const symbol s_5_29[5] = { 'i', 'r', 'o', 'n', 't' };
207static const symbol s_5_30[2] = { 0xEE, 't' };
208static const symbol s_5_31[5] = { 'i', 'r', 'i', 'e', 'z' };
209static const symbol s_5_32[6] = { 'i', 's', 's', 'i', 'e', 'z' };
210static const symbol s_5_33[4] = { 'i', 'r', 'e', 'z' };
211static const symbol s_5_34[5] = { 'i', 's', 's', 'e', 'z' };
212
213static const struct among a_5[35] = {
214/* 0 */ {3, s_5_0, -1, 1, 0},
215/* 1 */ {2, s_5_1, -1, 1, 0},
216/* 2 */ {4, s_5_2, -1, 1, 0},
217/* 3 */ {7, s_5_3, -1, 1, 0},
218/* 4 */ {1, s_5_4, -1, 1, 0},
219/* 5 */ {4, s_5_5, 4, 1, 0},
220/* 6 */ {2, s_5_6, -1, 1, 0},
221/* 7 */ {4, s_5_7, -1, 1, 0},
222/* 8 */ {3, s_5_8, -1, 1, 0},
223/* 9 */ {4, s_5_9, -1, 1, 0},
224/* 10 */ {5, s_5_10, -1, 1, 0},
225/* 11 */ {8, s_5_11, -1, 1, 0},
226/* 12 */ {4, s_5_12, -1, 1, 0},
227/* 13 */ {2, s_5_13, -1, 1, 0},
228/* 14 */ {5, s_5_14, 13, 1, 0},
229/* 15 */ {6, s_5_15, 13, 1, 0},
230/* 16 */ {6, s_5_16, -1, 1, 0},
231/* 17 */ {7, s_5_17, -1, 1, 0},
232/* 18 */ {5, s_5_18, -1, 1, 0},
233/* 19 */ {6, s_5_19, -1, 1, 0},
234/* 20 */ {7, s_5_20, -1, 1, 0},
235/* 21 */ {2, s_5_21, -1, 1, 0},
236/* 22 */ {5, s_5_22, 21, 1, 0},
237/* 23 */ {6, s_5_23, 21, 1, 0},
238/* 24 */ {6, s_5_24, -1, 1, 0},
239/* 25 */ {7, s_5_25, -1, 1, 0},
240/* 26 */ {8, s_5_26, -1, 1, 0},
241/* 27 */ {5, s_5_27, -1, 1, 0},
242/* 28 */ {6, s_5_28, -1, 1, 0},
243/* 29 */ {5, s_5_29, -1, 1, 0},
244/* 30 */ {2, s_5_30, -1, 1, 0},
245/* 31 */ {5, s_5_31, -1, 1, 0},
246/* 32 */ {6, s_5_32, -1, 1, 0},
247/* 33 */ {4, s_5_33, -1, 1, 0},
248/* 34 */ {5, s_5_34, -1, 1, 0}
249};
250
251static const symbol s_6_0[1] = { 'a' };
252static const symbol s_6_1[3] = { 'e', 'r', 'a' };
253static const symbol s_6_2[4] = { 'a', 's', 's', 'e' };
254static const symbol s_6_3[4] = { 'a', 'n', 't', 'e' };
255static const symbol s_6_4[2] = { 0xE9, 'e' };
256static const symbol s_6_5[2] = { 'a', 'i' };
257static const symbol s_6_6[4] = { 'e', 'r', 'a', 'i' };
258static const symbol s_6_7[2] = { 'e', 'r' };
259static const symbol s_6_8[2] = { 'a', 's' };
260static const symbol s_6_9[4] = { 'e', 'r', 'a', 's' };
261static const symbol s_6_10[4] = { 0xE2, 'm', 'e', 's' };
262static const symbol s_6_11[5] = { 'a', 's', 's', 'e', 's' };
263static const symbol s_6_12[5] = { 'a', 'n', 't', 'e', 's' };
264static const symbol s_6_13[4] = { 0xE2, 't', 'e', 's' };
265static const symbol s_6_14[3] = { 0xE9, 'e', 's' };
266static const symbol s_6_15[3] = { 'a', 'i', 's' };
267static const symbol s_6_16[5] = { 'e', 'r', 'a', 'i', 's' };
268static const symbol s_6_17[4] = { 'i', 'o', 'n', 's' };
269static const symbol s_6_18[6] = { 'e', 'r', 'i', 'o', 'n', 's' };
270static const symbol s_6_19[7] = { 'a', 's', 's', 'i', 'o', 'n', 's' };
271static const symbol s_6_20[5] = { 'e', 'r', 'o', 'n', 's' };
272static const symbol s_6_21[4] = { 'a', 'n', 't', 's' };
273static const symbol s_6_22[2] = { 0xE9, 's' };
274static const symbol s_6_23[3] = { 'a', 'i', 't' };
275static const symbol s_6_24[5] = { 'e', 'r', 'a', 'i', 't' };
276static const symbol s_6_25[3] = { 'a', 'n', 't' };
277static const symbol s_6_26[5] = { 'a', 'I', 'e', 'n', 't' };
278static const symbol s_6_27[7] = { 'e', 'r', 'a', 'I', 'e', 'n', 't' };
279static const symbol s_6_28[5] = { 0xE8, 'r', 'e', 'n', 't' };
280static const symbol s_6_29[6] = { 'a', 's', 's', 'e', 'n', 't' };
281static const symbol s_6_30[5] = { 'e', 'r', 'o', 'n', 't' };
282static const symbol s_6_31[2] = { 0xE2, 't' };
283static const symbol s_6_32[2] = { 'e', 'z' };
284static const symbol s_6_33[3] = { 'i', 'e', 'z' };
285static const symbol s_6_34[5] = { 'e', 'r', 'i', 'e', 'z' };
286static const symbol s_6_35[6] = { 'a', 's', 's', 'i', 'e', 'z' };
287static const symbol s_6_36[4] = { 'e', 'r', 'e', 'z' };
288static const symbol s_6_37[1] = { 0xE9 };
289
290static const struct among a_6[38] = {
291/* 0 */ {1, s_6_0, -1, 3, 0},
292/* 1 */ {3, s_6_1, 0, 2, 0},
293/* 2 */ {4, s_6_2, -1, 3, 0},
294/* 3 */ {4, s_6_3, -1, 3, 0},
295/* 4 */ {2, s_6_4, -1, 2, 0},
296/* 5 */ {2, s_6_5, -1, 3, 0},
297/* 6 */ {4, s_6_6, 5, 2, 0},
298/* 7 */ {2, s_6_7, -1, 2, 0},
299/* 8 */ {2, s_6_8, -1, 3, 0},
300/* 9 */ {4, s_6_9, 8, 2, 0},
301/* 10 */ {4, s_6_10, -1, 3, 0},
302/* 11 */ {5, s_6_11, -1, 3, 0},
303/* 12 */ {5, s_6_12, -1, 3, 0},
304/* 13 */ {4, s_6_13, -1, 3, 0},
305/* 14 */ {3, s_6_14, -1, 2, 0},
306/* 15 */ {3, s_6_15, -1, 3, 0},
307/* 16 */ {5, s_6_16, 15, 2, 0},
308/* 17 */ {4, s_6_17, -1, 1, 0},
309/* 18 */ {6, s_6_18, 17, 2, 0},
310/* 19 */ {7, s_6_19, 17, 3, 0},
311/* 20 */ {5, s_6_20, -1, 2, 0},
312/* 21 */ {4, s_6_21, -1, 3, 0},
313/* 22 */ {2, s_6_22, -1, 2, 0},
314/* 23 */ {3, s_6_23, -1, 3, 0},
315/* 24 */ {5, s_6_24, 23, 2, 0},
316/* 25 */ {3, s_6_25, -1, 3, 0},
317/* 26 */ {5, s_6_26, -1, 3, 0},
318/* 27 */ {7, s_6_27, 26, 2, 0},
319/* 28 */ {5, s_6_28, -1, 2, 0},
320/* 29 */ {6, s_6_29, -1, 3, 0},
321/* 30 */ {5, s_6_30, -1, 2, 0},
322/* 31 */ {2, s_6_31, -1, 3, 0},
323/* 32 */ {2, s_6_32, -1, 2, 0},
324/* 33 */ {3, s_6_33, 32, 2, 0},
325/* 34 */ {5, s_6_34, 33, 2, 0},
326/* 35 */ {6, s_6_35, 33, 3, 0},
327/* 36 */ {4, s_6_36, 32, 2, 0},
328/* 37 */ {1, s_6_37, -1, 2, 0}
329};
330
331static const symbol s_7_0[1] = { 'e' };
332static const symbol s_7_1[4] = { 'I', 0xE8, 'r', 'e' };
333static const symbol s_7_2[4] = { 'i', 0xE8, 'r', 'e' };
334static const symbol s_7_3[3] = { 'i', 'o', 'n' };
335static const symbol s_7_4[3] = { 'I', 'e', 'r' };
336static const symbol s_7_5[3] = { 'i', 'e', 'r' };
337static const symbol s_7_6[1] = { 0xEB };
338
339static const struct among a_7[7] = {
340/* 0 */ {1, s_7_0, -1, 3, 0},
341/* 1 */ {4, s_7_1, 0, 2, 0},
342/* 2 */ {4, s_7_2, 0, 2, 0},
343/* 3 */ {3, s_7_3, -1, 1, 0},
344/* 4 */ {3, s_7_4, -1, 2, 0},
345/* 5 */ {3, s_7_5, -1, 2, 0},
346/* 6 */ {1, s_7_6, -1, 4, 0}
347};
348
349static const symbol s_8_0[3] = { 'e', 'l', 'l' };
350static const symbol s_8_1[4] = { 'e', 'i', 'l', 'l' };
351static const symbol s_8_2[3] = { 'e', 'n', 'n' };
352static const symbol s_8_3[3] = { 'o', 'n', 'n' };
353static const symbol s_8_4[3] = { 'e', 't', 't' };
354
355static const struct among a_8[5] = {
356/* 0 */ {3, s_8_0, -1, -1, 0},
357/* 1 */ {4, s_8_1, -1, -1, 0},
358/* 2 */ {3, s_8_2, -1, -1, 0},
359/* 3 */ {3, s_8_3, -1, -1, 0},
360/* 4 */ {3, s_8_4, -1, -1, 0}
361};
362
363static const unsigned char g_v[] =
364 { 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 130, 103, 8, 5 };
365
366static const unsigned char g_keep_with_s[] =
367 { 1, 65, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 };
368
369static const symbol s_0[] = { 'u' };
370static const symbol s_1[] = { 'U' };
371static const symbol s_2[] = { 'i' };
372static const symbol s_3[] = { 'I' };
373static const symbol s_4[] = { 'y' };
374static const symbol s_5[] = { 'Y' };
375static const symbol s_6[] = { 'y' };
376static const symbol s_7[] = { 'Y' };
377static const symbol s_8[] = { 'q' };
378static const symbol s_9[] = { 'u' };
379static const symbol s_10[] = { 'U' };
380static const symbol s_11[] = { 'i' };
381static const symbol s_12[] = { 'u' };
382static const symbol s_13[] = { 'y' };
383static const symbol s_14[] = { 'i', 'c' };
384static const symbol s_15[] = { 'i', 'q', 'U' };
385static const symbol s_16[] = { 'l', 'o', 'g' };
386static const symbol s_17[] = { 'u' };
387static const symbol s_18[] = { 'e', 'n', 't' };
388static const symbol s_19[] = { 'a', 't' };
389static const symbol s_20[] = { 'e', 'u', 'x' };
390static const symbol s_21[] = { 'i' };
391static const symbol s_22[] = { 'a', 'b', 'l' };
392static const symbol s_23[] = { 'i', 'q', 'U' };
393static const symbol s_24[] = { 'a', 't' };
394static const symbol s_25[] = { 'i', 'c' };
395static const symbol s_26[] = { 'i', 'q', 'U' };
396static const symbol s_27[] = { 'e', 'a', 'u' };
397static const symbol s_28[] = { 'a', 'l' };
398static const symbol s_29[] = { 'e', 'u', 'x' };
399static const symbol s_30[] = { 'a', 'n', 't' };
400static const symbol s_31[] = { 'e', 'n', 't' };
401static const symbol s_32[] = { 'e' };
402static const symbol s_33[] = { 's' };
403static const symbol s_34[] = { 's' };
404static const symbol s_35[] = { 't' };
405static const symbol s_36[] = { 'i' };
406static const symbol s_37[] = { 'g', 'u' };
407static const symbol s_38[] = { 0xE9 };
408static const symbol s_39[] = { 0xE8 };
409static const symbol s_40[] = { 'e' };
410static const symbol s_41[] = { 'Y' };
411static const symbol s_42[] = { 'i' };
412static const symbol s_43[] = { 0xE7 };
413static const symbol s_44[] = { 'c' };
414
415static int
416r_prelude (struct SN_env *z)
417{
418 while (1)
419 { /* repeat, line 38 */
420 int c1 = z->c;
421 while (1)
422 { /* goto, line 38 */
423 int c2 = z->c;
424 {
425 int c3 = z->c; /* or, line 44 */
426 if (in_grouping (z, g_v, 97, 251, 0))
427 goto lab3;
428 z->bra = z->c; /* [, line 40 */
429 {
430 int c4 = z->c; /* or, line 40 */
431 if (!(eq_s (z, 1, s_0)))
432 goto lab5;
433 z->ket = z->c; /* ], line 40 */
434 if (in_grouping (z, g_v, 97, 251, 0))
435 goto lab5;
436 {
437 int ret = slice_from_s (z, 1, s_1); /* <-, line 40 */
438 if (ret < 0)
439 return ret;
440 }
441 goto lab4;
442 lab5:
443 z->c = c4;
444 if (!(eq_s (z, 1, s_2)))
445 goto lab6;
446 z->ket = z->c; /* ], line 41 */
447 if (in_grouping (z, g_v, 97, 251, 0))
448 goto lab6;
449 {
450 int ret = slice_from_s (z, 1, s_3); /* <-, line 41 */
451 if (ret < 0)
452 return ret;
453 }
454 goto lab4;
455 lab6:
456 z->c = c4;
457 if (!(eq_s (z, 1, s_4)))
458 goto lab3;
459 z->ket = z->c; /* ], line 42 */
460 {
461 int ret = slice_from_s (z, 1, s_5); /* <-, line 42 */
462 if (ret < 0)
463 return ret;
464 }
465 }
466 lab4:
467 goto lab2;
468 lab3:
469 z->c = c3;
470 z->bra = z->c; /* [, line 45 */
471 if (!(eq_s (z, 1, s_6)))
472 goto lab7;
473 z->ket = z->c; /* ], line 45 */
474 if (in_grouping (z, g_v, 97, 251, 0))
475 goto lab7;
476 {
477 int ret = slice_from_s (z, 1, s_7); /* <-, line 45 */
478 if (ret < 0)
479 return ret;
480 }
481 goto lab2;
482 lab7:
483 z->c = c3;
484 if (!(eq_s (z, 1, s_8)))
485 goto lab1;
486 z->bra = z->c; /* [, line 47 */
487 if (!(eq_s (z, 1, s_9)))
488 goto lab1;
489 z->ket = z->c; /* ], line 47 */
490 {
491 int ret = slice_from_s (z, 1, s_10); /* <-, line 47 */
492 if (ret < 0)
493 return ret;
494 }
495 }
496 lab2:
497 z->c = c2;
498 break;
499 lab1:
500 z->c = c2;
501 if (z->c >= z->l)
502 goto lab0;
503 z->c++; /* goto, line 38 */
504 }
505 continue;
506 lab0:
507 z->c = c1;
508 break;
509 }
510 return 1;
511}
512
513static int
515{
516 z->I[0] = z->l;
517 z->I[1] = z->l;
518 z->I[2] = z->l;
519 {
520 int c1 = z->c; /* do, line 56 */
521 {
522 int c2 = z->c; /* or, line 58 */
523 if (in_grouping (z, g_v, 97, 251, 0))
524 goto lab2;
525 if (in_grouping (z, g_v, 97, 251, 0))
526 goto lab2;
527 if (z->c >= z->l)
528 goto lab2;
529 z->c++; /* next, line 57 */
530 goto lab1;
531 lab2:
532 z->c = c2;
533 if (z->c + 2 >= z->l || z->p[z->c + 2] >> 5 != 3
534 || !((331776 >> (z->p[z->c + 2] & 0x1f)) & 1))
535 goto lab3;
536 if (!(find_among (z, a_0, 3)))
537 goto lab3; /* among, line 59 */
538 goto lab1;
539 lab3:
540 z->c = c2;
541 if (z->c >= z->l)
542 goto lab0;
543 z->c++; /* next, line 66 */
544 { /* gopast *//* grouping v, line 66 */
545 int ret = out_grouping (z, g_v, 97, 251, 1);
546 if (ret < 0)
547 goto lab0;
548 z->c += ret;
549 }
550 }
551 lab1:
552 z->I[0] = z->c; /* setmark pV, line 67 */
553 lab0:
554 z->c = c1;
555 }
556 {
557 int c3 = z->c; /* do, line 69 */
558 { /* gopast *//* grouping v, line 70 */
559 int ret = out_grouping (z, g_v, 97, 251, 1);
560 if (ret < 0)
561 goto lab4;
562 z->c += ret;
563 }
564 { /* gopast *//* non v, line 70 */
565 int ret = in_grouping (z, g_v, 97, 251, 1);
566 if (ret < 0)
567 goto lab4;
568 z->c += ret;
569 }
570 z->I[1] = z->c; /* setmark p1, line 70 */
571 { /* gopast *//* grouping v, line 71 */
572 int ret = out_grouping (z, g_v, 97, 251, 1);
573 if (ret < 0)
574 goto lab4;
575 z->c += ret;
576 }
577 { /* gopast *//* non v, line 71 */
578 int ret = in_grouping (z, g_v, 97, 251, 1);
579 if (ret < 0)
580 goto lab4;
581 z->c += ret;
582 }
583 z->I[2] = z->c; /* setmark p2, line 71 */
584 lab4:
585 z->c = c3;
586 }
587 return 1;
588}
589
590static int
592{
593 int among_var;
594 while (1)
595 { /* repeat, line 75 */
596 int c1 = z->c;
597 z->bra = z->c; /* [, line 77 */
598 if (z->c >= z->l || z->p[z->c + 0] >> 5 != 2
599 || !((35652096 >> (z->p[z->c + 0] & 0x1f)) & 1))
600 among_var = 4;
601 else
602 among_var = find_among (z, a_1, 4); /* substring, line 77 */
603 if (!(among_var))
604 goto lab0;
605 z->ket = z->c; /* ], line 77 */
606 switch (among_var)
607 {
608 case 0:
609 goto lab0;
610 case 1:
611 {
612 int ret = slice_from_s (z, 1, s_11); /* <-, line 78 */
613 if (ret < 0)
614 return ret;
615 }
616 break;
617 case 2:
618 {
619 int ret = slice_from_s (z, 1, s_12); /* <-, line 79 */
620 if (ret < 0)
621 return ret;
622 }
623 break;
624 case 3:
625 {
626 int ret = slice_from_s (z, 1, s_13); /* <-, line 80 */
627 if (ret < 0)
628 return ret;
629 }
630 break;
631 case 4:
632 if (z->c >= z->l)
633 goto lab0;
634 z->c++; /* next, line 81 */
635 break;
636 }
637 continue;
638 lab0:
639 z->c = c1;
640 break;
641 }
642 return 1;
643}
644
645static int
646r_RV (struct SN_env *z)
647{
648 if (!(z->I[0] <= z->c))
649 return 0;
650 return 1;
651}
652
653static int
654r_R1 (struct SN_env *z)
655{
656 if (!(z->I[1] <= z->c))
657 return 0;
658 return 1;
659}
660
661static int
662r_R2 (struct SN_env *z)
663{
664 if (!(z->I[2] <= z->c))
665 return 0;
666 return 1;
667}
668
669static int
671{
672 int among_var;
673 z->ket = z->c; /* [, line 92 */
674 among_var = find_among_b (z, a_4, 43); /* substring, line 92 */
675 if (!(among_var))
676 return 0;
677 z->bra = z->c; /* ], line 92 */
678 switch (among_var)
679 {
680 case 0:
681 return 0;
682 case 1:
683 {
684 int ret = r_R2 (z);
685 if (ret == 0)
686 return 0; /* call R2, line 96 */
687 if (ret < 0)
688 return ret;
689 }
690 {
691 int ret = slice_del (z); /* delete, line 96 */
692 if (ret < 0)
693 return ret;
694 }
695 break;
696 case 2:
697 {
698 int ret = r_R2 (z);
699 if (ret == 0)
700 return 0; /* call R2, line 99 */
701 if (ret < 0)
702 return ret;
703 }
704 {
705 int ret = slice_del (z); /* delete, line 99 */
706 if (ret < 0)
707 return ret;
708 }
709 {
710 int m_keep = z->l - z->c; /* (void) m_keep; *//* try, line 100 */
711 z->ket = z->c; /* [, line 100 */
712 if (!(eq_s_b (z, 2, s_14)))
713 {
714 z->c = z->l - m_keep;
715 goto lab0;
716 }
717 z->bra = z->c; /* ], line 100 */
718 {
719 int m1 = z->l - z->c;
720 (void) m1; /* or, line 100 */
721 {
722 int ret = r_R2 (z);
723 if (ret == 0)
724 goto lab2; /* call R2, line 100 */
725 if (ret < 0)
726 return ret;
727 }
728 {
729 int ret = slice_del (z); /* delete, line 100 */
730 if (ret < 0)
731 return ret;
732 }
733 goto lab1;
734 lab2:
735 z->c = z->l - m1;
736 {
737 int ret = slice_from_s (z, 3, s_15); /* <-, line 100 */
738 if (ret < 0)
739 return ret;
740 }
741 }
742 lab1:
743 lab0:
744 ;
745 }
746 break;
747 case 3:
748 {
749 int ret = r_R2 (z);
750 if (ret == 0)
751 return 0; /* call R2, line 104 */
752 if (ret < 0)
753 return ret;
754 }
755 {
756 int ret = slice_from_s (z, 3, s_16); /* <-, line 104 */
757 if (ret < 0)
758 return ret;
759 }
760 break;
761 case 4:
762 {
763 int ret = r_R2 (z);
764 if (ret == 0)
765 return 0; /* call R2, line 107 */
766 if (ret < 0)
767 return ret;
768 }
769 {
770 int ret = slice_from_s (z, 1, s_17); /* <-, line 107 */
771 if (ret < 0)
772 return ret;
773 }
774 break;
775 case 5:
776 {
777 int ret = r_R2 (z);
778 if (ret == 0)
779 return 0; /* call R2, line 110 */
780 if (ret < 0)
781 return ret;
782 }
783 {
784 int ret = slice_from_s (z, 3, s_18); /* <-, line 110 */
785 if (ret < 0)
786 return ret;
787 }
788 break;
789 case 6:
790 {
791 int ret = r_RV (z);
792 if (ret == 0)
793 return 0; /* call RV, line 114 */
794 if (ret < 0)
795 return ret;
796 }
797 {
798 int ret = slice_del (z); /* delete, line 114 */
799 if (ret < 0)
800 return ret;
801 }
802 {
803 int m_keep = z->l - z->c; /* (void) m_keep; *//* try, line 115 */
804 z->ket = z->c; /* [, line 116 */
805 among_var = find_among_b (z, a_2, 6); /* substring, line 116 */
806 if (!(among_var))
807 {
808 z->c = z->l - m_keep;
809 goto lab3;
810 }
811 z->bra = z->c; /* ], line 116 */
812 switch (among_var)
813 {
814 case 0:
815 {
816 z->c = z->l - m_keep;
817 goto lab3;
818 }
819 case 1:
820 {
821 int ret = r_R2 (z);
822 if (ret == 0)
823 {
824 z->c = z->l - m_keep;
825 goto lab3;
826 } /* call R2, line 117 */
827 if (ret < 0)
828 return ret;
829 }
830 {
831 int ret = slice_del (z); /* delete, line 117 */
832 if (ret < 0)
833 return ret;
834 }
835 z->ket = z->c; /* [, line 117 */
836 if (!(eq_s_b (z, 2, s_19)))
837 {
838 z->c = z->l - m_keep;
839 goto lab3;
840 }
841 z->bra = z->c; /* ], line 117 */
842 {
843 int ret = r_R2 (z);
844 if (ret == 0)
845 {
846 z->c = z->l - m_keep;
847 goto lab3;
848 } /* call R2, line 117 */
849 if (ret < 0)
850 return ret;
851 }
852 {
853 int ret = slice_del (z); /* delete, line 117 */
854 if (ret < 0)
855 return ret;
856 }
857 break;
858 case 2:
859 {
860 int m2 = z->l - z->c;
861 (void) m2; /* or, line 118 */
862 {
863 int ret = r_R2 (z);
864 if (ret == 0)
865 goto lab5; /* call R2, line 118 */
866 if (ret < 0)
867 return ret;
868 }
869 {
870 int ret = slice_del (z); /* delete, line 118 */
871 if (ret < 0)
872 return ret;
873 }
874 goto lab4;
875 lab5:
876 z->c = z->l - m2;
877 {
878 int ret = r_R1 (z);
879 if (ret == 0)
880 {
881 z->c = z->l - m_keep;
882 goto lab3;
883 } /* call R1, line 118 */
884 if (ret < 0)
885 return ret;
886 }
887 {
888 int ret = slice_from_s (z, 3, s_20); /* <-, line 118 */
889 if (ret < 0)
890 return ret;
891 }
892 }
893 lab4:
894 break;
895 case 3:
896 {
897 int ret = r_R2 (z);
898 if (ret == 0)
899 {
900 z->c = z->l - m_keep;
901 goto lab3;
902 } /* call R2, line 120 */
903 if (ret < 0)
904 return ret;
905 }
906 {
907 int ret = slice_del (z); /* delete, line 120 */
908 if (ret < 0)
909 return ret;
910 }
911 break;
912 case 4:
913 {
914 int ret = r_RV (z);
915 if (ret == 0)
916 {
917 z->c = z->l - m_keep;
918 goto lab3;
919 } /* call RV, line 122 */
920 if (ret < 0)
921 return ret;
922 }
923 {
924 int ret = slice_from_s (z, 1, s_21); /* <-, line 122 */
925 if (ret < 0)
926 return ret;
927 }
928 break;
929 }
930 lab3:
931 ;
932 }
933 break;
934 case 7:
935 {
936 int ret = r_R2 (z);
937 if (ret == 0)
938 return 0; /* call R2, line 129 */
939 if (ret < 0)
940 return ret;
941 }
942 {
943 int ret = slice_del (z); /* delete, line 129 */
944 if (ret < 0)
945 return ret;
946 }
947 {
948 int m_keep = z->l - z->c; /* (void) m_keep; *//* try, line 130 */
949 z->ket = z->c; /* [, line 131 */
950 if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3
951 || !((4198408 >> (z->p[z->c - 1] & 0x1f)) & 1))
952 {
953 z->c = z->l - m_keep;
954 goto lab6;
955 }
956 among_var = find_among_b (z, a_3, 3); /* substring, line 131 */
957 if (!(among_var))
958 {
959 z->c = z->l - m_keep;
960 goto lab6;
961 }
962 z->bra = z->c; /* ], line 131 */
963 switch (among_var)
964 {
965 case 0:
966 {
967 z->c = z->l - m_keep;
968 goto lab6;
969 }
970 case 1:
971 {
972 int m3 = z->l - z->c;
973 (void) m3; /* or, line 132 */
974 {
975 int ret = r_R2 (z);
976 if (ret == 0)
977 goto lab8; /* call R2, line 132 */
978 if (ret < 0)
979 return ret;
980 }
981 {
982 int ret = slice_del (z); /* delete, line 132 */
983 if (ret < 0)
984 return ret;
985 }
986 goto lab7;
987 lab8:
988 z->c = z->l - m3;
989 {
990 int ret = slice_from_s (z, 3, s_22); /* <-, line 132 */
991 if (ret < 0)
992 return ret;
993 }
994 }
995 lab7:
996 break;
997 case 2:
998 {
999 int m4 = z->l - z->c;
1000 (void) m4; /* or, line 133 */
1001 {
1002 int ret = r_R2 (z);
1003 if (ret == 0)
1004 goto lab10; /* call R2, line 133 */
1005 if (ret < 0)
1006 return ret;
1007 }
1008 {
1009 int ret = slice_del (z); /* delete, line 133 */
1010 if (ret < 0)
1011 return ret;
1012 }
1013 goto lab9;
1014 lab10:
1015 z->c = z->l - m4;
1016 {
1017 int ret = slice_from_s (z, 3, s_23); /* <-, line 133 */
1018 if (ret < 0)
1019 return ret;
1020 }
1021 }
1022 lab9:
1023 break;
1024 case 3:
1025 {
1026 int ret = r_R2 (z);
1027 if (ret == 0)
1028 {
1029 z->c = z->l - m_keep;
1030 goto lab6;
1031 } /* call R2, line 134 */
1032 if (ret < 0)
1033 return ret;
1034 }
1035 {
1036 int ret = slice_del (z); /* delete, line 134 */
1037 if (ret < 0)
1038 return ret;
1039 }
1040 break;
1041 }
1042 lab6:
1043 ;
1044 }
1045 break;
1046 case 8:
1047 {
1048 int ret = r_R2 (z);
1049 if (ret == 0)
1050 return 0; /* call R2, line 141 */
1051 if (ret < 0)
1052 return ret;
1053 }
1054 {
1055 int ret = slice_del (z); /* delete, line 141 */
1056 if (ret < 0)
1057 return ret;
1058 }
1059 {
1060 int m_keep = z->l - z->c; /* (void) m_keep; *//* try, line 142 */
1061 z->ket = z->c; /* [, line 142 */
1062 if (!(eq_s_b (z, 2, s_24)))
1063 {
1064 z->c = z->l - m_keep;
1065 goto lab11;
1066 }
1067 z->bra = z->c; /* ], line 142 */
1068 {
1069 int ret = r_R2 (z);
1070 if (ret == 0)
1071 {
1072 z->c = z->l - m_keep;
1073 goto lab11;
1074 } /* call R2, line 142 */
1075 if (ret < 0)
1076 return ret;
1077 }
1078 {
1079 int ret = slice_del (z); /* delete, line 142 */
1080 if (ret < 0)
1081 return ret;
1082 }
1083 z->ket = z->c; /* [, line 142 */
1084 if (!(eq_s_b (z, 2, s_25)))
1085 {
1086 z->c = z->l - m_keep;
1087 goto lab11;
1088 }
1089 z->bra = z->c; /* ], line 142 */
1090 {
1091 int m5 = z->l - z->c;
1092 (void) m5; /* or, line 142 */
1093 {
1094 int ret = r_R2 (z);
1095 if (ret == 0)
1096 goto lab13; /* call R2, line 142 */
1097 if (ret < 0)
1098 return ret;
1099 }
1100 {
1101 int ret = slice_del (z); /* delete, line 142 */
1102 if (ret < 0)
1103 return ret;
1104 }
1105 goto lab12;
1106 lab13:
1107 z->c = z->l - m5;
1108 {
1109 int ret = slice_from_s (z, 3, s_26); /* <-, line 142 */
1110 if (ret < 0)
1111 return ret;
1112 }
1113 }
1114 lab12:
1115 lab11:
1116 ;
1117 }
1118 break;
1119 case 9:
1120 {
1121 int ret = slice_from_s (z, 3, s_27); /* <-, line 144 */
1122 if (ret < 0)
1123 return ret;
1124 }
1125 break;
1126 case 10:
1127 {
1128 int ret = r_R1 (z);
1129 if (ret == 0)
1130 return 0; /* call R1, line 145 */
1131 if (ret < 0)
1132 return ret;
1133 }
1134 {
1135 int ret = slice_from_s (z, 2, s_28); /* <-, line 145 */
1136 if (ret < 0)
1137 return ret;
1138 }
1139 break;
1140 case 11:
1141 {
1142 int m6 = z->l - z->c;
1143 (void) m6; /* or, line 147 */
1144 {
1145 int ret = r_R2 (z);
1146 if (ret == 0)
1147 goto lab15; /* call R2, line 147 */
1148 if (ret < 0)
1149 return ret;
1150 }
1151 {
1152 int ret = slice_del (z); /* delete, line 147 */
1153 if (ret < 0)
1154 return ret;
1155 }
1156 goto lab14;
1157 lab15:
1158 z->c = z->l - m6;
1159 {
1160 int ret = r_R1 (z);
1161 if (ret == 0)
1162 return 0; /* call R1, line 147 */
1163 if (ret < 0)
1164 return ret;
1165 }
1166 {
1167 int ret = slice_from_s (z, 3, s_29); /* <-, line 147 */
1168 if (ret < 0)
1169 return ret;
1170 }
1171 }
1172 lab14:
1173 break;
1174 case 12:
1175 {
1176 int ret = r_R1 (z);
1177 if (ret == 0)
1178 return 0; /* call R1, line 150 */
1179 if (ret < 0)
1180 return ret;
1181 }
1182 if (out_grouping_b (z, g_v, 97, 251, 0))
1183 return 0;
1184 {
1185 int ret = slice_del (z); /* delete, line 150 */
1186 if (ret < 0)
1187 return ret;
1188 }
1189 break;
1190 case 13:
1191 {
1192 int ret = r_RV (z);
1193 if (ret == 0)
1194 return 0; /* call RV, line 155 */
1195 if (ret < 0)
1196 return ret;
1197 }
1198 {
1199 int ret = slice_from_s (z, 3, s_30); /* <-, line 155 */
1200 if (ret < 0)
1201 return ret;
1202 }
1203 return 0; /* fail, line 155 */
1204 break;
1205 case 14:
1206 {
1207 int ret = r_RV (z);
1208 if (ret == 0)
1209 return 0; /* call RV, line 156 */
1210 if (ret < 0)
1211 return ret;
1212 }
1213 {
1214 int ret = slice_from_s (z, 3, s_31); /* <-, line 156 */
1215 if (ret < 0)
1216 return ret;
1217 }
1218 return 0; /* fail, line 156 */
1219 break;
1220 case 15:
1221 {
1222 int m_test = z->l - z->c; /* test, line 158 */
1223 if (in_grouping_b (z, g_v, 97, 251, 0))
1224 return 0;
1225 {
1226 int ret = r_RV (z);
1227 if (ret == 0)
1228 return 0; /* call RV, line 158 */
1229 if (ret < 0)
1230 return ret;
1231 }
1232 z->c = z->l - m_test;
1233 }
1234 {
1235 int ret = slice_del (z); /* delete, line 158 */
1236 if (ret < 0)
1237 return ret;
1238 }
1239 return 0; /* fail, line 158 */
1240 break;
1241 }
1242 return 1;
1243}
1244
1245static int
1247{
1248 int among_var;
1249 {
1250 int mlimit; /* setlimit, line 163 */
1251 int m1 = z->l - z->c;
1252 (void) m1;
1253 if (z->c < z->I[0])
1254 return 0;
1255 z->c = z->I[0]; /* tomark, line 163 */
1256 mlimit = z->lb;
1257 z->lb = z->c;
1258 z->c = z->l - m1;
1259 z->ket = z->c; /* [, line 164 */
1260 if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3
1261 || !((68944418 >> (z->p[z->c - 1] & 0x1f)) & 1))
1262 {
1263 z->lb = mlimit;
1264 return 0;
1265 }
1266 among_var = find_among_b (z, a_5, 35); /* substring, line 164 */
1267 if (!(among_var))
1268 {
1269 z->lb = mlimit;
1270 return 0;
1271 }
1272 z->bra = z->c; /* ], line 164 */
1273 switch (among_var)
1274 {
1275 case 0:
1276 {
1277 z->lb = mlimit;
1278 return 0;
1279 }
1280 case 1:
1281 if (out_grouping_b (z, g_v, 97, 251, 0))
1282 {
1283 z->lb = mlimit;
1284 return 0;
1285 }
1286 {
1287 int ret = slice_del (z); /* delete, line 170 */
1288 if (ret < 0)
1289 return ret;
1290 }
1291 break;
1292 }
1293 z->lb = mlimit;
1294 }
1295 return 1;
1296}
1297
1298static int
1300{
1301 int among_var;
1302 {
1303 int mlimit; /* setlimit, line 174 */
1304 int m1 = z->l - z->c;
1305 (void) m1;
1306 if (z->c < z->I[0])
1307 return 0;
1308 z->c = z->I[0]; /* tomark, line 174 */
1309 mlimit = z->lb;
1310 z->lb = z->c;
1311 z->c = z->l - m1;
1312 z->ket = z->c; /* [, line 175 */
1313 among_var = find_among_b (z, a_6, 38); /* substring, line 175 */
1314 if (!(among_var))
1315 {
1316 z->lb = mlimit;
1317 return 0;
1318 }
1319 z->bra = z->c; /* ], line 175 */
1320 switch (among_var)
1321 {
1322 case 0:
1323 {
1324 z->lb = mlimit;
1325 return 0;
1326 }
1327 case 1:
1328 {
1329 int ret = r_R2 (z);
1330 if (ret == 0)
1331 {
1332 z->lb = mlimit;
1333 return 0;
1334 } /* call R2, line 177 */
1335 if (ret < 0)
1336 return ret;
1337 }
1338 {
1339 int ret = slice_del (z); /* delete, line 177 */
1340 if (ret < 0)
1341 return ret;
1342 }
1343 break;
1344 case 2:
1345 {
1346 int ret = slice_del (z); /* delete, line 185 */
1347 if (ret < 0)
1348 return ret;
1349 }
1350 break;
1351 case 3:
1352 {
1353 int ret = slice_del (z); /* delete, line 190 */
1354 if (ret < 0)
1355 return ret;
1356 }
1357 {
1358 int m_keep = z->l - z->c; /* (void) m_keep; *//* try, line 191 */
1359 z->ket = z->c; /* [, line 191 */
1360 if (!(eq_s_b (z, 1, s_32)))
1361 {
1362 z->c = z->l - m_keep;
1363 goto lab0;
1364 }
1365 z->bra = z->c; /* ], line 191 */
1366 {
1367 int ret = slice_del (z); /* delete, line 191 */
1368 if (ret < 0)
1369 return ret;
1370 }
1371 lab0:
1372 ;
1373 }
1374 break;
1375 }
1376 z->lb = mlimit;
1377 }
1378 return 1;
1379}
1380
1381static int
1383{
1384 int among_var;
1385 {
1386 int m_keep = z->l - z->c; /* (void) m_keep; *//* try, line 199 */
1387 z->ket = z->c; /* [, line 199 */
1388 if (!(eq_s_b (z, 1, s_33)))
1389 {
1390 z->c = z->l - m_keep;
1391 goto lab0;
1392 }
1393 z->bra = z->c; /* ], line 199 */
1394 {
1395 int m_test = z->l - z->c; /* test, line 199 */
1396 if (out_grouping_b (z, g_keep_with_s, 97, 232, 0))
1397 {
1398 z->c = z->l - m_keep;
1399 goto lab0;
1400 }
1401 z->c = z->l - m_test;
1402 }
1403 {
1404 int ret = slice_del (z); /* delete, line 199 */
1405 if (ret < 0)
1406 return ret;
1407 }
1408 lab0:
1409 ;
1410 }
1411 {
1412 int mlimit; /* setlimit, line 200 */
1413 int m1 = z->l - z->c;
1414 (void) m1;
1415 if (z->c < z->I[0])
1416 return 0;
1417 z->c = z->I[0]; /* tomark, line 200 */
1418 mlimit = z->lb;
1419 z->lb = z->c;
1420 z->c = z->l - m1;
1421 z->ket = z->c; /* [, line 201 */
1422 among_var = find_among_b (z, a_7, 7); /* substring, line 201 */
1423 if (!(among_var))
1424 {
1425 z->lb = mlimit;
1426 return 0;
1427 }
1428 z->bra = z->c; /* ], line 201 */
1429 switch (among_var)
1430 {
1431 case 0:
1432 {
1433 z->lb = mlimit;
1434 return 0;
1435 }
1436 case 1:
1437 {
1438 int ret = r_R2 (z);
1439 if (ret == 0)
1440 {
1441 z->lb = mlimit;
1442 return 0;
1443 } /* call R2, line 202 */
1444 if (ret < 0)
1445 return ret;
1446 }
1447 {
1448 int m2 = z->l - z->c;
1449 (void) m2; /* or, line 202 */
1450 if (!(eq_s_b (z, 1, s_34)))
1451 goto lab2;
1452 goto lab1;
1453 lab2:
1454 z->c = z->l - m2;
1455 if (!(eq_s_b (z, 1, s_35)))
1456 {
1457 z->lb = mlimit;
1458 return 0;
1459 }
1460 }
1461 lab1:
1462 {
1463 int ret = slice_del (z); /* delete, line 202 */
1464 if (ret < 0)
1465 return ret;
1466 }
1467 break;
1468 case 2:
1469 {
1470 int ret = slice_from_s (z, 1, s_36); /* <-, line 204 */
1471 if (ret < 0)
1472 return ret;
1473 }
1474 break;
1475 case 3:
1476 {
1477 int ret = slice_del (z); /* delete, line 205 */
1478 if (ret < 0)
1479 return ret;
1480 }
1481 break;
1482 case 4:
1483 if (!(eq_s_b (z, 2, s_37)))
1484 {
1485 z->lb = mlimit;
1486 return 0;
1487 }
1488 {
1489 int ret = slice_del (z); /* delete, line 206 */
1490 if (ret < 0)
1491 return ret;
1492 }
1493 break;
1494 }
1495 z->lb = mlimit;
1496 }
1497 return 1;
1498}
1499
1500static int
1502{
1503 {
1504 int m_test = z->l - z->c; /* test, line 212 */
1505 if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3
1506 || !((1069056 >> (z->p[z->c - 1] & 0x1f)) & 1))
1507 return 0;
1508 if (!(find_among_b (z, a_8, 5)))
1509 return 0; /* among, line 212 */
1510 z->c = z->l - m_test;
1511 }
1512 z->ket = z->c; /* [, line 212 */
1513 if (z->c <= z->lb)
1514 return 0;
1515 z->c--; /* next, line 212 */
1516 z->bra = z->c; /* ], line 212 */
1517 {
1518 int ret = slice_del (z); /* delete, line 212 */
1519 if (ret < 0)
1520 return ret;
1521 }
1522 return 1;
1523}
1524
1525static int
1527{
1528 {
1529 int i = 1;
1530 while (1)
1531 { /* atleast, line 216 */
1532 if (out_grouping_b (z, g_v, 97, 251, 0))
1533 goto lab0;
1534 i--;
1535 continue;
1536 lab0:
1537 break;
1538 }
1539 if (i > 0)
1540 return 0;
1541 }
1542 z->ket = z->c; /* [, line 217 */
1543 {
1544 int m1 = z->l - z->c;
1545 (void) m1; /* or, line 217 */
1546 if (!(eq_s_b (z, 1, s_38)))
1547 goto lab2;
1548 goto lab1;
1549 lab2:
1550 z->c = z->l - m1;
1551 if (!(eq_s_b (z, 1, s_39)))
1552 return 0;
1553 }
1554lab1:
1555 z->bra = z->c; /* ], line 217 */
1556 {
1557 int ret = slice_from_s (z, 1, s_40); /* <-, line 217 */
1558 if (ret < 0)
1559 return ret;
1560 }
1561 return 1;
1562}
1563
1564extern int
1566{
1567 {
1568 int c1 = z->c; /* do, line 223 */
1569 {
1570 int ret = r_prelude (z);
1571 if (ret == 0)
1572 goto lab0; /* call prelude, line 223 */
1573 if (ret < 0)
1574 return ret;
1575 }
1576 lab0:
1577 z->c = c1;
1578 }
1579 {
1580 int c2 = z->c; /* do, line 224 */
1581 {
1582 int ret = r_mark_regions (z);
1583 if (ret == 0)
1584 goto lab1; /* call mark_regions, line 224 */
1585 if (ret < 0)
1586 return ret;
1587 }
1588 lab1:
1589 z->c = c2;
1590 }
1591 z->lb = z->c;
1592 z->c = z->l; /* backwards, line 225 */
1593
1594 {
1595 int m3 = z->l - z->c;
1596 (void) m3; /* do, line 227 */
1597 {
1598 int m4 = z->l - z->c;
1599 (void) m4; /* or, line 237 */
1600 {
1601 int m5 = z->l - z->c;
1602 (void) m5; /* and, line 233 */
1603 {
1604 int m6 = z->l - z->c;
1605 (void) m6; /* or, line 229 */
1606 {
1607 int ret = r_standard_suffix (z);
1608 if (ret == 0)
1609 goto lab6; /* call standard_suffix, line 229 */
1610 if (ret < 0)
1611 return ret;
1612 }
1613 goto lab5;
1614 lab6:
1615 z->c = z->l - m6;
1616 {
1617 int ret = r_i_verb_suffix (z);
1618 if (ret == 0)
1619 goto lab7; /* call i_verb_suffix, line 230 */
1620 if (ret < 0)
1621 return ret;
1622 }
1623 goto lab5;
1624 lab7:
1625 z->c = z->l - m6;
1626 {
1627 int ret = r_verb_suffix (z);
1628 if (ret == 0)
1629 goto lab4; /* call verb_suffix, line 231 */
1630 if (ret < 0)
1631 return ret;
1632 }
1633 }
1634 lab5:
1635 z->c = z->l - m5;
1636 {
1637 int m_keep = z->l - z->c; /* (void) m_keep; *//* try, line 234 */
1638 z->ket = z->c; /* [, line 234 */
1639 {
1640 int m7 = z->l - z->c;
1641 (void) m7; /* or, line 234 */
1642 if (!(eq_s_b (z, 1, s_41)))
1643 goto lab10;
1644 z->bra = z->c; /* ], line 234 */
1645 {
1646 int ret = slice_from_s (z, 1, s_42); /* <-, line 234 */
1647 if (ret < 0)
1648 return ret;
1649 }
1650 goto lab9;
1651 lab10:
1652 z->c = z->l - m7;
1653 if (!(eq_s_b (z, 1, s_43)))
1654 {
1655 z->c = z->l - m_keep;
1656 goto lab8;
1657 }
1658 z->bra = z->c; /* ], line 235 */
1659 {
1660 int ret = slice_from_s (z, 1, s_44); /* <-, line 235 */
1661 if (ret < 0)
1662 return ret;
1663 }
1664 }
1665 lab9:
1666 lab8:
1667 ;
1668 }
1669 }
1670 goto lab3;
1671 lab4:
1672 z->c = z->l - m4;
1673 {
1674 int ret = r_residual_suffix (z);
1675 if (ret == 0)
1676 goto lab2; /* call residual_suffix, line 238 */
1677 if (ret < 0)
1678 return ret;
1679 }
1680 }
1681 lab3:
1682 lab2:
1683 z->c = z->l - m3;
1684 }
1685 {
1686 int m8 = z->l - z->c;
1687 (void) m8; /* do, line 243 */
1688 {
1689 int ret = r_un_double (z);
1690 if (ret == 0)
1691 goto lab11; /* call un_double, line 243 */
1692 if (ret < 0)
1693 return ret;
1694 }
1695 lab11:
1696 z->c = z->l - m8;
1697 }
1698 {
1699 int m9 = z->l - z->c;
1700 (void) m9; /* do, line 244 */
1701 {
1702 int ret = r_un_accent (z);
1703 if (ret == 0)
1704 goto lab12; /* call un_accent, line 244 */
1705 if (ret < 0)
1706 return ret;
1707 }
1708 lab12:
1709 z->c = z->l - m9;
1710 }
1711 z->c = z->lb;
1712 {
1713 int c10 = z->c; /* do, line 246 */
1714 {
1715 int ret = r_postlude (z);
1716 if (ret == 0)
1717 goto lab13; /* call postlude, line 246 */
1718 if (ret < 0)
1719 return ret;
1720 }
1721 lab13:
1722 z->c = c10;
1723 }
1724 return 1;
1725}
1726
1727extern struct SN_env *
1729{
1730 return SN_create_env (0, 3, 0);
1731}
1732
1733extern void
1735{
1736 SN_close_env (z, 0);
1737}
struct SN_env * SN_create_env(int S_size, int I_size, int B_size)
Definition api.c:6
void SN_close_env(struct SN_env *z, int S_size)
Definition api.c:50
unsigned char symbol
Definition api.h:2
int find_among_b(struct SN_env *z, const struct among *v, int v_size)
Definition utilities.c:400
int slice_del(struct SN_env *z)
Definition utilities.c:573
int in_grouping(struct SN_env *z, const unsigned char *s, int min, int max, int repeat)
Definition utilities.c:206
int eq_s(struct SN_env *z, int s_size, const symbol *s)
Definition utilities.c:280
int out_grouping_b(struct SN_env *z, const unsigned char *s, int min, int max, int repeat)
Definition utilities.c:262
int eq_s_b(struct SN_env *z, int s_size, const symbol *s)
Definition utilities.c:290
int out_grouping(struct SN_env *z, const unsigned char *s, int min, int max, int repeat)
Definition utilities.c:244
int find_among(struct SN_env *z, const struct among *v, int v_size)
Definition utilities.c:312
int slice_from_s(struct SN_env *z, int s_size, const symbol *s)
Definition utilities.c:559
int in_grouping_b(struct SN_env *z, const unsigned char *s, int min, int max, int repeat)
Definition utilities.c:225
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_1_3[1]
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_42[]
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_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_standard_suffix(struct SN_env *z)
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_1[4]
static const symbol s_27[]
static const symbol s_4_9[3]
static const symbol s_5_6[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_7_6[1]
static const symbol s_21[]
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_37[]
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 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 int r_RV(struct SN_env *z)
static const symbol s_35[]
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_1_2[1]
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 const struct among a_7[7]
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_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_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_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_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_41[]
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_40[]
static const symbol s_4_41[3]
static const symbol s_44[]
static const symbol s_43[]
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