PostgreSQL Source Code git master
stem_UTF_8_romanian.c
Go to the documentation of this file.
1/* Generated from romanian.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
2
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 int i_pV;
15};
16
17typedef struct SN_local SN_local;
18
19#ifdef __cplusplus
20extern "C" {
21#endif
22extern int romanian_UTF_8_stem(struct SN_env * z);
23#ifdef __cplusplus
24}
25#endif
26
27static int r_vowel_suffix(struct SN_env * z);
28static int r_verb_suffix(struct SN_env * z);
29static int r_combo_suffix(struct SN_env * z);
30static int r_standard_suffix(struct SN_env * z);
31static int r_step_0(struct SN_env * z);
32static int r_R2(struct SN_env * z);
33static int r_R1(struct SN_env * z);
34static int r_RV(struct SN_env * z);
35static int r_mark_regions(struct SN_env * z);
36static int r_postlude(struct SN_env * z);
37static int r_prelude(struct SN_env * z);
38static int r_norm(struct SN_env * z);
39
40static const symbol s_0[] = { 0xC8, 0x99 };
41static const symbol s_1[] = { 0xC8, 0x9B };
42static const symbol s_2[] = { 'U' };
43static const symbol s_3[] = { 'I' };
44static const symbol s_4[] = { 'i' };
45static const symbol s_5[] = { 'u' };
46static const symbol s_6[] = { 'a' };
47static const symbol s_7[] = { 'e' };
48static const symbol s_8[] = { 'i' };
49static const symbol s_9[] = { 'a', 'b' };
50static const symbol s_10[] = { 'i' };
51static const symbol s_11[] = { 'a', 't' };
52static const symbol s_12[] = { 'a', 0xC8, 0x9B, 'i' };
53static const symbol s_13[] = { 'a', 'b', 'i', 'l' };
54static const symbol s_14[] = { 'i', 'b', 'i', 'l' };
55static const symbol s_15[] = { 'i', 'v' };
56static const symbol s_16[] = { 'i', 'c' };
57static const symbol s_17[] = { 'a', 't' };
58static const symbol s_18[] = { 'i', 't' };
59static const symbol s_19[] = { 0xC8, 0x9B };
60static const symbol s_20[] = { 't' };
61static const symbol s_21[] = { 'i', 's', 't' };
62
63static const symbol s_0_0[2] = { 0xC5, 0x9F };
64static const symbol s_0_1[2] = { 0xC5, 0xA3 };
65static const struct among a_0[2] = {
66{ 2, s_0_0, 0, 1, 0},
67{ 2, s_0_1, 0, 2, 0}
68};
69
70static const symbol s_1_1[1] = { 'I' };
71static const symbol s_1_2[1] = { 'U' };
72static const struct among a_1[3] = {
73{ 0, 0, 0, 3, 0},
74{ 1, s_1_1, -1, 1, 0},
75{ 1, s_1_2, -2, 2, 0}
76};
77
78static const symbol s_2_0[2] = { 'e', 'a' };
79static const symbol s_2_1[5] = { 'a', 0xC8, 0x9B, 'i', 'a' };
80static const symbol s_2_2[3] = { 'a', 'u', 'a' };
81static const symbol s_2_3[3] = { 'i', 'u', 'a' };
82static const symbol s_2_4[5] = { 'a', 0xC8, 0x9B, 'i', 'e' };
83static const symbol s_2_5[3] = { 'e', 'l', 'e' };
84static const symbol s_2_6[3] = { 'i', 'l', 'e' };
85static const symbol s_2_7[4] = { 'i', 'i', 'l', 'e' };
86static const symbol s_2_8[3] = { 'i', 'e', 'i' };
87static const symbol s_2_9[4] = { 'a', 't', 'e', 'i' };
88static const symbol s_2_10[2] = { 'i', 'i' };
89static const symbol s_2_11[4] = { 'u', 'l', 'u', 'i' };
90static const symbol s_2_12[2] = { 'u', 'l' };
91static const symbol s_2_13[4] = { 'e', 'l', 'o', 'r' };
92static const symbol s_2_14[4] = { 'i', 'l', 'o', 'r' };
93static const symbol s_2_15[5] = { 'i', 'i', 'l', 'o', 'r' };
94static const struct among a_2[16] = {
95{ 2, s_2_0, 0, 3, 0},
96{ 5, s_2_1, 0, 7, 0},
97{ 3, s_2_2, 0, 2, 0},
98{ 3, s_2_3, 0, 4, 0},
99{ 5, s_2_4, 0, 7, 0},
100{ 3, s_2_5, 0, 3, 0},
101{ 3, s_2_6, 0, 5, 0},
102{ 4, s_2_7, -1, 4, 0},
103{ 3, s_2_8, 0, 4, 0},
104{ 4, s_2_9, 0, 6, 0},
105{ 2, s_2_10, 0, 4, 0},
106{ 4, s_2_11, 0, 1, 0},
107{ 2, s_2_12, 0, 1, 0},
108{ 4, s_2_13, 0, 3, 0},
109{ 4, s_2_14, 0, 4, 0},
110{ 5, s_2_15, -1, 4, 0}
111};
112
113static const symbol s_3_0[5] = { 'i', 'c', 'a', 'l', 'a' };
114static const symbol s_3_1[5] = { 'i', 'c', 'i', 'v', 'a' };
115static const symbol s_3_2[5] = { 'a', 't', 'i', 'v', 'a' };
116static const symbol s_3_3[5] = { 'i', 't', 'i', 'v', 'a' };
117static const symbol s_3_4[5] = { 'i', 'c', 'a', 'l', 'e' };
118static const symbol s_3_5[7] = { 'a', 0xC8, 0x9B, 'i', 'u', 'n', 'e' };
119static const symbol s_3_6[7] = { 'i', 0xC8, 0x9B, 'i', 'u', 'n', 'e' };
120static const symbol s_3_7[6] = { 'a', 't', 'o', 'a', 'r', 'e' };
121static const symbol s_3_8[6] = { 'i', 't', 'o', 'a', 'r', 'e' };
122static const symbol s_3_9[7] = { 0xC4, 0x83, 't', 'o', 'a', 'r', 'e' };
123static const symbol s_3_10[7] = { 'i', 'c', 'i', 't', 'a', 't', 'e' };
124static const symbol s_3_11[9] = { 'a', 'b', 'i', 'l', 'i', 't', 'a', 't', 'e' };
125static const symbol s_3_12[9] = { 'i', 'b', 'i', 'l', 'i', 't', 'a', 't', 'e' };
126static const symbol s_3_13[7] = { 'i', 'v', 'i', 't', 'a', 't', 'e' };
127static const symbol s_3_14[5] = { 'i', 'c', 'i', 'v', 'e' };
128static const symbol s_3_15[5] = { 'a', 't', 'i', 'v', 'e' };
129static const symbol s_3_16[5] = { 'i', 't', 'i', 'v', 'e' };
130static const symbol s_3_17[5] = { 'i', 'c', 'a', 'l', 'i' };
131static const symbol s_3_18[5] = { 'a', 't', 'o', 'r', 'i' };
132static const symbol s_3_19[7] = { 'i', 'c', 'a', 't', 'o', 'r', 'i' };
133static const symbol s_3_20[5] = { 'i', 't', 'o', 'r', 'i' };
134static const symbol s_3_21[6] = { 0xC4, 0x83, 't', 'o', 'r', 'i' };
135static const symbol s_3_22[7] = { 'i', 'c', 'i', 't', 'a', 't', 'i' };
136static const symbol s_3_23[9] = { 'a', 'b', 'i', 'l', 'i', 't', 'a', 't', 'i' };
137static const symbol s_3_24[7] = { 'i', 'v', 'i', 't', 'a', 't', 'i' };
138static const symbol s_3_25[5] = { 'i', 'c', 'i', 'v', 'i' };
139static const symbol s_3_26[5] = { 'a', 't', 'i', 'v', 'i' };
140static const symbol s_3_27[5] = { 'i', 't', 'i', 'v', 'i' };
141static const symbol s_3_28[7] = { 'i', 'c', 'i', 't', 0xC4, 0x83, 'i' };
142static const symbol s_3_29[9] = { 'a', 'b', 'i', 'l', 'i', 't', 0xC4, 0x83, 'i' };
143static const symbol s_3_30[7] = { 'i', 'v', 'i', 't', 0xC4, 0x83, 'i' };
144static const symbol s_3_31[9] = { 'i', 'c', 'i', 't', 0xC4, 0x83, 0xC8, 0x9B, 'i' };
145static const symbol s_3_32[11] = { 'a', 'b', 'i', 'l', 'i', 't', 0xC4, 0x83, 0xC8, 0x9B, 'i' };
146static const symbol s_3_33[9] = { 'i', 'v', 'i', 't', 0xC4, 0x83, 0xC8, 0x9B, 'i' };
147static const symbol s_3_34[4] = { 'i', 'c', 'a', 'l' };
148static const symbol s_3_35[4] = { 'a', 't', 'o', 'r' };
149static const symbol s_3_36[6] = { 'i', 'c', 'a', 't', 'o', 'r' };
150static const symbol s_3_37[4] = { 'i', 't', 'o', 'r' };
151static const symbol s_3_38[5] = { 0xC4, 0x83, 't', 'o', 'r' };
152static const symbol s_3_39[4] = { 'i', 'c', 'i', 'v' };
153static const symbol s_3_40[4] = { 'a', 't', 'i', 'v' };
154static const symbol s_3_41[4] = { 'i', 't', 'i', 'v' };
155static const symbol s_3_42[6] = { 'i', 'c', 'a', 'l', 0xC4, 0x83 };
156static const symbol s_3_43[6] = { 'i', 'c', 'i', 'v', 0xC4, 0x83 };
157static const symbol s_3_44[6] = { 'a', 't', 'i', 'v', 0xC4, 0x83 };
158static const symbol s_3_45[6] = { 'i', 't', 'i', 'v', 0xC4, 0x83 };
159static const struct among a_3[46] = {
160{ 5, s_3_0, 0, 4, 0},
161{ 5, s_3_1, 0, 4, 0},
162{ 5, s_3_2, 0, 5, 0},
163{ 5, s_3_3, 0, 6, 0},
164{ 5, s_3_4, 0, 4, 0},
165{ 7, s_3_5, 0, 5, 0},
166{ 7, s_3_6, 0, 6, 0},
167{ 6, s_3_7, 0, 5, 0},
168{ 6, s_3_8, 0, 6, 0},
169{ 7, s_3_9, 0, 5, 0},
170{ 7, s_3_10, 0, 4, 0},
171{ 9, s_3_11, 0, 1, 0},
172{ 9, s_3_12, 0, 2, 0},
173{ 7, s_3_13, 0, 3, 0},
174{ 5, s_3_14, 0, 4, 0},
175{ 5, s_3_15, 0, 5, 0},
176{ 5, s_3_16, 0, 6, 0},
177{ 5, s_3_17, 0, 4, 0},
178{ 5, s_3_18, 0, 5, 0},
179{ 7, s_3_19, -1, 4, 0},
180{ 5, s_3_20, 0, 6, 0},
181{ 6, s_3_21, 0, 5, 0},
182{ 7, s_3_22, 0, 4, 0},
183{ 9, s_3_23, 0, 1, 0},
184{ 7, s_3_24, 0, 3, 0},
185{ 5, s_3_25, 0, 4, 0},
186{ 5, s_3_26, 0, 5, 0},
187{ 5, s_3_27, 0, 6, 0},
188{ 7, s_3_28, 0, 4, 0},
189{ 9, s_3_29, 0, 1, 0},
190{ 7, s_3_30, 0, 3, 0},
191{ 9, s_3_31, 0, 4, 0},
192{ 11, s_3_32, 0, 1, 0},
193{ 9, s_3_33, 0, 3, 0},
194{ 4, s_3_34, 0, 4, 0},
195{ 4, s_3_35, 0, 5, 0},
196{ 6, s_3_36, -1, 4, 0},
197{ 4, s_3_37, 0, 6, 0},
198{ 5, s_3_38, 0, 5, 0},
199{ 4, s_3_39, 0, 4, 0},
200{ 4, s_3_40, 0, 5, 0},
201{ 4, s_3_41, 0, 6, 0},
202{ 6, s_3_42, 0, 4, 0},
203{ 6, s_3_43, 0, 4, 0},
204{ 6, s_3_44, 0, 5, 0},
205{ 6, s_3_45, 0, 6, 0}
206};
207
208static const symbol s_4_0[3] = { 'i', 'c', 'a' };
209static const symbol s_4_1[5] = { 'a', 'b', 'i', 'l', 'a' };
210static const symbol s_4_2[5] = { 'i', 'b', 'i', 'l', 'a' };
211static const symbol s_4_3[4] = { 'o', 'a', 's', 'a' };
212static const symbol s_4_4[3] = { 'a', 't', 'a' };
213static const symbol s_4_5[3] = { 'i', 't', 'a' };
214static const symbol s_4_6[4] = { 'a', 'n', 't', 'a' };
215static const symbol s_4_7[4] = { 'i', 's', 't', 'a' };
216static const symbol s_4_8[3] = { 'u', 't', 'a' };
217static const symbol s_4_9[3] = { 'i', 'v', 'a' };
218static const symbol s_4_10[2] = { 'i', 'c' };
219static const symbol s_4_11[3] = { 'i', 'c', 'e' };
220static const symbol s_4_12[5] = { 'a', 'b', 'i', 'l', 'e' };
221static const symbol s_4_13[5] = { 'i', 'b', 'i', 'l', 'e' };
222static const symbol s_4_14[4] = { 'i', 's', 'm', 'e' };
223static const symbol s_4_15[4] = { 'i', 'u', 'n', 'e' };
224static const symbol s_4_16[4] = { 'o', 'a', 's', 'e' };
225static const symbol s_4_17[3] = { 'a', 't', 'e' };
226static const symbol s_4_18[5] = { 'i', 't', 'a', 't', 'e' };
227static const symbol s_4_19[3] = { 'i', 't', 'e' };
228static const symbol s_4_20[4] = { 'a', 'n', 't', 'e' };
229static const symbol s_4_21[4] = { 'i', 's', 't', 'e' };
230static const symbol s_4_22[3] = { 'u', 't', 'e' };
231static const symbol s_4_23[3] = { 'i', 'v', 'e' };
232static const symbol s_4_24[3] = { 'i', 'c', 'i' };
233static const symbol s_4_25[5] = { 'a', 'b', 'i', 'l', 'i' };
234static const symbol s_4_26[5] = { 'i', 'b', 'i', 'l', 'i' };
235static const symbol s_4_27[4] = { 'i', 'u', 'n', 'i' };
236static const symbol s_4_28[5] = { 'a', 't', 'o', 'r', 'i' };
237static const symbol s_4_29[3] = { 'o', 's', 'i' };
238static const symbol s_4_30[3] = { 'a', 't', 'i' };
239static const symbol s_4_31[5] = { 'i', 't', 'a', 't', 'i' };
240static const symbol s_4_32[3] = { 'i', 't', 'i' };
241static const symbol s_4_33[4] = { 'a', 'n', 't', 'i' };
242static const symbol s_4_34[4] = { 'i', 's', 't', 'i' };
243static const symbol s_4_35[3] = { 'u', 't', 'i' };
244static const symbol s_4_36[5] = { 'i', 0xC8, 0x99, 't', 'i' };
245static const symbol s_4_37[3] = { 'i', 'v', 'i' };
246static const symbol s_4_38[5] = { 'i', 't', 0xC4, 0x83, 'i' };
247static const symbol s_4_39[4] = { 'o', 0xC8, 0x99, 'i' };
248static const symbol s_4_40[7] = { 'i', 't', 0xC4, 0x83, 0xC8, 0x9B, 'i' };
249static const symbol s_4_41[4] = { 'a', 'b', 'i', 'l' };
250static const symbol s_4_42[4] = { 'i', 'b', 'i', 'l' };
251static const symbol s_4_43[3] = { 'i', 's', 'm' };
252static const symbol s_4_44[4] = { 'a', 't', 'o', 'r' };
253static const symbol s_4_45[2] = { 'o', 's' };
254static const symbol s_4_46[2] = { 'a', 't' };
255static const symbol s_4_47[2] = { 'i', 't' };
256static const symbol s_4_48[3] = { 'a', 'n', 't' };
257static const symbol s_4_49[3] = { 'i', 's', 't' };
258static const symbol s_4_50[2] = { 'u', 't' };
259static const symbol s_4_51[2] = { 'i', 'v' };
260static const symbol s_4_52[4] = { 'i', 'c', 0xC4, 0x83 };
261static const symbol s_4_53[6] = { 'a', 'b', 'i', 'l', 0xC4, 0x83 };
262static const symbol s_4_54[6] = { 'i', 'b', 'i', 'l', 0xC4, 0x83 };
263static const symbol s_4_55[5] = { 'o', 'a', 's', 0xC4, 0x83 };
264static const symbol s_4_56[4] = { 'a', 't', 0xC4, 0x83 };
265static const symbol s_4_57[4] = { 'i', 't', 0xC4, 0x83 };
266static const symbol s_4_58[5] = { 'a', 'n', 't', 0xC4, 0x83 };
267static const symbol s_4_59[5] = { 'i', 's', 't', 0xC4, 0x83 };
268static const symbol s_4_60[4] = { 'u', 't', 0xC4, 0x83 };
269static const symbol s_4_61[4] = { 'i', 'v', 0xC4, 0x83 };
270static const struct among a_4[62] = {
271{ 3, s_4_0, 0, 1, 0},
272{ 5, s_4_1, 0, 1, 0},
273{ 5, s_4_2, 0, 1, 0},
274{ 4, s_4_3, 0, 1, 0},
275{ 3, s_4_4, 0, 1, 0},
276{ 3, s_4_5, 0, 1, 0},
277{ 4, s_4_6, 0, 1, 0},
278{ 4, s_4_7, 0, 3, 0},
279{ 3, s_4_8, 0, 1, 0},
280{ 3, s_4_9, 0, 1, 0},
281{ 2, s_4_10, 0, 1, 0},
282{ 3, s_4_11, 0, 1, 0},
283{ 5, s_4_12, 0, 1, 0},
284{ 5, s_4_13, 0, 1, 0},
285{ 4, s_4_14, 0, 3, 0},
286{ 4, s_4_15, 0, 2, 0},
287{ 4, s_4_16, 0, 1, 0},
288{ 3, s_4_17, 0, 1, 0},
289{ 5, s_4_18, -1, 1, 0},
290{ 3, s_4_19, 0, 1, 0},
291{ 4, s_4_20, 0, 1, 0},
292{ 4, s_4_21, 0, 3, 0},
293{ 3, s_4_22, 0, 1, 0},
294{ 3, s_4_23, 0, 1, 0},
295{ 3, s_4_24, 0, 1, 0},
296{ 5, s_4_25, 0, 1, 0},
297{ 5, s_4_26, 0, 1, 0},
298{ 4, s_4_27, 0, 2, 0},
299{ 5, s_4_28, 0, 1, 0},
300{ 3, s_4_29, 0, 1, 0},
301{ 3, s_4_30, 0, 1, 0},
302{ 5, s_4_31, -1, 1, 0},
303{ 3, s_4_32, 0, 1, 0},
304{ 4, s_4_33, 0, 1, 0},
305{ 4, s_4_34, 0, 3, 0},
306{ 3, s_4_35, 0, 1, 0},
307{ 5, s_4_36, 0, 3, 0},
308{ 3, s_4_37, 0, 1, 0},
309{ 5, s_4_38, 0, 1, 0},
310{ 4, s_4_39, 0, 1, 0},
311{ 7, s_4_40, 0, 1, 0},
312{ 4, s_4_41, 0, 1, 0},
313{ 4, s_4_42, 0, 1, 0},
314{ 3, s_4_43, 0, 3, 0},
315{ 4, s_4_44, 0, 1, 0},
316{ 2, s_4_45, 0, 1, 0},
317{ 2, s_4_46, 0, 1, 0},
318{ 2, s_4_47, 0, 1, 0},
319{ 3, s_4_48, 0, 1, 0},
320{ 3, s_4_49, 0, 3, 0},
321{ 2, s_4_50, 0, 1, 0},
322{ 2, s_4_51, 0, 1, 0},
323{ 4, s_4_52, 0, 1, 0},
324{ 6, s_4_53, 0, 1, 0},
325{ 6, s_4_54, 0, 1, 0},
326{ 5, s_4_55, 0, 1, 0},
327{ 4, s_4_56, 0, 1, 0},
328{ 4, s_4_57, 0, 1, 0},
329{ 5, s_4_58, 0, 1, 0},
330{ 5, s_4_59, 0, 3, 0},
331{ 4, s_4_60, 0, 1, 0},
332{ 4, s_4_61, 0, 1, 0}
333};
334
335static const symbol s_5_0[2] = { 'e', 'a' };
336static const symbol s_5_1[2] = { 'i', 'a' };
337static const symbol s_5_2[3] = { 'e', 's', 'c' };
338static const symbol s_5_3[4] = { 0xC4, 0x83, 's', 'c' };
339static const symbol s_5_4[3] = { 'i', 'n', 'd' };
340static const symbol s_5_5[4] = { 0xC3, 0xA2, 'n', 'd' };
341static const symbol s_5_6[3] = { 'a', 'r', 'e' };
342static const symbol s_5_7[3] = { 'e', 'r', 'e' };
343static const symbol s_5_8[3] = { 'i', 'r', 'e' };
344static const symbol s_5_9[4] = { 0xC3, 0xA2, 'r', 'e' };
345static const symbol s_5_10[2] = { 's', 'e' };
346static const symbol s_5_11[3] = { 'a', 's', 'e' };
347static const symbol s_5_12[4] = { 's', 'e', 's', 'e' };
348static const symbol s_5_13[3] = { 'i', 's', 'e' };
349static const symbol s_5_14[3] = { 'u', 's', 'e' };
350static const symbol s_5_15[4] = { 0xC3, 0xA2, 's', 'e' };
351static const symbol s_5_16[5] = { 'e', 0xC8, 0x99, 't', 'e' };
352static const symbol s_5_17[6] = { 0xC4, 0x83, 0xC8, 0x99, 't', 'e' };
353static const symbol s_5_18[3] = { 'e', 'z', 'e' };
354static const symbol s_5_19[2] = { 'a', 'i' };
355static const symbol s_5_20[3] = { 'e', 'a', 'i' };
356static const symbol s_5_21[3] = { 'i', 'a', 'i' };
357static const symbol s_5_22[3] = { 's', 'e', 'i' };
358static const symbol s_5_23[5] = { 'e', 0xC8, 0x99, 't', 'i' };
359static const symbol s_5_24[6] = { 0xC4, 0x83, 0xC8, 0x99, 't', 'i' };
360static const symbol s_5_25[2] = { 'u', 'i' };
361static const symbol s_5_26[3] = { 'e', 'z', 'i' };
362static const symbol s_5_27[4] = { 'a', 0xC8, 0x99, 'i' };
363static const symbol s_5_28[5] = { 's', 'e', 0xC8, 0x99, 'i' };
364static const symbol s_5_29[6] = { 'a', 's', 'e', 0xC8, 0x99, 'i' };
365static const symbol s_5_30[7] = { 's', 'e', 's', 'e', 0xC8, 0x99, 'i' };
366static const symbol s_5_31[6] = { 'i', 's', 'e', 0xC8, 0x99, 'i' };
367static const symbol s_5_32[6] = { 'u', 's', 'e', 0xC8, 0x99, 'i' };
368static const symbol s_5_33[7] = { 0xC3, 0xA2, 's', 'e', 0xC8, 0x99, 'i' };
369static const symbol s_5_34[4] = { 'i', 0xC8, 0x99, 'i' };
370static const symbol s_5_35[4] = { 'u', 0xC8, 0x99, 'i' };
371static const symbol s_5_36[5] = { 0xC3, 0xA2, 0xC8, 0x99, 'i' };
372static const symbol s_5_37[4] = { 'a', 0xC8, 0x9B, 'i' };
373static const symbol s_5_38[5] = { 'e', 'a', 0xC8, 0x9B, 'i' };
374static const symbol s_5_39[5] = { 'i', 'a', 0xC8, 0x9B, 'i' };
375static const symbol s_5_40[4] = { 'e', 0xC8, 0x9B, 'i' };
376static const symbol s_5_41[4] = { 'i', 0xC8, 0x9B, 'i' };
377static const symbol s_5_42[7] = { 'a', 'r', 0xC4, 0x83, 0xC8, 0x9B, 'i' };
378static const symbol s_5_43[8] = { 's', 'e', 'r', 0xC4, 0x83, 0xC8, 0x9B, 'i' };
379static const symbol s_5_44[9] = { 'a', 's', 'e', 'r', 0xC4, 0x83, 0xC8, 0x9B, 'i' };
380static const symbol s_5_45[10] = { 's', 'e', 's', 'e', 'r', 0xC4, 0x83, 0xC8, 0x9B, 'i' };
381static const symbol s_5_46[9] = { 'i', 's', 'e', 'r', 0xC4, 0x83, 0xC8, 0x9B, 'i' };
382static const symbol s_5_47[9] = { 'u', 's', 'e', 'r', 0xC4, 0x83, 0xC8, 0x9B, 'i' };
383static const symbol s_5_48[10] = { 0xC3, 0xA2, 's', 'e', 'r', 0xC4, 0x83, 0xC8, 0x9B, 'i' };
384static const symbol s_5_49[7] = { 'i', 'r', 0xC4, 0x83, 0xC8, 0x9B, 'i' };
385static const symbol s_5_50[7] = { 'u', 'r', 0xC4, 0x83, 0xC8, 0x9B, 'i' };
386static const symbol s_5_51[8] = { 0xC3, 0xA2, 'r', 0xC4, 0x83, 0xC8, 0x9B, 'i' };
387static const symbol s_5_52[5] = { 0xC3, 0xA2, 0xC8, 0x9B, 'i' };
388static const symbol s_5_53[3] = { 0xC3, 0xA2, 'i' };
389static const symbol s_5_54[2] = { 'a', 'm' };
390static const symbol s_5_55[3] = { 'e', 'a', 'm' };
391static const symbol s_5_56[3] = { 'i', 'a', 'm' };
392static const symbol s_5_57[2] = { 'e', 'm' };
393static const symbol s_5_58[4] = { 'a', 's', 'e', 'm' };
394static const symbol s_5_59[5] = { 's', 'e', 's', 'e', 'm' };
395static const symbol s_5_60[4] = { 'i', 's', 'e', 'm' };
396static const symbol s_5_61[4] = { 'u', 's', 'e', 'm' };
397static const symbol s_5_62[5] = { 0xC3, 0xA2, 's', 'e', 'm' };
398static const symbol s_5_63[2] = { 'i', 'm' };
399static const symbol s_5_64[3] = { 0xC4, 0x83, 'm' };
400static const symbol s_5_65[5] = { 'a', 'r', 0xC4, 0x83, 'm' };
401static const symbol s_5_66[6] = { 's', 'e', 'r', 0xC4, 0x83, 'm' };
402static const symbol s_5_67[7] = { 'a', 's', 'e', 'r', 0xC4, 0x83, 'm' };
403static const symbol s_5_68[8] = { 's', 'e', 's', 'e', 'r', 0xC4, 0x83, 'm' };
404static const symbol s_5_69[7] = { 'i', 's', 'e', 'r', 0xC4, 0x83, 'm' };
405static const symbol s_5_70[7] = { 'u', 's', 'e', 'r', 0xC4, 0x83, 'm' };
406static const symbol s_5_71[8] = { 0xC3, 0xA2, 's', 'e', 'r', 0xC4, 0x83, 'm' };
407static const symbol s_5_72[5] = { 'i', 'r', 0xC4, 0x83, 'm' };
408static const symbol s_5_73[5] = { 'u', 'r', 0xC4, 0x83, 'm' };
409static const symbol s_5_74[6] = { 0xC3, 0xA2, 'r', 0xC4, 0x83, 'm' };
410static const symbol s_5_75[3] = { 0xC3, 0xA2, 'm' };
411static const symbol s_5_76[2] = { 'a', 'u' };
412static const symbol s_5_77[3] = { 'e', 'a', 'u' };
413static const symbol s_5_78[3] = { 'i', 'a', 'u' };
414static const symbol s_5_79[4] = { 'i', 'n', 'd', 'u' };
415static const symbol s_5_80[5] = { 0xC3, 0xA2, 'n', 'd', 'u' };
416static const symbol s_5_81[2] = { 'e', 'z' };
417static const symbol s_5_82[6] = { 'e', 'a', 's', 'c', 0xC4, 0x83 };
418static const symbol s_5_83[4] = { 'a', 'r', 0xC4, 0x83 };
419static const symbol s_5_84[5] = { 's', 'e', 'r', 0xC4, 0x83 };
420static const symbol s_5_85[6] = { 'a', 's', 'e', 'r', 0xC4, 0x83 };
421static const symbol s_5_86[7] = { 's', 'e', 's', 'e', 'r', 0xC4, 0x83 };
422static const symbol s_5_87[6] = { 'i', 's', 'e', 'r', 0xC4, 0x83 };
423static const symbol s_5_88[6] = { 'u', 's', 'e', 'r', 0xC4, 0x83 };
424static const symbol s_5_89[7] = { 0xC3, 0xA2, 's', 'e', 'r', 0xC4, 0x83 };
425static const symbol s_5_90[4] = { 'i', 'r', 0xC4, 0x83 };
426static const symbol s_5_91[4] = { 'u', 'r', 0xC4, 0x83 };
427static const symbol s_5_92[5] = { 0xC3, 0xA2, 'r', 0xC4, 0x83 };
428static const symbol s_5_93[5] = { 'e', 'a', 'z', 0xC4, 0x83 };
429static const struct among a_5[94] = {
430{ 2, s_5_0, 0, 1, 0},
431{ 2, s_5_1, 0, 1, 0},
432{ 3, s_5_2, 0, 1, 0},
433{ 4, s_5_3, 0, 1, 0},
434{ 3, s_5_4, 0, 1, 0},
435{ 4, s_5_5, 0, 1, 0},
436{ 3, s_5_6, 0, 1, 0},
437{ 3, s_5_7, 0, 1, 0},
438{ 3, s_5_8, 0, 1, 0},
439{ 4, s_5_9, 0, 1, 0},
440{ 2, s_5_10, 0, 2, 0},
441{ 3, s_5_11, -1, 1, 0},
442{ 4, s_5_12, -2, 2, 0},
443{ 3, s_5_13, -3, 1, 0},
444{ 3, s_5_14, -4, 1, 0},
445{ 4, s_5_15, -5, 1, 0},
446{ 5, s_5_16, 0, 1, 0},
447{ 6, s_5_17, 0, 1, 0},
448{ 3, s_5_18, 0, 1, 0},
449{ 2, s_5_19, 0, 1, 0},
450{ 3, s_5_20, -1, 1, 0},
451{ 3, s_5_21, -2, 1, 0},
452{ 3, s_5_22, 0, 2, 0},
453{ 5, s_5_23, 0, 1, 0},
454{ 6, s_5_24, 0, 1, 0},
455{ 2, s_5_25, 0, 1, 0},
456{ 3, s_5_26, 0, 1, 0},
457{ 4, s_5_27, 0, 1, 0},
458{ 5, s_5_28, 0, 2, 0},
459{ 6, s_5_29, -1, 1, 0},
460{ 7, s_5_30, -2, 2, 0},
461{ 6, s_5_31, -3, 1, 0},
462{ 6, s_5_32, -4, 1, 0},
463{ 7, s_5_33, -5, 1, 0},
464{ 4, s_5_34, 0, 1, 0},
465{ 4, s_5_35, 0, 1, 0},
466{ 5, s_5_36, 0, 1, 0},
467{ 4, s_5_37, 0, 2, 0},
468{ 5, s_5_38, -1, 1, 0},
469{ 5, s_5_39, -2, 1, 0},
470{ 4, s_5_40, 0, 2, 0},
471{ 4, s_5_41, 0, 2, 0},
472{ 7, s_5_42, 0, 1, 0},
473{ 8, s_5_43, 0, 2, 0},
474{ 9, s_5_44, -1, 1, 0},
475{ 10, s_5_45, -2, 2, 0},
476{ 9, s_5_46, -3, 1, 0},
477{ 9, s_5_47, -4, 1, 0},
478{ 10, s_5_48, -5, 1, 0},
479{ 7, s_5_49, 0, 1, 0},
480{ 7, s_5_50, 0, 1, 0},
481{ 8, s_5_51, 0, 1, 0},
482{ 5, s_5_52, 0, 2, 0},
483{ 3, s_5_53, 0, 1, 0},
484{ 2, s_5_54, 0, 1, 0},
485{ 3, s_5_55, -1, 1, 0},
486{ 3, s_5_56, -2, 1, 0},
487{ 2, s_5_57, 0, 2, 0},
488{ 4, s_5_58, -1, 1, 0},
489{ 5, s_5_59, -2, 2, 0},
490{ 4, s_5_60, -3, 1, 0},
491{ 4, s_5_61, -4, 1, 0},
492{ 5, s_5_62, -5, 1, 0},
493{ 2, s_5_63, 0, 2, 0},
494{ 3, s_5_64, 0, 2, 0},
495{ 5, s_5_65, -1, 1, 0},
496{ 6, s_5_66, -2, 2, 0},
497{ 7, s_5_67, -1, 1, 0},
498{ 8, s_5_68, -2, 2, 0},
499{ 7, s_5_69, -3, 1, 0},
500{ 7, s_5_70, -4, 1, 0},
501{ 8, s_5_71, -5, 1, 0},
502{ 5, s_5_72, -8, 1, 0},
503{ 5, s_5_73, -9, 1, 0},
504{ 6, s_5_74, -10, 1, 0},
505{ 3, s_5_75, 0, 2, 0},
506{ 2, s_5_76, 0, 1, 0},
507{ 3, s_5_77, -1, 1, 0},
508{ 3, s_5_78, -2, 1, 0},
509{ 4, s_5_79, 0, 1, 0},
510{ 5, s_5_80, 0, 1, 0},
511{ 2, s_5_81, 0, 1, 0},
512{ 6, s_5_82, 0, 1, 0},
513{ 4, s_5_83, 0, 1, 0},
514{ 5, s_5_84, 0, 2, 0},
515{ 6, s_5_85, -1, 1, 0},
516{ 7, s_5_86, -2, 2, 0},
517{ 6, s_5_87, -3, 1, 0},
518{ 6, s_5_88, -4, 1, 0},
519{ 7, s_5_89, -5, 1, 0},
520{ 4, s_5_90, 0, 1, 0},
521{ 4, s_5_91, 0, 1, 0},
522{ 5, s_5_92, 0, 1, 0},
523{ 5, s_5_93, 0, 1, 0}
524};
525
526static const symbol s_6_0[1] = { 'a' };
527static const symbol s_6_1[1] = { 'e' };
528static const symbol s_6_2[2] = { 'i', 'e' };
529static const symbol s_6_3[1] = { 'i' };
530static const symbol s_6_4[2] = { 0xC4, 0x83 };
531static const struct among a_6[5] = {
532{ 1, s_6_0, 0, 1, 0},
533{ 1, s_6_1, 0, 1, 0},
534{ 2, s_6_2, -1, 1, 0},
535{ 1, s_6_3, 0, 1, 0},
536{ 2, s_6_4, 0, 1, 0}
537};
538
539static const unsigned char g_v[] = { 17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 32, 0, 0, 4 };
540
541static int r_norm(struct SN_env * z) {
542 int among_var;
543 {
544 int v_1 = z->c;
545 while (1) {
546 int v_2 = z->c;
547 while (1) {
548 int v_3 = z->c;
549 z->bra = z->c;
550 if (z->c + 1 >= z->l || (z->p[z->c + 1] != 159 && z->p[z->c + 1] != 163)) goto lab2;
551 among_var = find_among(z, a_0, 2, 0);
552 if (!among_var) goto lab2;
553 z->ket = z->c;
554 switch (among_var) {
555 case 1:
556 {
557 int ret = slice_from_s(z, 2, s_0);
558 if (ret < 0) return ret;
559 }
560 break;
561 case 2:
562 {
563 int ret = slice_from_s(z, 2, s_1);
564 if (ret < 0) return ret;
565 }
566 break;
567 }
568 z->c = v_3;
569 break;
570 lab2:
571 z->c = v_3;
572 {
573 int ret = skip_utf8(z->p, z->c, z->l, 1);
574 if (ret < 0) goto lab1;
575 z->c = ret;
576 }
577 }
578 continue;
579 lab1:
580 z->c = v_2;
581 break;
582 }
583 z->c = v_1;
584 }
585 return 1;
586}
587
588static int r_prelude(struct SN_env * z) {
589 while (1) {
590 int v_1 = z->c;
591 while (1) {
592 int v_2 = z->c;
593 if (in_grouping_U(z, g_v, 97, 259, 0)) goto lab1;
594 z->bra = z->c;
595 do {
596 int v_3 = z->c;
597 if (z->c == z->l || z->p[z->c] != 'u') goto lab2;
598 z->c++;
599 z->ket = z->c;
600 if (in_grouping_U(z, g_v, 97, 259, 0)) goto lab2;
601 {
602 int ret = slice_from_s(z, 1, s_2);
603 if (ret < 0) return ret;
604 }
605 break;
606 lab2:
607 z->c = v_3;
608 if (z->c == z->l || z->p[z->c] != 'i') goto lab1;
609 z->c++;
610 z->ket = z->c;
611 if (in_grouping_U(z, g_v, 97, 259, 0)) goto lab1;
612 {
613 int ret = slice_from_s(z, 1, s_3);
614 if (ret < 0) return ret;
615 }
616 } while (0);
617 z->c = v_2;
618 break;
619 lab1:
620 z->c = v_2;
621 {
622 int ret = skip_utf8(z->p, z->c, z->l, 1);
623 if (ret < 0) goto lab0;
624 z->c = ret;
625 }
626 }
627 continue;
628 lab0:
629 z->c = v_1;
630 break;
631 }
632 return 1;
633}
634
635static int r_mark_regions(struct SN_env * z) {
636 ((SN_local *)z)->i_pV = z->l;
637 ((SN_local *)z)->i_p1 = z->l;
638 ((SN_local *)z)->i_p2 = z->l;
639 {
640 int v_1 = z->c;
641 do {
642 int v_2 = z->c;
643 if (in_grouping_U(z, g_v, 97, 259, 0)) goto lab1;
644 do {
645 int v_3 = z->c;
646 if (out_grouping_U(z, g_v, 97, 259, 0)) goto lab2;
647 {
648 int ret = out_grouping_U(z, g_v, 97, 259, 1);
649 if (ret < 0) goto lab2;
650 z->c += ret;
651 }
652 break;
653 lab2:
654 z->c = v_3;
655 if (in_grouping_U(z, g_v, 97, 259, 0)) goto lab1;
656 {
657 int ret = in_grouping_U(z, g_v, 97, 259, 1);
658 if (ret < 0) goto lab1;
659 z->c += ret;
660 }
661 } while (0);
662 break;
663 lab1:
664 z->c = v_2;
665 if (out_grouping_U(z, g_v, 97, 259, 0)) goto lab0;
666 do {
667 int v_4 = z->c;
668 if (out_grouping_U(z, g_v, 97, 259, 0)) goto lab3;
669 {
670 int ret = out_grouping_U(z, g_v, 97, 259, 1);
671 if (ret < 0) goto lab3;
672 z->c += ret;
673 }
674 break;
675 lab3:
676 z->c = v_4;
677 if (in_grouping_U(z, g_v, 97, 259, 0)) goto lab0;
678 {
679 int ret = skip_utf8(z->p, z->c, z->l, 1);
680 if (ret < 0) goto lab0;
681 z->c = ret;
682 }
683 } while (0);
684 } while (0);
685 ((SN_local *)z)->i_pV = z->c;
686 lab0:
687 z->c = v_1;
688 }
689 {
690 int v_5 = z->c;
691 {
692 int ret = out_grouping_U(z, g_v, 97, 259, 1);
693 if (ret < 0) goto lab4;
694 z->c += ret;
695 }
696 {
697 int ret = in_grouping_U(z, g_v, 97, 259, 1);
698 if (ret < 0) goto lab4;
699 z->c += ret;
700 }
701 ((SN_local *)z)->i_p1 = z->c;
702 {
703 int ret = out_grouping_U(z, g_v, 97, 259, 1);
704 if (ret < 0) goto lab4;
705 z->c += ret;
706 }
707 {
708 int ret = in_grouping_U(z, g_v, 97, 259, 1);
709 if (ret < 0) goto lab4;
710 z->c += ret;
711 }
712 ((SN_local *)z)->i_p2 = z->c;
713 lab4:
714 z->c = v_5;
715 }
716 return 1;
717}
718
719static int r_postlude(struct SN_env * z) {
720 int among_var;
721 while (1) {
722 int v_1 = z->c;
723 z->bra = z->c;
724 if (z->c >= z->l || (z->p[z->c + 0] != 73 && z->p[z->c + 0] != 85)) among_var = 3; else
725 among_var = find_among(z, a_1, 3, 0);
726 z->ket = z->c;
727 switch (among_var) {
728 case 1:
729 {
730 int ret = slice_from_s(z, 1, s_4);
731 if (ret < 0) return ret;
732 }
733 break;
734 case 2:
735 {
736 int ret = slice_from_s(z, 1, s_5);
737 if (ret < 0) return ret;
738 }
739 break;
740 case 3:
741 {
742 int ret = skip_utf8(z->p, z->c, z->l, 1);
743 if (ret < 0) goto lab0;
744 z->c = ret;
745 }
746 break;
747 }
748 continue;
749 lab0:
750 z->c = v_1;
751 break;
752 }
753 return 1;
754}
755
756static int r_RV(struct SN_env * z) {
757 return ((SN_local *)z)->i_pV <= z->c;
758}
759
760static int r_R1(struct SN_env * z) {
761 return ((SN_local *)z)->i_p1 <= z->c;
762}
763
764static int r_R2(struct SN_env * z) {
765 return ((SN_local *)z)->i_p2 <= z->c;
766}
767
768static int r_step_0(struct SN_env * z) {
769 int among_var;
770 z->ket = z->c;
771 if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((266786 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
772 among_var = find_among_b(z, a_2, 16, 0);
773 if (!among_var) return 0;
774 z->bra = z->c;
775 {
776 int ret = r_R1(z);
777 if (ret <= 0) return ret;
778 }
779 switch (among_var) {
780 case 1:
781 {
782 int ret = slice_del(z);
783 if (ret < 0) return ret;
784 }
785 break;
786 case 2:
787 {
788 int ret = slice_from_s(z, 1, s_6);
789 if (ret < 0) return ret;
790 }
791 break;
792 case 3:
793 {
794 int ret = slice_from_s(z, 1, s_7);
795 if (ret < 0) return ret;
796 }
797 break;
798 case 4:
799 {
800 int ret = slice_from_s(z, 1, s_8);
801 if (ret < 0) return ret;
802 }
803 break;
804 case 5:
805 {
806 int v_1 = z->l - z->c;
807 if (!(eq_s_b(z, 2, s_9))) goto lab0;
808 return 0;
809 lab0:
810 z->c = z->l - v_1;
811 }
812 {
813 int ret = slice_from_s(z, 1, s_10);
814 if (ret < 0) return ret;
815 }
816 break;
817 case 6:
818 {
819 int ret = slice_from_s(z, 2, s_11);
820 if (ret < 0) return ret;
821 }
822 break;
823 case 7:
824 {
825 int ret = slice_from_s(z, 4, s_12);
826 if (ret < 0) return ret;
827 }
828 break;
829 }
830 return 1;
831}
832
833static int r_combo_suffix(struct SN_env * z) {
834 int among_var;
835 {
836 int v_1 = z->l - z->c;
837 z->ket = z->c;
838 among_var = find_among_b(z, a_3, 46, 0);
839 if (!among_var) return 0;
840 z->bra = z->c;
841 {
842 int ret = r_R1(z);
843 if (ret <= 0) return ret;
844 }
845 switch (among_var) {
846 case 1:
847 {
848 int ret = slice_from_s(z, 4, s_13);
849 if (ret < 0) return ret;
850 }
851 break;
852 case 2:
853 {
854 int ret = slice_from_s(z, 4, s_14);
855 if (ret < 0) return ret;
856 }
857 break;
858 case 3:
859 {
860 int ret = slice_from_s(z, 2, s_15);
861 if (ret < 0) return ret;
862 }
863 break;
864 case 4:
865 {
866 int ret = slice_from_s(z, 2, s_16);
867 if (ret < 0) return ret;
868 }
869 break;
870 case 5:
871 {
872 int ret = slice_from_s(z, 2, s_17);
873 if (ret < 0) return ret;
874 }
875 break;
876 case 6:
877 {
878 int ret = slice_from_s(z, 2, s_18);
879 if (ret < 0) return ret;
880 }
881 break;
882 }
883 ((SN_local *)z)->b_standard_suffix_removed = 1;
884 z->c = z->l - v_1;
885 }
886 return 1;
887}
888
889static int r_standard_suffix(struct SN_env * z) {
890 int among_var;
891 ((SN_local *)z)->b_standard_suffix_removed = 0;
892 while (1) {
893 int v_1 = z->l - z->c;
894 {
895 int ret = r_combo_suffix(z);
896 if (ret == 0) goto lab0;
897 if (ret < 0) return ret;
898 }
899 continue;
900 lab0:
901 z->c = z->l - v_1;
902 break;
903 }
904 z->ket = z->c;
905 among_var = find_among_b(z, a_4, 62, 0);
906 if (!among_var) return 0;
907 z->bra = z->c;
908 {
909 int ret = r_R2(z);
910 if (ret <= 0) return ret;
911 }
912 switch (among_var) {
913 case 1:
914 {
915 int ret = slice_del(z);
916 if (ret < 0) return ret;
917 }
918 break;
919 case 2:
920 if (!(eq_s_b(z, 2, s_19))) return 0;
921 z->bra = z->c;
922 {
923 int ret = slice_from_s(z, 1, s_20);
924 if (ret < 0) return ret;
925 }
926 break;
927 case 3:
928 {
929 int ret = slice_from_s(z, 3, s_21);
930 if (ret < 0) return ret;
931 }
932 break;
933 }
934 ((SN_local *)z)->b_standard_suffix_removed = 1;
935 return 1;
936}
937
938static int r_verb_suffix(struct SN_env * z) {
939 int among_var;
940 {
941 int v_1;
942 if (z->c < ((SN_local *)z)->i_pV) return 0;
943 v_1 = z->lb; z->lb = ((SN_local *)z)->i_pV;
944 z->ket = z->c;
945 among_var = find_among_b(z, a_5, 94, 0);
946 if (!among_var) { z->lb = v_1; return 0; }
947 z->bra = z->c;
948 switch (among_var) {
949 case 1:
950 do {
951 int v_2 = z->l - z->c;
952 if (out_grouping_b_U(z, g_v, 97, 259, 0)) goto lab0;
953 break;
954 lab0:
955 z->c = z->l - v_2;
956 if (z->c <= z->lb || z->p[z->c - 1] != 'u') { z->lb = v_1; return 0; }
957 z->c--;
958 } while (0);
959 {
960 int ret = slice_del(z);
961 if (ret < 0) return ret;
962 }
963 break;
964 case 2:
965 {
966 int ret = slice_del(z);
967 if (ret < 0) return ret;
968 }
969 break;
970 }
971 z->lb = v_1;
972 }
973 return 1;
974}
975
976static int r_vowel_suffix(struct SN_env * z) {
977 z->ket = z->c;
978 if (!find_among_b(z, a_6, 5, 0)) return 0;
979 z->bra = z->c;
980 {
981 int ret = r_RV(z);
982 if (ret <= 0) return ret;
983 }
984 {
985 int ret = slice_del(z);
986 if (ret < 0) return ret;
987 }
988 return 1;
989}
990
991extern int romanian_UTF_8_stem(struct SN_env * z) {
992 {
993 int ret = r_norm(z);
994 if (ret < 0) return ret;
995 }
996 {
997 int v_1 = z->c;
998 {
999 int ret = r_prelude(z);
1000 if (ret < 0) return ret;
1001 }
1002 z->c = v_1;
1003 }
1004 {
1005 int ret = r_mark_regions(z);
1006 if (ret < 0) return ret;
1007 }
1008 z->lb = z->c; z->c = z->l;
1009 {
1010 int v_2 = z->l - z->c;
1011 {
1012 int ret = r_step_0(z);
1013 if (ret < 0) return ret;
1014 }
1015 z->c = z->l - v_2;
1016 }
1017 {
1018 int v_3 = z->l - z->c;
1019 {
1020 int ret = r_standard_suffix(z);
1021 if (ret < 0) return ret;
1022 }
1023 z->c = z->l - v_3;
1024 }
1025 {
1026 int v_4 = z->l - z->c;
1027 do {
1028 int v_5 = z->l - z->c;
1029 if (!((SN_local *)z)->b_standard_suffix_removed) goto lab1;
1030 break;
1031 lab1:
1032 z->c = z->l - v_5;
1033 {
1034 int ret = r_verb_suffix(z);
1035 if (ret == 0) goto lab0;
1036 if (ret < 0) return ret;
1037 }
1038 } while (0);
1039 lab0:
1040 z->c = z->l - v_4;
1041 }
1042 {
1043 int v_6 = z->l - z->c;
1044 {
1045 int ret = r_vowel_suffix(z);
1046 if (ret < 0) return ret;
1047 }
1048 z->c = z->l - v_6;
1049 }
1050 z->c = z->lb;
1051 {
1052 int v_7 = z->c;
1053 {
1054 int ret = r_postlude(z);
1055 if (ret < 0) return ret;
1056 }
1057 z->c = v_7;
1058 }
1059 return 1;
1060}
1061
1062extern struct SN_env * romanian_UTF_8_create_env(void) {
1063 struct SN_env * z = SN_new_env(sizeof(SN_local));
1064 if (z) {
1065 ((SN_local *)z)->b_standard_suffix_removed = 0;
1066 ((SN_local *)z)->i_p2 = 0;
1067 ((SN_local *)z)->i_p1 = 0;
1068 ((SN_local *)z)->i_pV = 0;
1069 }
1070 return z;
1071}
1072
1073extern void romanian_UTF_8_close_env(struct SN_env * z) {
1074 SN_delete_env(z);
1075}
1076
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
struct SN_env * romanian_UTF_8_create_env(void)
static const symbol s_3_35[4]
static const symbol s_2[]
static const symbol s_2_1[5]
static const symbol s_5_75[3]
static const symbol s_5_6[3]
static const symbol s_4_13[5]
static const symbol s_5_77[3]
static const symbol s_5_52[5]
static int r_norm(struct SN_env *z)
static const symbol s_3_8[6]
static const symbol s_4_11[3]
static const symbol s_3_36[6]
static const symbol s_4_7[4]
static const symbol s_3_2[5]
static const symbol s_4_17[3]
static const symbol s_4[]
static const symbol s_4_25[5]
static const symbol s_5_47[9]
static const symbol s_5_71[8]
static const symbol s_5_74[6]
static const symbol s_5_22[3]
static const symbol s_5_86[7]
static const symbol s_4_26[5]
static const symbol s_3_41[4]
static const symbol s_5_27[4]
static const symbol s_4_16[4]
static const symbol s_5_54[2]
static const symbol s_4_6[4]
static const symbol s_3_25[5]
static const symbol s_3_1[5]
static const symbol s_5_28[5]
static const symbol s_6_3[1]
static const symbol s_3_17[5]
static const symbol s_5_18[3]
static const symbol s_3_31[9]
static const symbol s_3_44[6]
static const symbol s_5_16[5]
static const symbol s_3_4[5]
static const symbol s_5_63[2]
static const symbol s_5_21[3]
static const symbol s_4_3[4]
static const symbol s_3_34[4]
static const symbol s_3_29[9]
static const symbol s_5_90[4]
static const symbol s_4_14[4]
static const struct among a_3[46]
static const symbol s_5_0[2]
static const symbol s_5_87[6]
static int r_standard_suffix(struct SN_env *z)
static const symbol s_0_1[2]
static const symbol s_5_64[3]
static const symbol s_4_59[5]
static const symbol s_2_3[3]
static const symbol s_3_43[6]
static const symbol s_3_38[5]
static const symbol s_5_35[4]
static const symbol s_4_56[4]
static const symbol s_3_40[4]
static const symbol s_5_37[4]
static const symbol s_2_0[2]
static const symbol s_4_9[3]
static const symbol s_5_88[6]
static const struct among a_0[2]
static const symbol s_5_83[4]
static const symbol s_5_24[6]
static const symbol s_5_70[7]
static const symbol s_3_28[7]
static const symbol s_6[]
static int r_verb_suffix(struct SN_env *z)
static const symbol s_0_0[2]
static const symbol s_5_17[6]
static const symbol s_21[]
static const symbol s_3[]
static const symbol s_5_10[2]
static const symbol s_3_13[7]
static const symbol s_3_7[6]
static const symbol s_3_5[7]
static const symbol s_3_24[7]
static const symbol s_4_45[2]
static const symbol s_4_12[5]
static const symbol s_5_56[3]
static const symbol s_4_47[2]
static const symbol s_2_7[4]
static const symbol s_4_35[3]
static const symbol s_2_14[4]
static const symbol s_4_21[4]
static int r_R2(struct SN_env *z)
static const symbol s_5_50[7]
static const symbol s_4_31[5]
static const symbol s_5_20[3]
static const symbol s_6_4[2]
static const symbol s_7[]
static const symbol s_5_7[3]
static const symbol s_5_43[8]
static const symbol s_5_81[2]
static const symbol s_13[]
static const symbol s_2_4[5]
static const symbol s_4_51[2]
static const symbol s_5_42[7]
static const symbol s_4_30[3]
static const symbol s_5_33[7]
static const symbol s_5_40[4]
static const symbol s_4_46[2]
static const symbol s_20[]
static const symbol s_4_24[3]
static const symbol s_3_9[7]
static const symbol s_5_49[7]
static const symbol s_4_20[4]
static const struct among a_6[5]
static const symbol s_3_22[7]
int romanian_UTF_8_stem(struct SN_env *z)
static const symbol s_5_80[5]
static const symbol s_4_18[5]
static const symbol s_4_4[3]
static const symbol s_5_29[6]
static const symbol s_5_65[5]
static int r_RV(struct SN_env *z)
static const symbol s_5_92[5]
static const symbol s_5_31[6]
static const symbol s_2_10[2]
static const symbol s_5_78[3]
static const symbol s_5_68[8]
static const symbol s_19[]
static const symbol s_6_1[1]
static const symbol s_4_33[4]
static const symbol s_2_15[5]
static const symbol s_2_13[4]
static const symbol s_4_15[4]
static const symbol s_5_89[7]
static const symbol s_3_37[4]
static const symbol s_3_6[7]
static const symbol s_4_61[4]
static const symbol s_3_30[7]
static const symbol s_5_14[3]
static const symbol s_4_5[3]
static const symbol s_5_84[5]
static const symbol s_4_39[4]
static const symbol s_3_0[5]
static const symbol s_5_46[9]
static const symbol s_6_2[2]
static const symbol s_5_38[5]
static const symbol s_5_48[10]
static const symbol s_4_43[3]
static const symbol s_3_21[6]
static const symbol s_4_38[5]
static const struct among a_2[16]
static const symbol s_5_30[7]
static const symbol s_5_4[3]
static int r_R1(struct SN_env *z)
static const symbol s_1_2[1]
static const symbol s_5_3[4]
static const symbol s_16[]
static int r_postlude(struct SN_env *z)
static const symbol s_14[]
static const symbol s_2_11[4]
static const symbol s_3_10[7]
static const symbol s_5_25[2]
static const symbol s_4_8[3]
static const symbol s_3_20[5]
static const symbol s_5_41[4]
static int r_prelude(struct SN_env *z)
static const symbol s_3_12[9]
static const symbol s_4_36[5]
static const symbol s_5_55[3]
static const symbol s_10[]
static const symbol s_5_85[6]
static const symbol s_1_1[1]
static const symbol s_5_12[4]
static const symbol s_4_32[3]
static const symbol s_4_23[3]
static const symbol s_5_23[5]
static const symbol s_5_60[4]
static const struct among a_1[3]
static const symbol s_4_52[4]
static const symbol s_4_44[4]
static int r_vowel_suffix(struct SN_env *z)
static const symbol s_1[]
static const symbol s_2_9[4]
static const symbol s_5_5[4]
static const symbol s_5_58[4]
static const symbol s_3_19[7]
static const symbol s_3_45[6]
static const symbol s_4_19[3]
static const symbol s_5_72[5]
static const symbol s_3_39[4]
static const symbol s_3_27[5]
static const symbol s_2_6[3]
static const symbol s_4_49[3]
void romanian_UTF_8_close_env(struct SN_env *z)
static const symbol s_5_53[3]
static const symbol s_5_51[8]
static const symbol s_4_40[7]
static const symbol s_3_3[5]
static const symbol s_2_2[3]
static const symbol s_4_27[4]
static int r_mark_regions(struct SN_env *z)
static const symbol s_11[]
static const symbol s_12[]
static const symbol s_3_15[5]
static const symbol s_4_22[3]
static const symbol s_6_0[1]
static const symbol s_5_8[3]
static const symbol s_2_8[3]
static const symbol s_4_58[5]
static const symbol s_2_12[2]
static const symbol s_3_26[5]
static const symbol s_5_34[4]
static const symbol s_5_67[7]
static const symbol s_4_10[2]
static const symbol s_5_82[6]
static const symbol s_5_11[3]
static const symbol s_4_42[4]
static const symbol s_4_29[3]
static const symbol s_5_36[5]
static const symbol s_5_1[2]
static const symbol s_5_61[4]
static const symbol s_4_28[5]
static const symbol s_2_5[3]
static const symbol s_4_34[4]
static const symbol s_18[]
static const symbol s_17[]
static const symbol s_4_48[3]
static const symbol s_5_93[5]
static const symbol s_5_32[6]
static const symbol s_3_23[9]
static const symbol s_3_14[5]
static const symbol s_5_91[4]
static const struct among a_5[94]
static const symbol s_3_18[5]
static const symbol s_5_2[3]
static const symbol s_3_42[6]
static const symbol s_5_62[5]
static const symbol s_4_57[4]
static const symbol s_4_53[6]
static const symbol s_5_13[3]
static const struct among a_4[62]
static const symbol s_5_39[5]
static const symbol s_5_79[4]
static const symbol s_3_11[9]
static int r_step_0(struct SN_env *z)
static const symbol s_5_26[3]
static const symbol s_5_66[6]
static const unsigned char g_v[]
static const symbol s_4_37[3]
static const symbol s_5_44[9]
static const symbol s_5_57[2]
static const symbol s_5_19[2]
static const symbol s_8[]
static const symbol s_4_55[5]
static const symbol s_4_50[2]
static const symbol s_9[]
static const symbol s_5_45[10]
static const symbol s_5_73[5]
static const symbol s_5_76[2]
static const symbol s_5_69[7]
static const symbol s_4_1[5]
static const symbol s_5_59[5]
static const symbol s_4_60[4]
static const symbol s_5[]
static const symbol s_5_9[4]
static const symbol s_15[]
static const symbol s_3_32[11]
static int r_combo_suffix(struct SN_env *z)
static const symbol s_4_54[6]
static const symbol s_4_0[3]
static const symbol s_4_41[4]
static const symbol s_4_2[5]
static const symbol s_3_16[5]
static const symbol s_0[]
static const symbol s_5_15[4]
static const symbol s_3_33[9]
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_standard_suffix_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 slice_from_s(struct SN_env *z, int s_size, const symbol *s)
Definition: utilities.c:432
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 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
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