Header And Logo

PostgreSQL
| The world's most advanced open source database.

stem_UTF_8_spanish.c

Go to the documentation of this file.
00001 
00002 /* This file was generated automatically by the Snowball to ANSI C compiler */
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, 0, -1, 6, 0},
00044 /*  1 */ { 2, s_0_1, 0, 1, 0},
00045 /*  2 */ { 2, s_0_2, 0, 2, 0},
00046 /*  3 */ { 2, s_0_3, 0, 3, 0},
00047 /*  4 */ { 2, s_0_4, 0, 4, 0},
00048 /*  5 */ { 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 /*  0 */ { 2, s_1_0, -1, -1, 0},
00068 /*  1 */ { 4, s_1_1, 0, -1, 0},
00069 /*  2 */ { 2, s_1_2, -1, -1, 0},
00070 /*  3 */ { 2, s_1_3, -1, -1, 0},
00071 /*  4 */ { 2, s_1_4, -1, -1, 0},
00072 /*  5 */ { 2, s_1_5, -1, -1, 0},
00073 /*  6 */ { 4, s_1_6, 5, -1, 0},
00074 /*  7 */ { 3, s_1_7, -1, -1, 0},
00075 /*  8 */ { 5, s_1_8, 7, -1, 0},
00076 /*  9 */ { 3, s_1_9, -1, -1, 0},
00077 /* 10 */ { 3, s_1_10, -1, -1, 0},
00078 /* 11 */ { 5, s_1_11, 10, -1, 0},
00079 /* 12 */ { 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 /*  0 */ { 4, s_2_0, -1, 6, 0},
00097 /*  1 */ { 5, s_2_1, -1, 6, 0},
00098 /*  2 */ { 5, s_2_2, -1, 7, 0},
00099 /*  3 */ { 5, s_2_3, -1, 2, 0},
00100 /*  4 */ { 6, s_2_4, -1, 1, 0},
00101 /*  5 */ { 2, s_2_5, -1, 6, 0},
00102 /*  6 */ { 2, s_2_6, -1, 6, 0},
00103 /*  7 */ { 2, s_2_7, -1, 6, 0},
00104 /*  8 */ { 3, s_2_8, -1, 3, 0},
00105 /*  9 */ { 3, s_2_9, -1, 4, 0},
00106 /* 10 */ { 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 /*  0 */ { 2, s_3_0, -1, -1, 0},
00117 /*  1 */ { 2, s_3_1, -1, -1, 0},
00118 /*  2 */ { 2, s_3_2, -1, -1, 0},
00119 /*  3 */ { 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 /*  0 */ { 4, s_4_0, -1, 1, 0},
00129 /*  1 */ { 4, s_4_1, -1, 1, 0},
00130 /*  2 */ { 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 /*  0 */ { 2, s_5_0, -1, 1, 0},
00140 /*  1 */ { 4, s_5_1, -1, 1, 0},
00141 /*  2 */ { 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 /*  0 */ { 3, s_6_0, -1, 1, 0},
00194 /*  1 */ { 5, s_6_1, -1, 2, 0},
00195 /*  2 */ { 5, s_6_2, -1, 5, 0},
00196 /*  3 */ { 5, s_6_3, -1, 2, 0},
00197 /*  4 */ { 3, s_6_4, -1, 1, 0},
00198 /*  5 */ { 4, s_6_5, -1, 1, 0},
00199 /*  6 */ { 3, s_6_6, -1, 9, 0},
00200 /*  7 */ { 4, s_6_7, -1, 1, 0},
00201 /*  8 */ { 6, s_6_8, -1, 3, 0},
00202 /*  9 */ { 4, s_6_9, -1, 8, 0},
00203 /* 10 */ { 4, s_6_10, -1, 1, 0},
00204 /* 11 */ { 4, s_6_11, -1, 1, 0},
00205 /* 12 */ { 4, s_6_12, -1, 2, 0},
00206 /* 13 */ { 5, s_6_13, -1, 7, 0},
00207 /* 14 */ { 6, s_6_14, 13, 6, 0},
00208 /* 15 */ { 6, s_6_15, -1, 2, 0},
00209 /* 16 */ { 6, s_6_16, -1, 4, 0},
00210 /* 17 */ { 3, s_6_17, -1, 1, 0},
00211 /* 18 */ { 4, s_6_18, -1, 1, 0},
00212 /* 19 */ { 3, s_6_19, -1, 1, 0},
00213 /* 20 */ { 7, s_6_20, -1, 1, 0},
00214 /* 21 */ { 7, s_6_21, -1, 1, 0},
00215 /* 22 */ { 3, s_6_22, -1, 9, 0},
00216 /* 23 */ { 4, s_6_23, -1, 2, 0},
00217 /* 24 */ { 4, s_6_24, -1, 1, 0},
00218 /* 25 */ { 6, s_6_25, -1, 2, 0},
00219 /* 26 */ { 6, s_6_26, -1, 5, 0},
00220 /* 27 */ { 6, s_6_27, -1, 2, 0},
00221 /* 28 */ { 4, s_6_28, -1, 1, 0},
00222 /* 29 */ { 5, s_6_29, -1, 1, 0},
00223 /* 30 */ { 4, s_6_30, -1, 9, 0},
00224 /* 31 */ { 5, s_6_31, -1, 1, 0},
00225 /* 32 */ { 7, s_6_32, -1, 3, 0},
00226 /* 33 */ { 6, s_6_33, -1, 8, 0},
00227 /* 34 */ { 5, s_6_34, -1, 1, 0},
00228 /* 35 */ { 5, s_6_35, -1, 1, 0},
00229 /* 36 */ { 7, s_6_36, -1, 2, 0},
00230 /* 37 */ { 7, s_6_37, -1, 4, 0},
00231 /* 38 */ { 6, s_6_38, -1, 2, 0},
00232 /* 39 */ { 5, s_6_39, -1, 2, 0},
00233 /* 40 */ { 4, s_6_40, -1, 1, 0},
00234 /* 41 */ { 5, s_6_41, -1, 1, 0},
00235 /* 42 */ { 4, s_6_42, -1, 1, 0},
00236 /* 43 */ { 8, s_6_43, -1, 1, 0},
00237 /* 44 */ { 8, s_6_44, -1, 1, 0},
00238 /* 45 */ { 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 /*  0 */ { 2, s_7_0, -1, 1, 0},
00257 /*  1 */ { 2, s_7_1, -1, 1, 0},
00258 /*  2 */ { 3, s_7_2, -1, 1, 0},
00259 /*  3 */ { 3, s_7_3, -1, 1, 0},
00260 /*  4 */ { 5, s_7_4, -1, 1, 0},
00261 /*  5 */ { 5, s_7_5, -1, 1, 0},
00262 /*  6 */ { 2, s_7_6, -1, 1, 0},
00263 /*  7 */ { 3, s_7_7, -1, 1, 0},
00264 /*  8 */ { 3, s_7_8, -1, 1, 0},
00265 /*  9 */ { 4, s_7_9, -1, 1, 0},
00266 /* 10 */ { 5, s_7_10, -1, 1, 0},
00267 /* 11 */ { 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 /*  0 */ { 3, s_8_0, -1, 2, 0},
00370 /*  1 */ { 3, s_8_1, -1, 2, 0},
00371 /*  2 */ { 3, s_8_2, -1, 2, 0},
00372 /*  3 */ { 3, s_8_3, -1, 2, 0},
00373 /*  4 */ { 4, s_8_4, -1, 2, 0},
00374 /*  5 */ { 3, s_8_5, -1, 2, 0},
00375 /*  6 */ { 5, s_8_6, 5, 2, 0},
00376 /*  7 */ { 5, s_8_7, 5, 2, 0},
00377 /*  8 */ { 5, s_8_8, 5, 2, 0},
00378 /*  9 */ { 2, s_8_9, -1, 2, 0},
00379 /* 10 */ { 2, s_8_10, -1, 2, 0},
00380 /* 11 */ { 2, s_8_11, -1, 2, 0},
00381 /* 12 */ { 3, s_8_12, -1, 2, 0},
00382 /* 13 */ { 4, s_8_13, -1, 2, 0},
00383 /* 14 */ { 4, s_8_14, -1, 2, 0},
00384 /* 15 */ { 4, s_8_15, -1, 2, 0},
00385 /* 16 */ { 2, s_8_16, -1, 2, 0},
00386 /* 17 */ { 4, s_8_17, 16, 2, 0},
00387 /* 18 */ { 4, s_8_18, 16, 2, 0},
00388 /* 19 */ { 5, s_8_19, 16, 2, 0},
00389 /* 20 */ { 4, s_8_20, 16, 2, 0},
00390 /* 21 */ { 6, s_8_21, 20, 2, 0},
00391 /* 22 */ { 6, s_8_22, 20, 2, 0},
00392 /* 23 */ { 6, s_8_23, 20, 2, 0},
00393 /* 24 */ { 2, s_8_24, -1, 1, 0},
00394 /* 25 */ { 4, s_8_25, 24, 2, 0},
00395 /* 26 */ { 5, s_8_26, 24, 2, 0},
00396 /* 27 */ { 4, s_8_27, -1, 2, 0},
00397 /* 28 */ { 5, s_8_28, -1, 2, 0},
00398 /* 29 */ { 5, s_8_29, -1, 2, 0},
00399 /* 30 */ { 5, s_8_30, -1, 2, 0},
00400 /* 31 */ { 5, s_8_31, -1, 2, 0},
00401 /* 32 */ { 3, s_8_32, -1, 2, 0},
00402 /* 33 */ { 3, s_8_33, -1, 2, 0},
00403 /* 34 */ { 4, s_8_34, -1, 2, 0},
00404 /* 35 */ { 5, s_8_35, -1, 2, 0},
00405 /* 36 */ { 2, s_8_36, -1, 2, 0},
00406 /* 37 */ { 2, s_8_37, -1, 2, 0},
00407 /* 38 */ { 2, s_8_38, -1, 2, 0},
00408 /* 39 */ { 2, s_8_39, -1, 2, 0},
00409 /* 40 */ { 4, s_8_40, 39, 2, 0},
00410 /* 41 */ { 4, s_8_41, 39, 2, 0},
00411 /* 42 */ { 4, s_8_42, 39, 2, 0},
00412 /* 43 */ { 4, s_8_43, 39, 2, 0},
00413 /* 44 */ { 5, s_8_44, 39, 2, 0},
00414 /* 45 */ { 4, s_8_45, 39, 2, 0},
00415 /* 46 */ { 6, s_8_46, 45, 2, 0},
00416 /* 47 */ { 6, s_8_47, 45, 2, 0},
00417 /* 48 */ { 6, s_8_48, 45, 2, 0},
00418 /* 49 */ { 2, s_8_49, -1, 1, 0},
00419 /* 50 */ { 4, s_8_50, 49, 2, 0},
00420 /* 51 */ { 5, s_8_51, 49, 2, 0},
00421 /* 52 */ { 5, s_8_52, -1, 2, 0},
00422 /* 53 */ { 5, s_8_53, -1, 2, 0},
00423 /* 54 */ { 6, s_8_54, -1, 2, 0},
00424 /* 55 */ { 5, s_8_55, -1, 2, 0},
00425 /* 56 */ { 7, s_8_56, 55, 2, 0},
00426 /* 57 */ { 7, s_8_57, 55, 2, 0},
00427 /* 58 */ { 7, s_8_58, 55, 2, 0},
00428 /* 59 */ { 5, s_8_59, -1, 2, 0},
00429 /* 60 */ { 6, s_8_60, -1, 2, 0},
00430 /* 61 */ { 6, s_8_61, -1, 2, 0},
00431 /* 62 */ { 6, s_8_62, -1, 2, 0},
00432 /* 63 */ { 4, s_8_63, -1, 2, 0},
00433 /* 64 */ { 4, s_8_64, -1, 1, 0},
00434 /* 65 */ { 6, s_8_65, 64, 2, 0},
00435 /* 66 */ { 6, s_8_66, 64, 2, 0},
00436 /* 67 */ { 6, s_8_67, 64, 2, 0},
00437 /* 68 */ { 4, s_8_68, -1, 2, 0},
00438 /* 69 */ { 4, s_8_69, -1, 2, 0},
00439 /* 70 */ { 4, s_8_70, -1, 2, 0},
00440 /* 71 */ { 7, s_8_71, 70, 2, 0},
00441 /* 72 */ { 7, s_8_72, 70, 2, 0},
00442 /* 73 */ { 8, s_8_73, 70, 2, 0},
00443 /* 74 */ { 6, s_8_74, 70, 2, 0},
00444 /* 75 */ { 8, s_8_75, 74, 2, 0},
00445 /* 76 */ { 8, s_8_76, 74, 2, 0},
00446 /* 77 */ { 8, s_8_77, 74, 2, 0},
00447 /* 78 */ { 4, s_8_78, -1, 1, 0},
00448 /* 79 */ { 6, s_8_79, 78, 2, 0},
00449 /* 80 */ { 6, s_8_80, 78, 2, 0},
00450 /* 81 */ { 6, s_8_81, 78, 2, 0},
00451 /* 82 */ { 7, s_8_82, 78, 2, 0},
00452 /* 83 */ { 8, s_8_83, 78, 2, 0},
00453 /* 84 */ { 4, s_8_84, -1, 2, 0},
00454 /* 85 */ { 5, s_8_85, -1, 2, 0},
00455 /* 86 */ { 5, s_8_86, -1, 2, 0},
00456 /* 87 */ { 5, s_8_87, -1, 2, 0},
00457 /* 88 */ { 3, s_8_88, -1, 2, 0},
00458 /* 89 */ { 4, s_8_89, -1, 2, 0},
00459 /* 90 */ { 4, s_8_90, -1, 2, 0},
00460 /* 91 */ { 4, s_8_91, -1, 2, 0},
00461 /* 92 */ { 4, s_8_92, -1, 2, 0},
00462 /* 93 */ { 4, s_8_93, -1, 2, 0},
00463 /* 94 */ { 4, s_8_94, -1, 2, 0},
00464 /* 95 */ { 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 /*  0 */ { 1, s_9_0, -1, 1, 0},
00479 /*  1 */ { 1, s_9_1, -1, 2, 0},
00480 /*  2 */ { 1, s_9_2, -1, 1, 0},
00481 /*  3 */ { 2, s_9_3, -1, 1, 0},
00482 /*  4 */ { 2, s_9_4, -1, 1, 0},
00483 /*  5 */ { 2, s_9_5, -1, 2, 0},
00484 /*  6 */ { 2, s_9_6, -1, 1, 0},
00485 /*  7 */ { 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; /* do, line 37 */
00518         {   int c2 = z->c; /* or, line 39 */
00519             if (in_grouping_U(z, g_v, 97, 252, 0)) goto lab2;
00520             {   int c3 = z->c; /* or, line 38 */
00521                 if (out_grouping_U(z, g_v, 97, 252, 0)) goto lab4;
00522                 {    /* gopast */ /* grouping v, line 38 */
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                 {    /* gopast */ /* non v, line 38 */
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; /* or, line 40 */
00543                 if (out_grouping_U(z, g_v, 97, 252, 0)) goto lab6;
00544                 {    /* gopast */ /* grouping v, line 40 */
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; /* next, line 40 */
00556                 }
00557             }
00558         lab5:
00559             ;
00560         }
00561     lab1:
00562         z->I[0] = z->c; /* setmark pV, line 41 */
00563     lab0:
00564         z->c = c1;
00565     }
00566     {   int c5 = z->c; /* do, line 43 */
00567         {    /* gopast */ /* grouping v, line 44 */
00568             int ret = out_grouping_U(z, g_v, 97, 252, 1);
00569             if (ret < 0) goto lab7;
00570             z->c += ret;
00571         }
00572         {    /* gopast */ /* non v, line 44 */
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; /* setmark p1, line 44 */
00578         {    /* gopast */ /* grouping v, line 45 */
00579             int ret = out_grouping_U(z, g_v, 97, 252, 1);
00580             if (ret < 0) goto lab7;
00581             z->c += ret;
00582         }
00583         {    /* gopast */ /* non v, line 45 */
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; /* setmark p2, line 45 */
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) { /* repeat, line 49 */
00598         int c1 = z->c;
00599         z->bra = z->c; /* [, line 50 */
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); /* substring, line 50 */
00602         if (!(among_var)) goto lab0;
00603         z->ket = z->c; /* ], line 50 */
00604         switch(among_var) {
00605             case 0: goto lab0;
00606             case 1:
00607                 {   int ret = slice_from_s(z, 1, s_0); /* <-, line 51 */
00608                     if (ret < 0) return ret;
00609                 }
00610                 break;
00611             case 2:
00612                 {   int ret = slice_from_s(z, 1, s_1); /* <-, line 52 */
00613                     if (ret < 0) return ret;
00614                 }
00615                 break;
00616             case 3:
00617                 {   int ret = slice_from_s(z, 1, s_2); /* <-, line 53 */
00618                     if (ret < 0) return ret;
00619                 }
00620                 break;
00621             case 4:
00622                 {   int ret = slice_from_s(z, 1, s_3); /* <-, line 54 */
00623                     if (ret < 0) return ret;
00624                 }
00625                 break;
00626             case 5:
00627                 {   int ret = slice_from_s(z, 1, s_4); /* <-, line 55 */
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; /* next, line 57 */
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; /* [, line 68 */
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; /* substring, line 68 */
00666     z->bra = z->c; /* ], line 68 */
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); /* substring, line 72 */
00669     if (!(among_var)) return 0;
00670     {   int ret = r_RV(z);
00671         if (ret == 0) return 0; /* call RV, line 72 */
00672         if (ret < 0) return ret;
00673     }
00674     switch(among_var) {
00675         case 0: return 0;
00676         case 1:
00677             z->bra = z->c; /* ], line 73 */
00678             {   int ret = slice_from_s(z, 5, s_5); /* <-, line 73 */
00679                 if (ret < 0) return ret;
00680             }
00681             break;
00682         case 2:
00683             z->bra = z->c; /* ], line 74 */
00684             {   int ret = slice_from_s(z, 4, s_6); /* <-, line 74 */
00685                 if (ret < 0) return ret;
00686             }
00687             break;
00688         case 3:
00689             z->bra = z->c; /* ], line 75 */
00690             {   int ret = slice_from_s(z, 2, s_7); /* <-, line 75 */
00691                 if (ret < 0) return ret;
00692             }
00693             break;
00694         case 4:
00695             z->bra = z->c; /* ], line 76 */
00696             {   int ret = slice_from_s(z, 2, s_8); /* <-, line 76 */
00697                 if (ret < 0) return ret;
00698             }
00699             break;
00700         case 5:
00701             z->bra = z->c; /* ], line 77 */
00702             {   int ret = slice_from_s(z, 2, s_9); /* <-, line 77 */
00703                 if (ret < 0) return ret;
00704             }
00705             break;
00706         case 6:
00707             {   int ret = slice_del(z); /* delete, line 81 */
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); /* delete, line 82 */
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; /* [, line 87 */
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); /* substring, line 87 */
00726     if (!(among_var)) return 0;
00727     z->bra = z->c; /* ], line 87 */
00728     switch(among_var) {
00729         case 0: return 0;
00730         case 1:
00731             {   int ret = r_R2(z);
00732                 if (ret == 0) return 0; /* call R2, line 99 */
00733                 if (ret < 0) return ret;
00734             }
00735             {   int ret = slice_del(z); /* delete, line 99 */
00736                 if (ret < 0) return ret;
00737             }
00738             break;
00739         case 2:
00740             {   int ret = r_R2(z);
00741                 if (ret == 0) return 0; /* call R2, line 105 */
00742                 if (ret < 0) return ret;
00743             }
00744             {   int ret = slice_del(z); /* delete, line 105 */
00745                 if (ret < 0) return ret;
00746             }
00747             {   int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 106 */
00748                 z->ket = z->c; /* [, line 106 */
00749                 if (!(eq_s_b(z, 2, s_11))) { z->c = z->l - m_keep; goto lab0; }
00750                 z->bra = z->c; /* ], line 106 */
00751                 {   int ret = r_R2(z);
00752                     if (ret == 0) { z->c = z->l - m_keep; goto lab0; } /* call R2, line 106 */
00753                     if (ret < 0) return ret;
00754                 }
00755                 {   int ret = slice_del(z); /* delete, line 106 */
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; /* call R2, line 111 */
00765                 if (ret < 0) return ret;
00766             }
00767             {   int ret = slice_from_s(z, 3, s_12); /* <-, line 111 */
00768                 if (ret < 0) return ret;
00769             }
00770             break;
00771         case 4:
00772             {   int ret = r_R2(z);
00773                 if (ret == 0) return 0; /* call R2, line 115 */
00774                 if (ret < 0) return ret;
00775             }
00776             {   int ret = slice_from_s(z, 1, s_13); /* <-, line 115 */
00777                 if (ret < 0) return ret;
00778             }
00779             break;
00780         case 5:
00781             {   int ret = r_R2(z);
00782                 if (ret == 0) return 0; /* call R2, line 119 */
00783                 if (ret < 0) return ret;
00784             }
00785             {   int ret = slice_from_s(z, 4, s_14); /* <-, line 119 */
00786                 if (ret < 0) return ret;
00787             }
00788             break;
00789         case 6:
00790             {   int ret = r_R1(z);
00791                 if (ret == 0) return 0; /* call R1, line 123 */
00792                 if (ret < 0) return ret;
00793             }
00794             {   int ret = slice_del(z); /* delete, line 123 */
00795                 if (ret < 0) return ret;
00796             }
00797             {   int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 124 */
00798                 z->ket = z->c; /* [, line 125 */
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); /* substring, line 125 */
00801                 if (!(among_var)) { z->c = z->l - m_keep; goto lab1; }
00802                 z->bra = z->c; /* ], line 125 */
00803                 {   int ret = r_R2(z);
00804                     if (ret == 0) { z->c = z->l - m_keep; goto lab1; } /* call R2, line 125 */
00805                     if (ret < 0) return ret;
00806                 }
00807                 {   int ret = slice_del(z); /* delete, line 125 */
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; /* [, line 126 */
00814                         if (!(eq_s_b(z, 2, s_15))) { z->c = z->l - m_keep; goto lab1; }
00815                         z->bra = z->c; /* ], line 126 */
00816                         {   int ret = r_R2(z);
00817                             if (ret == 0) { z->c = z->l - m_keep; goto lab1; } /* call R2, line 126 */
00818                             if (ret < 0) return ret;
00819                         }
00820                         {   int ret = slice_del(z); /* delete, line 126 */
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; /* call R2, line 135 */
00832                 if (ret < 0) return ret;
00833             }
00834             {   int ret = slice_del(z); /* delete, line 135 */
00835                 if (ret < 0) return ret;
00836             }
00837             {   int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 136 */
00838                 z->ket = z->c; /* [, line 137 */
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); /* substring, line 137 */
00841                 if (!(among_var)) { z->c = z->l - m_keep; goto lab2; }
00842                 z->bra = z->c; /* ], line 137 */
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; } /* call R2, line 140 */
00848                             if (ret < 0) return ret;
00849                         }
00850                         {   int ret = slice_del(z); /* delete, line 140 */
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; /* call R2, line 147 */
00862                 if (ret < 0) return ret;
00863             }
00864             {   int ret = slice_del(z); /* delete, line 147 */
00865                 if (ret < 0) return ret;
00866             }
00867             {   int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 148 */
00868                 z->ket = z->c; /* [, line 149 */
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); /* substring, line 149 */
00871                 if (!(among_var)) { z->c = z->l - m_keep; goto lab3; }
00872                 z->bra = z->c; /* ], line 149 */
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; } /* call R2, line 152 */
00878                             if (ret < 0) return ret;
00879                         }
00880                         {   int ret = slice_del(z); /* delete, line 152 */
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; /* call R2, line 159 */
00892                 if (ret < 0) return ret;
00893             }
00894             {   int ret = slice_del(z); /* delete, line 159 */
00895                 if (ret < 0) return ret;
00896             }
00897             {   int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 160 */
00898                 z->ket = z->c; /* [, line 161 */
00899                 if (!(eq_s_b(z, 2, s_16))) { z->c = z->l - m_keep; goto lab4; }
00900                 z->bra = z->c; /* ], line 161 */
00901                 {   int ret = r_R2(z);
00902                     if (ret == 0) { z->c = z->l - m_keep; goto lab4; } /* call R2, line 161 */
00903                     if (ret < 0) return ret;
00904                 }
00905                 {   int ret = slice_del(z); /* delete, line 161 */
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; /* setlimit, line 168 */
00919         int m1 = z->l - z->c; (void)m1;
00920         if (z->c < z->I[0]) return 0;
00921         z->c = z->I[0]; /* tomark, line 168 */
00922         mlimit = z->lb; z->lb = z->c;
00923         z->c = z->l - m1;
00924         z->ket = z->c; /* [, line 168 */
00925         among_var = find_among_b(z, a_7, 12); /* substring, line 168 */
00926         if (!(among_var)) { z->lb = mlimit; return 0; }
00927         z->bra = z->c; /* ], line 168 */
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); /* delete, line 171 */
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; /* setlimit, line 176 */
00945         int m1 = z->l - z->c; (void)m1;
00946         if (z->c < z->I[0]) return 0;
00947         z->c = z->I[0]; /* tomark, line 176 */
00948         mlimit = z->lb; z->lb = z->c;
00949         z->c = z->l - m1;
00950         z->ket = z->c; /* [, line 176 */
00951         among_var = find_among_b(z, a_8, 96); /* substring, line 176 */
00952         if (!(among_var)) { z->lb = mlimit; return 0; }
00953         z->bra = z->c; /* ], line 176 */
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;/* (void) m_keep;*/ /* try, line 179 */
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; /* test, line 179 */
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; /* ], line 179 */
00969             {   int ret = slice_del(z); /* delete, line 179 */
00970                 if (ret < 0) return ret;
00971             }
00972             break;
00973         case 2:
00974             {   int ret = slice_del(z); /* delete, line 200 */
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; /* [, line 205 */
00985     among_var = find_among_b(z, a_9, 8); /* substring, line 205 */
00986     if (!(among_var)) return 0;
00987     z->bra = z->c; /* ], line 205 */
00988     switch(among_var) {
00989         case 0: return 0;
00990         case 1:
00991             {   int ret = r_RV(z);
00992                 if (ret == 0) return 0; /* call RV, line 208 */
00993                 if (ret < 0) return ret;
00994             }
00995             {   int ret = slice_del(z); /* delete, line 208 */
00996                 if (ret < 0) return ret;
00997             }
00998             break;
00999         case 2:
01000             {   int ret = r_RV(z);
01001                 if (ret == 0) return 0; /* call RV, line 210 */
01002                 if (ret < 0) return ret;
01003             }
01004             {   int ret = slice_del(z); /* delete, line 210 */
01005                 if (ret < 0) return ret;
01006             }
01007             {   int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 210 */
01008                 z->ket = z->c; /* [, line 210 */
01009                 if (!(eq_s_b(z, 1, s_20))) { z->c = z->l - m_keep; goto lab0; }
01010                 z->bra = z->c; /* ], line 210 */
01011                 {   int m_test = z->l - z->c; /* test, line 210 */
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; } /* call RV, line 210 */
01017                     if (ret < 0) return ret;
01018                 }
01019                 {   int ret = slice_del(z); /* delete, line 210 */
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; /* do, line 216 */
01032         {   int ret = r_mark_regions(z);
01033             if (ret == 0) goto lab0; /* call mark_regions, line 216 */
01034             if (ret < 0) return ret;
01035         }
01036     lab0:
01037         z->c = c1;
01038     }
01039     z->lb = z->c; z->c = z->l; /* backwards, line 217 */
01040 
01041     {   int m2 = z->l - z->c; (void)m2; /* do, line 218 */
01042         {   int ret = r_attached_pronoun(z);
01043             if (ret == 0) goto lab1; /* call attached_pronoun, line 218 */
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; /* do, line 219 */
01050         {   int m4 = z->l - z->c; (void)m4; /* or, line 219 */
01051             {   int ret = r_standard_suffix(z);
01052                 if (ret == 0) goto lab4; /* call standard_suffix, line 219 */
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; /* call y_verb_suffix, line 220 */
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; /* call verb_suffix, line 221 */
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; /* do, line 223 */
01075         {   int ret = r_residual_suffix(z);
01076             if (ret == 0) goto lab6; /* call residual_suffix, line 223 */
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; /* do, line 225 */
01084         {   int ret = r_postlude(z);
01085             if (ret == 0) goto lab7; /* call postlude, line 225 */
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