00001
00002
00003 #include <limits.h>
00004 #include "portuguese.h"
00005
00006 static const symbol s_0_1[2] = { 0xC3, 0xA3 };
00007 static const symbol s_0_2[2] = { 0xC3, 0xB5 };
00008
00009 static const struct among a_0[3] =
00010 {
00011 { 0, 0, -1, 3},
00012 { 2, s_0_1, 0, 1},
00013 { 2, s_0_2, 0, 2}
00014 };
00015
00016 static const symbol s_1_1[2] = { 'a', '~' };
00017 static const symbol s_1_2[2] = { 'o', '~' };
00018
00019 static const struct among a_1[3] =
00020 {
00021 { 0, 0, -1, 3},
00022 { 2, s_1_1, 0, 1},
00023 { 2, s_1_2, 0, 2}
00024 };
00025
00026 static const symbol s_2_0[2] = { 'i', 'c' };
00027 static const symbol s_2_1[2] = { 'a', 'd' };
00028 static const symbol s_2_2[2] = { 'o', 's' };
00029 static const symbol s_2_3[2] = { 'i', 'v' };
00030
00031 static const struct among a_2[4] =
00032 {
00033 { 2, s_2_0, -1, -1},
00034 { 2, s_2_1, -1, -1},
00035 { 2, s_2_2, -1, -1},
00036 { 2, s_2_3, -1, 1}
00037 };
00038
00039 static const symbol s_3_0[4] = { 'a', 'n', 't', 'e' };
00040 static const symbol s_3_1[4] = { 'a', 'v', 'e', 'l' };
00041 static const symbol s_3_2[5] = { 0xC3, 0xAD, 'v', 'e', 'l' };
00042
00043 static const struct among a_3[3] =
00044 {
00045 { 4, s_3_0, -1, 1},
00046 { 4, s_3_1, -1, 1},
00047 { 5, s_3_2, -1, 1}
00048 };
00049
00050 static const symbol s_4_0[2] = { 'i', 'c' };
00051 static const symbol s_4_1[4] = { 'a', 'b', 'i', 'l' };
00052 static const symbol s_4_2[2] = { 'i', 'v' };
00053
00054 static const struct among a_4[3] =
00055 {
00056 { 2, s_4_0, -1, 1},
00057 { 4, s_4_1, -1, 1},
00058 { 2, s_4_2, -1, 1}
00059 };
00060
00061 static const symbol s_5_0[3] = { 'i', 'c', 'a' };
00062 static const symbol s_5_1[6] = { 0xC3, 0xA2, 'n', 'c', 'i', 'a' };
00063 static const symbol s_5_2[6] = { 0xC3, 0xAA, 'n', 'c', 'i', 'a' };
00064 static const symbol s_5_3[3] = { 'i', 'r', 'a' };
00065 static const symbol s_5_4[5] = { 'a', 'd', 'o', 'r', 'a' };
00066 static const symbol s_5_5[3] = { 'o', 's', 'a' };
00067 static const symbol s_5_6[4] = { 'i', 's', 't', 'a' };
00068 static const symbol s_5_7[3] = { 'i', 'v', 'a' };
00069 static const symbol s_5_8[3] = { 'e', 'z', 'a' };
00070 static const symbol s_5_9[6] = { 'l', 'o', 'g', 0xC3, 0xAD, 'a' };
00071 static const symbol s_5_10[5] = { 'i', 'd', 'a', 'd', 'e' };
00072 static const symbol s_5_11[4] = { 'a', 'n', 't', 'e' };
00073 static const symbol s_5_12[5] = { 'm', 'e', 'n', 't', 'e' };
00074 static const symbol s_5_13[6] = { 'a', 'm', 'e', 'n', 't', 'e' };
00075 static const symbol s_5_14[5] = { 0xC3, 0xA1, 'v', 'e', 'l' };
00076 static const symbol s_5_15[5] = { 0xC3, 0xAD, 'v', 'e', 'l' };
00077 static const symbol s_5_16[6] = { 'u', 'c', 'i', 0xC3, 0xB3, 'n' };
00078 static const symbol s_5_17[3] = { 'i', 'c', 'o' };
00079 static const symbol s_5_18[4] = { 'i', 's', 'm', 'o' };
00080 static const symbol s_5_19[3] = { 'o', 's', 'o' };
00081 static const symbol s_5_20[6] = { 'a', 'm', 'e', 'n', 't', 'o' };
00082 static const symbol s_5_21[6] = { 'i', 'm', 'e', 'n', 't', 'o' };
00083 static const symbol s_5_22[3] = { 'i', 'v', 'o' };
00084 static const symbol s_5_23[6] = { 'a', 0xC3, 0xA7, 'a', '~', 'o' };
00085 static const symbol s_5_24[4] = { 'a', 'd', 'o', 'r' };
00086 static const symbol s_5_25[4] = { 'i', 'c', 'a', 's' };
00087 static const symbol s_5_26[7] = { 0xC3, 0xAA, 'n', 'c', 'i', 'a', 's' };
00088 static const symbol s_5_27[4] = { 'i', 'r', 'a', 's' };
00089 static const symbol s_5_28[6] = { 'a', 'd', 'o', 'r', 'a', 's' };
00090 static const symbol s_5_29[4] = { 'o', 's', 'a', 's' };
00091 static const symbol s_5_30[5] = { 'i', 's', 't', 'a', 's' };
00092 static const symbol s_5_31[4] = { 'i', 'v', 'a', 's' };
00093 static const symbol s_5_32[4] = { 'e', 'z', 'a', 's' };
00094 static const symbol s_5_33[7] = { 'l', 'o', 'g', 0xC3, 0xAD, 'a', 's' };
00095 static const symbol s_5_34[6] = { 'i', 'd', 'a', 'd', 'e', 's' };
00096 static const symbol s_5_35[7] = { 'u', 'c', 'i', 'o', 'n', 'e', 's' };
00097 static const symbol s_5_36[6] = { 'a', 'd', 'o', 'r', 'e', 's' };
00098 static const symbol s_5_37[5] = { 'a', 'n', 't', 'e', 's' };
00099 static const symbol s_5_38[7] = { 'a', 0xC3, 0xA7, 'o', '~', 'e', 's' };
00100 static const symbol s_5_39[4] = { 'i', 'c', 'o', 's' };
00101 static const symbol s_5_40[5] = { 'i', 's', 'm', 'o', 's' };
00102 static const symbol s_5_41[4] = { 'o', 's', 'o', 's' };
00103 static const symbol s_5_42[7] = { 'a', 'm', 'e', 'n', 't', 'o', 's' };
00104 static const symbol s_5_43[7] = { 'i', 'm', 'e', 'n', 't', 'o', 's' };
00105 static const symbol s_5_44[4] = { 'i', 'v', 'o', 's' };
00106
00107 static const struct among a_5[45] =
00108 {
00109 { 3, s_5_0, -1, 1},
00110 { 6, s_5_1, -1, 1},
00111 { 6, s_5_2, -1, 4},
00112 { 3, s_5_3, -1, 9},
00113 { 5, s_5_4, -1, 1},
00114 { 3, s_5_5, -1, 1},
00115 { 4, s_5_6, -1, 1},
00116 { 3, s_5_7, -1, 8},
00117 { 3, s_5_8, -1, 1},
00118 { 6, s_5_9, -1, 2},
00119 { 5, s_5_10, -1, 7},
00120 { 4, s_5_11, -1, 1},
00121 { 5, s_5_12, -1, 6},
00122 { 6, s_5_13, 12, 5},
00123 { 5, s_5_14, -1, 1},
00124 { 5, s_5_15, -1, 1},
00125 { 6, s_5_16, -1, 3},
00126 { 3, s_5_17, -1, 1},
00127 { 4, s_5_18, -1, 1},
00128 { 3, s_5_19, -1, 1},
00129 { 6, s_5_20, -1, 1},
00130 { 6, s_5_21, -1, 1},
00131 { 3, s_5_22, -1, 8},
00132 { 6, s_5_23, -1, 1},
00133 { 4, s_5_24, -1, 1},
00134 { 4, s_5_25, -1, 1},
00135 { 7, s_5_26, -1, 4},
00136 { 4, s_5_27, -1, 9},
00137 { 6, s_5_28, -1, 1},
00138 { 4, s_5_29, -1, 1},
00139 { 5, s_5_30, -1, 1},
00140 { 4, s_5_31, -1, 8},
00141 { 4, s_5_32, -1, 1},
00142 { 7, s_5_33, -1, 2},
00143 { 6, s_5_34, -1, 7},
00144 { 7, s_5_35, -1, 3},
00145 { 6, s_5_36, -1, 1},
00146 { 5, s_5_37, -1, 1},
00147 { 7, s_5_38, -1, 1},
00148 { 4, s_5_39, -1, 1},
00149 { 5, s_5_40, -1, 1},
00150 { 4, s_5_41, -1, 1},
00151 { 7, s_5_42, -1, 1},
00152 { 7, s_5_43, -1, 1},
00153 { 4, s_5_44, -1, 8}
00154 };
00155
00156 static const symbol s_6_0[3] = { 'a', 'd', 'a' };
00157 static const symbol s_6_1[3] = { 'i', 'd', 'a' };
00158 static const symbol s_6_2[2] = { 'i', 'a' };
00159 static const symbol s_6_3[4] = { 'a', 'r', 'i', 'a' };
00160 static const symbol s_6_4[4] = { 'e', 'r', 'i', 'a' };
00161 static const symbol s_6_5[4] = { 'i', 'r', 'i', 'a' };
00162 static const symbol s_6_6[3] = { 'a', 'r', 'a' };
00163 static const symbol s_6_7[3] = { 'e', 'r', 'a' };
00164 static const symbol s_6_8[3] = { 'i', 'r', 'a' };
00165 static const symbol s_6_9[3] = { 'a', 'v', 'a' };
00166 static const symbol s_6_10[4] = { 'a', 's', 's', 'e' };
00167 static const symbol s_6_11[4] = { 'e', 's', 's', 'e' };
00168 static const symbol s_6_12[4] = { 'i', 's', 's', 'e' };
00169 static const symbol s_6_13[4] = { 'a', 's', 't', 'e' };
00170 static const symbol s_6_14[4] = { 'e', 's', 't', 'e' };
00171 static const symbol s_6_15[4] = { 'i', 's', 't', 'e' };
00172 static const symbol s_6_16[2] = { 'e', 'i' };
00173 static const symbol s_6_17[4] = { 'a', 'r', 'e', 'i' };
00174 static const symbol s_6_18[4] = { 'e', 'r', 'e', 'i' };
00175 static const symbol s_6_19[4] = { 'i', 'r', 'e', 'i' };
00176 static const symbol s_6_20[2] = { 'a', 'm' };
00177 static const symbol s_6_21[3] = { 'i', 'a', 'm' };
00178 static const symbol s_6_22[5] = { 'a', 'r', 'i', 'a', 'm' };
00179 static const symbol s_6_23[5] = { 'e', 'r', 'i', 'a', 'm' };
00180 static const symbol s_6_24[5] = { 'i', 'r', 'i', 'a', 'm' };
00181 static const symbol s_6_25[4] = { 'a', 'r', 'a', 'm' };
00182 static const symbol s_6_26[4] = { 'e', 'r', 'a', 'm' };
00183 static const symbol s_6_27[4] = { 'i', 'r', 'a', 'm' };
00184 static const symbol s_6_28[4] = { 'a', 'v', 'a', 'm' };
00185 static const symbol s_6_29[2] = { 'e', 'm' };
00186 static const symbol s_6_30[4] = { 'a', 'r', 'e', 'm' };
00187 static const symbol s_6_31[4] = { 'e', 'r', 'e', 'm' };
00188 static const symbol s_6_32[4] = { 'i', 'r', 'e', 'm' };
00189 static const symbol s_6_33[5] = { 'a', 's', 's', 'e', 'm' };
00190 static const symbol s_6_34[5] = { 'e', 's', 's', 'e', 'm' };
00191 static const symbol s_6_35[5] = { 'i', 's', 's', 'e', 'm' };
00192 static const symbol s_6_36[3] = { 'a', 'd', 'o' };
00193 static const symbol s_6_37[3] = { 'i', 'd', 'o' };
00194 static const symbol s_6_38[4] = { 'a', 'n', 'd', 'o' };
00195 static const symbol s_6_39[4] = { 'e', 'n', 'd', 'o' };
00196 static const symbol s_6_40[4] = { 'i', 'n', 'd', 'o' };
00197 static const symbol s_6_41[5] = { 'a', 'r', 'a', '~', 'o' };
00198 static const symbol s_6_42[5] = { 'e', 'r', 'a', '~', 'o' };
00199 static const symbol s_6_43[5] = { 'i', 'r', 'a', '~', 'o' };
00200 static const symbol s_6_44[2] = { 'a', 'r' };
00201 static const symbol s_6_45[2] = { 'e', 'r' };
00202 static const symbol s_6_46[2] = { 'i', 'r' };
00203 static const symbol s_6_47[2] = { 'a', 's' };
00204 static const symbol s_6_48[4] = { 'a', 'd', 'a', 's' };
00205 static const symbol s_6_49[4] = { 'i', 'd', 'a', 's' };
00206 static const symbol s_6_50[3] = { 'i', 'a', 's' };
00207 static const symbol s_6_51[5] = { 'a', 'r', 'i', 'a', 's' };
00208 static const symbol s_6_52[5] = { 'e', 'r', 'i', 'a', 's' };
00209 static const symbol s_6_53[5] = { 'i', 'r', 'i', 'a', 's' };
00210 static const symbol s_6_54[4] = { 'a', 'r', 'a', 's' };
00211 static const symbol s_6_55[4] = { 'e', 'r', 'a', 's' };
00212 static const symbol s_6_56[4] = { 'i', 'r', 'a', 's' };
00213 static const symbol s_6_57[4] = { 'a', 'v', 'a', 's' };
00214 static const symbol s_6_58[2] = { 'e', 's' };
00215 static const symbol s_6_59[5] = { 'a', 'r', 'd', 'e', 's' };
00216 static const symbol s_6_60[5] = { 'e', 'r', 'd', 'e', 's' };
00217 static const symbol s_6_61[5] = { 'i', 'r', 'd', 'e', 's' };
00218 static const symbol s_6_62[4] = { 'a', 'r', 'e', 's' };
00219 static const symbol s_6_63[4] = { 'e', 'r', 'e', 's' };
00220 static const symbol s_6_64[4] = { 'i', 'r', 'e', 's' };
00221 static const symbol s_6_65[5] = { 'a', 's', 's', 'e', 's' };
00222 static const symbol s_6_66[5] = { 'e', 's', 's', 'e', 's' };
00223 static const symbol s_6_67[5] = { 'i', 's', 's', 'e', 's' };
00224 static const symbol s_6_68[5] = { 'a', 's', 't', 'e', 's' };
00225 static const symbol s_6_69[5] = { 'e', 's', 't', 'e', 's' };
00226 static const symbol s_6_70[5] = { 'i', 's', 't', 'e', 's' };
00227 static const symbol s_6_71[2] = { 'i', 's' };
00228 static const symbol s_6_72[3] = { 'a', 'i', 's' };
00229 static const symbol s_6_73[3] = { 'e', 'i', 's' };
00230 static const symbol s_6_74[5] = { 'a', 'r', 'e', 'i', 's' };
00231 static const symbol s_6_75[5] = { 'e', 'r', 'e', 'i', 's' };
00232 static const symbol s_6_76[5] = { 'i', 'r', 'e', 'i', 's' };
00233 static const symbol s_6_77[6] = { 0xC3, 0xA1, 'r', 'e', 'i', 's' };
00234 static const symbol s_6_78[6] = { 0xC3, 0xA9, 'r', 'e', 'i', 's' };
00235 static const symbol s_6_79[6] = { 0xC3, 0xAD, 'r', 'e', 'i', 's' };
00236 static const symbol s_6_80[7] = { 0xC3, 0xA1, 's', 's', 'e', 'i', 's' };
00237 static const symbol s_6_81[7] = { 0xC3, 0xA9, 's', 's', 'e', 'i', 's' };
00238 static const symbol s_6_82[7] = { 0xC3, 0xAD, 's', 's', 'e', 'i', 's' };
00239 static const symbol s_6_83[6] = { 0xC3, 0xA1, 'v', 'e', 'i', 's' };
00240 static const symbol s_6_84[5] = { 0xC3, 0xAD, 'e', 'i', 's' };
00241 static const symbol s_6_85[7] = { 'a', 'r', 0xC3, 0xAD, 'e', 'i', 's' };
00242 static const symbol s_6_86[7] = { 'e', 'r', 0xC3, 0xAD, 'e', 'i', 's' };
00243 static const symbol s_6_87[7] = { 'i', 'r', 0xC3, 0xAD, 'e', 'i', 's' };
00244 static const symbol s_6_88[4] = { 'a', 'd', 'o', 's' };
00245 static const symbol s_6_89[4] = { 'i', 'd', 'o', 's' };
00246 static const symbol s_6_90[4] = { 'a', 'm', 'o', 's' };
00247 static const symbol s_6_91[7] = { 0xC3, 0xA1, 'r', 'a', 'm', 'o', 's' };
00248 static const symbol s_6_92[7] = { 0xC3, 0xA9, 'r', 'a', 'm', 'o', 's' };
00249 static const symbol s_6_93[7] = { 0xC3, 0xAD, 'r', 'a', 'm', 'o', 's' };
00250 static const symbol s_6_94[7] = { 0xC3, 0xA1, 'v', 'a', 'm', 'o', 's' };
00251 static const symbol s_6_95[6] = { 0xC3, 0xAD, 'a', 'm', 'o', 's' };
00252 static const symbol s_6_96[8] = { 'a', 'r', 0xC3, 0xAD, 'a', 'm', 'o', 's' };
00253 static const symbol s_6_97[8] = { 'e', 'r', 0xC3, 0xAD, 'a', 'm', 'o', 's' };
00254 static const symbol s_6_98[8] = { 'i', 'r', 0xC3, 0xAD, 'a', 'm', 'o', 's' };
00255 static const symbol s_6_99[4] = { 'e', 'm', 'o', 's' };
00256 static const symbol s_6_100[6] = { 'a', 'r', 'e', 'm', 'o', 's' };
00257 static const symbol s_6_101[6] = { 'e', 'r', 'e', 'm', 'o', 's' };
00258 static const symbol s_6_102[6] = { 'i', 'r', 'e', 'm', 'o', 's' };
00259 static const symbol s_6_103[8] = { 0xC3, 0xA1, 's', 's', 'e', 'm', 'o', 's' };
00260 static const symbol s_6_104[8] = { 0xC3, 0xAA, 's', 's', 'e', 'm', 'o', 's' };
00261 static const symbol s_6_105[8] = { 0xC3, 0xAD, 's', 's', 'e', 'm', 'o', 's' };
00262 static const symbol s_6_106[4] = { 'i', 'm', 'o', 's' };
00263 static const symbol s_6_107[5] = { 'a', 'r', 'm', 'o', 's' };
00264 static const symbol s_6_108[5] = { 'e', 'r', 'm', 'o', 's' };
00265 static const symbol s_6_109[5] = { 'i', 'r', 'm', 'o', 's' };
00266 static const symbol s_6_110[5] = { 0xC3, 0xA1, 'm', 'o', 's' };
00267 static const symbol s_6_111[5] = { 'a', 'r', 0xC3, 0xA1, 's' };
00268 static const symbol s_6_112[5] = { 'e', 'r', 0xC3, 0xA1, 's' };
00269 static const symbol s_6_113[5] = { 'i', 'r', 0xC3, 0xA1, 's' };
00270 static const symbol s_6_114[2] = { 'e', 'u' };
00271 static const symbol s_6_115[2] = { 'i', 'u' };
00272 static const symbol s_6_116[2] = { 'o', 'u' };
00273 static const symbol s_6_117[4] = { 'a', 'r', 0xC3, 0xA1 };
00274 static const symbol s_6_118[4] = { 'e', 'r', 0xC3, 0xA1 };
00275 static const symbol s_6_119[4] = { 'i', 'r', 0xC3, 0xA1 };
00276
00277 static const struct among a_6[120] =
00278 {
00279 { 3, s_6_0, -1, 1},
00280 { 3, s_6_1, -1, 1},
00281 { 2, s_6_2, -1, 1},
00282 { 4, s_6_3, 2, 1},
00283 { 4, s_6_4, 2, 1},
00284 { 4, s_6_5, 2, 1},
00285 { 3, s_6_6, -1, 1},
00286 { 3, s_6_7, -1, 1},
00287 { 3, s_6_8, -1, 1},
00288 { 3, s_6_9, -1, 1},
00289 { 4, s_6_10, -1, 1},
00290 { 4, s_6_11, -1, 1},
00291 { 4, s_6_12, -1, 1},
00292 { 4, s_6_13, -1, 1},
00293 { 4, s_6_14, -1, 1},
00294 { 4, s_6_15, -1, 1},
00295 { 2, s_6_16, -1, 1},
00296 { 4, s_6_17, 16, 1},
00297 { 4, s_6_18, 16, 1},
00298 { 4, s_6_19, 16, 1},
00299 { 2, s_6_20, -1, 1},
00300 { 3, s_6_21, 20, 1},
00301 { 5, s_6_22, 21, 1},
00302 { 5, s_6_23, 21, 1},
00303 { 5, s_6_24, 21, 1},
00304 { 4, s_6_25, 20, 1},
00305 { 4, s_6_26, 20, 1},
00306 { 4, s_6_27, 20, 1},
00307 { 4, s_6_28, 20, 1},
00308 { 2, s_6_29, -1, 1},
00309 { 4, s_6_30, 29, 1},
00310 { 4, s_6_31, 29, 1},
00311 { 4, s_6_32, 29, 1},
00312 { 5, s_6_33, 29, 1},
00313 { 5, s_6_34, 29, 1},
00314 { 5, s_6_35, 29, 1},
00315 { 3, s_6_36, -1, 1},
00316 { 3, s_6_37, -1, 1},
00317 { 4, s_6_38, -1, 1},
00318 { 4, s_6_39, -1, 1},
00319 { 4, s_6_40, -1, 1},
00320 { 5, s_6_41, -1, 1},
00321 { 5, s_6_42, -1, 1},
00322 { 5, s_6_43, -1, 1},
00323 { 2, s_6_44, -1, 1},
00324 { 2, s_6_45, -1, 1},
00325 { 2, s_6_46, -1, 1},
00326 { 2, s_6_47, -1, 1},
00327 { 4, s_6_48, 47, 1},
00328 { 4, s_6_49, 47, 1},
00329 { 3, s_6_50, 47, 1},
00330 { 5, s_6_51, 50, 1},
00331 { 5, s_6_52, 50, 1},
00332 { 5, s_6_53, 50, 1},
00333 { 4, s_6_54, 47, 1},
00334 { 4, s_6_55, 47, 1},
00335 { 4, s_6_56, 47, 1},
00336 { 4, s_6_57, 47, 1},
00337 { 2, s_6_58, -1, 1},
00338 { 5, s_6_59, 58, 1},
00339 { 5, s_6_60, 58, 1},
00340 { 5, s_6_61, 58, 1},
00341 { 4, s_6_62, 58, 1},
00342 { 4, s_6_63, 58, 1},
00343 { 4, s_6_64, 58, 1},
00344 { 5, s_6_65, 58, 1},
00345 { 5, s_6_66, 58, 1},
00346 { 5, s_6_67, 58, 1},
00347 { 5, s_6_68, 58, 1},
00348 { 5, s_6_69, 58, 1},
00349 { 5, s_6_70, 58, 1},
00350 { 2, s_6_71, -1, 1},
00351 { 3, s_6_72, 71, 1},
00352 { 3, s_6_73, 71, 1},
00353 { 5, s_6_74, 73, 1},
00354 { 5, s_6_75, 73, 1},
00355 { 5, s_6_76, 73, 1},
00356 { 6, s_6_77, 73, 1},
00357 { 6, s_6_78, 73, 1},
00358 { 6, s_6_79, 73, 1},
00359 { 7, s_6_80, 73, 1},
00360 { 7, s_6_81, 73, 1},
00361 { 7, s_6_82, 73, 1},
00362 { 6, s_6_83, 73, 1},
00363 { 5, s_6_84, 73, 1},
00364 { 7, s_6_85, 84, 1},
00365 { 7, s_6_86, 84, 1},
00366 { 7, s_6_87, 84, 1},
00367 { 4, s_6_88, -1, 1},
00368 { 4, s_6_89, -1, 1},
00369 { 4, s_6_90, -1, 1},
00370 { 7, s_6_91, 90, 1},
00371 { 7, s_6_92, 90, 1},
00372 { 7, s_6_93, 90, 1},
00373 { 7, s_6_94, 90, 1},
00374 { 6, s_6_95, 90, 1},
00375 { 8, s_6_96, 95, 1},
00376 { 8, s_6_97, 95, 1},
00377 { 8, s_6_98, 95, 1},
00378 { 4, s_6_99, -1, 1},
00379 { 6, s_6_100, 99, 1},
00380 { 6, s_6_101, 99, 1},
00381 { 6, s_6_102, 99, 1},
00382 { 8, s_6_103, 99, 1},
00383 { 8, s_6_104, 99, 1},
00384 { 8, s_6_105, 99, 1},
00385 { 4, s_6_106, -1, 1},
00386 { 5, s_6_107, -1, 1},
00387 { 5, s_6_108, -1, 1},
00388 { 5, s_6_109, -1, 1},
00389 { 5, s_6_110, -1, 1},
00390 { 5, s_6_111, -1, 1},
00391 { 5, s_6_112, -1, 1},
00392 { 5, s_6_113, -1, 1},
00393 { 2, s_6_114, -1, 1},
00394 { 2, s_6_115, -1, 1},
00395 { 2, s_6_116, -1, 1},
00396 { 4, s_6_117, -1, 1},
00397 { 4, s_6_118, -1, 1},
00398 { 4, s_6_119, -1, 1}
00399 };
00400
00401 static const symbol s_7_0[1] = { 'a' };
00402 static const symbol s_7_1[1] = { 'i' };
00403 static const symbol s_7_2[1] = { 'o' };
00404 static const symbol s_7_3[2] = { 'o', 's' };
00405 static const symbol s_7_4[2] = { 0xC3, 0xA1 };
00406 static const symbol s_7_5[2] = { 0xC3, 0xAD };
00407 static const symbol s_7_6[2] = { 0xC3, 0xB3 };
00408
00409 static const struct among a_7[7] =
00410 {
00411 { 1, s_7_0, -1, 1},
00412 { 1, s_7_1, -1, 1},
00413 { 1, s_7_2, -1, 1},
00414 { 2, s_7_3, -1, 1},
00415 { 2, s_7_4, -1, 1},
00416 { 2, s_7_5, -1, 1},
00417 { 2, s_7_6, -1, 1}
00418 };
00419
00420 static const symbol s_8_0[1] = { 'e' };
00421 static const symbol s_8_1[2] = { 0xC3, 0xA7 };
00422 static const symbol s_8_2[2] = { 0xC3, 0xA9 };
00423 static const symbol s_8_3[2] = { 0xC3, 0xAA };
00424
00425 static const struct among a_8[4] =
00426 {
00427 { 1, s_8_0, -1, 1},
00428 { 2, s_8_1, -1, 2},
00429 { 2, s_8_2, -1, 1},
00430 { 2, s_8_3, -1, 1}
00431 };
00432
00433 static const unsigned char g_v[] = { 17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 19, 12, 2 };
00434
00435 static const symbol s_0[] = { 'a', '~' };
00436 static const symbol s_1[] = { 'o', '~' };
00437 static const symbol s_2[] = { 0xC3, 0xA3 };
00438 static const symbol s_3[] = { 0xC3, 0xB5 };
00439 static const symbol s_4[] = { 'l', 'o', 'g' };
00440 static const symbol s_5[] = { 'u' };
00441 static const symbol s_6[] = { 'e', 'n', 't', 'e' };
00442 static const symbol s_7[] = { 'a', 't' };
00443 static const symbol s_8[] = { 'a', 't' };
00444 static const symbol s_9[] = { 'i', 'r' };
00445 static const symbol s_10[] = { 'c' };
00446
00447 int Xapian::InternalStemPortuguese::r_prelude() {
00448 int among_var;
00449 while(1) {
00450 int c1 = c;
00451 bra = c;
00452 if (c + 1 >= l || (p[c + 1] != 163 && p[c + 1] != 181)) among_var = 3; else
00453 among_var = find_among(a_0, 3, 0, 0);
00454 if (!(among_var)) goto lab0;
00455 ket = c;
00456 switch(among_var) {
00457 case 0: goto lab0;
00458 case 1:
00459 { int ret = slice_from_s(2, s_0);
00460 if (ret < 0) return ret;
00461 }
00462 break;
00463 case 2:
00464 { int ret = slice_from_s(2, s_1);
00465 if (ret < 0) return ret;
00466 }
00467 break;
00468 case 3:
00469 { int ret = skip_utf8(p, c, 0, l, 1);
00470 if (ret < 0) goto lab0;
00471 c = ret;
00472 }
00473 break;
00474 }
00475 continue;
00476 lab0:
00477 c = c1;
00478 break;
00479 }
00480 return 1;
00481 }
00482
00483 int Xapian::InternalStemPortuguese::r_mark_regions() {
00484 I_pV = l;
00485 I_p1 = l;
00486 I_p2 = l;
00487 { int c1 = c;
00488 { int c2 = c;
00489 if (in_grouping_U(g_v, 97, 250, 0)) goto lab2;
00490 { int c3 = c;
00491 if (out_grouping_U(g_v, 97, 250, 0)) goto lab4;
00492 { int ret = out_grouping_U(g_v, 97, 250, 1);
00493 if (ret < 0) goto lab4;
00494 c += ret;
00495 }
00496 goto lab3;
00497 lab4:
00498 c = c3;
00499 if (in_grouping_U(g_v, 97, 250, 0)) goto lab2;
00500 { int ret = in_grouping_U(g_v, 97, 250, 1);
00501 if (ret < 0) goto lab2;
00502 c += ret;
00503 }
00504 }
00505 lab3:
00506 goto lab1;
00507 lab2:
00508 c = c2;
00509 if (out_grouping_U(g_v, 97, 250, 0)) goto lab0;
00510 { int c4 = c;
00511 if (out_grouping_U(g_v, 97, 250, 0)) goto lab6;
00512 { int ret = out_grouping_U(g_v, 97, 250, 1);
00513 if (ret < 0) goto lab6;
00514 c += ret;
00515 }
00516 goto lab5;
00517 lab6:
00518 c = c4;
00519 if (in_grouping_U(g_v, 97, 250, 0)) goto lab0;
00520 { int ret = skip_utf8(p, c, 0, l, 1);
00521 if (ret < 0) goto lab0;
00522 c = ret;
00523 }
00524 }
00525 lab5:
00526 ;
00527 }
00528 lab1:
00529 I_pV = c;
00530 lab0:
00531 c = c1;
00532 }
00533 { int c5 = c;
00534 { int ret = out_grouping_U(g_v, 97, 250, 1);
00535 if (ret < 0) goto lab7;
00536 c += ret;
00537 }
00538 { int ret = in_grouping_U(g_v, 97, 250, 1);
00539 if (ret < 0) goto lab7;
00540 c += ret;
00541 }
00542 I_p1 = c;
00543 { int ret = out_grouping_U(g_v, 97, 250, 1);
00544 if (ret < 0) goto lab7;
00545 c += ret;
00546 }
00547 { int ret = in_grouping_U(g_v, 97, 250, 1);
00548 if (ret < 0) goto lab7;
00549 c += ret;
00550 }
00551 I_p2 = c;
00552 lab7:
00553 c = c5;
00554 }
00555 return 1;
00556 }
00557
00558 int Xapian::InternalStemPortuguese::r_postlude() {
00559 int among_var;
00560 while(1) {
00561 int c1 = c;
00562 bra = c;
00563 if (c + 1 >= l || p[c + 1] != 126) among_var = 3; else
00564 among_var = find_among(a_1, 3, 0, 0);
00565 if (!(among_var)) goto lab0;
00566 ket = c;
00567 switch(among_var) {
00568 case 0: goto lab0;
00569 case 1:
00570 { int ret = slice_from_s(2, s_2);
00571 if (ret < 0) return ret;
00572 }
00573 break;
00574 case 2:
00575 { int ret = slice_from_s(2, s_3);
00576 if (ret < 0) return ret;
00577 }
00578 break;
00579 case 3:
00580 { int ret = skip_utf8(p, c, 0, l, 1);
00581 if (ret < 0) goto lab0;
00582 c = ret;
00583 }
00584 break;
00585 }
00586 continue;
00587 lab0:
00588 c = c1;
00589 break;
00590 }
00591 return 1;
00592 }
00593
00594 int Xapian::InternalStemPortuguese::r_RV() {
00595 if (!(I_pV <= c)) return 0;
00596 return 1;
00597 }
00598
00599 int Xapian::InternalStemPortuguese::r_R1() {
00600 if (!(I_p1 <= c)) return 0;
00601 return 1;
00602 }
00603
00604 int Xapian::InternalStemPortuguese::r_R2() {
00605 if (!(I_p2 <= c)) return 0;
00606 return 1;
00607 }
00608
00609 int Xapian::InternalStemPortuguese::r_standard_suffix() {
00610 int among_var;
00611 ket = c;
00612 if (c - 2 <= lb || p[c - 1] >> 5 != 3 || !((839714 >> (p[c - 1] & 0x1f)) & 1)) return 0;
00613 among_var = find_among_b(a_5, 45, 0, 0);
00614 if (!(among_var)) return 0;
00615 bra = c;
00616 switch(among_var) {
00617 case 0: return 0;
00618 case 1:
00619 { int ret = r_R2();
00620 if (ret <= 0) return ret;
00621 }
00622 if (slice_del() == -1) return -1;
00623 break;
00624 case 2:
00625 { int ret = r_R2();
00626 if (ret <= 0) return ret;
00627 }
00628 { int ret = slice_from_s(3, s_4);
00629 if (ret < 0) return ret;
00630 }
00631 break;
00632 case 3:
00633 { int ret = r_R2();
00634 if (ret <= 0) return ret;
00635 }
00636 { int ret = slice_from_s(1, s_5);
00637 if (ret < 0) return ret;
00638 }
00639 break;
00640 case 4:
00641 { int ret = r_R2();
00642 if (ret <= 0) return ret;
00643 }
00644 { int ret = slice_from_s(4, s_6);
00645 if (ret < 0) return ret;
00646 }
00647 break;
00648 case 5:
00649 { int ret = r_R1();
00650 if (ret <= 0) return ret;
00651 }
00652 if (slice_del() == -1) return -1;
00653 { int m1 = l - c; (void)m1;
00654 ket = c;
00655 if (c - 1 <= lb || p[c - 1] >> 5 != 3 || !((4718616 >> (p[c - 1] & 0x1f)) & 1)) { c = l - m1; goto lab0; }
00656 among_var = find_among_b(a_2, 4, 0, 0);
00657 if (!(among_var)) { c = l - m1; goto lab0; }
00658 bra = c;
00659 { int ret = r_R2();
00660 if (ret == 0) { c = l - m1; goto lab0; }
00661 if (ret < 0) return ret;
00662 }
00663 if (slice_del() == -1) return -1;
00664 switch(among_var) {
00665 case 0: { c = l - m1; goto lab0; }
00666 case 1:
00667 ket = c;
00668 if (!(eq_s_b(2, s_7))) { c = l - m1; goto lab0; }
00669 bra = c;
00670 { int ret = r_R2();
00671 if (ret == 0) { c = l - m1; goto lab0; }
00672 if (ret < 0) return ret;
00673 }
00674 if (slice_del() == -1) return -1;
00675 break;
00676 }
00677 lab0:
00678 ;
00679 }
00680 break;
00681 case 6:
00682 { int ret = r_R2();
00683 if (ret <= 0) return ret;
00684 }
00685 if (slice_del() == -1) return -1;
00686 { int m2 = l - c; (void)m2;
00687 ket = c;
00688 if (c - 3 <= lb || (p[c - 1] != 101 && p[c - 1] != 108)) { c = l - m2; goto lab1; }
00689 among_var = find_among_b(a_3, 3, 0, 0);
00690 if (!(among_var)) { c = l - m2; goto lab1; }
00691 bra = c;
00692 switch(among_var) {
00693 case 0: { c = l - m2; goto lab1; }
00694 case 1:
00695 { int ret = r_R2();
00696 if (ret == 0) { c = l - m2; goto lab1; }
00697 if (ret < 0) return ret;
00698 }
00699 if (slice_del() == -1) return -1;
00700 break;
00701 }
00702 lab1:
00703 ;
00704 }
00705 break;
00706 case 7:
00707 { int ret = r_R2();
00708 if (ret <= 0) return ret;
00709 }
00710 if (slice_del() == -1) return -1;
00711 { int m3 = l - c; (void)m3;
00712 ket = c;
00713 if (c - 1 <= lb || p[c - 1] >> 5 != 3 || !((4198408 >> (p[c - 1] & 0x1f)) & 1)) { c = l - m3; goto lab2; }
00714 among_var = find_among_b(a_4, 3, 0, 0);
00715 if (!(among_var)) { c = l - m3; goto lab2; }
00716 bra = c;
00717 switch(among_var) {
00718 case 0: { c = l - m3; goto lab2; }
00719 case 1:
00720 { int ret = r_R2();
00721 if (ret == 0) { c = l - m3; goto lab2; }
00722 if (ret < 0) return ret;
00723 }
00724 if (slice_del() == -1) return -1;
00725 break;
00726 }
00727 lab2:
00728 ;
00729 }
00730 break;
00731 case 8:
00732 { int ret = r_R2();
00733 if (ret <= 0) return ret;
00734 }
00735 if (slice_del() == -1) return -1;
00736 { int m4 = l - c; (void)m4;
00737 ket = c;
00738 if (!(eq_s_b(2, s_8))) { c = l - m4; goto lab3; }
00739 bra = c;
00740 { int ret = r_R2();
00741 if (ret == 0) { c = l - m4; goto lab3; }
00742 if (ret < 0) return ret;
00743 }
00744 if (slice_del() == -1) return -1;
00745 lab3:
00746 ;
00747 }
00748 break;
00749 case 9:
00750 { int ret = r_RV();
00751 if (ret <= 0) return ret;
00752 }
00753 if (c <= lb || p[c - 1] != 'e') return 0;
00754 c--;
00755 { int ret = slice_from_s(2, s_9);
00756 if (ret < 0) return ret;
00757 }
00758 break;
00759 }
00760 return 1;
00761 }
00762
00763 int Xapian::InternalStemPortuguese::r_verb_suffix() {
00764 int among_var;
00765 { int m1 = l - c; (void)m1;
00766 int mlimit1;
00767 if (c < I_pV) return 0;
00768 c = I_pV;
00769 mlimit1 = lb; lb = c;
00770 c = l - m1;
00771 ket = c;
00772 among_var = find_among_b(a_6, 120, 0, 0);
00773 if (!(among_var)) { lb = mlimit1; return 0; }
00774 bra = c;
00775 switch(among_var) {
00776 case 0: { lb = mlimit1; return 0; }
00777 case 1:
00778 if (slice_del() == -1) return -1;
00779 break;
00780 }
00781 lb = mlimit1;
00782 }
00783 return 1;
00784 }
00785
00786 int Xapian::InternalStemPortuguese::r_residual_suffix() {
00787 int among_var;
00788 ket = c;
00789 among_var = find_among_b(a_7, 7, 0, 0);
00790 if (!(among_var)) return 0;
00791 bra = c;
00792 switch(among_var) {
00793 case 0: return 0;
00794 case 1:
00795 { int ret = r_RV();
00796 if (ret <= 0) return ret;
00797 }
00798 if (slice_del() == -1) return -1;
00799 break;
00800 }
00801 return 1;
00802 }
00803
00804 int Xapian::InternalStemPortuguese::r_residual_form() {
00805 int among_var;
00806 ket = c;
00807 among_var = find_among_b(a_8, 4, 0, 0);
00808 if (!(among_var)) return 0;
00809 bra = c;
00810 switch(among_var) {
00811 case 0: return 0;
00812 case 1:
00813 { int ret = r_RV();
00814 if (ret <= 0) return ret;
00815 }
00816 if (slice_del() == -1) return -1;
00817 ket = c;
00818 { int m1 = l - c; (void)m1;
00819 if (c <= lb || p[c - 1] != 'u') goto lab1;
00820 c--;
00821 bra = c;
00822 { int m_test2 = l - c;
00823 if (c <= lb || p[c - 1] != 'g') goto lab1;
00824 c--;
00825 c = l - m_test2;
00826 }
00827 goto lab0;
00828 lab1:
00829 c = l - m1;
00830 if (c <= lb || p[c - 1] != 'i') return 0;
00831 c--;
00832 bra = c;
00833 { int m_test3 = l - c;
00834 if (c <= lb || p[c - 1] != 'c') return 0;
00835 c--;
00836 c = l - m_test3;
00837 }
00838 }
00839 lab0:
00840 { int ret = r_RV();
00841 if (ret <= 0) return ret;
00842 }
00843 if (slice_del() == -1) return -1;
00844 break;
00845 case 2:
00846 { int ret = slice_from_s(1, s_10);
00847 if (ret < 0) return ret;
00848 }
00849 break;
00850 }
00851 return 1;
00852 }
00853
00854 int Xapian::InternalStemPortuguese::stem() {
00855 { int c1 = c;
00856 { int ret = r_prelude();
00857 if (ret == 0) goto lab0;
00858 if (ret < 0) return ret;
00859 }
00860 lab0:
00861 c = c1;
00862 }
00863 { int c2 = c;
00864 { int ret = r_mark_regions();
00865 if (ret == 0) goto lab1;
00866 if (ret < 0) return ret;
00867 }
00868 lab1:
00869 c = c2;
00870 }
00871 lb = c; c = l;
00872
00873 { int m3 = l - c; (void)m3;
00874 { int m4 = l - c; (void)m4;
00875 { int m5 = l - c; (void)m5;
00876 { int m6 = l - c; (void)m6;
00877 { int ret = r_standard_suffix();
00878 if (ret == 0) goto lab6;
00879 if (ret < 0) return ret;
00880 }
00881 goto lab5;
00882 lab6:
00883 c = l - m6;
00884 { int ret = r_verb_suffix();
00885 if (ret == 0) goto lab4;
00886 if (ret < 0) return ret;
00887 }
00888 }
00889 lab5:
00890 c = l - m5;
00891 { int m7 = l - c; (void)m7;
00892 ket = c;
00893 if (c <= lb || p[c - 1] != 'i') goto lab7;
00894 c--;
00895 bra = c;
00896 { int m_test8 = l - c;
00897 if (c <= lb || p[c - 1] != 'c') goto lab7;
00898 c--;
00899 c = l - m_test8;
00900 }
00901 { int ret = r_RV();
00902 if (ret == 0) goto lab7;
00903 if (ret < 0) return ret;
00904 }
00905 if (slice_del() == -1) return -1;
00906 lab7:
00907 c = l - m7;
00908 }
00909 }
00910 goto lab3;
00911 lab4:
00912 c = l - m4;
00913 { int ret = r_residual_suffix();
00914 if (ret == 0) goto lab2;
00915 if (ret < 0) return ret;
00916 }
00917 }
00918 lab3:
00919 lab2:
00920 c = l - m3;
00921 }
00922 { int m9 = l - c; (void)m9;
00923 { int ret = r_residual_form();
00924 if (ret == 0) goto lab8;
00925 if (ret < 0) return ret;
00926 }
00927 lab8:
00928 c = l - m9;
00929 }
00930 c = lb;
00931 { int c10 = c;
00932 { int ret = r_postlude();
00933 if (ret == 0) goto lab9;
00934 if (ret < 0) return ret;
00935 }
00936 lab9:
00937 c = c10;
00938 }
00939 return 1;
00940 }
00941
00942 Xapian::InternalStemPortuguese::InternalStemPortuguese()
00943 : I_p2(0), I_p1(0), I_pV(0)
00944 {
00945 }
00946
00947 Xapian::InternalStemPortuguese::~InternalStemPortuguese()
00948 {
00949 }
00950
00951 const char *
00952 Xapian::InternalStemPortuguese::get_description() const
00953 {
00954 return "portuguese";
00955 }