No issues found
1 /*
2 * Copyright (c) 2001, Dr Martin Porter
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
6 * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
7 * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
8 * Neither the name of the <ORGANIZATION> nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
9 *
10 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
11 */
12
13
14
15 /* This file was generated automatically by the Snowball to ANSI C compiler */
16
17 #include "header.h"
18
19 extern int english_UTF_8_stem(struct SN_env * z);
20 static int r_exception2(struct SN_env * z);
21 static int r_exception1(struct SN_env * z);
22 static int r_Step_5(struct SN_env * z);
23 static int r_Step_4(struct SN_env * z);
24 static int r_Step_3(struct SN_env * z);
25 static int r_Step_2(struct SN_env * z);
26 static int r_Step_1c(struct SN_env * z);
27 static int r_Step_1b(struct SN_env * z);
28 static int r_Step_1a(struct SN_env * z);
29 static int r_R2(struct SN_env * z);
30 static int r_R1(struct SN_env * z);
31 static int r_shortv(struct SN_env * z);
32 static int r_mark_regions(struct SN_env * z);
33 static int r_postlude(struct SN_env * z);
34 static int r_prelude(struct SN_env * z);
35
36 extern struct SN_env * english_UTF_8_create_env(void);
37 extern void english_UTF_8_close_env(struct SN_env * z);
38
39 static symbol s_0_0[6] = { 'c', 'o', 'm', 'm', 'u', 'n' };
40 static symbol s_0_1[5] = { 'g', 'e', 'n', 'e', 'r' };
41
42 static struct among a_0[2] =
43 {
44 /* 0 */ { 6, s_0_0, -1, -1, 0},
45 /* 1 */ { 5, s_0_1, -1, -1, 0}
46 };
47
48 static symbol s_1_0[1] = { '\'' };
49 static symbol s_1_1[3] = { '\'', 's', '\'' };
50 static symbol s_1_2[2] = { '\'', 's' };
51
52 static struct among a_1[3] =
53 {
54 /* 0 */ { 1, s_1_0, -1, 1, 0},
55 /* 1 */ { 3, s_1_1, 0, 1, 0},
56 /* 2 */ { 2, s_1_2, -1, 1, 0}
57 };
58
59 static symbol s_2_0[3] = { 'i', 'e', 'd' };
60 static symbol s_2_1[1] = { 's' };
61 static symbol s_2_2[3] = { 'i', 'e', 's' };
62 static symbol s_2_3[4] = { 's', 's', 'e', 's' };
63 static symbol s_2_4[2] = { 's', 's' };
64 static symbol s_2_5[2] = { 'u', 's' };
65
66 static struct among a_2[6] =
67 {
68 /* 0 */ { 3, s_2_0, -1, 2, 0},
69 /* 1 */ { 1, s_2_1, -1, 3, 0},
70 /* 2 */ { 3, s_2_2, 1, 2, 0},
71 /* 3 */ { 4, s_2_3, 1, 1, 0},
72 /* 4 */ { 2, s_2_4, 1, -1, 0},
73 /* 5 */ { 2, s_2_5, 1, -1, 0}
74 };
75
76 static symbol s_3_1[2] = { 'b', 'b' };
77 static symbol s_3_2[2] = { 'd', 'd' };
78 static symbol s_3_3[2] = { 'f', 'f' };
79 static symbol s_3_4[2] = { 'g', 'g' };
80 static symbol s_3_5[2] = { 'b', 'l' };
81 static symbol s_3_6[2] = { 'm', 'm' };
82 static symbol s_3_7[2] = { 'n', 'n' };
83 static symbol s_3_8[2] = { 'p', 'p' };
84 static symbol s_3_9[2] = { 'r', 'r' };
85 static symbol s_3_10[2] = { 'a', 't' };
86 static symbol s_3_11[2] = { 't', 't' };
87 static symbol s_3_12[2] = { 'i', 'z' };
88
89 static struct among a_3[13] =
90 {
91 /* 0 */ { 0, 0, -1, 3, 0},
92 /* 1 */ { 2, s_3_1, 0, 2, 0},
93 /* 2 */ { 2, s_3_2, 0, 2, 0},
94 /* 3 */ { 2, s_3_3, 0, 2, 0},
95 /* 4 */ { 2, s_3_4, 0, 2, 0},
96 /* 5 */ { 2, s_3_5, 0, 1, 0},
97 /* 6 */ { 2, s_3_6, 0, 2, 0},
98 /* 7 */ { 2, s_3_7, 0, 2, 0},
99 /* 8 */ { 2, s_3_8, 0, 2, 0},
100 /* 9 */ { 2, s_3_9, 0, 2, 0},
101 /* 10 */ { 2, s_3_10, 0, 1, 0},
102 /* 11 */ { 2, s_3_11, 0, 2, 0},
103 /* 12 */ { 2, s_3_12, 0, 1, 0}
104 };
105
106 static symbol s_4_0[2] = { 'e', 'd' };
107 static symbol s_4_1[3] = { 'e', 'e', 'd' };
108 static symbol s_4_2[3] = { 'i', 'n', 'g' };
109 static symbol s_4_3[4] = { 'e', 'd', 'l', 'y' };
110 static symbol s_4_4[5] = { 'e', 'e', 'd', 'l', 'y' };
111 static symbol s_4_5[5] = { 'i', 'n', 'g', 'l', 'y' };
112
113 static struct among a_4[6] =
114 {
115 /* 0 */ { 2, s_4_0, -1, 2, 0},
116 /* 1 */ { 3, s_4_1, 0, 1, 0},
117 /* 2 */ { 3, s_4_2, -1, 2, 0},
118 /* 3 */ { 4, s_4_3, -1, 2, 0},
119 /* 4 */ { 5, s_4_4, 3, 1, 0},
120 /* 5 */ { 5, s_4_5, -1, 2, 0}
121 };
122
123 static symbol s_5_0[4] = { 'a', 'n', 'c', 'i' };
124 static symbol s_5_1[4] = { 'e', 'n', 'c', 'i' };
125 static symbol s_5_2[3] = { 'o', 'g', 'i' };
126 static symbol s_5_3[2] = { 'l', 'i' };
127 static symbol s_5_4[3] = { 'b', 'l', 'i' };
128 static symbol s_5_5[4] = { 'a', 'b', 'l', 'i' };
129 static symbol s_5_6[4] = { 'a', 'l', 'l', 'i' };
130 static symbol s_5_7[5] = { 'f', 'u', 'l', 'l', 'i' };
131 static symbol s_5_8[6] = { 'l', 'e', 's', 's', 'l', 'i' };
132 static symbol s_5_9[5] = { 'o', 'u', 's', 'l', 'i' };
133 static symbol s_5_10[5] = { 'e', 'n', 't', 'l', 'i' };
134 static symbol s_5_11[5] = { 'a', 'l', 'i', 't', 'i' };
135 static symbol s_5_12[6] = { 'b', 'i', 'l', 'i', 't', 'i' };
136 static symbol s_5_13[5] = { 'i', 'v', 'i', 't', 'i' };
137 static symbol s_5_14[6] = { 't', 'i', 'o', 'n', 'a', 'l' };
138 static symbol s_5_15[7] = { 'a', 't', 'i', 'o', 'n', 'a', 'l' };
139 static symbol s_5_16[5] = { 'a', 'l', 'i', 's', 'm' };
140 static symbol s_5_17[5] = { 'a', 't', 'i', 'o', 'n' };
141 static symbol s_5_18[7] = { 'i', 'z', 'a', 't', 'i', 'o', 'n' };
142 static symbol s_5_19[4] = { 'i', 'z', 'e', 'r' };
143 static symbol s_5_20[4] = { 'a', 't', 'o', 'r' };
144 static symbol s_5_21[7] = { 'i', 'v', 'e', 'n', 'e', 's', 's' };
145 static symbol s_5_22[7] = { 'f', 'u', 'l', 'n', 'e', 's', 's' };
146 static symbol s_5_23[7] = { 'o', 'u', 's', 'n', 'e', 's', 's' };
147
148 static struct among a_5[24] =
149 {
150 /* 0 */ { 4, s_5_0, -1, 3, 0},
151 /* 1 */ { 4, s_5_1, -1, 2, 0},
152 /* 2 */ { 3, s_5_2, -1, 13, 0},
153 /* 3 */ { 2, s_5_3, -1, 16, 0},
154 /* 4 */ { 3, s_5_4, 3, 12, 0},
155 /* 5 */ { 4, s_5_5, 4, 4, 0},
156 /* 6 */ { 4, s_5_6, 3, 8, 0},
157 /* 7 */ { 5, s_5_7, 3, 14, 0},
158 /* 8 */ { 6, s_5_8, 3, 15, 0},
159 /* 9 */ { 5, s_5_9, 3, 10, 0},
160 /* 10 */ { 5, s_5_10, 3, 5, 0},
161 /* 11 */ { 5, s_5_11, -1, 8, 0},
162 /* 12 */ { 6, s_5_12, -1, 12, 0},
163 /* 13 */ { 5, s_5_13, -1, 11, 0},
164 /* 14 */ { 6, s_5_14, -1, 1, 0},
165 /* 15 */ { 7, s_5_15, 14, 7, 0},
166 /* 16 */ { 5, s_5_16, -1, 8, 0},
167 /* 17 */ { 5, s_5_17, -1, 7, 0},
168 /* 18 */ { 7, s_5_18, 17, 6, 0},
169 /* 19 */ { 4, s_5_19, -1, 6, 0},
170 /* 20 */ { 4, s_5_20, -1, 7, 0},
171 /* 21 */ { 7, s_5_21, -1, 11, 0},
172 /* 22 */ { 7, s_5_22, -1, 9, 0},
173 /* 23 */ { 7, s_5_23, -1, 10, 0}
174 };
175
176 static symbol s_6_0[5] = { 'i', 'c', 'a', 't', 'e' };
177 static symbol s_6_1[5] = { 'a', 't', 'i', 'v', 'e' };
178 static symbol s_6_2[5] = { 'a', 'l', 'i', 'z', 'e' };
179 static symbol s_6_3[5] = { 'i', 'c', 'i', 't', 'i' };
180 static symbol s_6_4[4] = { 'i', 'c', 'a', 'l' };
181 static symbol s_6_5[6] = { 't', 'i', 'o', 'n', 'a', 'l' };
182 static symbol s_6_6[7] = { 'a', 't', 'i', 'o', 'n', 'a', 'l' };
183 /* static symbol s_6_7[3] = { 'f', 'u', 'l' }; */
184 static symbol s_6_8[4] = { 'n', 'e', 's', 's' };
185
186 static struct among a_6[8] =
187 {
188 /* 0 */ { 5, s_6_0, -1, 4, 0},
189 /* 1 */ { 5, s_6_1, -1, 6, 0},
190 /* 2 */ { 5, s_6_2, -1, 3, 0},
191 /* 3 */ { 5, s_6_3, -1, 4, 0},
192 /* 4 */ { 4, s_6_4, -1, 4, 0},
193 /* 5 */ { 6, s_6_5, -1, 1, 0},
194 /* 6 */ { 7, s_6_6, 5, 2, 0},
195 /* I removed this because it was causing a bug on searching for the term
196 * "beautiful" using "beautif*" in tracker-fts.c */
197 /* * 7 * { 3, s_6_7, -1, 5, 0}, */
198 /* 8 */ { 4, s_6_8, -1, 5, 0}
199 };
200
201 static symbol s_7_0[2] = { 'i', 'c' };
202 static symbol s_7_1[4] = { 'a', 'n', 'c', 'e' };
203 static symbol s_7_2[4] = { 'e', 'n', 'c', 'e' };
204 static symbol s_7_3[4] = { 'a', 'b', 'l', 'e' };
205 static symbol s_7_4[4] = { 'i', 'b', 'l', 'e' };
206 static symbol s_7_5[3] = { 'a', 't', 'e' };
207 static symbol s_7_6[3] = { 'i', 'v', 'e' };
208 static symbol s_7_7[3] = { 'i', 'z', 'e' };
209 static symbol s_7_8[3] = { 'i', 't', 'i' };
210 static symbol s_7_9[2] = { 'a', 'l' };
211 static symbol s_7_10[3] = { 'i', 's', 'm' };
212 static symbol s_7_11[3] = { 'i', 'o', 'n' };
213 static symbol s_7_12[2] = { 'e', 'r' };
214 static symbol s_7_13[3] = { 'o', 'u', 's' };
215 static symbol s_7_14[3] = { 'a', 'n', 't' };
216 static symbol s_7_15[3] = { 'e', 'n', 't' };
217 static symbol s_7_16[4] = { 'm', 'e', 'n', 't' };
218 static symbol s_7_17[5] = { 'e', 'm', 'e', 'n', 't' };
219
220 static struct among a_7[18] =
221 {
222 /* 0 */ { 2, s_7_0, -1, 1, 0},
223 /* 1 */ { 4, s_7_1, -1, 1, 0},
224 /* 2 */ { 4, s_7_2, -1, 1, 0},
225 /* 3 */ { 4, s_7_3, -1, 1, 0},
226 /* 4 */ { 4, s_7_4, -1, 1, 0},
227 /* 5 */ { 3, s_7_5, -1, 1, 0},
228 /* 6 */ { 3, s_7_6, -1, 1, 0},
229 /* 7 */ { 3, s_7_7, -1, 1, 0},
230 /* 8 */ { 3, s_7_8, -1, 1, 0},
231 /* 9 */ { 2, s_7_9, -1, 1, 0},
232 /* 10 */ { 3, s_7_10, -1, 1, 0},
233 /* 11 */ { 3, s_7_11, -1, 2, 0},
234 /* 12 */ { 2, s_7_12, -1, 1, 0},
235 /* 13 */ { 3, s_7_13, -1, 1, 0},
236 /* 14 */ { 3, s_7_14, -1, 1, 0},
237 /* 15 */ { 3, s_7_15, -1, 1, 0},
238 /* 16 */ { 4, s_7_16, 15, 1, 0},
239 /* 17 */ { 5, s_7_17, 16, 1, 0}
240 };
241
242 static symbol s_8_0[1] = { 'e' };
243 static symbol s_8_1[1] = { 'l' };
244
245 static struct among a_8[2] =
246 {
247 /* 0 */ { 1, s_8_0, -1, 1, 0},
248 /* 1 */ { 1, s_8_1, -1, 2, 0}
249 };
250
251 static symbol s_9_0[7] = { 's', 'u', 'c', 'c', 'e', 'e', 'd' };
252 static symbol s_9_1[7] = { 'p', 'r', 'o', 'c', 'e', 'e', 'd' };
253 static symbol s_9_2[6] = { 'e', 'x', 'c', 'e', 'e', 'd' };
254 static symbol s_9_3[7] = { 'c', 'a', 'n', 'n', 'i', 'n', 'g' };
255 static symbol s_9_4[6] = { 'i', 'n', 'n', 'i', 'n', 'g' };
256 static symbol s_9_5[7] = { 'e', 'a', 'r', 'r', 'i', 'n', 'g' };
257 static symbol s_9_6[7] = { 'h', 'e', 'r', 'r', 'i', 'n', 'g' };
258 static symbol s_9_7[6] = { 'o', 'u', 't', 'i', 'n', 'g' };
259
260 static struct among a_9[8] =
261 {
262 /* 0 */ { 7, s_9_0, -1, -1, 0},
263 /* 1 */ { 7, s_9_1, -1, -1, 0},
264 /* 2 */ { 6, s_9_2, -1, -1, 0},
265 /* 3 */ { 7, s_9_3, -1, -1, 0},
266 /* 4 */ { 6, s_9_4, -1, -1, 0},
267 /* 5 */ { 7, s_9_5, -1, -1, 0},
268 /* 6 */ { 7, s_9_6, -1, -1, 0},
269 /* 7 */ { 6, s_9_7, -1, -1, 0}
270 };
271
272 static symbol s_10_0[5] = { 'a', 'n', 'd', 'e', 's' };
273 static symbol s_10_1[5] = { 'a', 't', 'l', 'a', 's' };
274 static symbol s_10_2[4] = { 'b', 'i', 'a', 's' };
275 static symbol s_10_3[6] = { 'c', 'o', 's', 'm', 'o', 's' };
276 static symbol s_10_4[5] = { 'd', 'y', 'i', 'n', 'g' };
277 static symbol s_10_5[5] = { 'e', 'a', 'r', 'l', 'y' };
278 static symbol s_10_6[6] = { 'g', 'e', 'n', 't', 'l', 'y' };
279 static symbol s_10_7[4] = { 'h', 'o', 'w', 'e' };
280 static symbol s_10_8[4] = { 'i', 'd', 'l', 'y' };
281 static symbol s_10_9[5] = { 'l', 'y', 'i', 'n', 'g' };
282 static symbol s_10_10[4] = { 'n', 'e', 'w', 's' };
283 static symbol s_10_11[4] = { 'o', 'n', 'l', 'y' };
284 static symbol s_10_12[6] = { 's', 'i', 'n', 'g', 'l', 'y' };
285 static symbol s_10_13[5] = { 's', 'k', 'i', 'e', 's' };
286 static symbol s_10_14[4] = { 's', 'k', 'i', 's' };
287 static symbol s_10_15[3] = { 's', 'k', 'y' };
288 static symbol s_10_16[5] = { 't', 'y', 'i', 'n', 'g' };
289 static symbol s_10_17[4] = { 'u', 'g', 'l', 'y' };
290
291 static struct among a_10[18] =
292 {
293 /* 0 */ { 5, s_10_0, -1, -1, 0},
294 /* 1 */ { 5, s_10_1, -1, -1, 0},
295 /* 2 */ { 4, s_10_2, -1, -1, 0},
296 /* 3 */ { 6, s_10_3, -1, -1, 0},
297 /* 4 */ { 5, s_10_4, -1, 3, 0},
298 /* 5 */ { 5, s_10_5, -1, 9, 0},
299 /* 6 */ { 6, s_10_6, -1, 7, 0},
300 /* 7 */ { 4, s_10_7, -1, -1, 0},
301 /* 8 */ { 4, s_10_8, -1, 6, 0},
302 /* 9 */ { 5, s_10_9, -1, 4, 0},
303 /* 10 */ { 4, s_10_10, -1, -1, 0},
304 /* 11 */ { 4, s_10_11, -1, 10, 0},
305 /* 12 */ { 6, s_10_12, -1, 11, 0},
306 /* 13 */ { 5, s_10_13, -1, 2, 0},
307 /* 14 */ { 4, s_10_14, -1, 1, 0},
308 /* 15 */ { 3, s_10_15, -1, -1, 0},
309 /* 16 */ { 5, s_10_16, -1, 5, 0},
310 /* 17 */ { 4, s_10_17, -1, 8, 0}
311 };
312
313 static unsigned char g_v[] = { 17, 65, 16, 1 };
314
315 static unsigned char g_v_WXY[] = { 1, 17, 65, 208, 1 };
316
317 static unsigned char g_valid_LI[] = { 55, 141, 2 };
318
319 static symbol s_0[] = { '\'' };
320 static symbol s_1[] = { 'y' };
321 static symbol s_2[] = { 'Y' };
322 static symbol s_3[] = { 'y' };
323 static symbol s_4[] = { 'Y' };
324 static symbol s_5[] = { 's', 's' };
325 static symbol s_6[] = { 'i' };
326 static symbol s_7[] = { 'i', 'e' };
327 static symbol s_8[] = { 'e', 'e' };
328 static symbol s_9[] = { 'e' };
329 static symbol s_10[] = { 'e' };
330 static symbol s_11[] = { 'y' };
331 static symbol s_12[] = { 'Y' };
332 static symbol s_13[] = { 'i' };
333 static symbol s_14[] = { 't', 'i', 'o', 'n' };
334 static symbol s_15[] = { 'e', 'n', 'c', 'e' };
335 static symbol s_16[] = { 'a', 'n', 'c', 'e' };
336 static symbol s_17[] = { 'a', 'b', 'l', 'e' };
337 static symbol s_18[] = { 'e', 'n', 't' };
338 static symbol s_19[] = { 'i', 'z', 'e' };
339 static symbol s_20[] = { 'a', 't', 'e' };
340 static symbol s_21[] = { 'a', 'l' };
341 static symbol s_22[] = { 'f', 'u', 'l' };
342 static symbol s_23[] = { 'o', 'u', 's' };
343 static symbol s_24[] = { 'i', 'v', 'e' };
344 static symbol s_25[] = { 'b', 'l', 'e' };
345 static symbol s_26[] = { 'l' };
346 static symbol s_27[] = { 'o', 'g' };
347 static symbol s_28[] = { 'f', 'u', 'l' };
348 static symbol s_29[] = { 'l', 'e', 's', 's' };
349 static symbol s_30[] = { 't', 'i', 'o', 'n' };
350 static symbol s_31[] = { 'a', 't', 'e' };
351 static symbol s_32[] = { 'a', 'l' };
352 static symbol s_33[] = { 'i', 'c' };
353 static symbol s_34[] = { 's' };
354 static symbol s_35[] = { 't' };
355 static symbol s_36[] = { 'l' };
356 static symbol s_37[] = { 's', 'k', 'i' };
357 static symbol s_38[] = { 's', 'k', 'y' };
358 static symbol s_39[] = { 'd', 'i', 'e' };
359 static symbol s_40[] = { 'l', 'i', 'e' };
360 static symbol s_41[] = { 't', 'i', 'e' };
361 static symbol s_42[] = { 'i', 'd', 'l' };
362 static symbol s_43[] = { 'g', 'e', 'n', 't', 'l' };
363 static symbol s_44[] = { 'u', 'g', 'l', 'i' };
364 static symbol s_45[] = { 'e', 'a', 'r', 'l', 'i' };
365 static symbol s_46[] = { 'o', 'n', 'l', 'i' };
366 static symbol s_47[] = { 's', 'i', 'n', 'g', 'l' };
367 static symbol s_48[] = { 'Y' };
368 static symbol s_49[] = { 'y' };
369
370 static int r_prelude(struct SN_env * z) {
371 z->B[0] = 0; /* unset Y_found, line 26 */
372 { int c = z->c; /* do, line 27 */
373 z->bra = z->c; /* [, line 27 */
374 if (!(eq_s(z, 1, s_0))) goto lab0;
375 z->ket = z->c; /* ], line 27 */
376 { int ret;
377 ret = slice_del(z); /* delete, line 27 */
378 if (ret < 0) return ret;
379 }
380 lab0:
381 z->c = c;
382 }
383 { int c = z->c; /* do, line 28 */
384 z->bra = z->c; /* [, line 28 */
385 if (!(eq_s(z, 1, s_1))) goto lab1;
386 z->ket = z->c; /* ], line 28 */
387 { int ret;
388 ret = slice_from_s(z, 1, s_2); /* <-, line 28 */
389 if (ret < 0) return ret;
390 }
391 z->B[0] = 1; /* set Y_found, line 28 */
392 lab1:
393 z->c = c;
394 }
395 { int c = z->c; /* do, line 29 */
396 while(1) { /* repeat, line 29 */
397 int c = z->c;
398 while(1) { /* goto, line 29 */
399 int c = z->c;
400 if (!(in_grouping_U(z, g_v, 97, 121))) goto lab4;
401 z->bra = z->c; /* [, line 29 */
402 if (!(eq_s(z, 1, s_3))) goto lab4;
403 z->ket = z->c; /* ], line 29 */
404 z->c = c;
405 break;
406 lab4:
407 z->c = c;
408 { int c = skip_utf8(z->p, z->c, 0, z->l, 1);
409 if (c < 0) goto lab3;
410 z->c = c; /* goto, line 29 */
411 }
412 }
413 { int ret;
414 ret = slice_from_s(z, 1, s_4); /* <-, line 29 */
415 if (ret < 0) return ret;
416 }
417 z->B[0] = 1; /* set Y_found, line 29 */
418 continue;
419 lab3:
420 z->c = c;
421 break;
422 }
423 z->c = c;
424 }
425 return 1;
426 }
427
428 static int r_mark_regions(struct SN_env * z) {
429 z->I[0] = z->l;
430 z->I[1] = z->l;
431 { int c = z->c; /* do, line 35 */
432 { int c = z->c; /* or, line 40 */
433 if (!(find_among(z, a_0, 2))) goto lab2; /* among, line 36 */
434 goto lab1;
435 lab2:
436 z->c = c;
437 while(1) { /* gopast, line 40 */
438 if (!(in_grouping_U(z, g_v, 97, 121))) goto lab3;
439 break;
440 lab3:
441 { int c = skip_utf8(z->p, z->c, 0, z->l, 1);
442 if (c < 0) goto lab0;
443 z->c = c; /* gopast, line 40 */
444 }
445 }
446 while(1) { /* gopast, line 40 */
447 if (!(out_grouping_U(z, g_v, 97, 121))) goto lab4;
448 break;
449 lab4:
450 { int c = skip_utf8(z->p, z->c, 0, z->l, 1);
451 if (c < 0) goto lab0;
452 z->c = c; /* gopast, line 40 */
453 }
454 }
455 }
456 lab1:
457 z->I[0] = z->c; /* setmark p1, line 41 */
458 while(1) { /* gopast, line 42 */
459 if (!(in_grouping_U(z, g_v, 97, 121))) goto lab5;
460 break;
461 lab5:
462 { int c = skip_utf8(z->p, z->c, 0, z->l, 1);
463 if (c < 0) goto lab0;
464 z->c = c; /* gopast, line 42 */
465 }
466 }
467 while(1) { /* gopast, line 42 */
468 if (!(out_grouping_U(z, g_v, 97, 121))) goto lab6;
469 break;
470 lab6:
471 { int c = skip_utf8(z->p, z->c, 0, z->l, 1);
472 if (c < 0) goto lab0;
473 z->c = c; /* gopast, line 42 */
474 }
475 }
476 z->I[1] = z->c; /* setmark p2, line 42 */
477 lab0:
478 z->c = c;
479 }
480 return 1;
481 }
482
483 static int r_shortv(struct SN_env * z) {
484 { int m = z->l - z->c; (void) m; /* or, line 50 */
485 if (!(out_grouping_b_U(z, g_v_WXY, 89, 121))) goto lab1;
486 if (!(in_grouping_b_U(z, g_v, 97, 121))) goto lab1;
487 if (!(out_grouping_b_U(z, g_v, 97, 121))) goto lab1;
488 goto lab0;
489 lab1:
490 z->c = z->l - m;
491 if (!(out_grouping_b_U(z, g_v, 97, 121))) return 0;
492 if (!(in_grouping_b_U(z, g_v, 97, 121))) return 0;
493 if (z->c > z->lb) return 0; /* atlimit, line 51 */
494 }
495 lab0:
496 return 1;
497 }
498
499 static int r_R1(struct SN_env * z) {
500 if (!(z->I[0] <= z->c)) return 0;
501 return 1;
502 }
503
504 static int r_R2(struct SN_env * z) {
505 if (!(z->I[1] <= z->c)) return 0;
506 return 1;
507 }
508
509 static int r_Step_1a(struct SN_env * z) {
510 int among_var;
511 { int m = z->l - z->c; (void) m; /* try, line 58 */
512 z->ket = z->c; /* [, line 59 */
513 among_var = find_among_b(z, a_1, 3); /* substring, line 59 */
514 if (!(among_var)) { z->c = z->l - m; goto lab0; }
515 z->bra = z->c; /* ], line 59 */
516 switch(among_var) {
517 case 0: { z->c = z->l - m; goto lab0; }
518 case 1:
519 { int ret;
520 ret = slice_del(z); /* delete, line 61 */
521 if (ret < 0) return ret;
522 }
523 break;
524 }
525 lab0:
526 ;
527 }
528 z->ket = z->c; /* [, line 64 */
529 among_var = find_among_b(z, a_2, 6); /* substring, line 64 */
530 if (!(among_var)) return 0;
531 z->bra = z->c; /* ], line 64 */
532 switch(among_var) {
533 case 0: return 0;
534 case 1:
535 { int ret;
536 ret = slice_from_s(z, 2, s_5); /* <-, line 65 */
537 if (ret < 0) return ret;
538 }
539 break;
540 case 2:
541 { int m = z->l - z->c; (void) m; /* or, line 67 */
542 { int c = skip_utf8(z->p, z->c, z->lb, z->l, - 2);
543 if (c < 0) goto lab2;
544 z->c = c; /* hop, line 67 */
545 }
546 { int ret;
547 ret = slice_from_s(z, 1, s_6); /* <-, line 67 */
548 if (ret < 0) return ret;
549 }
550 goto lab1;
551 lab2:
552 z->c = z->l - m;
553 { int ret;
554 ret = slice_from_s(z, 2, s_7); /* <-, line 67 */
555 if (ret < 0) return ret;
556 }
557 }
558 lab1:
559 break;
560 case 3:
561 { int c = skip_utf8(z->p, z->c, z->lb, 0, -1);
562 if (c < 0) return 0;
563 z->c = c; /* next, line 68 */
564 }
565 while(1) { /* gopast, line 68 */
566 if (!(in_grouping_b_U(z, g_v, 97, 121))) goto lab3;
567 break;
568 lab3:
569 { int c = skip_utf8(z->p, z->c, z->lb, 0, -1);
570 if (c < 0) return 0;
571 z->c = c; /* gopast, line 68 */
572 }
573 }
574 { int ret;
575 ret = slice_del(z); /* delete, line 68 */
576 if (ret < 0) return ret;
577 }
578 break;
579 }
580 return 1;
581 }
582
583 static int r_Step_1b(struct SN_env * z) {
584 int among_var;
585 z->ket = z->c; /* [, line 74 */
586 among_var = find_among_b(z, a_4, 6); /* substring, line 74 */
587 if (!(among_var)) return 0;
588 z->bra = z->c; /* ], line 74 */
589 switch(among_var) {
590 case 0: return 0;
591 case 1:
592 { int ret = r_R1(z);
593 if (ret == 0) return 0; /* call R1, line 76 */
594 if (ret < 0) return ret;
595 }
596 { int ret;
597 ret = slice_from_s(z, 2, s_8); /* <-, line 76 */
598 if (ret < 0) return ret;
599 }
600 break;
601 case 2:
602 { int m_test = z->l - z->c; /* test, line 79 */
603 while(1) { /* gopast, line 79 */
604 if (!(in_grouping_b_U(z, g_v, 97, 121))) goto lab0;
605 break;
606 lab0:
607 { int c = skip_utf8(z->p, z->c, z->lb, 0, -1);
608 if (c < 0) return 0;
609 z->c = c; /* gopast, line 79 */
610 }
611 }
612 z->c = z->l - m_test;
613 }
614 { int ret;
615 ret = slice_del(z); /* delete, line 79 */
616 if (ret < 0) return ret;
617 }
618 { int m_test = z->l - z->c; /* test, line 80 */
619 among_var = find_among_b(z, a_3, 13); /* substring, line 80 */
620 if (!(among_var)) return 0;
621 z->c = z->l - m_test;
622 }
623 switch(among_var) {
624 case 0: return 0;
625 case 1:
626 { int ret;
627 { int c = z->c;
628 ret = insert_s(z, z->c, z->c, 1, s_9); /* <+, line 82 */
629 z->c = c;
630 }
631 if (ret < 0) return ret;
632 }
633 break;
634 case 2:
635 z->ket = z->c; /* [, line 85 */
636 { int c = skip_utf8(z->p, z->c, z->lb, 0, -1);
637 if (c < 0) return 0;
638 z->c = c; /* next, line 85 */
639 }
640 z->bra = z->c; /* ], line 85 */
641 { int ret;
642 ret = slice_del(z); /* delete, line 85 */
643 if (ret < 0) return ret;
644 }
645 break;
646 case 3:
647 if (z->c != z->I[0]) return 0; /* atmark, line 86 */
648 { int m_test = z->l - z->c; /* test, line 86 */
649 { int ret = r_shortv(z);
650 if (ret == 0) return 0; /* call shortv, line 86 */
651 if (ret < 0) return ret;
652 }
653 z->c = z->l - m_test;
654 }
655 { int ret;
656 { int c = z->c;
657 ret = insert_s(z, z->c, z->c, 1, s_10); /* <+, line 86 */
658 z->c = c;
659 }
660 if (ret < 0) return ret;
661 }
662 break;
663 }
664 break;
665 }
666 return 1;
667 }
668
669 static int r_Step_1c(struct SN_env * z) {
670 z->ket = z->c; /* [, line 93 */
671 { int m = z->l - z->c; (void) m; /* or, line 93 */
672 if (!(eq_s_b(z, 1, s_11))) goto lab1;
673 goto lab0;
674 lab1:
675 z->c = z->l - m;
676 if (!(eq_s_b(z, 1, s_12))) return 0;
677 }
678 lab0:
679 z->bra = z->c; /* ], line 93 */
680 if (!(out_grouping_b_U(z, g_v, 97, 121))) return 0;
681 { int m = z->l - z->c; (void) m; /* not, line 94 */
682 if (z->c > z->lb) goto lab2; /* atlimit, line 94 */
683 return 0;
684 lab2:
685 z->c = z->l - m;
686 }
687 { int ret;
688 ret = slice_from_s(z, 1, s_13); /* <-, line 95 */
689 if (ret < 0) return ret;
690 }
691 return 1;
692 }
693
694 static int r_Step_2(struct SN_env * z) {
695 int among_var;
696 z->ket = z->c; /* [, line 99 */
697 among_var = find_among_b(z, a_5, 24); /* substring, line 99 */
698 if (!(among_var)) return 0;
699 z->bra = z->c; /* ], line 99 */
700 { int ret = r_R1(z);
701 if (ret == 0) return 0; /* call R1, line 99 */
702 if (ret < 0) return ret;
703 }
704 switch(among_var) {
705 case 0: return 0;
706 case 1:
707 { int ret;
708 ret = slice_from_s(z, 4, s_14); /* <-, line 100 */
709 if (ret < 0) return ret;
710 }
711 break;
712 case 2:
713 { int ret;
714 ret = slice_from_s(z, 4, s_15); /* <-, line 101 */
715 if (ret < 0) return ret;
716 }
717 break;
718 case 3:
719 { int ret;
720 ret = slice_from_s(z, 4, s_16); /* <-, line 102 */
721 if (ret < 0) return ret;
722 }
723 break;
724 case 4:
725 { int ret;
726 ret = slice_from_s(z, 4, s_17); /* <-, line 103 */
727 if (ret < 0) return ret;
728 }
729 break;
730 case 5:
731 { int ret;
732 ret = slice_from_s(z, 3, s_18); /* <-, line 104 */
733 if (ret < 0) return ret;
734 }
735 break;
736 case 6:
737 { int ret;
738 ret = slice_from_s(z, 3, s_19); /* <-, line 106 */
739 if (ret < 0) return ret;
740 }
741 break;
742 case 7:
743 { int ret;
744 ret = slice_from_s(z, 3, s_20); /* <-, line 108 */
745 if (ret < 0) return ret;
746 }
747 break;
748 case 8:
749 { int ret;
750 ret = slice_from_s(z, 2, s_21); /* <-, line 110 */
751 if (ret < 0) return ret;
752 }
753 break;
754 case 9:
755 { int ret;
756 ret = slice_from_s(z, 3, s_22); /* <-, line 111 */
757 if (ret < 0) return ret;
758 }
759 break;
760 case 10:
761 { int ret;
762 ret = slice_from_s(z, 3, s_23); /* <-, line 113 */
763 if (ret < 0) return ret;
764 }
765 break;
766 case 11:
767 { int ret;
768 ret = slice_from_s(z, 3, s_24); /* <-, line 115 */
769 if (ret < 0) return ret;
770 }
771 break;
772 case 12:
773 { int ret;
774 ret = slice_from_s(z, 3, s_25); /* <-, line 117 */
775 if (ret < 0) return ret;
776 }
777 break;
778 case 13:
779 if (!(eq_s_b(z, 1, s_26))) return 0;
780 { int ret;
781 ret = slice_from_s(z, 2, s_27); /* <-, line 118 */
782 if (ret < 0) return ret;
783 }
784 break;
785 case 14:
786 { int ret;
787 ret = slice_from_s(z, 3, s_28); /* <-, line 119 */
788 if (ret < 0) return ret;
789 }
790 break;
791 case 15:
792 { int ret;
793 ret = slice_from_s(z, 4, s_29); /* <-, line 120 */
794 if (ret < 0) return ret;
795 }
796 break;
797 case 16:
798 if (!(in_grouping_b_U(z, g_valid_LI, 99, 116))) return 0;
799 { int ret;
800 ret = slice_del(z); /* delete, line 121 */
801 if (ret < 0) return ret;
802 }
803 break;
804 }
805 return 1;
806 }
807
808 static int r_Step_3(struct SN_env * z) {
809 int among_var;
810 z->ket = z->c; /* [, line 126 */
811 among_var = find_among_b(z, a_6, 8); /* substring, line 126 */
812 if (!(among_var)) return 0;
813 z->bra = z->c; /* ], line 126 */
814 { int ret = r_R1(z);
815 if (ret == 0) return 0; /* call R1, line 126 */
816 if (ret < 0) return ret;
817 }
818 switch(among_var) {
819 case 0: return 0;
820 case 1:
821 { int ret;
822 ret = slice_from_s(z, 4, s_30); /* <-, line 127 */
823 if (ret < 0) return ret;
824 }
825 break;
826 case 2:
827 { int ret;
828 ret = slice_from_s(z, 3, s_31); /* <-, line 128 */
829 if (ret < 0) return ret;
830 }
831 break;
832 case 3:
833 { int ret;
834 ret = slice_from_s(z, 2, s_32); /* <-, line 129 */
835 if (ret < 0) return ret;
836 }
837 break;
838 case 4:
839 { int ret;
840 ret = slice_from_s(z, 2, s_33); /* <-, line 131 */
841 if (ret < 0) return ret;
842 }
843 break;
844 case 5:
845 { int ret;
846 ret = slice_del(z); /* delete, line 133 */
847 if (ret < 0) return ret;
848 }
849 break;
850 case 6:
851 { int ret = r_R2(z);
852 if (ret == 0) return 0; /* call R2, line 135 */
853 if (ret < 0) return ret;
854 }
855 { int ret;
856 ret = slice_del(z); /* delete, line 135 */
857 if (ret < 0) return ret;
858 }
859 break;
860 }
861 return 1;
862 }
863
864 static int r_Step_4(struct SN_env * z) {
865 int among_var;
866 z->ket = z->c; /* [, line 140 */
867 among_var = find_among_b(z, a_7, 18); /* substring, line 140 */
868 if (!(among_var)) return 0;
869 z->bra = z->c; /* ], line 140 */
870 { int ret = r_R2(z);
871 if (ret == 0) return 0; /* call R2, line 140 */
872 if (ret < 0) return ret;
873 }
874 switch(among_var) {
875 case 0: return 0;
876 case 1:
877 { int ret;
878 ret = slice_del(z); /* delete, line 143 */
879 if (ret < 0) return ret;
880 }
881 break;
882 case 2:
883 { int m = z->l - z->c; (void) m; /* or, line 144 */
884 if (!(eq_s_b(z, 1, s_34))) goto lab1;
885 goto lab0;
886 lab1:
887 z->c = z->l - m;
888 if (!(eq_s_b(z, 1, s_35))) return 0;
889 }
890 lab0:
891 { int ret;
892 ret = slice_del(z); /* delete, line 144 */
893 if (ret < 0) return ret;
894 }
895 break;
896 }
897 return 1;
898 }
899
900 static int r_Step_5(struct SN_env * z) {
901 int among_var;
902 z->ket = z->c; /* [, line 149 */
903 among_var = find_among_b(z, a_8, 2); /* substring, line 149 */
904 if (!(among_var)) return 0;
905 z->bra = z->c; /* ], line 149 */
906 switch(among_var) {
907 case 0: return 0;
908 case 1:
909 { int m = z->l - z->c; (void) m; /* or, line 150 */
910 { int ret = r_R2(z);
911 if (ret == 0) goto lab1; /* call R2, line 150 */
912 if (ret < 0) return ret;
913 }
914 goto lab0;
915 lab1:
916 z->c = z->l - m;
917 { int ret = r_R1(z);
918 if (ret == 0) return 0; /* call R1, line 150 */
919 if (ret < 0) return ret;
920 }
921 { int m = z->l - z->c; (void) m; /* not, line 150 */
922 { int ret = r_shortv(z);
923 if (ret == 0) goto lab2; /* call shortv, line 150 */
924 if (ret < 0) return ret;
925 }
926 return 0;
927 lab2:
928 z->c = z->l - m;
929 }
930 }
931 lab0:
932 { int ret;
933 ret = slice_del(z); /* delete, line 150 */
934 if (ret < 0) return ret;
935 }
936 break;
937 case 2:
938 { int ret = r_R2(z);
939 if (ret == 0) return 0; /* call R2, line 151 */
940 if (ret < 0) return ret;
941 }
942 if (!(eq_s_b(z, 1, s_36))) return 0;
943 { int ret;
944 ret = slice_del(z); /* delete, line 151 */
945 if (ret < 0) return ret;
946 }
947 break;
948 }
949 return 1;
950 }
951
952 static int r_exception2(struct SN_env * z) {
953 z->ket = z->c; /* [, line 157 */
954 if (!(find_among_b(z, a_9, 8))) return 0; /* substring, line 157 */
955 z->bra = z->c; /* ], line 157 */
956 if (z->c > z->lb) return 0; /* atlimit, line 157 */
957 return 1;
958 }
959
960 static int r_exception1(struct SN_env * z) {
961 int among_var;
962 z->bra = z->c; /* [, line 169 */
963 among_var = find_among(z, a_10, 18); /* substring, line 169 */
964 if (!(among_var)) return 0;
965 z->ket = z->c; /* ], line 169 */
966 if (z->c < z->l) return 0; /* atlimit, line 169 */
967 switch(among_var) {
968 case 0: return 0;
969 case 1:
970 { int ret;
971 ret = slice_from_s(z, 3, s_37); /* <-, line 173 */
972 if (ret < 0) return ret;
973 }
974 break;
975 case 2:
976 { int ret;
977 ret = slice_from_s(z, 3, s_38); /* <-, line 174 */
978 if (ret < 0) return ret;
979 }
980 break;
981 case 3:
982 { int ret;
983 ret = slice_from_s(z, 3, s_39); /* <-, line 175 */
984 if (ret < 0) return ret;
985 }
986 break;
987 case 4:
988 { int ret;
989 ret = slice_from_s(z, 3, s_40); /* <-, line 176 */
990 if (ret < 0) return ret;
991 }
992 break;
993 case 5:
994 { int ret;
995 ret = slice_from_s(z, 3, s_41); /* <-, line 177 */
996 if (ret < 0) return ret;
997 }
998 break;
999 case 6:
1000 { int ret;
1001 ret = slice_from_s(z, 3, s_42); /* <-, line 181 */
1002 if (ret < 0) return ret;
1003 }
1004 break;
1005 case 7:
1006 { int ret;
1007 ret = slice_from_s(z, 5, s_43); /* <-, line 182 */
1008 if (ret < 0) return ret;
1009 }
1010 break;
1011 case 8:
1012 { int ret;
1013 ret = slice_from_s(z, 4, s_44); /* <-, line 183 */
1014 if (ret < 0) return ret;
1015 }
1016 break;
1017 case 9:
1018 { int ret;
1019 ret = slice_from_s(z, 5, s_45); /* <-, line 184 */
1020 if (ret < 0) return ret;
1021 }
1022 break;
1023 case 10:
1024 { int ret;
1025 ret = slice_from_s(z, 4, s_46); /* <-, line 185 */
1026 if (ret < 0) return ret;
1027 }
1028 break;
1029 case 11:
1030 { int ret;
1031 ret = slice_from_s(z, 5, s_47); /* <-, line 186 */
1032 if (ret < 0) return ret;
1033 }
1034 break;
1035 }
1036 return 1;
1037 }
1038
1039 static int r_postlude(struct SN_env * z) {
1040 if (!(z->B[0])) return 0; /* Boolean test Y_found, line 202 */
1041 while(1) { /* repeat, line 202 */
1042 int c = z->c;
1043 while(1) { /* goto, line 202 */
1044 int c = z->c;
1045 z->bra = z->c; /* [, line 202 */
1046 if (!(eq_s(z, 1, s_48))) goto lab1;
1047 z->ket = z->c; /* ], line 202 */
1048 z->c = c;
1049 break;
1050 lab1:
1051 z->c = c;
1052 { int c = skip_utf8(z->p, z->c, 0, z->l, 1);
1053 if (c < 0) goto lab0;
1054 z->c = c; /* goto, line 202 */
1055 }
1056 }
1057 { int ret;
1058 ret = slice_from_s(z, 1, s_49); /* <-, line 202 */
1059 if (ret < 0) return ret;
1060 }
1061 continue;
1062 lab0:
1063 z->c = c;
1064 break;
1065 }
1066 return 1;
1067 }
1068
1069 extern int english_UTF_8_stem(struct SN_env * z) {
1070 { int c = z->c; /* or, line 206 */
1071 { int ret = r_exception1(z);
1072 if (ret == 0) goto lab1; /* call exception1, line 206 */
1073 if (ret < 0) return ret;
1074 }
1075 goto lab0;
1076 lab1:
1077 z->c = c;
1078 { int c = z->c; /* not, line 207 */
1079 { int c = skip_utf8(z->p, z->c, 0, z->l, + 3);
1080 if (c < 0) goto lab3;
1081 z->c = c; /* hop, line 207 */
1082 }
1083 goto lab2;
1084 lab3:
1085 z->c = c;
1086 }
1087 goto lab0;
1088 lab2:
1089 z->c = c;
1090 { int c = z->c; /* do, line 208 */
1091 { int ret = r_prelude(z);
1092 if (ret == 0) goto lab4; /* call prelude, line 208 */
1093 if (ret < 0) return ret;
1094 }
1095 lab4:
1096 z->c = c;
1097 }
1098 { int c = z->c; /* do, line 209 */
1099 { int ret = r_mark_regions(z);
1100 if (ret == 0) goto lab5; /* call mark_regions, line 209 */
1101 if (ret < 0) return ret;
1102 }
1103 lab5:
1104 z->c = c;
1105 }
1106 z->lb = z->c; z->c = z->l; /* backwards, line 210 */
1107
1108 { int m = z->l - z->c; (void) m; /* do, line 212 */
1109 { int ret = r_Step_1a(z);
1110 if (ret == 0) goto lab6; /* call Step_1a, line 212 */
1111 if (ret < 0) return ret;
1112 }
1113 lab6:
1114 z->c = z->l - m;
1115 }
1116 { int m = z->l - z->c; (void) m; /* or, line 214 */
1117 { int ret = r_exception2(z);
1118 if (ret == 0) goto lab8; /* call exception2, line 214 */
1119 if (ret < 0) return ret;
1120 }
1121 goto lab7;
1122 lab8:
1123 z->c = z->l - m;
1124 { int m = z->l - z->c; (void) m; /* do, line 216 */
1125 { int ret = r_Step_1b(z);
1126 if (ret == 0) goto lab9; /* call Step_1b, line 216 */
1127 if (ret < 0) return ret;
1128 }
1129 lab9:
1130 z->c = z->l - m;
1131 }
1132 { int m = z->l - z->c; (void) m; /* do, line 217 */
1133 { int ret = r_Step_1c(z);
1134 if (ret == 0) goto lab10; /* call Step_1c, line 217 */
1135 if (ret < 0) return ret;
1136 }
1137 lab10:
1138 z->c = z->l - m;
1139 }
1140 { int m = z->l - z->c; (void) m; /* do, line 219 */
1141 { int ret = r_Step_2(z);
1142 if (ret == 0) goto lab11; /* call Step_2, line 219 */
1143 if (ret < 0) return ret;
1144 }
1145 lab11:
1146 z->c = z->l - m;
1147 }
1148 { int m = z->l - z->c; (void) m; /* do, line 220 */
1149 { int ret = r_Step_3(z);
1150 if (ret == 0) goto lab12; /* call Step_3, line 220 */
1151 if (ret < 0) return ret;
1152 }
1153 lab12:
1154 z->c = z->l - m;
1155 }
1156 { int m = z->l - z->c; (void) m; /* do, line 221 */
1157 { int ret = r_Step_4(z);
1158 if (ret == 0) goto lab13; /* call Step_4, line 221 */
1159 if (ret < 0) return ret;
1160 }
1161 lab13:
1162 z->c = z->l - m;
1163 }
1164 { int m = z->l - z->c; (void) m; /* do, line 223 */
1165 { int ret = r_Step_5(z);
1166 if (ret == 0) goto lab14; /* call Step_5, line 223 */
1167 if (ret < 0) return ret;
1168 }
1169 lab14:
1170 z->c = z->l - m;
1171 }
1172 }
1173 lab7:
1174 z->c = z->lb;
1175 { int c = z->c; /* do, line 226 */
1176 { int ret = r_postlude(z);
1177 if (ret == 0) goto lab15; /* call postlude, line 226 */
1178 if (ret < 0) return ret;
1179 }
1180 lab15:
1181 z->c = c;
1182 }
1183 }
1184 lab0:
1185 return 1;
1186 }
1187
1188 extern struct SN_env * english_UTF_8_create_env(void) { return SN_create_env(0, 2, 1); }
1189
1190 extern void english_UTF_8_close_env(struct SN_env * z) { SN_close_env(z); }