Header And Logo

PostgreSQL
| The world's most advanced open source database.

stem_ISO_8859_1_italian.c

Go to the documentation of this file.
00001 
00002 /* This file was generated automatically by the Snowball to ANSI C compiler */
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, 0, -1, 7, 0},
00045 /*  1 */ { 2, s_0_1, 0, 6, 0},
00046 /*  2 */ { 1, s_0_2, 0, 1, 0},
00047 /*  3 */ { 1, s_0_3, 0, 2, 0},
00048 /*  4 */ { 1, s_0_4, 0, 3, 0},
00049 /*  5 */ { 1, s_0_5, 0, 4, 0},
00050 /*  6 */ { 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, 0, -1, 3, 0},
00059 /*  1 */ { 1, s_1_1, 0, 1, 0},
00060 /*  2 */ { 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 /*  0 */ { 2, s_2_0, -1, -1, 0},
00104 /*  1 */ { 4, s_2_1, 0, -1, 0},
00105 /*  2 */ { 6, s_2_2, 0, -1, 0},
00106 /*  3 */ { 4, s_2_3, 0, -1, 0},
00107 /*  4 */ { 4, s_2_4, 0, -1, 0},
00108 /*  5 */ { 4, s_2_5, 0, -1, 0},
00109 /*  6 */ { 2, s_2_6, -1, -1, 0},
00110 /*  7 */ { 4, s_2_7, 6, -1, 0},
00111 /*  8 */ { 6, s_2_8, 6, -1, 0},
00112 /*  9 */ { 4, s_2_9, 6, -1, 0},
00113 /* 10 */ { 4, s_2_10, 6, -1, 0},
00114 /* 11 */ { 4, s_2_11, 6, -1, 0},
00115 /* 12 */ { 2, s_2_12, -1, -1, 0},
00116 /* 13 */ { 4, s_2_13, 12, -1, 0},
00117 /* 14 */ { 6, s_2_14, 12, -1, 0},
00118 /* 15 */ { 4, s_2_15, 12, -1, 0},
00119 /* 16 */ { 4, s_2_16, 12, -1, 0},
00120 /* 17 */ { 4, s_2_17, 12, -1, 0},
00121 /* 18 */ { 4, s_2_18, 12, -1, 0},
00122 /* 19 */ { 2, s_2_19, -1, -1, 0},
00123 /* 20 */ { 2, s_2_20, -1, -1, 0},
00124 /* 21 */ { 4, s_2_21, 20, -1, 0},
00125 /* 22 */ { 6, s_2_22, 20, -1, 0},
00126 /* 23 */ { 4, s_2_23, 20, -1, 0},
00127 /* 24 */ { 4, s_2_24, 20, -1, 0},
00128 /* 25 */ { 4, s_2_25, 20, -1, 0},
00129 /* 26 */ { 3, s_2_26, 20, -1, 0},
00130 /* 27 */ { 2, s_2_27, -1, -1, 0},
00131 /* 28 */ { 2, s_2_28, -1, -1, 0},
00132 /* 29 */ { 2, s_2_29, -1, -1, 0},
00133 /* 30 */ { 2, s_2_30, -1, -1, 0},
00134 /* 31 */ { 2, s_2_31, -1, -1, 0},
00135 /* 32 */ { 4, s_2_32, 31, -1, 0},
00136 /* 33 */ { 6, s_2_33, 31, -1, 0},
00137 /* 34 */ { 4, s_2_34, 31, -1, 0},
00138 /* 35 */ { 4, s_2_35, 31, -1, 0},
00139 /* 36 */ { 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 /*  0 */ { 4, s_3_0, -1, 1, 0},
00151 /*  1 */ { 4, s_3_1, -1, 1, 0},
00152 /*  2 */ { 2, s_3_2, -1, 2, 0},
00153 /*  3 */ { 2, s_3_3, -1, 2, 0},
00154 /*  4 */ { 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 /*  0 */ { 2, s_4_0, -1, -1, 0},
00165 /*  1 */ { 4, s_4_1, -1, -1, 0},
00166 /*  2 */ { 2, s_4_2, -1, -1, 0},
00167 /*  3 */ { 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 /*  0 */ { 2, s_5_0, -1, 1, 0},
00177 /*  1 */ { 4, s_5_1, -1, 1, 0},
00178 /*  2 */ { 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 /*  0 */ { 3, s_6_0, -1, 1, 0},
00236 /*  1 */ { 5, s_6_1, -1, 3, 0},
00237 /*  2 */ { 3, s_6_2, -1, 1, 0},
00238 /*  3 */ { 4, s_6_3, -1, 1, 0},
00239 /*  4 */ { 3, s_6_4, -1, 9, 0},
00240 /*  5 */ { 4, s_6_5, -1, 1, 0},
00241 /*  6 */ { 4, s_6_6, -1, 5, 0},
00242 /*  7 */ { 3, s_6_7, -1, 1, 0},
00243 /*  8 */ { 6, s_6_8, 7, 1, 0},
00244 /*  9 */ { 4, s_6_9, -1, 1, 0},
00245 /* 10 */ { 5, s_6_10, -1, 3, 0},
00246 /* 11 */ { 5, s_6_11, -1, 1, 0},
00247 /* 12 */ { 5, s_6_12, -1, 1, 0},
00248 /* 13 */ { 6, s_6_13, -1, 4, 0},
00249 /* 14 */ { 6, s_6_14, -1, 2, 0},
00250 /* 15 */ { 6, s_6_15, -1, 4, 0},
00251 /* 16 */ { 5, s_6_16, -1, 2, 0},
00252 /* 17 */ { 3, s_6_17, -1, 1, 0},
00253 /* 18 */ { 4, s_6_18, -1, 1, 0},
00254 /* 19 */ { 5, s_6_19, -1, 1, 0},
00255 /* 20 */ { 6, s_6_20, 19, 7, 0},
00256 /* 21 */ { 4, s_6_21, -1, 1, 0},
00257 /* 22 */ { 3, s_6_22, -1, 9, 0},
00258 /* 23 */ { 4, s_6_23, -1, 1, 0},
00259 /* 24 */ { 4, s_6_24, -1, 5, 0},
00260 /* 25 */ { 3, s_6_25, -1, 1, 0},
00261 /* 26 */ { 6, s_6_26, 25, 1, 0},
00262 /* 27 */ { 4, s_6_27, -1, 1, 0},
00263 /* 28 */ { 5, s_6_28, -1, 1, 0},
00264 /* 29 */ { 5, s_6_29, -1, 1, 0},
00265 /* 30 */ { 4, s_6_30, -1, 1, 0},
00266 /* 31 */ { 6, s_6_31, -1, 4, 0},
00267 /* 32 */ { 6, s_6_32, -1, 2, 0},
00268 /* 33 */ { 6, s_6_33, -1, 4, 0},
00269 /* 34 */ { 5, s_6_34, -1, 2, 0},
00270 /* 35 */ { 3, s_6_35, -1, 1, 0},
00271 /* 36 */ { 4, s_6_36, -1, 1, 0},
00272 /* 37 */ { 6, s_6_37, -1, 6, 0},
00273 /* 38 */ { 6, s_6_38, -1, 6, 0},
00274 /* 39 */ { 4, s_6_39, -1, 1, 0},
00275 /* 40 */ { 3, s_6_40, -1, 9, 0},
00276 /* 41 */ { 3, s_6_41, -1, 1, 0},
00277 /* 42 */ { 4, s_6_42, -1, 1, 0},
00278 /* 43 */ { 3, s_6_43, -1, 1, 0},
00279 /* 44 */ { 6, s_6_44, -1, 6, 0},
00280 /* 45 */ { 6, s_6_45, -1, 6, 0},
00281 /* 46 */ { 3, s_6_46, -1, 9, 0},
00282 /* 47 */ { 3, s_6_47, -1, 8, 0},
00283 /* 48 */ { 4, s_6_48, -1, 1, 0},
00284 /* 49 */ { 4, s_6_49, -1, 1, 0},
00285 /* 50 */ { 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 /*  0 */ { 4, s_7_0, -1, 1, 0},
00379 /*  1 */ { 4, s_7_1, -1, 1, 0},
00380 /*  2 */ { 3, s_7_2, -1, 1, 0},
00381 /*  3 */ { 3, s_7_3, -1, 1, 0},
00382 /*  4 */ { 3, s_7_4, -1, 1, 0},
00383 /*  5 */ { 3, s_7_5, -1, 1, 0},
00384 /*  6 */ { 3, s_7_6, -1, 1, 0},
00385 /*  7 */ { 3, s_7_7, -1, 1, 0},
00386 /*  8 */ { 6, s_7_8, -1, 1, 0},
00387 /*  9 */ { 6, s_7_9, -1, 1, 0},
00388 /* 10 */ { 4, s_7_10, -1, 1, 0},
00389 /* 11 */ { 4, s_7_11, -1, 1, 0},
00390 /* 12 */ { 3, s_7_12, -1, 1, 0},
00391 /* 13 */ { 3, s_7_13, -1, 1, 0},
00392 /* 14 */ { 3, s_7_14, -1, 1, 0},
00393 /* 15 */ { 4, s_7_15, -1, 1, 0},
00394 /* 16 */ { 3, s_7_16, -1, 1, 0},
00395 /* 17 */ { 5, s_7_17, 16, 1, 0},
00396 /* 18 */ { 5, s_7_18, 16, 1, 0},
00397 /* 19 */ { 5, s_7_19, 16, 1, 0},
00398 /* 20 */ { 3, s_7_20, -1, 1, 0},
00399 /* 21 */ { 5, s_7_21, 20, 1, 0},
00400 /* 22 */ { 5, s_7_22, 20, 1, 0},
00401 /* 23 */ { 3, s_7_23, -1, 1, 0},
00402 /* 24 */ { 6, s_7_24, -1, 1, 0},
00403 /* 25 */ { 6, s_7_25, -1, 1, 0},
00404 /* 26 */ { 3, s_7_26, -1, 1, 0},
00405 /* 27 */ { 4, s_7_27, -1, 1, 0},
00406 /* 28 */ { 4, s_7_28, -1, 1, 0},
00407 /* 29 */ { 4, s_7_29, -1, 1, 0},
00408 /* 30 */ { 4, s_7_30, -1, 1, 0},
00409 /* 31 */ { 4, s_7_31, -1, 1, 0},
00410 /* 32 */ { 4, s_7_32, -1, 1, 0},
00411 /* 33 */ { 4, s_7_33, -1, 1, 0},
00412 /* 34 */ { 3, s_7_34, -1, 1, 0},
00413 /* 35 */ { 3, s_7_35, -1, 1, 0},
00414 /* 36 */ { 6, s_7_36, -1, 1, 0},
00415 /* 37 */ { 6, s_7_37, -1, 1, 0},
00416 /* 38 */ { 3, s_7_38, -1, 1, 0},
00417 /* 39 */ { 3, s_7_39, -1, 1, 0},
00418 /* 40 */ { 3, s_7_40, -1, 1, 0},
00419 /* 41 */ { 3, s_7_41, -1, 1, 0},
00420 /* 42 */ { 4, s_7_42, -1, 1, 0},
00421 /* 43 */ { 4, s_7_43, -1, 1, 0},
00422 /* 44 */ { 4, s_7_44, -1, 1, 0},
00423 /* 45 */ { 4, s_7_45, -1, 1, 0},
00424 /* 46 */ { 4, s_7_46, -1, 1, 0},
00425 /* 47 */ { 5, s_7_47, -1, 1, 0},
00426 /* 48 */ { 5, s_7_48, -1, 1, 0},
00427 /* 49 */ { 5, s_7_49, -1, 1, 0},
00428 /* 50 */ { 5, s_7_50, -1, 1, 0},
00429 /* 51 */ { 5, s_7_51, -1, 1, 0},
00430 /* 52 */ { 6, s_7_52, -1, 1, 0},
00431 /* 53 */ { 4, s_7_53, -1, 1, 0},
00432 /* 54 */ { 4, s_7_54, -1, 1, 0},
00433 /* 55 */ { 6, s_7_55, 54, 1, 0},
00434 /* 56 */ { 6, s_7_56, 54, 1, 0},
00435 /* 57 */ { 4, s_7_57, -1, 1, 0},
00436 /* 58 */ { 3, s_7_58, -1, 1, 0},
00437 /* 59 */ { 6, s_7_59, 58, 1, 0},
00438 /* 60 */ { 5, s_7_60, 58, 1, 0},
00439 /* 61 */ { 5, s_7_61, 58, 1, 0},
00440 /* 62 */ { 5, s_7_62, 58, 1, 0},
00441 /* 63 */ { 6, s_7_63, -1, 1, 0},
00442 /* 64 */ { 6, s_7_64, -1, 1, 0},
00443 /* 65 */ { 3, s_7_65, -1, 1, 0},
00444 /* 66 */ { 6, s_7_66, 65, 1, 0},
00445 /* 67 */ { 5, s_7_67, 65, 1, 0},
00446 /* 68 */ { 5, s_7_68, 65, 1, 0},
00447 /* 69 */ { 5, s_7_69, 65, 1, 0},
00448 /* 70 */ { 8, s_7_70, -1, 1, 0},
00449 /* 71 */ { 8, s_7_71, -1, 1, 0},
00450 /* 72 */ { 6, s_7_72, -1, 1, 0},
00451 /* 73 */ { 6, s_7_73, -1, 1, 0},
00452 /* 74 */ { 6, s_7_74, -1, 1, 0},
00453 /* 75 */ { 3, s_7_75, -1, 1, 0},
00454 /* 76 */ { 3, s_7_76, -1, 1, 0},
00455 /* 77 */ { 3, s_7_77, -1, 1, 0},
00456 /* 78 */ { 3, s_7_78, -1, 1, 0},
00457 /* 79 */ { 3, s_7_79, -1, 1, 0},
00458 /* 80 */ { 3, s_7_80, -1, 1, 0},
00459 /* 81 */ { 2, s_7_81, -1, 1, 0},
00460 /* 82 */ { 2, s_7_82, -1, 1, 0},
00461 /* 83 */ { 3, s_7_83, -1, 1, 0},
00462 /* 84 */ { 3, s_7_84, -1, 1, 0},
00463 /* 85 */ { 3, s_7_85, -1, 1, 0},
00464 /* 86 */ { 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; /* test, line 35 */
00499         while(1) { /* repeat, line 35 */
00500             int c1 = z->c;
00501             z->bra = z->c; /* [, line 36 */
00502             among_var = find_among(z, a_0, 7); /* substring, line 36 */
00503             if (!(among_var)) goto lab0;
00504             z->ket = z->c; /* ], line 36 */
00505             switch(among_var) {
00506                 case 0: goto lab0;
00507                 case 1:
00508                     {   int ret = slice_from_s(z, 1, s_0); /* <-, line 37 */
00509                         if (ret < 0) return ret;
00510                     }
00511                     break;
00512                 case 2:
00513                     {   int ret = slice_from_s(z, 1, s_1); /* <-, line 38 */
00514                         if (ret < 0) return ret;
00515                     }
00516                     break;
00517                 case 3:
00518                     {   int ret = slice_from_s(z, 1, s_2); /* <-, line 39 */
00519                         if (ret < 0) return ret;
00520                     }
00521                     break;
00522                 case 4:
00523                     {   int ret = slice_from_s(z, 1, s_3); /* <-, line 40 */
00524                         if (ret < 0) return ret;
00525                     }
00526                     break;
00527                 case 5:
00528                     {   int ret = slice_from_s(z, 1, s_4); /* <-, line 41 */
00529                         if (ret < 0) return ret;
00530                     }
00531                     break;
00532                 case 6:
00533                     {   int ret = slice_from_s(z, 2, s_5); /* <-, line 42 */
00534                         if (ret < 0) return ret;
00535                     }
00536                     break;
00537                 case 7:
00538                     if (z->c >= z->l) goto lab0;
00539                     z->c++; /* next, line 43 */
00540                     break;
00541             }
00542             continue;
00543         lab0:
00544             z->c = c1;
00545             break;
00546         }
00547         z->c = c_test;
00548     }
00549     while(1) { /* repeat, line 46 */
00550         int c2 = z->c;
00551         while(1) { /* goto, line 46 */
00552             int c3 = z->c;
00553             if (in_grouping(z, g_v, 97, 249, 0)) goto lab2;
00554             z->bra = z->c; /* [, line 47 */
00555             {   int c4 = z->c; /* or, line 47 */
00556                 if (!(eq_s(z, 1, s_6))) goto lab4;
00557                 z->ket = z->c; /* ], line 47 */
00558                 if (in_grouping(z, g_v, 97, 249, 0)) goto lab4;
00559                 {   int ret = slice_from_s(z, 1, s_7); /* <-, line 47 */
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; /* ], line 48 */
00567                 if (in_grouping(z, g_v, 97, 249, 0)) goto lab2;
00568                 {   int ret = slice_from_s(z, 1, s_9); /* <-, line 48 */
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++; /* goto, line 46 */
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; /* do, line 58 */
00593         {   int c2 = z->c; /* or, line 60 */
00594             if (in_grouping(z, g_v, 97, 249, 0)) goto lab2;
00595             {   int c3 = z->c; /* or, line 59 */
00596                 if (out_grouping(z, g_v, 97, 249, 0)) goto lab4;
00597                 {    /* gopast */ /* grouping v, line 59 */
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                 {    /* gopast */ /* non v, line 59 */
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; /* or, line 61 */
00618                 if (out_grouping(z, g_v, 97, 249, 0)) goto lab6;
00619                 {    /* gopast */ /* grouping v, line 61 */
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++; /* next, line 61 */
00630             }
00631         lab5:
00632             ;
00633         }
00634     lab1:
00635         z->I[0] = z->c; /* setmark pV, line 62 */
00636     lab0:
00637         z->c = c1;
00638     }
00639     {   int c5 = z->c; /* do, line 64 */
00640         {    /* gopast */ /* grouping v, line 65 */
00641             int ret = out_grouping(z, g_v, 97, 249, 1);
00642             if (ret < 0) goto lab7;
00643             z->c += ret;
00644         }
00645         {    /* gopast */ /* non v, line 65 */
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; /* setmark p1, line 65 */
00651         {    /* gopast */ /* grouping v, line 66 */
00652             int ret = out_grouping(z, g_v, 97, 249, 1);
00653             if (ret < 0) goto lab7;
00654             z->c += ret;
00655         }
00656         {    /* gopast */ /* non v, line 66 */
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; /* setmark p2, line 66 */
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) { /* repeat, line 70 */
00671         int c1 = z->c;
00672         z->bra = z->c; /* [, line 72 */
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); /* substring, line 72 */
00675         if (!(among_var)) goto lab0;
00676         z->ket = z->c; /* ], line 72 */
00677         switch(among_var) {
00678             case 0: goto lab0;
00679             case 1:
00680                 {   int ret = slice_from_s(z, 1, s_10); /* <-, line 73 */
00681                     if (ret < 0) return ret;
00682                 }
00683                 break;
00684             case 2:
00685                 {   int ret = slice_from_s(z, 1, s_11); /* <-, line 74 */
00686                     if (ret < 0) return ret;
00687                 }
00688                 break;
00689             case 3:
00690                 if (z->c >= z->l) goto lab0;
00691                 z->c++; /* next, line 75 */
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; /* [, line 87 */
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; /* substring, line 87 */
00722     z->bra = z->c; /* ], line 87 */
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); /* among, line 97 */
00725     if (!(among_var)) return 0;
00726     {   int ret = r_RV(z);
00727         if (ret == 0) return 0; /* call RV, line 97 */
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); /* delete, line 98 */
00734                 if (ret < 0) return ret;
00735             }
00736             break;
00737         case 2:
00738             {   int ret = slice_from_s(z, 1, s_12); /* <-, line 99 */
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; /* [, line 104 */
00749     among_var = find_among_b(z, a_6, 51); /* substring, line 104 */
00750     if (!(among_var)) return 0;
00751     z->bra = z->c; /* ], line 104 */
00752     switch(among_var) {
00753         case 0: return 0;
00754         case 1:
00755             {   int ret = r_R2(z);
00756                 if (ret == 0) return 0; /* call R2, line 111 */
00757                 if (ret < 0) return ret;
00758             }
00759             {   int ret = slice_del(z); /* delete, line 111 */
00760                 if (ret < 0) return ret;
00761             }
00762             break;
00763         case 2:
00764             {   int ret = r_R2(z);
00765                 if (ret == 0) return 0; /* call R2, line 113 */
00766                 if (ret < 0) return ret;
00767             }
00768             {   int ret = slice_del(z); /* delete, line 113 */
00769                 if (ret < 0) return ret;
00770             }
00771             {   int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 114 */
00772                 z->ket = z->c; /* [, line 114 */
00773                 if (!(eq_s_b(z, 2, s_13))) { z->c = z->l - m_keep; goto lab0; }
00774                 z->bra = z->c; /* ], line 114 */
00775                 {   int ret = r_R2(z);
00776                     if (ret == 0) { z->c = z->l - m_keep; goto lab0; } /* call R2, line 114 */
00777                     if (ret < 0) return ret;
00778                 }
00779                 {   int ret = slice_del(z); /* delete, line 114 */
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; /* call R2, line 117 */
00789                 if (ret < 0) return ret;
00790             }
00791             {   int ret = slice_from_s(z, 3, s_14); /* <-, line 117 */
00792                 if (ret < 0) return ret;
00793             }
00794             break;
00795         case 4:
00796             {   int ret = r_R2(z);
00797                 if (ret == 0) return 0; /* call R2, line 119 */
00798                 if (ret < 0) return ret;
00799             }
00800             {   int ret = slice_from_s(z, 1, s_15); /* <-, line 119 */
00801                 if (ret < 0) return ret;
00802             }
00803             break;
00804         case 5:
00805             {   int ret = r_R2(z);
00806                 if (ret == 0) return 0; /* call R2, line 121 */
00807                 if (ret < 0) return ret;
00808             }
00809             {   int ret = slice_from_s(z, 4, s_16); /* <-, line 121 */
00810                 if (ret < 0) return ret;
00811             }
00812             break;
00813         case 6:
00814             {   int ret = r_RV(z);
00815                 if (ret == 0) return 0; /* call RV, line 123 */
00816                 if (ret < 0) return ret;
00817             }
00818             {   int ret = slice_del(z); /* delete, line 123 */
00819                 if (ret < 0) return ret;
00820             }
00821             break;
00822         case 7:
00823             {   int ret = r_R1(z);
00824                 if (ret == 0) return 0; /* call R1, line 125 */
00825                 if (ret < 0) return ret;
00826             }
00827             {   int ret = slice_del(z); /* delete, line 125 */
00828                 if (ret < 0) return ret;
00829             }
00830             {   int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 126 */
00831                 z->ket = z->c; /* [, line 127 */
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); /* substring, line 127 */
00834                 if (!(among_var)) { z->c = z->l - m_keep; goto lab1; }
00835                 z->bra = z->c; /* ], line 127 */
00836                 {   int ret = r_R2(z);
00837                     if (ret == 0) { z->c = z->l - m_keep; goto lab1; } /* call R2, line 127 */
00838                     if (ret < 0) return ret;
00839                 }
00840                 {   int ret = slice_del(z); /* delete, line 127 */
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; /* [, line 128 */
00847                         if (!(eq_s_b(z, 2, s_17))) { z->c = z->l - m_keep; goto lab1; }
00848                         z->bra = z->c; /* ], line 128 */
00849                         {   int ret = r_R2(z);
00850                             if (ret == 0) { z->c = z->l - m_keep; goto lab1; } /* call R2, line 128 */
00851                             if (ret < 0) return ret;
00852                         }
00853                         {   int ret = slice_del(z); /* delete, line 128 */
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; /* call R2, line 134 */
00865                 if (ret < 0) return ret;
00866             }
00867             {   int ret = slice_del(z); /* delete, line 134 */
00868                 if (ret < 0) return ret;
00869             }
00870             {   int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 135 */
00871                 z->ket = z->c; /* [, line 136 */
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); /* substring, line 136 */
00874                 if (!(among_var)) { z->c = z->l - m_keep; goto lab2; }
00875                 z->bra = z->c; /* ], line 136 */
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; } /* call R2, line 137 */
00881                             if (ret < 0) return ret;
00882                         }
00883                         {   int ret = slice_del(z); /* delete, line 137 */
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; /* call R2, line 142 */
00895                 if (ret < 0) return ret;
00896             }
00897             {   int ret = slice_del(z); /* delete, line 142 */
00898                 if (ret < 0) return ret;
00899             }
00900             {   int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 143 */
00901                 z->ket = z->c; /* [, line 143 */
00902                 if (!(eq_s_b(z, 2, s_18))) { z->c = z->l - m_keep; goto lab3; }
00903                 z->bra = z->c; /* ], line 143 */
00904                 {   int ret = r_R2(z);
00905                     if (ret == 0) { z->c = z->l - m_keep; goto lab3; } /* call R2, line 143 */
00906                     if (ret < 0) return ret;
00907                 }
00908                 {   int ret = slice_del(z); /* delete, line 143 */
00909                     if (ret < 0) return ret;
00910                 }
00911                 z->ket = z->c; /* [, line 143 */
00912                 if (!(eq_s_b(z, 2, s_19))) { z->c = z->l - m_keep; goto lab3; }
00913                 z->bra = z->c; /* ], line 143 */
00914                 {   int ret = r_R2(z);
00915                     if (ret == 0) { z->c = z->l - m_keep; goto lab3; } /* call R2, line 143 */
00916                     if (ret < 0) return ret;
00917                 }
00918                 {   int ret = slice_del(z); /* delete, line 143 */
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; /* setlimit, line 148 */
00932         int m1 = z->l - z->c; (void)m1;
00933         if (z->c < z->I[0]) return 0;
00934         z->c = z->I[0]; /* tomark, line 148 */
00935         mlimit = z->lb; z->lb = z->c;
00936         z->c = z->l - m1;
00937         z->ket = z->c; /* [, line 149 */
00938         among_var = find_among_b(z, a_7, 87); /* substring, line 149 */
00939         if (!(among_var)) { z->lb = mlimit; return 0; }
00940         z->bra = z->c; /* ], line 149 */
00941         switch(among_var) {
00942             case 0: { z->lb = mlimit; return 0; }
00943             case 1:
00944                 {   int ret = slice_del(z); /* delete, line 163 */
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;/* (void) m_keep;*/ /* try, line 171 */
00956         z->ket = z->c; /* [, line 172 */
00957         if (in_grouping_b(z, g_AEIO, 97, 242, 0)) { z->c = z->l - m_keep; goto lab0; }
00958         z->bra = z->c; /* ], line 172 */
00959         {   int ret = r_RV(z);
00960             if (ret == 0) { z->c = z->l - m_keep; goto lab0; } /* call RV, line 172 */
00961             if (ret < 0) return ret;
00962         }
00963         {   int ret = slice_del(z); /* delete, line 172 */
00964             if (ret < 0) return ret;
00965         }
00966         z->ket = z->c; /* [, line 173 */
00967         if (!(eq_s_b(z, 1, s_20))) { z->c = z->l - m_keep; goto lab0; }
00968         z->bra = z->c; /* ], line 173 */
00969         {   int ret = r_RV(z);
00970             if (ret == 0) { z->c = z->l - m_keep; goto lab0; } /* call RV, line 173 */
00971             if (ret < 0) return ret;
00972         }
00973         {   int ret = slice_del(z); /* delete, line 173 */
00974             if (ret < 0) return ret;
00975         }
00976     lab0:
00977         ;
00978     }
00979     {   int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 175 */
00980         z->ket = z->c; /* [, line 176 */
00981         if (!(eq_s_b(z, 1, s_21))) { z->c = z->l - m_keep; goto lab1; }
00982         z->bra = z->c; /* ], line 176 */
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; } /* call RV, line 176 */
00986             if (ret < 0) return ret;
00987         }
00988         {   int ret = slice_del(z); /* delete, line 176 */
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; /* do, line 182 */
00999         {   int ret = r_prelude(z);
01000             if (ret == 0) goto lab0; /* call prelude, line 182 */
01001             if (ret < 0) return ret;
01002         }
01003     lab0:
01004         z->c = c1;
01005     }
01006     {   int c2 = z->c; /* do, line 183 */
01007         {   int ret = r_mark_regions(z);
01008             if (ret == 0) goto lab1; /* call mark_regions, line 183 */
01009             if (ret < 0) return ret;
01010         }
01011     lab1:
01012         z->c = c2;
01013     }
01014     z->lb = z->c; z->c = z->l; /* backwards, line 184 */
01015 
01016     {   int m3 = z->l - z->c; (void)m3; /* do, line 185 */
01017         {   int ret = r_attached_pronoun(z);
01018             if (ret == 0) goto lab2; /* call attached_pronoun, line 185 */
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; /* do, line 186 */
01025         {   int m5 = z->l - z->c; (void)m5; /* or, line 186 */
01026             {   int ret = r_standard_suffix(z);
01027                 if (ret == 0) goto lab5; /* call standard_suffix, line 186 */
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; /* call verb_suffix, line 186 */
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; /* do, line 187 */
01043         {   int ret = r_vowel_suffix(z);
01044             if (ret == 0) goto lab6; /* call vowel_suffix, line 187 */
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; /* do, line 189 */
01052         {   int ret = r_postlude(z);
01053             if (ret == 0) goto lab7; /* call postlude, line 189 */
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