00001
00002
00003
00004 #include "header.h"
00005
00006 #ifdef __cplusplus
00007 extern "C" {
00008 #endif
00009 extern int italian_ISO_8859_1_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_ISO_8859_1_create_env(void);
00029 extern void italian_ISO_8859_1_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[1] = { 0xE1 };
00037 static const symbol s_0_3[1] = { 0xE9 };
00038 static const symbol s_0_4[1] = { 0xED };
00039 static const symbol s_0_5[1] = { 0xF3 };
00040 static const symbol s_0_6[1] = { 0xFA };
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 { 1, s_0_2, 0, 1, 0},
00047 { 1, s_0_3, 0, 2, 0},
00048 { 1, s_0_4, 0, 3, 0},
00049 { 1, s_0_5, 0, 4, 0},
00050 { 1, 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[3] = { 'i', 't', 0xE0 };
00229 static const symbol s_6_48[4] = { 'i', 's', 't', 0xE0 };
00230 static const symbol s_6_49[4] = { 'i', 's', 't', 0xE8 };
00231 static const symbol s_6_50[4] = { 'i', 's', 't', 0xEC };
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 { 3, s_6_47, -1, 8, 0},
00283 { 4, s_6_48, -1, 1, 0},
00284 { 4, s_6_49, -1, 1, 0},
00285 { 4, 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[3] = { 'e', 'r', 0xE0 };
00372 static const symbol s_7_84[3] = { 'i', 'r', 0xE0 };
00373 static const symbol s_7_85[3] = { 'e', 'r', 0xF2 };
00374 static const symbol s_7_86[3] = { 'i', 'r', 0xF2 };
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 { 3, s_7_83, -1, 1, 0},
00462 { 3, s_7_84, -1, 1, 0},
00463 { 3, s_7_85, -1, 1, 0},
00464 { 3, 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[] = { 0xE0 };
00474 static const symbol s_1[] = { 0xE8 };
00475 static const symbol s_2[] = { 0xEC };
00476 static const symbol s_3[] = { 0xF2 };
00477 static const symbol s_4[] = { 0xF9 };
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, 1, s_0);
00509 if (ret < 0) return ret;
00510 }
00511 break;
00512 case 2:
00513 { int ret = slice_from_s(z, 1, s_1);
00514 if (ret < 0) return ret;
00515 }
00516 break;
00517 case 3:
00518 { int ret = slice_from_s(z, 1, s_2);
00519 if (ret < 0) return ret;
00520 }
00521 break;
00522 case 4:
00523 { int ret = slice_from_s(z, 1, s_3);
00524 if (ret < 0) return ret;
00525 }
00526 break;
00527 case 5:
00528 { int ret = slice_from_s(z, 1, 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 if (z->c >= z->l) goto lab0;
00539 z->c++;
00540 break;
00541 }
00542 continue;
00543 lab0:
00544 z->c = c1;
00545 break;
00546 }
00547 z->c = c_test;
00548 }
00549 while(1) {
00550 int c2 = z->c;
00551 while(1) {
00552 int c3 = z->c;
00553 if (in_grouping(z, g_v, 97, 249, 0)) goto lab2;
00554 z->bra = z->c;
00555 { int c4 = z->c;
00556 if (!(eq_s(z, 1, s_6))) goto lab4;
00557 z->ket = z->c;
00558 if (in_grouping(z, g_v, 97, 249, 0)) goto lab4;
00559 { int ret = slice_from_s(z, 1, s_7);
00560 if (ret < 0) return ret;
00561 }
00562 goto lab3;
00563 lab4:
00564 z->c = c4;
00565 if (!(eq_s(z, 1, s_8))) goto lab2;
00566 z->ket = z->c;
00567 if (in_grouping(z, g_v, 97, 249, 0)) goto lab2;
00568 { int ret = slice_from_s(z, 1, s_9);
00569 if (ret < 0) return ret;
00570 }
00571 }
00572 lab3:
00573 z->c = c3;
00574 break;
00575 lab2:
00576 z->c = c3;
00577 if (z->c >= z->l) goto lab1;
00578 z->c++;
00579 }
00580 continue;
00581 lab1:
00582 z->c = c2;
00583 break;
00584 }
00585 return 1;
00586 }
00587
00588 static int r_mark_regions(struct SN_env * z) {
00589 z->I[0] = z->l;
00590 z->I[1] = z->l;
00591 z->I[2] = z->l;
00592 { int c1 = z->c;
00593 { int c2 = z->c;
00594 if (in_grouping(z, g_v, 97, 249, 0)) goto lab2;
00595 { int c3 = z->c;
00596 if (out_grouping(z, g_v, 97, 249, 0)) goto lab4;
00597 {
00598 int ret = out_grouping(z, g_v, 97, 249, 1);
00599 if (ret < 0) goto lab4;
00600 z->c += ret;
00601 }
00602 goto lab3;
00603 lab4:
00604 z->c = c3;
00605 if (in_grouping(z, g_v, 97, 249, 0)) goto lab2;
00606 {
00607 int ret = in_grouping(z, g_v, 97, 249, 1);
00608 if (ret < 0) goto lab2;
00609 z->c += ret;
00610 }
00611 }
00612 lab3:
00613 goto lab1;
00614 lab2:
00615 z->c = c2;
00616 if (out_grouping(z, g_v, 97, 249, 0)) goto lab0;
00617 { int c4 = z->c;
00618 if (out_grouping(z, g_v, 97, 249, 0)) goto lab6;
00619 {
00620 int ret = out_grouping(z, g_v, 97, 249, 1);
00621 if (ret < 0) goto lab6;
00622 z->c += ret;
00623 }
00624 goto lab5;
00625 lab6:
00626 z->c = c4;
00627 if (in_grouping(z, g_v, 97, 249, 0)) goto lab0;
00628 if (z->c >= z->l) goto lab0;
00629 z->c++;
00630 }
00631 lab5:
00632 ;
00633 }
00634 lab1:
00635 z->I[0] = z->c;
00636 lab0:
00637 z->c = c1;
00638 }
00639 { int c5 = z->c;
00640 {
00641 int ret = out_grouping(z, g_v, 97, 249, 1);
00642 if (ret < 0) goto lab7;
00643 z->c += ret;
00644 }
00645 {
00646 int ret = in_grouping(z, g_v, 97, 249, 1);
00647 if (ret < 0) goto lab7;
00648 z->c += ret;
00649 }
00650 z->I[1] = z->c;
00651 {
00652 int ret = out_grouping(z, g_v, 97, 249, 1);
00653 if (ret < 0) goto lab7;
00654 z->c += ret;
00655 }
00656 {
00657 int ret = in_grouping(z, g_v, 97, 249, 1);
00658 if (ret < 0) goto lab7;
00659 z->c += ret;
00660 }
00661 z->I[2] = z->c;
00662 lab7:
00663 z->c = c5;
00664 }
00665 return 1;
00666 }
00667
00668 static int r_postlude(struct SN_env * z) {
00669 int among_var;
00670 while(1) {
00671 int c1 = z->c;
00672 z->bra = z->c;
00673 if (z->c >= z->l || (z->p[z->c + 0] != 73 && z->p[z->c + 0] != 85)) among_var = 3; else
00674 among_var = find_among(z, a_1, 3);
00675 if (!(among_var)) goto lab0;
00676 z->ket = z->c;
00677 switch(among_var) {
00678 case 0: goto lab0;
00679 case 1:
00680 { int ret = slice_from_s(z, 1, s_10);
00681 if (ret < 0) return ret;
00682 }
00683 break;
00684 case 2:
00685 { int ret = slice_from_s(z, 1, s_11);
00686 if (ret < 0) return ret;
00687 }
00688 break;
00689 case 3:
00690 if (z->c >= z->l) goto lab0;
00691 z->c++;
00692 break;
00693 }
00694 continue;
00695 lab0:
00696 z->c = c1;
00697 break;
00698 }
00699 return 1;
00700 }
00701
00702 static int r_RV(struct SN_env * z) {
00703 if (!(z->I[0] <= z->c)) return 0;
00704 return 1;
00705 }
00706
00707 static int r_R1(struct SN_env * z) {
00708 if (!(z->I[1] <= z->c)) return 0;
00709 return 1;
00710 }
00711
00712 static int r_R2(struct SN_env * z) {
00713 if (!(z->I[2] <= z->c)) return 0;
00714 return 1;
00715 }
00716
00717 static int r_attached_pronoun(struct SN_env * z) {
00718 int among_var;
00719 z->ket = z->c;
00720 if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((33314 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
00721 if (!(find_among_b(z, a_2, 37))) return 0;
00722 z->bra = z->c;
00723 if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 111 && z->p[z->c - 1] != 114)) return 0;
00724 among_var = find_among_b(z, a_3, 5);
00725 if (!(among_var)) return 0;
00726 { int ret = r_RV(z);
00727 if (ret == 0) return 0;
00728 if (ret < 0) return ret;
00729 }
00730 switch(among_var) {
00731 case 0: return 0;
00732 case 1:
00733 { int ret = slice_del(z);
00734 if (ret < 0) return ret;
00735 }
00736 break;
00737 case 2:
00738 { int ret = slice_from_s(z, 1, s_12);
00739 if (ret < 0) return ret;
00740 }
00741 break;
00742 }
00743 return 1;
00744 }
00745
00746 static int r_standard_suffix(struct SN_env * z) {
00747 int among_var;
00748 z->ket = z->c;
00749 among_var = find_among_b(z, a_6, 51);
00750 if (!(among_var)) return 0;
00751 z->bra = z->c;
00752 switch(among_var) {
00753 case 0: return 0;
00754 case 1:
00755 { int ret = r_R2(z);
00756 if (ret == 0) return 0;
00757 if (ret < 0) return ret;
00758 }
00759 { int ret = slice_del(z);
00760 if (ret < 0) return ret;
00761 }
00762 break;
00763 case 2:
00764 { int ret = r_R2(z);
00765 if (ret == 0) return 0;
00766 if (ret < 0) return ret;
00767 }
00768 { int ret = slice_del(z);
00769 if (ret < 0) return ret;
00770 }
00771 { int m_keep = z->l - z->c;
00772 z->ket = z->c;
00773 if (!(eq_s_b(z, 2, s_13))) { z->c = z->l - m_keep; goto lab0; }
00774 z->bra = z->c;
00775 { int ret = r_R2(z);
00776 if (ret == 0) { z->c = z->l - m_keep; goto lab0; }
00777 if (ret < 0) return ret;
00778 }
00779 { int ret = slice_del(z);
00780 if (ret < 0) return ret;
00781 }
00782 lab0:
00783 ;
00784 }
00785 break;
00786 case 3:
00787 { int ret = r_R2(z);
00788 if (ret == 0) return 0;
00789 if (ret < 0) return ret;
00790 }
00791 { int ret = slice_from_s(z, 3, s_14);
00792 if (ret < 0) return ret;
00793 }
00794 break;
00795 case 4:
00796 { int ret = r_R2(z);
00797 if (ret == 0) return 0;
00798 if (ret < 0) return ret;
00799 }
00800 { int ret = slice_from_s(z, 1, s_15);
00801 if (ret < 0) return ret;
00802 }
00803 break;
00804 case 5:
00805 { int ret = r_R2(z);
00806 if (ret == 0) return 0;
00807 if (ret < 0) return ret;
00808 }
00809 { int ret = slice_from_s(z, 4, s_16);
00810 if (ret < 0) return ret;
00811 }
00812 break;
00813 case 6:
00814 { int ret = r_RV(z);
00815 if (ret == 0) return 0;
00816 if (ret < 0) return ret;
00817 }
00818 { int ret = slice_del(z);
00819 if (ret < 0) return ret;
00820 }
00821 break;
00822 case 7:
00823 { int ret = r_R1(z);
00824 if (ret == 0) return 0;
00825 if (ret < 0) return ret;
00826 }
00827 { int ret = slice_del(z);
00828 if (ret < 0) return ret;
00829 }
00830 { int m_keep = z->l - z->c;
00831 z->ket = z->c;
00832 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; }
00833 among_var = find_among_b(z, a_4, 4);
00834 if (!(among_var)) { z->c = z->l - m_keep; goto lab1; }
00835 z->bra = z->c;
00836 { int ret = r_R2(z);
00837 if (ret == 0) { z->c = z->l - m_keep; goto lab1; }
00838 if (ret < 0) return ret;
00839 }
00840 { int ret = slice_del(z);
00841 if (ret < 0) return ret;
00842 }
00843 switch(among_var) {
00844 case 0: { z->c = z->l - m_keep; goto lab1; }
00845 case 1:
00846 z->ket = z->c;
00847 if (!(eq_s_b(z, 2, s_17))) { z->c = z->l - m_keep; goto lab1; }
00848 z->bra = z->c;
00849 { int ret = r_R2(z);
00850 if (ret == 0) { z->c = z->l - m_keep; goto lab1; }
00851 if (ret < 0) return ret;
00852 }
00853 { int ret = slice_del(z);
00854 if (ret < 0) return ret;
00855 }
00856 break;
00857 }
00858 lab1:
00859 ;
00860 }
00861 break;
00862 case 8:
00863 { int ret = r_R2(z);
00864 if (ret == 0) return 0;
00865 if (ret < 0) return ret;
00866 }
00867 { int ret = slice_del(z);
00868 if (ret < 0) return ret;
00869 }
00870 { int m_keep = z->l - z->c;
00871 z->ket = z->c;
00872 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; }
00873 among_var = find_among_b(z, a_5, 3);
00874 if (!(among_var)) { z->c = z->l - m_keep; goto lab2; }
00875 z->bra = z->c;
00876 switch(among_var) {
00877 case 0: { z->c = z->l - m_keep; goto lab2; }
00878 case 1:
00879 { int ret = r_R2(z);
00880 if (ret == 0) { z->c = z->l - m_keep; goto lab2; }
00881 if (ret < 0) return ret;
00882 }
00883 { int ret = slice_del(z);
00884 if (ret < 0) return ret;
00885 }
00886 break;
00887 }
00888 lab2:
00889 ;
00890 }
00891 break;
00892 case 9:
00893 { int ret = r_R2(z);
00894 if (ret == 0) return 0;
00895 if (ret < 0) return ret;
00896 }
00897 { int ret = slice_del(z);
00898 if (ret < 0) return ret;
00899 }
00900 { int m_keep = z->l - z->c;
00901 z->ket = z->c;
00902 if (!(eq_s_b(z, 2, s_18))) { z->c = z->l - m_keep; goto lab3; }
00903 z->bra = z->c;
00904 { int ret = r_R2(z);
00905 if (ret == 0) { z->c = z->l - m_keep; goto lab3; }
00906 if (ret < 0) return ret;
00907 }
00908 { int ret = slice_del(z);
00909 if (ret < 0) return ret;
00910 }
00911 z->ket = z->c;
00912 if (!(eq_s_b(z, 2, s_19))) { z->c = z->l - m_keep; goto lab3; }
00913 z->bra = z->c;
00914 { int ret = r_R2(z);
00915 if (ret == 0) { z->c = z->l - m_keep; goto lab3; }
00916 if (ret < 0) return ret;
00917 }
00918 { int ret = slice_del(z);
00919 if (ret < 0) return ret;
00920 }
00921 lab3:
00922 ;
00923 }
00924 break;
00925 }
00926 return 1;
00927 }
00928
00929 static int r_verb_suffix(struct SN_env * z) {
00930 int among_var;
00931 { int mlimit;
00932 int m1 = z->l - z->c; (void)m1;
00933 if (z->c < z->I[0]) return 0;
00934 z->c = z->I[0];
00935 mlimit = z->lb; z->lb = z->c;
00936 z->c = z->l - m1;
00937 z->ket = z->c;
00938 among_var = find_among_b(z, a_7, 87);
00939 if (!(among_var)) { z->lb = mlimit; return 0; }
00940 z->bra = z->c;
00941 switch(among_var) {
00942 case 0: { z->lb = mlimit; return 0; }
00943 case 1:
00944 { int ret = slice_del(z);
00945 if (ret < 0) return ret;
00946 }
00947 break;
00948 }
00949 z->lb = mlimit;
00950 }
00951 return 1;
00952 }
00953
00954 static int r_vowel_suffix(struct SN_env * z) {
00955 { int m_keep = z->l - z->c;
00956 z->ket = z->c;
00957 if (in_grouping_b(z, g_AEIO, 97, 242, 0)) { z->c = z->l - m_keep; goto lab0; }
00958 z->bra = z->c;
00959 { int ret = r_RV(z);
00960 if (ret == 0) { z->c = z->l - m_keep; goto lab0; }
00961 if (ret < 0) return ret;
00962 }
00963 { int ret = slice_del(z);
00964 if (ret < 0) return ret;
00965 }
00966 z->ket = z->c;
00967 if (!(eq_s_b(z, 1, s_20))) { z->c = z->l - m_keep; goto lab0; }
00968 z->bra = z->c;
00969 { int ret = r_RV(z);
00970 if (ret == 0) { z->c = z->l - m_keep; goto lab0; }
00971 if (ret < 0) return ret;
00972 }
00973 { int ret = slice_del(z);
00974 if (ret < 0) return ret;
00975 }
00976 lab0:
00977 ;
00978 }
00979 { int m_keep = z->l - z->c;
00980 z->ket = z->c;
00981 if (!(eq_s_b(z, 1, s_21))) { z->c = z->l - m_keep; goto lab1; }
00982 z->bra = z->c;
00983 if (in_grouping_b(z, g_CG, 99, 103, 0)) { z->c = z->l - m_keep; goto lab1; }
00984 { int ret = r_RV(z);
00985 if (ret == 0) { z->c = z->l - m_keep; goto lab1; }
00986 if (ret < 0) return ret;
00987 }
00988 { int ret = slice_del(z);
00989 if (ret < 0) return ret;
00990 }
00991 lab1:
00992 ;
00993 }
00994 return 1;
00995 }
00996
00997 extern int italian_ISO_8859_1_stem(struct SN_env * z) {
00998 { int c1 = z->c;
00999 { int ret = r_prelude(z);
01000 if (ret == 0) goto lab0;
01001 if (ret < 0) return ret;
01002 }
01003 lab0:
01004 z->c = c1;
01005 }
01006 { int c2 = z->c;
01007 { int ret = r_mark_regions(z);
01008 if (ret == 0) goto lab1;
01009 if (ret < 0) return ret;
01010 }
01011 lab1:
01012 z->c = c2;
01013 }
01014 z->lb = z->c; z->c = z->l;
01015
01016 { int m3 = z->l - z->c; (void)m3;
01017 { int ret = r_attached_pronoun(z);
01018 if (ret == 0) goto lab2;
01019 if (ret < 0) return ret;
01020 }
01021 lab2:
01022 z->c = z->l - m3;
01023 }
01024 { int m4 = z->l - z->c; (void)m4;
01025 { int m5 = z->l - z->c; (void)m5;
01026 { int ret = r_standard_suffix(z);
01027 if (ret == 0) goto lab5;
01028 if (ret < 0) return ret;
01029 }
01030 goto lab4;
01031 lab5:
01032 z->c = z->l - m5;
01033 { int ret = r_verb_suffix(z);
01034 if (ret == 0) goto lab3;
01035 if (ret < 0) return ret;
01036 }
01037 }
01038 lab4:
01039 lab3:
01040 z->c = z->l - m4;
01041 }
01042 { int m6 = z->l - z->c; (void)m6;
01043 { int ret = r_vowel_suffix(z);
01044 if (ret == 0) goto lab6;
01045 if (ret < 0) return ret;
01046 }
01047 lab6:
01048 z->c = z->l - m6;
01049 }
01050 z->c = z->lb;
01051 { int c7 = z->c;
01052 { int ret = r_postlude(z);
01053 if (ret == 0) goto lab7;
01054 if (ret < 0) return ret;
01055 }
01056 lab7:
01057 z->c = c7;
01058 }
01059 return 1;
01060 }
01061
01062 extern struct SN_env * italian_ISO_8859_1_create_env(void) { return SN_create_env(0, 3, 0); }
01063
01064 extern void italian_ISO_8859_1_close_env(struct SN_env * z) { SN_close_env(z, 0); }
01065