Age Owner Branch data TLA Line data Source code
1 : : /* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
2 : :
3 : : #include "header.h"
4 : :
5 : : #ifdef __cplusplus
6 : : extern "C" {
7 : : #endif
8 : : extern int porter_UTF_8_stem(struct SN_env * z);
9 : : #ifdef __cplusplus
10 : : }
11 : : #endif
12 : : static int r_Step_5b(struct SN_env * z);
13 : : static int r_Step_5a(struct SN_env * z);
14 : : static int r_Step_4(struct SN_env * z);
15 : : static int r_Step_3(struct SN_env * z);
16 : : static int r_Step_2(struct SN_env * z);
17 : : static int r_Step_1c(struct SN_env * z);
18 : : static int r_Step_1b(struct SN_env * z);
19 : : static int r_Step_1a(struct SN_env * z);
20 : : static int r_R2(struct SN_env * z);
21 : : static int r_R1(struct SN_env * z);
22 : : static int r_shortv(struct SN_env * z);
23 : : #ifdef __cplusplus
24 : : extern "C" {
25 : : #endif
26 : :
27 : :
28 : : extern struct SN_env * porter_UTF_8_create_env(void);
29 : : extern void porter_UTF_8_close_env(struct SN_env * z);
30 : :
31 : :
32 : : #ifdef __cplusplus
33 : : }
34 : : #endif
35 : : static const symbol s_0_0[1] = { 's' };
36 : : static const symbol s_0_1[3] = { 'i', 'e', 's' };
37 : : static const symbol s_0_2[4] = { 's', 's', 'e', 's' };
38 : : static const symbol s_0_3[2] = { 's', 's' };
39 : :
40 : : static const struct among a_0[4] =
41 : : {
42 : : { 1, s_0_0, -1, 3, 0},
43 : : { 3, s_0_1, 0, 2, 0},
44 : : { 4, s_0_2, 0, 1, 0},
45 : : { 2, s_0_3, 0, -1, 0}
46 : : };
47 : :
48 : : static const symbol s_1_1[2] = { 'b', 'b' };
49 : : static const symbol s_1_2[2] = { 'd', 'd' };
50 : : static const symbol s_1_3[2] = { 'f', 'f' };
51 : : static const symbol s_1_4[2] = { 'g', 'g' };
52 : : static const symbol s_1_5[2] = { 'b', 'l' };
53 : : static const symbol s_1_6[2] = { 'm', 'm' };
54 : : static const symbol s_1_7[2] = { 'n', 'n' };
55 : : static const symbol s_1_8[2] = { 'p', 'p' };
56 : : static const symbol s_1_9[2] = { 'r', 'r' };
57 : : static const symbol s_1_10[2] = { 'a', 't' };
58 : : static const symbol s_1_11[2] = { 't', 't' };
59 : : static const symbol s_1_12[2] = { 'i', 'z' };
60 : :
61 : : static const struct among a_1[13] =
62 : : {
63 : : { 0, 0, -1, 3, 0},
64 : : { 2, s_1_1, 0, 2, 0},
65 : : { 2, s_1_2, 0, 2, 0},
66 : : { 2, s_1_3, 0, 2, 0},
67 : : { 2, s_1_4, 0, 2, 0},
68 : : { 2, s_1_5, 0, 1, 0},
69 : : { 2, s_1_6, 0, 2, 0},
70 : : { 2, s_1_7, 0, 2, 0},
71 : : { 2, s_1_8, 0, 2, 0},
72 : : { 2, s_1_9, 0, 2, 0},
73 : : { 2, s_1_10, 0, 1, 0},
74 : : { 2, s_1_11, 0, 2, 0},
75 : : { 2, s_1_12, 0, 1, 0}
76 : : };
77 : :
78 : : static const symbol s_2_0[2] = { 'e', 'd' };
79 : : static const symbol s_2_1[3] = { 'e', 'e', 'd' };
80 : : static const symbol s_2_2[3] = { 'i', 'n', 'g' };
81 : :
82 : : static const struct among a_2[3] =
83 : : {
84 : : { 2, s_2_0, -1, 2, 0},
85 : : { 3, s_2_1, 0, 1, 0},
86 : : { 3, s_2_2, -1, 2, 0}
87 : : };
88 : :
89 : : static const symbol s_3_0[4] = { 'a', 'n', 'c', 'i' };
90 : : static const symbol s_3_1[4] = { 'e', 'n', 'c', 'i' };
91 : : static const symbol s_3_2[4] = { 'a', 'b', 'l', 'i' };
92 : : static const symbol s_3_3[3] = { 'e', 'l', 'i' };
93 : : static const symbol s_3_4[4] = { 'a', 'l', 'l', 'i' };
94 : : static const symbol s_3_5[5] = { 'o', 'u', 's', 'l', 'i' };
95 : : static const symbol s_3_6[5] = { 'e', 'n', 't', 'l', 'i' };
96 : : static const symbol s_3_7[5] = { 'a', 'l', 'i', 't', 'i' };
97 : : static const symbol s_3_8[6] = { 'b', 'i', 'l', 'i', 't', 'i' };
98 : : static const symbol s_3_9[5] = { 'i', 'v', 'i', 't', 'i' };
99 : : static const symbol s_3_10[6] = { 't', 'i', 'o', 'n', 'a', 'l' };
100 : : static const symbol s_3_11[7] = { 'a', 't', 'i', 'o', 'n', 'a', 'l' };
101 : : static const symbol s_3_12[5] = { 'a', 'l', 'i', 's', 'm' };
102 : : static const symbol s_3_13[5] = { 'a', 't', 'i', 'o', 'n' };
103 : : static const symbol s_3_14[7] = { 'i', 'z', 'a', 't', 'i', 'o', 'n' };
104 : : static const symbol s_3_15[4] = { 'i', 'z', 'e', 'r' };
105 : : static const symbol s_3_16[4] = { 'a', 't', 'o', 'r' };
106 : : static const symbol s_3_17[7] = { 'i', 'v', 'e', 'n', 'e', 's', 's' };
107 : : static const symbol s_3_18[7] = { 'f', 'u', 'l', 'n', 'e', 's', 's' };
108 : : static const symbol s_3_19[7] = { 'o', 'u', 's', 'n', 'e', 's', 's' };
109 : :
110 : : static const struct among a_3[20] =
111 : : {
112 : : { 4, s_3_0, -1, 3, 0},
113 : : { 4, s_3_1, -1, 2, 0},
114 : : { 4, s_3_2, -1, 4, 0},
115 : : { 3, s_3_3, -1, 6, 0},
116 : : { 4, s_3_4, -1, 9, 0},
117 : : { 5, s_3_5, -1, 11, 0},
118 : : { 5, s_3_6, -1, 5, 0},
119 : : { 5, s_3_7, -1, 9, 0},
120 : : { 6, s_3_8, -1, 13, 0},
121 : : { 5, s_3_9, -1, 12, 0},
122 : : { 6, s_3_10, -1, 1, 0},
123 : : { 7, s_3_11, 10, 8, 0},
124 : : { 5, s_3_12, -1, 9, 0},
125 : : { 5, s_3_13, -1, 8, 0},
126 : : { 7, s_3_14, 13, 7, 0},
127 : : { 4, s_3_15, -1, 7, 0},
128 : : { 4, s_3_16, -1, 8, 0},
129 : : { 7, s_3_17, -1, 12, 0},
130 : : { 7, s_3_18, -1, 10, 0},
131 : : { 7, s_3_19, -1, 11, 0}
132 : : };
133 : :
134 : : static const symbol s_4_0[5] = { 'i', 'c', 'a', 't', 'e' };
135 : : static const symbol s_4_1[5] = { 'a', 't', 'i', 'v', 'e' };
136 : : static const symbol s_4_2[5] = { 'a', 'l', 'i', 'z', 'e' };
137 : : static const symbol s_4_3[5] = { 'i', 'c', 'i', 't', 'i' };
138 : : static const symbol s_4_4[4] = { 'i', 'c', 'a', 'l' };
139 : : static const symbol s_4_5[3] = { 'f', 'u', 'l' };
140 : : static const symbol s_4_6[4] = { 'n', 'e', 's', 's' };
141 : :
142 : : static const struct among a_4[7] =
143 : : {
144 : : { 5, s_4_0, -1, 2, 0},
145 : : { 5, s_4_1, -1, 3, 0},
146 : : { 5, s_4_2, -1, 1, 0},
147 : : { 5, s_4_3, -1, 2, 0},
148 : : { 4, s_4_4, -1, 2, 0},
149 : : { 3, s_4_5, -1, 3, 0},
150 : : { 4, s_4_6, -1, 3, 0}
151 : : };
152 : :
153 : : static const symbol s_5_0[2] = { 'i', 'c' };
154 : : static const symbol s_5_1[4] = { 'a', 'n', 'c', 'e' };
155 : : static const symbol s_5_2[4] = { 'e', 'n', 'c', 'e' };
156 : : static const symbol s_5_3[4] = { 'a', 'b', 'l', 'e' };
157 : : static const symbol s_5_4[4] = { 'i', 'b', 'l', 'e' };
158 : : static const symbol s_5_5[3] = { 'a', 't', 'e' };
159 : : static const symbol s_5_6[3] = { 'i', 'v', 'e' };
160 : : static const symbol s_5_7[3] = { 'i', 'z', 'e' };
161 : : static const symbol s_5_8[3] = { 'i', 't', 'i' };
162 : : static const symbol s_5_9[2] = { 'a', 'l' };
163 : : static const symbol s_5_10[3] = { 'i', 's', 'm' };
164 : : static const symbol s_5_11[3] = { 'i', 'o', 'n' };
165 : : static const symbol s_5_12[2] = { 'e', 'r' };
166 : : static const symbol s_5_13[3] = { 'o', 'u', 's' };
167 : : static const symbol s_5_14[3] = { 'a', 'n', 't' };
168 : : static const symbol s_5_15[3] = { 'e', 'n', 't' };
169 : : static const symbol s_5_16[4] = { 'm', 'e', 'n', 't' };
170 : : static const symbol s_5_17[5] = { 'e', 'm', 'e', 'n', 't' };
171 : : static const symbol s_5_18[2] = { 'o', 'u' };
172 : :
173 : : static const struct among a_5[19] =
174 : : {
175 : : { 2, s_5_0, -1, 1, 0},
176 : : { 4, s_5_1, -1, 1, 0},
177 : : { 4, s_5_2, -1, 1, 0},
178 : : { 4, s_5_3, -1, 1, 0},
179 : : { 4, s_5_4, -1, 1, 0},
180 : : { 3, s_5_5, -1, 1, 0},
181 : : { 3, s_5_6, -1, 1, 0},
182 : : { 3, s_5_7, -1, 1, 0},
183 : : { 3, s_5_8, -1, 1, 0},
184 : : { 2, s_5_9, -1, 1, 0},
185 : : { 3, s_5_10, -1, 1, 0},
186 : : { 3, s_5_11, -1, 2, 0},
187 : : { 2, s_5_12, -1, 1, 0},
188 : : { 3, s_5_13, -1, 1, 0},
189 : : { 3, s_5_14, -1, 1, 0},
190 : : { 3, s_5_15, -1, 1, 0},
191 : : { 4, s_5_16, 15, 1, 0},
192 : : { 5, s_5_17, 16, 1, 0},
193 : : { 2, s_5_18, -1, 1, 0}
194 : : };
195 : :
196 : : static const unsigned char g_v[] = { 17, 65, 16, 1 };
197 : :
198 : : static const unsigned char g_v_WXY[] = { 1, 17, 65, 208, 1 };
199 : :
200 : : static const symbol s_0[] = { 's', 's' };
201 : : static const symbol s_1[] = { 'i' };
202 : : static const symbol s_2[] = { 'e', 'e' };
203 : : static const symbol s_3[] = { 'e' };
204 : : static const symbol s_4[] = { 'e' };
205 : : static const symbol s_5[] = { 'i' };
206 : : static const symbol s_6[] = { 't', 'i', 'o', 'n' };
207 : : static const symbol s_7[] = { 'e', 'n', 'c', 'e' };
208 : : static const symbol s_8[] = { 'a', 'n', 'c', 'e' };
209 : : static const symbol s_9[] = { 'a', 'b', 'l', 'e' };
210 : : static const symbol s_10[] = { 'e', 'n', 't' };
211 : : static const symbol s_11[] = { 'e' };
212 : : static const symbol s_12[] = { 'i', 'z', 'e' };
213 : : static const symbol s_13[] = { 'a', 't', 'e' };
214 : : static const symbol s_14[] = { 'a', 'l' };
215 : : static const symbol s_15[] = { 'f', 'u', 'l' };
216 : : static const symbol s_16[] = { 'o', 'u', 's' };
217 : : static const symbol s_17[] = { 'i', 'v', 'e' };
218 : : static const symbol s_18[] = { 'b', 'l', 'e' };
219 : : static const symbol s_19[] = { 'a', 'l' };
220 : : static const symbol s_20[] = { 'i', 'c' };
221 : : static const symbol s_21[] = { 'Y' };
222 : : static const symbol s_22[] = { 'Y' };
223 : : static const symbol s_23[] = { 'y' };
224 : :
1150 peter@eisentraut.org 225 :UBC 0 : static int r_shortv(struct SN_env * z) {
226 [ # # ]: 0 : if (out_grouping_b_U(z, g_v_WXY, 89, 121, 0)) return 0;
227 [ # # ]: 0 : if (in_grouping_b_U(z, g_v, 97, 121, 0)) return 0;
228 [ # # ]: 0 : if (out_grouping_b_U(z, g_v, 97, 121, 0)) return 0;
6081 tgl@sss.pgh.pa.us 229 : 0 : return 1;
230 : : }
231 : :
1150 peter@eisentraut.org 232 : 0 : static int r_R1(struct SN_env * z) {
233 [ # # ]: 0 : if (!(z->I[1] <= z->c)) return 0;
6081 tgl@sss.pgh.pa.us 234 : 0 : return 1;
235 : : }
236 : :
1150 peter@eisentraut.org 237 : 0 : static int r_R2(struct SN_env * z) {
238 [ # # ]: 0 : if (!(z->I[0] <= z->c)) return 0;
6081 tgl@sss.pgh.pa.us 239 : 0 : return 1;
240 : : }
241 : :
1150 peter@eisentraut.org 242 : 0 : static int r_Step_1a(struct SN_env * z) {
243 : : int among_var;
244 : 0 : z->ket = z->c;
245 [ # # # # ]: 0 : if (z->c <= z->lb || z->p[z->c - 1] != 115) return 0;
2029 tgl@sss.pgh.pa.us 246 : 0 : among_var = find_among_b(z, a_0, 4);
6081 247 [ # # ]: 0 : if (!(among_var)) return 0;
1150 peter@eisentraut.org 248 : 0 : z->bra = z->c;
249 [ # # # # ]: 0 : switch (among_var) {
6081 tgl@sss.pgh.pa.us 250 : 0 : case 1:
1150 peter@eisentraut.org 251 : 0 : { int ret = slice_from_s(z, 2, s_0);
6081 tgl@sss.pgh.pa.us 252 [ # # ]: 0 : if (ret < 0) return ret;
253 : : }
254 : 0 : break;
255 : 0 : case 2:
1150 peter@eisentraut.org 256 : 0 : { int ret = slice_from_s(z, 1, s_1);
6081 tgl@sss.pgh.pa.us 257 [ # # ]: 0 : if (ret < 0) return ret;
258 : : }
259 : 0 : break;
260 : 0 : case 3:
1150 peter@eisentraut.org 261 : 0 : { int ret = slice_del(z);
6081 tgl@sss.pgh.pa.us 262 [ # # ]: 0 : if (ret < 0) return ret;
263 : : }
264 : 0 : break;
265 : : }
266 : 0 : return 1;
267 : : }
268 : :
1150 peter@eisentraut.org 269 : 0 : static int r_Step_1b(struct SN_env * z) {
270 : : int among_var;
271 : 0 : z->ket = z->c;
272 [ # # # # : 0 : if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 100 && z->p[z->c - 1] != 103)) return 0;
# # ]
2029 tgl@sss.pgh.pa.us 273 : 0 : among_var = find_among_b(z, a_2, 3);
6081 274 [ # # ]: 0 : if (!(among_var)) return 0;
1150 peter@eisentraut.org 275 : 0 : z->bra = z->c;
276 [ # # # ]: 0 : switch (among_var) {
6081 tgl@sss.pgh.pa.us 277 : 0 : case 1:
1150 peter@eisentraut.org 278 : 0 : { int ret = r_R1(z);
2029 tgl@sss.pgh.pa.us 279 [ # # ]: 0 : if (ret <= 0) return ret;
280 : : }
1150 peter@eisentraut.org 281 : 0 : { int ret = slice_from_s(z, 2, s_2);
6081 tgl@sss.pgh.pa.us 282 [ # # ]: 0 : if (ret < 0) return ret;
283 : : }
284 : 0 : break;
285 : 0 : case 2:
1150 peter@eisentraut.org 286 : 0 : { int m_test1 = z->l - z->c;
287 : : {
6081 tgl@sss.pgh.pa.us 288 : 0 : int ret = out_grouping_b_U(z, g_v, 97, 121, 1);
289 [ # # ]: 0 : if (ret < 0) return 0;
290 : 0 : z->c -= ret;
291 : : }
2029 292 : 0 : z->c = z->l - m_test1;
293 : : }
1150 peter@eisentraut.org 294 : 0 : { int ret = slice_del(z);
6081 tgl@sss.pgh.pa.us 295 [ # # ]: 0 : if (ret < 0) return ret;
296 : : }
1150 peter@eisentraut.org 297 : 0 : { int m_test2 = z->l - z->c;
298 [ # # # # : 0 : if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((68514004 >> (z->p[z->c - 1] & 0x1f)) & 1)) among_var = 3; else
# # ]
2029 tgl@sss.pgh.pa.us 299 : 0 : among_var = find_among_b(z, a_1, 13);
6081 300 [ # # ]: 0 : if (!(among_var)) return 0;
2029 301 [ # # # # ]: 0 : z->c = z->l - m_test2;
302 : : }
303 : : switch (among_var) {
6081 304 : 0 : case 1:
305 : : { int ret;
2029 306 : 0 : { int saved_c = z->c;
1150 peter@eisentraut.org 307 : 0 : ret = insert_s(z, z->c, z->c, 1, s_3);
2029 tgl@sss.pgh.pa.us 308 : 0 : z->c = saved_c;
309 : : }
6081 310 [ # # ]: 0 : if (ret < 0) return ret;
311 : : }
312 : 0 : break;
313 : 0 : case 2:
1150 peter@eisentraut.org 314 : 0 : z->ket = z->c;
315 : 0 : { int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
6081 tgl@sss.pgh.pa.us 316 [ # # ]: 0 : if (ret < 0) return 0;
1150 peter@eisentraut.org 317 : 0 : z->c = ret;
318 : : }
319 : 0 : z->bra = z->c;
320 : 0 : { int ret = slice_del(z);
6081 tgl@sss.pgh.pa.us 321 [ # # ]: 0 : if (ret < 0) return ret;
322 : : }
323 : 0 : break;
324 : 0 : case 3:
1150 peter@eisentraut.org 325 [ # # ]: 0 : if (z->c != z->I[1]) return 0;
326 : 0 : { int m_test3 = z->l - z->c;
327 : 0 : { int ret = r_shortv(z);
2029 tgl@sss.pgh.pa.us 328 [ # # ]: 0 : if (ret <= 0) return ret;
329 : : }
330 : 0 : z->c = z->l - m_test3;
331 : : }
332 : : { int ret;
333 : 0 : { int saved_c = z->c;
1150 peter@eisentraut.org 334 : 0 : ret = insert_s(z, z->c, z->c, 1, s_4);
2029 tgl@sss.pgh.pa.us 335 : 0 : z->c = saved_c;
336 : : }
6081 337 [ # # ]: 0 : if (ret < 0) return ret;
338 : : }
339 : 0 : break;
340 : : }
341 : 0 : break;
342 : : }
343 : 0 : return 1;
344 : : }
345 : :
1150 peter@eisentraut.org 346 : 0 : static int r_Step_1c(struct SN_env * z) {
347 : 0 : z->ket = z->c;
348 : 0 : { int m1 = z->l - z->c; (void)m1;
349 [ # # # # ]: 0 : if (z->c <= z->lb || z->p[z->c - 1] != 'y') goto lab1;
2029 tgl@sss.pgh.pa.us 350 : 0 : z->c--;
6081 351 : 0 : goto lab0;
352 : 0 : lab1:
353 : 0 : z->c = z->l - m1;
1150 peter@eisentraut.org 354 [ # # # # ]: 0 : if (z->c <= z->lb || z->p[z->c - 1] != 'Y') return 0;
2029 tgl@sss.pgh.pa.us 355 : 0 : z->c--;
356 : : }
6081 357 : 0 : lab0:
1150 peter@eisentraut.org 358 : 0 : z->bra = z->c;
359 : : {
6081 tgl@sss.pgh.pa.us 360 : 0 : int ret = out_grouping_b_U(z, g_v, 97, 121, 1);
361 [ # # ]: 0 : if (ret < 0) return 0;
362 : 0 : z->c -= ret;
363 : : }
1150 peter@eisentraut.org 364 : 0 : { int ret = slice_from_s(z, 1, s_5);
6081 tgl@sss.pgh.pa.us 365 [ # # ]: 0 : if (ret < 0) return ret;
366 : : }
367 : 0 : return 1;
368 : : }
369 : :
1150 peter@eisentraut.org 370 : 0 : static int r_Step_2(struct SN_env * z) {
371 : : int among_var;
372 : 0 : z->ket = z->c;
373 [ # # # # : 0 : if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((815616 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
# # ]
2029 tgl@sss.pgh.pa.us 374 : 0 : among_var = find_among_b(z, a_3, 20);
6081 375 [ # # ]: 0 : if (!(among_var)) return 0;
1150 peter@eisentraut.org 376 : 0 : z->bra = z->c;
377 : 0 : { int ret = r_R1(z);
2029 tgl@sss.pgh.pa.us 378 [ # # ]: 0 : if (ret <= 0) return ret;
379 : : }
1150 peter@eisentraut.org 380 [ # # # # : 0 : switch (among_var) {
# # # # #
# # # #
# ]
6081 tgl@sss.pgh.pa.us 381 : 0 : case 1:
1150 peter@eisentraut.org 382 : 0 : { int ret = slice_from_s(z, 4, s_6);
6081 tgl@sss.pgh.pa.us 383 [ # # ]: 0 : if (ret < 0) return ret;
384 : : }
385 : 0 : break;
386 : 0 : case 2:
1150 peter@eisentraut.org 387 : 0 : { int ret = slice_from_s(z, 4, s_7);
6081 tgl@sss.pgh.pa.us 388 [ # # ]: 0 : if (ret < 0) return ret;
389 : : }
390 : 0 : break;
391 : 0 : case 3:
1150 peter@eisentraut.org 392 : 0 : { int ret = slice_from_s(z, 4, s_8);
6081 tgl@sss.pgh.pa.us 393 [ # # ]: 0 : if (ret < 0) return ret;
394 : : }
395 : 0 : break;
396 : 0 : case 4:
1150 peter@eisentraut.org 397 : 0 : { int ret = slice_from_s(z, 4, s_9);
6081 tgl@sss.pgh.pa.us 398 [ # # ]: 0 : if (ret < 0) return ret;
399 : : }
400 : 0 : break;
401 : 0 : case 5:
1150 peter@eisentraut.org 402 : 0 : { int ret = slice_from_s(z, 3, s_10);
6081 tgl@sss.pgh.pa.us 403 [ # # ]: 0 : if (ret < 0) return ret;
404 : : }
405 : 0 : break;
406 : 0 : case 6:
1150 peter@eisentraut.org 407 : 0 : { int ret = slice_from_s(z, 1, s_11);
6081 tgl@sss.pgh.pa.us 408 [ # # ]: 0 : if (ret < 0) return ret;
409 : : }
410 : 0 : break;
411 : 0 : case 7:
1150 peter@eisentraut.org 412 : 0 : { int ret = slice_from_s(z, 3, s_12);
6081 tgl@sss.pgh.pa.us 413 [ # # ]: 0 : if (ret < 0) return ret;
414 : : }
415 : 0 : break;
416 : 0 : case 8:
1150 peter@eisentraut.org 417 : 0 : { int ret = slice_from_s(z, 3, s_13);
6081 tgl@sss.pgh.pa.us 418 [ # # ]: 0 : if (ret < 0) return ret;
419 : : }
420 : 0 : break;
421 : 0 : case 9:
1150 peter@eisentraut.org 422 : 0 : { int ret = slice_from_s(z, 2, s_14);
6081 tgl@sss.pgh.pa.us 423 [ # # ]: 0 : if (ret < 0) return ret;
424 : : }
425 : 0 : break;
426 : 0 : case 10:
1150 peter@eisentraut.org 427 : 0 : { int ret = slice_from_s(z, 3, s_15);
6081 tgl@sss.pgh.pa.us 428 [ # # ]: 0 : if (ret < 0) return ret;
429 : : }
430 : 0 : break;
431 : 0 : case 11:
1150 peter@eisentraut.org 432 : 0 : { int ret = slice_from_s(z, 3, s_16);
6081 tgl@sss.pgh.pa.us 433 [ # # ]: 0 : if (ret < 0) return ret;
434 : : }
435 : 0 : break;
436 : 0 : case 12:
1150 peter@eisentraut.org 437 : 0 : { int ret = slice_from_s(z, 3, s_17);
6081 tgl@sss.pgh.pa.us 438 [ # # ]: 0 : if (ret < 0) return ret;
439 : : }
440 : 0 : break;
441 : 0 : case 13:
1150 peter@eisentraut.org 442 : 0 : { int ret = slice_from_s(z, 3, s_18);
6081 tgl@sss.pgh.pa.us 443 [ # # ]: 0 : if (ret < 0) return ret;
444 : : }
445 : 0 : break;
446 : : }
447 : 0 : return 1;
448 : : }
449 : :
1150 peter@eisentraut.org 450 : 0 : static int r_Step_3(struct SN_env * z) {
451 : : int among_var;
452 : 0 : z->ket = z->c;
453 [ # # # # : 0 : if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((528928 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
# # ]
2029 tgl@sss.pgh.pa.us 454 : 0 : among_var = find_among_b(z, a_4, 7);
6081 455 [ # # ]: 0 : if (!(among_var)) return 0;
1150 peter@eisentraut.org 456 : 0 : z->bra = z->c;
457 : 0 : { int ret = r_R1(z);
2029 tgl@sss.pgh.pa.us 458 [ # # ]: 0 : if (ret <= 0) return ret;
459 : : }
1150 peter@eisentraut.org 460 [ # # # # ]: 0 : switch (among_var) {
6081 tgl@sss.pgh.pa.us 461 : 0 : case 1:
1150 peter@eisentraut.org 462 : 0 : { int ret = slice_from_s(z, 2, s_19);
6081 tgl@sss.pgh.pa.us 463 [ # # ]: 0 : if (ret < 0) return ret;
464 : : }
465 : 0 : break;
466 : 0 : case 2:
1150 peter@eisentraut.org 467 : 0 : { int ret = slice_from_s(z, 2, s_20);
6081 tgl@sss.pgh.pa.us 468 [ # # ]: 0 : if (ret < 0) return ret;
469 : : }
470 : 0 : break;
471 : 0 : case 3:
1150 peter@eisentraut.org 472 : 0 : { int ret = slice_del(z);
6081 tgl@sss.pgh.pa.us 473 [ # # ]: 0 : if (ret < 0) return ret;
474 : : }
475 : 0 : break;
476 : : }
477 : 0 : return 1;
478 : : }
479 : :
1150 peter@eisentraut.org 480 : 0 : static int r_Step_4(struct SN_env * z) {
481 : : int among_var;
482 : 0 : z->ket = z->c;
483 [ # # # # : 0 : if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((3961384 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
# # ]
2029 tgl@sss.pgh.pa.us 484 : 0 : among_var = find_among_b(z, a_5, 19);
6081 485 [ # # ]: 0 : if (!(among_var)) return 0;
1150 peter@eisentraut.org 486 : 0 : z->bra = z->c;
487 : 0 : { int ret = r_R2(z);
2029 tgl@sss.pgh.pa.us 488 [ # # ]: 0 : if (ret <= 0) return ret;
489 : : }
1150 peter@eisentraut.org 490 [ # # # ]: 0 : switch (among_var) {
6081 tgl@sss.pgh.pa.us 491 : 0 : case 1:
1150 peter@eisentraut.org 492 : 0 : { int ret = slice_del(z);
6081 tgl@sss.pgh.pa.us 493 [ # # ]: 0 : if (ret < 0) return ret;
494 : : }
495 : 0 : break;
496 : 0 : case 2:
1150 peter@eisentraut.org 497 : 0 : { int m1 = z->l - z->c; (void)m1;
498 [ # # # # ]: 0 : if (z->c <= z->lb || z->p[z->c - 1] != 's') goto lab1;
2029 tgl@sss.pgh.pa.us 499 : 0 : z->c--;
6081 500 : 0 : goto lab0;
501 : 0 : lab1:
502 : 0 : z->c = z->l - m1;
1150 peter@eisentraut.org 503 [ # # # # ]: 0 : if (z->c <= z->lb || z->p[z->c - 1] != 't') return 0;
2029 tgl@sss.pgh.pa.us 504 : 0 : z->c--;
505 : : }
6081 506 : 0 : lab0:
1150 peter@eisentraut.org 507 : 0 : { int ret = slice_del(z);
6081 tgl@sss.pgh.pa.us 508 [ # # ]: 0 : if (ret < 0) return ret;
509 : : }
510 : 0 : break;
511 : : }
512 : 0 : return 1;
513 : : }
514 : :
1150 peter@eisentraut.org 515 : 0 : static int r_Step_5a(struct SN_env * z) {
516 : 0 : z->ket = z->c;
517 [ # # # # ]: 0 : if (z->c <= z->lb || z->p[z->c - 1] != 'e') return 0;
2029 tgl@sss.pgh.pa.us 518 : 0 : z->c--;
1150 peter@eisentraut.org 519 : 0 : z->bra = z->c;
520 : 0 : { int m1 = z->l - z->c; (void)m1;
521 : 0 : { int ret = r_R2(z);
2029 tgl@sss.pgh.pa.us 522 [ # # ]: 0 : if (ret == 0) goto lab1;
6081 523 [ # # ]: 0 : if (ret < 0) return ret;
524 : : }
525 : 0 : goto lab0;
526 : 0 : lab1:
527 : 0 : z->c = z->l - m1;
1150 peter@eisentraut.org 528 : 0 : { int ret = r_R1(z);
2029 tgl@sss.pgh.pa.us 529 [ # # ]: 0 : if (ret <= 0) return ret;
530 : : }
1150 peter@eisentraut.org 531 : 0 : { int m2 = z->l - z->c; (void)m2;
532 : 0 : { int ret = r_shortv(z);
2029 tgl@sss.pgh.pa.us 533 [ # # ]: 0 : if (ret == 0) goto lab2;
6081 534 [ # # ]: 0 : if (ret < 0) return ret;
535 : : }
536 : 0 : return 0;
537 : 0 : lab2:
538 : 0 : z->c = z->l - m2;
539 : : }
540 : : }
541 : 0 : lab0:
1150 peter@eisentraut.org 542 : 0 : { int ret = slice_del(z);
6081 tgl@sss.pgh.pa.us 543 [ # # ]: 0 : if (ret < 0) return ret;
544 : : }
545 : 0 : return 1;
546 : : }
547 : :
1150 peter@eisentraut.org 548 : 0 : static int r_Step_5b(struct SN_env * z) {
549 : 0 : z->ket = z->c;
550 [ # # # # ]: 0 : if (z->c <= z->lb || z->p[z->c - 1] != 'l') return 0;
2029 tgl@sss.pgh.pa.us 551 : 0 : z->c--;
1150 peter@eisentraut.org 552 : 0 : z->bra = z->c;
553 : 0 : { int ret = r_R2(z);
2029 tgl@sss.pgh.pa.us 554 [ # # ]: 0 : if (ret <= 0) return ret;
555 : : }
1150 peter@eisentraut.org 556 [ # # # # ]: 0 : if (z->c <= z->lb || z->p[z->c - 1] != 'l') return 0;
2029 tgl@sss.pgh.pa.us 557 : 0 : z->c--;
1150 peter@eisentraut.org 558 : 0 : { int ret = slice_del(z);
6081 tgl@sss.pgh.pa.us 559 [ # # ]: 0 : if (ret < 0) return ret;
560 : : }
561 : 0 : return 1;
562 : : }
563 : :
1150 peter@eisentraut.org 564 : 0 : extern int porter_UTF_8_stem(struct SN_env * z) {
565 : 0 : z->I[2] = 0;
566 : 0 : { int c1 = z->c;
567 : 0 : z->bra = z->c;
568 [ # # # # ]: 0 : if (z->c == z->l || z->p[z->c] != 'y') goto lab0;
2029 tgl@sss.pgh.pa.us 569 : 0 : z->c++;
1150 peter@eisentraut.org 570 : 0 : z->ket = z->c;
571 : 0 : { int ret = slice_from_s(z, 1, s_21);
6081 tgl@sss.pgh.pa.us 572 [ # # ]: 0 : if (ret < 0) return ret;
573 : : }
1150 peter@eisentraut.org 574 : 0 : z->I[2] = 1;
6081 tgl@sss.pgh.pa.us 575 : 0 : lab0:
576 : 0 : z->c = c1;
577 : : }
1150 peter@eisentraut.org 578 : 0 : { int c2 = z->c;
579 : 0 : while(1) {
580 : 0 : int c3 = z->c;
581 : 0 : while(1) {
6081 tgl@sss.pgh.pa.us 582 : 0 : int c4 = z->c;
1150 peter@eisentraut.org 583 [ # # ]: 0 : if (in_grouping_U(z, g_v, 97, 121, 0)) goto lab3;
584 : 0 : z->bra = z->c;
585 [ # # # # ]: 0 : if (z->c == z->l || z->p[z->c] != 'y') goto lab3;
2029 tgl@sss.pgh.pa.us 586 : 0 : z->c++;
1150 peter@eisentraut.org 587 : 0 : z->ket = z->c;
6081 tgl@sss.pgh.pa.us 588 : 0 : z->c = c4;
589 : 0 : break;
590 : 0 : lab3:
591 : 0 : z->c = c4;
1150 peter@eisentraut.org 592 : 0 : { int ret = skip_utf8(z->p, z->c, z->l, 1);
6081 tgl@sss.pgh.pa.us 593 [ # # ]: 0 : if (ret < 0) goto lab2;
1150 peter@eisentraut.org 594 : 0 : z->c = ret;
595 : : }
596 : : }
597 : 0 : { int ret = slice_from_s(z, 1, s_22);
6081 tgl@sss.pgh.pa.us 598 [ # # ]: 0 : if (ret < 0) return ret;
599 : : }
1150 peter@eisentraut.org 600 : 0 : z->I[2] = 1;
6081 tgl@sss.pgh.pa.us 601 : 0 : continue;
602 : 0 : lab2:
603 : 0 : z->c = c3;
604 : 0 : break;
605 : : }
606 : 0 : z->c = c2;
607 : : }
1150 peter@eisentraut.org 608 : 0 : z->I[1] = z->l;
609 : 0 : z->I[0] = z->l;
610 : 0 : { int c5 = z->c;
611 : : {
6081 tgl@sss.pgh.pa.us 612 : 0 : int ret = out_grouping_U(z, g_v, 97, 121, 1);
613 [ # # ]: 0 : if (ret < 0) goto lab4;
614 : 0 : z->c += ret;
615 : : }
616 : : {
617 : 0 : int ret = in_grouping_U(z, g_v, 97, 121, 1);
618 [ # # ]: 0 : if (ret < 0) goto lab4;
619 : 0 : z->c += ret;
620 : : }
1150 peter@eisentraut.org 621 : 0 : z->I[1] = z->c;
622 : : {
6081 tgl@sss.pgh.pa.us 623 : 0 : int ret = out_grouping_U(z, g_v, 97, 121, 1);
624 [ # # ]: 0 : if (ret < 0) goto lab4;
625 : 0 : z->c += ret;
626 : : }
627 : : {
628 : 0 : int ret = in_grouping_U(z, g_v, 97, 121, 1);
629 [ # # ]: 0 : if (ret < 0) goto lab4;
630 : 0 : z->c += ret;
631 : : }
1150 peter@eisentraut.org 632 : 0 : z->I[0] = z->c;
6081 tgl@sss.pgh.pa.us 633 : 0 : lab4:
634 : 0 : z->c = c5;
635 : : }
1150 peter@eisentraut.org 636 : 0 : z->lb = z->c; z->c = z->l;
637 : :
638 : 0 : { int m6 = z->l - z->c; (void)m6;
639 : 0 : { int ret = r_Step_1a(z);
6081 tgl@sss.pgh.pa.us 640 [ # # ]: 0 : if (ret < 0) return ret;
641 : : }
642 : 0 : z->c = z->l - m6;
643 : : }
1150 peter@eisentraut.org 644 : 0 : { int m7 = z->l - z->c; (void)m7;
645 : 0 : { int ret = r_Step_1b(z);
6081 tgl@sss.pgh.pa.us 646 [ # # ]: 0 : if (ret < 0) return ret;
647 : : }
648 : 0 : z->c = z->l - m7;
649 : : }
1150 peter@eisentraut.org 650 : 0 : { int m8 = z->l - z->c; (void)m8;
651 : 0 : { int ret = r_Step_1c(z);
6081 tgl@sss.pgh.pa.us 652 [ # # ]: 0 : if (ret < 0) return ret;
653 : : }
654 : 0 : z->c = z->l - m8;
655 : : }
1150 peter@eisentraut.org 656 : 0 : { int m9 = z->l - z->c; (void)m9;
657 : 0 : { int ret = r_Step_2(z);
6081 tgl@sss.pgh.pa.us 658 [ # # ]: 0 : if (ret < 0) return ret;
659 : : }
660 : 0 : z->c = z->l - m9;
661 : : }
1150 peter@eisentraut.org 662 : 0 : { int m10 = z->l - z->c; (void)m10;
663 : 0 : { int ret = r_Step_3(z);
6081 tgl@sss.pgh.pa.us 664 [ # # ]: 0 : if (ret < 0) return ret;
665 : : }
666 : 0 : z->c = z->l - m10;
667 : : }
1150 peter@eisentraut.org 668 : 0 : { int m11 = z->l - z->c; (void)m11;
669 : 0 : { int ret = r_Step_4(z);
6081 tgl@sss.pgh.pa.us 670 [ # # ]: 0 : if (ret < 0) return ret;
671 : : }
672 : 0 : z->c = z->l - m11;
673 : : }
1150 peter@eisentraut.org 674 : 0 : { int m12 = z->l - z->c; (void)m12;
675 : 0 : { int ret = r_Step_5a(z);
6081 tgl@sss.pgh.pa.us 676 [ # # ]: 0 : if (ret < 0) return ret;
677 : : }
678 : 0 : z->c = z->l - m12;
679 : : }
1150 peter@eisentraut.org 680 : 0 : { int m13 = z->l - z->c; (void)m13;
681 : 0 : { int ret = r_Step_5b(z);
6081 tgl@sss.pgh.pa.us 682 [ # # ]: 0 : if (ret < 0) return ret;
683 : : }
684 : 0 : z->c = z->l - m13;
685 : : }
686 : 0 : z->c = z->lb;
1150 peter@eisentraut.org 687 : 0 : { int c14 = z->c;
688 [ # # ]: 0 : if (!(z->I[2])) goto lab5;
689 : 0 : while(1) {
690 : 0 : int c15 = z->c;
691 : 0 : while(1) {
6081 tgl@sss.pgh.pa.us 692 : 0 : int c16 = z->c;
1150 peter@eisentraut.org 693 : 0 : z->bra = z->c;
694 [ # # # # ]: 0 : if (z->c == z->l || z->p[z->c] != 'Y') goto lab7;
2029 tgl@sss.pgh.pa.us 695 : 0 : z->c++;
1150 peter@eisentraut.org 696 : 0 : z->ket = z->c;
6081 tgl@sss.pgh.pa.us 697 : 0 : z->c = c16;
698 : 0 : break;
1406 peter@eisentraut.org 699 : 0 : lab7:
6081 tgl@sss.pgh.pa.us 700 : 0 : z->c = c16;
1150 peter@eisentraut.org 701 : 0 : { int ret = skip_utf8(z->p, z->c, z->l, 1);
1406 702 [ # # ]: 0 : if (ret < 0) goto lab6;
1150 703 : 0 : z->c = ret;
704 : : }
705 : : }
706 : 0 : { int ret = slice_from_s(z, 1, s_23);
6081 tgl@sss.pgh.pa.us 707 [ # # ]: 0 : if (ret < 0) return ret;
708 : : }
709 : 0 : continue;
1406 peter@eisentraut.org 710 : 0 : lab6:
6081 tgl@sss.pgh.pa.us 711 : 0 : z->c = c15;
712 : 0 : break;
713 : : }
1406 peter@eisentraut.org 714 : 0 : lab5:
6081 tgl@sss.pgh.pa.us 715 : 0 : z->c = c14;
716 : : }
717 : 0 : return 1;
718 : : }
719 : :
1150 peter@eisentraut.org 720 : 0 : extern struct SN_env * porter_UTF_8_create_env(void) { return SN_create_env(0, 3); }
721 : :
6081 tgl@sss.pgh.pa.us 722 : 0 : extern void porter_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); }
723 : :
|