PostgreSQL Source Code git master
stem_UTF_8_dutch.c
Go to the documentation of this file.
1/* Generated from dutch.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
2
3#include "stem_UTF_8_dutch.h"
4
5#include <stddef.h>
6
7#include "snowball_runtime.h"
8
9struct SN_local {
10 struct SN_env z;
11 int i_p2;
12 int i_p1;
13 unsigned char b_GE_removed;
14 symbol * s_ch;
15};
16
17typedef struct SN_local SN_local;
18
19#ifdef __cplusplus
20extern "C" {
21#endif
22extern int dutch_UTF_8_stem(struct SN_env * z);
23#ifdef __cplusplus
24}
25#endif
26
27static int r_measure(struct SN_env * z);
28static int r_Lose_infix(struct SN_env * z);
29static int r_Lose_prefix(struct SN_env * z);
30static int r_Step_1c(struct SN_env * z);
31static int r_Step_6(struct SN_env * z);
32static int r_Step_7(struct SN_env * z);
33static int r_Step_4(struct SN_env * z);
34static int r_Step_3(struct SN_env * z);
35static int r_Step_2(struct SN_env * z);
36static int r_Step_1(struct SN_env * z);
37static int r_lengthen_V(struct SN_env * z);
38static int r_VX(struct SN_env * z);
39static int r_V(struct SN_env * z);
40static int r_C(struct SN_env * z);
41static int r_R2(struct SN_env * z);
42static int r_R1(struct SN_env * z);
43
44static const symbol s_0[] = { 'i', 'j' };
45static const symbol s_1[] = { 'i', 'j' };
46static const symbol s_2[] = { 'i', 'j' };
47static const symbol s_3[] = { 'e', 0xC3, 0xAB, 'e' };
48static const symbol s_4[] = { 'i', 'e', 'e' };
49static const symbol s_5[] = { 'i', 'e' };
50static const symbol s_6[] = { 'a', 'r' };
51static const symbol s_7[] = { 'e', 'r' };
52static const symbol s_8[] = { 'e' };
53static const symbol s_9[] = { 0xC3, 0xA9 };
54static const symbol s_10[] = { 'a', 'u' };
55static const symbol s_11[] = { 'h', 'e', 'd' };
56static const symbol s_12[] = { 'h', 'e', 'i', 'd' };
57static const symbol s_13[] = { 'n', 'd' };
58static const symbol s_14[] = { 'n', 'd' };
59static const symbol s_15[] = { '\'', 't' };
60static const symbol s_16[] = { 'e', 't' };
61static const symbol s_17[] = { 'r', 'n', 't' };
62static const symbol s_18[] = { 'r', 'n' };
63static const symbol s_19[] = { 'i', 'n', 'k' };
64static const symbol s_20[] = { 'i', 'n', 'g' };
65static const symbol s_21[] = { 'm', 'p' };
66static const symbol s_22[] = { 'm' };
67static const symbol s_23[] = { 'g' };
68static const symbol s_24[] = { 'l', 'i', 'j', 'k' };
69static const symbol s_25[] = { 'i', 's', 'c', 'h' };
70static const symbol s_26[] = { 't' };
71static const symbol s_27[] = { 's' };
72static const symbol s_28[] = { 'r' };
73static const symbol s_29[] = { 'l' };
74static const symbol s_30[] = { 'e', 'n' };
75static const symbol s_31[] = { 'i', 'e', 'f' };
76static const symbol s_32[] = { 'e', 'e', 'r' };
77static const symbol s_33[] = { 'r' };
78static const symbol s_34[] = { 'i', 'l', 'd' };
79static const symbol s_35[] = { 'e', 'r' };
80static const symbol s_36[] = { 'a', 'a', 'r' };
81static const symbol s_37[] = { 'f' };
82static const symbol s_38[] = { 'g' };
83static const symbol s_39[] = { 't' };
84static const symbol s_40[] = { 'd' };
85static const symbol s_41[] = { 'i', 'e' };
86static const symbol s_42[] = { 'e', 'e', 'r' };
87static const symbol s_43[] = { 'n' };
88static const symbol s_44[] = { 'l' };
89static const symbol s_45[] = { 'r' };
90static const symbol s_46[] = { 't', 'e', 'e', 'r' };
91static const symbol s_47[] = { 'l', 'i', 'j', 'k' };
92static const symbol s_48[] = { 'i', 'n', 'n' };
93static const symbol s_49[] = { 'k' };
94static const symbol s_50[] = { 'f' };
95static const symbol s_51[] = { 'p' };
96static const symbol s_52[] = { 'b' };
97static const symbol s_53[] = { 'c' };
98static const symbol s_54[] = { 'd' };
99static const symbol s_55[] = { 'f' };
100static const symbol s_56[] = { 'g' };
101static const symbol s_57[] = { 'h' };
102static const symbol s_58[] = { 'j' };
103static const symbol s_59[] = { 'k' };
104static const symbol s_60[] = { 'l' };
105static const symbol s_61[] = { 'm' };
106static const symbol s_62[] = { 'n' };
107static const symbol s_63[] = { 'p' };
108static const symbol s_64[] = { 'q' };
109static const symbol s_65[] = { 'r' };
110static const symbol s_66[] = { 's' };
111static const symbol s_67[] = { 't' };
112static const symbol s_68[] = { 'v' };
113static const symbol s_69[] = { 'w' };
114static const symbol s_70[] = { 'x' };
115static const symbol s_71[] = { 'z' };
116static const symbol s_72[] = { 'i', 'n' };
117static const symbol s_73[] = { 'n' };
118static const symbol s_74[] = { 'e', 'n' };
119static const symbol s_75[] = { 'g', 'e' };
120static const symbol s_76[] = { 'i', 'j' };
121static const symbol s_77[] = { 'i', 'j' };
122static const symbol s_78[] = { 'e' };
123static const symbol s_79[] = { 'i' };
124static const symbol s_80[] = { 'g', 'e' };
125static const symbol s_81[] = { 'i', 'j' };
126static const symbol s_82[] = { 'i', 'j' };
127static const symbol s_83[] = { 'e' };
128static const symbol s_84[] = { 'i' };
129static const symbol s_85[] = { 'i', 'j' };
130static const symbol s_86[] = { 'i', 'j' };
131
132static const symbol s_0_0[1] = { 'a' };
133static const symbol s_0_1[1] = { 'e' };
134static const symbol s_0_2[1] = { 'o' };
135static const symbol s_0_3[1] = { 'u' };
136static const symbol s_0_4[2] = { 0xC3, 0xA0 };
137static const symbol s_0_5[2] = { 0xC3, 0xA1 };
138static const symbol s_0_6[2] = { 0xC3, 0xA2 };
139static const symbol s_0_7[2] = { 0xC3, 0xA4 };
140static const symbol s_0_8[2] = { 0xC3, 0xA8 };
141static const symbol s_0_9[2] = { 0xC3, 0xA9 };
142static const symbol s_0_10[2] = { 0xC3, 0xAA };
143static const symbol s_0_11[3] = { 'e', 0xC3, 0xAB };
144static const symbol s_0_12[3] = { 'i', 0xC3, 0xAB };
145static const symbol s_0_13[2] = { 0xC3, 0xB2 };
146static const symbol s_0_14[2] = { 0xC3, 0xB3 };
147static const symbol s_0_15[2] = { 0xC3, 0xB4 };
148static const symbol s_0_16[2] = { 0xC3, 0xB6 };
149static const symbol s_0_17[2] = { 0xC3, 0xB9 };
150static const symbol s_0_18[2] = { 0xC3, 0xBA };
151static const symbol s_0_19[2] = { 0xC3, 0xBB };
152static const symbol s_0_20[2] = { 0xC3, 0xBC };
153static const struct among a_0[21] = {
154{ 1, s_0_0, 0, 1, 0},
155{ 1, s_0_1, 0, 2, 0},
156{ 1, s_0_2, 0, 1, 0},
157{ 1, s_0_3, 0, 1, 0},
158{ 2, s_0_4, 0, 1, 0},
159{ 2, s_0_5, 0, 1, 0},
160{ 2, s_0_6, 0, 1, 0},
161{ 2, s_0_7, 0, 1, 0},
162{ 2, s_0_8, 0, 2, 0},
163{ 2, s_0_9, 0, 2, 0},
164{ 2, s_0_10, 0, 2, 0},
165{ 3, s_0_11, 0, 3, 0},
166{ 3, s_0_12, 0, 4, 0},
167{ 2, s_0_13, 0, 1, 0},
168{ 2, s_0_14, 0, 1, 0},
169{ 2, s_0_15, 0, 1, 0},
170{ 2, s_0_16, 0, 1, 0},
171{ 2, s_0_17, 0, 1, 0},
172{ 2, s_0_18, 0, 1, 0},
173{ 2, s_0_19, 0, 1, 0},
174{ 2, s_0_20, 0, 1, 0}
175};
176
177static const symbol s_1_0[3] = { 'n', 'd', 'e' };
178static const symbol s_1_1[2] = { 'e', 'n' };
179static const symbol s_1_2[1] = { 's' };
180static const symbol s_1_3[2] = { '\'', 's' };
181static const symbol s_1_4[2] = { 'e', 's' };
182static const symbol s_1_5[3] = { 'i', 'e', 's' };
183static const symbol s_1_6[3] = { 'a', 'u', 's' };
184static const symbol s_1_7[3] = { 0xC3, 0xA9, 's' };
185static const struct among a_1[8] = {
186{ 3, s_1_0, 0, 8, 0},
187{ 2, s_1_1, 0, 7, 0},
188{ 1, s_1_2, 0, 2, 0},
189{ 2, s_1_3, -1, 1, 0},
190{ 2, s_1_4, -2, 4, 0},
191{ 3, s_1_5, -1, 3, 0},
192{ 3, s_1_6, -4, 6, 0},
193{ 3, s_1_7, -5, 5, 0}
194};
195
196static const symbol s_2_0[2] = { 'd', 'e' };
197static const symbol s_2_1[2] = { 'g', 'e' };
198static const symbol s_2_2[5] = { 'i', 's', 'c', 'h', 'e' };
199static const symbol s_2_3[2] = { 'j', 'e' };
200static const symbol s_2_4[5] = { 'l', 'i', 'j', 'k', 'e' };
201static const symbol s_2_5[2] = { 'l', 'e' };
202static const symbol s_2_6[3] = { 'e', 'n', 'e' };
203static const symbol s_2_7[2] = { 'r', 'e' };
204static const symbol s_2_8[2] = { 's', 'e' };
205static const symbol s_2_9[2] = { 't', 'e' };
206static const symbol s_2_10[4] = { 'i', 'e', 'v', 'e' };
207static const struct among a_2[11] = {
208{ 2, s_2_0, 0, 5, 0},
209{ 2, s_2_1, 0, 2, 0},
210{ 5, s_2_2, 0, 4, 0},
211{ 2, s_2_3, 0, 1, 0},
212{ 5, s_2_4, 0, 3, 0},
213{ 2, s_2_5, 0, 9, 0},
214{ 3, s_2_6, 0, 10, 0},
215{ 2, s_2_7, 0, 8, 0},
216{ 2, s_2_8, 0, 7, 0},
217{ 2, s_2_9, 0, 6, 0},
218{ 4, s_2_10, 0, 11, 0}
219};
220
221static const symbol s_3_0[4] = { 'h', 'e', 'i', 'd' };
222static const symbol s_3_1[3] = { 'f', 'i', 'e' };
223static const symbol s_3_2[3] = { 'g', 'i', 'e' };
224static const symbol s_3_3[4] = { 'a', 't', 'i', 'e' };
225static const symbol s_3_4[4] = { 'i', 's', 'm', 'e' };
226static const symbol s_3_5[3] = { 'i', 'n', 'g' };
227static const symbol s_3_6[4] = { 'a', 'r', 'i', 'j' };
228static const symbol s_3_7[4] = { 'e', 'r', 'i', 'j' };
229static const symbol s_3_8[3] = { 's', 'e', 'l' };
230static const symbol s_3_9[4] = { 'r', 'd', 'e', 'r' };
231static const symbol s_3_10[4] = { 's', 't', 'e', 'r' };
232static const symbol s_3_11[5] = { 'i', 't', 'e', 'i', 't' };
233static const symbol s_3_12[3] = { 'd', 's', 't' };
234static const symbol s_3_13[3] = { 't', 's', 't' };
235static const struct among a_3[14] = {
236{ 4, s_3_0, 0, 3, 0},
237{ 3, s_3_1, 0, 7, 0},
238{ 3, s_3_2, 0, 8, 0},
239{ 4, s_3_3, 0, 1, 0},
240{ 4, s_3_4, 0, 5, 0},
241{ 3, s_3_5, 0, 5, 0},
242{ 4, s_3_6, 0, 6, 0},
243{ 4, s_3_7, 0, 5, 0},
244{ 3, s_3_8, 0, 3, 0},
245{ 4, s_3_9, 0, 4, 0},
246{ 4, s_3_10, 0, 3, 0},
247{ 5, s_3_11, 0, 2, 0},
248{ 3, s_3_12, 0, 10, 0},
249{ 3, s_3_13, 0, 9, 0}
250};
251
252static const symbol s_4_0[3] = { 'e', 'n', 'd' };
253static const symbol s_4_1[5] = { 'a', 't', 'i', 'e', 'f' };
254static const symbol s_4_2[4] = { 'e', 'r', 'i', 'g' };
255static const symbol s_4_3[6] = { 'a', 'c', 'h', 't', 'i', 'g' };
256static const symbol s_4_4[6] = { 'i', 'o', 'n', 'e', 'e', 'l' };
257static const symbol s_4_5[4] = { 'b', 'a', 'a', 'r' };
258static const symbol s_4_6[4] = { 'l', 'a', 'a', 'r' };
259static const symbol s_4_7[4] = { 'n', 'a', 'a', 'r' };
260static const symbol s_4_8[4] = { 'r', 'a', 'a', 'r' };
261static const symbol s_4_9[6] = { 'e', 'r', 'i', 'g', 'e', 'r' };
262static const symbol s_4_10[8] = { 'a', 'c', 'h', 't', 'i', 'g', 'e', 'r' };
263static const symbol s_4_11[6] = { 'l', 'i', 'j', 'k', 'e', 'r' };
264static const symbol s_4_12[4] = { 't', 'a', 'n', 't' };
265static const symbol s_4_13[6] = { 'e', 'r', 'i', 'g', 's', 't' };
266static const symbol s_4_14[8] = { 'a', 'c', 'h', 't', 'i', 'g', 's', 't' };
267static const symbol s_4_15[6] = { 'l', 'i', 'j', 'k', 's', 't' };
268static const struct among a_4[16] = {
269{ 3, s_4_0, 0, 9, 0},
270{ 5, s_4_1, 0, 2, 0},
271{ 4, s_4_2, 0, 9, 0},
272{ 6, s_4_3, 0, 3, 0},
273{ 6, s_4_4, 0, 1, 0},
274{ 4, s_4_5, 0, 3, 0},
275{ 4, s_4_6, 0, 5, 0},
276{ 4, s_4_7, 0, 4, 0},
277{ 4, s_4_8, 0, 6, 0},
278{ 6, s_4_9, 0, 9, 0},
279{ 8, s_4_10, 0, 3, 0},
280{ 6, s_4_11, 0, 8, 0},
281{ 4, s_4_12, 0, 7, 0},
282{ 6, s_4_13, 0, 9, 0},
283{ 8, s_4_14, 0, 3, 0},
284{ 6, s_4_15, 0, 8, 0}
285};
286
287static const symbol s_5_0[2] = { 'i', 'g' };
288static const symbol s_5_1[4] = { 'i', 'g', 'e', 'r' };
289static const symbol s_5_2[4] = { 'i', 'g', 's', 't' };
290static const struct among a_5[3] = {
291{ 2, s_5_0, 0, 1, 0},
292{ 4, s_5_1, 0, 1, 0},
293{ 4, s_5_2, 0, 1, 0}
294};
295
296static const symbol s_6_0[2] = { 'f', 't' };
297static const symbol s_6_1[2] = { 'k', 't' };
298static const symbol s_6_2[2] = { 'p', 't' };
299static const struct among a_6[3] = {
300{ 2, s_6_0, 0, 2, 0},
301{ 2, s_6_1, 0, 1, 0},
302{ 2, s_6_2, 0, 3, 0}
303};
304
305static const symbol s_7_0[2] = { 'b', 'b' };
306static const symbol s_7_1[2] = { 'c', 'c' };
307static const symbol s_7_2[2] = { 'd', 'd' };
308static const symbol s_7_3[2] = { 'f', 'f' };
309static const symbol s_7_4[2] = { 'g', 'g' };
310static const symbol s_7_5[2] = { 'h', 'h' };
311static const symbol s_7_6[2] = { 'j', 'j' };
312static const symbol s_7_7[2] = { 'k', 'k' };
313static const symbol s_7_8[2] = { 'l', 'l' };
314static const symbol s_7_9[2] = { 'm', 'm' };
315static const symbol s_7_10[2] = { 'n', 'n' };
316static const symbol s_7_11[2] = { 'p', 'p' };
317static const symbol s_7_12[2] = { 'q', 'q' };
318static const symbol s_7_13[2] = { 'r', 'r' };
319static const symbol s_7_14[2] = { 's', 's' };
320static const symbol s_7_15[2] = { 't', 't' };
321static const symbol s_7_16[1] = { 'v' };
322static const symbol s_7_17[2] = { 'v', 'v' };
323static const symbol s_7_18[2] = { 'w', 'w' };
324static const symbol s_7_19[2] = { 'x', 'x' };
325static const symbol s_7_20[1] = { 'z' };
326static const symbol s_7_21[2] = { 'z', 'z' };
327static const struct among a_7[22] = {
328{ 2, s_7_0, 0, 1, 0},
329{ 2, s_7_1, 0, 2, 0},
330{ 2, s_7_2, 0, 3, 0},
331{ 2, s_7_3, 0, 4, 0},
332{ 2, s_7_4, 0, 5, 0},
333{ 2, s_7_5, 0, 6, 0},
334{ 2, s_7_6, 0, 7, 0},
335{ 2, s_7_7, 0, 8, 0},
336{ 2, s_7_8, 0, 9, 0},
337{ 2, s_7_9, 0, 10, 0},
338{ 2, s_7_10, 0, 11, 0},
339{ 2, s_7_11, 0, 12, 0},
340{ 2, s_7_12, 0, 13, 0},
341{ 2, s_7_13, 0, 14, 0},
342{ 2, s_7_14, 0, 15, 0},
343{ 2, s_7_15, 0, 16, 0},
344{ 1, s_7_16, 0, 4, 0},
345{ 2, s_7_17, -1, 17, 0},
346{ 2, s_7_18, 0, 18, 0},
347{ 2, s_7_19, 0, 19, 0},
348{ 1, s_7_20, 0, 15, 0},
349{ 2, s_7_21, -1, 20, 0}
350};
351
352static const symbol s_8_0[1] = { 'd' };
353static const symbol s_8_1[1] = { 't' };
354static const struct among a_8[2] = {
355{ 1, s_8_0, 0, 1, 0},
356{ 1, s_8_1, 0, 2, 0}
357};
358
359static const symbol s_9_1[3] = { 'e', 'f', 't' };
360static const symbol s_9_2[3] = { 'v', 'a', 'a' };
361static const symbol s_9_3[3] = { 'v', 'a', 'l' };
362static const symbol s_9_4[4] = { 'v', 'a', 'l', 'i' };
363static const symbol s_9_5[4] = { 'v', 'a', 'r', 'e' };
364static const struct among a_9[6] = {
365{ 0, 0, 0, -1, 0},
366{ 3, s_9_1, -1, 1, 0},
367{ 3, s_9_2, -2, 1, 0},
368{ 3, s_9_3, -3, 1, 0},
369{ 4, s_9_4, -1, -1, 0},
370{ 4, s_9_5, -5, 1, 0}
371};
372
373static const symbol s_10_0[2] = { 0xC3, 0xAB };
374static const symbol s_10_1[2] = { 0xC3, 0xAF };
375static const struct among a_10[2] = {
376{ 2, s_10_0, 0, 1, 0},
377{ 2, s_10_1, 0, 2, 0}
378};
379
380static const symbol s_11_0[2] = { 0xC3, 0xAB };
381static const symbol s_11_1[2] = { 0xC3, 0xAF };
382static const struct among a_11[2] = {
383{ 2, s_11_0, 0, 1, 0},
384{ 2, s_11_1, 0, 2, 0}
385};
386
387static const unsigned char g_E[] = { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 120 };
388
389static const unsigned char g_AIOU[] = { 1, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 11, 120, 46, 15 };
390
391static const unsigned char g_AEIOU[] = { 17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 139, 127, 46, 15 };
392
393static const unsigned char g_v[] = { 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 139, 127, 46, 15 };
394
395static const unsigned char g_v_WX[] = { 17, 65, 208, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 139, 127, 46, 15 };
396
397static int r_R1(struct SN_env * z) {
398 return ((SN_local *)z)->i_p1 <= z->c;
399}
400
401static int r_R2(struct SN_env * z) {
402 return ((SN_local *)z)->i_p2 <= z->c;
403}
404
405static int r_V(struct SN_env * z) {
406 {
407 int v_1 = z->l - z->c;
408 do {
409 int v_2 = z->l - z->c;
410 if (in_grouping_b_U(z, g_v, 97, 252, 0)) goto lab0;
411 break;
412 lab0:
413 z->c = z->l - v_2;
414 if (!(eq_s_b(z, 2, s_0))) return 0;
415 } while (0);
416 z->c = z->l - v_1;
417 }
418 return 1;
419}
420
421static int r_VX(struct SN_env * z) {
422 {
423 int v_1 = z->l - z->c;
424 {
425 int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
426 if (ret < 0) return 0;
427 z->c = ret;
428 }
429 do {
430 int v_2 = z->l - z->c;
431 if (in_grouping_b_U(z, g_v, 97, 252, 0)) goto lab0;
432 break;
433 lab0:
434 z->c = z->l - v_2;
435 if (!(eq_s_b(z, 2, s_1))) return 0;
436 } while (0);
437 z->c = z->l - v_1;
438 }
439 return 1;
440}
441
442static int r_C(struct SN_env * z) {
443 {
444 int v_1 = z->l - z->c;
445 {
446 int v_2 = z->l - z->c;
447 if (!(eq_s_b(z, 2, s_2))) goto lab0;
448 return 0;
449 lab0:
450 z->c = z->l - v_2;
451 }
452 if (out_grouping_b_U(z, g_v, 97, 252, 0)) return 0;
453 z->c = z->l - v_1;
454 }
455 return 1;
456}
457
458static int r_lengthen_V(struct SN_env * z) {
459 int among_var;
460 {
461 int v_1 = z->l - z->c;
462 if (out_grouping_b_U(z, g_v_WX, 97, 252, 0)) goto lab0;
463 z->ket = z->c;
464 among_var = find_among_b(z, a_0, 21, 0);
465 if (!among_var) goto lab0;
466 z->bra = z->c;
467 switch (among_var) {
468 case 1:
469 {
470 int v_2 = z->l - z->c;
471 do {
472 int v_3 = z->l - z->c;
473 if (out_grouping_b_U(z, g_AEIOU, 97, 252, 0)) goto lab1;
474 break;
475 lab1:
476 z->c = z->l - v_3;
477 if (z->c > z->lb) goto lab0;
478 } while (0);
479 z->c = z->l - v_2;
480 }
481 {
482 int ret = slice_to(z, &((SN_local *)z)->s_ch);
483 if (ret < 0) return ret;
484 }
485 {
486 int saved_c = z->c;
487 int ret = insert_v(z, z->c, z->c, ((SN_local *)z)->s_ch);
488 z->c = saved_c;
489 if (ret < 0) return ret;
490 }
491 break;
492 case 2:
493 {
494 int v_4 = z->l - z->c;
495 do {
496 int v_5 = z->l - z->c;
497 if (out_grouping_b_U(z, g_AEIOU, 97, 252, 0)) goto lab2;
498 break;
499 lab2:
500 z->c = z->l - v_5;
501 if (z->c > z->lb) goto lab0;
502 } while (0);
503 {
504 int v_6 = z->l - z->c;
505 do {
506 int v_7 = z->l - z->c;
507 if (in_grouping_b_U(z, g_AIOU, 97, 252, 0)) goto lab4;
508 break;
509 lab4:
510 z->c = z->l - v_7;
511 if (in_grouping_b_U(z, g_E, 101, 235, 0)) goto lab3;
512 if (z->c > z->lb) goto lab3;
513 } while (0);
514 goto lab0;
515 lab3:
516 z->c = z->l - v_6;
517 }
518 {
519 int v_8 = z->l - z->c;
520 {
521 int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
522 if (ret < 0) goto lab5;
523 z->c = ret;
524 }
525 if (in_grouping_b_U(z, g_AIOU, 97, 252, 0)) goto lab5;
526 if (out_grouping_b_U(z, g_AEIOU, 97, 252, 0)) goto lab5;
527 goto lab0;
528 lab5:
529 z->c = z->l - v_8;
530 }
531 z->c = z->l - v_4;
532 }
533 {
534 int ret = slice_to(z, &((SN_local *)z)->s_ch);
535 if (ret < 0) return ret;
536 }
537 {
538 int saved_c = z->c;
539 int ret = insert_v(z, z->c, z->c, ((SN_local *)z)->s_ch);
540 z->c = saved_c;
541 if (ret < 0) return ret;
542 }
543 break;
544 case 3:
545 {
546 int ret = slice_from_s(z, 4, s_3);
547 if (ret < 0) return ret;
548 }
549 break;
550 case 4:
551 {
552 int ret = slice_from_s(z, 3, s_4);
553 if (ret < 0) return ret;
554 }
555 break;
556 }
557 lab0:
558 z->c = z->l - v_1;
559 }
560 return 1;
561}
562
563static int r_Step_1(struct SN_env * z) {
564 int among_var;
565 z->ket = z->c;
566 if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((540704 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
567 among_var = find_among_b(z, a_1, 8, 0);
568 if (!among_var) return 0;
569 z->bra = z->c;
570 switch (among_var) {
571 case 1:
572 {
573 int ret = slice_del(z);
574 if (ret < 0) return ret;
575 }
576 break;
577 case 2:
578 {
579 int ret = r_R1(z);
580 if (ret <= 0) return ret;
581 }
582 {
583 int v_1 = z->l - z->c;
584 if (z->c <= z->lb || z->p[z->c - 1] != 't') goto lab0;
585 z->c--;
586 {
587 int ret = r_R1(z);
588 if (ret == 0) goto lab0;
589 if (ret < 0) return ret;
590 }
591 return 0;
592 lab0:
593 z->c = z->l - v_1;
594 }
595 {
596 int ret = r_C(z);
597 if (ret <= 0) return ret;
598 }
599 {
600 int ret = slice_del(z);
601 if (ret < 0) return ret;
602 }
603 break;
604 case 3:
605 {
606 int ret = r_R1(z);
607 if (ret <= 0) return ret;
608 }
609 {
610 int ret = slice_from_s(z, 2, s_5);
611 if (ret < 0) return ret;
612 }
613 break;
614 case 4:
615 do {
616 int v_2 = z->l - z->c;
617 {
618 int v_3 = z->l - z->c;
619 if (!(eq_s_b(z, 2, s_6))) goto lab1;
620 {
621 int ret = r_R1(z);
622 if (ret == 0) goto lab1;
623 if (ret < 0) return ret;
624 }
625 {
626 int ret = r_C(z);
627 if (ret == 0) goto lab1;
628 if (ret < 0) return ret;
629 }
630 z->c = z->l - v_3;
631 }
632 {
633 int ret = slice_del(z);
634 if (ret < 0) return ret;
635 }
636 {
637 int ret = r_lengthen_V(z);
638 if (ret < 0) return ret;
639 }
640 break;
641 lab1:
642 z->c = z->l - v_2;
643 {
644 int v_4 = z->l - z->c;
645 if (!(eq_s_b(z, 2, s_7))) goto lab2;
646 {
647 int ret = r_R1(z);
648 if (ret == 0) goto lab2;
649 if (ret < 0) return ret;
650 }
651 {
652 int ret = r_C(z);
653 if (ret == 0) goto lab2;
654 if (ret < 0) return ret;
655 }
656 z->c = z->l - v_4;
657 }
658 {
659 int ret = slice_del(z);
660 if (ret < 0) return ret;
661 }
662 break;
663 lab2:
664 z->c = z->l - v_2;
665 {
666 int ret = r_R1(z);
667 if (ret <= 0) return ret;
668 }
669 {
670 int ret = r_C(z);
671 if (ret <= 0) return ret;
672 }
673 {
674 int ret = slice_from_s(z, 1, s_8);
675 if (ret < 0) return ret;
676 }
677 } while (0);
678 break;
679 case 5:
680 {
681 int ret = r_R1(z);
682 if (ret <= 0) return ret;
683 }
684 {
685 int ret = slice_from_s(z, 2, s_9);
686 if (ret < 0) return ret;
687 }
688 break;
689 case 6:
690 {
691 int ret = r_R1(z);
692 if (ret <= 0) return ret;
693 }
694 {
695 int ret = r_V(z);
696 if (ret <= 0) return ret;
697 }
698 {
699 int ret = slice_from_s(z, 2, s_10);
700 if (ret < 0) return ret;
701 }
702 break;
703 case 7:
704 do {
705 int v_5 = z->l - z->c;
706 if (!(eq_s_b(z, 3, s_11))) goto lab3;
707 {
708 int ret = r_R1(z);
709 if (ret == 0) goto lab3;
710 if (ret < 0) return ret;
711 }
712 z->bra = z->c;
713 {
714 int ret = slice_from_s(z, 4, s_12);
715 if (ret < 0) return ret;
716 }
717 break;
718 lab3:
719 z->c = z->l - v_5;
720 if (!(eq_s_b(z, 2, s_13))) goto lab4;
721 {
722 int ret = slice_del(z);
723 if (ret < 0) return ret;
724 }
725 break;
726 lab4:
727 z->c = z->l - v_5;
728 if (z->c <= z->lb || z->p[z->c - 1] != 'd') goto lab5;
729 z->c--;
730 {
731 int ret = r_R1(z);
732 if (ret == 0) goto lab5;
733 if (ret < 0) return ret;
734 }
735 {
736 int ret = r_C(z);
737 if (ret == 0) goto lab5;
738 if (ret < 0) return ret;
739 }
740 z->bra = z->c;
741 {
742 int ret = slice_del(z);
743 if (ret < 0) return ret;
744 }
745 break;
746 lab5:
747 z->c = z->l - v_5;
748 do {
749 int v_6 = z->l - z->c;
750 if (z->c <= z->lb || z->p[z->c - 1] != 'i') goto lab7;
751 z->c--;
752 break;
753 lab7:
754 z->c = z->l - v_6;
755 if (z->c <= z->lb || z->p[z->c - 1] != 'j') goto lab6;
756 z->c--;
757 } while (0);
758 {
759 int ret = r_V(z);
760 if (ret == 0) goto lab6;
761 if (ret < 0) return ret;
762 }
763 {
764 int ret = slice_del(z);
765 if (ret < 0) return ret;
766 }
767 break;
768 lab6:
769 z->c = z->l - v_5;
770 {
771 int ret = r_R1(z);
772 if (ret <= 0) return ret;
773 }
774 {
775 int ret = r_C(z);
776 if (ret <= 0) return ret;
777 }
778 {
779 int ret = slice_del(z);
780 if (ret < 0) return ret;
781 }
782 {
783 int ret = r_lengthen_V(z);
784 if (ret <= 0) return ret;
785 }
786 } while (0);
787 break;
788 case 8:
789 {
790 int ret = slice_from_s(z, 2, s_14);
791 if (ret < 0) return ret;
792 }
793 break;
794 }
795 return 1;
796}
797
798static int r_Step_2(struct SN_env * z) {
799 int among_var;
800 z->ket = z->c;
801 if (z->c - 1 <= z->lb || z->p[z->c - 1] != 101) return 0;
802 among_var = find_among_b(z, a_2, 11, 0);
803 if (!among_var) return 0;
804 z->bra = z->c;
805 switch (among_var) {
806 case 1:
807 do {
808 int v_1 = z->l - z->c;
809 if (!(eq_s_b(z, 2, s_15))) goto lab0;
810 z->bra = z->c;
811 {
812 int ret = slice_del(z);
813 if (ret < 0) return ret;
814 }
815 break;
816 lab0:
817 z->c = z->l - v_1;
818 if (!(eq_s_b(z, 2, s_16))) goto lab1;
819 z->bra = z->c;
820 {
821 int ret = r_R1(z);
822 if (ret == 0) goto lab1;
823 if (ret < 0) return ret;
824 }
825 {
826 int ret = r_C(z);
827 if (ret == 0) goto lab1;
828 if (ret < 0) return ret;
829 }
830 {
831 int ret = slice_del(z);
832 if (ret < 0) return ret;
833 }
834 break;
835 lab1:
836 z->c = z->l - v_1;
837 if (!(eq_s_b(z, 3, s_17))) goto lab2;
838 z->bra = z->c;
839 {
840 int ret = slice_from_s(z, 2, s_18);
841 if (ret < 0) return ret;
842 }
843 break;
844 lab2:
845 z->c = z->l - v_1;
846 if (z->c <= z->lb || z->p[z->c - 1] != 't') goto lab3;
847 z->c--;
848 z->bra = z->c;
849 {
850 int ret = r_R1(z);
851 if (ret == 0) goto lab3;
852 if (ret < 0) return ret;
853 }
854 {
855 int ret = r_VX(z);
856 if (ret == 0) goto lab3;
857 if (ret < 0) return ret;
858 }
859 {
860 int ret = slice_del(z);
861 if (ret < 0) return ret;
862 }
863 break;
864 lab3:
865 z->c = z->l - v_1;
866 if (!(eq_s_b(z, 3, s_19))) goto lab4;
867 z->bra = z->c;
868 {
869 int ret = slice_from_s(z, 3, s_20);
870 if (ret < 0) return ret;
871 }
872 break;
873 lab4:
874 z->c = z->l - v_1;
875 if (!(eq_s_b(z, 2, s_21))) goto lab5;
876 z->bra = z->c;
877 {
878 int ret = slice_from_s(z, 1, s_22);
879 if (ret < 0) return ret;
880 }
881 break;
882 lab5:
883 z->c = z->l - v_1;
884 if (z->c <= z->lb || z->p[z->c - 1] != '\'') goto lab6;
885 z->c--;
886 z->bra = z->c;
887 {
888 int ret = r_R1(z);
889 if (ret == 0) goto lab6;
890 if (ret < 0) return ret;
891 }
892 {
893 int ret = slice_del(z);
894 if (ret < 0) return ret;
895 }
896 break;
897 lab6:
898 z->c = z->l - v_1;
899 z->bra = z->c;
900 {
901 int ret = r_R1(z);
902 if (ret <= 0) return ret;
903 }
904 {
905 int ret = r_C(z);
906 if (ret <= 0) return ret;
907 }
908 {
909 int ret = slice_del(z);
910 if (ret < 0) return ret;
911 }
912 } while (0);
913 break;
914 case 2:
915 {
916 int ret = r_R1(z);
917 if (ret <= 0) return ret;
918 }
919 {
920 int ret = slice_from_s(z, 1, s_23);
921 if (ret < 0) return ret;
922 }
923 break;
924 case 3:
925 {
926 int ret = r_R1(z);
927 if (ret <= 0) return ret;
928 }
929 {
930 int ret = slice_from_s(z, 4, s_24);
931 if (ret < 0) return ret;
932 }
933 break;
934 case 4:
935 {
936 int ret = r_R1(z);
937 if (ret <= 0) return ret;
938 }
939 {
940 int ret = slice_from_s(z, 4, s_25);
941 if (ret < 0) return ret;
942 }
943 break;
944 case 5:
945 {
946 int ret = r_R1(z);
947 if (ret <= 0) return ret;
948 }
949 {
950 int ret = r_C(z);
951 if (ret <= 0) return ret;
952 }
953 {
954 int ret = slice_del(z);
955 if (ret < 0) return ret;
956 }
957 break;
958 case 6:
959 {
960 int ret = r_R1(z);
961 if (ret <= 0) return ret;
962 }
963 {
964 int ret = slice_from_s(z, 1, s_26);
965 if (ret < 0) return ret;
966 }
967 break;
968 case 7:
969 {
970 int ret = r_R1(z);
971 if (ret <= 0) return ret;
972 }
973 {
974 int ret = slice_from_s(z, 1, s_27);
975 if (ret < 0) return ret;
976 }
977 break;
978 case 8:
979 {
980 int ret = r_R1(z);
981 if (ret <= 0) return ret;
982 }
983 {
984 int ret = slice_from_s(z, 1, s_28);
985 if (ret < 0) return ret;
986 }
987 break;
988 case 9:
989 {
990 int ret = r_R1(z);
991 if (ret <= 0) return ret;
992 }
993 {
994 int ret = slice_del(z);
995 if (ret < 0) return ret;
996 }
997 {
998 int ret = insert_s(z, z->c, z->c, 1, s_29);
999 if (ret < 0) return ret;
1000 }
1001 {
1002 int ret = r_lengthen_V(z);
1003 if (ret <= 0) return ret;
1004 }
1005 break;
1006 case 10:
1007 {
1008 int ret = r_R1(z);
1009 if (ret <= 0) return ret;
1010 }
1011 {
1012 int ret = r_C(z);
1013 if (ret <= 0) return ret;
1014 }
1015 {
1016 int ret = slice_del(z);
1017 if (ret < 0) return ret;
1018 }
1019 {
1020 int ret = insert_s(z, z->c, z->c, 2, s_30);
1021 if (ret < 0) return ret;
1022 }
1023 {
1024 int ret = r_lengthen_V(z);
1025 if (ret <= 0) return ret;
1026 }
1027 break;
1028 case 11:
1029 {
1030 int ret = r_R1(z);
1031 if (ret <= 0) return ret;
1032 }
1033 {
1034 int ret = r_C(z);
1035 if (ret <= 0) return ret;
1036 }
1037 {
1038 int ret = slice_from_s(z, 3, s_31);
1039 if (ret < 0) return ret;
1040 }
1041 break;
1042 }
1043 return 1;
1044}
1045
1046static int r_Step_3(struct SN_env * z) {
1047 int among_var;
1048 z->ket = z->c;
1049 if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1316016 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
1050 among_var = find_among_b(z, a_3, 14, 0);
1051 if (!among_var) return 0;
1052 z->bra = z->c;
1053 switch (among_var) {
1054 case 1:
1055 {
1056 int ret = r_R1(z);
1057 if (ret <= 0) return ret;
1058 }
1059 {
1060 int ret = slice_from_s(z, 3, s_32);
1061 if (ret < 0) return ret;
1062 }
1063 break;
1064 case 2:
1065 {
1066 int ret = r_R1(z);
1067 if (ret <= 0) return ret;
1068 }
1069 {
1070 int ret = slice_del(z);
1071 if (ret < 0) return ret;
1072 }
1073 {
1074 int ret = r_lengthen_V(z);
1075 if (ret <= 0) return ret;
1076 }
1077 break;
1078 case 3:
1079 {
1080 int ret = r_R1(z);
1081 if (ret <= 0) return ret;
1082 }
1083 {
1084 int ret = slice_del(z);
1085 if (ret < 0) return ret;
1086 }
1087 break;
1088 case 4:
1089 {
1090 int ret = slice_from_s(z, 1, s_33);
1091 if (ret < 0) return ret;
1092 }
1093 break;
1094 case 5:
1095 do {
1096 int v_1 = z->l - z->c;
1097 if (!(eq_s_b(z, 3, s_34))) goto lab0;
1098 {
1099 int ret = slice_from_s(z, 2, s_35);
1100 if (ret < 0) return ret;
1101 }
1102 break;
1103 lab0:
1104 z->c = z->l - v_1;
1105 {
1106 int ret = r_R1(z);
1107 if (ret <= 0) return ret;
1108 }
1109 {
1110 int ret = slice_del(z);
1111 if (ret < 0) return ret;
1112 }
1113 {
1114 int ret = r_lengthen_V(z);
1115 if (ret <= 0) return ret;
1116 }
1117 } while (0);
1118 break;
1119 case 6:
1120 {
1121 int ret = r_R1(z);
1122 if (ret <= 0) return ret;
1123 }
1124 {
1125 int ret = r_C(z);
1126 if (ret <= 0) return ret;
1127 }
1128 {
1129 int ret = slice_from_s(z, 3, s_36);
1130 if (ret < 0) return ret;
1131 }
1132 break;
1133 case 7:
1134 {
1135 int ret = r_R2(z);
1136 if (ret <= 0) return ret;
1137 }
1138 {
1139 int ret = slice_del(z);
1140 if (ret < 0) return ret;
1141 }
1142 {
1143 int ret = insert_s(z, z->c, z->c, 1, s_37);
1144 if (ret < 0) return ret;
1145 }
1146 {
1147 int ret = r_lengthen_V(z);
1148 if (ret <= 0) return ret;
1149 }
1150 break;
1151 case 8:
1152 {
1153 int ret = r_R2(z);
1154 if (ret <= 0) return ret;
1155 }
1156 {
1157 int ret = slice_del(z);
1158 if (ret < 0) return ret;
1159 }
1160 {
1161 int ret = insert_s(z, z->c, z->c, 1, s_38);
1162 if (ret < 0) return ret;
1163 }
1164 {
1165 int ret = r_lengthen_V(z);
1166 if (ret <= 0) return ret;
1167 }
1168 break;
1169 case 9:
1170 {
1171 int ret = r_R1(z);
1172 if (ret <= 0) return ret;
1173 }
1174 {
1175 int ret = r_C(z);
1176 if (ret <= 0) return ret;
1177 }
1178 {
1179 int ret = slice_from_s(z, 1, s_39);
1180 if (ret < 0) return ret;
1181 }
1182 break;
1183 case 10:
1184 {
1185 int ret = r_R1(z);
1186 if (ret <= 0) return ret;
1187 }
1188 {
1189 int ret = r_C(z);
1190 if (ret <= 0) return ret;
1191 }
1192 {
1193 int ret = slice_from_s(z, 1, s_40);
1194 if (ret < 0) return ret;
1195 }
1196 break;
1197 }
1198 return 1;
1199}
1200
1201static int r_Step_4(struct SN_env * z) {
1202 int among_var;
1203 do {
1204 int v_1 = z->l - z->c;
1205 z->ket = z->c;
1206 if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1315024 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab0;
1207 among_var = find_among_b(z, a_4, 16, 0);
1208 if (!among_var) goto lab0;
1209 z->bra = z->c;
1210 switch (among_var) {
1211 case 1:
1212 {
1213 int ret = r_R1(z);
1214 if (ret == 0) goto lab0;
1215 if (ret < 0) return ret;
1216 }
1217 {
1218 int ret = slice_from_s(z, 2, s_41);
1219 if (ret < 0) return ret;
1220 }
1221 break;
1222 case 2:
1223 {
1224 int ret = r_R1(z);
1225 if (ret == 0) goto lab0;
1226 if (ret < 0) return ret;
1227 }
1228 {
1229 int ret = slice_from_s(z, 3, s_42);
1230 if (ret < 0) return ret;
1231 }
1232 break;
1233 case 3:
1234 {
1235 int ret = r_R1(z);
1236 if (ret == 0) goto lab0;
1237 if (ret < 0) return ret;
1238 }
1239 {
1240 int ret = slice_del(z);
1241 if (ret < 0) return ret;
1242 }
1243 break;
1244 case 4:
1245 {
1246 int ret = r_R1(z);
1247 if (ret == 0) goto lab0;
1248 if (ret < 0) return ret;
1249 }
1250 {
1251 int ret = r_V(z);
1252 if (ret == 0) goto lab0;
1253 if (ret < 0) return ret;
1254 }
1255 {
1256 int ret = slice_from_s(z, 1, s_43);
1257 if (ret < 0) return ret;
1258 }
1259 break;
1260 case 5:
1261 {
1262 int ret = r_R1(z);
1263 if (ret == 0) goto lab0;
1264 if (ret < 0) return ret;
1265 }
1266 {
1267 int ret = r_V(z);
1268 if (ret == 0) goto lab0;
1269 if (ret < 0) return ret;
1270 }
1271 {
1272 int ret = slice_from_s(z, 1, s_44);
1273 if (ret < 0) return ret;
1274 }
1275 break;
1276 case 6:
1277 {
1278 int ret = r_R1(z);
1279 if (ret == 0) goto lab0;
1280 if (ret < 0) return ret;
1281 }
1282 {
1283 int ret = r_V(z);
1284 if (ret == 0) goto lab0;
1285 if (ret < 0) return ret;
1286 }
1287 {
1288 int ret = slice_from_s(z, 1, s_45);
1289 if (ret < 0) return ret;
1290 }
1291 break;
1292 case 7:
1293 {
1294 int ret = r_R1(z);
1295 if (ret == 0) goto lab0;
1296 if (ret < 0) return ret;
1297 }
1298 {
1299 int ret = slice_from_s(z, 4, s_46);
1300 if (ret < 0) return ret;
1301 }
1302 break;
1303 case 8:
1304 {
1305 int ret = r_R1(z);
1306 if (ret == 0) goto lab0;
1307 if (ret < 0) return ret;
1308 }
1309 {
1310 int ret = slice_from_s(z, 4, s_47);
1311 if (ret < 0) return ret;
1312 }
1313 break;
1314 case 9:
1315 {
1316 int ret = r_R1(z);
1317 if (ret == 0) goto lab0;
1318 if (ret < 0) return ret;
1319 }
1320 {
1321 int ret = r_C(z);
1322 if (ret == 0) goto lab0;
1323 if (ret < 0) return ret;
1324 }
1325 {
1326 int ret = slice_del(z);
1327 if (ret < 0) return ret;
1328 }
1329 {
1330 int ret = r_lengthen_V(z);
1331 if (ret < 0) return ret;
1332 }
1333 break;
1334 }
1335 break;
1336 lab0:
1337 z->c = z->l - v_1;
1338 z->ket = z->c;
1339 if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1310848 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
1340 if (!find_among_b(z, a_5, 3, 0)) return 0;
1341 z->bra = z->c;
1342 {
1343 int ret = r_R1(z);
1344 if (ret <= 0) return ret;
1345 }
1346 {
1347 int v_2 = z->l - z->c;
1348 if (!(eq_s_b(z, 3, s_48))) goto lab1;
1349 if (z->c > z->lb) goto lab1;
1350 return 0;
1351 lab1:
1352 z->c = z->l - v_2;
1353 }
1354 {
1355 int ret = r_C(z);
1356 if (ret <= 0) return ret;
1357 }
1358 {
1359 int ret = slice_del(z);
1360 if (ret < 0) return ret;
1361 }
1362 {
1363 int ret = r_lengthen_V(z);
1364 if (ret <= 0) return ret;
1365 }
1366 } while (0);
1367 return 1;
1368}
1369
1370static int r_Step_7(struct SN_env * z) {
1371 int among_var;
1372 z->ket = z->c;
1373 if (z->c - 1 <= z->lb || z->p[z->c - 1] != 116) return 0;
1374 among_var = find_among_b(z, a_6, 3, 0);
1375 if (!among_var) return 0;
1376 z->bra = z->c;
1377 switch (among_var) {
1378 case 1:
1379 {
1380 int ret = slice_from_s(z, 1, s_49);
1381 if (ret < 0) return ret;
1382 }
1383 break;
1384 case 2:
1385 {
1386 int ret = slice_from_s(z, 1, s_50);
1387 if (ret < 0) return ret;
1388 }
1389 break;
1390 case 3:
1391 {
1392 int ret = slice_from_s(z, 1, s_51);
1393 if (ret < 0) return ret;
1394 }
1395 break;
1396 }
1397 return 1;
1398}
1399
1400static int r_Step_6(struct SN_env * z) {
1401 int among_var;
1402 z->ket = z->c;
1403 if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((98532828 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
1404 among_var = find_among_b(z, a_7, 22, 0);
1405 if (!among_var) return 0;
1406 z->bra = z->c;
1407 switch (among_var) {
1408 case 1:
1409 {
1410 int ret = slice_from_s(z, 1, s_52);
1411 if (ret < 0) return ret;
1412 }
1413 break;
1414 case 2:
1415 {
1416 int ret = slice_from_s(z, 1, s_53);
1417 if (ret < 0) return ret;
1418 }
1419 break;
1420 case 3:
1421 {
1422 int ret = slice_from_s(z, 1, s_54);
1423 if (ret < 0) return ret;
1424 }
1425 break;
1426 case 4:
1427 {
1428 int ret = slice_from_s(z, 1, s_55);
1429 if (ret < 0) return ret;
1430 }
1431 break;
1432 case 5:
1433 {
1434 int ret = slice_from_s(z, 1, s_56);
1435 if (ret < 0) return ret;
1436 }
1437 break;
1438 case 6:
1439 {
1440 int ret = slice_from_s(z, 1, s_57);
1441 if (ret < 0) return ret;
1442 }
1443 break;
1444 case 7:
1445 {
1446 int ret = slice_from_s(z, 1, s_58);
1447 if (ret < 0) return ret;
1448 }
1449 break;
1450 case 8:
1451 {
1452 int ret = slice_from_s(z, 1, s_59);
1453 if (ret < 0) return ret;
1454 }
1455 break;
1456 case 9:
1457 {
1458 int ret = slice_from_s(z, 1, s_60);
1459 if (ret < 0) return ret;
1460 }
1461 break;
1462 case 10:
1463 {
1464 int ret = slice_from_s(z, 1, s_61);
1465 if (ret < 0) return ret;
1466 }
1467 break;
1468 case 11:
1469 {
1470 int v_1 = z->l - z->c;
1471 if (z->c <= z->lb || z->p[z->c - 1] != 'i') goto lab0;
1472 z->c--;
1473 if (z->c > z->lb) goto lab0;
1474 return 0;
1475 lab0:
1476 z->c = z->l - v_1;
1477 }
1478 {
1479 int ret = slice_from_s(z, 1, s_62);
1480 if (ret < 0) return ret;
1481 }
1482 break;
1483 case 12:
1484 {
1485 int ret = slice_from_s(z, 1, s_63);
1486 if (ret < 0) return ret;
1487 }
1488 break;
1489 case 13:
1490 {
1491 int ret = slice_from_s(z, 1, s_64);
1492 if (ret < 0) return ret;
1493 }
1494 break;
1495 case 14:
1496 {
1497 int ret = slice_from_s(z, 1, s_65);
1498 if (ret < 0) return ret;
1499 }
1500 break;
1501 case 15:
1502 {
1503 int ret = slice_from_s(z, 1, s_66);
1504 if (ret < 0) return ret;
1505 }
1506 break;
1507 case 16:
1508 {
1509 int ret = slice_from_s(z, 1, s_67);
1510 if (ret < 0) return ret;
1511 }
1512 break;
1513 case 17:
1514 {
1515 int ret = slice_from_s(z, 1, s_68);
1516 if (ret < 0) return ret;
1517 }
1518 break;
1519 case 18:
1520 {
1521 int ret = slice_from_s(z, 1, s_69);
1522 if (ret < 0) return ret;
1523 }
1524 break;
1525 case 19:
1526 {
1527 int ret = slice_from_s(z, 1, s_70);
1528 if (ret < 0) return ret;
1529 }
1530 break;
1531 case 20:
1532 {
1533 int ret = slice_from_s(z, 1, s_71);
1534 if (ret < 0) return ret;
1535 }
1536 break;
1537 }
1538 return 1;
1539}
1540
1541static int r_Step_1c(struct SN_env * z) {
1542 int among_var;
1543 z->ket = z->c;
1544 if (z->c <= z->lb || (z->p[z->c - 1] != 100 && z->p[z->c - 1] != 116)) return 0;
1545 among_var = find_among_b(z, a_8, 2, 0);
1546 if (!among_var) return 0;
1547 z->bra = z->c;
1548 {
1549 int ret = r_R1(z);
1550 if (ret <= 0) return ret;
1551 }
1552 {
1553 int ret = r_C(z);
1554 if (ret <= 0) return ret;
1555 }
1556 switch (among_var) {
1557 case 1:
1558 {
1559 int v_1 = z->l - z->c;
1560 if (z->c <= z->lb || z->p[z->c - 1] != 'n') goto lab0;
1561 z->c--;
1562 {
1563 int ret = r_R1(z);
1564 if (ret == 0) goto lab0;
1565 if (ret < 0) return ret;
1566 }
1567 return 0;
1568 lab0:
1569 z->c = z->l - v_1;
1570 }
1571 do {
1572 int v_2 = z->l - z->c;
1573 if (!(eq_s_b(z, 2, s_72))) goto lab1;
1574 if (z->c > z->lb) goto lab1;
1575 {
1576 int ret = slice_from_s(z, 1, s_73);
1577 if (ret < 0) return ret;
1578 }
1579 break;
1580 lab1:
1581 z->c = z->l - v_2;
1582 {
1583 int ret = slice_del(z);
1584 if (ret < 0) return ret;
1585 }
1586 } while (0);
1587 break;
1588 case 2:
1589 {
1590 int v_3 = z->l - z->c;
1591 if (z->c <= z->lb || z->p[z->c - 1] != 'h') goto lab2;
1592 z->c--;
1593 {
1594 int ret = r_R1(z);
1595 if (ret == 0) goto lab2;
1596 if (ret < 0) return ret;
1597 }
1598 return 0;
1599 lab2:
1600 z->c = z->l - v_3;
1601 }
1602 {
1603 int v_4 = z->l - z->c;
1604 if (!(eq_s_b(z, 2, s_74))) goto lab3;
1605 if (z->c > z->lb) goto lab3;
1606 return 0;
1607 lab3:
1608 z->c = z->l - v_4;
1609 }
1610 {
1611 int ret = slice_del(z);
1612 if (ret < 0) return ret;
1613 }
1614 break;
1615 }
1616 return 1;
1617}
1618
1619static int r_Lose_prefix(struct SN_env * z) {
1620 int among_var;
1621 z->bra = z->c;
1622 if (!(eq_s(z, 2, s_75))) return 0;
1623 z->ket = z->c;
1624 {
1625 int v_1 = z->c;
1626 {
1627 int ret = skip_utf8(z->p, z->c, z->l, 3);
1628 if (ret < 0) return 0;
1629 z->c = ret;
1630 }
1631 z->c = v_1;
1632 }
1633 {
1634 int v_2 = z->c;
1635 while (1) {
1636 int v_3 = z->c;
1637 do {
1638 int v_4 = z->c;
1639 if (!(eq_s(z, 2, s_76))) goto lab1;
1640 break;
1641 lab1:
1642 z->c = v_4;
1643 if (in_grouping_U(z, g_v, 97, 252, 0)) goto lab0;
1644 } while (0);
1645 break;
1646 lab0:
1647 z->c = v_3;
1648 {
1649 int ret = skip_utf8(z->p, z->c, z->l, 1);
1650 if (ret < 0) return 0;
1651 z->c = ret;
1652 }
1653 }
1654 while (1) {
1655 int v_5 = z->c;
1656 do {
1657 int v_6 = z->c;
1658 if (!(eq_s(z, 2, s_77))) goto lab3;
1659 break;
1660 lab3:
1661 z->c = v_6;
1662 if (in_grouping_U(z, g_v, 97, 252, 0)) goto lab2;
1663 } while (0);
1664 continue;
1665 lab2:
1666 z->c = v_5;
1667 break;
1668 }
1669 if (z->c < z->l) goto lab4;
1670 return 0;
1671 lab4:
1672 z->c = v_2;
1673 }
1674 if (z->c + 2 >= z->l || z->p[z->c + 2] >> 5 != 3 || !((1314818 >> (z->p[z->c + 2] & 0x1f)) & 1)) among_var = -1; else
1675 among_var = find_among(z, a_9, 6, 0);
1676 switch (among_var) {
1677 case 1:
1678 return 0;
1679 break;
1680 }
1681 ((SN_local *)z)->b_GE_removed = 1;
1682 {
1683 int ret = slice_del(z);
1684 if (ret < 0) return ret;
1685 }
1686 {
1687 int v_7 = z->c;
1688 z->bra = z->c;
1689 if (z->c + 1 >= z->l || (z->p[z->c + 1] != 171 && z->p[z->c + 1] != 175)) goto lab5;
1690 among_var = find_among(z, a_10, 2, 0);
1691 if (!among_var) goto lab5;
1692 z->ket = z->c;
1693 switch (among_var) {
1694 case 1:
1695 {
1696 int ret = slice_from_s(z, 1, s_78);
1697 if (ret < 0) return ret;
1698 }
1699 break;
1700 case 2:
1701 {
1702 int ret = slice_from_s(z, 1, s_79);
1703 if (ret < 0) return ret;
1704 }
1705 break;
1706 }
1707 lab5:
1708 z->c = v_7;
1709 }
1710 return 1;
1711}
1712
1713static int r_Lose_infix(struct SN_env * z) {
1714 int among_var;
1715 {
1716 int ret = skip_utf8(z->p, z->c, z->l, 1);
1717 if (ret < 0) return 0;
1718 z->c = ret;
1719 }
1720 while (1) {
1721 z->bra = z->c;
1722 if (!(eq_s(z, 2, s_80))) goto lab0;
1723 z->ket = z->c;
1724 break;
1725 lab0:
1726 {
1727 int ret = skip_utf8(z->p, z->c, z->l, 1);
1728 if (ret < 0) return 0;
1729 z->c = ret;
1730 }
1731 }
1732 {
1733 int v_1 = z->c;
1734 {
1735 int ret = skip_utf8(z->p, z->c, z->l, 3);
1736 if (ret < 0) return 0;
1737 z->c = ret;
1738 }
1739 z->c = v_1;
1740 }
1741 {
1742 int v_2 = z->c;
1743 while (1) {
1744 int v_3 = z->c;
1745 do {
1746 int v_4 = z->c;
1747 if (!(eq_s(z, 2, s_81))) goto lab2;
1748 break;
1749 lab2:
1750 z->c = v_4;
1751 if (in_grouping_U(z, g_v, 97, 252, 0)) goto lab1;
1752 } while (0);
1753 break;
1754 lab1:
1755 z->c = v_3;
1756 {
1757 int ret = skip_utf8(z->p, z->c, z->l, 1);
1758 if (ret < 0) return 0;
1759 z->c = ret;
1760 }
1761 }
1762 while (1) {
1763 int v_5 = z->c;
1764 do {
1765 int v_6 = z->c;
1766 if (!(eq_s(z, 2, s_82))) goto lab4;
1767 break;
1768 lab4:
1769 z->c = v_6;
1770 if (in_grouping_U(z, g_v, 97, 252, 0)) goto lab3;
1771 } while (0);
1772 continue;
1773 lab3:
1774 z->c = v_5;
1775 break;
1776 }
1777 if (z->c < z->l) goto lab5;
1778 return 0;
1779 lab5:
1780 z->c = v_2;
1781 }
1782 ((SN_local *)z)->b_GE_removed = 1;
1783 {
1784 int ret = slice_del(z);
1785 if (ret < 0) return ret;
1786 }
1787 {
1788 int v_7 = z->c;
1789 z->bra = z->c;
1790 if (z->c + 1 >= z->l || (z->p[z->c + 1] != 171 && z->p[z->c + 1] != 175)) goto lab6;
1791 among_var = find_among(z, a_11, 2, 0);
1792 if (!among_var) goto lab6;
1793 z->ket = z->c;
1794 switch (among_var) {
1795 case 1:
1796 {
1797 int ret = slice_from_s(z, 1, s_83);
1798 if (ret < 0) return ret;
1799 }
1800 break;
1801 case 2:
1802 {
1803 int ret = slice_from_s(z, 1, s_84);
1804 if (ret < 0) return ret;
1805 }
1806 break;
1807 }
1808 lab6:
1809 z->c = v_7;
1810 }
1811 return 1;
1812}
1813
1814static int r_measure(struct SN_env * z) {
1815 ((SN_local *)z)->i_p1 = z->l;
1816 ((SN_local *)z)->i_p2 = z->l;
1817 {
1818 int v_1 = z->c;
1819 while (1) {
1820 if (out_grouping_U(z, g_v, 97, 252, 0)) goto lab1;
1821 continue;
1822 lab1:
1823 break;
1824 }
1825 {
1826 int v_2 = 1;
1827 while (1) {
1828 int v_3 = z->c;
1829 do {
1830 int v_4 = z->c;
1831 if (!(eq_s(z, 2, s_85))) goto lab3;
1832 break;
1833 lab3:
1834 z->c = v_4;
1835 if (in_grouping_U(z, g_v, 97, 252, 0)) goto lab2;
1836 } while (0);
1837 v_2--;
1838 continue;
1839 lab2:
1840 z->c = v_3;
1841 break;
1842 }
1843 if (v_2 > 0) goto lab0;
1844 }
1845 if (out_grouping_U(z, g_v, 97, 252, 0)) goto lab0;
1846 ((SN_local *)z)->i_p1 = z->c;
1847 while (1) {
1848 if (out_grouping_U(z, g_v, 97, 252, 0)) goto lab4;
1849 continue;
1850 lab4:
1851 break;
1852 }
1853 {
1854 int v_5 = 1;
1855 while (1) {
1856 int v_6 = z->c;
1857 do {
1858 int v_7 = z->c;
1859 if (!(eq_s(z, 2, s_86))) goto lab6;
1860 break;
1861 lab6:
1862 z->c = v_7;
1863 if (in_grouping_U(z, g_v, 97, 252, 0)) goto lab5;
1864 } while (0);
1865 v_5--;
1866 continue;
1867 lab5:
1868 z->c = v_6;
1869 break;
1870 }
1871 if (v_5 > 0) goto lab0;
1872 }
1873 if (out_grouping_U(z, g_v, 97, 252, 0)) goto lab0;
1874 ((SN_local *)z)->i_p2 = z->c;
1875 lab0:
1876 z->c = v_1;
1877 }
1878 return 1;
1879}
1880
1881extern int dutch_UTF_8_stem(struct SN_env * z) {
1882 int b_stemmed;
1883 b_stemmed = 0;
1884 {
1885 int ret = r_measure(z);
1886 if (ret <= 0) return ret;
1887 }
1888 z->lb = z->c; z->c = z->l;
1889 {
1890 int v_1 = z->l - z->c;
1891 {
1892 int ret = r_Step_1(z);
1893 if (ret == 0) goto lab0;
1894 if (ret < 0) return ret;
1895 }
1896 b_stemmed = 1;
1897 lab0:
1898 z->c = z->l - v_1;
1899 }
1900 {
1901 int v_2 = z->l - z->c;
1902 {
1903 int ret = r_Step_2(z);
1904 if (ret == 0) goto lab1;
1905 if (ret < 0) return ret;
1906 }
1907 b_stemmed = 1;
1908 lab1:
1909 z->c = z->l - v_2;
1910 }
1911 {
1912 int v_3 = z->l - z->c;
1913 {
1914 int ret = r_Step_3(z);
1915 if (ret == 0) goto lab2;
1916 if (ret < 0) return ret;
1917 }
1918 b_stemmed = 1;
1919 lab2:
1920 z->c = z->l - v_3;
1921 }
1922 {
1923 int v_4 = z->l - z->c;
1924 {
1925 int ret = r_Step_4(z);
1926 if (ret == 0) goto lab3;
1927 if (ret < 0) return ret;
1928 }
1929 b_stemmed = 1;
1930 lab3:
1931 z->c = z->l - v_4;
1932 }
1933 z->c = z->lb;
1934 ((SN_local *)z)->b_GE_removed = 0;
1935 {
1936 int v_5 = z->c;
1937 {
1938 int v_6 = z->c;
1939 {
1940 int ret = r_Lose_prefix(z);
1941 if (ret == 0) goto lab4;
1942 if (ret < 0) return ret;
1943 }
1944 z->c = v_6;
1945 {
1946 int ret = r_measure(z);
1947 if (ret < 0) return ret;
1948 }
1949 }
1950 lab4:
1951 z->c = v_5;
1952 }
1953 z->lb = z->c; z->c = z->l;
1954 {
1955 int v_7 = z->l - z->c;
1956 if (!((SN_local *)z)->b_GE_removed) goto lab5;
1957 b_stemmed = 1;
1958 {
1959 int ret = r_Step_1c(z);
1960 if (ret == 0) goto lab5;
1961 if (ret < 0) return ret;
1962 }
1963 lab5:
1964 z->c = z->l - v_7;
1965 }
1966 z->c = z->lb;
1967 ((SN_local *)z)->b_GE_removed = 0;
1968 {
1969 int v_8 = z->c;
1970 {
1971 int v_9 = z->c;
1972 {
1973 int ret = r_Lose_infix(z);
1974 if (ret == 0) goto lab6;
1975 if (ret < 0) return ret;
1976 }
1977 z->c = v_9;
1978 {
1979 int ret = r_measure(z);
1980 if (ret < 0) return ret;
1981 }
1982 }
1983 lab6:
1984 z->c = v_8;
1985 }
1986 z->lb = z->c; z->c = z->l;
1987 {
1988 int v_10 = z->l - z->c;
1989 if (!((SN_local *)z)->b_GE_removed) goto lab7;
1990 b_stemmed = 1;
1991 {
1992 int ret = r_Step_1c(z);
1993 if (ret == 0) goto lab7;
1994 if (ret < 0) return ret;
1995 }
1996 lab7:
1997 z->c = z->l - v_10;
1998 }
1999 z->c = z->lb;
2000 z->lb = z->c; z->c = z->l;
2001 {
2002 int v_11 = z->l - z->c;
2003 {
2004 int ret = r_Step_7(z);
2005 if (ret == 0) goto lab8;
2006 if (ret < 0) return ret;
2007 }
2008 b_stemmed = 1;
2009 lab8:
2010 z->c = z->l - v_11;
2011 }
2012 {
2013 int v_12 = z->l - z->c;
2014 if (!b_stemmed) goto lab9;
2015 {
2016 int ret = r_Step_6(z);
2017 if (ret == 0) goto lab9;
2018 if (ret < 0) return ret;
2019 }
2020 lab9:
2021 z->c = z->l - v_12;
2022 }
2023 z->c = z->lb;
2024 return 1;
2025}
2026
2027extern struct SN_env * dutch_UTF_8_create_env(void) {
2028 struct SN_env * z = SN_new_env(sizeof(SN_local));
2029 if (z) {
2030 ((SN_local *)z)->b_GE_removed = 0;
2031 ((SN_local *)z)->i_p2 = 0;
2032 ((SN_local *)z)->i_p1 = 0;
2033 ((SN_local *)z)->s_ch = NULL;
2034
2035 if ((((SN_local *)z)->s_ch = create_s()) == NULL) {
2037 return NULL;
2038 }
2039 }
2040 return z;
2041}
2042
2043extern void dutch_UTF_8_close_env(struct SN_env * z) {
2044 if (z) {
2045 lose_s(((SN_local *)z)->s_ch);
2046 }
2047 SN_delete_env(z);
2048}
2049
void SN_delete_env(struct SN_env *z)
Definition: api.c:18
struct SN_env * SN_new_env(int alloc_size)
Definition: api.c:5
unsigned char symbol
Definition: api.h:4
static const symbol s_7_7[2]
static const symbol s_3_8[3]
static const symbol s_4_4[6]
static const symbol s_25[]
static const symbol s_2[]
static const struct among a_1[8]
static const symbol s_1_7[3]
static const symbol s_60[]
static const symbol s_0_4[2]
static const symbol s_55[]
static const symbol s_0_11[3]
static const symbol s_7_3[2]
void dutch_UTF_8_close_env(struct SN_env *z)
static const symbol s_7_11[2]
static const struct among a_6[3]
static const symbol s_52[]
static const symbol s_72[]
static const symbol s_4_7[4]
static const symbol s_11_1[2]
static const symbol s_2_5[2]
static const symbol s_0_5[2]
static const symbol s_4[]
static const symbol s_81[]
static const symbol s_48[]
static const symbol s_3_2[3]
static const symbol s_8_1[1]
static const symbol s_50[]
static const symbol s_61[]
static const symbol s_1_6[3]
static const symbol s_0_13[2]
static const symbol s_42[]
static const symbol s_65[]
static const symbol s_1_5[3]
static const symbol s_4_6[4]
static const symbol s_30[]
static const symbol s_2_9[2]
static const symbol s_38[]
static int r_Step_3(struct SN_env *z)
static const symbol s_0_8[2]
static const symbol s_7_16[1]
static const symbol s_68[]
static int r_VX(struct SN_env *z)
static const symbol s_75[]
static const symbol s_0_0[1]
static const symbol s_9_4[4]
static const symbol s_4_13[6]
static const symbol s_5_0[2]
static const symbol s_4_15[6]
static const symbol s_0_2[1]
static const symbol s_4_2[4]
static const symbol s_29[]
static int r_Lose_infix(struct SN_env *z)
static const struct among a_9[6]
static const symbol s_53[]
static const symbol s_82[]
static const symbol s_7_8[2]
static const symbol s_2_0[2]
int dutch_UTF_8_stem(struct SN_env *z)
static const symbol s_7_9[2]
static const symbol s_27[]
static const symbol s_1_3[2]
static const symbol s_0_12[3]
static const symbol s_4_9[6]
static const symbol s_3_0[4]
static const symbol s_7_5[2]
static const symbol s_51[]
static const symbol s_6[]
static const symbol s_0_15[2]
static const symbol s_21[]
static const symbol s_76[]
static const symbol s_3[]
static int r_Lose_prefix(struct SN_env *z)
static const symbol s_3_12[3]
static const symbol s_7_6[2]
static const struct among a_4[16]
static const symbol s_7_20[1]
static const symbol s_37[]
static const symbol s_0_17[2]
static const symbol s_7_12[2]
static const symbol s_0_7[2]
static const symbol s_86[]
static const symbol s_3_4[4]
static const symbol s_7_0[2]
static const symbol s_49[]
static const symbol s_3_9[4]
static const symbol s_0_16[2]
static int r_R2(struct SN_env *z)
static const symbol s_7[]
static const symbol s_59[]
static const symbol s_32[]
static const symbol s_47[]
static const symbol s_13[]
static const symbol s_2_4[5]
static int r_lengthen_V(struct SN_env *z)
static int r_Step_1(struct SN_env *z)
static const symbol s_84[]
static const symbol s_3_1[3]
static const symbol s_7_13[2]
static const symbol s_1_1[2]
static const symbol s_3_10[4]
static const symbol s_83[]
static const symbol s_20[]
static const struct among a_11[2]
static const symbol s_0_18[2]
static const symbol s_3_6[4]
static const symbol s_9_3[3]
static const symbol s_35[]
static const struct among a_10[2]
static const symbol s_70[]
static const symbol s_7_14[2]
static const symbol s_19[]
static const symbol s_23[]
static const symbol s_10_1[2]
static const symbol s_73[]
static const unsigned char g_v_WX[]
static const struct among a_0[21]
static const symbol s_71[]
static const symbol s_0_20[2]
static const symbol s_58[]
static const symbol s_3_11[5]
static const symbol s_24[]
static const symbol s_7_19[2]
static const symbol s_7_1[2]
static int r_Step_1c(struct SN_env *z)
static const symbol s_3_3[4]
static const symbol s_63[]
static const symbol s_6_2[2]
static const symbol s_80[]
static const symbol s_69[]
static const symbol s_7_21[2]
static const symbol s_9_2[3]
static int r_R1(struct SN_env *z)
static const symbol s_1_2[1]
static const symbol s_4_3[6]
static const symbol s_16[]
static const symbol s_14[]
static const symbol s_3_5[3]
static const struct among a_7[22]
static const symbol s_22[]
static const symbol s_4_14[8]
static const struct among a_5[3]
static const symbol s_4_12[4]
static const symbol s_7_2[2]
static const symbol s_45[]
static const symbol s_2_3[2]
static const symbol s_2_7[2]
static const symbol s_10[]
static const symbol s_5_2[4]
static const symbol s_7_15[2]
static const symbol s_1[]
static const symbol s_7_4[2]
static const symbol s_66[]
static const symbol s_2_10[4]
static const symbol s_4_5[4]
static const symbol s_39[]
static const struct among a_2[11]
static int r_measure(struct SN_env *z)
static const symbol s_77[]
static const symbol s_1_4[2]
static const symbol s_2_6[3]
static int r_V(struct SN_env *z)
static const symbol s_31[]
static const symbol s_9_5[4]
static const symbol s_74[]
static const unsigned char g_E[]
static const symbol s_0_14[2]
struct SN_env * dutch_UTF_8_create_env(void)
static const symbol s_11[]
static const symbol s_12[]
static const symbol s_6_1[2]
static const symbol s_36[]
static const symbol s_67[]
static const symbol s_1_0[3]
static const symbol s_0_3[1]
static const symbol s_0_6[2]
static const symbol s_0_1[1]
static const symbol s_79[]
static const symbol s_10_0[2]
static const symbol s_33[]
static const symbol s_57[]
static const symbol s_41[]
static int r_Step_4(struct SN_env *z)
static int r_Step_2(struct SN_env *z)
static const unsigned char g_AEIOU[]
static const symbol s_9_1[3]
static const symbol s_4_8[4]
static const symbol s_85[]
static const symbol s_64[]
static const symbol s_3_7[4]
static const symbol s_18[]
static const symbol s_17[]
static int r_C(struct SN_env *z)
static const symbol s_3_13[3]
static const symbol s_4_11[6]
static const symbol s_40[]
static const symbol s_44[]
static const symbol s_0_10[2]
static const symbol s_54[]
static const symbol s_2_8[2]
static const symbol s_43[]
static const symbol s_4_10[8]
static const symbol s_7_18[2]
static const symbol s_28[]
static const symbol s_46[]
static const symbol s_2_1[2]
static int r_Step_6(struct SN_env *z)
static const symbol s_62[]
static const unsigned char g_v[]
static const symbol s_7_10[2]
static const symbol s_56[]
static const symbol s_78[]
static const symbol s_6_0[2]
static const symbol s_8[]
static const symbol s_9[]
static const symbol s_0_9[2]
static const struct among a_3[14]
static const symbol s_4_1[5]
static int r_Step_7(struct SN_env *z)
static const symbol s_5[]
static const symbol s_8_0[1]
static const symbol s_15[]
static const symbol s_11_0[2]
static const symbol s_26[]
static const symbol s_0_19[2]
static const symbol s_4_0[3]
static const symbol s_2_2[5]
static const symbol s_5_1[4]
static const symbol s_7_17[2]
static const symbol s_0[]
static const unsigned char g_AIOU[]
static const struct among a_8[2]
static const symbol s_34[]
Definition: api.h:15
int lb
Definition: api.h:17
symbol * p
Definition: api.h:16
int ket
Definition: api.h:17
int c
Definition: api.h:17
int bra
Definition: api.h:17
int l
Definition: api.h:17
unsigned char b_GE_removed
struct SN_env z
int out_grouping_U(struct SN_env *z, const unsigned char *s, int min, int max, int repeat)
Definition: utilities.c:157
int in_grouping_U(struct SN_env *z, const unsigned char *s, int min, int max, int repeat)
Definition: utilities.c:133
SNOWBALL_ERR insert_s(struct SN_env *z, int bra, int ket, int s_size, const symbol *s)
Definition: utilities.c:464
SNOWBALL_ERR slice_from_s(struct SN_env *z, int s_size, const symbol *s)
Definition: utilities.c:432
SNOWBALL_ERR slice_to(struct SN_env *z, symbol **p)
Definition: utilities.c:478
int eq_s(struct SN_env *z, int s_size, const symbol *s)
Definition: utilities.c:231
SNOWBALL_ERR insert_v(struct SN_env *z, int bra, int ket, const symbol *p)
Definition: utilities.c:474
void lose_s(symbol *p)
Definition: utilities.c:31
int find_among_b(struct SN_env *z, const struct among *v, int v_size, int(*call_among_func)(struct SN_env *))
Definition: utilities.c:315
int in_grouping_b_U(struct SN_env *z, const unsigned char *s, int min, int max, int repeat)
Definition: utilities.c:145
int skip_b_utf8(const symbol *p, int c, int limit, int n)
Definition: utilities.c:68
int eq_s_b(struct SN_env *z, int s_size, const symbol *s)
Definition: utilities.c:236
SNOWBALL_ERR slice_del(struct SN_env *z)
Definition: utilities.c:443
int out_grouping_b_U(struct SN_env *z, const unsigned char *s, int min, int max, int repeat)
Definition: utilities.c:169
symbol * create_s(void)
Definition: utilities.c:20
int skip_utf8(const symbol *p, int c, int limit, int n)
Definition: utilities.c:43
int find_among(struct SN_env *z, const struct among *v, int v_size, int(*call_among_func)(struct SN_env *))
Definition: utilities.c:249