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