00001
00002
00003
00004 #include "header.h"
00005
00006 #ifdef __cplusplus
00007 extern "C" {
00008 #endif
00009 extern int spanish_UTF_8_stem(struct SN_env * z);
00010 #ifdef __cplusplus
00011 }
00012 #endif
00013 static int r_residual_suffix(struct SN_env * z);
00014 static int r_verb_suffix(struct SN_env * z);
00015 static int r_y_verb_suffix(struct SN_env * z);
00016 static int r_standard_suffix(struct SN_env * z);
00017 static int r_attached_pronoun(struct SN_env * z);
00018 static int r_R2(struct SN_env * z);
00019 static int r_R1(struct SN_env * z);
00020 static int r_RV(struct SN_env * z);
00021 static int r_mark_regions(struct SN_env * z);
00022 static int r_postlude(struct SN_env * z);
00023 #ifdef __cplusplus
00024 extern "C" {
00025 #endif
00026
00027
00028 extern struct SN_env * spanish_UTF_8_create_env(void);
00029 extern void spanish_UTF_8_close_env(struct SN_env * z);
00030
00031
00032 #ifdef __cplusplus
00033 }
00034 #endif
00035 static const symbol s_0_1[2] = { 0xC3, 0xA1 };
00036 static const symbol s_0_2[2] = { 0xC3, 0xA9 };
00037 static const symbol s_0_3[2] = { 0xC3, 0xAD };
00038 static const symbol s_0_4[2] = { 0xC3, 0xB3 };
00039 static const symbol s_0_5[2] = { 0xC3, 0xBA };
00040
00041 static const struct among a_0[6] =
00042 {
00043 { 0, 0, -1, 6, 0},
00044 { 2, s_0_1, 0, 1, 0},
00045 { 2, s_0_2, 0, 2, 0},
00046 { 2, s_0_3, 0, 3, 0},
00047 { 2, s_0_4, 0, 4, 0},
00048 { 2, s_0_5, 0, 5, 0}
00049 };
00050
00051 static const symbol s_1_0[2] = { 'l', 'a' };
00052 static const symbol s_1_1[4] = { 's', 'e', 'l', 'a' };
00053 static const symbol s_1_2[2] = { 'l', 'e' };
00054 static const symbol s_1_3[2] = { 'm', 'e' };
00055 static const symbol s_1_4[2] = { 's', 'e' };
00056 static const symbol s_1_5[2] = { 'l', 'o' };
00057 static const symbol s_1_6[4] = { 's', 'e', 'l', 'o' };
00058 static const symbol s_1_7[3] = { 'l', 'a', 's' };
00059 static const symbol s_1_8[5] = { 's', 'e', 'l', 'a', 's' };
00060 static const symbol s_1_9[3] = { 'l', 'e', 's' };
00061 static const symbol s_1_10[3] = { 'l', 'o', 's' };
00062 static const symbol s_1_11[5] = { 's', 'e', 'l', 'o', 's' };
00063 static const symbol s_1_12[3] = { 'n', 'o', 's' };
00064
00065 static const struct among a_1[13] =
00066 {
00067 { 2, s_1_0, -1, -1, 0},
00068 { 4, s_1_1, 0, -1, 0},
00069 { 2, s_1_2, -1, -1, 0},
00070 { 2, s_1_3, -1, -1, 0},
00071 { 2, s_1_4, -1, -1, 0},
00072 { 2, s_1_5, -1, -1, 0},
00073 { 4, s_1_6, 5, -1, 0},
00074 { 3, s_1_7, -1, -1, 0},
00075 { 5, s_1_8, 7, -1, 0},
00076 { 3, s_1_9, -1, -1, 0},
00077 { 3, s_1_10, -1, -1, 0},
00078 { 5, s_1_11, 10, -1, 0},
00079 { 3, s_1_12, -1, -1, 0}
00080 };
00081
00082 static const symbol s_2_0[4] = { 'a', 'n', 'd', 'o' };
00083 static const symbol s_2_1[5] = { 'i', 'e', 'n', 'd', 'o' };
00084 static const symbol s_2_2[5] = { 'y', 'e', 'n', 'd', 'o' };
00085 static const symbol s_2_3[5] = { 0xC3, 0xA1, 'n', 'd', 'o' };
00086 static const symbol s_2_4[6] = { 'i', 0xC3, 0xA9, 'n', 'd', 'o' };
00087 static const symbol s_2_5[2] = { 'a', 'r' };
00088 static const symbol s_2_6[2] = { 'e', 'r' };
00089 static const symbol s_2_7[2] = { 'i', 'r' };
00090 static const symbol s_2_8[3] = { 0xC3, 0xA1, 'r' };
00091 static const symbol s_2_9[3] = { 0xC3, 0xA9, 'r' };
00092 static const symbol s_2_10[3] = { 0xC3, 0xAD, 'r' };
00093
00094 static const struct among a_2[11] =
00095 {
00096 { 4, s_2_0, -1, 6, 0},
00097 { 5, s_2_1, -1, 6, 0},
00098 { 5, s_2_2, -1, 7, 0},
00099 { 5, s_2_3, -1, 2, 0},
00100 { 6, s_2_4, -1, 1, 0},
00101 { 2, s_2_5, -1, 6, 0},
00102 { 2, s_2_6, -1, 6, 0},
00103 { 2, s_2_7, -1, 6, 0},
00104 { 3, s_2_8, -1, 3, 0},
00105 { 3, s_2_9, -1, 4, 0},
00106 { 3, s_2_10, -1, 5, 0}
00107 };
00108
00109 static const symbol s_3_0[2] = { 'i', 'c' };
00110 static const symbol s_3_1[2] = { 'a', 'd' };
00111 static const symbol s_3_2[2] = { 'o', 's' };
00112 static const symbol s_3_3[2] = { 'i', 'v' };
00113
00114 static const struct among a_3[4] =
00115 {
00116 { 2, s_3_0, -1, -1, 0},
00117 { 2, s_3_1, -1, -1, 0},
00118 { 2, s_3_2, -1, -1, 0},
00119 { 2, s_3_3, -1, 1, 0}
00120 };
00121
00122 static const symbol s_4_0[4] = { 'a', 'b', 'l', 'e' };
00123 static const symbol s_4_1[4] = { 'i', 'b', 'l', 'e' };
00124 static const symbol s_4_2[4] = { 'a', 'n', 't', 'e' };
00125
00126 static const struct among a_4[3] =
00127 {
00128 { 4, s_4_0, -1, 1, 0},
00129 { 4, s_4_1, -1, 1, 0},
00130 { 4, s_4_2, -1, 1, 0}
00131 };
00132
00133 static const symbol s_5_0[2] = { 'i', 'c' };
00134 static const symbol s_5_1[4] = { 'a', 'b', 'i', 'l' };
00135 static const symbol s_5_2[2] = { 'i', 'v' };
00136
00137 static const struct among a_5[3] =
00138 {
00139 { 2, s_5_0, -1, 1, 0},
00140 { 4, s_5_1, -1, 1, 0},
00141 { 2, s_5_2, -1, 1, 0}
00142 };
00143
00144 static const symbol s_6_0[3] = { 'i', 'c', 'a' };
00145 static const symbol s_6_1[5] = { 'a', 'n', 'c', 'i', 'a' };
00146 static const symbol s_6_2[5] = { 'e', 'n', 'c', 'i', 'a' };
00147 static const symbol s_6_3[5] = { 'a', 'd', 'o', 'r', 'a' };
00148 static const symbol s_6_4[3] = { 'o', 's', 'a' };
00149 static const symbol s_6_5[4] = { 'i', 's', 't', 'a' };
00150 static const symbol s_6_6[3] = { 'i', 'v', 'a' };
00151 static const symbol s_6_7[4] = { 'a', 'n', 'z', 'a' };
00152 static const symbol s_6_8[6] = { 'l', 'o', 'g', 0xC3, 0xAD, 'a' };
00153 static const symbol s_6_9[4] = { 'i', 'd', 'a', 'd' };
00154 static const symbol s_6_10[4] = { 'a', 'b', 'l', 'e' };
00155 static const symbol s_6_11[4] = { 'i', 'b', 'l', 'e' };
00156 static const symbol s_6_12[4] = { 'a', 'n', 't', 'e' };
00157 static const symbol s_6_13[5] = { 'm', 'e', 'n', 't', 'e' };
00158 static const symbol s_6_14[6] = { 'a', 'm', 'e', 'n', 't', 'e' };
00159 static const symbol s_6_15[6] = { 'a', 'c', 'i', 0xC3, 0xB3, 'n' };
00160 static const symbol s_6_16[6] = { 'u', 'c', 'i', 0xC3, 0xB3, 'n' };
00161 static const symbol s_6_17[3] = { 'i', 'c', 'o' };
00162 static const symbol s_6_18[4] = { 'i', 's', 'm', 'o' };
00163 static const symbol s_6_19[3] = { 'o', 's', 'o' };
00164 static const symbol s_6_20[7] = { 'a', 'm', 'i', 'e', 'n', 't', 'o' };
00165 static const symbol s_6_21[7] = { 'i', 'm', 'i', 'e', 'n', 't', 'o' };
00166 static const symbol s_6_22[3] = { 'i', 'v', 'o' };
00167 static const symbol s_6_23[4] = { 'a', 'd', 'o', 'r' };
00168 static const symbol s_6_24[4] = { 'i', 'c', 'a', 's' };
00169 static const symbol s_6_25[6] = { 'a', 'n', 'c', 'i', 'a', 's' };
00170 static const symbol s_6_26[6] = { 'e', 'n', 'c', 'i', 'a', 's' };
00171 static const symbol s_6_27[6] = { 'a', 'd', 'o', 'r', 'a', 's' };
00172 static const symbol s_6_28[4] = { 'o', 's', 'a', 's' };
00173 static const symbol s_6_29[5] = { 'i', 's', 't', 'a', 's' };
00174 static const symbol s_6_30[4] = { 'i', 'v', 'a', 's' };
00175 static const symbol s_6_31[5] = { 'a', 'n', 'z', 'a', 's' };
00176 static const symbol s_6_32[7] = { 'l', 'o', 'g', 0xC3, 0xAD, 'a', 's' };
00177 static const symbol s_6_33[6] = { 'i', 'd', 'a', 'd', 'e', 's' };
00178 static const symbol s_6_34[5] = { 'a', 'b', 'l', 'e', 's' };
00179 static const symbol s_6_35[5] = { 'i', 'b', 'l', 'e', 's' };
00180 static const symbol s_6_36[7] = { 'a', 'c', 'i', 'o', 'n', 'e', 's' };
00181 static const symbol s_6_37[7] = { 'u', 'c', 'i', 'o', 'n', 'e', 's' };
00182 static const symbol s_6_38[6] = { 'a', 'd', 'o', 'r', 'e', 's' };
00183 static const symbol s_6_39[5] = { 'a', 'n', 't', 'e', 's' };
00184 static const symbol s_6_40[4] = { 'i', 'c', 'o', 's' };
00185 static const symbol s_6_41[5] = { 'i', 's', 'm', 'o', 's' };
00186 static const symbol s_6_42[4] = { 'o', 's', 'o', 's' };
00187 static const symbol s_6_43[8] = { 'a', 'm', 'i', 'e', 'n', 't', 'o', 's' };
00188 static const symbol s_6_44[8] = { 'i', 'm', 'i', 'e', 'n', 't', 'o', 's' };
00189 static const symbol s_6_45[4] = { 'i', 'v', 'o', 's' };
00190
00191 static const struct among a_6[46] =
00192 {
00193 { 3, s_6_0, -1, 1, 0},
00194 { 5, s_6_1, -1, 2, 0},
00195 { 5, s_6_2, -1, 5, 0},
00196 { 5, s_6_3, -1, 2, 0},
00197 { 3, s_6_4, -1, 1, 0},
00198 { 4, s_6_5, -1, 1, 0},
00199 { 3, s_6_6, -1, 9, 0},
00200 { 4, s_6_7, -1, 1, 0},
00201 { 6, s_6_8, -1, 3, 0},
00202 { 4, s_6_9, -1, 8, 0},
00203 { 4, s_6_10, -1, 1, 0},
00204 { 4, s_6_11, -1, 1, 0},
00205 { 4, s_6_12, -1, 2, 0},
00206 { 5, s_6_13, -1, 7, 0},
00207 { 6, s_6_14, 13, 6, 0},
00208 { 6, s_6_15, -1, 2, 0},
00209 { 6, s_6_16, -1, 4, 0},
00210 { 3, s_6_17, -1, 1, 0},
00211 { 4, s_6_18, -1, 1, 0},
00212 { 3, s_6_19, -1, 1, 0},
00213 { 7, s_6_20, -1, 1, 0},
00214 { 7, s_6_21, -1, 1, 0},
00215 { 3, s_6_22, -1, 9, 0},
00216 { 4, s_6_23, -1, 2, 0},
00217 { 4, s_6_24, -1, 1, 0},
00218 { 6, s_6_25, -1, 2, 0},
00219 { 6, s_6_26, -1, 5, 0},
00220 { 6, s_6_27, -1, 2, 0},
00221 { 4, s_6_28, -1, 1, 0},
00222 { 5, s_6_29, -1, 1, 0},
00223 { 4, s_6_30, -1, 9, 0},
00224 { 5, s_6_31, -1, 1, 0},
00225 { 7, s_6_32, -1, 3, 0},
00226 { 6, s_6_33, -1, 8, 0},
00227 { 5, s_6_34, -1, 1, 0},
00228 { 5, s_6_35, -1, 1, 0},
00229 { 7, s_6_36, -1, 2, 0},
00230 { 7, s_6_37, -1, 4, 0},
00231 { 6, s_6_38, -1, 2, 0},
00232 { 5, s_6_39, -1, 2, 0},
00233 { 4, s_6_40, -1, 1, 0},
00234 { 5, s_6_41, -1, 1, 0},
00235 { 4, s_6_42, -1, 1, 0},
00236 { 8, s_6_43, -1, 1, 0},
00237 { 8, s_6_44, -1, 1, 0},
00238 { 4, s_6_45, -1, 9, 0}
00239 };
00240
00241 static const symbol s_7_0[2] = { 'y', 'a' };
00242 static const symbol s_7_1[2] = { 'y', 'e' };
00243 static const symbol s_7_2[3] = { 'y', 'a', 'n' };
00244 static const symbol s_7_3[3] = { 'y', 'e', 'n' };
00245 static const symbol s_7_4[5] = { 'y', 'e', 'r', 'o', 'n' };
00246 static const symbol s_7_5[5] = { 'y', 'e', 'n', 'd', 'o' };
00247 static const symbol s_7_6[2] = { 'y', 'o' };
00248 static const symbol s_7_7[3] = { 'y', 'a', 's' };
00249 static const symbol s_7_8[3] = { 'y', 'e', 's' };
00250 static const symbol s_7_9[4] = { 'y', 'a', 'i', 's' };
00251 static const symbol s_7_10[5] = { 'y', 'a', 'm', 'o', 's' };
00252 static const symbol s_7_11[3] = { 'y', 0xC3, 0xB3 };
00253
00254 static const struct among a_7[12] =
00255 {
00256 { 2, s_7_0, -1, 1, 0},
00257 { 2, s_7_1, -1, 1, 0},
00258 { 3, s_7_2, -1, 1, 0},
00259 { 3, s_7_3, -1, 1, 0},
00260 { 5, s_7_4, -1, 1, 0},
00261 { 5, s_7_5, -1, 1, 0},
00262 { 2, s_7_6, -1, 1, 0},
00263 { 3, s_7_7, -1, 1, 0},
00264 { 3, s_7_8, -1, 1, 0},
00265 { 4, s_7_9, -1, 1, 0},
00266 { 5, s_7_10, -1, 1, 0},
00267 { 3, s_7_11, -1, 1, 0}
00268 };
00269
00270 static const symbol s_8_0[3] = { 'a', 'b', 'a' };
00271 static const symbol s_8_1[3] = { 'a', 'd', 'a' };
00272 static const symbol s_8_2[3] = { 'i', 'd', 'a' };
00273 static const symbol s_8_3[3] = { 'a', 'r', 'a' };
00274 static const symbol s_8_4[4] = { 'i', 'e', 'r', 'a' };
00275 static const symbol s_8_5[3] = { 0xC3, 0xAD, 'a' };
00276 static const symbol s_8_6[5] = { 'a', 'r', 0xC3, 0xAD, 'a' };
00277 static const symbol s_8_7[5] = { 'e', 'r', 0xC3, 0xAD, 'a' };
00278 static const symbol s_8_8[5] = { 'i', 'r', 0xC3, 0xAD, 'a' };
00279 static const symbol s_8_9[2] = { 'a', 'd' };
00280 static const symbol s_8_10[2] = { 'e', 'd' };
00281 static const symbol s_8_11[2] = { 'i', 'd' };
00282 static const symbol s_8_12[3] = { 'a', 's', 'e' };
00283 static const symbol s_8_13[4] = { 'i', 'e', 's', 'e' };
00284 static const symbol s_8_14[4] = { 'a', 's', 't', 'e' };
00285 static const symbol s_8_15[4] = { 'i', 's', 't', 'e' };
00286 static const symbol s_8_16[2] = { 'a', 'n' };
00287 static const symbol s_8_17[4] = { 'a', 'b', 'a', 'n' };
00288 static const symbol s_8_18[4] = { 'a', 'r', 'a', 'n' };
00289 static const symbol s_8_19[5] = { 'i', 'e', 'r', 'a', 'n' };
00290 static const symbol s_8_20[4] = { 0xC3, 0xAD, 'a', 'n' };
00291 static const symbol s_8_21[6] = { 'a', 'r', 0xC3, 0xAD, 'a', 'n' };
00292 static const symbol s_8_22[6] = { 'e', 'r', 0xC3, 0xAD, 'a', 'n' };
00293 static const symbol s_8_23[6] = { 'i', 'r', 0xC3, 0xAD, 'a', 'n' };
00294 static const symbol s_8_24[2] = { 'e', 'n' };
00295 static const symbol s_8_25[4] = { 'a', 's', 'e', 'n' };
00296 static const symbol s_8_26[5] = { 'i', 'e', 's', 'e', 'n' };
00297 static const symbol s_8_27[4] = { 'a', 'r', 'o', 'n' };
00298 static const symbol s_8_28[5] = { 'i', 'e', 'r', 'o', 'n' };
00299 static const symbol s_8_29[5] = { 'a', 'r', 0xC3, 0xA1, 'n' };
00300 static const symbol s_8_30[5] = { 'e', 'r', 0xC3, 0xA1, 'n' };
00301 static const symbol s_8_31[5] = { 'i', 'r', 0xC3, 0xA1, 'n' };
00302 static const symbol s_8_32[3] = { 'a', 'd', 'o' };
00303 static const symbol s_8_33[3] = { 'i', 'd', 'o' };
00304 static const symbol s_8_34[4] = { 'a', 'n', 'd', 'o' };
00305 static const symbol s_8_35[5] = { 'i', 'e', 'n', 'd', 'o' };
00306 static const symbol s_8_36[2] = { 'a', 'r' };
00307 static const symbol s_8_37[2] = { 'e', 'r' };
00308 static const symbol s_8_38[2] = { 'i', 'r' };
00309 static const symbol s_8_39[2] = { 'a', 's' };
00310 static const symbol s_8_40[4] = { 'a', 'b', 'a', 's' };
00311 static const symbol s_8_41[4] = { 'a', 'd', 'a', 's' };
00312 static const symbol s_8_42[4] = { 'i', 'd', 'a', 's' };
00313 static const symbol s_8_43[4] = { 'a', 'r', 'a', 's' };
00314 static const symbol s_8_44[5] = { 'i', 'e', 'r', 'a', 's' };
00315 static const symbol s_8_45[4] = { 0xC3, 0xAD, 'a', 's' };
00316 static const symbol s_8_46[6] = { 'a', 'r', 0xC3, 0xAD, 'a', 's' };
00317 static const symbol s_8_47[6] = { 'e', 'r', 0xC3, 0xAD, 'a', 's' };
00318 static const symbol s_8_48[6] = { 'i', 'r', 0xC3, 0xAD, 'a', 's' };
00319 static const symbol s_8_49[2] = { 'e', 's' };
00320 static const symbol s_8_50[4] = { 'a', 's', 'e', 's' };
00321 static const symbol s_8_51[5] = { 'i', 'e', 's', 'e', 's' };
00322 static const symbol s_8_52[5] = { 'a', 'b', 'a', 'i', 's' };
00323 static const symbol s_8_53[5] = { 'a', 'r', 'a', 'i', 's' };
00324 static const symbol s_8_54[6] = { 'i', 'e', 'r', 'a', 'i', 's' };
00325 static const symbol s_8_55[5] = { 0xC3, 0xAD, 'a', 'i', 's' };
00326 static const symbol s_8_56[7] = { 'a', 'r', 0xC3, 0xAD, 'a', 'i', 's' };
00327 static const symbol s_8_57[7] = { 'e', 'r', 0xC3, 0xAD, 'a', 'i', 's' };
00328 static const symbol s_8_58[7] = { 'i', 'r', 0xC3, 0xAD, 'a', 'i', 's' };
00329 static const symbol s_8_59[5] = { 'a', 's', 'e', 'i', 's' };
00330 static const symbol s_8_60[6] = { 'i', 'e', 's', 'e', 'i', 's' };
00331 static const symbol s_8_61[6] = { 'a', 's', 't', 'e', 'i', 's' };
00332 static const symbol s_8_62[6] = { 'i', 's', 't', 'e', 'i', 's' };
00333 static const symbol s_8_63[4] = { 0xC3, 0xA1, 'i', 's' };
00334 static const symbol s_8_64[4] = { 0xC3, 0xA9, 'i', 's' };
00335 static const symbol s_8_65[6] = { 'a', 'r', 0xC3, 0xA9, 'i', 's' };
00336 static const symbol s_8_66[6] = { 'e', 'r', 0xC3, 0xA9, 'i', 's' };
00337 static const symbol s_8_67[6] = { 'i', 'r', 0xC3, 0xA9, 'i', 's' };
00338 static const symbol s_8_68[4] = { 'a', 'd', 'o', 's' };
00339 static const symbol s_8_69[4] = { 'i', 'd', 'o', 's' };
00340 static const symbol s_8_70[4] = { 'a', 'm', 'o', 's' };
00341 static const symbol s_8_71[7] = { 0xC3, 0xA1, 'b', 'a', 'm', 'o', 's' };
00342 static const symbol s_8_72[7] = { 0xC3, 0xA1, 'r', 'a', 'm', 'o', 's' };
00343 static const symbol s_8_73[8] = { 'i', 0xC3, 0xA9, 'r', 'a', 'm', 'o', 's' };
00344 static const symbol s_8_74[6] = { 0xC3, 0xAD, 'a', 'm', 'o', 's' };
00345 static const symbol s_8_75[8] = { 'a', 'r', 0xC3, 0xAD, 'a', 'm', 'o', 's' };
00346 static const symbol s_8_76[8] = { 'e', 'r', 0xC3, 0xAD, 'a', 'm', 'o', 's' };
00347 static const symbol s_8_77[8] = { 'i', 'r', 0xC3, 0xAD, 'a', 'm', 'o', 's' };
00348 static const symbol s_8_78[4] = { 'e', 'm', 'o', 's' };
00349 static const symbol s_8_79[6] = { 'a', 'r', 'e', 'm', 'o', 's' };
00350 static const symbol s_8_80[6] = { 'e', 'r', 'e', 'm', 'o', 's' };
00351 static const symbol s_8_81[6] = { 'i', 'r', 'e', 'm', 'o', 's' };
00352 static const symbol s_8_82[7] = { 0xC3, 0xA1, 's', 'e', 'm', 'o', 's' };
00353 static const symbol s_8_83[8] = { 'i', 0xC3, 0xA9, 's', 'e', 'm', 'o', 's' };
00354 static const symbol s_8_84[4] = { 'i', 'm', 'o', 's' };
00355 static const symbol s_8_85[5] = { 'a', 'r', 0xC3, 0xA1, 's' };
00356 static const symbol s_8_86[5] = { 'e', 'r', 0xC3, 0xA1, 's' };
00357 static const symbol s_8_87[5] = { 'i', 'r', 0xC3, 0xA1, 's' };
00358 static const symbol s_8_88[3] = { 0xC3, 0xAD, 's' };
00359 static const symbol s_8_89[4] = { 'a', 'r', 0xC3, 0xA1 };
00360 static const symbol s_8_90[4] = { 'e', 'r', 0xC3, 0xA1 };
00361 static const symbol s_8_91[4] = { 'i', 'r', 0xC3, 0xA1 };
00362 static const symbol s_8_92[4] = { 'a', 'r', 0xC3, 0xA9 };
00363 static const symbol s_8_93[4] = { 'e', 'r', 0xC3, 0xA9 };
00364 static const symbol s_8_94[4] = { 'i', 'r', 0xC3, 0xA9 };
00365 static const symbol s_8_95[3] = { 'i', 0xC3, 0xB3 };
00366
00367 static const struct among a_8[96] =
00368 {
00369 { 3, s_8_0, -1, 2, 0},
00370 { 3, s_8_1, -1, 2, 0},
00371 { 3, s_8_2, -1, 2, 0},
00372 { 3, s_8_3, -1, 2, 0},
00373 { 4, s_8_4, -1, 2, 0},
00374 { 3, s_8_5, -1, 2, 0},
00375 { 5, s_8_6, 5, 2, 0},
00376 { 5, s_8_7, 5, 2, 0},
00377 { 5, s_8_8, 5, 2, 0},
00378 { 2, s_8_9, -1, 2, 0},
00379 { 2, s_8_10, -1, 2, 0},
00380 { 2, s_8_11, -1, 2, 0},
00381 { 3, s_8_12, -1, 2, 0},
00382 { 4, s_8_13, -1, 2, 0},
00383 { 4, s_8_14, -1, 2, 0},
00384 { 4, s_8_15, -1, 2, 0},
00385 { 2, s_8_16, -1, 2, 0},
00386 { 4, s_8_17, 16, 2, 0},
00387 { 4, s_8_18, 16, 2, 0},
00388 { 5, s_8_19, 16, 2, 0},
00389 { 4, s_8_20, 16, 2, 0},
00390 { 6, s_8_21, 20, 2, 0},
00391 { 6, s_8_22, 20, 2, 0},
00392 { 6, s_8_23, 20, 2, 0},
00393 { 2, s_8_24, -1, 1, 0},
00394 { 4, s_8_25, 24, 2, 0},
00395 { 5, s_8_26, 24, 2, 0},
00396 { 4, s_8_27, -1, 2, 0},
00397 { 5, s_8_28, -1, 2, 0},
00398 { 5, s_8_29, -1, 2, 0},
00399 { 5, s_8_30, -1, 2, 0},
00400 { 5, s_8_31, -1, 2, 0},
00401 { 3, s_8_32, -1, 2, 0},
00402 { 3, s_8_33, -1, 2, 0},
00403 { 4, s_8_34, -1, 2, 0},
00404 { 5, s_8_35, -1, 2, 0},
00405 { 2, s_8_36, -1, 2, 0},
00406 { 2, s_8_37, -1, 2, 0},
00407 { 2, s_8_38, -1, 2, 0},
00408 { 2, s_8_39, -1, 2, 0},
00409 { 4, s_8_40, 39, 2, 0},
00410 { 4, s_8_41, 39, 2, 0},
00411 { 4, s_8_42, 39, 2, 0},
00412 { 4, s_8_43, 39, 2, 0},
00413 { 5, s_8_44, 39, 2, 0},
00414 { 4, s_8_45, 39, 2, 0},
00415 { 6, s_8_46, 45, 2, 0},
00416 { 6, s_8_47, 45, 2, 0},
00417 { 6, s_8_48, 45, 2, 0},
00418 { 2, s_8_49, -1, 1, 0},
00419 { 4, s_8_50, 49, 2, 0},
00420 { 5, s_8_51, 49, 2, 0},
00421 { 5, s_8_52, -1, 2, 0},
00422 { 5, s_8_53, -1, 2, 0},
00423 { 6, s_8_54, -1, 2, 0},
00424 { 5, s_8_55, -1, 2, 0},
00425 { 7, s_8_56, 55, 2, 0},
00426 { 7, s_8_57, 55, 2, 0},
00427 { 7, s_8_58, 55, 2, 0},
00428 { 5, s_8_59, -1, 2, 0},
00429 { 6, s_8_60, -1, 2, 0},
00430 { 6, s_8_61, -1, 2, 0},
00431 { 6, s_8_62, -1, 2, 0},
00432 { 4, s_8_63, -1, 2, 0},
00433 { 4, s_8_64, -1, 1, 0},
00434 { 6, s_8_65, 64, 2, 0},
00435 { 6, s_8_66, 64, 2, 0},
00436 { 6, s_8_67, 64, 2, 0},
00437 { 4, s_8_68, -1, 2, 0},
00438 { 4, s_8_69, -1, 2, 0},
00439 { 4, s_8_70, -1, 2, 0},
00440 { 7, s_8_71, 70, 2, 0},
00441 { 7, s_8_72, 70, 2, 0},
00442 { 8, s_8_73, 70, 2, 0},
00443 { 6, s_8_74, 70, 2, 0},
00444 { 8, s_8_75, 74, 2, 0},
00445 { 8, s_8_76, 74, 2, 0},
00446 { 8, s_8_77, 74, 2, 0},
00447 { 4, s_8_78, -1, 1, 0},
00448 { 6, s_8_79, 78, 2, 0},
00449 { 6, s_8_80, 78, 2, 0},
00450 { 6, s_8_81, 78, 2, 0},
00451 { 7, s_8_82, 78, 2, 0},
00452 { 8, s_8_83, 78, 2, 0},
00453 { 4, s_8_84, -1, 2, 0},
00454 { 5, s_8_85, -1, 2, 0},
00455 { 5, s_8_86, -1, 2, 0},
00456 { 5, s_8_87, -1, 2, 0},
00457 { 3, s_8_88, -1, 2, 0},
00458 { 4, s_8_89, -1, 2, 0},
00459 { 4, s_8_90, -1, 2, 0},
00460 { 4, s_8_91, -1, 2, 0},
00461 { 4, s_8_92, -1, 2, 0},
00462 { 4, s_8_93, -1, 2, 0},
00463 { 4, s_8_94, -1, 2, 0},
00464 { 3, s_8_95, -1, 2, 0}
00465 };
00466
00467 static const symbol s_9_0[1] = { 'a' };
00468 static const symbol s_9_1[1] = { 'e' };
00469 static const symbol s_9_2[1] = { 'o' };
00470 static const symbol s_9_3[2] = { 'o', 's' };
00471 static const symbol s_9_4[2] = { 0xC3, 0xA1 };
00472 static const symbol s_9_5[2] = { 0xC3, 0xA9 };
00473 static const symbol s_9_6[2] = { 0xC3, 0xAD };
00474 static const symbol s_9_7[2] = { 0xC3, 0xB3 };
00475
00476 static const struct among a_9[8] =
00477 {
00478 { 1, s_9_0, -1, 1, 0},
00479 { 1, s_9_1, -1, 2, 0},
00480 { 1, s_9_2, -1, 1, 0},
00481 { 2, s_9_3, -1, 1, 0},
00482 { 2, s_9_4, -1, 1, 0},
00483 { 2, s_9_5, -1, 2, 0},
00484 { 2, s_9_6, -1, 1, 0},
00485 { 2, s_9_7, -1, 1, 0}
00486 };
00487
00488 static const unsigned char g_v[] = { 17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 17, 4, 10 };
00489
00490 static const symbol s_0[] = { 'a' };
00491 static const symbol s_1[] = { 'e' };
00492 static const symbol s_2[] = { 'i' };
00493 static const symbol s_3[] = { 'o' };
00494 static const symbol s_4[] = { 'u' };
00495 static const symbol s_5[] = { 'i', 'e', 'n', 'd', 'o' };
00496 static const symbol s_6[] = { 'a', 'n', 'd', 'o' };
00497 static const symbol s_7[] = { 'a', 'r' };
00498 static const symbol s_8[] = { 'e', 'r' };
00499 static const symbol s_9[] = { 'i', 'r' };
00500 static const symbol s_10[] = { 'u' };
00501 static const symbol s_11[] = { 'i', 'c' };
00502 static const symbol s_12[] = { 'l', 'o', 'g' };
00503 static const symbol s_13[] = { 'u' };
00504 static const symbol s_14[] = { 'e', 'n', 't', 'e' };
00505 static const symbol s_15[] = { 'a', 't' };
00506 static const symbol s_16[] = { 'a', 't' };
00507 static const symbol s_17[] = { 'u' };
00508 static const symbol s_18[] = { 'u' };
00509 static const symbol s_19[] = { 'g' };
00510 static const symbol s_20[] = { 'u' };
00511 static const symbol s_21[] = { 'g' };
00512
00513 static int r_mark_regions(struct SN_env * z) {
00514 z->I[0] = z->l;
00515 z->I[1] = z->l;
00516 z->I[2] = z->l;
00517 { int c1 = z->c;
00518 { int c2 = z->c;
00519 if (in_grouping_U(z, g_v, 97, 252, 0)) goto lab2;
00520 { int c3 = z->c;
00521 if (out_grouping_U(z, g_v, 97, 252, 0)) goto lab4;
00522 {
00523 int ret = out_grouping_U(z, g_v, 97, 252, 1);
00524 if (ret < 0) goto lab4;
00525 z->c += ret;
00526 }
00527 goto lab3;
00528 lab4:
00529 z->c = c3;
00530 if (in_grouping_U(z, g_v, 97, 252, 0)) goto lab2;
00531 {
00532 int ret = in_grouping_U(z, g_v, 97, 252, 1);
00533 if (ret < 0) goto lab2;
00534 z->c += ret;
00535 }
00536 }
00537 lab3:
00538 goto lab1;
00539 lab2:
00540 z->c = c2;
00541 if (out_grouping_U(z, g_v, 97, 252, 0)) goto lab0;
00542 { int c4 = z->c;
00543 if (out_grouping_U(z, g_v, 97, 252, 0)) goto lab6;
00544 {
00545 int ret = out_grouping_U(z, g_v, 97, 252, 1);
00546 if (ret < 0) goto lab6;
00547 z->c += ret;
00548 }
00549 goto lab5;
00550 lab6:
00551 z->c = c4;
00552 if (in_grouping_U(z, g_v, 97, 252, 0)) goto lab0;
00553 { int ret = skip_utf8(z->p, z->c, 0, z->l, 1);
00554 if (ret < 0) goto lab0;
00555 z->c = ret;
00556 }
00557 }
00558 lab5:
00559 ;
00560 }
00561 lab1:
00562 z->I[0] = z->c;
00563 lab0:
00564 z->c = c1;
00565 }
00566 { int c5 = z->c;
00567 {
00568 int ret = out_grouping_U(z, g_v, 97, 252, 1);
00569 if (ret < 0) goto lab7;
00570 z->c += ret;
00571 }
00572 {
00573 int ret = in_grouping_U(z, g_v, 97, 252, 1);
00574 if (ret < 0) goto lab7;
00575 z->c += ret;
00576 }
00577 z->I[1] = z->c;
00578 {
00579 int ret = out_grouping_U(z, g_v, 97, 252, 1);
00580 if (ret < 0) goto lab7;
00581 z->c += ret;
00582 }
00583 {
00584 int ret = in_grouping_U(z, g_v, 97, 252, 1);
00585 if (ret < 0) goto lab7;
00586 z->c += ret;
00587 }
00588 z->I[2] = z->c;
00589 lab7:
00590 z->c = c5;
00591 }
00592 return 1;
00593 }
00594
00595 static int r_postlude(struct SN_env * z) {
00596 int among_var;
00597 while(1) {
00598 int c1 = z->c;
00599 z->bra = z->c;
00600 if (z->c + 1 >= z->l || z->p[z->c + 1] >> 5 != 5 || !((67641858 >> (z->p[z->c + 1] & 0x1f)) & 1)) among_var = 6; else
00601 among_var = find_among(z, a_0, 6);
00602 if (!(among_var)) goto lab0;
00603 z->ket = z->c;
00604 switch(among_var) {
00605 case 0: goto lab0;
00606 case 1:
00607 { int ret = slice_from_s(z, 1, s_0);
00608 if (ret < 0) return ret;
00609 }
00610 break;
00611 case 2:
00612 { int ret = slice_from_s(z, 1, s_1);
00613 if (ret < 0) return ret;
00614 }
00615 break;
00616 case 3:
00617 { int ret = slice_from_s(z, 1, s_2);
00618 if (ret < 0) return ret;
00619 }
00620 break;
00621 case 4:
00622 { int ret = slice_from_s(z, 1, s_3);
00623 if (ret < 0) return ret;
00624 }
00625 break;
00626 case 5:
00627 { int ret = slice_from_s(z, 1, s_4);
00628 if (ret < 0) return ret;
00629 }
00630 break;
00631 case 6:
00632 { int ret = skip_utf8(z->p, z->c, 0, z->l, 1);
00633 if (ret < 0) goto lab0;
00634 z->c = ret;
00635 }
00636 break;
00637 }
00638 continue;
00639 lab0:
00640 z->c = c1;
00641 break;
00642 }
00643 return 1;
00644 }
00645
00646 static int r_RV(struct SN_env * z) {
00647 if (!(z->I[0] <= z->c)) return 0;
00648 return 1;
00649 }
00650
00651 static int r_R1(struct SN_env * z) {
00652 if (!(z->I[1] <= z->c)) return 0;
00653 return 1;
00654 }
00655
00656 static int r_R2(struct SN_env * z) {
00657 if (!(z->I[2] <= z->c)) return 0;
00658 return 1;
00659 }
00660
00661 static int r_attached_pronoun(struct SN_env * z) {
00662 int among_var;
00663 z->ket = z->c;
00664 if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((557090 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
00665 if (!(find_among_b(z, a_1, 13))) return 0;
00666 z->bra = z->c;
00667 if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 111 && z->p[z->c - 1] != 114)) return 0;
00668 among_var = find_among_b(z, a_2, 11);
00669 if (!(among_var)) return 0;
00670 { int ret = r_RV(z);
00671 if (ret == 0) return 0;
00672 if (ret < 0) return ret;
00673 }
00674 switch(among_var) {
00675 case 0: return 0;
00676 case 1:
00677 z->bra = z->c;
00678 { int ret = slice_from_s(z, 5, s_5);
00679 if (ret < 0) return ret;
00680 }
00681 break;
00682 case 2:
00683 z->bra = z->c;
00684 { int ret = slice_from_s(z, 4, s_6);
00685 if (ret < 0) return ret;
00686 }
00687 break;
00688 case 3:
00689 z->bra = z->c;
00690 { int ret = slice_from_s(z, 2, s_7);
00691 if (ret < 0) return ret;
00692 }
00693 break;
00694 case 4:
00695 z->bra = z->c;
00696 { int ret = slice_from_s(z, 2, s_8);
00697 if (ret < 0) return ret;
00698 }
00699 break;
00700 case 5:
00701 z->bra = z->c;
00702 { int ret = slice_from_s(z, 2, s_9);
00703 if (ret < 0) return ret;
00704 }
00705 break;
00706 case 6:
00707 { int ret = slice_del(z);
00708 if (ret < 0) return ret;
00709 }
00710 break;
00711 case 7:
00712 if (!(eq_s_b(z, 1, s_10))) return 0;
00713 { int ret = slice_del(z);
00714 if (ret < 0) return ret;
00715 }
00716 break;
00717 }
00718 return 1;
00719 }
00720
00721 static int r_standard_suffix(struct SN_env * z) {
00722 int among_var;
00723 z->ket = z->c;
00724 if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((835634 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
00725 among_var = find_among_b(z, a_6, 46);
00726 if (!(among_var)) return 0;
00727 z->bra = z->c;
00728 switch(among_var) {
00729 case 0: return 0;
00730 case 1:
00731 { int ret = r_R2(z);
00732 if (ret == 0) return 0;
00733 if (ret < 0) return ret;
00734 }
00735 { int ret = slice_del(z);
00736 if (ret < 0) return ret;
00737 }
00738 break;
00739 case 2:
00740 { int ret = r_R2(z);
00741 if (ret == 0) return 0;
00742 if (ret < 0) return ret;
00743 }
00744 { int ret = slice_del(z);
00745 if (ret < 0) return ret;
00746 }
00747 { int m_keep = z->l - z->c;
00748 z->ket = z->c;
00749 if (!(eq_s_b(z, 2, s_11))) { z->c = z->l - m_keep; goto lab0; }
00750 z->bra = z->c;
00751 { int ret = r_R2(z);
00752 if (ret == 0) { z->c = z->l - m_keep; goto lab0; }
00753 if (ret < 0) return ret;
00754 }
00755 { int ret = slice_del(z);
00756 if (ret < 0) return ret;
00757 }
00758 lab0:
00759 ;
00760 }
00761 break;
00762 case 3:
00763 { int ret = r_R2(z);
00764 if (ret == 0) return 0;
00765 if (ret < 0) return ret;
00766 }
00767 { int ret = slice_from_s(z, 3, s_12);
00768 if (ret < 0) return ret;
00769 }
00770 break;
00771 case 4:
00772 { int ret = r_R2(z);
00773 if (ret == 0) return 0;
00774 if (ret < 0) return ret;
00775 }
00776 { int ret = slice_from_s(z, 1, s_13);
00777 if (ret < 0) return ret;
00778 }
00779 break;
00780 case 5:
00781 { int ret = r_R2(z);
00782 if (ret == 0) return 0;
00783 if (ret < 0) return ret;
00784 }
00785 { int ret = slice_from_s(z, 4, s_14);
00786 if (ret < 0) return ret;
00787 }
00788 break;
00789 case 6:
00790 { int ret = r_R1(z);
00791 if (ret == 0) return 0;
00792 if (ret < 0) return ret;
00793 }
00794 { int ret = slice_del(z);
00795 if (ret < 0) return ret;
00796 }
00797 { int m_keep = z->l - z->c;
00798 z->ket = z->c;
00799 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 lab1; }
00800 among_var = find_among_b(z, a_3, 4);
00801 if (!(among_var)) { z->c = z->l - m_keep; goto lab1; }
00802 z->bra = z->c;
00803 { int ret = r_R2(z);
00804 if (ret == 0) { z->c = z->l - m_keep; goto lab1; }
00805 if (ret < 0) return ret;
00806 }
00807 { int ret = slice_del(z);
00808 if (ret < 0) return ret;
00809 }
00810 switch(among_var) {
00811 case 0: { z->c = z->l - m_keep; goto lab1; }
00812 case 1:
00813 z->ket = z->c;
00814 if (!(eq_s_b(z, 2, s_15))) { z->c = z->l - m_keep; goto lab1; }
00815 z->bra = z->c;
00816 { int ret = r_R2(z);
00817 if (ret == 0) { z->c = z->l - m_keep; goto lab1; }
00818 if (ret < 0) return ret;
00819 }
00820 { int ret = slice_del(z);
00821 if (ret < 0) return ret;
00822 }
00823 break;
00824 }
00825 lab1:
00826 ;
00827 }
00828 break;
00829 case 7:
00830 { int ret = r_R2(z);
00831 if (ret == 0) return 0;
00832 if (ret < 0) return ret;
00833 }
00834 { int ret = slice_del(z);
00835 if (ret < 0) return ret;
00836 }
00837 { int m_keep = z->l - z->c;
00838 z->ket = z->c;
00839 if (z->c - 3 <= z->lb || z->p[z->c - 1] != 101) { z->c = z->l - m_keep; goto lab2; }
00840 among_var = find_among_b(z, a_4, 3);
00841 if (!(among_var)) { z->c = z->l - m_keep; goto lab2; }
00842 z->bra = z->c;
00843 switch(among_var) {
00844 case 0: { z->c = z->l - m_keep; goto lab2; }
00845 case 1:
00846 { int ret = r_R2(z);
00847 if (ret == 0) { z->c = z->l - m_keep; goto lab2; }
00848 if (ret < 0) return ret;
00849 }
00850 { int ret = slice_del(z);
00851 if (ret < 0) return ret;
00852 }
00853 break;
00854 }
00855 lab2:
00856 ;
00857 }
00858 break;
00859 case 8:
00860 { int ret = r_R2(z);
00861 if (ret == 0) return 0;
00862 if (ret < 0) return ret;
00863 }
00864 { int ret = slice_del(z);
00865 if (ret < 0) return ret;
00866 }
00867 { int m_keep = z->l - z->c;
00868 z->ket = z->c;
00869 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 lab3; }
00870 among_var = find_among_b(z, a_5, 3);
00871 if (!(among_var)) { z->c = z->l - m_keep; goto lab3; }
00872 z->bra = z->c;
00873 switch(among_var) {
00874 case 0: { z->c = z->l - m_keep; goto lab3; }
00875 case 1:
00876 { int ret = r_R2(z);
00877 if (ret == 0) { z->c = z->l - m_keep; goto lab3; }
00878 if (ret < 0) return ret;
00879 }
00880 { int ret = slice_del(z);
00881 if (ret < 0) return ret;
00882 }
00883 break;
00884 }
00885 lab3:
00886 ;
00887 }
00888 break;
00889 case 9:
00890 { int ret = r_R2(z);
00891 if (ret == 0) return 0;
00892 if (ret < 0) return ret;
00893 }
00894 { int ret = slice_del(z);
00895 if (ret < 0) return ret;
00896 }
00897 { int m_keep = z->l - z->c;
00898 z->ket = z->c;
00899 if (!(eq_s_b(z, 2, s_16))) { z->c = z->l - m_keep; goto lab4; }
00900 z->bra = z->c;
00901 { int ret = r_R2(z);
00902 if (ret == 0) { z->c = z->l - m_keep; goto lab4; }
00903 if (ret < 0) return ret;
00904 }
00905 { int ret = slice_del(z);
00906 if (ret < 0) return ret;
00907 }
00908 lab4:
00909 ;
00910 }
00911 break;
00912 }
00913 return 1;
00914 }
00915
00916 static int r_y_verb_suffix(struct SN_env * z) {
00917 int among_var;
00918 { int mlimit;
00919 int m1 = z->l - z->c; (void)m1;
00920 if (z->c < z->I[0]) return 0;
00921 z->c = z->I[0];
00922 mlimit = z->lb; z->lb = z->c;
00923 z->c = z->l - m1;
00924 z->ket = z->c;
00925 among_var = find_among_b(z, a_7, 12);
00926 if (!(among_var)) { z->lb = mlimit; return 0; }
00927 z->bra = z->c;
00928 z->lb = mlimit;
00929 }
00930 switch(among_var) {
00931 case 0: return 0;
00932 case 1:
00933 if (!(eq_s_b(z, 1, s_17))) return 0;
00934 { int ret = slice_del(z);
00935 if (ret < 0) return ret;
00936 }
00937 break;
00938 }
00939 return 1;
00940 }
00941
00942 static int r_verb_suffix(struct SN_env * z) {
00943 int among_var;
00944 { int mlimit;
00945 int m1 = z->l - z->c; (void)m1;
00946 if (z->c < z->I[0]) return 0;
00947 z->c = z->I[0];
00948 mlimit = z->lb; z->lb = z->c;
00949 z->c = z->l - m1;
00950 z->ket = z->c;
00951 among_var = find_among_b(z, a_8, 96);
00952 if (!(among_var)) { z->lb = mlimit; return 0; }
00953 z->bra = z->c;
00954 z->lb = mlimit;
00955 }
00956 switch(among_var) {
00957 case 0: return 0;
00958 case 1:
00959 { int m_keep = z->l - z->c;
00960 if (!(eq_s_b(z, 1, s_18))) { z->c = z->l - m_keep; goto lab0; }
00961 { int m_test = z->l - z->c;
00962 if (!(eq_s_b(z, 1, s_19))) { z->c = z->l - m_keep; goto lab0; }
00963 z->c = z->l - m_test;
00964 }
00965 lab0:
00966 ;
00967 }
00968 z->bra = z->c;
00969 { int ret = slice_del(z);
00970 if (ret < 0) return ret;
00971 }
00972 break;
00973 case 2:
00974 { int ret = slice_del(z);
00975 if (ret < 0) return ret;
00976 }
00977 break;
00978 }
00979 return 1;
00980 }
00981
00982 static int r_residual_suffix(struct SN_env * z) {
00983 int among_var;
00984 z->ket = z->c;
00985 among_var = find_among_b(z, a_9, 8);
00986 if (!(among_var)) return 0;
00987 z->bra = z->c;
00988 switch(among_var) {
00989 case 0: return 0;
00990 case 1:
00991 { int ret = r_RV(z);
00992 if (ret == 0) return 0;
00993 if (ret < 0) return ret;
00994 }
00995 { int ret = slice_del(z);
00996 if (ret < 0) return ret;
00997 }
00998 break;
00999 case 2:
01000 { int ret = r_RV(z);
01001 if (ret == 0) return 0;
01002 if (ret < 0) return ret;
01003 }
01004 { int ret = slice_del(z);
01005 if (ret < 0) return ret;
01006 }
01007 { int m_keep = z->l - z->c;
01008 z->ket = z->c;
01009 if (!(eq_s_b(z, 1, s_20))) { z->c = z->l - m_keep; goto lab0; }
01010 z->bra = z->c;
01011 { int m_test = z->l - z->c;
01012 if (!(eq_s_b(z, 1, s_21))) { z->c = z->l - m_keep; goto lab0; }
01013 z->c = z->l - m_test;
01014 }
01015 { int ret = r_RV(z);
01016 if (ret == 0) { z->c = z->l - m_keep; goto lab0; }
01017 if (ret < 0) return ret;
01018 }
01019 { int ret = slice_del(z);
01020 if (ret < 0) return ret;
01021 }
01022 lab0:
01023 ;
01024 }
01025 break;
01026 }
01027 return 1;
01028 }
01029
01030 extern int spanish_UTF_8_stem(struct SN_env * z) {
01031 { int c1 = z->c;
01032 { int ret = r_mark_regions(z);
01033 if (ret == 0) goto lab0;
01034 if (ret < 0) return ret;
01035 }
01036 lab0:
01037 z->c = c1;
01038 }
01039 z->lb = z->c; z->c = z->l;
01040
01041 { int m2 = z->l - z->c; (void)m2;
01042 { int ret = r_attached_pronoun(z);
01043 if (ret == 0) goto lab1;
01044 if (ret < 0) return ret;
01045 }
01046 lab1:
01047 z->c = z->l - m2;
01048 }
01049 { int m3 = z->l - z->c; (void)m3;
01050 { int m4 = z->l - z->c; (void)m4;
01051 { int ret = r_standard_suffix(z);
01052 if (ret == 0) goto lab4;
01053 if (ret < 0) return ret;
01054 }
01055 goto lab3;
01056 lab4:
01057 z->c = z->l - m4;
01058 { int ret = r_y_verb_suffix(z);
01059 if (ret == 0) goto lab5;
01060 if (ret < 0) return ret;
01061 }
01062 goto lab3;
01063 lab5:
01064 z->c = z->l - m4;
01065 { int ret = r_verb_suffix(z);
01066 if (ret == 0) goto lab2;
01067 if (ret < 0) return ret;
01068 }
01069 }
01070 lab3:
01071 lab2:
01072 z->c = z->l - m3;
01073 }
01074 { int m5 = z->l - z->c; (void)m5;
01075 { int ret = r_residual_suffix(z);
01076 if (ret == 0) goto lab6;
01077 if (ret < 0) return ret;
01078 }
01079 lab6:
01080 z->c = z->l - m5;
01081 }
01082 z->c = z->lb;
01083 { int c6 = z->c;
01084 { int ret = r_postlude(z);
01085 if (ret == 0) goto lab7;
01086 if (ret < 0) return ret;
01087 }
01088 lab7:
01089 z->c = c6;
01090 }
01091 return 1;
01092 }
01093
01094 extern struct SN_env * spanish_UTF_8_create_env(void) { return SN_create_env(0, 3, 0); }
01095
01096 extern void spanish_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); }
01097