YAZ 5.37.0
stem_UTF_8_portuguese.c
Go to the documentation of this file.
1
2/* This file was generated automatically by the Snowball to ANSI C compiler */
3
4#include "../runtime/header.h"
5
6#ifdef __cplusplus
7extern "C" {
8#endif
9extern int portuguese_UTF_8_stem(struct SN_env * z);
10#ifdef __cplusplus
11}
12#endif
13static int r_residual_form(struct SN_env * z);
14static int r_residual_suffix(struct SN_env * z);
15static int r_verb_suffix(struct SN_env * z);
16static int r_standard_suffix(struct SN_env * z);
17static int r_R2(struct SN_env * z);
18static int r_R1(struct SN_env * z);
19static int r_RV(struct SN_env * z);
20static int r_mark_regions(struct SN_env * z);
21static int r_postlude(struct SN_env * z);
22static int r_prelude(struct SN_env * z);
23#ifdef __cplusplus
24extern "C" {
25#endif
26
27
28extern struct SN_env * portuguese_UTF_8_create_env(void);
29extern void portuguese_UTF_8_close_env(struct SN_env * z);
30
31
32#ifdef __cplusplus
33}
34#endif
35static const symbol s_0_1[2] = { 0xC3, 0xA3 };
36static const symbol s_0_2[2] = { 0xC3, 0xB5 };
37
38static const struct among a_0[3] =
39{
40/* 0 */ { 0, 0, -1, 3, 0},
41/* 1 */ { 2, s_0_1, 0, 1, 0},
42/* 2 */ { 2, s_0_2, 0, 2, 0}
43};
44
45static const symbol s_1_1[2] = { 'a', '~' };
46static const symbol s_1_2[2] = { 'o', '~' };
47
48static const struct among a_1[3] =
49{
50/* 0 */ { 0, 0, -1, 3, 0},
51/* 1 */ { 2, s_1_1, 0, 1, 0},
52/* 2 */ { 2, s_1_2, 0, 2, 0}
53};
54
55static const symbol s_2_0[2] = { 'i', 'c' };
56static const symbol s_2_1[2] = { 'a', 'd' };
57static const symbol s_2_2[2] = { 'o', 's' };
58static const symbol s_2_3[2] = { 'i', 'v' };
59
60static const struct among a_2[4] =
61{
62/* 0 */ { 2, s_2_0, -1, -1, 0},
63/* 1 */ { 2, s_2_1, -1, -1, 0},
64/* 2 */ { 2, s_2_2, -1, -1, 0},
65/* 3 */ { 2, s_2_3, -1, 1, 0}
66};
67
68static const symbol s_3_0[4] = { 'a', 'n', 't', 'e' };
69static const symbol s_3_1[4] = { 'a', 'v', 'e', 'l' };
70static const symbol s_3_2[5] = { 0xC3, 0xAD, 'v', 'e', 'l' };
71
72static const struct among a_3[3] =
73{
74/* 0 */ { 4, s_3_0, -1, 1, 0},
75/* 1 */ { 4, s_3_1, -1, 1, 0},
76/* 2 */ { 5, s_3_2, -1, 1, 0}
77};
78
79static const symbol s_4_0[2] = { 'i', 'c' };
80static const symbol s_4_1[4] = { 'a', 'b', 'i', 'l' };
81static const symbol s_4_2[2] = { 'i', 'v' };
82
83static const struct among a_4[3] =
84{
85/* 0 */ { 2, s_4_0, -1, 1, 0},
86/* 1 */ { 4, s_4_1, -1, 1, 0},
87/* 2 */ { 2, s_4_2, -1, 1, 0}
88};
89
90static const symbol s_5_0[3] = { 'i', 'c', 'a' };
91static const symbol s_5_1[6] = { 0xC3, 0xA2, 'n', 'c', 'i', 'a' };
92static const symbol s_5_2[6] = { 0xC3, 0xAA, 'n', 'c', 'i', 'a' };
93static const symbol s_5_3[3] = { 'i', 'r', 'a' };
94static const symbol s_5_4[5] = { 'a', 'd', 'o', 'r', 'a' };
95static const symbol s_5_5[3] = { 'o', 's', 'a' };
96static const symbol s_5_6[4] = { 'i', 's', 't', 'a' };
97static const symbol s_5_7[3] = { 'i', 'v', 'a' };
98static const symbol s_5_8[3] = { 'e', 'z', 'a' };
99static const symbol s_5_9[6] = { 'l', 'o', 'g', 0xC3, 0xAD, 'a' };
100static const symbol s_5_10[5] = { 'i', 'd', 'a', 'd', 'e' };
101static const symbol s_5_11[4] = { 'a', 'n', 't', 'e' };
102static const symbol s_5_12[5] = { 'm', 'e', 'n', 't', 'e' };
103static const symbol s_5_13[6] = { 'a', 'm', 'e', 'n', 't', 'e' };
104static const symbol s_5_14[5] = { 0xC3, 0xA1, 'v', 'e', 'l' };
105static const symbol s_5_15[5] = { 0xC3, 0xAD, 'v', 'e', 'l' };
106static const symbol s_5_16[6] = { 'u', 'c', 'i', 0xC3, 0xB3, 'n' };
107static const symbol s_5_17[3] = { 'i', 'c', 'o' };
108static const symbol s_5_18[4] = { 'i', 's', 'm', 'o' };
109static const symbol s_5_19[3] = { 'o', 's', 'o' };
110static const symbol s_5_20[6] = { 'a', 'm', 'e', 'n', 't', 'o' };
111static const symbol s_5_21[6] = { 'i', 'm', 'e', 'n', 't', 'o' };
112static const symbol s_5_22[3] = { 'i', 'v', 'o' };
113static const symbol s_5_23[6] = { 'a', 0xC3, 0xA7, 'a', '~', 'o' };
114static const symbol s_5_24[4] = { 'a', 'd', 'o', 'r' };
115static const symbol s_5_25[4] = { 'i', 'c', 'a', 's' };
116static const symbol s_5_26[7] = { 0xC3, 0xAA, 'n', 'c', 'i', 'a', 's' };
117static const symbol s_5_27[4] = { 'i', 'r', 'a', 's' };
118static const symbol s_5_28[6] = { 'a', 'd', 'o', 'r', 'a', 's' };
119static const symbol s_5_29[4] = { 'o', 's', 'a', 's' };
120static const symbol s_5_30[5] = { 'i', 's', 't', 'a', 's' };
121static const symbol s_5_31[4] = { 'i', 'v', 'a', 's' };
122static const symbol s_5_32[4] = { 'e', 'z', 'a', 's' };
123static const symbol s_5_33[7] = { 'l', 'o', 'g', 0xC3, 0xAD, 'a', 's' };
124static const symbol s_5_34[6] = { 'i', 'd', 'a', 'd', 'e', 's' };
125static const symbol s_5_35[7] = { 'u', 'c', 'i', 'o', 'n', 'e', 's' };
126static const symbol s_5_36[6] = { 'a', 'd', 'o', 'r', 'e', 's' };
127static const symbol s_5_37[5] = { 'a', 'n', 't', 'e', 's' };
128static const symbol s_5_38[7] = { 'a', 0xC3, 0xA7, 'o', '~', 'e', 's' };
129static const symbol s_5_39[4] = { 'i', 'c', 'o', 's' };
130static const symbol s_5_40[5] = { 'i', 's', 'm', 'o', 's' };
131static const symbol s_5_41[4] = { 'o', 's', 'o', 's' };
132static const symbol s_5_42[7] = { 'a', 'm', 'e', 'n', 't', 'o', 's' };
133static const symbol s_5_43[7] = { 'i', 'm', 'e', 'n', 't', 'o', 's' };
134static const symbol s_5_44[4] = { 'i', 'v', 'o', 's' };
135
136static const struct among a_5[45] =
137{
138/* 0 */ { 3, s_5_0, -1, 1, 0},
139/* 1 */ { 6, s_5_1, -1, 1, 0},
140/* 2 */ { 6, s_5_2, -1, 4, 0},
141/* 3 */ { 3, s_5_3, -1, 9, 0},
142/* 4 */ { 5, s_5_4, -1, 1, 0},
143/* 5 */ { 3, s_5_5, -1, 1, 0},
144/* 6 */ { 4, s_5_6, -1, 1, 0},
145/* 7 */ { 3, s_5_7, -1, 8, 0},
146/* 8 */ { 3, s_5_8, -1, 1, 0},
147/* 9 */ { 6, s_5_9, -1, 2, 0},
148/* 10 */ { 5, s_5_10, -1, 7, 0},
149/* 11 */ { 4, s_5_11, -1, 1, 0},
150/* 12 */ { 5, s_5_12, -1, 6, 0},
151/* 13 */ { 6, s_5_13, 12, 5, 0},
152/* 14 */ { 5, s_5_14, -1, 1, 0},
153/* 15 */ { 5, s_5_15, -1, 1, 0},
154/* 16 */ { 6, s_5_16, -1, 3, 0},
155/* 17 */ { 3, s_5_17, -1, 1, 0},
156/* 18 */ { 4, s_5_18, -1, 1, 0},
157/* 19 */ { 3, s_5_19, -1, 1, 0},
158/* 20 */ { 6, s_5_20, -1, 1, 0},
159/* 21 */ { 6, s_5_21, -1, 1, 0},
160/* 22 */ { 3, s_5_22, -1, 8, 0},
161/* 23 */ { 6, s_5_23, -1, 1, 0},
162/* 24 */ { 4, s_5_24, -1, 1, 0},
163/* 25 */ { 4, s_5_25, -1, 1, 0},
164/* 26 */ { 7, s_5_26, -1, 4, 0},
165/* 27 */ { 4, s_5_27, -1, 9, 0},
166/* 28 */ { 6, s_5_28, -1, 1, 0},
167/* 29 */ { 4, s_5_29, -1, 1, 0},
168/* 30 */ { 5, s_5_30, -1, 1, 0},
169/* 31 */ { 4, s_5_31, -1, 8, 0},
170/* 32 */ { 4, s_5_32, -1, 1, 0},
171/* 33 */ { 7, s_5_33, -1, 2, 0},
172/* 34 */ { 6, s_5_34, -1, 7, 0},
173/* 35 */ { 7, s_5_35, -1, 3, 0},
174/* 36 */ { 6, s_5_36, -1, 1, 0},
175/* 37 */ { 5, s_5_37, -1, 1, 0},
176/* 38 */ { 7, s_5_38, -1, 1, 0},
177/* 39 */ { 4, s_5_39, -1, 1, 0},
178/* 40 */ { 5, s_5_40, -1, 1, 0},
179/* 41 */ { 4, s_5_41, -1, 1, 0},
180/* 42 */ { 7, s_5_42, -1, 1, 0},
181/* 43 */ { 7, s_5_43, -1, 1, 0},
182/* 44 */ { 4, s_5_44, -1, 8, 0}
183};
184
185static const symbol s_6_0[3] = { 'a', 'd', 'a' };
186static const symbol s_6_1[3] = { 'i', 'd', 'a' };
187static const symbol s_6_2[2] = { 'i', 'a' };
188static const symbol s_6_3[4] = { 'a', 'r', 'i', 'a' };
189static const symbol s_6_4[4] = { 'e', 'r', 'i', 'a' };
190static const symbol s_6_5[4] = { 'i', 'r', 'i', 'a' };
191static const symbol s_6_6[3] = { 'a', 'r', 'a' };
192static const symbol s_6_7[3] = { 'e', 'r', 'a' };
193static const symbol s_6_8[3] = { 'i', 'r', 'a' };
194static const symbol s_6_9[3] = { 'a', 'v', 'a' };
195static const symbol s_6_10[4] = { 'a', 's', 's', 'e' };
196static const symbol s_6_11[4] = { 'e', 's', 's', 'e' };
197static const symbol s_6_12[4] = { 'i', 's', 's', 'e' };
198static const symbol s_6_13[4] = { 'a', 's', 't', 'e' };
199static const symbol s_6_14[4] = { 'e', 's', 't', 'e' };
200static const symbol s_6_15[4] = { 'i', 's', 't', 'e' };
201static const symbol s_6_16[2] = { 'e', 'i' };
202static const symbol s_6_17[4] = { 'a', 'r', 'e', 'i' };
203static const symbol s_6_18[4] = { 'e', 'r', 'e', 'i' };
204static const symbol s_6_19[4] = { 'i', 'r', 'e', 'i' };
205static const symbol s_6_20[2] = { 'a', 'm' };
206static const symbol s_6_21[3] = { 'i', 'a', 'm' };
207static const symbol s_6_22[5] = { 'a', 'r', 'i', 'a', 'm' };
208static const symbol s_6_23[5] = { 'e', 'r', 'i', 'a', 'm' };
209static const symbol s_6_24[5] = { 'i', 'r', 'i', 'a', 'm' };
210static const symbol s_6_25[4] = { 'a', 'r', 'a', 'm' };
211static const symbol s_6_26[4] = { 'e', 'r', 'a', 'm' };
212static const symbol s_6_27[4] = { 'i', 'r', 'a', 'm' };
213static const symbol s_6_28[4] = { 'a', 'v', 'a', 'm' };
214static const symbol s_6_29[2] = { 'e', 'm' };
215static const symbol s_6_30[4] = { 'a', 'r', 'e', 'm' };
216static const symbol s_6_31[4] = { 'e', 'r', 'e', 'm' };
217static const symbol s_6_32[4] = { 'i', 'r', 'e', 'm' };
218static const symbol s_6_33[5] = { 'a', 's', 's', 'e', 'm' };
219static const symbol s_6_34[5] = { 'e', 's', 's', 'e', 'm' };
220static const symbol s_6_35[5] = { 'i', 's', 's', 'e', 'm' };
221static const symbol s_6_36[3] = { 'a', 'd', 'o' };
222static const symbol s_6_37[3] = { 'i', 'd', 'o' };
223static const symbol s_6_38[4] = { 'a', 'n', 'd', 'o' };
224static const symbol s_6_39[4] = { 'e', 'n', 'd', 'o' };
225static const symbol s_6_40[4] = { 'i', 'n', 'd', 'o' };
226static const symbol s_6_41[5] = { 'a', 'r', 'a', '~', 'o' };
227static const symbol s_6_42[5] = { 'e', 'r', 'a', '~', 'o' };
228static const symbol s_6_43[5] = { 'i', 'r', 'a', '~', 'o' };
229static const symbol s_6_44[2] = { 'a', 'r' };
230static const symbol s_6_45[2] = { 'e', 'r' };
231static const symbol s_6_46[2] = { 'i', 'r' };
232static const symbol s_6_47[2] = { 'a', 's' };
233static const symbol s_6_48[4] = { 'a', 'd', 'a', 's' };
234static const symbol s_6_49[4] = { 'i', 'd', 'a', 's' };
235static const symbol s_6_50[3] = { 'i', 'a', 's' };
236static const symbol s_6_51[5] = { 'a', 'r', 'i', 'a', 's' };
237static const symbol s_6_52[5] = { 'e', 'r', 'i', 'a', 's' };
238static const symbol s_6_53[5] = { 'i', 'r', 'i', 'a', 's' };
239static const symbol s_6_54[4] = { 'a', 'r', 'a', 's' };
240static const symbol s_6_55[4] = { 'e', 'r', 'a', 's' };
241static const symbol s_6_56[4] = { 'i', 'r', 'a', 's' };
242static const symbol s_6_57[4] = { 'a', 'v', 'a', 's' };
243static const symbol s_6_58[2] = { 'e', 's' };
244static const symbol s_6_59[5] = { 'a', 'r', 'd', 'e', 's' };
245static const symbol s_6_60[5] = { 'e', 'r', 'd', 'e', 's' };
246static const symbol s_6_61[5] = { 'i', 'r', 'd', 'e', 's' };
247static const symbol s_6_62[4] = { 'a', 'r', 'e', 's' };
248static const symbol s_6_63[4] = { 'e', 'r', 'e', 's' };
249static const symbol s_6_64[4] = { 'i', 'r', 'e', 's' };
250static const symbol s_6_65[5] = { 'a', 's', 's', 'e', 's' };
251static const symbol s_6_66[5] = { 'e', 's', 's', 'e', 's' };
252static const symbol s_6_67[5] = { 'i', 's', 's', 'e', 's' };
253static const symbol s_6_68[5] = { 'a', 's', 't', 'e', 's' };
254static const symbol s_6_69[5] = { 'e', 's', 't', 'e', 's' };
255static const symbol s_6_70[5] = { 'i', 's', 't', 'e', 's' };
256static const symbol s_6_71[2] = { 'i', 's' };
257static const symbol s_6_72[3] = { 'a', 'i', 's' };
258static const symbol s_6_73[3] = { 'e', 'i', 's' };
259static const symbol s_6_74[5] = { 'a', 'r', 'e', 'i', 's' };
260static const symbol s_6_75[5] = { 'e', 'r', 'e', 'i', 's' };
261static const symbol s_6_76[5] = { 'i', 'r', 'e', 'i', 's' };
262static const symbol s_6_77[6] = { 0xC3, 0xA1, 'r', 'e', 'i', 's' };
263static const symbol s_6_78[6] = { 0xC3, 0xA9, 'r', 'e', 'i', 's' };
264static const symbol s_6_79[6] = { 0xC3, 0xAD, 'r', 'e', 'i', 's' };
265static const symbol s_6_80[7] = { 0xC3, 0xA1, 's', 's', 'e', 'i', 's' };
266static const symbol s_6_81[7] = { 0xC3, 0xA9, 's', 's', 'e', 'i', 's' };
267static const symbol s_6_82[7] = { 0xC3, 0xAD, 's', 's', 'e', 'i', 's' };
268static const symbol s_6_83[6] = { 0xC3, 0xA1, 'v', 'e', 'i', 's' };
269static const symbol s_6_84[5] = { 0xC3, 0xAD, 'e', 'i', 's' };
270static const symbol s_6_85[7] = { 'a', 'r', 0xC3, 0xAD, 'e', 'i', 's' };
271static const symbol s_6_86[7] = { 'e', 'r', 0xC3, 0xAD, 'e', 'i', 's' };
272static const symbol s_6_87[7] = { 'i', 'r', 0xC3, 0xAD, 'e', 'i', 's' };
273static const symbol s_6_88[4] = { 'a', 'd', 'o', 's' };
274static const symbol s_6_89[4] = { 'i', 'd', 'o', 's' };
275static const symbol s_6_90[4] = { 'a', 'm', 'o', 's' };
276static const symbol s_6_91[7] = { 0xC3, 0xA1, 'r', 'a', 'm', 'o', 's' };
277static const symbol s_6_92[7] = { 0xC3, 0xA9, 'r', 'a', 'm', 'o', 's' };
278static const symbol s_6_93[7] = { 0xC3, 0xAD, 'r', 'a', 'm', 'o', 's' };
279static const symbol s_6_94[7] = { 0xC3, 0xA1, 'v', 'a', 'm', 'o', 's' };
280static const symbol s_6_95[6] = { 0xC3, 0xAD, 'a', 'm', 'o', 's' };
281static const symbol s_6_96[8] = { 'a', 'r', 0xC3, 0xAD, 'a', 'm', 'o', 's' };
282static const symbol s_6_97[8] = { 'e', 'r', 0xC3, 0xAD, 'a', 'm', 'o', 's' };
283static const symbol s_6_98[8] = { 'i', 'r', 0xC3, 0xAD, 'a', 'm', 'o', 's' };
284static const symbol s_6_99[4] = { 'e', 'm', 'o', 's' };
285static const symbol s_6_100[6] = { 'a', 'r', 'e', 'm', 'o', 's' };
286static const symbol s_6_101[6] = { 'e', 'r', 'e', 'm', 'o', 's' };
287static const symbol s_6_102[6] = { 'i', 'r', 'e', 'm', 'o', 's' };
288static const symbol s_6_103[8] = { 0xC3, 0xA1, 's', 's', 'e', 'm', 'o', 's' };
289static const symbol s_6_104[8] = { 0xC3, 0xAA, 's', 's', 'e', 'm', 'o', 's' };
290static const symbol s_6_105[8] = { 0xC3, 0xAD, 's', 's', 'e', 'm', 'o', 's' };
291static const symbol s_6_106[4] = { 'i', 'm', 'o', 's' };
292static const symbol s_6_107[5] = { 'a', 'r', 'm', 'o', 's' };
293static const symbol s_6_108[5] = { 'e', 'r', 'm', 'o', 's' };
294static const symbol s_6_109[5] = { 'i', 'r', 'm', 'o', 's' };
295static const symbol s_6_110[5] = { 0xC3, 0xA1, 'm', 'o', 's' };
296static const symbol s_6_111[5] = { 'a', 'r', 0xC3, 0xA1, 's' };
297static const symbol s_6_112[5] = { 'e', 'r', 0xC3, 0xA1, 's' };
298static const symbol s_6_113[5] = { 'i', 'r', 0xC3, 0xA1, 's' };
299static const symbol s_6_114[2] = { 'e', 'u' };
300static const symbol s_6_115[2] = { 'i', 'u' };
301static const symbol s_6_116[2] = { 'o', 'u' };
302static const symbol s_6_117[4] = { 'a', 'r', 0xC3, 0xA1 };
303static const symbol s_6_118[4] = { 'e', 'r', 0xC3, 0xA1 };
304static const symbol s_6_119[4] = { 'i', 'r', 0xC3, 0xA1 };
305
306static const struct among a_6[120] =
307{
308/* 0 */ { 3, s_6_0, -1, 1, 0},
309/* 1 */ { 3, s_6_1, -1, 1, 0},
310/* 2 */ { 2, s_6_2, -1, 1, 0},
311/* 3 */ { 4, s_6_3, 2, 1, 0},
312/* 4 */ { 4, s_6_4, 2, 1, 0},
313/* 5 */ { 4, s_6_5, 2, 1, 0},
314/* 6 */ { 3, s_6_6, -1, 1, 0},
315/* 7 */ { 3, s_6_7, -1, 1, 0},
316/* 8 */ { 3, s_6_8, -1, 1, 0},
317/* 9 */ { 3, s_6_9, -1, 1, 0},
318/* 10 */ { 4, s_6_10, -1, 1, 0},
319/* 11 */ { 4, s_6_11, -1, 1, 0},
320/* 12 */ { 4, s_6_12, -1, 1, 0},
321/* 13 */ { 4, s_6_13, -1, 1, 0},
322/* 14 */ { 4, s_6_14, -1, 1, 0},
323/* 15 */ { 4, s_6_15, -1, 1, 0},
324/* 16 */ { 2, s_6_16, -1, 1, 0},
325/* 17 */ { 4, s_6_17, 16, 1, 0},
326/* 18 */ { 4, s_6_18, 16, 1, 0},
327/* 19 */ { 4, s_6_19, 16, 1, 0},
328/* 20 */ { 2, s_6_20, -1, 1, 0},
329/* 21 */ { 3, s_6_21, 20, 1, 0},
330/* 22 */ { 5, s_6_22, 21, 1, 0},
331/* 23 */ { 5, s_6_23, 21, 1, 0},
332/* 24 */ { 5, s_6_24, 21, 1, 0},
333/* 25 */ { 4, s_6_25, 20, 1, 0},
334/* 26 */ { 4, s_6_26, 20, 1, 0},
335/* 27 */ { 4, s_6_27, 20, 1, 0},
336/* 28 */ { 4, s_6_28, 20, 1, 0},
337/* 29 */ { 2, s_6_29, -1, 1, 0},
338/* 30 */ { 4, s_6_30, 29, 1, 0},
339/* 31 */ { 4, s_6_31, 29, 1, 0},
340/* 32 */ { 4, s_6_32, 29, 1, 0},
341/* 33 */ { 5, s_6_33, 29, 1, 0},
342/* 34 */ { 5, s_6_34, 29, 1, 0},
343/* 35 */ { 5, s_6_35, 29, 1, 0},
344/* 36 */ { 3, s_6_36, -1, 1, 0},
345/* 37 */ { 3, s_6_37, -1, 1, 0},
346/* 38 */ { 4, s_6_38, -1, 1, 0},
347/* 39 */ { 4, s_6_39, -1, 1, 0},
348/* 40 */ { 4, s_6_40, -1, 1, 0},
349/* 41 */ { 5, s_6_41, -1, 1, 0},
350/* 42 */ { 5, s_6_42, -1, 1, 0},
351/* 43 */ { 5, s_6_43, -1, 1, 0},
352/* 44 */ { 2, s_6_44, -1, 1, 0},
353/* 45 */ { 2, s_6_45, -1, 1, 0},
354/* 46 */ { 2, s_6_46, -1, 1, 0},
355/* 47 */ { 2, s_6_47, -1, 1, 0},
356/* 48 */ { 4, s_6_48, 47, 1, 0},
357/* 49 */ { 4, s_6_49, 47, 1, 0},
358/* 50 */ { 3, s_6_50, 47, 1, 0},
359/* 51 */ { 5, s_6_51, 50, 1, 0},
360/* 52 */ { 5, s_6_52, 50, 1, 0},
361/* 53 */ { 5, s_6_53, 50, 1, 0},
362/* 54 */ { 4, s_6_54, 47, 1, 0},
363/* 55 */ { 4, s_6_55, 47, 1, 0},
364/* 56 */ { 4, s_6_56, 47, 1, 0},
365/* 57 */ { 4, s_6_57, 47, 1, 0},
366/* 58 */ { 2, s_6_58, -1, 1, 0},
367/* 59 */ { 5, s_6_59, 58, 1, 0},
368/* 60 */ { 5, s_6_60, 58, 1, 0},
369/* 61 */ { 5, s_6_61, 58, 1, 0},
370/* 62 */ { 4, s_6_62, 58, 1, 0},
371/* 63 */ { 4, s_6_63, 58, 1, 0},
372/* 64 */ { 4, s_6_64, 58, 1, 0},
373/* 65 */ { 5, s_6_65, 58, 1, 0},
374/* 66 */ { 5, s_6_66, 58, 1, 0},
375/* 67 */ { 5, s_6_67, 58, 1, 0},
376/* 68 */ { 5, s_6_68, 58, 1, 0},
377/* 69 */ { 5, s_6_69, 58, 1, 0},
378/* 70 */ { 5, s_6_70, 58, 1, 0},
379/* 71 */ { 2, s_6_71, -1, 1, 0},
380/* 72 */ { 3, s_6_72, 71, 1, 0},
381/* 73 */ { 3, s_6_73, 71, 1, 0},
382/* 74 */ { 5, s_6_74, 73, 1, 0},
383/* 75 */ { 5, s_6_75, 73, 1, 0},
384/* 76 */ { 5, s_6_76, 73, 1, 0},
385/* 77 */ { 6, s_6_77, 73, 1, 0},
386/* 78 */ { 6, s_6_78, 73, 1, 0},
387/* 79 */ { 6, s_6_79, 73, 1, 0},
388/* 80 */ { 7, s_6_80, 73, 1, 0},
389/* 81 */ { 7, s_6_81, 73, 1, 0},
390/* 82 */ { 7, s_6_82, 73, 1, 0},
391/* 83 */ { 6, s_6_83, 73, 1, 0},
392/* 84 */ { 5, s_6_84, 73, 1, 0},
393/* 85 */ { 7, s_6_85, 84, 1, 0},
394/* 86 */ { 7, s_6_86, 84, 1, 0},
395/* 87 */ { 7, s_6_87, 84, 1, 0},
396/* 88 */ { 4, s_6_88, -1, 1, 0},
397/* 89 */ { 4, s_6_89, -1, 1, 0},
398/* 90 */ { 4, s_6_90, -1, 1, 0},
399/* 91 */ { 7, s_6_91, 90, 1, 0},
400/* 92 */ { 7, s_6_92, 90, 1, 0},
401/* 93 */ { 7, s_6_93, 90, 1, 0},
402/* 94 */ { 7, s_6_94, 90, 1, 0},
403/* 95 */ { 6, s_6_95, 90, 1, 0},
404/* 96 */ { 8, s_6_96, 95, 1, 0},
405/* 97 */ { 8, s_6_97, 95, 1, 0},
406/* 98 */ { 8, s_6_98, 95, 1, 0},
407/* 99 */ { 4, s_6_99, -1, 1, 0},
408/*100 */ { 6, s_6_100, 99, 1, 0},
409/*101 */ { 6, s_6_101, 99, 1, 0},
410/*102 */ { 6, s_6_102, 99, 1, 0},
411/*103 */ { 8, s_6_103, 99, 1, 0},
412/*104 */ { 8, s_6_104, 99, 1, 0},
413/*105 */ { 8, s_6_105, 99, 1, 0},
414/*106 */ { 4, s_6_106, -1, 1, 0},
415/*107 */ { 5, s_6_107, -1, 1, 0},
416/*108 */ { 5, s_6_108, -1, 1, 0},
417/*109 */ { 5, s_6_109, -1, 1, 0},
418/*110 */ { 5, s_6_110, -1, 1, 0},
419/*111 */ { 5, s_6_111, -1, 1, 0},
420/*112 */ { 5, s_6_112, -1, 1, 0},
421/*113 */ { 5, s_6_113, -1, 1, 0},
422/*114 */ { 2, s_6_114, -1, 1, 0},
423/*115 */ { 2, s_6_115, -1, 1, 0},
424/*116 */ { 2, s_6_116, -1, 1, 0},
425/*117 */ { 4, s_6_117, -1, 1, 0},
426/*118 */ { 4, s_6_118, -1, 1, 0},
427/*119 */ { 4, s_6_119, -1, 1, 0}
428};
429
430static const symbol s_7_0[1] = { 'a' };
431static const symbol s_7_1[1] = { 'i' };
432static const symbol s_7_2[1] = { 'o' };
433static const symbol s_7_3[2] = { 'o', 's' };
434static const symbol s_7_4[2] = { 0xC3, 0xA1 };
435static const symbol s_7_5[2] = { 0xC3, 0xAD };
436static const symbol s_7_6[2] = { 0xC3, 0xB3 };
437
438static const struct among a_7[7] =
439{
440/* 0 */ { 1, s_7_0, -1, 1, 0},
441/* 1 */ { 1, s_7_1, -1, 1, 0},
442/* 2 */ { 1, s_7_2, -1, 1, 0},
443/* 3 */ { 2, s_7_3, -1, 1, 0},
444/* 4 */ { 2, s_7_4, -1, 1, 0},
445/* 5 */ { 2, s_7_5, -1, 1, 0},
446/* 6 */ { 2, s_7_6, -1, 1, 0}
447};
448
449static const symbol s_8_0[1] = { 'e' };
450static const symbol s_8_1[2] = { 0xC3, 0xA7 };
451static const symbol s_8_2[2] = { 0xC3, 0xA9 };
452static const symbol s_8_3[2] = { 0xC3, 0xAA };
453
454static const struct among a_8[4] =
455{
456/* 0 */ { 1, s_8_0, -1, 1, 0},
457/* 1 */ { 2, s_8_1, -1, 2, 0},
458/* 2 */ { 2, s_8_2, -1, 1, 0},
459/* 3 */ { 2, s_8_3, -1, 1, 0}
460};
461
462static const unsigned char g_v[] = { 17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 19, 12, 2 };
463
464static const symbol s_0[] = { 'a', '~' };
465static const symbol s_1[] = { 'o', '~' };
466static const symbol s_2[] = { 0xC3, 0xA3 };
467static const symbol s_3[] = { 0xC3, 0xB5 };
468static const symbol s_4[] = { 'l', 'o', 'g' };
469static const symbol s_5[] = { 'u' };
470static const symbol s_6[] = { 'e', 'n', 't', 'e' };
471static const symbol s_7[] = { 'a', 't' };
472static const symbol s_8[] = { 'a', 't' };
473static const symbol s_9[] = { 'e' };
474static const symbol s_10[] = { 'i', 'r' };
475static const symbol s_11[] = { 'u' };
476static const symbol s_12[] = { 'g' };
477static const symbol s_13[] = { 'i' };
478static const symbol s_14[] = { 'c' };
479static const symbol s_15[] = { 'c' };
480static const symbol s_16[] = { 'i' };
481static const symbol s_17[] = { 'c' };
482
483static int r_prelude(struct SN_env * z) {
484 int among_var;
485 while(1) { /* repeat, line 36 */
486 int c1 = z->c;
487 z->bra = z->c; /* [, line 37 */
488 if (z->c + 1 >= z->l || (z->p[z->c + 1] != 163 && z->p[z->c + 1] != 181)) among_var = 3; else
489 among_var = find_among(z, a_0, 3); /* substring, line 37 */
490 if (!(among_var)) goto lab0;
491 z->ket = z->c; /* ], line 37 */
492 switch(among_var) {
493 case 0: goto lab0;
494 case 1:
495 { int ret = slice_from_s(z, 2, s_0); /* <-, line 38 */
496 if (ret < 0) return ret;
497 }
498 break;
499 case 2:
500 { int ret = slice_from_s(z, 2, s_1); /* <-, line 39 */
501 if (ret < 0) return ret;
502 }
503 break;
504 case 3:
505 { int ret = skip_utf8(z->p, z->c, 0, z->l, 1);
506 if (ret < 0) goto lab0;
507 z->c = ret; /* next, line 40 */
508 }
509 break;
510 }
511 continue;
512 lab0:
513 z->c = c1;
514 break;
515 }
516 return 1;
517}
518
519static int r_mark_regions(struct SN_env * z) {
520 z->I[0] = z->l;
521 z->I[1] = z->l;
522 z->I[2] = z->l;
523 { int c1 = z->c; /* do, line 50 */
524 { int c2 = z->c; /* or, line 52 */
525 if (in_grouping_U(z, g_v, 97, 250, 0)) goto lab2;
526 { int c3 = z->c; /* or, line 51 */
527 if (out_grouping_U(z, g_v, 97, 250, 0)) goto lab4;
528 { /* gopast */ /* grouping v, line 51 */
529 int ret = out_grouping_U(z, g_v, 97, 250, 1);
530 if (ret < 0) goto lab4;
531 z->c += ret;
532 }
533 goto lab3;
534 lab4:
535 z->c = c3;
536 if (in_grouping_U(z, g_v, 97, 250, 0)) goto lab2;
537 { /* gopast */ /* non v, line 51 */
538 int ret = in_grouping_U(z, g_v, 97, 250, 1);
539 if (ret < 0) goto lab2;
540 z->c += ret;
541 }
542 }
543 lab3:
544 goto lab1;
545 lab2:
546 z->c = c2;
547 if (out_grouping_U(z, g_v, 97, 250, 0)) goto lab0;
548 { int c4 = z->c; /* or, line 53 */
549 if (out_grouping_U(z, g_v, 97, 250, 0)) goto lab6;
550 { /* gopast */ /* grouping v, line 53 */
551 int ret = out_grouping_U(z, g_v, 97, 250, 1);
552 if (ret < 0) goto lab6;
553 z->c += ret;
554 }
555 goto lab5;
556 lab6:
557 z->c = c4;
558 if (in_grouping_U(z, g_v, 97, 250, 0)) goto lab0;
559 { int ret = skip_utf8(z->p, z->c, 0, z->l, 1);
560 if (ret < 0) goto lab0;
561 z->c = ret; /* next, line 53 */
562 }
563 }
564 lab5:
565 ;
566 }
567 lab1:
568 z->I[0] = z->c; /* setmark pV, line 54 */
569 lab0:
570 z->c = c1;
571 }
572 { int c5 = z->c; /* do, line 56 */
573 { /* gopast */ /* grouping v, line 57 */
574 int ret = out_grouping_U(z, g_v, 97, 250, 1);
575 if (ret < 0) goto lab7;
576 z->c += ret;
577 }
578 { /* gopast */ /* non v, line 57 */
579 int ret = in_grouping_U(z, g_v, 97, 250, 1);
580 if (ret < 0) goto lab7;
581 z->c += ret;
582 }
583 z->I[1] = z->c; /* setmark p1, line 57 */
584 { /* gopast */ /* grouping v, line 58 */
585 int ret = out_grouping_U(z, g_v, 97, 250, 1);
586 if (ret < 0) goto lab7;
587 z->c += ret;
588 }
589 { /* gopast */ /* non v, line 58 */
590 int ret = in_grouping_U(z, g_v, 97, 250, 1);
591 if (ret < 0) goto lab7;
592 z->c += ret;
593 }
594 z->I[2] = z->c; /* setmark p2, line 58 */
595 lab7:
596 z->c = c5;
597 }
598 return 1;
599}
600
601static int r_postlude(struct SN_env * z) {
602 int among_var;
603 while(1) { /* repeat, line 62 */
604 int c1 = z->c;
605 z->bra = z->c; /* [, line 63 */
606 if (z->c + 1 >= z->l || z->p[z->c + 1] != 126) among_var = 3; else
607 among_var = find_among(z, a_1, 3); /* substring, line 63 */
608 if (!(among_var)) goto lab0;
609 z->ket = z->c; /* ], line 63 */
610 switch(among_var) {
611 case 0: goto lab0;
612 case 1:
613 { int ret = slice_from_s(z, 2, s_2); /* <-, line 64 */
614 if (ret < 0) return ret;
615 }
616 break;
617 case 2:
618 { int ret = slice_from_s(z, 2, s_3); /* <-, line 65 */
619 if (ret < 0) return ret;
620 }
621 break;
622 case 3:
623 { int ret = skip_utf8(z->p, z->c, 0, z->l, 1);
624 if (ret < 0) goto lab0;
625 z->c = ret; /* next, line 66 */
626 }
627 break;
628 }
629 continue;
630 lab0:
631 z->c = c1;
632 break;
633 }
634 return 1;
635}
636
637static int r_RV(struct SN_env * z) {
638 if (!(z->I[0] <= z->c)) return 0;
639 return 1;
640}
641
642static int r_R1(struct SN_env * z) {
643 if (!(z->I[1] <= z->c)) return 0;
644 return 1;
645}
646
647static int r_R2(struct SN_env * z) {
648 if (!(z->I[2] <= z->c)) return 0;
649 return 1;
650}
651
652static int r_standard_suffix(struct SN_env * z) {
653 int among_var;
654 z->ket = z->c; /* [, line 77 */
655 if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((839714 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
656 among_var = find_among_b(z, a_5, 45); /* substring, line 77 */
657 if (!(among_var)) return 0;
658 z->bra = z->c; /* ], line 77 */
659 switch(among_var) {
660 case 0: return 0;
661 case 1:
662 { int ret = r_R2(z);
663 if (ret == 0) return 0; /* call R2, line 93 */
664 if (ret < 0) return ret;
665 }
666 { int ret = slice_del(z); /* delete, line 93 */
667 if (ret < 0) return ret;
668 }
669 break;
670 case 2:
671 { int ret = r_R2(z);
672 if (ret == 0) return 0; /* call R2, line 98 */
673 if (ret < 0) return ret;
674 }
675 { int ret = slice_from_s(z, 3, s_4); /* <-, line 98 */
676 if (ret < 0) return ret;
677 }
678 break;
679 case 3:
680 { int ret = r_R2(z);
681 if (ret == 0) return 0; /* call R2, line 102 */
682 if (ret < 0) return ret;
683 }
684 { int ret = slice_from_s(z, 1, s_5); /* <-, line 102 */
685 if (ret < 0) return ret;
686 }
687 break;
688 case 4:
689 { int ret = r_R2(z);
690 if (ret == 0) return 0; /* call R2, line 106 */
691 if (ret < 0) return ret;
692 }
693 { int ret = slice_from_s(z, 4, s_6); /* <-, line 106 */
694 if (ret < 0) return ret;
695 }
696 break;
697 case 5:
698 { int ret = r_R1(z);
699 if (ret == 0) return 0; /* call R1, line 110 */
700 if (ret < 0) return ret;
701 }
702 { int ret = slice_del(z); /* delete, line 110 */
703 if (ret < 0) return ret;
704 }
705 { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 111 */
706 z->ket = z->c; /* [, line 112 */
707 if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4718616 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l - m_keep; goto lab0; }
708 among_var = find_among_b(z, a_2, 4); /* substring, line 112 */
709 if (!(among_var)) { z->c = z->l - m_keep; goto lab0; }
710 z->bra = z->c; /* ], line 112 */
711 { int ret = r_R2(z);
712 if (ret == 0) { z->c = z->l - m_keep; goto lab0; } /* call R2, line 112 */
713 if (ret < 0) return ret;
714 }
715 { int ret = slice_del(z); /* delete, line 112 */
716 if (ret < 0) return ret;
717 }
718 switch(among_var) {
719 case 0: { z->c = z->l - m_keep; goto lab0; }
720 case 1:
721 z->ket = z->c; /* [, line 113 */
722 if (!(eq_s_b(z, 2, s_7))) { z->c = z->l - m_keep; goto lab0; }
723 z->bra = z->c; /* ], line 113 */
724 { int ret = r_R2(z);
725 if (ret == 0) { z->c = z->l - m_keep; goto lab0; } /* call R2, line 113 */
726 if (ret < 0) return ret;
727 }
728 { int ret = slice_del(z); /* delete, line 113 */
729 if (ret < 0) return ret;
730 }
731 break;
732 }
733 lab0:
734 ;
735 }
736 break;
737 case 6:
738 { int ret = r_R2(z);
739 if (ret == 0) return 0; /* call R2, line 122 */
740 if (ret < 0) return ret;
741 }
742 { int ret = slice_del(z); /* delete, line 122 */
743 if (ret < 0) return ret;
744 }
745 { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 123 */
746 z->ket = z->c; /* [, line 124 */
747 if (z->c - 3 <= z->lb || (z->p[z->c - 1] != 101 && z->p[z->c - 1] != 108)) { z->c = z->l - m_keep; goto lab1; }
748 among_var = find_among_b(z, a_3, 3); /* substring, line 124 */
749 if (!(among_var)) { z->c = z->l - m_keep; goto lab1; }
750 z->bra = z->c; /* ], line 124 */
751 switch(among_var) {
752 case 0: { z->c = z->l - m_keep; goto lab1; }
753 case 1:
754 { int ret = r_R2(z);
755 if (ret == 0) { z->c = z->l - m_keep; goto lab1; } /* call R2, line 127 */
756 if (ret < 0) return ret;
757 }
758 { int ret = slice_del(z); /* delete, line 127 */
759 if (ret < 0) return ret;
760 }
761 break;
762 }
763 lab1:
764 ;
765 }
766 break;
767 case 7:
768 { int ret = r_R2(z);
769 if (ret == 0) return 0; /* call R2, line 134 */
770 if (ret < 0) return ret;
771 }
772 { int ret = slice_del(z); /* delete, line 134 */
773 if (ret < 0) return ret;
774 }
775 { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 135 */
776 z->ket = z->c; /* [, line 136 */
777 if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4198408 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l - m_keep; goto lab2; }
778 among_var = find_among_b(z, a_4, 3); /* substring, line 136 */
779 if (!(among_var)) { z->c = z->l - m_keep; goto lab2; }
780 z->bra = z->c; /* ], line 136 */
781 switch(among_var) {
782 case 0: { z->c = z->l - m_keep; goto lab2; }
783 case 1:
784 { int ret = r_R2(z);
785 if (ret == 0) { z->c = z->l - m_keep; goto lab2; } /* call R2, line 139 */
786 if (ret < 0) return ret;
787 }
788 { int ret = slice_del(z); /* delete, line 139 */
789 if (ret < 0) return ret;
790 }
791 break;
792 }
793 lab2:
794 ;
795 }
796 break;
797 case 8:
798 { int ret = r_R2(z);
799 if (ret == 0) return 0; /* call R2, line 146 */
800 if (ret < 0) return ret;
801 }
802 { int ret = slice_del(z); /* delete, line 146 */
803 if (ret < 0) return ret;
804 }
805 { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 147 */
806 z->ket = z->c; /* [, line 148 */
807 if (!(eq_s_b(z, 2, s_8))) { z->c = z->l - m_keep; goto lab3; }
808 z->bra = z->c; /* ], line 148 */
809 { int ret = r_R2(z);
810 if (ret == 0) { z->c = z->l - m_keep; goto lab3; } /* call R2, line 148 */
811 if (ret < 0) return ret;
812 }
813 { int ret = slice_del(z); /* delete, line 148 */
814 if (ret < 0) return ret;
815 }
816 lab3:
817 ;
818 }
819 break;
820 case 9:
821 { int ret = r_RV(z);
822 if (ret == 0) return 0; /* call RV, line 153 */
823 if (ret < 0) return ret;
824 }
825 if (!(eq_s_b(z, 1, s_9))) return 0;
826 { int ret = slice_from_s(z, 2, s_10); /* <-, line 154 */
827 if (ret < 0) return ret;
828 }
829 break;
830 }
831 return 1;
832}
833
834static int r_verb_suffix(struct SN_env * z) {
835 int among_var;
836 { int mlimit; /* setlimit, line 159 */
837 int m1 = z->l - z->c; (void)m1;
838 if (z->c < z->I[0]) return 0;
839 z->c = z->I[0]; /* tomark, line 159 */
840 mlimit = z->lb; z->lb = z->c;
841 z->c = z->l - m1;
842 z->ket = z->c; /* [, line 160 */
843 among_var = find_among_b(z, a_6, 120); /* substring, line 160 */
844 if (!(among_var)) { z->lb = mlimit; return 0; }
845 z->bra = z->c; /* ], line 160 */
846 switch(among_var) {
847 case 0: { z->lb = mlimit; return 0; }
848 case 1:
849 { int ret = slice_del(z); /* delete, line 179 */
850 if (ret < 0) return ret;
851 }
852 break;
853 }
854 z->lb = mlimit;
855 }
856 return 1;
857}
858
859static int r_residual_suffix(struct SN_env * z) {
860 int among_var;
861 z->ket = z->c; /* [, line 184 */
862 among_var = find_among_b(z, a_7, 7); /* substring, line 184 */
863 if (!(among_var)) return 0;
864 z->bra = z->c; /* ], line 184 */
865 switch(among_var) {
866 case 0: return 0;
867 case 1:
868 { int ret = r_RV(z);
869 if (ret == 0) return 0; /* call RV, line 187 */
870 if (ret < 0) return ret;
871 }
872 { int ret = slice_del(z); /* delete, line 187 */
873 if (ret < 0) return ret;
874 }
875 break;
876 }
877 return 1;
878}
879
880static int r_residual_form(struct SN_env * z) {
881 int among_var;
882 z->ket = z->c; /* [, line 192 */
883 among_var = find_among_b(z, a_8, 4); /* substring, line 192 */
884 if (!(among_var)) return 0;
885 z->bra = z->c; /* ], line 192 */
886 switch(among_var) {
887 case 0: return 0;
888 case 1:
889 { int ret = r_RV(z);
890 if (ret == 0) return 0; /* call RV, line 194 */
891 if (ret < 0) return ret;
892 }
893 { int ret = slice_del(z); /* delete, line 194 */
894 if (ret < 0) return ret;
895 }
896 z->ket = z->c; /* [, line 194 */
897 { int m1 = z->l - z->c; (void)m1; /* or, line 194 */
898 if (!(eq_s_b(z, 1, s_11))) goto lab1;
899 z->bra = z->c; /* ], line 194 */
900 { int m_test = z->l - z->c; /* test, line 194 */
901 if (!(eq_s_b(z, 1, s_12))) goto lab1;
902 z->c = z->l - m_test;
903 }
904 goto lab0;
905 lab1:
906 z->c = z->l - m1;
907 if (!(eq_s_b(z, 1, s_13))) return 0;
908 z->bra = z->c; /* ], line 195 */
909 { int m_test = z->l - z->c; /* test, line 195 */
910 if (!(eq_s_b(z, 1, s_14))) return 0;
911 z->c = z->l - m_test;
912 }
913 }
914 lab0:
915 { int ret = r_RV(z);
916 if (ret == 0) return 0; /* call RV, line 195 */
917 if (ret < 0) return ret;
918 }
919 { int ret = slice_del(z); /* delete, line 195 */
920 if (ret < 0) return ret;
921 }
922 break;
923 case 2:
924 { int ret = slice_from_s(z, 1, s_15); /* <-, line 196 */
925 if (ret < 0) return ret;
926 }
927 break;
928 }
929 return 1;
930}
931
932extern int portuguese_UTF_8_stem(struct SN_env * z) {
933 { int c1 = z->c; /* do, line 202 */
934 { int ret = r_prelude(z);
935 if (ret == 0) goto lab0; /* call prelude, line 202 */
936 if (ret < 0) return ret;
937 }
938 lab0:
939 z->c = c1;
940 }
941 { int c2 = z->c; /* do, line 203 */
942 { int ret = r_mark_regions(z);
943 if (ret == 0) goto lab1; /* call mark_regions, line 203 */
944 if (ret < 0) return ret;
945 }
946 lab1:
947 z->c = c2;
948 }
949 z->lb = z->c; z->c = z->l; /* backwards, line 204 */
950
951 { int m3 = z->l - z->c; (void)m3; /* do, line 205 */
952 { int m4 = z->l - z->c; (void)m4; /* or, line 209 */
953 { int m5 = z->l - z->c; (void)m5; /* and, line 207 */
954 { int m6 = z->l - z->c; (void)m6; /* or, line 206 */
955 { int ret = r_standard_suffix(z);
956 if (ret == 0) goto lab6; /* call standard_suffix, line 206 */
957 if (ret < 0) return ret;
958 }
959 goto lab5;
960 lab6:
961 z->c = z->l - m6;
962 { int ret = r_verb_suffix(z);
963 if (ret == 0) goto lab4; /* call verb_suffix, line 206 */
964 if (ret < 0) return ret;
965 }
966 }
967 lab5:
968 z->c = z->l - m5;
969 { int m7 = z->l - z->c; (void)m7; /* do, line 207 */
970 z->ket = z->c; /* [, line 207 */
971 if (!(eq_s_b(z, 1, s_16))) goto lab7;
972 z->bra = z->c; /* ], line 207 */
973 { int m_test = z->l - z->c; /* test, line 207 */
974 if (!(eq_s_b(z, 1, s_17))) goto lab7;
975 z->c = z->l - m_test;
976 }
977 { int ret = r_RV(z);
978 if (ret == 0) goto lab7; /* call RV, line 207 */
979 if (ret < 0) return ret;
980 }
981 { int ret = slice_del(z); /* delete, line 207 */
982 if (ret < 0) return ret;
983 }
984 lab7:
985 z->c = z->l - m7;
986 }
987 }
988 goto lab3;
989 lab4:
990 z->c = z->l - m4;
991 { int ret = r_residual_suffix(z);
992 if (ret == 0) goto lab2; /* call residual_suffix, line 209 */
993 if (ret < 0) return ret;
994 }
995 }
996 lab3:
997 lab2:
998 z->c = z->l - m3;
999 }
1000 { int m8 = z->l - z->c; (void)m8; /* do, line 211 */
1001 { int ret = r_residual_form(z);
1002 if (ret == 0) goto lab8; /* call residual_form, line 211 */
1003 if (ret < 0) return ret;
1004 }
1005 lab8:
1006 z->c = z->l - m8;
1007 }
1008 z->c = z->lb;
1009 { int c9 = z->c; /* do, line 213 */
1010 { int ret = r_postlude(z);
1011 if (ret == 0) goto lab9; /* call postlude, line 213 */
1012 if (ret < 0) return ret;
1013 }
1014 lab9:
1015 z->c = c9;
1016 }
1017 return 1;
1018}
1019
1020extern struct SN_env * portuguese_UTF_8_create_env(void) { return SN_create_env(0, 3, 0); }
1021
1022extern void portuguese_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); }
1023
struct SN_env * SN_create_env(int S_size, int I_size, int B_size)
Definition api.c:5
void SN_close_env(struct SN_env *z, int S_size)
Definition api.c:42
unsigned char symbol
Definition api.h:2
int find_among_b(struct SN_env *z, const struct among *v, int v_size)
Definition utilities.c:272
int out_grouping_U(struct SN_env *z, const unsigned char *s, int min, int max, int repeat)
Definition utilities.c:120
int slice_del(struct SN_env *z)
Definition utilities.c:406
int in_grouping_U(struct SN_env *z, const unsigned char *s, int min, int max, int repeat)
Definition utilities.c:96
int skip_utf8(const symbol *p, int c, int lb, int l, int n)
Definition utilities.c:35
int eq_s_b(struct SN_env *z, int s_size, const symbol *s)
Definition utilities.c:199
int find_among(struct SN_env *z, const struct among *v, int v_size)
Definition utilities.c:212
int slice_from_s(struct SN_env *z, int s_size, const symbol *s)
Definition utilities.c:397
static const struct among a_2[5]
static const symbol s_0_2[4]
static const symbol s_2[]
static const struct among a_0[32]
static const symbol s_1_2[2]
static const symbol s_2_3[3]
static const symbol s_2_0[2]
static const struct among a_1[4]
static const symbol s_2_1[3]
static const symbol s_2_2[4]
static const symbol s_0_1[5]
static const symbol s_1_1[2]
static const symbol s_1[]
static const unsigned char g_v[]
static const symbol s_0[]
static const struct among a_5[4]
static const symbol s_4[]
static const symbol s_5_3[2]
static const symbol s_3_1[2]
static const symbol s_5_0[2]
static const symbol s_4_1[2]
static const struct among a_4[6]
static const symbol s_6[]
static const symbol s_3[]
static const symbol s_3_0[3]
static const symbol s_7[]
static const symbol s_13[]
static const symbol s_16[]
static const symbol s_14[]
static const symbol s_10[]
static const symbol s_5_2[2]
static const symbol s_11[]
static const symbol s_12[]
static const struct among a_3[5]
static const symbol s_5_1[2]
static const symbol s_17[]
static const symbol s_8[]
static const symbol s_9[]
static const symbol s_3_2[2]
static const symbol s_5[]
static const symbol s_15[]
static const symbol s_4_2[3]
static const symbol s_4_0[3]
static const symbol s_5_23[7]
static const symbol s_8_1[1]
static const symbol s_5_6[4]
static const symbol s_5_16[5]
static const struct among a_7[18]
static const symbol s_5_21[7]
static const symbol s_6_6[7]
static const symbol s_5_10[5]
static const symbol s_7_1[4]
static const struct among a_6[9]
static const symbol s_5_12[6]
static const symbol s_5_11[5]
static const symbol s_5_17[5]
static const symbol s_7_0[2]
static const symbol s_5_22[7]
static const symbol s_6_5[6]
static const symbol s_5_13[5]
static const symbol s_5_9[5]
static const symbol s_7_5[3]
static const symbol s_6_2[5]
static const symbol s_6_4[4]
static const symbol s_7_3[4]
static const symbol s_6_8[4]
static const symbol s_6_1[5]
static const symbol s_6_3[5]
static const symbol s_5_15[7]
static const symbol s_6_7[3]
static const symbol s_5_4[3]
static const symbol s_7_2[4]
static const symbol s_5_7[5]
static const symbol s_5_19[4]
static const symbol s_7_4[4]
static const symbol s_6_0[5]
static const symbol s_5_8[6]
static const symbol s_5_5[4]
static const symbol s_7_6[3]
static const symbol s_5_14[6]
static const symbol s_8_0[1]
static const symbol s_5_20[4]
static const symbol s_5_18[7]
static const struct among a_8[2]
static const symbol s_6_17[3]
static const symbol s_6_23[3]
static const symbol s_6_28[3]
static const symbol s_6_15[3]
static const symbol s_6_12[3]
static const symbol s_6_22[1]
static const symbol s_6_19[3]
static const symbol s_6_10[3]
static const symbol s_6_21[3]
static const symbol s_6_13[3]
static const symbol s_6_18[4]
static const symbol s_6_9[3]
static const symbol s_6_16[4]
static const symbol s_6_20[3]
static const symbol s_6_24[2]
static const symbol s_6_11[1]
static const symbol s_6_27[3]
static const symbol s_6_25[3]
static const symbol s_6_14[4]
static const symbol s_6_26[2]
static const symbol s_6_29[3]
static const symbol s_5_30[2]
static const symbol s_5_27[5]
static const symbol s_5_31[5]
static const symbol s_5_33[4]
static const symbol s_6_34[5]
static const symbol s_6_36[4]
static const symbol s_5_24[6]
static const symbol s_6_37[1]
static const symbol s_6_32[2]
static const symbol s_5_25[7]
static const symbol s_6_35[6]
static const symbol s_5_26[8]
static const symbol s_5_34[5]
static const symbol s_8_2[3]
static const symbol s_6_30[5]
static const symbol s_6_31[2]
static const symbol s_6_33[3]
static const symbol s_5_32[6]
static const symbol s_5_29[5]
static const symbol s_5_28[6]
static const symbol s_8_3[3]
static const symbol s_6_48[4]
static const symbol s_6_38[6]
static const symbol s_6_50[4]
static const symbol s_6_41[3]
static const symbol s_6_47[3]
static const symbol s_6_39[4]
static const symbol s_6_45[6]
static const symbol s_6_44[6]
static const symbol s_6_43[3]
static const symbol s_6_42[4]
static const symbol s_6_49[4]
static const symbol s_6_40[3]
static const symbol s_6_46[3]
static const symbol s_6_94[6]
static const symbol s_6_72[3]
static const symbol s_6_70[5]
static const symbol s_5_37[5]
static const symbol s_6_77[5]
static const symbol s_6_56[4]
static const symbol s_6_106[4]
static const symbol s_6_76[5]
static const symbol s_6_55[4]
static const symbol s_6_67[5]
static const symbol s_6_97[7]
static const symbol s_5_39[4]
static const symbol s_6_113[4]
static const symbol s_6_118[3]
static const symbol s_6_59[5]
static const symbol s_6_79[5]
static const symbol s_6_103[7]
static const symbol s_6_62[4]
static const symbol s_6_119[3]
static const symbol s_6_84[4]
static const symbol s_6_63[4]
static const symbol s_5_38[6]
static const symbol s_6_73[3]
static const symbol s_6_60[5]
static const symbol s_6_57[4]
static const symbol s_6_102[6]
static const symbol s_6_108[5]
static const symbol s_5_40[5]
static const symbol s_6_52[5]
static const symbol s_6_98[7]
static const symbol s_6_116[2]
static const symbol s_6_80[6]
static const symbol s_6_81[6]
static const symbol s_6_66[5]
static const symbol s_6_75[5]
static const symbol s_6_90[4]
static const symbol s_6_54[4]
static const symbol s_5_42[7]
static const symbol s_6_69[5]
static const symbol s_6_114[2]
static const symbol s_6_85[6]
static const symbol s_6_115[2]
static const symbol s_6_61[5]
static const symbol s_6_78[5]
static const symbol s_6_82[6]
static const symbol s_6_104[7]
static const symbol s_5_36[6]
static const symbol s_6_107[5]
static const symbol s_6_100[6]
static const symbol s_6_65[5]
static const symbol s_6_51[5]
static const symbol s_6_74[5]
static const symbol s_6_86[6]
static const symbol s_6_109[5]
static const symbol s_5_41[4]
static const symbol s_6_112[4]
static const symbol s_6_88[4]
static const symbol s_6_111[4]
static const symbol s_5_44[4]
static const symbol s_5_43[7]
static const symbol s_6_89[4]
static const symbol s_6_71[2]
static const symbol s_6_95[5]
static const symbol s_6_91[6]
static const symbol s_5_35[7]
static const symbol s_6_110[4]
static const symbol s_6_101[6]
static const symbol s_6_68[5]
static const symbol s_6_99[4]
static const symbol s_6_83[5]
static const symbol s_6_58[2]
static const symbol s_6_92[6]
static const symbol s_6_87[6]
static const symbol s_6_64[4]
static const symbol s_6_53[5]
static const symbol s_6_105[7]
static const symbol s_6_93[6]
static const symbol s_6_96[7]
static const symbol s_6_117[3]
struct SN_env * portuguese_UTF_8_create_env(void)
static int r_standard_suffix(struct SN_env *z)
static int r_verb_suffix(struct SN_env *z)
static int r_R2(struct SN_env *z)
void portuguese_UTF_8_close_env(struct SN_env *z)
static int r_RV(struct SN_env *z)
static int r_R1(struct SN_env *z)
static int r_postlude(struct SN_env *z)
static int r_prelude(struct SN_env *z)
static int r_mark_regions(struct SN_env *z)
static int r_residual_form(struct SN_env *z)
int portuguese_UTF_8_stem(struct SN_env *z)
static int r_residual_suffix(struct SN_env *z)
Definition api.h:14
int lb
Definition api.h:16
symbol * p
Definition api.h:15
int * I
Definition api.h:18
int ket
Definition api.h:16
int c
Definition api.h:16
int bra
Definition api.h:16
int l
Definition api.h:16
Definition header.h:16