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