languages/italian.cc

Go to the documentation of this file.
00001 /* This file was generated automatically by the Snowball to ISO C++ compiler */
00002 
00003 #include <limits.h>
00004 #include "italian.h"
00005 
00006 static const symbol s_0_1[2] = { 'q', 'u' };
00007 static const symbol s_0_2[2] = { 0xC3, 0xA1 };
00008 static const symbol s_0_3[2] = { 0xC3, 0xA9 };
00009 static const symbol s_0_4[2] = { 0xC3, 0xAD };
00010 static const symbol s_0_5[2] = { 0xC3, 0xB3 };
00011 static const symbol s_0_6[2] = { 0xC3, 0xBA };
00012 
00013 static const struct among a_0[7] =
00014 {
00015 /*  0 */ { 0, 0, -1, 7},
00016 /*  1 */ { 2, s_0_1, 0, 6},
00017 /*  2 */ { 2, s_0_2, 0, 1},
00018 /*  3 */ { 2, s_0_3, 0, 2},
00019 /*  4 */ { 2, s_0_4, 0, 3},
00020 /*  5 */ { 2, s_0_5, 0, 4},
00021 /*  6 */ { 2, s_0_6, 0, 5}
00022 };
00023 
00024 static const symbol s_1_1[1] = { 'I' };
00025 static const symbol s_1_2[1] = { 'U' };
00026 
00027 static const struct among a_1[3] =
00028 {
00029 /*  0 */ { 0, 0, -1, 3},
00030 /*  1 */ { 1, s_1_1, 0, 1},
00031 /*  2 */ { 1, s_1_2, 0, 2}
00032 };
00033 
00034 static const symbol s_2_0[2] = { 'l', 'a' };
00035 static const symbol s_2_1[4] = { 'c', 'e', 'l', 'a' };
00036 static const symbol s_2_2[6] = { 'g', 'l', 'i', 'e', 'l', 'a' };
00037 static const symbol s_2_3[4] = { 'm', 'e', 'l', 'a' };
00038 static const symbol s_2_4[4] = { 't', 'e', 'l', 'a' };
00039 static const symbol s_2_5[4] = { 'v', 'e', 'l', 'a' };
00040 static const symbol s_2_6[2] = { 'l', 'e' };
00041 static const symbol s_2_7[4] = { 'c', 'e', 'l', 'e' };
00042 static const symbol s_2_8[6] = { 'g', 'l', 'i', 'e', 'l', 'e' };
00043 static const symbol s_2_9[4] = { 'm', 'e', 'l', 'e' };
00044 static const symbol s_2_10[4] = { 't', 'e', 'l', 'e' };
00045 static const symbol s_2_11[4] = { 'v', 'e', 'l', 'e' };
00046 static const symbol s_2_12[2] = { 'n', 'e' };
00047 static const symbol s_2_13[4] = { 'c', 'e', 'n', 'e' };
00048 static const symbol s_2_14[6] = { 'g', 'l', 'i', 'e', 'n', 'e' };
00049 static const symbol s_2_15[4] = { 'm', 'e', 'n', 'e' };
00050 static const symbol s_2_16[4] = { 's', 'e', 'n', 'e' };
00051 static const symbol s_2_17[4] = { 't', 'e', 'n', 'e' };
00052 static const symbol s_2_18[4] = { 'v', 'e', 'n', 'e' };
00053 static const symbol s_2_19[2] = { 'c', 'i' };
00054 static const symbol s_2_20[2] = { 'l', 'i' };
00055 static const symbol s_2_21[4] = { 'c', 'e', 'l', 'i' };
00056 static const symbol s_2_22[6] = { 'g', 'l', 'i', 'e', 'l', 'i' };
00057 static const symbol s_2_23[4] = { 'm', 'e', 'l', 'i' };
00058 static const symbol s_2_24[4] = { 't', 'e', 'l', 'i' };
00059 static const symbol s_2_25[4] = { 'v', 'e', 'l', 'i' };
00060 static const symbol s_2_26[3] = { 'g', 'l', 'i' };
00061 static const symbol s_2_27[2] = { 'm', 'i' };
00062 static const symbol s_2_28[2] = { 's', 'i' };
00063 static const symbol s_2_29[2] = { 't', 'i' };
00064 static const symbol s_2_30[2] = { 'v', 'i' };
00065 static const symbol s_2_31[2] = { 'l', 'o' };
00066 static const symbol s_2_32[4] = { 'c', 'e', 'l', 'o' };
00067 static const symbol s_2_33[6] = { 'g', 'l', 'i', 'e', 'l', 'o' };
00068 static const symbol s_2_34[4] = { 'm', 'e', 'l', 'o' };
00069 static const symbol s_2_35[4] = { 't', 'e', 'l', 'o' };
00070 static const symbol s_2_36[4] = { 'v', 'e', 'l', 'o' };
00071 
00072 static const struct among a_2[37] =
00073 {
00074 /*  0 */ { 2, s_2_0, -1, -1},
00075 /*  1 */ { 4, s_2_1, 0, -1},
00076 /*  2 */ { 6, s_2_2, 0, -1},
00077 /*  3 */ { 4, s_2_3, 0, -1},
00078 /*  4 */ { 4, s_2_4, 0, -1},
00079 /*  5 */ { 4, s_2_5, 0, -1},
00080 /*  6 */ { 2, s_2_6, -1, -1},
00081 /*  7 */ { 4, s_2_7, 6, -1},
00082 /*  8 */ { 6, s_2_8, 6, -1},
00083 /*  9 */ { 4, s_2_9, 6, -1},
00084 /* 10 */ { 4, s_2_10, 6, -1},
00085 /* 11 */ { 4, s_2_11, 6, -1},
00086 /* 12 */ { 2, s_2_12, -1, -1},
00087 /* 13 */ { 4, s_2_13, 12, -1},
00088 /* 14 */ { 6, s_2_14, 12, -1},
00089 /* 15 */ { 4, s_2_15, 12, -1},
00090 /* 16 */ { 4, s_2_16, 12, -1},
00091 /* 17 */ { 4, s_2_17, 12, -1},
00092 /* 18 */ { 4, s_2_18, 12, -1},
00093 /* 19 */ { 2, s_2_19, -1, -1},
00094 /* 20 */ { 2, s_2_20, -1, -1},
00095 /* 21 */ { 4, s_2_21, 20, -1},
00096 /* 22 */ { 6, s_2_22, 20, -1},
00097 /* 23 */ { 4, s_2_23, 20, -1},
00098 /* 24 */ { 4, s_2_24, 20, -1},
00099 /* 25 */ { 4, s_2_25, 20, -1},
00100 /* 26 */ { 3, s_2_26, 20, -1},
00101 /* 27 */ { 2, s_2_27, -1, -1},
00102 /* 28 */ { 2, s_2_28, -1, -1},
00103 /* 29 */ { 2, s_2_29, -1, -1},
00104 /* 30 */ { 2, s_2_30, -1, -1},
00105 /* 31 */ { 2, s_2_31, -1, -1},
00106 /* 32 */ { 4, s_2_32, 31, -1},
00107 /* 33 */ { 6, s_2_33, 31, -1},
00108 /* 34 */ { 4, s_2_34, 31, -1},
00109 /* 35 */ { 4, s_2_35, 31, -1},
00110 /* 36 */ { 4, s_2_36, 31, -1}
00111 };
00112 
00113 static const symbol s_3_0[4] = { 'a', 'n', 'd', 'o' };
00114 static const symbol s_3_1[4] = { 'e', 'n', 'd', 'o' };
00115 static const symbol s_3_2[2] = { 'a', 'r' };
00116 static const symbol s_3_3[2] = { 'e', 'r' };
00117 static const symbol s_3_4[2] = { 'i', 'r' };
00118 
00119 static const struct among a_3[5] =
00120 {
00121 /*  0 */ { 4, s_3_0, -1, 1},
00122 /*  1 */ { 4, s_3_1, -1, 1},
00123 /*  2 */ { 2, s_3_2, -1, 2},
00124 /*  3 */ { 2, s_3_3, -1, 2},
00125 /*  4 */ { 2, s_3_4, -1, 2}
00126 };
00127 
00128 static const symbol s_4_0[2] = { 'i', 'c' };
00129 static const symbol s_4_1[4] = { 'a', 'b', 'i', 'l' };
00130 static const symbol s_4_2[2] = { 'o', 's' };
00131 static const symbol s_4_3[2] = { 'i', 'v' };
00132 
00133 static const struct among a_4[4] =
00134 {
00135 /*  0 */ { 2, s_4_0, -1, -1},
00136 /*  1 */ { 4, s_4_1, -1, -1},
00137 /*  2 */ { 2, s_4_2, -1, -1},
00138 /*  3 */ { 2, s_4_3, -1, 1}
00139 };
00140 
00141 static const symbol s_5_0[2] = { 'i', 'c' };
00142 static const symbol s_5_1[4] = { 'a', 'b', 'i', 'l' };
00143 static const symbol s_5_2[2] = { 'i', 'v' };
00144 
00145 static const struct among a_5[3] =
00146 {
00147 /*  0 */ { 2, s_5_0, -1, 1},
00148 /*  1 */ { 4, s_5_1, -1, 1},
00149 /*  2 */ { 2, s_5_2, -1, 1}
00150 };
00151 
00152 static const symbol s_6_0[3] = { 'i', 'c', 'a' };
00153 static const symbol s_6_1[5] = { 'l', 'o', 'g', 'i', 'a' };
00154 static const symbol s_6_2[3] = { 'o', 's', 'a' };
00155 static const symbol s_6_3[4] = { 'i', 's', 't', 'a' };
00156 static const symbol s_6_4[3] = { 'i', 'v', 'a' };
00157 static const symbol s_6_5[4] = { 'a', 'n', 'z', 'a' };
00158 static const symbol s_6_6[4] = { 'e', 'n', 'z', 'a' };
00159 static const symbol s_6_7[3] = { 'i', 'c', 'e' };
00160 static const symbol s_6_8[6] = { 'a', 't', 'r', 'i', 'c', 'e' };
00161 static const symbol s_6_9[4] = { 'i', 'c', 'h', 'e' };
00162 static const symbol s_6_10[5] = { 'l', 'o', 'g', 'i', 'e' };
00163 static const symbol s_6_11[5] = { 'a', 'b', 'i', 'l', 'e' };
00164 static const symbol s_6_12[5] = { 'i', 'b', 'i', 'l', 'e' };
00165 static const symbol s_6_13[6] = { 'u', 's', 'i', 'o', 'n', 'e' };
00166 static const symbol s_6_14[6] = { 'a', 'z', 'i', 'o', 'n', 'e' };
00167 static const symbol s_6_15[6] = { 'u', 'z', 'i', 'o', 'n', 'e' };
00168 static const symbol s_6_16[5] = { 'a', 't', 'o', 'r', 'e' };
00169 static const symbol s_6_17[3] = { 'o', 's', 'e' };
00170 static const symbol s_6_18[4] = { 'a', 'n', 't', 'e' };
00171 static const symbol s_6_19[5] = { 'm', 'e', 'n', 't', 'e' };
00172 static const symbol s_6_20[6] = { 'a', 'm', 'e', 'n', 't', 'e' };
00173 static const symbol s_6_21[4] = { 'i', 's', 't', 'e' };
00174 static const symbol s_6_22[3] = { 'i', 'v', 'e' };
00175 static const symbol s_6_23[4] = { 'a', 'n', 'z', 'e' };
00176 static const symbol s_6_24[4] = { 'e', 'n', 'z', 'e' };
00177 static const symbol s_6_25[3] = { 'i', 'c', 'i' };
00178 static const symbol s_6_26[6] = { 'a', 't', 'r', 'i', 'c', 'i' };
00179 static const symbol s_6_27[4] = { 'i', 'c', 'h', 'i' };
00180 static const symbol s_6_28[5] = { 'a', 'b', 'i', 'l', 'i' };
00181 static const symbol s_6_29[5] = { 'i', 'b', 'i', 'l', 'i' };
00182 static const symbol s_6_30[4] = { 'i', 's', 'm', 'i' };
00183 static const symbol s_6_31[6] = { 'u', 's', 'i', 'o', 'n', 'i' };
00184 static const symbol s_6_32[6] = { 'a', 'z', 'i', 'o', 'n', 'i' };
00185 static const symbol s_6_33[6] = { 'u', 'z', 'i', 'o', 'n', 'i' };
00186 static const symbol s_6_34[5] = { 'a', 't', 'o', 'r', 'i' };
00187 static const symbol s_6_35[3] = { 'o', 's', 'i' };
00188 static const symbol s_6_36[4] = { 'a', 'n', 't', 'i' };
00189 static const symbol s_6_37[6] = { 'a', 'm', 'e', 'n', 't', 'i' };
00190 static const symbol s_6_38[6] = { 'i', 'm', 'e', 'n', 't', 'i' };
00191 static const symbol s_6_39[4] = { 'i', 's', 't', 'i' };
00192 static const symbol s_6_40[3] = { 'i', 'v', 'i' };
00193 static const symbol s_6_41[3] = { 'i', 'c', 'o' };
00194 static const symbol s_6_42[4] = { 'i', 's', 'm', 'o' };
00195 static const symbol s_6_43[3] = { 'o', 's', 'o' };
00196 static const symbol s_6_44[6] = { 'a', 'm', 'e', 'n', 't', 'o' };
00197 static const symbol s_6_45[6] = { 'i', 'm', 'e', 'n', 't', 'o' };
00198 static const symbol s_6_46[3] = { 'i', 'v', 'o' };
00199 static const symbol s_6_47[4] = { 'i', 't', 0xC3, 0xA0 };
00200 static const symbol s_6_48[5] = { 'i', 's', 't', 0xC3, 0xA0 };
00201 static const symbol s_6_49[5] = { 'i', 's', 't', 0xC3, 0xA8 };
00202 static const symbol s_6_50[5] = { 'i', 's', 't', 0xC3, 0xAC };
00203 
00204 static const struct among a_6[51] =
00205 {
00206 /*  0 */ { 3, s_6_0, -1, 1},
00207 /*  1 */ { 5, s_6_1, -1, 3},
00208 /*  2 */ { 3, s_6_2, -1, 1},
00209 /*  3 */ { 4, s_6_3, -1, 1},
00210 /*  4 */ { 3, s_6_4, -1, 9},
00211 /*  5 */ { 4, s_6_5, -1, 1},
00212 /*  6 */ { 4, s_6_6, -1, 5},
00213 /*  7 */ { 3, s_6_7, -1, 1},
00214 /*  8 */ { 6, s_6_8, 7, 1},
00215 /*  9 */ { 4, s_6_9, -1, 1},
00216 /* 10 */ { 5, s_6_10, -1, 3},
00217 /* 11 */ { 5, s_6_11, -1, 1},
00218 /* 12 */ { 5, s_6_12, -1, 1},
00219 /* 13 */ { 6, s_6_13, -1, 4},
00220 /* 14 */ { 6, s_6_14, -1, 2},
00221 /* 15 */ { 6, s_6_15, -1, 4},
00222 /* 16 */ { 5, s_6_16, -1, 2},
00223 /* 17 */ { 3, s_6_17, -1, 1},
00224 /* 18 */ { 4, s_6_18, -1, 1},
00225 /* 19 */ { 5, s_6_19, -1, 1},
00226 /* 20 */ { 6, s_6_20, 19, 7},
00227 /* 21 */ { 4, s_6_21, -1, 1},
00228 /* 22 */ { 3, s_6_22, -1, 9},
00229 /* 23 */ { 4, s_6_23, -1, 1},
00230 /* 24 */ { 4, s_6_24, -1, 5},
00231 /* 25 */ { 3, s_6_25, -1, 1},
00232 /* 26 */ { 6, s_6_26, 25, 1},
00233 /* 27 */ { 4, s_6_27, -1, 1},
00234 /* 28 */ { 5, s_6_28, -1, 1},
00235 /* 29 */ { 5, s_6_29, -1, 1},
00236 /* 30 */ { 4, s_6_30, -1, 1},
00237 /* 31 */ { 6, s_6_31, -1, 4},
00238 /* 32 */ { 6, s_6_32, -1, 2},
00239 /* 33 */ { 6, s_6_33, -1, 4},
00240 /* 34 */ { 5, s_6_34, -1, 2},
00241 /* 35 */ { 3, s_6_35, -1, 1},
00242 /* 36 */ { 4, s_6_36, -1, 1},
00243 /* 37 */ { 6, s_6_37, -1, 6},
00244 /* 38 */ { 6, s_6_38, -1, 6},
00245 /* 39 */ { 4, s_6_39, -1, 1},
00246 /* 40 */ { 3, s_6_40, -1, 9},
00247 /* 41 */ { 3, s_6_41, -1, 1},
00248 /* 42 */ { 4, s_6_42, -1, 1},
00249 /* 43 */ { 3, s_6_43, -1, 1},
00250 /* 44 */ { 6, s_6_44, -1, 6},
00251 /* 45 */ { 6, s_6_45, -1, 6},
00252 /* 46 */ { 3, s_6_46, -1, 9},
00253 /* 47 */ { 4, s_6_47, -1, 8},
00254 /* 48 */ { 5, s_6_48, -1, 1},
00255 /* 49 */ { 5, s_6_49, -1, 1},
00256 /* 50 */ { 5, s_6_50, -1, 1}
00257 };
00258 
00259 static const symbol s_7_0[4] = { 'i', 's', 'c', 'a' };
00260 static const symbol s_7_1[4] = { 'e', 'n', 'd', 'a' };
00261 static const symbol s_7_2[3] = { 'a', 't', 'a' };
00262 static const symbol s_7_3[3] = { 'i', 't', 'a' };
00263 static const symbol s_7_4[3] = { 'u', 't', 'a' };
00264 static const symbol s_7_5[3] = { 'a', 'v', 'a' };
00265 static const symbol s_7_6[3] = { 'e', 'v', 'a' };
00266 static const symbol s_7_7[3] = { 'i', 'v', 'a' };
00267 static const symbol s_7_8[6] = { 'e', 'r', 'e', 'b', 'b', 'e' };
00268 static const symbol s_7_9[6] = { 'i', 'r', 'e', 'b', 'b', 'e' };
00269 static const symbol s_7_10[4] = { 'i', 's', 'c', 'e' };
00270 static const symbol s_7_11[4] = { 'e', 'n', 'd', 'e' };
00271 static const symbol s_7_12[3] = { 'a', 'r', 'e' };
00272 static const symbol s_7_13[3] = { 'e', 'r', 'e' };
00273 static const symbol s_7_14[3] = { 'i', 'r', 'e' };
00274 static const symbol s_7_15[4] = { 'a', 's', 's', 'e' };
00275 static const symbol s_7_16[3] = { 'a', 't', 'e' };
00276 static const symbol s_7_17[5] = { 'a', 'v', 'a', 't', 'e' };
00277 static const symbol s_7_18[5] = { 'e', 'v', 'a', 't', 'e' };
00278 static const symbol s_7_19[5] = { 'i', 'v', 'a', 't', 'e' };
00279 static const symbol s_7_20[3] = { 'e', 't', 'e' };
00280 static const symbol s_7_21[5] = { 'e', 'r', 'e', 't', 'e' };
00281 static const symbol s_7_22[5] = { 'i', 'r', 'e', 't', 'e' };
00282 static const symbol s_7_23[3] = { 'i', 't', 'e' };
00283 static const symbol s_7_24[6] = { 'e', 'r', 'e', 's', 't', 'e' };
00284 static const symbol s_7_25[6] = { 'i', 'r', 'e', 's', 't', 'e' };
00285 static const symbol s_7_26[3] = { 'u', 't', 'e' };
00286 static const symbol s_7_27[4] = { 'e', 'r', 'a', 'i' };
00287 static const symbol s_7_28[4] = { 'i', 'r', 'a', 'i' };
00288 static const symbol s_7_29[4] = { 'i', 's', 'c', 'i' };
00289 static const symbol s_7_30[4] = { 'e', 'n', 'd', 'i' };
00290 static const symbol s_7_31[4] = { 'e', 'r', 'e', 'i' };
00291 static const symbol s_7_32[4] = { 'i', 'r', 'e', 'i' };
00292 static const symbol s_7_33[4] = { 'a', 's', 's', 'i' };
00293 static const symbol s_7_34[3] = { 'a', 't', 'i' };
00294 static const symbol s_7_35[3] = { 'i', 't', 'i' };
00295 static const symbol s_7_36[6] = { 'e', 'r', 'e', 's', 't', 'i' };
00296 static const symbol s_7_37[6] = { 'i', 'r', 'e', 's', 't', 'i' };
00297 static const symbol s_7_38[3] = { 'u', 't', 'i' };
00298 static const symbol s_7_39[3] = { 'a', 'v', 'i' };
00299 static const symbol s_7_40[3] = { 'e', 'v', 'i' };
00300 static const symbol s_7_41[3] = { 'i', 'v', 'i' };
00301 static const symbol s_7_42[4] = { 'i', 's', 'c', 'o' };
00302 static const symbol s_7_43[4] = { 'a', 'n', 'd', 'o' };
00303 static const symbol s_7_44[4] = { 'e', 'n', 'd', 'o' };
00304 static const symbol s_7_45[4] = { 'Y', 'a', 'm', 'o' };
00305 static const symbol s_7_46[4] = { 'i', 'a', 'm', 'o' };
00306 static const symbol s_7_47[5] = { 'a', 'v', 'a', 'm', 'o' };
00307 static const symbol s_7_48[5] = { 'e', 'v', 'a', 'm', 'o' };
00308 static const symbol s_7_49[5] = { 'i', 'v', 'a', 'm', 'o' };
00309 static const symbol s_7_50[5] = { 'e', 'r', 'e', 'm', 'o' };
00310 static const symbol s_7_51[5] = { 'i', 'r', 'e', 'm', 'o' };
00311 static const symbol s_7_52[6] = { 'a', 's', 's', 'i', 'm', 'o' };
00312 static const symbol s_7_53[4] = { 'a', 'm', 'm', 'o' };
00313 static const symbol s_7_54[4] = { 'e', 'm', 'm', 'o' };
00314 static const symbol s_7_55[6] = { 'e', 'r', 'e', 'm', 'm', 'o' };
00315 static const symbol s_7_56[6] = { 'i', 'r', 'e', 'm', 'm', 'o' };
00316 static const symbol s_7_57[4] = { 'i', 'm', 'm', 'o' };
00317 static const symbol s_7_58[3] = { 'a', 'n', 'o' };
00318 static const symbol s_7_59[6] = { 'i', 's', 'c', 'a', 'n', 'o' };
00319 static const symbol s_7_60[5] = { 'a', 'v', 'a', 'n', 'o' };
00320 static const symbol s_7_61[5] = { 'e', 'v', 'a', 'n', 'o' };
00321 static const symbol s_7_62[5] = { 'i', 'v', 'a', 'n', 'o' };
00322 static const symbol s_7_63[6] = { 'e', 'r', 'a', 'n', 'n', 'o' };
00323 static const symbol s_7_64[6] = { 'i', 'r', 'a', 'n', 'n', 'o' };
00324 static const symbol s_7_65[3] = { 'o', 'n', 'o' };
00325 static const symbol s_7_66[6] = { 'i', 's', 'c', 'o', 'n', 'o' };
00326 static const symbol s_7_67[5] = { 'a', 'r', 'o', 'n', 'o' };
00327 static const symbol s_7_68[5] = { 'e', 'r', 'o', 'n', 'o' };
00328 static const symbol s_7_69[5] = { 'i', 'r', 'o', 'n', 'o' };
00329 static const symbol s_7_70[8] = { 'e', 'r', 'e', 'b', 'b', 'e', 'r', 'o' };
00330 static const symbol s_7_71[8] = { 'i', 'r', 'e', 'b', 'b', 'e', 'r', 'o' };
00331 static const symbol s_7_72[6] = { 'a', 's', 's', 'e', 'r', 'o' };
00332 static const symbol s_7_73[6] = { 'e', 's', 's', 'e', 'r', 'o' };
00333 static const symbol s_7_74[6] = { 'i', 's', 's', 'e', 'r', 'o' };
00334 static const symbol s_7_75[3] = { 'a', 't', 'o' };
00335 static const symbol s_7_76[3] = { 'i', 't', 'o' };
00336 static const symbol s_7_77[3] = { 'u', 't', 'o' };
00337 static const symbol s_7_78[3] = { 'a', 'v', 'o' };
00338 static const symbol s_7_79[3] = { 'e', 'v', 'o' };
00339 static const symbol s_7_80[3] = { 'i', 'v', 'o' };
00340 static const symbol s_7_81[2] = { 'a', 'r' };
00341 static const symbol s_7_82[2] = { 'i', 'r' };
00342 static const symbol s_7_83[4] = { 'e', 'r', 0xC3, 0xA0 };
00343 static const symbol s_7_84[4] = { 'i', 'r', 0xC3, 0xA0 };
00344 static const symbol s_7_85[4] = { 'e', 'r', 0xC3, 0xB2 };
00345 static const symbol s_7_86[4] = { 'i', 'r', 0xC3, 0xB2 };
00346 
00347 static const struct among a_7[87] =
00348 {
00349 /*  0 */ { 4, s_7_0, -1, 1},
00350 /*  1 */ { 4, s_7_1, -1, 1},
00351 /*  2 */ { 3, s_7_2, -1, 1},
00352 /*  3 */ { 3, s_7_3, -1, 1},
00353 /*  4 */ { 3, s_7_4, -1, 1},
00354 /*  5 */ { 3, s_7_5, -1, 1},
00355 /*  6 */ { 3, s_7_6, -1, 1},
00356 /*  7 */ { 3, s_7_7, -1, 1},
00357 /*  8 */ { 6, s_7_8, -1, 1},
00358 /*  9 */ { 6, s_7_9, -1, 1},
00359 /* 10 */ { 4, s_7_10, -1, 1},
00360 /* 11 */ { 4, s_7_11, -1, 1},
00361 /* 12 */ { 3, s_7_12, -1, 1},
00362 /* 13 */ { 3, s_7_13, -1, 1},
00363 /* 14 */ { 3, s_7_14, -1, 1},
00364 /* 15 */ { 4, s_7_15, -1, 1},
00365 /* 16 */ { 3, s_7_16, -1, 1},
00366 /* 17 */ { 5, s_7_17, 16, 1},
00367 /* 18 */ { 5, s_7_18, 16, 1},
00368 /* 19 */ { 5, s_7_19, 16, 1},
00369 /* 20 */ { 3, s_7_20, -1, 1},
00370 /* 21 */ { 5, s_7_21, 20, 1},
00371 /* 22 */ { 5, s_7_22, 20, 1},
00372 /* 23 */ { 3, s_7_23, -1, 1},
00373 /* 24 */ { 6, s_7_24, -1, 1},
00374 /* 25 */ { 6, s_7_25, -1, 1},
00375 /* 26 */ { 3, s_7_26, -1, 1},
00376 /* 27 */ { 4, s_7_27, -1, 1},
00377 /* 28 */ { 4, s_7_28, -1, 1},
00378 /* 29 */ { 4, s_7_29, -1, 1},
00379 /* 30 */ { 4, s_7_30, -1, 1},
00380 /* 31 */ { 4, s_7_31, -1, 1},
00381 /* 32 */ { 4, s_7_32, -1, 1},
00382 /* 33 */ { 4, s_7_33, -1, 1},
00383 /* 34 */ { 3, s_7_34, -1, 1},
00384 /* 35 */ { 3, s_7_35, -1, 1},
00385 /* 36 */ { 6, s_7_36, -1, 1},
00386 /* 37 */ { 6, s_7_37, -1, 1},
00387 /* 38 */ { 3, s_7_38, -1, 1},
00388 /* 39 */ { 3, s_7_39, -1, 1},
00389 /* 40 */ { 3, s_7_40, -1, 1},
00390 /* 41 */ { 3, s_7_41, -1, 1},
00391 /* 42 */ { 4, s_7_42, -1, 1},
00392 /* 43 */ { 4, s_7_43, -1, 1},
00393 /* 44 */ { 4, s_7_44, -1, 1},
00394 /* 45 */ { 4, s_7_45, -1, 1},
00395 /* 46 */ { 4, s_7_46, -1, 1},
00396 /* 47 */ { 5, s_7_47, -1, 1},
00397 /* 48 */ { 5, s_7_48, -1, 1},
00398 /* 49 */ { 5, s_7_49, -1, 1},
00399 /* 50 */ { 5, s_7_50, -1, 1},
00400 /* 51 */ { 5, s_7_51, -1, 1},
00401 /* 52 */ { 6, s_7_52, -1, 1},
00402 /* 53 */ { 4, s_7_53, -1, 1},
00403 /* 54 */ { 4, s_7_54, -1, 1},
00404 /* 55 */ { 6, s_7_55, 54, 1},
00405 /* 56 */ { 6, s_7_56, 54, 1},
00406 /* 57 */ { 4, s_7_57, -1, 1},
00407 /* 58 */ { 3, s_7_58, -1, 1},
00408 /* 59 */ { 6, s_7_59, 58, 1},
00409 /* 60 */ { 5, s_7_60, 58, 1},
00410 /* 61 */ { 5, s_7_61, 58, 1},
00411 /* 62 */ { 5, s_7_62, 58, 1},
00412 /* 63 */ { 6, s_7_63, -1, 1},
00413 /* 64 */ { 6, s_7_64, -1, 1},
00414 /* 65 */ { 3, s_7_65, -1, 1},
00415 /* 66 */ { 6, s_7_66, 65, 1},
00416 /* 67 */ { 5, s_7_67, 65, 1},
00417 /* 68 */ { 5, s_7_68, 65, 1},
00418 /* 69 */ { 5, s_7_69, 65, 1},
00419 /* 70 */ { 8, s_7_70, -1, 1},
00420 /* 71 */ { 8, s_7_71, -1, 1},
00421 /* 72 */ { 6, s_7_72, -1, 1},
00422 /* 73 */ { 6, s_7_73, -1, 1},
00423 /* 74 */ { 6, s_7_74, -1, 1},
00424 /* 75 */ { 3, s_7_75, -1, 1},
00425 /* 76 */ { 3, s_7_76, -1, 1},
00426 /* 77 */ { 3, s_7_77, -1, 1},
00427 /* 78 */ { 3, s_7_78, -1, 1},
00428 /* 79 */ { 3, s_7_79, -1, 1},
00429 /* 80 */ { 3, s_7_80, -1, 1},
00430 /* 81 */ { 2, s_7_81, -1, 1},
00431 /* 82 */ { 2, s_7_82, -1, 1},
00432 /* 83 */ { 4, s_7_83, -1, 1},
00433 /* 84 */ { 4, s_7_84, -1, 1},
00434 /* 85 */ { 4, s_7_85, -1, 1},
00435 /* 86 */ { 4, s_7_86, -1, 1}
00436 };
00437 
00438 static const unsigned char g_v[] = { 17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 8, 2, 1 };
00439 
00440 static const unsigned char g_AEIO[] = { 17, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 8, 2 };
00441 
00442 static const unsigned char g_CG[] = { 17 };
00443 
00444 static const symbol s_0[] = { 0xC3, 0xA0 };
00445 static const symbol s_1[] = { 0xC3, 0xA8 };
00446 static const symbol s_2[] = { 0xC3, 0xAC };
00447 static const symbol s_3[] = { 0xC3, 0xB2 };
00448 static const symbol s_4[] = { 0xC3, 0xB9 };
00449 static const symbol s_5[] = { 'q', 'U' };
00450 static const symbol s_6[] = { 'U' };
00451 static const symbol s_7[] = { 'I' };
00452 static const symbol s_8[] = { 'i' };
00453 static const symbol s_9[] = { 'u' };
00454 static const symbol s_10[] = { 'e' };
00455 static const symbol s_11[] = { 'i', 'c' };
00456 static const symbol s_12[] = { 'l', 'o', 'g' };
00457 static const symbol s_13[] = { 'u' };
00458 static const symbol s_14[] = { 'e', 'n', 't', 'e' };
00459 static const symbol s_15[] = { 'a', 't' };
00460 static const symbol s_16[] = { 'a', 't' };
00461 static const symbol s_17[] = { 'i', 'c' };
00462 
00463 int Xapian::InternalStemItalian::r_prelude() { /* forwardmode */
00464     int among_var;
00465     {   int c_test1 = c; /* test, line 35 */
00466         while(1) { /* repeat, line 35 */
00467             int c2 = c;
00468             bra = c; /* [, line 36 */
00469             among_var = find_among(a_0, 7, 0, 0); /* substring, line 36 */
00470             if (!(among_var)) goto lab0;
00471             ket = c; /* ], line 36 */
00472             switch(among_var) { /* among, line 36 */
00473                 case 0: goto lab0;
00474                 case 1:
00475                     {   int ret = slice_from_s(2, s_0); /* <-, line 37 */
00476                         if (ret < 0) return ret;
00477                     }
00478                     break;
00479                 case 2:
00480                     {   int ret = slice_from_s(2, s_1); /* <-, line 38 */
00481                         if (ret < 0) return ret;
00482                     }
00483                     break;
00484                 case 3:
00485                     {   int ret = slice_from_s(2, s_2); /* <-, line 39 */
00486                         if (ret < 0) return ret;
00487                     }
00488                     break;
00489                 case 4:
00490                     {   int ret = slice_from_s(2, s_3); /* <-, line 40 */
00491                         if (ret < 0) return ret;
00492                     }
00493                     break;
00494                 case 5:
00495                     {   int ret = slice_from_s(2, s_4); /* <-, line 41 */
00496                         if (ret < 0) return ret;
00497                     }
00498                     break;
00499                 case 6:
00500                     {   int ret = slice_from_s(2, s_5); /* <-, line 42 */
00501                         if (ret < 0) return ret;
00502                     }
00503                     break;
00504                 case 7:
00505                     {   int ret = skip_utf8(p, c, 0, l, 1);
00506                         if (ret < 0) goto lab0;
00507                         c = ret; /* next, line 43 */
00508                     }
00509                     break;
00510             }
00511             continue;
00512         lab0:
00513             c = c2;
00514             break;
00515         }
00516         c = c_test1;
00517     }
00518     while(1) { /* repeat, line 46 */
00519         int c3 = c;
00520         while(1) { /* goto, line 46 */
00521             int c4 = c;
00522             if (in_grouping_U(g_v, 97, 249, 0)) goto lab2; /* grouping v, line 47 */
00523             bra = c; /* [, line 47 */
00524             {   int c5 = c; /* or, line 47 */
00525                 if (c == l || p[c] != 'u') goto lab4;
00526                 c++;
00527                 ket = c; /* ], line 47 */
00528                 if (in_grouping_U(g_v, 97, 249, 0)) goto lab4; /* grouping v, line 47 */
00529                 {   int ret = slice_from_s(1, s_6); /* <-, line 47 */
00530                     if (ret < 0) return ret;
00531                 }
00532                 goto lab3;
00533             lab4:
00534                 c = c5;
00535                 if (c == l || p[c] != 'i') goto lab2;
00536                 c++;
00537                 ket = c; /* ], line 48 */
00538                 if (in_grouping_U(g_v, 97, 249, 0)) goto lab2; /* grouping v, line 48 */
00539                 {   int ret = slice_from_s(1, s_7); /* <-, line 48 */
00540                     if (ret < 0) return ret;
00541                 }
00542             }
00543         lab3:
00544             c = c4;
00545             break;
00546         lab2:
00547             c = c4;
00548             {   int ret = skip_utf8(p, c, 0, l, 1);
00549                 if (ret < 0) goto lab1;
00550                 c = ret; /* goto, line 46 */
00551             }
00552         }
00553         continue;
00554     lab1:
00555         c = c3;
00556         break;
00557     }
00558     return 1;
00559 }
00560 
00561 int Xapian::InternalStemItalian::r_mark_regions() { /* forwardmode */
00562     I_pV = l; /* pV = <integer expression>, line 54 */
00563     I_p1 = l; /* p1 = <integer expression>, line 55 */
00564     I_p2 = l; /* p2 = <integer expression>, line 56 */
00565     {   int c1 = c; /* do, line 58 */
00566         {   int c2 = c; /* or, line 60 */
00567             if (in_grouping_U(g_v, 97, 249, 0)) goto lab2; /* grouping v, line 59 */
00568             {   int c3 = c; /* or, line 59 */
00569                 if (out_grouping_U(g_v, 97, 249, 0)) goto lab4; /* non v, line 59 */
00570                 {   int ret = out_grouping_U(g_v, 97, 249, 1); /* gopast */ /* grouping v, line 59 */
00571                     if (ret < 0) goto lab4;
00572                     c += ret;
00573                 }
00574                 goto lab3;
00575             lab4:
00576                 c = c3;
00577                 if (in_grouping_U(g_v, 97, 249, 0)) goto lab2; /* grouping v, line 59 */
00578                 {   int ret = in_grouping_U(g_v, 97, 249, 1); /* gopast */ /* non v, line 59 */
00579                     if (ret < 0) goto lab2;
00580                     c += ret;
00581                 }
00582             }
00583         lab3:
00584             goto lab1;
00585         lab2:
00586             c = c2;
00587             if (out_grouping_U(g_v, 97, 249, 0)) goto lab0; /* non v, line 61 */
00588             {   int c4 = c; /* or, line 61 */
00589                 if (out_grouping_U(g_v, 97, 249, 0)) goto lab6; /* non v, line 61 */
00590                 {   int ret = out_grouping_U(g_v, 97, 249, 1); /* gopast */ /* grouping v, line 61 */
00591                     if (ret < 0) goto lab6;
00592                     c += ret;
00593                 }
00594                 goto lab5;
00595             lab6:
00596                 c = c4;
00597                 if (in_grouping_U(g_v, 97, 249, 0)) goto lab0; /* grouping v, line 61 */
00598                 {   int ret = skip_utf8(p, c, 0, l, 1);
00599                     if (ret < 0) goto lab0;
00600                     c = ret; /* next, line 61 */
00601                 }
00602             }
00603         lab5:
00604             ;
00605         }
00606     lab1:
00607         I_pV = c; /* setmark pV, line 62 */
00608     lab0:
00609         c = c1;
00610     }
00611     {   int c5 = c; /* do, line 64 */
00612         {   int ret = out_grouping_U(g_v, 97, 249, 1); /* gopast */ /* grouping v, line 65 */
00613             if (ret < 0) goto lab7;
00614             c += ret;
00615         }
00616         {   int ret = in_grouping_U(g_v, 97, 249, 1); /* gopast */ /* non v, line 65 */
00617             if (ret < 0) goto lab7;
00618             c += ret;
00619         }
00620         I_p1 = c; /* setmark p1, line 65 */
00621         {   int ret = out_grouping_U(g_v, 97, 249, 1); /* gopast */ /* grouping v, line 66 */
00622             if (ret < 0) goto lab7;
00623             c += ret;
00624         }
00625         {   int ret = in_grouping_U(g_v, 97, 249, 1); /* gopast */ /* non v, line 66 */
00626             if (ret < 0) goto lab7;
00627             c += ret;
00628         }
00629         I_p2 = c; /* setmark p2, line 66 */
00630     lab7:
00631         c = c5;
00632     }
00633     return 1;
00634 }
00635 
00636 int Xapian::InternalStemItalian::r_postlude() { /* forwardmode */
00637     int among_var;
00638     while(1) { /* repeat, line 70 */
00639         int c1 = c;
00640         bra = c; /* [, line 72 */
00641         if (c >= l || (p[c + 0] != 73 && p[c + 0] != 85)) among_var = 3; else /* substring, line 72 */
00642         among_var = find_among(a_1, 3, 0, 0);
00643         if (!(among_var)) goto lab0;
00644         ket = c; /* ], line 72 */
00645         switch(among_var) { /* among, line 72 */
00646             case 0: goto lab0;
00647             case 1:
00648                 {   int ret = slice_from_s(1, s_8); /* <-, line 73 */
00649                     if (ret < 0) return ret;
00650                 }
00651                 break;
00652             case 2:
00653                 {   int ret = slice_from_s(1, s_9); /* <-, line 74 */
00654                     if (ret < 0) return ret;
00655                 }
00656                 break;
00657             case 3:
00658                 {   int ret = skip_utf8(p, c, 0, l, 1);
00659                     if (ret < 0) goto lab0;
00660                     c = ret; /* next, line 75 */
00661                 }
00662                 break;
00663         }
00664         continue;
00665     lab0:
00666         c = c1;
00667         break;
00668     }
00669     return 1;
00670 }
00671 
00672 int Xapian::InternalStemItalian::r_RV() { /* backwardmode */
00673     if (!(I_pV <= c)) return 0; /* pV <= <integer expression>, line 82 */
00674     return 1;
00675 }
00676 
00677 int Xapian::InternalStemItalian::r_R1() { /* backwardmode */
00678     if (!(I_p1 <= c)) return 0; /* p1 <= <integer expression>, line 83 */
00679     return 1;
00680 }
00681 
00682 int Xapian::InternalStemItalian::r_R2() { /* backwardmode */
00683     if (!(I_p2 <= c)) return 0; /* p2 <= <integer expression>, line 84 */
00684     return 1;
00685 }
00686 
00687 int Xapian::InternalStemItalian::r_attached_pronoun() { /* backwardmode */
00688     int among_var;
00689     ket = c; /* [, line 87 */
00690     if (c - 1 <= lb || p[c - 1] >> 5 != 3 || !((33314 >> (p[c - 1] & 0x1f)) & 1)) return 0; /* substring, line 87 */
00691     if (!(find_among_b(a_2, 37, 0, 0))) return 0;
00692     bra = c; /* ], line 87 */
00693     if (c - 1 <= lb || (p[c - 1] != 111 && p[c - 1] != 114)) return 0; /* among, line 97 */
00694     among_var = find_among_b(a_3, 5, 0, 0);
00695     if (!(among_var)) return 0;
00696     {   int ret = r_RV(); /* call RV, line 97 */
00697         if (ret <= 0) return ret;
00698     }
00699     switch(among_var) { /* among, line 97 */
00700         case 0: return 0;
00701         case 1:
00702             if (slice_del() == -1) return -1; /* delete, line 98 */
00703             break;
00704         case 2:
00705             {   int ret = slice_from_s(1, s_10); /* <-, line 99 */
00706                 if (ret < 0) return ret;
00707             }
00708             break;
00709     }
00710     return 1;
00711 }
00712 
00713 int Xapian::InternalStemItalian::r_standard_suffix() { /* backwardmode */
00714     int among_var;
00715     ket = c; /* [, line 104 */
00716     among_var = find_among_b(a_6, 51, 0, 0); /* substring, line 104 */
00717     if (!(among_var)) return 0;
00718     bra = c; /* ], line 104 */
00719     switch(among_var) { /* among, line 104 */
00720         case 0: return 0;
00721         case 1:
00722             {   int ret = r_R2(); /* call R2, line 111 */
00723                 if (ret <= 0) return ret;
00724             }
00725             if (slice_del() == -1) return -1; /* delete, line 111 */
00726             break;
00727         case 2:
00728             {   int ret = r_R2(); /* call R2, line 113 */
00729                 if (ret <= 0) return ret;
00730             }
00731             if (slice_del() == -1) return -1; /* delete, line 113 */
00732             {   int m1 = l - c; (void)m1; /* try, line 114 */
00733                 ket = c; /* [, line 114 */
00734                 if (!(eq_s_b(2, s_11))) { c = l - m1; goto lab0; } /* literal, line 114 */
00735                 bra = c; /* ], line 114 */
00736                 {   int ret = r_R2(); /* call R2, line 114 */
00737                     if (ret == 0) { c = l - m1; goto lab0; }
00738                     if (ret < 0) return ret;
00739                 }
00740                 if (slice_del() == -1) return -1; /* delete, line 114 */
00741             lab0:
00742                 ;
00743             }
00744             break;
00745         case 3:
00746             {   int ret = r_R2(); /* call R2, line 117 */
00747                 if (ret <= 0) return ret;
00748             }
00749             {   int ret = slice_from_s(3, s_12); /* <-, line 117 */
00750                 if (ret < 0) return ret;
00751             }
00752             break;
00753         case 4:
00754             {   int ret = r_R2(); /* call R2, line 119 */
00755                 if (ret <= 0) return ret;
00756             }
00757             {   int ret = slice_from_s(1, s_13); /* <-, line 119 */
00758                 if (ret < 0) return ret;
00759             }
00760             break;
00761         case 5:
00762             {   int ret = r_R2(); /* call R2, line 121 */
00763                 if (ret <= 0) return ret;
00764             }
00765             {   int ret = slice_from_s(4, s_14); /* <-, line 121 */
00766                 if (ret < 0) return ret;
00767             }
00768             break;
00769         case 6:
00770             {   int ret = r_RV(); /* call RV, line 123 */
00771                 if (ret <= 0) return ret;
00772             }
00773             if (slice_del() == -1) return -1; /* delete, line 123 */
00774             break;
00775         case 7:
00776             {   int ret = r_R1(); /* call R1, line 125 */
00777                 if (ret <= 0) return ret;
00778             }
00779             if (slice_del() == -1) return -1; /* delete, line 125 */
00780             {   int m2 = l - c; (void)m2; /* try, line 126 */
00781                 ket = c; /* [, line 127 */
00782                 if (c - 1 <= lb || p[c - 1] >> 5 != 3 || !((4722696 >> (p[c - 1] & 0x1f)) & 1)) { c = l - m2; goto lab1; } /* substring, line 127 */
00783                 among_var = find_among_b(a_4, 4, 0, 0);
00784                 if (!(among_var)) { c = l - m2; goto lab1; }
00785                 bra = c; /* ], line 127 */
00786                 {   int ret = r_R2(); /* call R2, line 127 */
00787                     if (ret == 0) { c = l - m2; goto lab1; }
00788                     if (ret < 0) return ret;
00789                 }
00790                 if (slice_del() == -1) return -1; /* delete, line 127 */
00791                 switch(among_var) { /* among, line 127 */
00792                     case 0: { c = l - m2; goto lab1; }
00793                     case 1:
00794                         ket = c; /* [, line 128 */
00795                         if (!(eq_s_b(2, s_15))) { c = l - m2; goto lab1; } /* literal, line 128 */
00796                         bra = c; /* ], line 128 */
00797                         {   int ret = r_R2(); /* call R2, line 128 */
00798                             if (ret == 0) { c = l - m2; goto lab1; }
00799                             if (ret < 0) return ret;
00800                         }
00801                         if (slice_del() == -1) return -1; /* delete, line 128 */
00802                         break;
00803                 }
00804             lab1:
00805                 ;
00806             }
00807             break;
00808         case 8:
00809             {   int ret = r_R2(); /* call R2, line 134 */
00810                 if (ret <= 0) return ret;
00811             }
00812             if (slice_del() == -1) return -1; /* delete, line 134 */
00813             {   int m3 = l - c; (void)m3; /* try, line 135 */
00814                 ket = c; /* [, line 136 */
00815                 if (c - 1 <= lb || p[c - 1] >> 5 != 3 || !((4198408 >> (p[c - 1] & 0x1f)) & 1)) { c = l - m3; goto lab2; } /* substring, line 136 */
00816                 among_var = find_among_b(a_5, 3, 0, 0);
00817                 if (!(among_var)) { c = l - m3; goto lab2; }
00818                 bra = c; /* ], line 136 */
00819                 switch(among_var) { /* among, line 136 */
00820                     case 0: { c = l - m3; goto lab2; }
00821                     case 1:
00822                         {   int ret = r_R2(); /* call R2, line 137 */
00823                             if (ret == 0) { c = l - m3; goto lab2; }
00824                             if (ret < 0) return ret;
00825                         }
00826                         if (slice_del() == -1) return -1; /* delete, line 137 */
00827                         break;
00828                 }
00829             lab2:
00830                 ;
00831             }
00832             break;
00833         case 9:
00834             {   int ret = r_R2(); /* call R2, line 142 */
00835                 if (ret <= 0) return ret;
00836             }
00837             if (slice_del() == -1) return -1; /* delete, line 142 */
00838             {   int m4 = l - c; (void)m4; /* try, line 143 */
00839                 ket = c; /* [, line 143 */
00840                 if (!(eq_s_b(2, s_16))) { c = l - m4; goto lab3; } /* literal, line 143 */
00841                 bra = c; /* ], line 143 */
00842                 {   int ret = r_R2(); /* call R2, line 143 */
00843                     if (ret == 0) { c = l - m4; goto lab3; }
00844                     if (ret < 0) return ret;
00845                 }
00846                 if (slice_del() == -1) return -1; /* delete, line 143 */
00847                 ket = c; /* [, line 143 */
00848                 if (!(eq_s_b(2, s_17))) { c = l - m4; goto lab3; } /* literal, line 143 */
00849                 bra = c; /* ], line 143 */
00850                 {   int ret = r_R2(); /* call R2, line 143 */
00851                     if (ret == 0) { c = l - m4; goto lab3; }
00852                     if (ret < 0) return ret;
00853                 }
00854                 if (slice_del() == -1) return -1; /* delete, line 143 */
00855             lab3:
00856                 ;
00857             }
00858             break;
00859     }
00860     return 1;
00861 }
00862 
00863 int Xapian::InternalStemItalian::r_verb_suffix() { /* backwardmode */
00864     int among_var;
00865     {   int m1 = l - c; (void)m1; /* setlimit, line 148 */
00866         int mlimit1;
00867         if (c < I_pV) return 0;
00868         c = I_pV; /* tomark, line 148 */
00869         mlimit1 = lb; lb = c;
00870         c = l - m1;
00871         ket = c; /* [, line 149 */
00872         among_var = find_among_b(a_7, 87, 0, 0); /* substring, line 149 */
00873         if (!(among_var)) { lb = mlimit1; return 0; }
00874         bra = c; /* ], line 149 */
00875         switch(among_var) { /* among, line 149 */
00876             case 0: { lb = mlimit1; return 0; }
00877             case 1:
00878                 if (slice_del() == -1) return -1; /* delete, line 163 */
00879                 break;
00880         }
00881         lb = mlimit1;
00882     }
00883     return 1;
00884 }
00885 
00886 int Xapian::InternalStemItalian::r_vowel_suffix() { /* backwardmode */
00887     {   int m1 = l - c; (void)m1; /* try, line 171 */
00888         ket = c; /* [, line 172 */
00889         if (in_grouping_b_U(g_AEIO, 97, 242, 0)) { c = l - m1; goto lab0; } /* grouping AEIO, line 172 */
00890         bra = c; /* ], line 172 */
00891         {   int ret = r_RV(); /* call RV, line 172 */
00892             if (ret == 0) { c = l - m1; goto lab0; }
00893             if (ret < 0) return ret;
00894         }
00895         if (slice_del() == -1) return -1; /* delete, line 172 */
00896         ket = c; /* [, line 173 */
00897         if (c <= lb || p[c - 1] != 'i') { c = l - m1; goto lab0; }
00898         c--;
00899         bra = c; /* ], line 173 */
00900         {   int ret = r_RV(); /* call RV, line 173 */
00901             if (ret == 0) { c = l - m1; goto lab0; }
00902             if (ret < 0) return ret;
00903         }
00904         if (slice_del() == -1) return -1; /* delete, line 173 */
00905     lab0:
00906         ;
00907     }
00908     {   int m2 = l - c; (void)m2; /* try, line 175 */
00909         ket = c; /* [, line 176 */
00910         if (c <= lb || p[c - 1] != 'h') { c = l - m2; goto lab1; }
00911         c--;
00912         bra = c; /* ], line 176 */
00913         if (in_grouping_b_U(g_CG, 99, 103, 0)) { c = l - m2; goto lab1; } /* grouping CG, line 176 */
00914         {   int ret = r_RV(); /* call RV, line 176 */
00915             if (ret == 0) { c = l - m2; goto lab1; }
00916             if (ret < 0) return ret;
00917         }
00918         if (slice_del() == -1) return -1; /* delete, line 176 */
00919     lab1:
00920         ;
00921     }
00922     return 1;
00923 }
00924 
00925 int Xapian::InternalStemItalian::stem() { /* forwardmode */
00926     {   int c1 = c; /* do, line 182 */
00927         {   int ret = r_prelude(); /* call prelude, line 182 */
00928             if (ret == 0) goto lab0;
00929             if (ret < 0) return ret;
00930         }
00931     lab0:
00932         c = c1;
00933     }
00934     {   int c2 = c; /* do, line 183 */
00935         {   int ret = r_mark_regions(); /* call mark_regions, line 183 */
00936             if (ret == 0) goto lab1;
00937             if (ret < 0) return ret;
00938         }
00939     lab1:
00940         c = c2;
00941     }
00942     lb = c; c = l; /* backwards, line 184 */
00943 
00944     {   int m3 = l - c; (void)m3; /* do, line 185 */
00945         {   int ret = r_attached_pronoun(); /* call attached_pronoun, line 185 */
00946             if (ret == 0) goto lab2;
00947             if (ret < 0) return ret;
00948         }
00949     lab2:
00950         c = l - m3;
00951     }
00952     {   int m4 = l - c; (void)m4; /* do, line 186 */
00953         {   int m5 = l - c; (void)m5; /* or, line 186 */
00954             {   int ret = r_standard_suffix(); /* call standard_suffix, line 186 */
00955                 if (ret == 0) goto lab5;
00956                 if (ret < 0) return ret;
00957             }
00958             goto lab4;
00959         lab5:
00960             c = l - m5;
00961             {   int ret = r_verb_suffix(); /* call verb_suffix, line 186 */
00962                 if (ret == 0) goto lab3;
00963                 if (ret < 0) return ret;
00964             }
00965         }
00966     lab4:
00967     lab3:
00968         c = l - m4;
00969     }
00970     {   int m6 = l - c; (void)m6; /* do, line 187 */
00971         {   int ret = r_vowel_suffix(); /* call vowel_suffix, line 187 */
00972             if (ret == 0) goto lab6;
00973             if (ret < 0) return ret;
00974         }
00975     lab6:
00976         c = l - m6;
00977     }
00978     c = lb;
00979     {   int c7 = c; /* do, line 189 */
00980         {   int ret = r_postlude(); /* call postlude, line 189 */
00981             if (ret == 0) goto lab7;
00982             if (ret < 0) return ret;
00983         }
00984     lab7:
00985         c = c7;
00986     }
00987     return 1;
00988 }
00989 
00990 Xapian::InternalStemItalian::InternalStemItalian()
00991     : I_p2(0), I_p1(0), I_pV(0)
00992 {
00993 }
00994 
00995 Xapian::InternalStemItalian::~InternalStemItalian()
00996 {
00997 }
00998 
00999 const char *
01000 Xapian::InternalStemItalian::get_description() const
01001 {
01002     return "italian";
01003 }

Documentation for Xapian (version 1.0.10).
Generated on 24 Dec 2008 by Doxygen 1.5.2.