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