Header And Logo

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

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