Header And Logo

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

stem_ISO_8859_1_french.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 french_ISO_8859_1_stem(struct SN_env * z);
00010 #ifdef __cplusplus
00011 }
00012 #endif
00013 static int r_un_accent(struct SN_env * z);
00014 static int r_un_double(struct SN_env * z);
00015 static int r_residual_suffix(struct SN_env * z);
00016 static int r_verb_suffix(struct SN_env * z);
00017 static int r_i_verb_suffix(struct SN_env * z);
00018 static int r_standard_suffix(struct SN_env * z);
00019 static int r_R2(struct SN_env * z);
00020 static int r_R1(struct SN_env * z);
00021 static int r_RV(struct SN_env * z);
00022 static int r_mark_regions(struct SN_env * z);
00023 static int r_postlude(struct SN_env * z);
00024 static int r_prelude(struct SN_env * z);
00025 #ifdef __cplusplus
00026 extern "C" {
00027 #endif
00028 
00029 
00030 extern struct SN_env * french_ISO_8859_1_create_env(void);
00031 extern void french_ISO_8859_1_close_env(struct SN_env * z);
00032 
00033 
00034 #ifdef __cplusplus
00035 }
00036 #endif
00037 static const symbol s_0_0[3] = { 'c', 'o', 'l' };
00038 static const symbol s_0_1[3] = { 'p', 'a', 'r' };
00039 static const symbol s_0_2[3] = { 't', 'a', 'p' };
00040 
00041 static const struct among a_0[3] =
00042 {
00043 /*  0 */ { 3, s_0_0, -1, -1, 0},
00044 /*  1 */ { 3, s_0_1, -1, -1, 0},
00045 /*  2 */ { 3, s_0_2, -1, -1, 0}
00046 };
00047 
00048 static const symbol s_1_1[1] = { 'I' };
00049 static const symbol s_1_2[1] = { 'U' };
00050 static const symbol s_1_3[1] = { 'Y' };
00051 
00052 static const struct among a_1[4] =
00053 {
00054 /*  0 */ { 0, 0, -1, 4, 0},
00055 /*  1 */ { 1, s_1_1, 0, 1, 0},
00056 /*  2 */ { 1, s_1_2, 0, 2, 0},
00057 /*  3 */ { 1, s_1_3, 0, 3, 0}
00058 };
00059 
00060 static const symbol s_2_0[3] = { 'i', 'q', 'U' };
00061 static const symbol s_2_1[3] = { 'a', 'b', 'l' };
00062 static const symbol s_2_2[3] = { 'I', 0xE8, 'r' };
00063 static const symbol s_2_3[3] = { 'i', 0xE8, 'r' };
00064 static const symbol s_2_4[3] = { 'e', 'u', 's' };
00065 static const symbol s_2_5[2] = { 'i', 'v' };
00066 
00067 static const struct among a_2[6] =
00068 {
00069 /*  0 */ { 3, s_2_0, -1, 3, 0},
00070 /*  1 */ { 3, s_2_1, -1, 3, 0},
00071 /*  2 */ { 3, s_2_2, -1, 4, 0},
00072 /*  3 */ { 3, s_2_3, -1, 4, 0},
00073 /*  4 */ { 3, s_2_4, -1, 2, 0},
00074 /*  5 */ { 2, s_2_5, -1, 1, 0}
00075 };
00076 
00077 static const symbol s_3_0[2] = { 'i', 'c' };
00078 static const symbol s_3_1[4] = { 'a', 'b', 'i', 'l' };
00079 static const symbol s_3_2[2] = { 'i', 'v' };
00080 
00081 static const struct among a_3[3] =
00082 {
00083 /*  0 */ { 2, s_3_0, -1, 2, 0},
00084 /*  1 */ { 4, s_3_1, -1, 1, 0},
00085 /*  2 */ { 2, s_3_2, -1, 3, 0}
00086 };
00087 
00088 static const symbol s_4_0[4] = { 'i', 'q', 'U', 'e' };
00089 static const symbol s_4_1[6] = { 'a', 't', 'r', 'i', 'c', 'e' };
00090 static const symbol s_4_2[4] = { 'a', 'n', 'c', 'e' };
00091 static const symbol s_4_3[4] = { 'e', 'n', 'c', 'e' };
00092 static const symbol s_4_4[5] = { 'l', 'o', 'g', 'i', 'e' };
00093 static const symbol s_4_5[4] = { 'a', 'b', 'l', 'e' };
00094 static const symbol s_4_6[4] = { 'i', 's', 'm', 'e' };
00095 static const symbol s_4_7[4] = { 'e', 'u', 's', 'e' };
00096 static const symbol s_4_8[4] = { 'i', 's', 't', 'e' };
00097 static const symbol s_4_9[3] = { 'i', 'v', 'e' };
00098 static const symbol s_4_10[2] = { 'i', 'f' };
00099 static const symbol s_4_11[5] = { 'u', 's', 'i', 'o', 'n' };
00100 static const symbol s_4_12[5] = { 'a', 't', 'i', 'o', 'n' };
00101 static const symbol s_4_13[5] = { 'u', 't', 'i', 'o', 'n' };
00102 static const symbol s_4_14[5] = { 'a', 't', 'e', 'u', 'r' };
00103 static const symbol s_4_15[5] = { 'i', 'q', 'U', 'e', 's' };
00104 static const symbol s_4_16[7] = { 'a', 't', 'r', 'i', 'c', 'e', 's' };
00105 static const symbol s_4_17[5] = { 'a', 'n', 'c', 'e', 's' };
00106 static const symbol s_4_18[5] = { 'e', 'n', 'c', 'e', 's' };
00107 static const symbol s_4_19[6] = { 'l', 'o', 'g', 'i', 'e', 's' };
00108 static const symbol s_4_20[5] = { 'a', 'b', 'l', 'e', 's' };
00109 static const symbol s_4_21[5] = { 'i', 's', 'm', 'e', 's' };
00110 static const symbol s_4_22[5] = { 'e', 'u', 's', 'e', 's' };
00111 static const symbol s_4_23[5] = { 'i', 's', 't', 'e', 's' };
00112 static const symbol s_4_24[4] = { 'i', 'v', 'e', 's' };
00113 static const symbol s_4_25[3] = { 'i', 'f', 's' };
00114 static const symbol s_4_26[6] = { 'u', 's', 'i', 'o', 'n', 's' };
00115 static const symbol s_4_27[6] = { 'a', 't', 'i', 'o', 'n', 's' };
00116 static const symbol s_4_28[6] = { 'u', 't', 'i', 'o', 'n', 's' };
00117 static const symbol s_4_29[6] = { 'a', 't', 'e', 'u', 'r', 's' };
00118 static const symbol s_4_30[5] = { 'm', 'e', 'n', 't', 's' };
00119 static const symbol s_4_31[6] = { 'e', 'm', 'e', 'n', 't', 's' };
00120 static const symbol s_4_32[9] = { 'i', 's', 's', 'e', 'm', 'e', 'n', 't', 's' };
00121 static const symbol s_4_33[4] = { 'i', 't', 0xE9, 's' };
00122 static const symbol s_4_34[4] = { 'm', 'e', 'n', 't' };
00123 static const symbol s_4_35[5] = { 'e', 'm', 'e', 'n', 't' };
00124 static const symbol s_4_36[8] = { 'i', 's', 's', 'e', 'm', 'e', 'n', 't' };
00125 static const symbol s_4_37[6] = { 'a', 'm', 'm', 'e', 'n', 't' };
00126 static const symbol s_4_38[6] = { 'e', 'm', 'm', 'e', 'n', 't' };
00127 static const symbol s_4_39[3] = { 'a', 'u', 'x' };
00128 static const symbol s_4_40[4] = { 'e', 'a', 'u', 'x' };
00129 static const symbol s_4_41[3] = { 'e', 'u', 'x' };
00130 static const symbol s_4_42[3] = { 'i', 't', 0xE9 };
00131 
00132 static const struct among a_4[43] =
00133 {
00134 /*  0 */ { 4, s_4_0, -1, 1, 0},
00135 /*  1 */ { 6, s_4_1, -1, 2, 0},
00136 /*  2 */ { 4, s_4_2, -1, 1, 0},
00137 /*  3 */ { 4, s_4_3, -1, 5, 0},
00138 /*  4 */ { 5, s_4_4, -1, 3, 0},
00139 /*  5 */ { 4, s_4_5, -1, 1, 0},
00140 /*  6 */ { 4, s_4_6, -1, 1, 0},
00141 /*  7 */ { 4, s_4_7, -1, 11, 0},
00142 /*  8 */ { 4, s_4_8, -1, 1, 0},
00143 /*  9 */ { 3, s_4_9, -1, 8, 0},
00144 /* 10 */ { 2, s_4_10, -1, 8, 0},
00145 /* 11 */ { 5, s_4_11, -1, 4, 0},
00146 /* 12 */ { 5, s_4_12, -1, 2, 0},
00147 /* 13 */ { 5, s_4_13, -1, 4, 0},
00148 /* 14 */ { 5, s_4_14, -1, 2, 0},
00149 /* 15 */ { 5, s_4_15, -1, 1, 0},
00150 /* 16 */ { 7, s_4_16, -1, 2, 0},
00151 /* 17 */ { 5, s_4_17, -1, 1, 0},
00152 /* 18 */ { 5, s_4_18, -1, 5, 0},
00153 /* 19 */ { 6, s_4_19, -1, 3, 0},
00154 /* 20 */ { 5, s_4_20, -1, 1, 0},
00155 /* 21 */ { 5, s_4_21, -1, 1, 0},
00156 /* 22 */ { 5, s_4_22, -1, 11, 0},
00157 /* 23 */ { 5, s_4_23, -1, 1, 0},
00158 /* 24 */ { 4, s_4_24, -1, 8, 0},
00159 /* 25 */ { 3, s_4_25, -1, 8, 0},
00160 /* 26 */ { 6, s_4_26, -1, 4, 0},
00161 /* 27 */ { 6, s_4_27, -1, 2, 0},
00162 /* 28 */ { 6, s_4_28, -1, 4, 0},
00163 /* 29 */ { 6, s_4_29, -1, 2, 0},
00164 /* 30 */ { 5, s_4_30, -1, 15, 0},
00165 /* 31 */ { 6, s_4_31, 30, 6, 0},
00166 /* 32 */ { 9, s_4_32, 31, 12, 0},
00167 /* 33 */ { 4, s_4_33, -1, 7, 0},
00168 /* 34 */ { 4, s_4_34, -1, 15, 0},
00169 /* 35 */ { 5, s_4_35, 34, 6, 0},
00170 /* 36 */ { 8, s_4_36, 35, 12, 0},
00171 /* 37 */ { 6, s_4_37, 34, 13, 0},
00172 /* 38 */ { 6, s_4_38, 34, 14, 0},
00173 /* 39 */ { 3, s_4_39, -1, 10, 0},
00174 /* 40 */ { 4, s_4_40, 39, 9, 0},
00175 /* 41 */ { 3, s_4_41, -1, 1, 0},
00176 /* 42 */ { 3, s_4_42, -1, 7, 0}
00177 };
00178 
00179 static const symbol s_5_0[3] = { 'i', 'r', 'a' };
00180 static const symbol s_5_1[2] = { 'i', 'e' };
00181 static const symbol s_5_2[4] = { 'i', 's', 's', 'e' };
00182 static const symbol s_5_3[7] = { 'i', 's', 's', 'a', 'n', 't', 'e' };
00183 static const symbol s_5_4[1] = { 'i' };
00184 static const symbol s_5_5[4] = { 'i', 'r', 'a', 'i' };
00185 static const symbol s_5_6[2] = { 'i', 'r' };
00186 static const symbol s_5_7[4] = { 'i', 'r', 'a', 's' };
00187 static const symbol s_5_8[3] = { 'i', 'e', 's' };
00188 static const symbol s_5_9[4] = { 0xEE, 'm', 'e', 's' };
00189 static const symbol s_5_10[5] = { 'i', 's', 's', 'e', 's' };
00190 static const symbol s_5_11[8] = { 'i', 's', 's', 'a', 'n', 't', 'e', 's' };
00191 static const symbol s_5_12[4] = { 0xEE, 't', 'e', 's' };
00192 static const symbol s_5_13[2] = { 'i', 's' };
00193 static const symbol s_5_14[5] = { 'i', 'r', 'a', 'i', 's' };
00194 static const symbol s_5_15[6] = { 'i', 's', 's', 'a', 'i', 's' };
00195 static const symbol s_5_16[6] = { 'i', 'r', 'i', 'o', 'n', 's' };
00196 static const symbol s_5_17[7] = { 'i', 's', 's', 'i', 'o', 'n', 's' };
00197 static const symbol s_5_18[5] = { 'i', 'r', 'o', 'n', 's' };
00198 static const symbol s_5_19[6] = { 'i', 's', 's', 'o', 'n', 's' };
00199 static const symbol s_5_20[7] = { 'i', 's', 's', 'a', 'n', 't', 's' };
00200 static const symbol s_5_21[2] = { 'i', 't' };
00201 static const symbol s_5_22[5] = { 'i', 'r', 'a', 'i', 't' };
00202 static const symbol s_5_23[6] = { 'i', 's', 's', 'a', 'i', 't' };
00203 static const symbol s_5_24[6] = { 'i', 's', 's', 'a', 'n', 't' };
00204 static const symbol s_5_25[7] = { 'i', 'r', 'a', 'I', 'e', 'n', 't' };
00205 static const symbol s_5_26[8] = { 'i', 's', 's', 'a', 'I', 'e', 'n', 't' };
00206 static const symbol s_5_27[5] = { 'i', 'r', 'e', 'n', 't' };
00207 static const symbol s_5_28[6] = { 'i', 's', 's', 'e', 'n', 't' };
00208 static const symbol s_5_29[5] = { 'i', 'r', 'o', 'n', 't' };
00209 static const symbol s_5_30[2] = { 0xEE, 't' };
00210 static const symbol s_5_31[5] = { 'i', 'r', 'i', 'e', 'z' };
00211 static const symbol s_5_32[6] = { 'i', 's', 's', 'i', 'e', 'z' };
00212 static const symbol s_5_33[4] = { 'i', 'r', 'e', 'z' };
00213 static const symbol s_5_34[5] = { 'i', 's', 's', 'e', 'z' };
00214 
00215 static const struct among a_5[35] =
00216 {
00217 /*  0 */ { 3, s_5_0, -1, 1, 0},
00218 /*  1 */ { 2, s_5_1, -1, 1, 0},
00219 /*  2 */ { 4, s_5_2, -1, 1, 0},
00220 /*  3 */ { 7, s_5_3, -1, 1, 0},
00221 /*  4 */ { 1, s_5_4, -1, 1, 0},
00222 /*  5 */ { 4, s_5_5, 4, 1, 0},
00223 /*  6 */ { 2, s_5_6, -1, 1, 0},
00224 /*  7 */ { 4, s_5_7, -1, 1, 0},
00225 /*  8 */ { 3, s_5_8, -1, 1, 0},
00226 /*  9 */ { 4, s_5_9, -1, 1, 0},
00227 /* 10 */ { 5, s_5_10, -1, 1, 0},
00228 /* 11 */ { 8, s_5_11, -1, 1, 0},
00229 /* 12 */ { 4, s_5_12, -1, 1, 0},
00230 /* 13 */ { 2, s_5_13, -1, 1, 0},
00231 /* 14 */ { 5, s_5_14, 13, 1, 0},
00232 /* 15 */ { 6, s_5_15, 13, 1, 0},
00233 /* 16 */ { 6, s_5_16, -1, 1, 0},
00234 /* 17 */ { 7, s_5_17, -1, 1, 0},
00235 /* 18 */ { 5, s_5_18, -1, 1, 0},
00236 /* 19 */ { 6, s_5_19, -1, 1, 0},
00237 /* 20 */ { 7, s_5_20, -1, 1, 0},
00238 /* 21 */ { 2, s_5_21, -1, 1, 0},
00239 /* 22 */ { 5, s_5_22, 21, 1, 0},
00240 /* 23 */ { 6, s_5_23, 21, 1, 0},
00241 /* 24 */ { 6, s_5_24, -1, 1, 0},
00242 /* 25 */ { 7, s_5_25, -1, 1, 0},
00243 /* 26 */ { 8, s_5_26, -1, 1, 0},
00244 /* 27 */ { 5, s_5_27, -1, 1, 0},
00245 /* 28 */ { 6, s_5_28, -1, 1, 0},
00246 /* 29 */ { 5, s_5_29, -1, 1, 0},
00247 /* 30 */ { 2, s_5_30, -1, 1, 0},
00248 /* 31 */ { 5, s_5_31, -1, 1, 0},
00249 /* 32 */ { 6, s_5_32, -1, 1, 0},
00250 /* 33 */ { 4, s_5_33, -1, 1, 0},
00251 /* 34 */ { 5, s_5_34, -1, 1, 0}
00252 };
00253 
00254 static const symbol s_6_0[1] = { 'a' };
00255 static const symbol s_6_1[3] = { 'e', 'r', 'a' };
00256 static const symbol s_6_2[4] = { 'a', 's', 's', 'e' };
00257 static const symbol s_6_3[4] = { 'a', 'n', 't', 'e' };
00258 static const symbol s_6_4[2] = { 0xE9, 'e' };
00259 static const symbol s_6_5[2] = { 'a', 'i' };
00260 static const symbol s_6_6[4] = { 'e', 'r', 'a', 'i' };
00261 static const symbol s_6_7[2] = { 'e', 'r' };
00262 static const symbol s_6_8[2] = { 'a', 's' };
00263 static const symbol s_6_9[4] = { 'e', 'r', 'a', 's' };
00264 static const symbol s_6_10[4] = { 0xE2, 'm', 'e', 's' };
00265 static const symbol s_6_11[5] = { 'a', 's', 's', 'e', 's' };
00266 static const symbol s_6_12[5] = { 'a', 'n', 't', 'e', 's' };
00267 static const symbol s_6_13[4] = { 0xE2, 't', 'e', 's' };
00268 static const symbol s_6_14[3] = { 0xE9, 'e', 's' };
00269 static const symbol s_6_15[3] = { 'a', 'i', 's' };
00270 static const symbol s_6_16[5] = { 'e', 'r', 'a', 'i', 's' };
00271 static const symbol s_6_17[4] = { 'i', 'o', 'n', 's' };
00272 static const symbol s_6_18[6] = { 'e', 'r', 'i', 'o', 'n', 's' };
00273 static const symbol s_6_19[7] = { 'a', 's', 's', 'i', 'o', 'n', 's' };
00274 static const symbol s_6_20[5] = { 'e', 'r', 'o', 'n', 's' };
00275 static const symbol s_6_21[4] = { 'a', 'n', 't', 's' };
00276 static const symbol s_6_22[2] = { 0xE9, 's' };
00277 static const symbol s_6_23[3] = { 'a', 'i', 't' };
00278 static const symbol s_6_24[5] = { 'e', 'r', 'a', 'i', 't' };
00279 static const symbol s_6_25[3] = { 'a', 'n', 't' };
00280 static const symbol s_6_26[5] = { 'a', 'I', 'e', 'n', 't' };
00281 static const symbol s_6_27[7] = { 'e', 'r', 'a', 'I', 'e', 'n', 't' };
00282 static const symbol s_6_28[5] = { 0xE8, 'r', 'e', 'n', 't' };
00283 static const symbol s_6_29[6] = { 'a', 's', 's', 'e', 'n', 't' };
00284 static const symbol s_6_30[5] = { 'e', 'r', 'o', 'n', 't' };
00285 static const symbol s_6_31[2] = { 0xE2, 't' };
00286 static const symbol s_6_32[2] = { 'e', 'z' };
00287 static const symbol s_6_33[3] = { 'i', 'e', 'z' };
00288 static const symbol s_6_34[5] = { 'e', 'r', 'i', 'e', 'z' };
00289 static const symbol s_6_35[6] = { 'a', 's', 's', 'i', 'e', 'z' };
00290 static const symbol s_6_36[4] = { 'e', 'r', 'e', 'z' };
00291 static const symbol s_6_37[1] = { 0xE9 };
00292 
00293 static const struct among a_6[38] =
00294 {
00295 /*  0 */ { 1, s_6_0, -1, 3, 0},
00296 /*  1 */ { 3, s_6_1, 0, 2, 0},
00297 /*  2 */ { 4, s_6_2, -1, 3, 0},
00298 /*  3 */ { 4, s_6_3, -1, 3, 0},
00299 /*  4 */ { 2, s_6_4, -1, 2, 0},
00300 /*  5 */ { 2, s_6_5, -1, 3, 0},
00301 /*  6 */ { 4, s_6_6, 5, 2, 0},
00302 /*  7 */ { 2, s_6_7, -1, 2, 0},
00303 /*  8 */ { 2, s_6_8, -1, 3, 0},
00304 /*  9 */ { 4, s_6_9, 8, 2, 0},
00305 /* 10 */ { 4, s_6_10, -1, 3, 0},
00306 /* 11 */ { 5, s_6_11, -1, 3, 0},
00307 /* 12 */ { 5, s_6_12, -1, 3, 0},
00308 /* 13 */ { 4, s_6_13, -1, 3, 0},
00309 /* 14 */ { 3, s_6_14, -1, 2, 0},
00310 /* 15 */ { 3, s_6_15, -1, 3, 0},
00311 /* 16 */ { 5, s_6_16, 15, 2, 0},
00312 /* 17 */ { 4, s_6_17, -1, 1, 0},
00313 /* 18 */ { 6, s_6_18, 17, 2, 0},
00314 /* 19 */ { 7, s_6_19, 17, 3, 0},
00315 /* 20 */ { 5, s_6_20, -1, 2, 0},
00316 /* 21 */ { 4, s_6_21, -1, 3, 0},
00317 /* 22 */ { 2, s_6_22, -1, 2, 0},
00318 /* 23 */ { 3, s_6_23, -1, 3, 0},
00319 /* 24 */ { 5, s_6_24, 23, 2, 0},
00320 /* 25 */ { 3, s_6_25, -1, 3, 0},
00321 /* 26 */ { 5, s_6_26, -1, 3, 0},
00322 /* 27 */ { 7, s_6_27, 26, 2, 0},
00323 /* 28 */ { 5, s_6_28, -1, 2, 0},
00324 /* 29 */ { 6, s_6_29, -1, 3, 0},
00325 /* 30 */ { 5, s_6_30, -1, 2, 0},
00326 /* 31 */ { 2, s_6_31, -1, 3, 0},
00327 /* 32 */ { 2, s_6_32, -1, 2, 0},
00328 /* 33 */ { 3, s_6_33, 32, 2, 0},
00329 /* 34 */ { 5, s_6_34, 33, 2, 0},
00330 /* 35 */ { 6, s_6_35, 33, 3, 0},
00331 /* 36 */ { 4, s_6_36, 32, 2, 0},
00332 /* 37 */ { 1, s_6_37, -1, 2, 0}
00333 };
00334 
00335 static const symbol s_7_0[1] = { 'e' };
00336 static const symbol s_7_1[4] = { 'I', 0xE8, 'r', 'e' };
00337 static const symbol s_7_2[4] = { 'i', 0xE8, 'r', 'e' };
00338 static const symbol s_7_3[3] = { 'i', 'o', 'n' };
00339 static const symbol s_7_4[3] = { 'I', 'e', 'r' };
00340 static const symbol s_7_5[3] = { 'i', 'e', 'r' };
00341 static const symbol s_7_6[1] = { 0xEB };
00342 
00343 static const struct among a_7[7] =
00344 {
00345 /*  0 */ { 1, s_7_0, -1, 3, 0},
00346 /*  1 */ { 4, s_7_1, 0, 2, 0},
00347 /*  2 */ { 4, s_7_2, 0, 2, 0},
00348 /*  3 */ { 3, s_7_3, -1, 1, 0},
00349 /*  4 */ { 3, s_7_4, -1, 2, 0},
00350 /*  5 */ { 3, s_7_5, -1, 2, 0},
00351 /*  6 */ { 1, s_7_6, -1, 4, 0}
00352 };
00353 
00354 static const symbol s_8_0[3] = { 'e', 'l', 'l' };
00355 static const symbol s_8_1[4] = { 'e', 'i', 'l', 'l' };
00356 static const symbol s_8_2[3] = { 'e', 'n', 'n' };
00357 static const symbol s_8_3[3] = { 'o', 'n', 'n' };
00358 static const symbol s_8_4[3] = { 'e', 't', 't' };
00359 
00360 static const struct among a_8[5] =
00361 {
00362 /*  0 */ { 3, s_8_0, -1, -1, 0},
00363 /*  1 */ { 4, s_8_1, -1, -1, 0},
00364 /*  2 */ { 3, s_8_2, -1, -1, 0},
00365 /*  3 */ { 3, s_8_3, -1, -1, 0},
00366 /*  4 */ { 3, s_8_4, -1, -1, 0}
00367 };
00368 
00369 static const unsigned char g_v[] = { 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 130, 103, 8, 5 };
00370 
00371 static const unsigned char g_keep_with_s[] = { 1, 65, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 };
00372 
00373 static const symbol s_0[] = { 'u' };
00374 static const symbol s_1[] = { 'U' };
00375 static const symbol s_2[] = { 'i' };
00376 static const symbol s_3[] = { 'I' };
00377 static const symbol s_4[] = { 'y' };
00378 static const symbol s_5[] = { 'Y' };
00379 static const symbol s_6[] = { 'y' };
00380 static const symbol s_7[] = { 'Y' };
00381 static const symbol s_8[] = { 'q' };
00382 static const symbol s_9[] = { 'u' };
00383 static const symbol s_10[] = { 'U' };
00384 static const symbol s_11[] = { 'i' };
00385 static const symbol s_12[] = { 'u' };
00386 static const symbol s_13[] = { 'y' };
00387 static const symbol s_14[] = { 'i', 'c' };
00388 static const symbol s_15[] = { 'i', 'q', 'U' };
00389 static const symbol s_16[] = { 'l', 'o', 'g' };
00390 static const symbol s_17[] = { 'u' };
00391 static const symbol s_18[] = { 'e', 'n', 't' };
00392 static const symbol s_19[] = { 'a', 't' };
00393 static const symbol s_20[] = { 'e', 'u', 'x' };
00394 static const symbol s_21[] = { 'i' };
00395 static const symbol s_22[] = { 'a', 'b', 'l' };
00396 static const symbol s_23[] = { 'i', 'q', 'U' };
00397 static const symbol s_24[] = { 'a', 't' };
00398 static const symbol s_25[] = { 'i', 'c' };
00399 static const symbol s_26[] = { 'i', 'q', 'U' };
00400 static const symbol s_27[] = { 'e', 'a', 'u' };
00401 static const symbol s_28[] = { 'a', 'l' };
00402 static const symbol s_29[] = { 'e', 'u', 'x' };
00403 static const symbol s_30[] = { 'a', 'n', 't' };
00404 static const symbol s_31[] = { 'e', 'n', 't' };
00405 static const symbol s_32[] = { 'e' };
00406 static const symbol s_33[] = { 's' };
00407 static const symbol s_34[] = { 's' };
00408 static const symbol s_35[] = { 't' };
00409 static const symbol s_36[] = { 'i' };
00410 static const symbol s_37[] = { 'g', 'u' };
00411 static const symbol s_38[] = { 0xE9 };
00412 static const symbol s_39[] = { 0xE8 };
00413 static const symbol s_40[] = { 'e' };
00414 static const symbol s_41[] = { 'Y' };
00415 static const symbol s_42[] = { 'i' };
00416 static const symbol s_43[] = { 0xE7 };
00417 static const symbol s_44[] = { 'c' };
00418 
00419 static int r_prelude(struct SN_env * z) {
00420     while(1) { /* repeat, line 38 */
00421         int c1 = z->c;
00422         while(1) { /* goto, line 38 */
00423             int c2 = z->c;
00424             {   int c3 = z->c; /* or, line 44 */
00425                 if (in_grouping(z, g_v, 97, 251, 0)) goto lab3;
00426                 z->bra = z->c; /* [, line 40 */
00427                 {   int c4 = z->c; /* or, line 40 */
00428                     if (!(eq_s(z, 1, s_0))) goto lab5;
00429                     z->ket = z->c; /* ], line 40 */
00430                     if (in_grouping(z, g_v, 97, 251, 0)) goto lab5;
00431                     {   int ret = slice_from_s(z, 1, s_1); /* <-, line 40 */
00432                         if (ret < 0) return ret;
00433                     }
00434                     goto lab4;
00435                 lab5:
00436                     z->c = c4;
00437                     if (!(eq_s(z, 1, s_2))) goto lab6;
00438                     z->ket = z->c; /* ], line 41 */
00439                     if (in_grouping(z, g_v, 97, 251, 0)) goto lab6;
00440                     {   int ret = slice_from_s(z, 1, s_3); /* <-, line 41 */
00441                         if (ret < 0) return ret;
00442                     }
00443                     goto lab4;
00444                 lab6:
00445                     z->c = c4;
00446                     if (!(eq_s(z, 1, s_4))) goto lab3;
00447                     z->ket = z->c; /* ], line 42 */
00448                     {   int ret = slice_from_s(z, 1, s_5); /* <-, line 42 */
00449                         if (ret < 0) return ret;
00450                     }
00451                 }
00452             lab4:
00453                 goto lab2;
00454             lab3:
00455                 z->c = c3;
00456                 z->bra = z->c; /* [, line 45 */
00457                 if (!(eq_s(z, 1, s_6))) goto lab7;
00458                 z->ket = z->c; /* ], line 45 */
00459                 if (in_grouping(z, g_v, 97, 251, 0)) goto lab7;
00460                 {   int ret = slice_from_s(z, 1, s_7); /* <-, line 45 */
00461                     if (ret < 0) return ret;
00462                 }
00463                 goto lab2;
00464             lab7:
00465                 z->c = c3;
00466                 if (!(eq_s(z, 1, s_8))) goto lab1;
00467                 z->bra = z->c; /* [, line 47 */
00468                 if (!(eq_s(z, 1, s_9))) goto lab1;
00469                 z->ket = z->c; /* ], line 47 */
00470                 {   int ret = slice_from_s(z, 1, s_10); /* <-, line 47 */
00471                     if (ret < 0) return ret;
00472                 }
00473             }
00474         lab2:
00475             z->c = c2;
00476             break;
00477         lab1:
00478             z->c = c2;
00479             if (z->c >= z->l) goto lab0;
00480             z->c++; /* goto, line 38 */
00481         }
00482         continue;
00483     lab0:
00484         z->c = c1;
00485         break;
00486     }
00487     return 1;
00488 }
00489 
00490 static int r_mark_regions(struct SN_env * z) {
00491     z->I[0] = z->l;
00492     z->I[1] = z->l;
00493     z->I[2] = z->l;
00494     {   int c1 = z->c; /* do, line 56 */
00495         {   int c2 = z->c; /* or, line 58 */
00496             if (in_grouping(z, g_v, 97, 251, 0)) goto lab2;
00497             if (in_grouping(z, g_v, 97, 251, 0)) goto lab2;
00498             if (z->c >= z->l) goto lab2;
00499             z->c++; /* next, line 57 */
00500             goto lab1;
00501         lab2:
00502             z->c = c2;
00503             if (z->c + 2 >= z->l || z->p[z->c + 2] >> 5 != 3 || !((331776 >> (z->p[z->c + 2] & 0x1f)) & 1)) goto lab3;
00504             if (!(find_among(z, a_0, 3))) goto lab3; /* among, line 59 */
00505             goto lab1;
00506         lab3:
00507             z->c = c2;
00508             if (z->c >= z->l) goto lab0;
00509             z->c++; /* next, line 66 */
00510             {    /* gopast */ /* grouping v, line 66 */
00511                 int ret = out_grouping(z, g_v, 97, 251, 1);
00512                 if (ret < 0) goto lab0;
00513                 z->c += ret;
00514             }
00515         }
00516     lab1:
00517         z->I[0] = z->c; /* setmark pV, line 67 */
00518     lab0:
00519         z->c = c1;
00520     }
00521     {   int c3 = z->c; /* do, line 69 */
00522         {    /* gopast */ /* grouping v, line 70 */
00523             int ret = out_grouping(z, g_v, 97, 251, 1);
00524             if (ret < 0) goto lab4;
00525             z->c += ret;
00526         }
00527         {    /* gopast */ /* non v, line 70 */
00528             int ret = in_grouping(z, g_v, 97, 251, 1);
00529             if (ret < 0) goto lab4;
00530             z->c += ret;
00531         }
00532         z->I[1] = z->c; /* setmark p1, line 70 */
00533         {    /* gopast */ /* grouping v, line 71 */
00534             int ret = out_grouping(z, g_v, 97, 251, 1);
00535             if (ret < 0) goto lab4;
00536             z->c += ret;
00537         }
00538         {    /* gopast */ /* non v, line 71 */
00539             int ret = in_grouping(z, g_v, 97, 251, 1);
00540             if (ret < 0) goto lab4;
00541             z->c += ret;
00542         }
00543         z->I[2] = z->c; /* setmark p2, line 71 */
00544     lab4:
00545         z->c = c3;
00546     }
00547     return 1;
00548 }
00549 
00550 static int r_postlude(struct SN_env * z) {
00551     int among_var;
00552     while(1) { /* repeat, line 75 */
00553         int c1 = z->c;
00554         z->bra = z->c; /* [, line 77 */
00555         if (z->c >= z->l || z->p[z->c + 0] >> 5 != 2 || !((35652096 >> (z->p[z->c + 0] & 0x1f)) & 1)) among_var = 4; else
00556         among_var = find_among(z, a_1, 4); /* substring, line 77 */
00557         if (!(among_var)) goto lab0;
00558         z->ket = z->c; /* ], line 77 */
00559         switch(among_var) {
00560             case 0: goto lab0;
00561             case 1:
00562                 {   int ret = slice_from_s(z, 1, s_11); /* <-, line 78 */
00563                     if (ret < 0) return ret;
00564                 }
00565                 break;
00566             case 2:
00567                 {   int ret = slice_from_s(z, 1, s_12); /* <-, line 79 */
00568                     if (ret < 0) return ret;
00569                 }
00570                 break;
00571             case 3:
00572                 {   int ret = slice_from_s(z, 1, s_13); /* <-, line 80 */
00573                     if (ret < 0) return ret;
00574                 }
00575                 break;
00576             case 4:
00577                 if (z->c >= z->l) goto lab0;
00578                 z->c++; /* next, line 81 */
00579                 break;
00580         }
00581         continue;
00582     lab0:
00583         z->c = c1;
00584         break;
00585     }
00586     return 1;
00587 }
00588 
00589 static int r_RV(struct SN_env * z) {
00590     if (!(z->I[0] <= z->c)) return 0;
00591     return 1;
00592 }
00593 
00594 static int r_R1(struct SN_env * z) {
00595     if (!(z->I[1] <= z->c)) return 0;
00596     return 1;
00597 }
00598 
00599 static int r_R2(struct SN_env * z) {
00600     if (!(z->I[2] <= z->c)) return 0;
00601     return 1;
00602 }
00603 
00604 static int r_standard_suffix(struct SN_env * z) {
00605     int among_var;
00606     z->ket = z->c; /* [, line 92 */
00607     among_var = find_among_b(z, a_4, 43); /* substring, line 92 */
00608     if (!(among_var)) return 0;
00609     z->bra = z->c; /* ], line 92 */
00610     switch(among_var) {
00611         case 0: return 0;
00612         case 1:
00613             {   int ret = r_R2(z);
00614                 if (ret == 0) return 0; /* call R2, line 96 */
00615                 if (ret < 0) return ret;
00616             }
00617             {   int ret = slice_del(z); /* delete, line 96 */
00618                 if (ret < 0) return ret;
00619             }
00620             break;
00621         case 2:
00622             {   int ret = r_R2(z);
00623                 if (ret == 0) return 0; /* call R2, line 99 */
00624                 if (ret < 0) return ret;
00625             }
00626             {   int ret = slice_del(z); /* delete, line 99 */
00627                 if (ret < 0) return ret;
00628             }
00629             {   int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 100 */
00630                 z->ket = z->c; /* [, line 100 */
00631                 if (!(eq_s_b(z, 2, s_14))) { z->c = z->l - m_keep; goto lab0; }
00632                 z->bra = z->c; /* ], line 100 */
00633                 {   int m1 = z->l - z->c; (void)m1; /* or, line 100 */
00634                     {   int ret = r_R2(z);
00635                         if (ret == 0) goto lab2; /* call R2, line 100 */
00636                         if (ret < 0) return ret;
00637                     }
00638                     {   int ret = slice_del(z); /* delete, line 100 */
00639                         if (ret < 0) return ret;
00640                     }
00641                     goto lab1;
00642                 lab2:
00643                     z->c = z->l - m1;
00644                     {   int ret = slice_from_s(z, 3, s_15); /* <-, line 100 */
00645                         if (ret < 0) return ret;
00646                     }
00647                 }
00648             lab1:
00649             lab0:
00650                 ;
00651             }
00652             break;
00653         case 3:
00654             {   int ret = r_R2(z);
00655                 if (ret == 0) return 0; /* call R2, line 104 */
00656                 if (ret < 0) return ret;
00657             }
00658             {   int ret = slice_from_s(z, 3, s_16); /* <-, line 104 */
00659                 if (ret < 0) return ret;
00660             }
00661             break;
00662         case 4:
00663             {   int ret = r_R2(z);
00664                 if (ret == 0) return 0; /* call R2, line 107 */
00665                 if (ret < 0) return ret;
00666             }
00667             {   int ret = slice_from_s(z, 1, s_17); /* <-, line 107 */
00668                 if (ret < 0) return ret;
00669             }
00670             break;
00671         case 5:
00672             {   int ret = r_R2(z);
00673                 if (ret == 0) return 0; /* call R2, line 110 */
00674                 if (ret < 0) return ret;
00675             }
00676             {   int ret = slice_from_s(z, 3, s_18); /* <-, line 110 */
00677                 if (ret < 0) return ret;
00678             }
00679             break;
00680         case 6:
00681             {   int ret = r_RV(z);
00682                 if (ret == 0) return 0; /* call RV, line 114 */
00683                 if (ret < 0) return ret;
00684             }
00685             {   int ret = slice_del(z); /* delete, line 114 */
00686                 if (ret < 0) return ret;
00687             }
00688             {   int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 115 */
00689                 z->ket = z->c; /* [, line 116 */
00690                 among_var = find_among_b(z, a_2, 6); /* substring, line 116 */
00691                 if (!(among_var)) { z->c = z->l - m_keep; goto lab3; }
00692                 z->bra = z->c; /* ], line 116 */
00693                 switch(among_var) {
00694                     case 0: { z->c = z->l - m_keep; goto lab3; }
00695                     case 1:
00696                         {   int ret = r_R2(z);
00697                             if (ret == 0) { z->c = z->l - m_keep; goto lab3; } /* call R2, line 117 */
00698                             if (ret < 0) return ret;
00699                         }
00700                         {   int ret = slice_del(z); /* delete, line 117 */
00701                             if (ret < 0) return ret;
00702                         }
00703                         z->ket = z->c; /* [, line 117 */
00704                         if (!(eq_s_b(z, 2, s_19))) { z->c = z->l - m_keep; goto lab3; }
00705                         z->bra = z->c; /* ], line 117 */
00706                         {   int ret = r_R2(z);
00707                             if (ret == 0) { z->c = z->l - m_keep; goto lab3; } /* call R2, line 117 */
00708                             if (ret < 0) return ret;
00709                         }
00710                         {   int ret = slice_del(z); /* delete, line 117 */
00711                             if (ret < 0) return ret;
00712                         }
00713                         break;
00714                     case 2:
00715                         {   int m2 = z->l - z->c; (void)m2; /* or, line 118 */
00716                             {   int ret = r_R2(z);
00717                                 if (ret == 0) goto lab5; /* call R2, line 118 */
00718                                 if (ret < 0) return ret;
00719                             }
00720                             {   int ret = slice_del(z); /* delete, line 118 */
00721                                 if (ret < 0) return ret;
00722                             }
00723                             goto lab4;
00724                         lab5:
00725                             z->c = z->l - m2;
00726                             {   int ret = r_R1(z);
00727                                 if (ret == 0) { z->c = z->l - m_keep; goto lab3; } /* call R1, line 118 */
00728                                 if (ret < 0) return ret;
00729                             }
00730                             {   int ret = slice_from_s(z, 3, s_20); /* <-, line 118 */
00731                                 if (ret < 0) return ret;
00732                             }
00733                         }
00734                     lab4:
00735                         break;
00736                     case 3:
00737                         {   int ret = r_R2(z);
00738                             if (ret == 0) { z->c = z->l - m_keep; goto lab3; } /* call R2, line 120 */
00739                             if (ret < 0) return ret;
00740                         }
00741                         {   int ret = slice_del(z); /* delete, line 120 */
00742                             if (ret < 0) return ret;
00743                         }
00744                         break;
00745                     case 4:
00746                         {   int ret = r_RV(z);
00747                             if (ret == 0) { z->c = z->l - m_keep; goto lab3; } /* call RV, line 122 */
00748                             if (ret < 0) return ret;
00749                         }
00750                         {   int ret = slice_from_s(z, 1, s_21); /* <-, line 122 */
00751                             if (ret < 0) return ret;
00752                         }
00753                         break;
00754                 }
00755             lab3:
00756                 ;
00757             }
00758             break;
00759         case 7:
00760             {   int ret = r_R2(z);
00761                 if (ret == 0) return 0; /* call R2, line 129 */
00762                 if (ret < 0) return ret;
00763             }
00764             {   int ret = slice_del(z); /* delete, line 129 */
00765                 if (ret < 0) return ret;
00766             }
00767             {   int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 130 */
00768                 z->ket = z->c; /* [, line 131 */
00769                 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 lab6; }
00770                 among_var = find_among_b(z, a_3, 3); /* substring, line 131 */
00771                 if (!(among_var)) { z->c = z->l - m_keep; goto lab6; }
00772                 z->bra = z->c; /* ], line 131 */
00773                 switch(among_var) {
00774                     case 0: { z->c = z->l - m_keep; goto lab6; }
00775                     case 1:
00776                         {   int m3 = z->l - z->c; (void)m3; /* or, line 132 */
00777                             {   int ret = r_R2(z);
00778                                 if (ret == 0) goto lab8; /* call R2, line 132 */
00779                                 if (ret < 0) return ret;
00780                             }
00781                             {   int ret = slice_del(z); /* delete, line 132 */
00782                                 if (ret < 0) return ret;
00783                             }
00784                             goto lab7;
00785                         lab8:
00786                             z->c = z->l - m3;
00787                             {   int ret = slice_from_s(z, 3, s_22); /* <-, line 132 */
00788                                 if (ret < 0) return ret;
00789                             }
00790                         }
00791                     lab7:
00792                         break;
00793                     case 2:
00794                         {   int m4 = z->l - z->c; (void)m4; /* or, line 133 */
00795                             {   int ret = r_R2(z);
00796                                 if (ret == 0) goto lab10; /* call R2, line 133 */
00797                                 if (ret < 0) return ret;
00798                             }
00799                             {   int ret = slice_del(z); /* delete, line 133 */
00800                                 if (ret < 0) return ret;
00801                             }
00802                             goto lab9;
00803                         lab10:
00804                             z->c = z->l - m4;
00805                             {   int ret = slice_from_s(z, 3, s_23); /* <-, line 133 */
00806                                 if (ret < 0) return ret;
00807                             }
00808                         }
00809                     lab9:
00810                         break;
00811                     case 3:
00812                         {   int ret = r_R2(z);
00813                             if (ret == 0) { z->c = z->l - m_keep; goto lab6; } /* call R2, line 134 */
00814                             if (ret < 0) return ret;
00815                         }
00816                         {   int ret = slice_del(z); /* delete, line 134 */
00817                             if (ret < 0) return ret;
00818                         }
00819                         break;
00820                 }
00821             lab6:
00822                 ;
00823             }
00824             break;
00825         case 8:
00826             {   int ret = r_R2(z);
00827                 if (ret == 0) return 0; /* call R2, line 141 */
00828                 if (ret < 0) return ret;
00829             }
00830             {   int ret = slice_del(z); /* delete, line 141 */
00831                 if (ret < 0) return ret;
00832             }
00833             {   int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 142 */
00834                 z->ket = z->c; /* [, line 142 */
00835                 if (!(eq_s_b(z, 2, s_24))) { z->c = z->l - m_keep; goto lab11; }
00836                 z->bra = z->c; /* ], line 142 */
00837                 {   int ret = r_R2(z);
00838                     if (ret == 0) { z->c = z->l - m_keep; goto lab11; } /* call R2, line 142 */
00839                     if (ret < 0) return ret;
00840                 }
00841                 {   int ret = slice_del(z); /* delete, line 142 */
00842                     if (ret < 0) return ret;
00843                 }
00844                 z->ket = z->c; /* [, line 142 */
00845                 if (!(eq_s_b(z, 2, s_25))) { z->c = z->l - m_keep; goto lab11; }
00846                 z->bra = z->c; /* ], line 142 */
00847                 {   int m5 = z->l - z->c; (void)m5; /* or, line 142 */
00848                     {   int ret = r_R2(z);
00849                         if (ret == 0) goto lab13; /* call R2, line 142 */
00850                         if (ret < 0) return ret;
00851                     }
00852                     {   int ret = slice_del(z); /* delete, line 142 */
00853                         if (ret < 0) return ret;
00854                     }
00855                     goto lab12;
00856                 lab13:
00857                     z->c = z->l - m5;
00858                     {   int ret = slice_from_s(z, 3, s_26); /* <-, line 142 */
00859                         if (ret < 0) return ret;
00860                     }
00861                 }
00862             lab12:
00863             lab11:
00864                 ;
00865             }
00866             break;
00867         case 9:
00868             {   int ret = slice_from_s(z, 3, s_27); /* <-, line 144 */
00869                 if (ret < 0) return ret;
00870             }
00871             break;
00872         case 10:
00873             {   int ret = r_R1(z);
00874                 if (ret == 0) return 0; /* call R1, line 145 */
00875                 if (ret < 0) return ret;
00876             }
00877             {   int ret = slice_from_s(z, 2, s_28); /* <-, line 145 */
00878                 if (ret < 0) return ret;
00879             }
00880             break;
00881         case 11:
00882             {   int m6 = z->l - z->c; (void)m6; /* or, line 147 */
00883                 {   int ret = r_R2(z);
00884                     if (ret == 0) goto lab15; /* call R2, line 147 */
00885                     if (ret < 0) return ret;
00886                 }
00887                 {   int ret = slice_del(z); /* delete, line 147 */
00888                     if (ret < 0) return ret;
00889                 }
00890                 goto lab14;
00891             lab15:
00892                 z->c = z->l - m6;
00893                 {   int ret = r_R1(z);
00894                     if (ret == 0) return 0; /* call R1, line 147 */
00895                     if (ret < 0) return ret;
00896                 }
00897                 {   int ret = slice_from_s(z, 3, s_29); /* <-, line 147 */
00898                     if (ret < 0) return ret;
00899                 }
00900             }
00901         lab14:
00902             break;
00903         case 12:
00904             {   int ret = r_R1(z);
00905                 if (ret == 0) return 0; /* call R1, line 150 */
00906                 if (ret < 0) return ret;
00907             }
00908             if (out_grouping_b(z, g_v, 97, 251, 0)) return 0;
00909             {   int ret = slice_del(z); /* delete, line 150 */
00910                 if (ret < 0) return ret;
00911             }
00912             break;
00913         case 13:
00914             {   int ret = r_RV(z);
00915                 if (ret == 0) return 0; /* call RV, line 155 */
00916                 if (ret < 0) return ret;
00917             }
00918             {   int ret = slice_from_s(z, 3, s_30); /* <-, line 155 */
00919                 if (ret < 0) return ret;
00920             }
00921             return 0; /* fail, line 155 */
00922             break;
00923         case 14:
00924             {   int ret = r_RV(z);
00925                 if (ret == 0) return 0; /* call RV, line 156 */
00926                 if (ret < 0) return ret;
00927             }
00928             {   int ret = slice_from_s(z, 3, s_31); /* <-, line 156 */
00929                 if (ret < 0) return ret;
00930             }
00931             return 0; /* fail, line 156 */
00932             break;
00933         case 15:
00934             {   int m_test = z->l - z->c; /* test, line 158 */
00935                 if (in_grouping_b(z, g_v, 97, 251, 0)) return 0;
00936                 {   int ret = r_RV(z);
00937                     if (ret == 0) return 0; /* call RV, line 158 */
00938                     if (ret < 0) return ret;
00939                 }
00940                 z->c = z->l - m_test;
00941             }
00942             {   int ret = slice_del(z); /* delete, line 158 */
00943                 if (ret < 0) return ret;
00944             }
00945             return 0; /* fail, line 158 */
00946             break;
00947     }
00948     return 1;
00949 }
00950 
00951 static int r_i_verb_suffix(struct SN_env * z) {
00952     int among_var;
00953     {   int mlimit; /* setlimit, line 163 */
00954         int m1 = z->l - z->c; (void)m1;
00955         if (z->c < z->I[0]) return 0;
00956         z->c = z->I[0]; /* tomark, line 163 */
00957         mlimit = z->lb; z->lb = z->c;
00958         z->c = z->l - m1;
00959         z->ket = z->c; /* [, line 164 */
00960         if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((68944418 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit; return 0; }
00961         among_var = find_among_b(z, a_5, 35); /* substring, line 164 */
00962         if (!(among_var)) { z->lb = mlimit; return 0; }
00963         z->bra = z->c; /* ], line 164 */
00964         switch(among_var) {
00965             case 0: { z->lb = mlimit; return 0; }
00966             case 1:
00967                 if (out_grouping_b(z, g_v, 97, 251, 0)) { z->lb = mlimit; return 0; }
00968                 {   int ret = slice_del(z); /* delete, line 170 */
00969                     if (ret < 0) return ret;
00970                 }
00971                 break;
00972         }
00973         z->lb = mlimit;
00974     }
00975     return 1;
00976 }
00977 
00978 static int r_verb_suffix(struct SN_env * z) {
00979     int among_var;
00980     {   int mlimit; /* setlimit, line 174 */
00981         int m1 = z->l - z->c; (void)m1;
00982         if (z->c < z->I[0]) return 0;
00983         z->c = z->I[0]; /* tomark, line 174 */
00984         mlimit = z->lb; z->lb = z->c;
00985         z->c = z->l - m1;
00986         z->ket = z->c; /* [, line 175 */
00987         among_var = find_among_b(z, a_6, 38); /* substring, line 175 */
00988         if (!(among_var)) { z->lb = mlimit; return 0; }
00989         z->bra = z->c; /* ], line 175 */
00990         switch(among_var) {
00991             case 0: { z->lb = mlimit; return 0; }
00992             case 1:
00993                 {   int ret = r_R2(z);
00994                     if (ret == 0) { z->lb = mlimit; return 0; } /* call R2, line 177 */
00995                     if (ret < 0) return ret;
00996                 }
00997                 {   int ret = slice_del(z); /* delete, line 177 */
00998                     if (ret < 0) return ret;
00999                 }
01000                 break;
01001             case 2:
01002                 {   int ret = slice_del(z); /* delete, line 185 */
01003                     if (ret < 0) return ret;
01004                 }
01005                 break;
01006             case 3:
01007                 {   int ret = slice_del(z); /* delete, line 190 */
01008                     if (ret < 0) return ret;
01009                 }
01010                 {   int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 191 */
01011                     z->ket = z->c; /* [, line 191 */
01012                     if (!(eq_s_b(z, 1, s_32))) { z->c = z->l - m_keep; goto lab0; }
01013                     z->bra = z->c; /* ], line 191 */
01014                     {   int ret = slice_del(z); /* delete, line 191 */
01015                         if (ret < 0) return ret;
01016                     }
01017                 lab0:
01018                     ;
01019                 }
01020                 break;
01021         }
01022         z->lb = mlimit;
01023     }
01024     return 1;
01025 }
01026 
01027 static int r_residual_suffix(struct SN_env * z) {
01028     int among_var;
01029     {   int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 199 */
01030         z->ket = z->c; /* [, line 199 */
01031         if (!(eq_s_b(z, 1, s_33))) { z->c = z->l - m_keep; goto lab0; }
01032         z->bra = z->c; /* ], line 199 */
01033         {   int m_test = z->l - z->c; /* test, line 199 */
01034             if (out_grouping_b(z, g_keep_with_s, 97, 232, 0)) { z->c = z->l - m_keep; goto lab0; }
01035             z->c = z->l - m_test;
01036         }
01037         {   int ret = slice_del(z); /* delete, line 199 */
01038             if (ret < 0) return ret;
01039         }
01040     lab0:
01041         ;
01042     }
01043     {   int mlimit; /* setlimit, line 200 */
01044         int m1 = z->l - z->c; (void)m1;
01045         if (z->c < z->I[0]) return 0;
01046         z->c = z->I[0]; /* tomark, line 200 */
01047         mlimit = z->lb; z->lb = z->c;
01048         z->c = z->l - m1;
01049         z->ket = z->c; /* [, line 201 */
01050         among_var = find_among_b(z, a_7, 7); /* substring, line 201 */
01051         if (!(among_var)) { z->lb = mlimit; return 0; }
01052         z->bra = z->c; /* ], line 201 */
01053         switch(among_var) {
01054             case 0: { z->lb = mlimit; return 0; }
01055             case 1:
01056                 {   int ret = r_R2(z);
01057                     if (ret == 0) { z->lb = mlimit; return 0; } /* call R2, line 202 */
01058                     if (ret < 0) return ret;
01059                 }
01060                 {   int m2 = z->l - z->c; (void)m2; /* or, line 202 */
01061                     if (!(eq_s_b(z, 1, s_34))) goto lab2;
01062                     goto lab1;
01063                 lab2:
01064                     z->c = z->l - m2;
01065                     if (!(eq_s_b(z, 1, s_35))) { z->lb = mlimit; return 0; }
01066                 }
01067             lab1:
01068                 {   int ret = slice_del(z); /* delete, line 202 */
01069                     if (ret < 0) return ret;
01070                 }
01071                 break;
01072             case 2:
01073                 {   int ret = slice_from_s(z, 1, s_36); /* <-, line 204 */
01074                     if (ret < 0) return ret;
01075                 }
01076                 break;
01077             case 3:
01078                 {   int ret = slice_del(z); /* delete, line 205 */
01079                     if (ret < 0) return ret;
01080                 }
01081                 break;
01082             case 4:
01083                 if (!(eq_s_b(z, 2, s_37))) { z->lb = mlimit; return 0; }
01084                 {   int ret = slice_del(z); /* delete, line 206 */
01085                     if (ret < 0) return ret;
01086                 }
01087                 break;
01088         }
01089         z->lb = mlimit;
01090     }
01091     return 1;
01092 }
01093 
01094 static int r_un_double(struct SN_env * z) {
01095     {   int m_test = z->l - z->c; /* test, line 212 */
01096         if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1069056 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
01097         if (!(find_among_b(z, a_8, 5))) return 0; /* among, line 212 */
01098         z->c = z->l - m_test;
01099     }
01100     z->ket = z->c; /* [, line 212 */
01101     if (z->c <= z->lb) return 0;
01102     z->c--; /* next, line 212 */
01103     z->bra = z->c; /* ], line 212 */
01104     {   int ret = slice_del(z); /* delete, line 212 */
01105         if (ret < 0) return ret;
01106     }
01107     return 1;
01108 }
01109 
01110 static int r_un_accent(struct SN_env * z) {
01111     {   int i = 1;
01112         while(1) { /* atleast, line 216 */
01113             if (out_grouping_b(z, g_v, 97, 251, 0)) goto lab0;
01114             i--;
01115             continue;
01116         lab0:
01117             break;
01118         }
01119         if (i > 0) return 0;
01120     }
01121     z->ket = z->c; /* [, line 217 */
01122     {   int m1 = z->l - z->c; (void)m1; /* or, line 217 */
01123         if (!(eq_s_b(z, 1, s_38))) goto lab2;
01124         goto lab1;
01125     lab2:
01126         z->c = z->l - m1;
01127         if (!(eq_s_b(z, 1, s_39))) return 0;
01128     }
01129 lab1:
01130     z->bra = z->c; /* ], line 217 */
01131     {   int ret = slice_from_s(z, 1, s_40); /* <-, line 217 */
01132         if (ret < 0) return ret;
01133     }
01134     return 1;
01135 }
01136 
01137 extern int french_ISO_8859_1_stem(struct SN_env * z) {
01138     {   int c1 = z->c; /* do, line 223 */
01139         {   int ret = r_prelude(z);
01140             if (ret == 0) goto lab0; /* call prelude, line 223 */
01141             if (ret < 0) return ret;
01142         }
01143     lab0:
01144         z->c = c1;
01145     }
01146     {   int c2 = z->c; /* do, line 224 */
01147         {   int ret = r_mark_regions(z);
01148             if (ret == 0) goto lab1; /* call mark_regions, line 224 */
01149             if (ret < 0) return ret;
01150         }
01151     lab1:
01152         z->c = c2;
01153     }
01154     z->lb = z->c; z->c = z->l; /* backwards, line 225 */
01155 
01156     {   int m3 = z->l - z->c; (void)m3; /* do, line 227 */
01157         {   int m4 = z->l - z->c; (void)m4; /* or, line 237 */
01158             {   int m5 = z->l - z->c; (void)m5; /* and, line 233 */
01159                 {   int m6 = z->l - z->c; (void)m6; /* or, line 229 */
01160                     {   int ret = r_standard_suffix(z);
01161                         if (ret == 0) goto lab6; /* call standard_suffix, line 229 */
01162                         if (ret < 0) return ret;
01163                     }
01164                     goto lab5;
01165                 lab6:
01166                     z->c = z->l - m6;
01167                     {   int ret = r_i_verb_suffix(z);
01168                         if (ret == 0) goto lab7; /* call i_verb_suffix, line 230 */
01169                         if (ret < 0) return ret;
01170                     }
01171                     goto lab5;
01172                 lab7:
01173                     z->c = z->l - m6;
01174                     {   int ret = r_verb_suffix(z);
01175                         if (ret == 0) goto lab4; /* call verb_suffix, line 231 */
01176                         if (ret < 0) return ret;
01177                     }
01178                 }
01179             lab5:
01180                 z->c = z->l - m5;
01181                 {   int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 234 */
01182                     z->ket = z->c; /* [, line 234 */
01183                     {   int m7 = z->l - z->c; (void)m7; /* or, line 234 */
01184                         if (!(eq_s_b(z, 1, s_41))) goto lab10;
01185                         z->bra = z->c; /* ], line 234 */
01186                         {   int ret = slice_from_s(z, 1, s_42); /* <-, line 234 */
01187                             if (ret < 0) return ret;
01188                         }
01189                         goto lab9;
01190                     lab10:
01191                         z->c = z->l - m7;
01192                         if (!(eq_s_b(z, 1, s_43))) { z->c = z->l - m_keep; goto lab8; }
01193                         z->bra = z->c; /* ], line 235 */
01194                         {   int ret = slice_from_s(z, 1, s_44); /* <-, line 235 */
01195                             if (ret < 0) return ret;
01196                         }
01197                     }
01198                 lab9:
01199                 lab8:
01200                     ;
01201                 }
01202             }
01203             goto lab3;
01204         lab4:
01205             z->c = z->l - m4;
01206             {   int ret = r_residual_suffix(z);
01207                 if (ret == 0) goto lab2; /* call residual_suffix, line 238 */
01208                 if (ret < 0) return ret;
01209             }
01210         }
01211     lab3:
01212     lab2:
01213         z->c = z->l - m3;
01214     }
01215     {   int m8 = z->l - z->c; (void)m8; /* do, line 243 */
01216         {   int ret = r_un_double(z);
01217             if (ret == 0) goto lab11; /* call un_double, line 243 */
01218             if (ret < 0) return ret;
01219         }
01220     lab11:
01221         z->c = z->l - m8;
01222     }
01223     {   int m9 = z->l - z->c; (void)m9; /* do, line 244 */
01224         {   int ret = r_un_accent(z);
01225             if (ret == 0) goto lab12; /* call un_accent, line 244 */
01226             if (ret < 0) return ret;
01227         }
01228     lab12:
01229         z->c = z->l - m9;
01230     }
01231     z->c = z->lb;
01232     {   int c10 = z->c; /* do, line 246 */
01233         {   int ret = r_postlude(z);
01234             if (ret == 0) goto lab13; /* call postlude, line 246 */
01235             if (ret < 0) return ret;
01236         }
01237     lab13:
01238         z->c = c10;
01239     }
01240     return 1;
01241 }
01242 
01243 extern struct SN_env * french_ISO_8859_1_create_env(void) { return SN_create_env(0, 3, 0); }
01244 
01245 extern void french_ISO_8859_1_close_env(struct SN_env * z) { SN_close_env(z, 0); }
01246