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 romanian_ISO_8859_2_stem(struct SN_env * z); |
10 | #ifdef __cplusplus |
11 | } |
12 | #endif |
13 | static int r_vowel_suffix(struct SN_env * z); |
14 | static int r_verb_suffix(struct SN_env * z); |
15 | static int r_combo_suffix(struct SN_env * z); |
16 | static int r_standard_suffix(struct SN_env * z); |
17 | static int r_step_0(struct SN_env * z); |
18 | static int r_R2(struct SN_env * z); |
19 | static int r_R1(struct SN_env * z); |
20 | static int r_RV(struct SN_env * z); |
21 | static int r_mark_regions(struct SN_env * z); |
22 | static int r_postlude(struct SN_env * z); |
23 | static int r_prelude(struct SN_env * z); |
24 | #ifdef __cplusplus |
25 | extern "C" { |
26 | #endif |
27 | |
28 | |
29 | extern struct SN_env * romanian_ISO_8859_2_create_env(void); |
30 | extern void romanian_ISO_8859_2_close_env(struct SN_env * z); |
31 | |
32 | |
33 | #ifdef __cplusplus |
34 | } |
35 | #endif |
36 | static const symbol s_0_1[1] = { 'I' }; |
37 | static const symbol s_0_2[1] = { 'U' }; |
38 | |
39 | static const struct among a_0[3] = |
40 | { |
41 | /* 0 */ { 0, 0, -1, 3, 0}, |
42 | /* 1 */ { 1, s_0_1, 0, 1, 0}, |
43 | /* 2 */ { 1, s_0_2, 0, 2, 0} |
44 | }; |
45 | |
46 | static const symbol s_1_0[2] = { 'e', 'a' }; |
47 | static const symbol s_1_1[4] = { 'a', 0xFE, 'i', 'a' }; |
48 | static const symbol s_1_2[3] = { 'a', 'u', 'a' }; |
49 | static const symbol s_1_3[3] = { 'i', 'u', 'a' }; |
50 | static const symbol s_1_4[4] = { 'a', 0xFE, 'i', 'e' }; |
51 | static const symbol s_1_5[3] = { 'e', 'l', 'e' }; |
52 | static const symbol s_1_6[3] = { 'i', 'l', 'e' }; |
53 | static const symbol s_1_7[4] = { 'i', 'i', 'l', 'e' }; |
54 | static const symbol s_1_8[3] = { 'i', 'e', 'i' }; |
55 | static const symbol s_1_9[4] = { 'a', 't', 'e', 'i' }; |
56 | static const symbol s_1_10[2] = { 'i', 'i' }; |
57 | static const symbol s_1_11[4] = { 'u', 'l', 'u', 'i' }; |
58 | static const symbol s_1_12[2] = { 'u', 'l' }; |
59 | static const symbol s_1_13[4] = { 'e', 'l', 'o', 'r' }; |
60 | static const symbol s_1_14[4] = { 'i', 'l', 'o', 'r' }; |
61 | static const symbol s_1_15[5] = { 'i', 'i', 'l', 'o', 'r' }; |
62 | |
63 | static const struct among a_1[16] = |
64 | { |
65 | /* 0 */ { 2, s_1_0, -1, 3, 0}, |
66 | /* 1 */ { 4, s_1_1, -1, 7, 0}, |
67 | /* 2 */ { 3, s_1_2, -1, 2, 0}, |
68 | /* 3 */ { 3, s_1_3, -1, 4, 0}, |
69 | /* 4 */ { 4, s_1_4, -1, 7, 0}, |
70 | /* 5 */ { 3, s_1_5, -1, 3, 0}, |
71 | /* 6 */ { 3, s_1_6, -1, 5, 0}, |
72 | /* 7 */ { 4, s_1_7, 6, 4, 0}, |
73 | /* 8 */ { 3, s_1_8, -1, 4, 0}, |
74 | /* 9 */ { 4, s_1_9, -1, 6, 0}, |
75 | /* 10 */ { 2, s_1_10, -1, 4, 0}, |
76 | /* 11 */ { 4, s_1_11, -1, 1, 0}, |
77 | /* 12 */ { 2, s_1_12, -1, 1, 0}, |
78 | /* 13 */ { 4, s_1_13, -1, 3, 0}, |
79 | /* 14 */ { 4, s_1_14, -1, 4, 0}, |
80 | /* 15 */ { 5, s_1_15, 14, 4, 0} |
81 | }; |
82 | |
83 | static const symbol s_2_0[5] = { 'i', 'c', 'a', 'l', 'a' }; |
84 | static const symbol s_2_1[5] = { 'i', 'c', 'i', 'v', 'a' }; |
85 | static const symbol s_2_2[5] = { 'a', 't', 'i', 'v', 'a' }; |
86 | static const symbol s_2_3[5] = { 'i', 't', 'i', 'v', 'a' }; |
87 | static const symbol s_2_4[5] = { 'i', 'c', 'a', 'l', 'e' }; |
88 | static const symbol s_2_5[6] = { 'a', 0xFE, 'i', 'u', 'n', 'e' }; |
89 | static const symbol s_2_6[6] = { 'i', 0xFE, 'i', 'u', 'n', 'e' }; |
90 | static const symbol s_2_7[6] = { 'a', 't', 'o', 'a', 'r', 'e' }; |
91 | static const symbol s_2_8[6] = { 'i', 't', 'o', 'a', 'r', 'e' }; |
92 | static const symbol s_2_9[6] = { 0xE3, 't', 'o', 'a', 'r', 'e' }; |
93 | static const symbol s_2_10[7] = { 'i', 'c', 'i', 't', 'a', 't', 'e' }; |
94 | static const symbol s_2_11[9] = { 'a', 'b', 'i', 'l', 'i', 't', 'a', 't', 'e' }; |
95 | static const symbol s_2_12[9] = { 'i', 'b', 'i', 'l', 'i', 't', 'a', 't', 'e' }; |
96 | static const symbol s_2_13[7] = { 'i', 'v', 'i', 't', 'a', 't', 'e' }; |
97 | static const symbol s_2_14[5] = { 'i', 'c', 'i', 'v', 'e' }; |
98 | static const symbol s_2_15[5] = { 'a', 't', 'i', 'v', 'e' }; |
99 | static const symbol s_2_16[5] = { 'i', 't', 'i', 'v', 'e' }; |
100 | static const symbol s_2_17[5] = { 'i', 'c', 'a', 'l', 'i' }; |
101 | static const symbol s_2_18[5] = { 'a', 't', 'o', 'r', 'i' }; |
102 | static const symbol s_2_19[7] = { 'i', 'c', 'a', 't', 'o', 'r', 'i' }; |
103 | static const symbol s_2_20[5] = { 'i', 't', 'o', 'r', 'i' }; |
104 | static const symbol s_2_21[5] = { 0xE3, 't', 'o', 'r', 'i' }; |
105 | static const symbol s_2_22[7] = { 'i', 'c', 'i', 't', 'a', 't', 'i' }; |
106 | static const symbol s_2_23[9] = { 'a', 'b', 'i', 'l', 'i', 't', 'a', 't', 'i' }; |
107 | static const symbol s_2_24[7] = { 'i', 'v', 'i', 't', 'a', 't', 'i' }; |
108 | static const symbol s_2_25[5] = { 'i', 'c', 'i', 'v', 'i' }; |
109 | static const symbol s_2_26[5] = { 'a', 't', 'i', 'v', 'i' }; |
110 | static const symbol s_2_27[5] = { 'i', 't', 'i', 'v', 'i' }; |
111 | static const symbol s_2_28[6] = { 'i', 'c', 'i', 't', 0xE3, 'i' }; |
112 | static const symbol s_2_29[8] = { 'a', 'b', 'i', 'l', 'i', 't', 0xE3, 'i' }; |
113 | static const symbol s_2_30[6] = { 'i', 'v', 'i', 't', 0xE3, 'i' }; |
114 | static const symbol s_2_31[7] = { 'i', 'c', 'i', 't', 0xE3, 0xFE, 'i' }; |
115 | static const symbol s_2_32[9] = { 'a', 'b', 'i', 'l', 'i', 't', 0xE3, 0xFE, 'i' }; |
116 | static const symbol s_2_33[7] = { 'i', 'v', 'i', 't', 0xE3, 0xFE, 'i' }; |
117 | static const symbol s_2_34[4] = { 'i', 'c', 'a', 'l' }; |
118 | static const symbol s_2_35[4] = { 'a', 't', 'o', 'r' }; |
119 | static const symbol s_2_36[6] = { 'i', 'c', 'a', 't', 'o', 'r' }; |
120 | static const symbol s_2_37[4] = { 'i', 't', 'o', 'r' }; |
121 | static const symbol s_2_38[4] = { 0xE3, 't', 'o', 'r' }; |
122 | static const symbol s_2_39[4] = { 'i', 'c', 'i', 'v' }; |
123 | static const symbol s_2_40[4] = { 'a', 't', 'i', 'v' }; |
124 | static const symbol s_2_41[4] = { 'i', 't', 'i', 'v' }; |
125 | static const symbol s_2_42[5] = { 'i', 'c', 'a', 'l', 0xE3 }; |
126 | static const symbol s_2_43[5] = { 'i', 'c', 'i', 'v', 0xE3 }; |
127 | static const symbol s_2_44[5] = { 'a', 't', 'i', 'v', 0xE3 }; |
128 | static const symbol s_2_45[5] = { 'i', 't', 'i', 'v', 0xE3 }; |
129 | |
130 | static const struct among a_2[46] = |
131 | { |
132 | /* 0 */ { 5, s_2_0, -1, 4, 0}, |
133 | /* 1 */ { 5, s_2_1, -1, 4, 0}, |
134 | /* 2 */ { 5, s_2_2, -1, 5, 0}, |
135 | /* 3 */ { 5, s_2_3, -1, 6, 0}, |
136 | /* 4 */ { 5, s_2_4, -1, 4, 0}, |
137 | /* 5 */ { 6, s_2_5, -1, 5, 0}, |
138 | /* 6 */ { 6, s_2_6, -1, 6, 0}, |
139 | /* 7 */ { 6, s_2_7, -1, 5, 0}, |
140 | /* 8 */ { 6, s_2_8, -1, 6, 0}, |
141 | /* 9 */ { 6, s_2_9, -1, 5, 0}, |
142 | /* 10 */ { 7, s_2_10, -1, 4, 0}, |
143 | /* 11 */ { 9, s_2_11, -1, 1, 0}, |
144 | /* 12 */ { 9, s_2_12, -1, 2, 0}, |
145 | /* 13 */ { 7, s_2_13, -1, 3, 0}, |
146 | /* 14 */ { 5, s_2_14, -1, 4, 0}, |
147 | /* 15 */ { 5, s_2_15, -1, 5, 0}, |
148 | /* 16 */ { 5, s_2_16, -1, 6, 0}, |
149 | /* 17 */ { 5, s_2_17, -1, 4, 0}, |
150 | /* 18 */ { 5, s_2_18, -1, 5, 0}, |
151 | /* 19 */ { 7, s_2_19, 18, 4, 0}, |
152 | /* 20 */ { 5, s_2_20, -1, 6, 0}, |
153 | /* 21 */ { 5, s_2_21, -1, 5, 0}, |
154 | /* 22 */ { 7, s_2_22, -1, 4, 0}, |
155 | /* 23 */ { 9, s_2_23, -1, 1, 0}, |
156 | /* 24 */ { 7, s_2_24, -1, 3, 0}, |
157 | /* 25 */ { 5, s_2_25, -1, 4, 0}, |
158 | /* 26 */ { 5, s_2_26, -1, 5, 0}, |
159 | /* 27 */ { 5, s_2_27, -1, 6, 0}, |
160 | /* 28 */ { 6, s_2_28, -1, 4, 0}, |
161 | /* 29 */ { 8, s_2_29, -1, 1, 0}, |
162 | /* 30 */ { 6, s_2_30, -1, 3, 0}, |
163 | /* 31 */ { 7, s_2_31, -1, 4, 0}, |
164 | /* 32 */ { 9, s_2_32, -1, 1, 0}, |
165 | /* 33 */ { 7, s_2_33, -1, 3, 0}, |
166 | /* 34 */ { 4, s_2_34, -1, 4, 0}, |
167 | /* 35 */ { 4, s_2_35, -1, 5, 0}, |
168 | /* 36 */ { 6, s_2_36, 35, 4, 0}, |
169 | /* 37 */ { 4, s_2_37, -1, 6, 0}, |
170 | /* 38 */ { 4, s_2_38, -1, 5, 0}, |
171 | /* 39 */ { 4, s_2_39, -1, 4, 0}, |
172 | /* 40 */ { 4, s_2_40, -1, 5, 0}, |
173 | /* 41 */ { 4, s_2_41, -1, 6, 0}, |
174 | /* 42 */ { 5, s_2_42, -1, 4, 0}, |
175 | /* 43 */ { 5, s_2_43, -1, 4, 0}, |
176 | /* 44 */ { 5, s_2_44, -1, 5, 0}, |
177 | /* 45 */ { 5, s_2_45, -1, 6, 0} |
178 | }; |
179 | |
180 | static const symbol s_3_0[3] = { 'i', 'c', 'a' }; |
181 | static const symbol s_3_1[5] = { 'a', 'b', 'i', 'l', 'a' }; |
182 | static const symbol s_3_2[5] = { 'i', 'b', 'i', 'l', 'a' }; |
183 | static const symbol s_3_3[4] = { 'o', 'a', 's', 'a' }; |
184 | static const symbol s_3_4[3] = { 'a', 't', 'a' }; |
185 | static const symbol s_3_5[3] = { 'i', 't', 'a' }; |
186 | static const symbol s_3_6[4] = { 'a', 'n', 't', 'a' }; |
187 | static const symbol s_3_7[4] = { 'i', 's', 't', 'a' }; |
188 | static const symbol s_3_8[3] = { 'u', 't', 'a' }; |
189 | static const symbol s_3_9[3] = { 'i', 'v', 'a' }; |
190 | static const symbol s_3_10[2] = { 'i', 'c' }; |
191 | static const symbol s_3_11[3] = { 'i', 'c', 'e' }; |
192 | static const symbol s_3_12[5] = { 'a', 'b', 'i', 'l', 'e' }; |
193 | static const symbol s_3_13[5] = { 'i', 'b', 'i', 'l', 'e' }; |
194 | static const symbol s_3_14[4] = { 'i', 's', 'm', 'e' }; |
195 | static const symbol s_3_15[4] = { 'i', 'u', 'n', 'e' }; |
196 | static const symbol s_3_16[4] = { 'o', 'a', 's', 'e' }; |
197 | static const symbol s_3_17[3] = { 'a', 't', 'e' }; |
198 | static const symbol s_3_18[5] = { 'i', 't', 'a', 't', 'e' }; |
199 | static const symbol s_3_19[3] = { 'i', 't', 'e' }; |
200 | static const symbol s_3_20[4] = { 'a', 'n', 't', 'e' }; |
201 | static const symbol s_3_21[4] = { 'i', 's', 't', 'e' }; |
202 | static const symbol s_3_22[3] = { 'u', 't', 'e' }; |
203 | static const symbol s_3_23[3] = { 'i', 'v', 'e' }; |
204 | static const symbol s_3_24[3] = { 'i', 'c', 'i' }; |
205 | static const symbol s_3_25[5] = { 'a', 'b', 'i', 'l', 'i' }; |
206 | static const symbol s_3_26[5] = { 'i', 'b', 'i', 'l', 'i' }; |
207 | static const symbol s_3_27[4] = { 'i', 'u', 'n', 'i' }; |
208 | static const symbol s_3_28[5] = { 'a', 't', 'o', 'r', 'i' }; |
209 | static const symbol s_3_29[3] = { 'o', 's', 'i' }; |
210 | static const symbol s_3_30[3] = { 'a', 't', 'i' }; |
211 | static const symbol s_3_31[5] = { 'i', 't', 'a', 't', 'i' }; |
212 | static const symbol s_3_32[3] = { 'i', 't', 'i' }; |
213 | static const symbol s_3_33[4] = { 'a', 'n', 't', 'i' }; |
214 | static const symbol s_3_34[4] = { 'i', 's', 't', 'i' }; |
215 | static const symbol s_3_35[3] = { 'u', 't', 'i' }; |
216 | static const symbol s_3_36[4] = { 'i', 0xBA, 't', 'i' }; |
217 | static const symbol s_3_37[3] = { 'i', 'v', 'i' }; |
218 | static const symbol s_3_38[3] = { 'o', 0xBA, 'i' }; |
219 | static const symbol s_3_39[4] = { 'i', 't', 0xE3, 'i' }; |
220 | static const symbol s_3_40[5] = { 'i', 't', 0xE3, 0xFE, 'i' }; |
221 | static const symbol s_3_41[4] = { 'a', 'b', 'i', 'l' }; |
222 | static const symbol s_3_42[4] = { 'i', 'b', 'i', 'l' }; |
223 | static const symbol s_3_43[3] = { 'i', 's', 'm' }; |
224 | static const symbol s_3_44[4] = { 'a', 't', 'o', 'r' }; |
225 | static const symbol s_3_45[2] = { 'o', 's' }; |
226 | static const symbol s_3_46[2] = { 'a', 't' }; |
227 | static const symbol s_3_47[2] = { 'i', 't' }; |
228 | static const symbol s_3_48[3] = { 'a', 'n', 't' }; |
229 | static const symbol s_3_49[3] = { 'i', 's', 't' }; |
230 | static const symbol s_3_50[2] = { 'u', 't' }; |
231 | static const symbol s_3_51[2] = { 'i', 'v' }; |
232 | static const symbol s_3_52[3] = { 'i', 'c', 0xE3 }; |
233 | static const symbol s_3_53[5] = { 'a', 'b', 'i', 'l', 0xE3 }; |
234 | static const symbol s_3_54[5] = { 'i', 'b', 'i', 'l', 0xE3 }; |
235 | static const symbol s_3_55[4] = { 'o', 'a', 's', 0xE3 }; |
236 | static const symbol s_3_56[3] = { 'a', 't', 0xE3 }; |
237 | static const symbol s_3_57[3] = { 'i', 't', 0xE3 }; |
238 | static const symbol s_3_58[4] = { 'a', 'n', 't', 0xE3 }; |
239 | static const symbol s_3_59[4] = { 'i', 's', 't', 0xE3 }; |
240 | static const symbol s_3_60[3] = { 'u', 't', 0xE3 }; |
241 | static const symbol s_3_61[3] = { 'i', 'v', 0xE3 }; |
242 | |
243 | static const struct among a_3[62] = |
244 | { |
245 | /* 0 */ { 3, s_3_0, -1, 1, 0}, |
246 | /* 1 */ { 5, s_3_1, -1, 1, 0}, |
247 | /* 2 */ { 5, s_3_2, -1, 1, 0}, |
248 | /* 3 */ { 4, s_3_3, -1, 1, 0}, |
249 | /* 4 */ { 3, s_3_4, -1, 1, 0}, |
250 | /* 5 */ { 3, s_3_5, -1, 1, 0}, |
251 | /* 6 */ { 4, s_3_6, -1, 1, 0}, |
252 | /* 7 */ { 4, s_3_7, -1, 3, 0}, |
253 | /* 8 */ { 3, s_3_8, -1, 1, 0}, |
254 | /* 9 */ { 3, s_3_9, -1, 1, 0}, |
255 | /* 10 */ { 2, s_3_10, -1, 1, 0}, |
256 | /* 11 */ { 3, s_3_11, -1, 1, 0}, |
257 | /* 12 */ { 5, s_3_12, -1, 1, 0}, |
258 | /* 13 */ { 5, s_3_13, -1, 1, 0}, |
259 | /* 14 */ { 4, s_3_14, -1, 3, 0}, |
260 | /* 15 */ { 4, s_3_15, -1, 2, 0}, |
261 | /* 16 */ { 4, s_3_16, -1, 1, 0}, |
262 | /* 17 */ { 3, s_3_17, -1, 1, 0}, |
263 | /* 18 */ { 5, s_3_18, 17, 1, 0}, |
264 | /* 19 */ { 3, s_3_19, -1, 1, 0}, |
265 | /* 20 */ { 4, s_3_20, -1, 1, 0}, |
266 | /* 21 */ { 4, s_3_21, -1, 3, 0}, |
267 | /* 22 */ { 3, s_3_22, -1, 1, 0}, |
268 | /* 23 */ { 3, s_3_23, -1, 1, 0}, |
269 | /* 24 */ { 3, s_3_24, -1, 1, 0}, |
270 | /* 25 */ { 5, s_3_25, -1, 1, 0}, |
271 | /* 26 */ { 5, s_3_26, -1, 1, 0}, |
272 | /* 27 */ { 4, s_3_27, -1, 2, 0}, |
273 | /* 28 */ { 5, s_3_28, -1, 1, 0}, |
274 | /* 29 */ { 3, s_3_29, -1, 1, 0}, |
275 | /* 30 */ { 3, s_3_30, -1, 1, 0}, |
276 | /* 31 */ { 5, s_3_31, 30, 1, 0}, |
277 | /* 32 */ { 3, s_3_32, -1, 1, 0}, |
278 | /* 33 */ { 4, s_3_33, -1, 1, 0}, |
279 | /* 34 */ { 4, s_3_34, -1, 3, 0}, |
280 | /* 35 */ { 3, s_3_35, -1, 1, 0}, |
281 | /* 36 */ { 4, s_3_36, -1, 3, 0}, |
282 | /* 37 */ { 3, s_3_37, -1, 1, 0}, |
283 | /* 38 */ { 3, s_3_38, -1, 1, 0}, |
284 | /* 39 */ { 4, s_3_39, -1, 1, 0}, |
285 | /* 40 */ { 5, s_3_40, -1, 1, 0}, |
286 | /* 41 */ { 4, s_3_41, -1, 1, 0}, |
287 | /* 42 */ { 4, s_3_42, -1, 1, 0}, |
288 | /* 43 */ { 3, s_3_43, -1, 3, 0}, |
289 | /* 44 */ { 4, s_3_44, -1, 1, 0}, |
290 | /* 45 */ { 2, s_3_45, -1, 1, 0}, |
291 | /* 46 */ { 2, s_3_46, -1, 1, 0}, |
292 | /* 47 */ { 2, s_3_47, -1, 1, 0}, |
293 | /* 48 */ { 3, s_3_48, -1, 1, 0}, |
294 | /* 49 */ { 3, s_3_49, -1, 3, 0}, |
295 | /* 50 */ { 2, s_3_50, -1, 1, 0}, |
296 | /* 51 */ { 2, s_3_51, -1, 1, 0}, |
297 | /* 52 */ { 3, s_3_52, -1, 1, 0}, |
298 | /* 53 */ { 5, s_3_53, -1, 1, 0}, |
299 | /* 54 */ { 5, s_3_54, -1, 1, 0}, |
300 | /* 55 */ { 4, s_3_55, -1, 1, 0}, |
301 | /* 56 */ { 3, s_3_56, -1, 1, 0}, |
302 | /* 57 */ { 3, s_3_57, -1, 1, 0}, |
303 | /* 58 */ { 4, s_3_58, -1, 1, 0}, |
304 | /* 59 */ { 4, s_3_59, -1, 3, 0}, |
305 | /* 60 */ { 3, s_3_60, -1, 1, 0}, |
306 | /* 61 */ { 3, s_3_61, -1, 1, 0} |
307 | }; |
308 | |
309 | static const symbol s_4_0[2] = { 'e', 'a' }; |
310 | static const symbol s_4_1[2] = { 'i', 'a' }; |
311 | static const symbol s_4_2[3] = { 'e', 's', 'c' }; |
312 | static const symbol s_4_3[3] = { 0xE3, 's', 'c' }; |
313 | static const symbol s_4_4[3] = { 'i', 'n', 'd' }; |
314 | static const symbol s_4_5[3] = { 0xE2, 'n', 'd' }; |
315 | static const symbol s_4_6[3] = { 'a', 'r', 'e' }; |
316 | static const symbol s_4_7[3] = { 'e', 'r', 'e' }; |
317 | static const symbol s_4_8[3] = { 'i', 'r', 'e' }; |
318 | static const symbol s_4_9[3] = { 0xE2, 'r', 'e' }; |
319 | static const symbol s_4_10[2] = { 's', 'e' }; |
320 | static const symbol s_4_11[3] = { 'a', 's', 'e' }; |
321 | static const symbol s_4_12[4] = { 's', 'e', 's', 'e' }; |
322 | static const symbol s_4_13[3] = { 'i', 's', 'e' }; |
323 | static const symbol s_4_14[3] = { 'u', 's', 'e' }; |
324 | static const symbol s_4_15[3] = { 0xE2, 's', 'e' }; |
325 | static const symbol s_4_16[4] = { 'e', 0xBA, 't', 'e' }; |
326 | static const symbol s_4_17[4] = { 0xE3, 0xBA, 't', 'e' }; |
327 | static const symbol s_4_18[3] = { 'e', 'z', 'e' }; |
328 | static const symbol s_4_19[2] = { 'a', 'i' }; |
329 | static const symbol s_4_20[3] = { 'e', 'a', 'i' }; |
330 | static const symbol s_4_21[3] = { 'i', 'a', 'i' }; |
331 | static const symbol s_4_22[3] = { 's', 'e', 'i' }; |
332 | static const symbol s_4_23[4] = { 'e', 0xBA, 't', 'i' }; |
333 | static const symbol s_4_24[4] = { 0xE3, 0xBA, 't', 'i' }; |
334 | static const symbol s_4_25[2] = { 'u', 'i' }; |
335 | static const symbol s_4_26[3] = { 'e', 'z', 'i' }; |
336 | static const symbol s_4_27[3] = { 'a', 0xBA, 'i' }; |
337 | static const symbol s_4_28[4] = { 's', 'e', 0xBA, 'i' }; |
338 | static const symbol s_4_29[5] = { 'a', 's', 'e', 0xBA, 'i' }; |
339 | static const symbol s_4_30[6] = { 's', 'e', 's', 'e', 0xBA, 'i' }; |
340 | static const symbol s_4_31[5] = { 'i', 's', 'e', 0xBA, 'i' }; |
341 | static const symbol s_4_32[5] = { 'u', 's', 'e', 0xBA, 'i' }; |
342 | static const symbol s_4_33[5] = { 0xE2, 's', 'e', 0xBA, 'i' }; |
343 | static const symbol s_4_34[3] = { 'i', 0xBA, 'i' }; |
344 | static const symbol s_4_35[3] = { 'u', 0xBA, 'i' }; |
345 | static const symbol s_4_36[3] = { 0xE2, 0xBA, 'i' }; |
346 | static const symbol s_4_37[2] = { 0xE2, 'i' }; |
347 | static const symbol s_4_38[3] = { 'a', 0xFE, 'i' }; |
348 | static const symbol s_4_39[4] = { 'e', 'a', 0xFE, 'i' }; |
349 | static const symbol s_4_40[4] = { 'i', 'a', 0xFE, 'i' }; |
350 | static const symbol s_4_41[3] = { 'e', 0xFE, 'i' }; |
351 | static const symbol s_4_42[3] = { 'i', 0xFE, 'i' }; |
352 | static const symbol s_4_43[3] = { 0xE2, 0xFE, 'i' }; |
353 | static const symbol s_4_44[5] = { 'a', 'r', 0xE3, 0xFE, 'i' }; |
354 | static const symbol s_4_45[6] = { 's', 'e', 'r', 0xE3, 0xFE, 'i' }; |
355 | static const symbol s_4_46[7] = { 'a', 's', 'e', 'r', 0xE3, 0xFE, 'i' }; |
356 | static const symbol s_4_47[8] = { 's', 'e', 's', 'e', 'r', 0xE3, 0xFE, 'i' }; |
357 | static const symbol s_4_48[7] = { 'i', 's', 'e', 'r', 0xE3, 0xFE, 'i' }; |
358 | static const symbol s_4_49[7] = { 'u', 's', 'e', 'r', 0xE3, 0xFE, 'i' }; |
359 | static const symbol s_4_50[7] = { 0xE2, 's', 'e', 'r', 0xE3, 0xFE, 'i' }; |
360 | static const symbol s_4_51[5] = { 'i', 'r', 0xE3, 0xFE, 'i' }; |
361 | static const symbol s_4_52[5] = { 'u', 'r', 0xE3, 0xFE, 'i' }; |
362 | static const symbol s_4_53[5] = { 0xE2, 'r', 0xE3, 0xFE, 'i' }; |
363 | static const symbol s_4_54[2] = { 'a', 'm' }; |
364 | static const symbol s_4_55[3] = { 'e', 'a', 'm' }; |
365 | static const symbol s_4_56[3] = { 'i', 'a', 'm' }; |
366 | static const symbol s_4_57[2] = { 'e', 'm' }; |
367 | static const symbol s_4_58[4] = { 'a', 's', 'e', 'm' }; |
368 | static const symbol s_4_59[5] = { 's', 'e', 's', 'e', 'm' }; |
369 | static const symbol s_4_60[4] = { 'i', 's', 'e', 'm' }; |
370 | static const symbol s_4_61[4] = { 'u', 's', 'e', 'm' }; |
371 | static const symbol s_4_62[4] = { 0xE2, 's', 'e', 'm' }; |
372 | static const symbol s_4_63[2] = { 'i', 'm' }; |
373 | static const symbol s_4_64[2] = { 0xE2, 'm' }; |
374 | static const symbol s_4_65[2] = { 0xE3, 'm' }; |
375 | static const symbol s_4_66[4] = { 'a', 'r', 0xE3, 'm' }; |
376 | static const symbol s_4_67[5] = { 's', 'e', 'r', 0xE3, 'm' }; |
377 | static const symbol s_4_68[6] = { 'a', 's', 'e', 'r', 0xE3, 'm' }; |
378 | static const symbol s_4_69[7] = { 's', 'e', 's', 'e', 'r', 0xE3, 'm' }; |
379 | static const symbol s_4_70[6] = { 'i', 's', 'e', 'r', 0xE3, 'm' }; |
380 | static const symbol s_4_71[6] = { 'u', 's', 'e', 'r', 0xE3, 'm' }; |
381 | static const symbol s_4_72[6] = { 0xE2, 's', 'e', 'r', 0xE3, 'm' }; |
382 | static const symbol s_4_73[4] = { 'i', 'r', 0xE3, 'm' }; |
383 | static const symbol s_4_74[4] = { 'u', 'r', 0xE3, 'm' }; |
384 | static const symbol s_4_75[4] = { 0xE2, 'r', 0xE3, 'm' }; |
385 | static const symbol s_4_76[2] = { 'a', 'u' }; |
386 | static const symbol s_4_77[3] = { 'e', 'a', 'u' }; |
387 | static const symbol s_4_78[3] = { 'i', 'a', 'u' }; |
388 | static const symbol s_4_79[4] = { 'i', 'n', 'd', 'u' }; |
389 | static const symbol s_4_80[4] = { 0xE2, 'n', 'd', 'u' }; |
390 | static const symbol s_4_81[2] = { 'e', 'z' }; |
391 | static const symbol s_4_82[5] = { 'e', 'a', 's', 'c', 0xE3 }; |
392 | static const symbol s_4_83[3] = { 'a', 'r', 0xE3 }; |
393 | static const symbol s_4_84[4] = { 's', 'e', 'r', 0xE3 }; |
394 | static const symbol s_4_85[5] = { 'a', 's', 'e', 'r', 0xE3 }; |
395 | static const symbol s_4_86[6] = { 's', 'e', 's', 'e', 'r', 0xE3 }; |
396 | static const symbol s_4_87[5] = { 'i', 's', 'e', 'r', 0xE3 }; |
397 | static const symbol s_4_88[5] = { 'u', 's', 'e', 'r', 0xE3 }; |
398 | static const symbol s_4_89[5] = { 0xE2, 's', 'e', 'r', 0xE3 }; |
399 | static const symbol s_4_90[3] = { 'i', 'r', 0xE3 }; |
400 | static const symbol s_4_91[3] = { 'u', 'r', 0xE3 }; |
401 | static const symbol s_4_92[3] = { 0xE2, 'r', 0xE3 }; |
402 | static const symbol s_4_93[4] = { 'e', 'a', 'z', 0xE3 }; |
403 | |
404 | static const struct among a_4[94] = |
405 | { |
406 | /* 0 */ { 2, s_4_0, -1, 1, 0}, |
407 | /* 1 */ { 2, s_4_1, -1, 1, 0}, |
408 | /* 2 */ { 3, s_4_2, -1, 1, 0}, |
409 | /* 3 */ { 3, s_4_3, -1, 1, 0}, |
410 | /* 4 */ { 3, s_4_4, -1, 1, 0}, |
411 | /* 5 */ { 3, s_4_5, -1, 1, 0}, |
412 | /* 6 */ { 3, s_4_6, -1, 1, 0}, |
413 | /* 7 */ { 3, s_4_7, -1, 1, 0}, |
414 | /* 8 */ { 3, s_4_8, -1, 1, 0}, |
415 | /* 9 */ { 3, s_4_9, -1, 1, 0}, |
416 | /* 10 */ { 2, s_4_10, -1, 2, 0}, |
417 | /* 11 */ { 3, s_4_11, 10, 1, 0}, |
418 | /* 12 */ { 4, s_4_12, 10, 2, 0}, |
419 | /* 13 */ { 3, s_4_13, 10, 1, 0}, |
420 | /* 14 */ { 3, s_4_14, 10, 1, 0}, |
421 | /* 15 */ { 3, s_4_15, 10, 1, 0}, |
422 | /* 16 */ { 4, s_4_16, -1, 1, 0}, |
423 | /* 17 */ { 4, s_4_17, -1, 1, 0}, |
424 | /* 18 */ { 3, s_4_18, -1, 1, 0}, |
425 | /* 19 */ { 2, s_4_19, -1, 1, 0}, |
426 | /* 20 */ { 3, s_4_20, 19, 1, 0}, |
427 | /* 21 */ { 3, s_4_21, 19, 1, 0}, |
428 | /* 22 */ { 3, s_4_22, -1, 2, 0}, |
429 | /* 23 */ { 4, s_4_23, -1, 1, 0}, |
430 | /* 24 */ { 4, s_4_24, -1, 1, 0}, |
431 | /* 25 */ { 2, s_4_25, -1, 1, 0}, |
432 | /* 26 */ { 3, s_4_26, -1, 1, 0}, |
433 | /* 27 */ { 3, s_4_27, -1, 1, 0}, |
434 | /* 28 */ { 4, s_4_28, -1, 2, 0}, |
435 | /* 29 */ { 5, s_4_29, 28, 1, 0}, |
436 | /* 30 */ { 6, s_4_30, 28, 2, 0}, |
437 | /* 31 */ { 5, s_4_31, 28, 1, 0}, |
438 | /* 32 */ { 5, s_4_32, 28, 1, 0}, |
439 | /* 33 */ { 5, s_4_33, 28, 1, 0}, |
440 | /* 34 */ { 3, s_4_34, -1, 1, 0}, |
441 | /* 35 */ { 3, s_4_35, -1, 1, 0}, |
442 | /* 36 */ { 3, s_4_36, -1, 1, 0}, |
443 | /* 37 */ { 2, s_4_37, -1, 1, 0}, |
444 | /* 38 */ { 3, s_4_38, -1, 2, 0}, |
445 | /* 39 */ { 4, s_4_39, 38, 1, 0}, |
446 | /* 40 */ { 4, s_4_40, 38, 1, 0}, |
447 | /* 41 */ { 3, s_4_41, -1, 2, 0}, |
448 | /* 42 */ { 3, s_4_42, -1, 2, 0}, |
449 | /* 43 */ { 3, s_4_43, -1, 2, 0}, |
450 | /* 44 */ { 5, s_4_44, -1, 1, 0}, |
451 | /* 45 */ { 6, s_4_45, -1, 2, 0}, |
452 | /* 46 */ { 7, s_4_46, 45, 1, 0}, |
453 | /* 47 */ { 8, s_4_47, 45, 2, 0}, |
454 | /* 48 */ { 7, s_4_48, 45, 1, 0}, |
455 | /* 49 */ { 7, s_4_49, 45, 1, 0}, |
456 | /* 50 */ { 7, s_4_50, 45, 1, 0}, |
457 | /* 51 */ { 5, s_4_51, -1, 1, 0}, |
458 | /* 52 */ { 5, s_4_52, -1, 1, 0}, |
459 | /* 53 */ { 5, s_4_53, -1, 1, 0}, |
460 | /* 54 */ { 2, s_4_54, -1, 1, 0}, |
461 | /* 55 */ { 3, s_4_55, 54, 1, 0}, |
462 | /* 56 */ { 3, s_4_56, 54, 1, 0}, |
463 | /* 57 */ { 2, s_4_57, -1, 2, 0}, |
464 | /* 58 */ { 4, s_4_58, 57, 1, 0}, |
465 | /* 59 */ { 5, s_4_59, 57, 2, 0}, |
466 | /* 60 */ { 4, s_4_60, 57, 1, 0}, |
467 | /* 61 */ { 4, s_4_61, 57, 1, 0}, |
468 | /* 62 */ { 4, s_4_62, 57, 1, 0}, |
469 | /* 63 */ { 2, s_4_63, -1, 2, 0}, |
470 | /* 64 */ { 2, s_4_64, -1, 2, 0}, |
471 | /* 65 */ { 2, s_4_65, -1, 2, 0}, |
472 | /* 66 */ { 4, s_4_66, 65, 1, 0}, |
473 | /* 67 */ { 5, s_4_67, 65, 2, 0}, |
474 | /* 68 */ { 6, s_4_68, 67, 1, 0}, |
475 | /* 69 */ { 7, s_4_69, 67, 2, 0}, |
476 | /* 70 */ { 6, s_4_70, 67, 1, 0}, |
477 | /* 71 */ { 6, s_4_71, 67, 1, 0}, |
478 | /* 72 */ { 6, s_4_72, 67, 1, 0}, |
479 | /* 73 */ { 4, s_4_73, 65, 1, 0}, |
480 | /* 74 */ { 4, s_4_74, 65, 1, 0}, |
481 | /* 75 */ { 4, s_4_75, 65, 1, 0}, |
482 | /* 76 */ { 2, s_4_76, -1, 1, 0}, |
483 | /* 77 */ { 3, s_4_77, 76, 1, 0}, |
484 | /* 78 */ { 3, s_4_78, 76, 1, 0}, |
485 | /* 79 */ { 4, s_4_79, -1, 1, 0}, |
486 | /* 80 */ { 4, s_4_80, -1, 1, 0}, |
487 | /* 81 */ { 2, s_4_81, -1, 1, 0}, |
488 | /* 82 */ { 5, s_4_82, -1, 1, 0}, |
489 | /* 83 */ { 3, s_4_83, -1, 1, 0}, |
490 | /* 84 */ { 4, s_4_84, -1, 2, 0}, |
491 | /* 85 */ { 5, s_4_85, 84, 1, 0}, |
492 | /* 86 */ { 6, s_4_86, 84, 2, 0}, |
493 | /* 87 */ { 5, s_4_87, 84, 1, 0}, |
494 | /* 88 */ { 5, s_4_88, 84, 1, 0}, |
495 | /* 89 */ { 5, s_4_89, 84, 1, 0}, |
496 | /* 90 */ { 3, s_4_90, -1, 1, 0}, |
497 | /* 91 */ { 3, s_4_91, -1, 1, 0}, |
498 | /* 92 */ { 3, s_4_92, -1, 1, 0}, |
499 | /* 93 */ { 4, s_4_93, -1, 1, 0} |
500 | }; |
501 | |
502 | static const symbol s_5_0[1] = { 'a' }; |
503 | static const symbol s_5_1[1] = { 'e' }; |
504 | static const symbol s_5_2[2] = { 'i', 'e' }; |
505 | static const symbol s_5_3[1] = { 'i' }; |
506 | static const symbol s_5_4[1] = { 0xE3 }; |
507 | |
508 | static const struct among a_5[5] = |
509 | { |
510 | /* 0 */ { 1, s_5_0, -1, 1, 0}, |
511 | /* 1 */ { 1, s_5_1, -1, 1, 0}, |
512 | /* 2 */ { 2, s_5_2, 1, 1, 0}, |
513 | /* 3 */ { 1, s_5_3, -1, 1, 0}, |
514 | /* 4 */ { 1, s_5_4, -1, 1, 0} |
515 | }; |
516 | |
517 | static const unsigned char g_v[] = { 17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 32 }; |
518 | |
519 | static const symbol s_0[] = { 'U' }; |
520 | static const symbol s_1[] = { 'I' }; |
521 | static const symbol s_2[] = { 'i' }; |
522 | static const symbol s_3[] = { 'u' }; |
523 | static const symbol s_4[] = { 'a' }; |
524 | static const symbol s_5[] = { 'e' }; |
525 | static const symbol s_6[] = { 'i' }; |
526 | static const symbol s_7[] = { 'a', 'b' }; |
527 | static const symbol s_8[] = { 'i' }; |
528 | static const symbol s_9[] = { 'a', 't' }; |
529 | static const symbol s_10[] = { 'a', 0xFE, 'i' }; |
530 | static const symbol s_11[] = { 'a', 'b', 'i', 'l' }; |
531 | static const symbol s_12[] = { 'i', 'b', 'i', 'l' }; |
532 | static const symbol s_13[] = { 'i', 'v' }; |
533 | static const symbol s_14[] = { 'i', 'c' }; |
534 | static const symbol s_15[] = { 'a', 't' }; |
535 | static const symbol s_16[] = { 'i', 't' }; |
536 | static const symbol s_17[] = { 't' }; |
537 | static const symbol s_18[] = { 'i', 's', 't' }; |
538 | |
539 | static int r_prelude(struct SN_env * z) { /* forwardmode */ |
540 | while(1) { /* repeat, line 32 */ |
541 | int c1 = z->c; |
542 | while(1) { /* goto, line 32 */ |
543 | int c2 = z->c; |
544 | if (in_grouping(z, g_v, 97, 238, 0)) goto lab1; /* grouping v, line 33 */ |
545 | z->bra = z->c; /* [, line 33 */ |
546 | { int c3 = z->c; /* or, line 33 */ |
547 | if (z->c == z->l || z->p[z->c] != 'u') goto lab3; /* literal, line 33 */ |
548 | z->c++; |
549 | z->ket = z->c; /* ], line 33 */ |
550 | if (in_grouping(z, g_v, 97, 238, 0)) goto lab3; /* grouping v, line 33 */ |
551 | { int ret = slice_from_s(z, 1, s_0); /* <-, line 33 */ |
552 | if (ret < 0) return ret; |
553 | } |
554 | goto lab2; |
555 | lab3: |
556 | z->c = c3; |
557 | if (z->c == z->l || z->p[z->c] != 'i') goto lab1; /* literal, line 34 */ |
558 | z->c++; |
559 | z->ket = z->c; /* ], line 34 */ |
560 | if (in_grouping(z, g_v, 97, 238, 0)) goto lab1; /* grouping v, line 34 */ |
561 | { int ret = slice_from_s(z, 1, s_1); /* <-, line 34 */ |
562 | if (ret < 0) return ret; |
563 | } |
564 | } |
565 | lab2: |
566 | z->c = c2; |
567 | break; |
568 | lab1: |
569 | z->c = c2; |
570 | if (z->c >= z->l) goto lab0; |
571 | z->c++; /* goto, line 32 */ |
572 | } |
573 | continue; |
574 | lab0: |
575 | z->c = c1; |
576 | break; |
577 | } |
578 | return 1; |
579 | } |
580 | |
581 | static int r_mark_regions(struct SN_env * z) { /* forwardmode */ |
582 | z->I[0] = z->l; /* $pV = <integer expression>, line 40 */ |
583 | z->I[1] = z->l; /* $p1 = <integer expression>, line 41 */ |
584 | z->I[2] = z->l; /* $p2 = <integer expression>, line 42 */ |
585 | { int c1 = z->c; /* do, line 44 */ |
586 | { int c2 = z->c; /* or, line 46 */ |
587 | if (in_grouping(z, g_v, 97, 238, 0)) goto lab2; /* grouping v, line 45 */ |
588 | { int c3 = z->c; /* or, line 45 */ |
589 | if (out_grouping(z, g_v, 97, 238, 0)) goto lab4; /* non v, line 45 */ |
590 | { /* gopast */ /* grouping v, line 45 */ |
591 | int ret = out_grouping(z, g_v, 97, 238, 1); |
592 | if (ret < 0) goto lab4; |
593 | z->c += ret; |
594 | } |
595 | goto lab3; |
596 | lab4: |
597 | z->c = c3; |
598 | if (in_grouping(z, g_v, 97, 238, 0)) goto lab2; /* grouping v, line 45 */ |
599 | { /* gopast */ /* non v, line 45 */ |
600 | int ret = in_grouping(z, g_v, 97, 238, 1); |
601 | if (ret < 0) goto lab2; |
602 | z->c += ret; |
603 | } |
604 | } |
605 | lab3: |
606 | goto lab1; |
607 | lab2: |
608 | z->c = c2; |
609 | if (out_grouping(z, g_v, 97, 238, 0)) goto lab0; /* non v, line 47 */ |
610 | { int c4 = z->c; /* or, line 47 */ |
611 | if (out_grouping(z, g_v, 97, 238, 0)) goto lab6; /* non v, line 47 */ |
612 | { /* gopast */ /* grouping v, line 47 */ |
613 | int ret = out_grouping(z, g_v, 97, 238, 1); |
614 | if (ret < 0) goto lab6; |
615 | z->c += ret; |
616 | } |
617 | goto lab5; |
618 | lab6: |
619 | z->c = c4; |
620 | if (in_grouping(z, g_v, 97, 238, 0)) goto lab0; /* grouping v, line 47 */ |
621 | if (z->c >= z->l) goto lab0; |
622 | z->c++; /* next, line 47 */ |
623 | } |
624 | lab5: |
625 | ; |
626 | } |
627 | lab1: |
628 | z->I[0] = z->c; /* setmark pV, line 48 */ |
629 | lab0: |
630 | z->c = c1; |
631 | } |
632 | { int c5 = z->c; /* do, line 50 */ |
633 | { /* gopast */ /* grouping v, line 51 */ |
634 | int ret = out_grouping(z, g_v, 97, 238, 1); |
635 | if (ret < 0) goto lab7; |
636 | z->c += ret; |
637 | } |
638 | { /* gopast */ /* non v, line 51 */ |
639 | int ret = in_grouping(z, g_v, 97, 238, 1); |
640 | if (ret < 0) goto lab7; |
641 | z->c += ret; |
642 | } |
643 | z->I[1] = z->c; /* setmark p1, line 51 */ |
644 | { /* gopast */ /* grouping v, line 52 */ |
645 | int ret = out_grouping(z, g_v, 97, 238, 1); |
646 | if (ret < 0) goto lab7; |
647 | z->c += ret; |
648 | } |
649 | { /* gopast */ /* non v, line 52 */ |
650 | int ret = in_grouping(z, g_v, 97, 238, 1); |
651 | if (ret < 0) goto lab7; |
652 | z->c += ret; |
653 | } |
654 | z->I[2] = z->c; /* setmark p2, line 52 */ |
655 | lab7: |
656 | z->c = c5; |
657 | } |
658 | return 1; |
659 | } |
660 | |
661 | static int r_postlude(struct SN_env * z) { /* forwardmode */ |
662 | int among_var; |
663 | while(1) { /* repeat, line 56 */ |
664 | int c1 = z->c; |
665 | z->bra = z->c; /* [, line 58 */ |
666 | if (z->c >= z->l || (z->p[z->c + 0] != 73 && z->p[z->c + 0] != 85)) among_var = 3; else /* substring, line 58 */ |
667 | among_var = find_among(z, a_0, 3); |
668 | if (!(among_var)) goto lab0; |
669 | z->ket = z->c; /* ], line 58 */ |
670 | switch (among_var) { /* among, line 58 */ |
671 | case 1: |
672 | { int ret = slice_from_s(z, 1, s_2); /* <-, line 59 */ |
673 | if (ret < 0) return ret; |
674 | } |
675 | break; |
676 | case 2: |
677 | { int ret = slice_from_s(z, 1, s_3); /* <-, line 60 */ |
678 | if (ret < 0) return ret; |
679 | } |
680 | break; |
681 | case 3: |
682 | if (z->c >= z->l) goto lab0; |
683 | z->c++; /* next, line 61 */ |
684 | break; |
685 | } |
686 | continue; |
687 | lab0: |
688 | z->c = c1; |
689 | break; |
690 | } |
691 | return 1; |
692 | } |
693 | |
694 | static int r_RV(struct SN_env * z) { /* backwardmode */ |
695 | if (!(z->I[0] <= z->c)) return 0; /* $(<integer expression> <= <integer expression>), line 68 */ |
696 | return 1; |
697 | } |
698 | |
699 | static int r_R1(struct SN_env * z) { /* backwardmode */ |
700 | if (!(z->I[1] <= z->c)) return 0; /* $(<integer expression> <= <integer expression>), line 69 */ |
701 | return 1; |
702 | } |
703 | |
704 | static int r_R2(struct SN_env * z) { /* backwardmode */ |
705 | if (!(z->I[2] <= z->c)) return 0; /* $(<integer expression> <= <integer expression>), line 70 */ |
706 | return 1; |
707 | } |
708 | |
709 | static int r_step_0(struct SN_env * z) { /* backwardmode */ |
710 | int among_var; |
711 | z->ket = z->c; /* [, line 73 */ |
712 | if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((266786 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; /* substring, line 73 */ |
713 | among_var = find_among_b(z, a_1, 16); |
714 | if (!(among_var)) return 0; |
715 | z->bra = z->c; /* ], line 73 */ |
716 | { int ret = r_R1(z); /* call R1, line 73 */ |
717 | if (ret <= 0) return ret; |
718 | } |
719 | switch (among_var) { /* among, line 73 */ |
720 | case 1: |
721 | { int ret = slice_del(z); /* delete, line 75 */ |
722 | if (ret < 0) return ret; |
723 | } |
724 | break; |
725 | case 2: |
726 | { int ret = slice_from_s(z, 1, s_4); /* <-, line 77 */ |
727 | if (ret < 0) return ret; |
728 | } |
729 | break; |
730 | case 3: |
731 | { int ret = slice_from_s(z, 1, s_5); /* <-, line 79 */ |
732 | if (ret < 0) return ret; |
733 | } |
734 | break; |
735 | case 4: |
736 | { int ret = slice_from_s(z, 1, s_6); /* <-, line 81 */ |
737 | if (ret < 0) return ret; |
738 | } |
739 | break; |
740 | case 5: |
741 | { int m1 = z->l - z->c; (void)m1; /* not, line 83 */ |
742 | if (!(eq_s_b(z, 2, s_7))) goto lab0; /* literal, line 83 */ |
743 | return 0; |
744 | lab0: |
745 | z->c = z->l - m1; |
746 | } |
747 | { int ret = slice_from_s(z, 1, s_8); /* <-, line 83 */ |
748 | if (ret < 0) return ret; |
749 | } |
750 | break; |
751 | case 6: |
752 | { int ret = slice_from_s(z, 2, s_9); /* <-, line 85 */ |
753 | if (ret < 0) return ret; |
754 | } |
755 | break; |
756 | case 7: |
757 | { int ret = slice_from_s(z, 3, s_10); /* <-, line 87 */ |
758 | if (ret < 0) return ret; |
759 | } |
760 | break; |
761 | } |
762 | return 1; |
763 | } |
764 | |
765 | static int r_combo_suffix(struct SN_env * z) { /* backwardmode */ |
766 | int among_var; |
767 | { int m_test1 = z->l - z->c; /* test, line 91 */ |
768 | z->ket = z->c; /* [, line 92 */ |
769 | among_var = find_among_b(z, a_2, 46); /* substring, line 92 */ |
770 | if (!(among_var)) return 0; |
771 | z->bra = z->c; /* ], line 92 */ |
772 | { int ret = r_R1(z); /* call R1, line 92 */ |
773 | if (ret <= 0) return ret; |
774 | } |
775 | switch (among_var) { /* among, line 93 */ |
776 | case 1: |
777 | { int ret = slice_from_s(z, 4, s_11); /* <-, line 101 */ |
778 | if (ret < 0) return ret; |
779 | } |
780 | break; |
781 | case 2: |
782 | { int ret = slice_from_s(z, 4, s_12); /* <-, line 104 */ |
783 | if (ret < 0) return ret; |
784 | } |
785 | break; |
786 | case 3: |
787 | { int ret = slice_from_s(z, 2, s_13); /* <-, line 107 */ |
788 | if (ret < 0) return ret; |
789 | } |
790 | break; |
791 | case 4: |
792 | { int ret = slice_from_s(z, 2, s_14); /* <-, line 113 */ |
793 | if (ret < 0) return ret; |
794 | } |
795 | break; |
796 | case 5: |
797 | { int ret = slice_from_s(z, 2, s_15); /* <-, line 118 */ |
798 | if (ret < 0) return ret; |
799 | } |
800 | break; |
801 | case 6: |
802 | { int ret = slice_from_s(z, 2, s_16); /* <-, line 122 */ |
803 | if (ret < 0) return ret; |
804 | } |
805 | break; |
806 | } |
807 | z->B[0] = 1; /* set standard_suffix_removed, line 125 */ |
808 | z->c = z->l - m_test1; |
809 | } |
810 | return 1; |
811 | } |
812 | |
813 | static int r_standard_suffix(struct SN_env * z) { /* backwardmode */ |
814 | int among_var; |
815 | z->B[0] = 0; /* unset standard_suffix_removed, line 130 */ |
816 | while(1) { /* repeat, line 131 */ |
817 | int m1 = z->l - z->c; (void)m1; |
818 | { int ret = r_combo_suffix(z); /* call combo_suffix, line 131 */ |
819 | if (ret == 0) goto lab0; |
820 | if (ret < 0) return ret; |
821 | } |
822 | continue; |
823 | lab0: |
824 | z->c = z->l - m1; |
825 | break; |
826 | } |
827 | z->ket = z->c; /* [, line 132 */ |
828 | among_var = find_among_b(z, a_3, 62); /* substring, line 132 */ |
829 | if (!(among_var)) return 0; |
830 | z->bra = z->c; /* ], line 132 */ |
831 | { int ret = r_R2(z); /* call R2, line 132 */ |
832 | if (ret <= 0) return ret; |
833 | } |
834 | switch (among_var) { /* among, line 133 */ |
835 | case 1: |
836 | { int ret = slice_del(z); /* delete, line 149 */ |
837 | if (ret < 0) return ret; |
838 | } |
839 | break; |
840 | case 2: |
841 | if (z->c <= z->lb || z->p[z->c - 1] != 0xFE) return 0; /* literal, line 152 */ |
842 | z->c--; |
843 | z->bra = z->c; /* ], line 152 */ |
844 | { int ret = slice_from_s(z, 1, s_17); /* <-, line 152 */ |
845 | if (ret < 0) return ret; |
846 | } |
847 | break; |
848 | case 3: |
849 | { int ret = slice_from_s(z, 3, s_18); /* <-, line 156 */ |
850 | if (ret < 0) return ret; |
851 | } |
852 | break; |
853 | } |
854 | z->B[0] = 1; /* set standard_suffix_removed, line 160 */ |
855 | return 1; |
856 | } |
857 | |
858 | static int r_verb_suffix(struct SN_env * z) { /* backwardmode */ |
859 | int among_var; |
860 | |
861 | { int mlimit1; /* setlimit, line 164 */ |
862 | if (z->c < z->I[0]) return 0; |
863 | mlimit1 = z->lb; z->lb = z->I[0]; |
864 | z->ket = z->c; /* [, line 165 */ |
865 | among_var = find_among_b(z, a_4, 94); /* substring, line 165 */ |
866 | if (!(among_var)) { z->lb = mlimit1; return 0; } |
867 | z->bra = z->c; /* ], line 165 */ |
868 | switch (among_var) { /* among, line 165 */ |
869 | case 1: |
870 | { int m2 = z->l - z->c; (void)m2; /* or, line 200 */ |
871 | if (out_grouping_b(z, g_v, 97, 238, 0)) goto lab1; /* non v, line 200 */ |
872 | goto lab0; |
873 | lab1: |
874 | z->c = z->l - m2; |
875 | if (z->c <= z->lb || z->p[z->c - 1] != 'u') { z->lb = mlimit1; return 0; } /* literal, line 200 */ |
876 | z->c--; |
877 | } |
878 | lab0: |
879 | { int ret = slice_del(z); /* delete, line 200 */ |
880 | if (ret < 0) return ret; |
881 | } |
882 | break; |
883 | case 2: |
884 | { int ret = slice_del(z); /* delete, line 214 */ |
885 | if (ret < 0) return ret; |
886 | } |
887 | break; |
888 | } |
889 | z->lb = mlimit1; |
890 | } |
891 | return 1; |
892 | } |
893 | |
894 | static int r_vowel_suffix(struct SN_env * z) { /* backwardmode */ |
895 | z->ket = z->c; /* [, line 219 */ |
896 | if (!(find_among_b(z, a_5, 5))) return 0; /* substring, line 219 */ |
897 | z->bra = z->c; /* ], line 219 */ |
898 | { int ret = r_RV(z); /* call RV, line 219 */ |
899 | if (ret <= 0) return ret; |
900 | } |
901 | { int ret = slice_del(z); /* delete, line 220 */ |
902 | if (ret < 0) return ret; |
903 | } |
904 | return 1; |
905 | } |
906 | |
907 | extern int romanian_ISO_8859_2_stem(struct SN_env * z) { /* forwardmode */ |
908 | { int c1 = z->c; /* do, line 226 */ |
909 | { int ret = r_prelude(z); /* call prelude, line 226 */ |
910 | if (ret == 0) goto lab0; |
911 | if (ret < 0) return ret; |
912 | } |
913 | lab0: |
914 | z->c = c1; |
915 | } |
916 | /* do, line 227 */ |
917 | { int ret = r_mark_regions(z); /* call mark_regions, line 227 */ |
918 | if (ret == 0) goto lab1; |
919 | if (ret < 0) return ret; |
920 | } |
921 | lab1: |
922 | z->lb = z->c; z->c = z->l; /* backwards, line 228 */ |
923 | |
924 | { int m2 = z->l - z->c; (void)m2; /* do, line 229 */ |
925 | { int ret = r_step_0(z); /* call step_0, line 229 */ |
926 | if (ret == 0) goto lab2; |
927 | if (ret < 0) return ret; |
928 | } |
929 | lab2: |
930 | z->c = z->l - m2; |
931 | } |
932 | { int m3 = z->l - z->c; (void)m3; /* do, line 230 */ |
933 | { int ret = r_standard_suffix(z); /* call standard_suffix, line 230 */ |
934 | if (ret == 0) goto lab3; |
935 | if (ret < 0) return ret; |
936 | } |
937 | lab3: |
938 | z->c = z->l - m3; |
939 | } |
940 | { int m4 = z->l - z->c; (void)m4; /* do, line 231 */ |
941 | { int m5 = z->l - z->c; (void)m5; /* or, line 231 */ |
942 | if (!(z->B[0])) goto lab6; /* Boolean test standard_suffix_removed, line 231 */ |
943 | goto lab5; |
944 | lab6: |
945 | z->c = z->l - m5; |
946 | { int ret = r_verb_suffix(z); /* call verb_suffix, line 231 */ |
947 | if (ret == 0) goto lab4; |
948 | if (ret < 0) return ret; |
949 | } |
950 | } |
951 | lab5: |
952 | lab4: |
953 | z->c = z->l - m4; |
954 | } |
955 | { int m6 = z->l - z->c; (void)m6; /* do, line 232 */ |
956 | { int ret = r_vowel_suffix(z); /* call vowel_suffix, line 232 */ |
957 | if (ret == 0) goto lab7; |
958 | if (ret < 0) return ret; |
959 | } |
960 | lab7: |
961 | z->c = z->l - m6; |
962 | } |
963 | z->c = z->lb; |
964 | { int c7 = z->c; /* do, line 234 */ |
965 | { int ret = r_postlude(z); /* call postlude, line 234 */ |
966 | if (ret == 0) goto lab8; |
967 | if (ret < 0) return ret; |
968 | } |
969 | lab8: |
970 | z->c = c7; |
971 | } |
972 | return 1; |
973 | } |
974 | |
975 | extern struct SN_env * romanian_ISO_8859_2_create_env(void) { return SN_create_env(0, 3, 1); } |
976 | |
977 | extern void romanian_ISO_8859_2_close_env(struct SN_env * z) { SN_close_env(z, 0); } |
978 | |
979 | |