00001
00002
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 { 3, s_0_0, -1, -1, 0},
00044 { 3, s_0_1, -1, -1, 0},
00045 { 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, -1, 4, 0},
00055 { 1, s_1_1, 0, 1, 0},
00056 { 1, s_1_2, 0, 2, 0},
00057 { 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 { 3, s_2_0, -1, 3, 0},
00070 { 3, s_2_1, -1, 3, 0},
00071 { 3, s_2_2, -1, 4, 0},
00072 { 3, s_2_3, -1, 4, 0},
00073 { 3, s_2_4, -1, 2, 0},
00074 { 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 { 2, s_3_0, -1, 2, 0},
00084 { 4, s_3_1, -1, 1, 0},
00085 { 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 { 4, s_4_0, -1, 1, 0},
00135 { 6, s_4_1, -1, 2, 0},
00136 { 4, s_4_2, -1, 1, 0},
00137 { 4, s_4_3, -1, 5, 0},
00138 { 5, s_4_4, -1, 3, 0},
00139 { 4, s_4_5, -1, 1, 0},
00140 { 4, s_4_6, -1, 1, 0},
00141 { 4, s_4_7, -1, 11, 0},
00142 { 4, s_4_8, -1, 1, 0},
00143 { 3, s_4_9, -1, 8, 0},
00144 { 2, s_4_10, -1, 8, 0},
00145 { 5, s_4_11, -1, 4, 0},
00146 { 5, s_4_12, -1, 2, 0},
00147 { 5, s_4_13, -1, 4, 0},
00148 { 5, s_4_14, -1, 2, 0},
00149 { 5, s_4_15, -1, 1, 0},
00150 { 7, s_4_16, -1, 2, 0},
00151 { 5, s_4_17, -1, 1, 0},
00152 { 5, s_4_18, -1, 5, 0},
00153 { 6, s_4_19, -1, 3, 0},
00154 { 5, s_4_20, -1, 1, 0},
00155 { 5, s_4_21, -1, 1, 0},
00156 { 5, s_4_22, -1, 11, 0},
00157 { 5, s_4_23, -1, 1, 0},
00158 { 4, s_4_24, -1, 8, 0},
00159 { 3, s_4_25, -1, 8, 0},
00160 { 6, s_4_26, -1, 4, 0},
00161 { 6, s_4_27, -1, 2, 0},
00162 { 6, s_4_28, -1, 4, 0},
00163 { 6, s_4_29, -1, 2, 0},
00164 { 5, s_4_30, -1, 15, 0},
00165 { 6, s_4_31, 30, 6, 0},
00166 { 9, s_4_32, 31, 12, 0},
00167 { 4, s_4_33, -1, 7, 0},
00168 { 4, s_4_34, -1, 15, 0},
00169 { 5, s_4_35, 34, 6, 0},
00170 { 8, s_4_36, 35, 12, 0},
00171 { 6, s_4_37, 34, 13, 0},
00172 { 6, s_4_38, 34, 14, 0},
00173 { 3, s_4_39, -1, 10, 0},
00174 { 4, s_4_40, 39, 9, 0},
00175 { 3, s_4_41, -1, 1, 0},
00176 { 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 { 3, s_5_0, -1, 1, 0},
00218 { 2, s_5_1, -1, 1, 0},
00219 { 4, s_5_2, -1, 1, 0},
00220 { 7, s_5_3, -1, 1, 0},
00221 { 1, s_5_4, -1, 1, 0},
00222 { 4, s_5_5, 4, 1, 0},
00223 { 2, s_5_6, -1, 1, 0},
00224 { 4, s_5_7, -1, 1, 0},
00225 { 3, s_5_8, -1, 1, 0},
00226 { 4, s_5_9, -1, 1, 0},
00227 { 5, s_5_10, -1, 1, 0},
00228 { 8, s_5_11, -1, 1, 0},
00229 { 4, s_5_12, -1, 1, 0},
00230 { 2, s_5_13, -1, 1, 0},
00231 { 5, s_5_14, 13, 1, 0},
00232 { 6, s_5_15, 13, 1, 0},
00233 { 6, s_5_16, -1, 1, 0},
00234 { 7, s_5_17, -1, 1, 0},
00235 { 5, s_5_18, -1, 1, 0},
00236 { 6, s_5_19, -1, 1, 0},
00237 { 7, s_5_20, -1, 1, 0},
00238 { 2, s_5_21, -1, 1, 0},
00239 { 5, s_5_22, 21, 1, 0},
00240 { 6, s_5_23, 21, 1, 0},
00241 { 6, s_5_24, -1, 1, 0},
00242 { 7, s_5_25, -1, 1, 0},
00243 { 8, s_5_26, -1, 1, 0},
00244 { 5, s_5_27, -1, 1, 0},
00245 { 6, s_5_28, -1, 1, 0},
00246 { 5, s_5_29, -1, 1, 0},
00247 { 2, s_5_30, -1, 1, 0},
00248 { 5, s_5_31, -1, 1, 0},
00249 { 6, s_5_32, -1, 1, 0},
00250 { 4, s_5_33, -1, 1, 0},
00251 { 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 { 1, s_6_0, -1, 3, 0},
00296 { 3, s_6_1, 0, 2, 0},
00297 { 4, s_6_2, -1, 3, 0},
00298 { 4, s_6_3, -1, 3, 0},
00299 { 2, s_6_4, -1, 2, 0},
00300 { 2, s_6_5, -1, 3, 0},
00301 { 4, s_6_6, 5, 2, 0},
00302 { 2, s_6_7, -1, 2, 0},
00303 { 2, s_6_8, -1, 3, 0},
00304 { 4, s_6_9, 8, 2, 0},
00305 { 4, s_6_10, -1, 3, 0},
00306 { 5, s_6_11, -1, 3, 0},
00307 { 5, s_6_12, -1, 3, 0},
00308 { 4, s_6_13, -1, 3, 0},
00309 { 3, s_6_14, -1, 2, 0},
00310 { 3, s_6_15, -1, 3, 0},
00311 { 5, s_6_16, 15, 2, 0},
00312 { 4, s_6_17, -1, 1, 0},
00313 { 6, s_6_18, 17, 2, 0},
00314 { 7, s_6_19, 17, 3, 0},
00315 { 5, s_6_20, -1, 2, 0},
00316 { 4, s_6_21, -1, 3, 0},
00317 { 2, s_6_22, -1, 2, 0},
00318 { 3, s_6_23, -1, 3, 0},
00319 { 5, s_6_24, 23, 2, 0},
00320 { 3, s_6_25, -1, 3, 0},
00321 { 5, s_6_26, -1, 3, 0},
00322 { 7, s_6_27, 26, 2, 0},
00323 { 5, s_6_28, -1, 2, 0},
00324 { 6, s_6_29, -1, 3, 0},
00325 { 5, s_6_30, -1, 2, 0},
00326 { 2, s_6_31, -1, 3, 0},
00327 { 2, s_6_32, -1, 2, 0},
00328 { 3, s_6_33, 32, 2, 0},
00329 { 5, s_6_34, 33, 2, 0},
00330 { 6, s_6_35, 33, 3, 0},
00331 { 4, s_6_36, 32, 2, 0},
00332 { 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 { 1, s_7_0, -1, 3, 0},
00346 { 4, s_7_1, 0, 2, 0},
00347 { 4, s_7_2, 0, 2, 0},
00348 { 3, s_7_3, -1, 1, 0},
00349 { 3, s_7_4, -1, 2, 0},
00350 { 3, s_7_5, -1, 2, 0},
00351 { 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 { 3, s_8_0, -1, -1, 0},
00363 { 4, s_8_1, -1, -1, 0},
00364 { 3, s_8_2, -1, -1, 0},
00365 { 3, s_8_3, -1, -1, 0},
00366 { 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) {
00421 int c1 = z->c;
00422 while(1) {
00423 int c2 = z->c;
00424 { int c3 = z->c;
00425 if (in_grouping(z, g_v, 97, 251, 0)) goto lab3;
00426 z->bra = z->c;
00427 { int c4 = z->c;
00428 if (!(eq_s(z, 1, s_0))) goto lab5;
00429 z->ket = z->c;
00430 if (in_grouping(z, g_v, 97, 251, 0)) goto lab5;
00431 { int ret = slice_from_s(z, 1, s_1);
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;
00439 if (in_grouping(z, g_v, 97, 251, 0)) goto lab6;
00440 { int ret = slice_from_s(z, 1, s_3);
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;
00448 { int ret = slice_from_s(z, 1, s_5);
00449 if (ret < 0) return ret;
00450 }
00451 }
00452 lab4:
00453 goto lab2;
00454 lab3:
00455 z->c = c3;
00456 z->bra = z->c;
00457 if (!(eq_s(z, 1, s_6))) goto lab7;
00458 z->ket = z->c;
00459 if (in_grouping(z, g_v, 97, 251, 0)) goto lab7;
00460 { int ret = slice_from_s(z, 1, s_7);
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;
00468 if (!(eq_s(z, 1, s_9))) goto lab1;
00469 z->ket = z->c;
00470 { int ret = slice_from_s(z, 1, s_10);
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++;
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;
00495 { int c2 = z->c;
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++;
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;
00505 goto lab1;
00506 lab3:
00507 z->c = c2;
00508 if (z->c >= z->l) goto lab0;
00509 z->c++;
00510 {
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;
00518 lab0:
00519 z->c = c1;
00520 }
00521 { int c3 = z->c;
00522 {
00523 int ret = out_grouping(z, g_v, 97, 251, 1);
00524 if (ret < 0) goto lab4;
00525 z->c += ret;
00526 }
00527 {
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;
00533 {
00534 int ret = out_grouping(z, g_v, 97, 251, 1);
00535 if (ret < 0) goto lab4;
00536 z->c += ret;
00537 }
00538 {
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;
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) {
00553 int c1 = z->c;
00554 z->bra = z->c;
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);
00557 if (!(among_var)) goto lab0;
00558 z->ket = z->c;
00559 switch(among_var) {
00560 case 0: goto lab0;
00561 case 1:
00562 { int ret = slice_from_s(z, 1, s_11);
00563 if (ret < 0) return ret;
00564 }
00565 break;
00566 case 2:
00567 { int ret = slice_from_s(z, 1, s_12);
00568 if (ret < 0) return ret;
00569 }
00570 break;
00571 case 3:
00572 { int ret = slice_from_s(z, 1, s_13);
00573 if (ret < 0) return ret;
00574 }
00575 break;
00576 case 4:
00577 if (z->c >= z->l) goto lab0;
00578 z->c++;
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;
00607 among_var = find_among_b(z, a_4, 43);
00608 if (!(among_var)) return 0;
00609 z->bra = z->c;
00610 switch(among_var) {
00611 case 0: return 0;
00612 case 1:
00613 { int ret = r_R2(z);
00614 if (ret == 0) return 0;
00615 if (ret < 0) return ret;
00616 }
00617 { int ret = slice_del(z);
00618 if (ret < 0) return ret;
00619 }
00620 break;
00621 case 2:
00622 { int ret = r_R2(z);
00623 if (ret == 0) return 0;
00624 if (ret < 0) return ret;
00625 }
00626 { int ret = slice_del(z);
00627 if (ret < 0) return ret;
00628 }
00629 { int m_keep = z->l - z->c;
00630 z->ket = z->c;
00631 if (!(eq_s_b(z, 2, s_14))) { z->c = z->l - m_keep; goto lab0; }
00632 z->bra = z->c;
00633 { int m1 = z->l - z->c; (void)m1;
00634 { int ret = r_R2(z);
00635 if (ret == 0) goto lab2;
00636 if (ret < 0) return ret;
00637 }
00638 { int ret = slice_del(z);
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);
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;
00656 if (ret < 0) return ret;
00657 }
00658 { int ret = slice_from_s(z, 3, s_16);
00659 if (ret < 0) return ret;
00660 }
00661 break;
00662 case 4:
00663 { int ret = r_R2(z);
00664 if (ret == 0) return 0;
00665 if (ret < 0) return ret;
00666 }
00667 { int ret = slice_from_s(z, 1, s_17);
00668 if (ret < 0) return ret;
00669 }
00670 break;
00671 case 5:
00672 { int ret = r_R2(z);
00673 if (ret == 0) return 0;
00674 if (ret < 0) return ret;
00675 }
00676 { int ret = slice_from_s(z, 3, s_18);
00677 if (ret < 0) return ret;
00678 }
00679 break;
00680 case 6:
00681 { int ret = r_RV(z);
00682 if (ret == 0) return 0;
00683 if (ret < 0) return ret;
00684 }
00685 { int ret = slice_del(z);
00686 if (ret < 0) return ret;
00687 }
00688 { int m_keep = z->l - z->c;
00689 z->ket = z->c;
00690 among_var = find_among_b(z, a_2, 6);
00691 if (!(among_var)) { z->c = z->l - m_keep; goto lab3; }
00692 z->bra = z->c;
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; }
00698 if (ret < 0) return ret;
00699 }
00700 { int ret = slice_del(z);
00701 if (ret < 0) return ret;
00702 }
00703 z->ket = z->c;
00704 if (!(eq_s_b(z, 2, s_19))) { z->c = z->l - m_keep; goto lab3; }
00705 z->bra = z->c;
00706 { int ret = r_R2(z);
00707 if (ret == 0) { z->c = z->l - m_keep; goto lab3; }
00708 if (ret < 0) return ret;
00709 }
00710 { int ret = slice_del(z);
00711 if (ret < 0) return ret;
00712 }
00713 break;
00714 case 2:
00715 { int m2 = z->l - z->c; (void)m2;
00716 { int ret = r_R2(z);
00717 if (ret == 0) goto lab5;
00718 if (ret < 0) return ret;
00719 }
00720 { int ret = slice_del(z);
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; }
00728 if (ret < 0) return ret;
00729 }
00730 { int ret = slice_from_s(z, 3, s_20);
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; }
00739 if (ret < 0) return ret;
00740 }
00741 { int ret = slice_del(z);
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; }
00748 if (ret < 0) return ret;
00749 }
00750 { int ret = slice_from_s(z, 1, s_21);
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;
00762 if (ret < 0) return ret;
00763 }
00764 { int ret = slice_del(z);
00765 if (ret < 0) return ret;
00766 }
00767 { int m_keep = z->l - z->c;
00768 z->ket = z->c;
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);
00771 if (!(among_var)) { z->c = z->l - m_keep; goto lab6; }
00772 z->bra = z->c;
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;
00777 { int ret = r_R2(z);
00778 if (ret == 0) goto lab8;
00779 if (ret < 0) return ret;
00780 }
00781 { int ret = slice_del(z);
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);
00788 if (ret < 0) return ret;
00789 }
00790 }
00791 lab7:
00792 break;
00793 case 2:
00794 { int m4 = z->l - z->c; (void)m4;
00795 { int ret = r_R2(z);
00796 if (ret == 0) goto lab10;
00797 if (ret < 0) return ret;
00798 }
00799 { int ret = slice_del(z);
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);
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; }
00814 if (ret < 0) return ret;
00815 }
00816 { int ret = slice_del(z);
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;
00828 if (ret < 0) return ret;
00829 }
00830 { int ret = slice_del(z);
00831 if (ret < 0) return ret;
00832 }
00833 { int m_keep = z->l - z->c;
00834 z->ket = z->c;
00835 if (!(eq_s_b(z, 2, s_24))) { z->c = z->l - m_keep; goto lab11; }
00836 z->bra = z->c;
00837 { int ret = r_R2(z);
00838 if (ret == 0) { z->c = z->l - m_keep; goto lab11; }
00839 if (ret < 0) return ret;
00840 }
00841 { int ret = slice_del(z);
00842 if (ret < 0) return ret;
00843 }
00844 z->ket = z->c;
00845 if (!(eq_s_b(z, 2, s_25))) { z->c = z->l - m_keep; goto lab11; }
00846 z->bra = z->c;
00847 { int m5 = z->l - z->c; (void)m5;
00848 { int ret = r_R2(z);
00849 if (ret == 0) goto lab13;
00850 if (ret < 0) return ret;
00851 }
00852 { int ret = slice_del(z);
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);
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);
00869 if (ret < 0) return ret;
00870 }
00871 break;
00872 case 10:
00873 { int ret = r_R1(z);
00874 if (ret == 0) return 0;
00875 if (ret < 0) return ret;
00876 }
00877 { int ret = slice_from_s(z, 2, s_28);
00878 if (ret < 0) return ret;
00879 }
00880 break;
00881 case 11:
00882 { int m6 = z->l - z->c; (void)m6;
00883 { int ret = r_R2(z);
00884 if (ret == 0) goto lab15;
00885 if (ret < 0) return ret;
00886 }
00887 { int ret = slice_del(z);
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;
00895 if (ret < 0) return ret;
00896 }
00897 { int ret = slice_from_s(z, 3, s_29);
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;
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);
00910 if (ret < 0) return ret;
00911 }
00912 break;
00913 case 13:
00914 { int ret = r_RV(z);
00915 if (ret == 0) return 0;
00916 if (ret < 0) return ret;
00917 }
00918 { int ret = slice_from_s(z, 3, s_30);
00919 if (ret < 0) return ret;
00920 }
00921 return 0;
00922 break;
00923 case 14:
00924 { int ret = r_RV(z);
00925 if (ret == 0) return 0;
00926 if (ret < 0) return ret;
00927 }
00928 { int ret = slice_from_s(z, 3, s_31);
00929 if (ret < 0) return ret;
00930 }
00931 return 0;
00932 break;
00933 case 15:
00934 { int m_test = z->l - z->c;
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;
00938 if (ret < 0) return ret;
00939 }
00940 z->c = z->l - m_test;
00941 }
00942 { int ret = slice_del(z);
00943 if (ret < 0) return ret;
00944 }
00945 return 0;
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;
00954 int m1 = z->l - z->c; (void)m1;
00955 if (z->c < z->I[0]) return 0;
00956 z->c = z->I[0];
00957 mlimit = z->lb; z->lb = z->c;
00958 z->c = z->l - m1;
00959 z->ket = z->c;
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);
00962 if (!(among_var)) { z->lb = mlimit; return 0; }
00963 z->bra = z->c;
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);
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;
00981 int m1 = z->l - z->c; (void)m1;
00982 if (z->c < z->I[0]) return 0;
00983 z->c = z->I[0];
00984 mlimit = z->lb; z->lb = z->c;
00985 z->c = z->l - m1;
00986 z->ket = z->c;
00987 among_var = find_among_b(z, a_6, 38);
00988 if (!(among_var)) { z->lb = mlimit; return 0; }
00989 z->bra = z->c;
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; }
00995 if (ret < 0) return ret;
00996 }
00997 { int ret = slice_del(z);
00998 if (ret < 0) return ret;
00999 }
01000 break;
01001 case 2:
01002 { int ret = slice_del(z);
01003 if (ret < 0) return ret;
01004 }
01005 break;
01006 case 3:
01007 { int ret = slice_del(z);
01008 if (ret < 0) return ret;
01009 }
01010 { int m_keep = z->l - z->c;
01011 z->ket = z->c;
01012 if (!(eq_s_b(z, 1, s_32))) { z->c = z->l - m_keep; goto lab0; }
01013 z->bra = z->c;
01014 { int ret = slice_del(z);
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;
01030 z->ket = z->c;
01031 if (!(eq_s_b(z, 1, s_33))) { z->c = z->l - m_keep; goto lab0; }
01032 z->bra = z->c;
01033 { int m_test = z->l - z->c;
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);
01038 if (ret < 0) return ret;
01039 }
01040 lab0:
01041 ;
01042 }
01043 { int mlimit;
01044 int m1 = z->l - z->c; (void)m1;
01045 if (z->c < z->I[0]) return 0;
01046 z->c = z->I[0];
01047 mlimit = z->lb; z->lb = z->c;
01048 z->c = z->l - m1;
01049 z->ket = z->c;
01050 among_var = find_among_b(z, a_7, 7);
01051 if (!(among_var)) { z->lb = mlimit; return 0; }
01052 z->bra = z->c;
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; }
01058 if (ret < 0) return ret;
01059 }
01060 { int m2 = z->l - z->c; (void)m2;
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);
01069 if (ret < 0) return ret;
01070 }
01071 break;
01072 case 2:
01073 { int ret = slice_from_s(z, 1, s_36);
01074 if (ret < 0) return ret;
01075 }
01076 break;
01077 case 3:
01078 { int ret = slice_del(z);
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);
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;
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;
01098 z->c = z->l - m_test;
01099 }
01100 z->ket = z->c;
01101 if (z->c <= z->lb) return 0;
01102 z->c--;
01103 z->bra = z->c;
01104 { int ret = slice_del(z);
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) {
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;
01122 { int m1 = z->l - z->c; (void)m1;
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;
01131 { int ret = slice_from_s(z, 1, s_40);
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;
01139 { int ret = r_prelude(z);
01140 if (ret == 0) goto lab0;
01141 if (ret < 0) return ret;
01142 }
01143 lab0:
01144 z->c = c1;
01145 }
01146 { int c2 = z->c;
01147 { int ret = r_mark_regions(z);
01148 if (ret == 0) goto lab1;
01149 if (ret < 0) return ret;
01150 }
01151 lab1:
01152 z->c = c2;
01153 }
01154 z->lb = z->c; z->c = z->l;
01155
01156 { int m3 = z->l - z->c; (void)m3;
01157 { int m4 = z->l - z->c; (void)m4;
01158 { int m5 = z->l - z->c; (void)m5;
01159 { int m6 = z->l - z->c; (void)m6;
01160 { int ret = r_standard_suffix(z);
01161 if (ret == 0) goto lab6;
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;
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;
01176 if (ret < 0) return ret;
01177 }
01178 }
01179 lab5:
01180 z->c = z->l - m5;
01181 { int m_keep = z->l - z->c;
01182 z->ket = z->c;
01183 { int m7 = z->l - z->c; (void)m7;
01184 if (!(eq_s_b(z, 1, s_41))) goto lab10;
01185 z->bra = z->c;
01186 { int ret = slice_from_s(z, 1, s_42);
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;
01194 { int ret = slice_from_s(z, 1, s_44);
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;
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;
01216 { int ret = r_un_double(z);
01217 if (ret == 0) goto lab11;
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;
01224 { int ret = r_un_accent(z);
01225 if (ret == 0) goto lab12;
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;
01233 { int ret = r_postlude(z);
01234 if (ret == 0) goto lab13;
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