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