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