Header And Logo

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

stem_UTF_8_hungarian.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 hungarian_UTF_8_stem(struct SN_env * z);
00010 #ifdef __cplusplus
00011 }
00012 #endif
00013 static int r_double(struct SN_env * z);
00014 static int r_undouble(struct SN_env * z);
00015 static int r_factive(struct SN_env * z);
00016 static int r_instrum(struct SN_env * z);
00017 static int r_plur_owner(struct SN_env * z);
00018 static int r_sing_owner(struct SN_env * z);
00019 static int r_owned(struct SN_env * z);
00020 static int r_plural(struct SN_env * z);
00021 static int r_case_other(struct SN_env * z);
00022 static int r_case_special(struct SN_env * z);
00023 static int r_case(struct SN_env * z);
00024 static int r_v_ending(struct SN_env * z);
00025 static int r_R1(struct SN_env * z);
00026 static int r_mark_regions(struct SN_env * z);
00027 #ifdef __cplusplus
00028 extern "C" {
00029 #endif
00030 
00031 
00032 extern struct SN_env * hungarian_UTF_8_create_env(void);
00033 extern void hungarian_UTF_8_close_env(struct SN_env * z);
00034 
00035 
00036 #ifdef __cplusplus
00037 }
00038 #endif
00039 static const symbol s_0_0[2] = { 'c', 's' };
00040 static const symbol s_0_1[3] = { 'd', 'z', 's' };
00041 static const symbol s_0_2[2] = { 'g', 'y' };
00042 static const symbol s_0_3[2] = { 'l', 'y' };
00043 static const symbol s_0_4[2] = { 'n', 'y' };
00044 static const symbol s_0_5[2] = { 's', 'z' };
00045 static const symbol s_0_6[2] = { 't', 'y' };
00046 static const symbol s_0_7[2] = { 'z', 's' };
00047 
00048 static const struct among a_0[8] =
00049 {
00050 /*  0 */ { 2, s_0_0, -1, -1, 0},
00051 /*  1 */ { 3, s_0_1, -1, -1, 0},
00052 /*  2 */ { 2, s_0_2, -1, -1, 0},
00053 /*  3 */ { 2, s_0_3, -1, -1, 0},
00054 /*  4 */ { 2, s_0_4, -1, -1, 0},
00055 /*  5 */ { 2, s_0_5, -1, -1, 0},
00056 /*  6 */ { 2, s_0_6, -1, -1, 0},
00057 /*  7 */ { 2, s_0_7, -1, -1, 0}
00058 };
00059 
00060 static const symbol s_1_0[2] = { 0xC3, 0xA1 };
00061 static const symbol s_1_1[2] = { 0xC3, 0xA9 };
00062 
00063 static const struct among a_1[2] =
00064 {
00065 /*  0 */ { 2, s_1_0, -1, 1, 0},
00066 /*  1 */ { 2, s_1_1, -1, 2, 0}
00067 };
00068 
00069 static const symbol s_2_0[2] = { 'b', 'b' };
00070 static const symbol s_2_1[2] = { 'c', 'c' };
00071 static const symbol s_2_2[2] = { 'd', 'd' };
00072 static const symbol s_2_3[2] = { 'f', 'f' };
00073 static const symbol s_2_4[2] = { 'g', 'g' };
00074 static const symbol s_2_5[2] = { 'j', 'j' };
00075 static const symbol s_2_6[2] = { 'k', 'k' };
00076 static const symbol s_2_7[2] = { 'l', 'l' };
00077 static const symbol s_2_8[2] = { 'm', 'm' };
00078 static const symbol s_2_9[2] = { 'n', 'n' };
00079 static const symbol s_2_10[2] = { 'p', 'p' };
00080 static const symbol s_2_11[2] = { 'r', 'r' };
00081 static const symbol s_2_12[3] = { 'c', 'c', 's' };
00082 static const symbol s_2_13[2] = { 's', 's' };
00083 static const symbol s_2_14[3] = { 'z', 'z', 's' };
00084 static const symbol s_2_15[2] = { 't', 't' };
00085 static const symbol s_2_16[2] = { 'v', 'v' };
00086 static const symbol s_2_17[3] = { 'g', 'g', 'y' };
00087 static const symbol s_2_18[3] = { 'l', 'l', 'y' };
00088 static const symbol s_2_19[3] = { 'n', 'n', 'y' };
00089 static const symbol s_2_20[3] = { 't', 't', 'y' };
00090 static const symbol s_2_21[3] = { 's', 's', 'z' };
00091 static const symbol s_2_22[2] = { 'z', 'z' };
00092 
00093 static const struct among a_2[23] =
00094 {
00095 /*  0 */ { 2, s_2_0, -1, -1, 0},
00096 /*  1 */ { 2, s_2_1, -1, -1, 0},
00097 /*  2 */ { 2, s_2_2, -1, -1, 0},
00098 /*  3 */ { 2, s_2_3, -1, -1, 0},
00099 /*  4 */ { 2, s_2_4, -1, -1, 0},
00100 /*  5 */ { 2, s_2_5, -1, -1, 0},
00101 /*  6 */ { 2, s_2_6, -1, -1, 0},
00102 /*  7 */ { 2, s_2_7, -1, -1, 0},
00103 /*  8 */ { 2, s_2_8, -1, -1, 0},
00104 /*  9 */ { 2, s_2_9, -1, -1, 0},
00105 /* 10 */ { 2, s_2_10, -1, -1, 0},
00106 /* 11 */ { 2, s_2_11, -1, -1, 0},
00107 /* 12 */ { 3, s_2_12, -1, -1, 0},
00108 /* 13 */ { 2, s_2_13, -1, -1, 0},
00109 /* 14 */ { 3, s_2_14, -1, -1, 0},
00110 /* 15 */ { 2, s_2_15, -1, -1, 0},
00111 /* 16 */ { 2, s_2_16, -1, -1, 0},
00112 /* 17 */ { 3, s_2_17, -1, -1, 0},
00113 /* 18 */ { 3, s_2_18, -1, -1, 0},
00114 /* 19 */ { 3, s_2_19, -1, -1, 0},
00115 /* 20 */ { 3, s_2_20, -1, -1, 0},
00116 /* 21 */ { 3, s_2_21, -1, -1, 0},
00117 /* 22 */ { 2, s_2_22, -1, -1, 0}
00118 };
00119 
00120 static const symbol s_3_0[2] = { 'a', 'l' };
00121 static const symbol s_3_1[2] = { 'e', 'l' };
00122 
00123 static const struct among a_3[2] =
00124 {
00125 /*  0 */ { 2, s_3_0, -1, 1, 0},
00126 /*  1 */ { 2, s_3_1, -1, 2, 0}
00127 };
00128 
00129 static const symbol s_4_0[2] = { 'b', 'a' };
00130 static const symbol s_4_1[2] = { 'r', 'a' };
00131 static const symbol s_4_2[2] = { 'b', 'e' };
00132 static const symbol s_4_3[2] = { 'r', 'e' };
00133 static const symbol s_4_4[2] = { 'i', 'g' };
00134 static const symbol s_4_5[3] = { 'n', 'a', 'k' };
00135 static const symbol s_4_6[3] = { 'n', 'e', 'k' };
00136 static const symbol s_4_7[3] = { 'v', 'a', 'l' };
00137 static const symbol s_4_8[3] = { 'v', 'e', 'l' };
00138 static const symbol s_4_9[2] = { 'u', 'l' };
00139 static const symbol s_4_10[4] = { 'n', 0xC3, 0xA1, 'l' };
00140 static const symbol s_4_11[4] = { 'n', 0xC3, 0xA9, 'l' };
00141 static const symbol s_4_12[4] = { 'b', 0xC3, 0xB3, 'l' };
00142 static const symbol s_4_13[4] = { 'r', 0xC3, 0xB3, 'l' };
00143 static const symbol s_4_14[4] = { 't', 0xC3, 0xB3, 'l' };
00144 static const symbol s_4_15[4] = { 'b', 0xC3, 0xB5, 'l' };
00145 static const symbol s_4_16[4] = { 'r', 0xC3, 0xB5, 'l' };
00146 static const symbol s_4_17[4] = { 't', 0xC3, 0xB5, 'l' };
00147 static const symbol s_4_18[3] = { 0xC3, 0xBC, 'l' };
00148 static const symbol s_4_19[1] = { 'n' };
00149 static const symbol s_4_20[2] = { 'a', 'n' };
00150 static const symbol s_4_21[3] = { 'b', 'a', 'n' };
00151 static const symbol s_4_22[2] = { 'e', 'n' };
00152 static const symbol s_4_23[3] = { 'b', 'e', 'n' };
00153 static const symbol s_4_24[7] = { 'k', 0xC3, 0xA9, 'p', 'p', 'e', 'n' };
00154 static const symbol s_4_25[2] = { 'o', 'n' };
00155 static const symbol s_4_26[3] = { 0xC3, 0xB6, 'n' };
00156 static const symbol s_4_27[5] = { 'k', 0xC3, 0xA9, 'p', 'p' };
00157 static const symbol s_4_28[3] = { 'k', 'o', 'r' };
00158 static const symbol s_4_29[1] = { 't' };
00159 static const symbol s_4_30[2] = { 'a', 't' };
00160 static const symbol s_4_31[2] = { 'e', 't' };
00161 static const symbol s_4_32[5] = { 'k', 0xC3, 0xA9, 'n', 't' };
00162 static const symbol s_4_33[7] = { 'a', 'n', 'k', 0xC3, 0xA9, 'n', 't' };
00163 static const symbol s_4_34[7] = { 'e', 'n', 'k', 0xC3, 0xA9, 'n', 't' };
00164 static const symbol s_4_35[7] = { 'o', 'n', 'k', 0xC3, 0xA9, 'n', 't' };
00165 static const symbol s_4_36[2] = { 'o', 't' };
00166 static const symbol s_4_37[4] = { 0xC3, 0xA9, 'r', 't' };
00167 static const symbol s_4_38[3] = { 0xC3, 0xB6, 't' };
00168 static const symbol s_4_39[3] = { 'h', 'e', 'z' };
00169 static const symbol s_4_40[3] = { 'h', 'o', 'z' };
00170 static const symbol s_4_41[4] = { 'h', 0xC3, 0xB6, 'z' };
00171 static const symbol s_4_42[3] = { 'v', 0xC3, 0xA1 };
00172 static const symbol s_4_43[3] = { 'v', 0xC3, 0xA9 };
00173 
00174 static const struct among a_4[44] =
00175 {
00176 /*  0 */ { 2, s_4_0, -1, -1, 0},
00177 /*  1 */ { 2, s_4_1, -1, -1, 0},
00178 /*  2 */ { 2, s_4_2, -1, -1, 0},
00179 /*  3 */ { 2, s_4_3, -1, -1, 0},
00180 /*  4 */ { 2, s_4_4, -1, -1, 0},
00181 /*  5 */ { 3, s_4_5, -1, -1, 0},
00182 /*  6 */ { 3, s_4_6, -1, -1, 0},
00183 /*  7 */ { 3, s_4_7, -1, -1, 0},
00184 /*  8 */ { 3, s_4_8, -1, -1, 0},
00185 /*  9 */ { 2, s_4_9, -1, -1, 0},
00186 /* 10 */ { 4, s_4_10, -1, -1, 0},
00187 /* 11 */ { 4, s_4_11, -1, -1, 0},
00188 /* 12 */ { 4, s_4_12, -1, -1, 0},
00189 /* 13 */ { 4, s_4_13, -1, -1, 0},
00190 /* 14 */ { 4, s_4_14, -1, -1, 0},
00191 /* 15 */ { 4, s_4_15, -1, -1, 0},
00192 /* 16 */ { 4, s_4_16, -1, -1, 0},
00193 /* 17 */ { 4, s_4_17, -1, -1, 0},
00194 /* 18 */ { 3, s_4_18, -1, -1, 0},
00195 /* 19 */ { 1, s_4_19, -1, -1, 0},
00196 /* 20 */ { 2, s_4_20, 19, -1, 0},
00197 /* 21 */ { 3, s_4_21, 20, -1, 0},
00198 /* 22 */ { 2, s_4_22, 19, -1, 0},
00199 /* 23 */ { 3, s_4_23, 22, -1, 0},
00200 /* 24 */ { 7, s_4_24, 22, -1, 0},
00201 /* 25 */ { 2, s_4_25, 19, -1, 0},
00202 /* 26 */ { 3, s_4_26, 19, -1, 0},
00203 /* 27 */ { 5, s_4_27, -1, -1, 0},
00204 /* 28 */ { 3, s_4_28, -1, -1, 0},
00205 /* 29 */ { 1, s_4_29, -1, -1, 0},
00206 /* 30 */ { 2, s_4_30, 29, -1, 0},
00207 /* 31 */ { 2, s_4_31, 29, -1, 0},
00208 /* 32 */ { 5, s_4_32, 29, -1, 0},
00209 /* 33 */ { 7, s_4_33, 32, -1, 0},
00210 /* 34 */ { 7, s_4_34, 32, -1, 0},
00211 /* 35 */ { 7, s_4_35, 32, -1, 0},
00212 /* 36 */ { 2, s_4_36, 29, -1, 0},
00213 /* 37 */ { 4, s_4_37, 29, -1, 0},
00214 /* 38 */ { 3, s_4_38, 29, -1, 0},
00215 /* 39 */ { 3, s_4_39, -1, -1, 0},
00216 /* 40 */ { 3, s_4_40, -1, -1, 0},
00217 /* 41 */ { 4, s_4_41, -1, -1, 0},
00218 /* 42 */ { 3, s_4_42, -1, -1, 0},
00219 /* 43 */ { 3, s_4_43, -1, -1, 0}
00220 };
00221 
00222 static const symbol s_5_0[3] = { 0xC3, 0xA1, 'n' };
00223 static const symbol s_5_1[3] = { 0xC3, 0xA9, 'n' };
00224 static const symbol s_5_2[8] = { 0xC3, 0xA1, 'n', 'k', 0xC3, 0xA9, 'n', 't' };
00225 
00226 static const struct among a_5[3] =
00227 {
00228 /*  0 */ { 3, s_5_0, -1, 2, 0},
00229 /*  1 */ { 3, s_5_1, -1, 1, 0},
00230 /*  2 */ { 8, s_5_2, -1, 3, 0}
00231 };
00232 
00233 static const symbol s_6_0[4] = { 's', 't', 'u', 'l' };
00234 static const symbol s_6_1[5] = { 'a', 's', 't', 'u', 'l' };
00235 static const symbol s_6_2[6] = { 0xC3, 0xA1, 's', 't', 'u', 'l' };
00236 static const symbol s_6_3[5] = { 's', 't', 0xC3, 0xBC, 'l' };
00237 static const symbol s_6_4[6] = { 'e', 's', 't', 0xC3, 0xBC, 'l' };
00238 static const symbol s_6_5[7] = { 0xC3, 0xA9, 's', 't', 0xC3, 0xBC, 'l' };
00239 
00240 static const struct among a_6[6] =
00241 {
00242 /*  0 */ { 4, s_6_0, -1, 2, 0},
00243 /*  1 */ { 5, s_6_1, 0, 1, 0},
00244 /*  2 */ { 6, s_6_2, 0, 3, 0},
00245 /*  3 */ { 5, s_6_3, -1, 2, 0},
00246 /*  4 */ { 6, s_6_4, 3, 1, 0},
00247 /*  5 */ { 7, s_6_5, 3, 4, 0}
00248 };
00249 
00250 static const symbol s_7_0[2] = { 0xC3, 0xA1 };
00251 static const symbol s_7_1[2] = { 0xC3, 0xA9 };
00252 
00253 static const struct among a_7[2] =
00254 {
00255 /*  0 */ { 2, s_7_0, -1, 1, 0},
00256 /*  1 */ { 2, s_7_1, -1, 2, 0}
00257 };
00258 
00259 static const symbol s_8_0[1] = { 'k' };
00260 static const symbol s_8_1[2] = { 'a', 'k' };
00261 static const symbol s_8_2[2] = { 'e', 'k' };
00262 static const symbol s_8_3[2] = { 'o', 'k' };
00263 static const symbol s_8_4[3] = { 0xC3, 0xA1, 'k' };
00264 static const symbol s_8_5[3] = { 0xC3, 0xA9, 'k' };
00265 static const symbol s_8_6[3] = { 0xC3, 0xB6, 'k' };
00266 
00267 static const struct among a_8[7] =
00268 {
00269 /*  0 */ { 1, s_8_0, -1, 7, 0},
00270 /*  1 */ { 2, s_8_1, 0, 4, 0},
00271 /*  2 */ { 2, s_8_2, 0, 6, 0},
00272 /*  3 */ { 2, s_8_3, 0, 5, 0},
00273 /*  4 */ { 3, s_8_4, 0, 1, 0},
00274 /*  5 */ { 3, s_8_5, 0, 2, 0},
00275 /*  6 */ { 3, s_8_6, 0, 3, 0}
00276 };
00277 
00278 static const symbol s_9_0[3] = { 0xC3, 0xA9, 'i' };
00279 static const symbol s_9_1[5] = { 0xC3, 0xA1, 0xC3, 0xA9, 'i' };
00280 static const symbol s_9_2[5] = { 0xC3, 0xA9, 0xC3, 0xA9, 'i' };
00281 static const symbol s_9_3[2] = { 0xC3, 0xA9 };
00282 static const symbol s_9_4[3] = { 'k', 0xC3, 0xA9 };
00283 static const symbol s_9_5[4] = { 'a', 'k', 0xC3, 0xA9 };
00284 static const symbol s_9_6[4] = { 'e', 'k', 0xC3, 0xA9 };
00285 static const symbol s_9_7[4] = { 'o', 'k', 0xC3, 0xA9 };
00286 static const symbol s_9_8[5] = { 0xC3, 0xA1, 'k', 0xC3, 0xA9 };
00287 static const symbol s_9_9[5] = { 0xC3, 0xA9, 'k', 0xC3, 0xA9 };
00288 static const symbol s_9_10[5] = { 0xC3, 0xB6, 'k', 0xC3, 0xA9 };
00289 static const symbol s_9_11[4] = { 0xC3, 0xA9, 0xC3, 0xA9 };
00290 
00291 static const struct among a_9[12] =
00292 {
00293 /*  0 */ { 3, s_9_0, -1, 7, 0},
00294 /*  1 */ { 5, s_9_1, 0, 6, 0},
00295 /*  2 */ { 5, s_9_2, 0, 5, 0},
00296 /*  3 */ { 2, s_9_3, -1, 9, 0},
00297 /*  4 */ { 3, s_9_4, 3, 4, 0},
00298 /*  5 */ { 4, s_9_5, 4, 1, 0},
00299 /*  6 */ { 4, s_9_6, 4, 1, 0},
00300 /*  7 */ { 4, s_9_7, 4, 1, 0},
00301 /*  8 */ { 5, s_9_8, 4, 3, 0},
00302 /*  9 */ { 5, s_9_9, 4, 2, 0},
00303 /* 10 */ { 5, s_9_10, 4, 1, 0},
00304 /* 11 */ { 4, s_9_11, 3, 8, 0}
00305 };
00306 
00307 static const symbol s_10_0[1] = { 'a' };
00308 static const symbol s_10_1[2] = { 'j', 'a' };
00309 static const symbol s_10_2[1] = { 'd' };
00310 static const symbol s_10_3[2] = { 'a', 'd' };
00311 static const symbol s_10_4[2] = { 'e', 'd' };
00312 static const symbol s_10_5[2] = { 'o', 'd' };
00313 static const symbol s_10_6[3] = { 0xC3, 0xA1, 'd' };
00314 static const symbol s_10_7[3] = { 0xC3, 0xA9, 'd' };
00315 static const symbol s_10_8[3] = { 0xC3, 0xB6, 'd' };
00316 static const symbol s_10_9[1] = { 'e' };
00317 static const symbol s_10_10[2] = { 'j', 'e' };
00318 static const symbol s_10_11[2] = { 'n', 'k' };
00319 static const symbol s_10_12[3] = { 'u', 'n', 'k' };
00320 static const symbol s_10_13[4] = { 0xC3, 0xA1, 'n', 'k' };
00321 static const symbol s_10_14[4] = { 0xC3, 0xA9, 'n', 'k' };
00322 static const symbol s_10_15[4] = { 0xC3, 0xBC, 'n', 'k' };
00323 static const symbol s_10_16[2] = { 'u', 'k' };
00324 static const symbol s_10_17[3] = { 'j', 'u', 'k' };
00325 static const symbol s_10_18[5] = { 0xC3, 0xA1, 'j', 'u', 'k' };
00326 static const symbol s_10_19[3] = { 0xC3, 0xBC, 'k' };
00327 static const symbol s_10_20[4] = { 'j', 0xC3, 0xBC, 'k' };
00328 static const symbol s_10_21[6] = { 0xC3, 0xA9, 'j', 0xC3, 0xBC, 'k' };
00329 static const symbol s_10_22[1] = { 'm' };
00330 static const symbol s_10_23[2] = { 'a', 'm' };
00331 static const symbol s_10_24[2] = { 'e', 'm' };
00332 static const symbol s_10_25[2] = { 'o', 'm' };
00333 static const symbol s_10_26[3] = { 0xC3, 0xA1, 'm' };
00334 static const symbol s_10_27[3] = { 0xC3, 0xA9, 'm' };
00335 static const symbol s_10_28[1] = { 'o' };
00336 static const symbol s_10_29[2] = { 0xC3, 0xA1 };
00337 static const symbol s_10_30[2] = { 0xC3, 0xA9 };
00338 
00339 static const struct among a_10[31] =
00340 {
00341 /*  0 */ { 1, s_10_0, -1, 18, 0},
00342 /*  1 */ { 2, s_10_1, 0, 17, 0},
00343 /*  2 */ { 1, s_10_2, -1, 16, 0},
00344 /*  3 */ { 2, s_10_3, 2, 13, 0},
00345 /*  4 */ { 2, s_10_4, 2, 13, 0},
00346 /*  5 */ { 2, s_10_5, 2, 13, 0},
00347 /*  6 */ { 3, s_10_6, 2, 14, 0},
00348 /*  7 */ { 3, s_10_7, 2, 15, 0},
00349 /*  8 */ { 3, s_10_8, 2, 13, 0},
00350 /*  9 */ { 1, s_10_9, -1, 18, 0},
00351 /* 10 */ { 2, s_10_10, 9, 17, 0},
00352 /* 11 */ { 2, s_10_11, -1, 4, 0},
00353 /* 12 */ { 3, s_10_12, 11, 1, 0},
00354 /* 13 */ { 4, s_10_13, 11, 2, 0},
00355 /* 14 */ { 4, s_10_14, 11, 3, 0},
00356 /* 15 */ { 4, s_10_15, 11, 1, 0},
00357 /* 16 */ { 2, s_10_16, -1, 8, 0},
00358 /* 17 */ { 3, s_10_17, 16, 7, 0},
00359 /* 18 */ { 5, s_10_18, 17, 5, 0},
00360 /* 19 */ { 3, s_10_19, -1, 8, 0},
00361 /* 20 */ { 4, s_10_20, 19, 7, 0},
00362 /* 21 */ { 6, s_10_21, 20, 6, 0},
00363 /* 22 */ { 1, s_10_22, -1, 12, 0},
00364 /* 23 */ { 2, s_10_23, 22, 9, 0},
00365 /* 24 */ { 2, s_10_24, 22, 9, 0},
00366 /* 25 */ { 2, s_10_25, 22, 9, 0},
00367 /* 26 */ { 3, s_10_26, 22, 10, 0},
00368 /* 27 */ { 3, s_10_27, 22, 11, 0},
00369 /* 28 */ { 1, s_10_28, -1, 18, 0},
00370 /* 29 */ { 2, s_10_29, -1, 19, 0},
00371 /* 30 */ { 2, s_10_30, -1, 20, 0}
00372 };
00373 
00374 static const symbol s_11_0[2] = { 'i', 'd' };
00375 static const symbol s_11_1[3] = { 'a', 'i', 'd' };
00376 static const symbol s_11_2[4] = { 'j', 'a', 'i', 'd' };
00377 static const symbol s_11_3[3] = { 'e', 'i', 'd' };
00378 static const symbol s_11_4[4] = { 'j', 'e', 'i', 'd' };
00379 static const symbol s_11_5[4] = { 0xC3, 0xA1, 'i', 'd' };
00380 static const symbol s_11_6[4] = { 0xC3, 0xA9, 'i', 'd' };
00381 static const symbol s_11_7[1] = { 'i' };
00382 static const symbol s_11_8[2] = { 'a', 'i' };
00383 static const symbol s_11_9[3] = { 'j', 'a', 'i' };
00384 static const symbol s_11_10[2] = { 'e', 'i' };
00385 static const symbol s_11_11[3] = { 'j', 'e', 'i' };
00386 static const symbol s_11_12[3] = { 0xC3, 0xA1, 'i' };
00387 static const symbol s_11_13[3] = { 0xC3, 0xA9, 'i' };
00388 static const symbol s_11_14[4] = { 'i', 't', 'e', 'k' };
00389 static const symbol s_11_15[5] = { 'e', 'i', 't', 'e', 'k' };
00390 static const symbol s_11_16[6] = { 'j', 'e', 'i', 't', 'e', 'k' };
00391 static const symbol s_11_17[6] = { 0xC3, 0xA9, 'i', 't', 'e', 'k' };
00392 static const symbol s_11_18[2] = { 'i', 'k' };
00393 static const symbol s_11_19[3] = { 'a', 'i', 'k' };
00394 static const symbol s_11_20[4] = { 'j', 'a', 'i', 'k' };
00395 static const symbol s_11_21[3] = { 'e', 'i', 'k' };
00396 static const symbol s_11_22[4] = { 'j', 'e', 'i', 'k' };
00397 static const symbol s_11_23[4] = { 0xC3, 0xA1, 'i', 'k' };
00398 static const symbol s_11_24[4] = { 0xC3, 0xA9, 'i', 'k' };
00399 static const symbol s_11_25[3] = { 'i', 'n', 'k' };
00400 static const symbol s_11_26[4] = { 'a', 'i', 'n', 'k' };
00401 static const symbol s_11_27[5] = { 'j', 'a', 'i', 'n', 'k' };
00402 static const symbol s_11_28[4] = { 'e', 'i', 'n', 'k' };
00403 static const symbol s_11_29[5] = { 'j', 'e', 'i', 'n', 'k' };
00404 static const symbol s_11_30[5] = { 0xC3, 0xA1, 'i', 'n', 'k' };
00405 static const symbol s_11_31[5] = { 0xC3, 0xA9, 'i', 'n', 'k' };
00406 static const symbol s_11_32[5] = { 'a', 'i', 't', 'o', 'k' };
00407 static const symbol s_11_33[6] = { 'j', 'a', 'i', 't', 'o', 'k' };
00408 static const symbol s_11_34[6] = { 0xC3, 0xA1, 'i', 't', 'o', 'k' };
00409 static const symbol s_11_35[2] = { 'i', 'm' };
00410 static const symbol s_11_36[3] = { 'a', 'i', 'm' };
00411 static const symbol s_11_37[4] = { 'j', 'a', 'i', 'm' };
00412 static const symbol s_11_38[3] = { 'e', 'i', 'm' };
00413 static const symbol s_11_39[4] = { 'j', 'e', 'i', 'm' };
00414 static const symbol s_11_40[4] = { 0xC3, 0xA1, 'i', 'm' };
00415 static const symbol s_11_41[4] = { 0xC3, 0xA9, 'i', 'm' };
00416 
00417 static const struct among a_11[42] =
00418 {
00419 /*  0 */ { 2, s_11_0, -1, 10, 0},
00420 /*  1 */ { 3, s_11_1, 0, 9, 0},
00421 /*  2 */ { 4, s_11_2, 1, 6, 0},
00422 /*  3 */ { 3, s_11_3, 0, 9, 0},
00423 /*  4 */ { 4, s_11_4, 3, 6, 0},
00424 /*  5 */ { 4, s_11_5, 0, 7, 0},
00425 /*  6 */ { 4, s_11_6, 0, 8, 0},
00426 /*  7 */ { 1, s_11_7, -1, 15, 0},
00427 /*  8 */ { 2, s_11_8, 7, 14, 0},
00428 /*  9 */ { 3, s_11_9, 8, 11, 0},
00429 /* 10 */ { 2, s_11_10, 7, 14, 0},
00430 /* 11 */ { 3, s_11_11, 10, 11, 0},
00431 /* 12 */ { 3, s_11_12, 7, 12, 0},
00432 /* 13 */ { 3, s_11_13, 7, 13, 0},
00433 /* 14 */ { 4, s_11_14, -1, 24, 0},
00434 /* 15 */ { 5, s_11_15, 14, 21, 0},
00435 /* 16 */ { 6, s_11_16, 15, 20, 0},
00436 /* 17 */ { 6, s_11_17, 14, 23, 0},
00437 /* 18 */ { 2, s_11_18, -1, 29, 0},
00438 /* 19 */ { 3, s_11_19, 18, 26, 0},
00439 /* 20 */ { 4, s_11_20, 19, 25, 0},
00440 /* 21 */ { 3, s_11_21, 18, 26, 0},
00441 /* 22 */ { 4, s_11_22, 21, 25, 0},
00442 /* 23 */ { 4, s_11_23, 18, 27, 0},
00443 /* 24 */ { 4, s_11_24, 18, 28, 0},
00444 /* 25 */ { 3, s_11_25, -1, 20, 0},
00445 /* 26 */ { 4, s_11_26, 25, 17, 0},
00446 /* 27 */ { 5, s_11_27, 26, 16, 0},
00447 /* 28 */ { 4, s_11_28, 25, 17, 0},
00448 /* 29 */ { 5, s_11_29, 28, 16, 0},
00449 /* 30 */ { 5, s_11_30, 25, 18, 0},
00450 /* 31 */ { 5, s_11_31, 25, 19, 0},
00451 /* 32 */ { 5, s_11_32, -1, 21, 0},
00452 /* 33 */ { 6, s_11_33, 32, 20, 0},
00453 /* 34 */ { 6, s_11_34, -1, 22, 0},
00454 /* 35 */ { 2, s_11_35, -1, 5, 0},
00455 /* 36 */ { 3, s_11_36, 35, 4, 0},
00456 /* 37 */ { 4, s_11_37, 36, 1, 0},
00457 /* 38 */ { 3, s_11_38, 35, 4, 0},
00458 /* 39 */ { 4, s_11_39, 38, 1, 0},
00459 /* 40 */ { 4, s_11_40, 35, 2, 0},
00460 /* 41 */ { 4, s_11_41, 35, 3, 0}
00461 };
00462 
00463 static const unsigned char g_v[] = { 17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 17, 52, 14 };
00464 
00465 static const symbol s_0[] = { 'a' };
00466 static const symbol s_1[] = { 'e' };
00467 static const symbol s_2[] = { 'e' };
00468 static const symbol s_3[] = { 'a' };
00469 static const symbol s_4[] = { 'a' };
00470 static const symbol s_5[] = { 'a' };
00471 static const symbol s_6[] = { 'e' };
00472 static const symbol s_7[] = { 'a' };
00473 static const symbol s_8[] = { 'e' };
00474 static const symbol s_9[] = { 'e' };
00475 static const symbol s_10[] = { 'a' };
00476 static const symbol s_11[] = { 'e' };
00477 static const symbol s_12[] = { 'a' };
00478 static const symbol s_13[] = { 'e' };
00479 static const symbol s_14[] = { 'a' };
00480 static const symbol s_15[] = { 'e' };
00481 static const symbol s_16[] = { 'a' };
00482 static const symbol s_17[] = { 'e' };
00483 static const symbol s_18[] = { 'a' };
00484 static const symbol s_19[] = { 'e' };
00485 static const symbol s_20[] = { 'a' };
00486 static const symbol s_21[] = { 'e' };
00487 static const symbol s_22[] = { 'a' };
00488 static const symbol s_23[] = { 'e' };
00489 static const symbol s_24[] = { 'a' };
00490 static const symbol s_25[] = { 'e' };
00491 static const symbol s_26[] = { 'a' };
00492 static const symbol s_27[] = { 'e' };
00493 static const symbol s_28[] = { 'a' };
00494 static const symbol s_29[] = { 'e' };
00495 static const symbol s_30[] = { 'a' };
00496 static const symbol s_31[] = { 'e' };
00497 static const symbol s_32[] = { 'a' };
00498 static const symbol s_33[] = { 'e' };
00499 static const symbol s_34[] = { 'a' };
00500 static const symbol s_35[] = { 'e' };
00501 
00502 static int r_mark_regions(struct SN_env * z) {
00503     z->I[0] = z->l;
00504     {   int c1 = z->c; /* or, line 51 */
00505         if (in_grouping_U(z, g_v, 97, 252, 0)) goto lab1;
00506         if (in_grouping_U(z, g_v, 97, 252, 1) < 0) goto lab1; /* goto */ /* non v, line 48 */
00507         {   int c2 = z->c; /* or, line 49 */
00508             if (z->c + 1 >= z->l || z->p[z->c + 1] >> 5 != 3 || !((101187584 >> (z->p[z->c + 1] & 0x1f)) & 1)) goto lab3;
00509             if (!(find_among(z, a_0, 8))) goto lab3; /* among, line 49 */
00510             goto lab2;
00511         lab3:
00512             z->c = c2;
00513             {   int ret = skip_utf8(z->p, z->c, 0, z->l, 1);
00514                 if (ret < 0) goto lab1;
00515                 z->c = ret; /* next, line 49 */
00516             }
00517         }
00518     lab2:
00519         z->I[0] = z->c; /* setmark p1, line 50 */
00520         goto lab0;
00521     lab1:
00522         z->c = c1;
00523         if (out_grouping_U(z, g_v, 97, 252, 0)) return 0;
00524         {    /* gopast */ /* grouping v, line 53 */
00525             int ret = out_grouping_U(z, g_v, 97, 252, 1);
00526             if (ret < 0) return 0;
00527             z->c += ret;
00528         }
00529         z->I[0] = z->c; /* setmark p1, line 53 */
00530     }
00531 lab0:
00532     return 1;
00533 }
00534 
00535 static int r_R1(struct SN_env * z) {
00536     if (!(z->I[0] <= z->c)) return 0;
00537     return 1;
00538 }
00539 
00540 static int r_v_ending(struct SN_env * z) {
00541     int among_var;
00542     z->ket = z->c; /* [, line 61 */
00543     if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 161 && z->p[z->c - 1] != 169)) return 0;
00544     among_var = find_among_b(z, a_1, 2); /* substring, line 61 */
00545     if (!(among_var)) return 0;
00546     z->bra = z->c; /* ], line 61 */
00547     {   int ret = r_R1(z);
00548         if (ret == 0) return 0; /* call R1, line 61 */
00549         if (ret < 0) return ret;
00550     }
00551     switch(among_var) {
00552         case 0: return 0;
00553         case 1:
00554             {   int ret = slice_from_s(z, 1, s_0); /* <-, line 62 */
00555                 if (ret < 0) return ret;
00556             }
00557             break;
00558         case 2:
00559             {   int ret = slice_from_s(z, 1, s_1); /* <-, line 63 */
00560                 if (ret < 0) return ret;
00561             }
00562             break;
00563     }
00564     return 1;
00565 }
00566 
00567 static int r_double(struct SN_env * z) {
00568     {   int m_test = z->l - z->c; /* test, line 68 */
00569         if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((106790108 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
00570         if (!(find_among_b(z, a_2, 23))) return 0; /* among, line 68 */
00571         z->c = z->l - m_test;
00572     }
00573     return 1;
00574 }
00575 
00576 static int r_undouble(struct SN_env * z) {
00577     {   int ret = skip_utf8(z->p, z->c, z->lb, 0, -1);
00578         if (ret < 0) return 0;
00579         z->c = ret; /* next, line 73 */
00580     }
00581     z->ket = z->c; /* [, line 73 */
00582     {   int ret = skip_utf8(z->p, z->c, z->lb, z->l, - 1);
00583         if (ret < 0) return 0;
00584         z->c = ret; /* hop, line 73 */
00585     }
00586     z->bra = z->c; /* ], line 73 */
00587     {   int ret = slice_del(z); /* delete, line 73 */
00588         if (ret < 0) return ret;
00589     }
00590     return 1;
00591 }
00592 
00593 static int r_instrum(struct SN_env * z) {
00594     int among_var;
00595     z->ket = z->c; /* [, line 77 */
00596     if (z->c - 1 <= z->lb || z->p[z->c - 1] != 108) return 0;
00597     among_var = find_among_b(z, a_3, 2); /* substring, line 77 */
00598     if (!(among_var)) return 0;
00599     z->bra = z->c; /* ], line 77 */
00600     {   int ret = r_R1(z);
00601         if (ret == 0) return 0; /* call R1, line 77 */
00602         if (ret < 0) return ret;
00603     }
00604     switch(among_var) {
00605         case 0: return 0;
00606         case 1:
00607             {   int ret = r_double(z);
00608                 if (ret == 0) return 0; /* call double, line 78 */
00609                 if (ret < 0) return ret;
00610             }
00611             break;
00612         case 2:
00613             {   int ret = r_double(z);
00614                 if (ret == 0) return 0; /* call double, line 79 */
00615                 if (ret < 0) return ret;
00616             }
00617             break;
00618     }
00619     {   int ret = slice_del(z); /* delete, line 81 */
00620         if (ret < 0) return ret;
00621     }
00622     {   int ret = r_undouble(z);
00623         if (ret == 0) return 0; /* call undouble, line 82 */
00624         if (ret < 0) return ret;
00625     }
00626     return 1;
00627 }
00628 
00629 static int r_case(struct SN_env * z) {
00630     z->ket = z->c; /* [, line 87 */
00631     if (!(find_among_b(z, a_4, 44))) return 0; /* substring, line 87 */
00632     z->bra = z->c; /* ], line 87 */
00633     {   int ret = r_R1(z);
00634         if (ret == 0) return 0; /* call R1, line 87 */
00635         if (ret < 0) return ret;
00636     }
00637     {   int ret = slice_del(z); /* delete, line 111 */
00638         if (ret < 0) return ret;
00639     }
00640     {   int ret = r_v_ending(z);
00641         if (ret == 0) return 0; /* call v_ending, line 112 */
00642         if (ret < 0) return ret;
00643     }
00644     return 1;
00645 }
00646 
00647 static int r_case_special(struct SN_env * z) {
00648     int among_var;
00649     z->ket = z->c; /* [, line 116 */
00650     if (z->c - 2 <= z->lb || (z->p[z->c - 1] != 110 && z->p[z->c - 1] != 116)) return 0;
00651     among_var = find_among_b(z, a_5, 3); /* substring, line 116 */
00652     if (!(among_var)) return 0;
00653     z->bra = z->c; /* ], line 116 */
00654     {   int ret = r_R1(z);
00655         if (ret == 0) return 0; /* call R1, line 116 */
00656         if (ret < 0) return ret;
00657     }
00658     switch(among_var) {
00659         case 0: return 0;
00660         case 1:
00661             {   int ret = slice_from_s(z, 1, s_2); /* <-, line 117 */
00662                 if (ret < 0) return ret;
00663             }
00664             break;
00665         case 2:
00666             {   int ret = slice_from_s(z, 1, s_3); /* <-, line 118 */
00667                 if (ret < 0) return ret;
00668             }
00669             break;
00670         case 3:
00671             {   int ret = slice_from_s(z, 1, s_4); /* <-, line 119 */
00672                 if (ret < 0) return ret;
00673             }
00674             break;
00675     }
00676     return 1;
00677 }
00678 
00679 static int r_case_other(struct SN_env * z) {
00680     int among_var;
00681     z->ket = z->c; /* [, line 124 */
00682     if (z->c - 3 <= z->lb || z->p[z->c - 1] != 108) return 0;
00683     among_var = find_among_b(z, a_6, 6); /* substring, line 124 */
00684     if (!(among_var)) return 0;
00685     z->bra = z->c; /* ], line 124 */
00686     {   int ret = r_R1(z);
00687         if (ret == 0) return 0; /* call R1, line 124 */
00688         if (ret < 0) return ret;
00689     }
00690     switch(among_var) {
00691         case 0: return 0;
00692         case 1:
00693             {   int ret = slice_del(z); /* delete, line 125 */
00694                 if (ret < 0) return ret;
00695             }
00696             break;
00697         case 2:
00698             {   int ret = slice_del(z); /* delete, line 126 */
00699                 if (ret < 0) return ret;
00700             }
00701             break;
00702         case 3:
00703             {   int ret = slice_from_s(z, 1, s_5); /* <-, line 127 */
00704                 if (ret < 0) return ret;
00705             }
00706             break;
00707         case 4:
00708             {   int ret = slice_from_s(z, 1, s_6); /* <-, line 128 */
00709                 if (ret < 0) return ret;
00710             }
00711             break;
00712     }
00713     return 1;
00714 }
00715 
00716 static int r_factive(struct SN_env * z) {
00717     int among_var;
00718     z->ket = z->c; /* [, line 133 */
00719     if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 161 && z->p[z->c - 1] != 169)) return 0;
00720     among_var = find_among_b(z, a_7, 2); /* substring, line 133 */
00721     if (!(among_var)) return 0;
00722     z->bra = z->c; /* ], line 133 */
00723     {   int ret = r_R1(z);
00724         if (ret == 0) return 0; /* call R1, line 133 */
00725         if (ret < 0) return ret;
00726     }
00727     switch(among_var) {
00728         case 0: return 0;
00729         case 1:
00730             {   int ret = r_double(z);
00731                 if (ret == 0) return 0; /* call double, line 134 */
00732                 if (ret < 0) return ret;
00733             }
00734             break;
00735         case 2:
00736             {   int ret = r_double(z);
00737                 if (ret == 0) return 0; /* call double, line 135 */
00738                 if (ret < 0) return ret;
00739             }
00740             break;
00741     }
00742     {   int ret = slice_del(z); /* delete, line 137 */
00743         if (ret < 0) return ret;
00744     }
00745     {   int ret = r_undouble(z);
00746         if (ret == 0) return 0; /* call undouble, line 138 */
00747         if (ret < 0) return ret;
00748     }
00749     return 1;
00750 }
00751 
00752 static int r_plural(struct SN_env * z) {
00753     int among_var;
00754     z->ket = z->c; /* [, line 142 */
00755     if (z->c <= z->lb || z->p[z->c - 1] != 107) return 0;
00756     among_var = find_among_b(z, a_8, 7); /* substring, line 142 */
00757     if (!(among_var)) return 0;
00758     z->bra = z->c; /* ], line 142 */
00759     {   int ret = r_R1(z);
00760         if (ret == 0) return 0; /* call R1, line 142 */
00761         if (ret < 0) return ret;
00762     }
00763     switch(among_var) {
00764         case 0: return 0;
00765         case 1:
00766             {   int ret = slice_from_s(z, 1, s_7); /* <-, line 143 */
00767                 if (ret < 0) return ret;
00768             }
00769             break;
00770         case 2:
00771             {   int ret = slice_from_s(z, 1, s_8); /* <-, line 144 */
00772                 if (ret < 0) return ret;
00773             }
00774             break;
00775         case 3:
00776             {   int ret = slice_del(z); /* delete, line 145 */
00777                 if (ret < 0) return ret;
00778             }
00779             break;
00780         case 4:
00781             {   int ret = slice_del(z); /* delete, line 146 */
00782                 if (ret < 0) return ret;
00783             }
00784             break;
00785         case 5:
00786             {   int ret = slice_del(z); /* delete, line 147 */
00787                 if (ret < 0) return ret;
00788             }
00789             break;
00790         case 6:
00791             {   int ret = slice_del(z); /* delete, line 148 */
00792                 if (ret < 0) return ret;
00793             }
00794             break;
00795         case 7:
00796             {   int ret = slice_del(z); /* delete, line 149 */
00797                 if (ret < 0) return ret;
00798             }
00799             break;
00800     }
00801     return 1;
00802 }
00803 
00804 static int r_owned(struct SN_env * z) {
00805     int among_var;
00806     z->ket = z->c; /* [, line 154 */
00807     if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 105 && z->p[z->c - 1] != 169)) return 0;
00808     among_var = find_among_b(z, a_9, 12); /* substring, line 154 */
00809     if (!(among_var)) return 0;
00810     z->bra = z->c; /* ], line 154 */
00811     {   int ret = r_R1(z);
00812         if (ret == 0) return 0; /* call R1, line 154 */
00813         if (ret < 0) return ret;
00814     }
00815     switch(among_var) {
00816         case 0: return 0;
00817         case 1:
00818             {   int ret = slice_del(z); /* delete, line 155 */
00819                 if (ret < 0) return ret;
00820             }
00821             break;
00822         case 2:
00823             {   int ret = slice_from_s(z, 1, s_9); /* <-, line 156 */
00824                 if (ret < 0) return ret;
00825             }
00826             break;
00827         case 3:
00828             {   int ret = slice_from_s(z, 1, s_10); /* <-, line 157 */
00829                 if (ret < 0) return ret;
00830             }
00831             break;
00832         case 4:
00833             {   int ret = slice_del(z); /* delete, line 158 */
00834                 if (ret < 0) return ret;
00835             }
00836             break;
00837         case 5:
00838             {   int ret = slice_from_s(z, 1, s_11); /* <-, line 159 */
00839                 if (ret < 0) return ret;
00840             }
00841             break;
00842         case 6:
00843             {   int ret = slice_from_s(z, 1, s_12); /* <-, line 160 */
00844                 if (ret < 0) return ret;
00845             }
00846             break;
00847         case 7:
00848             {   int ret = slice_del(z); /* delete, line 161 */
00849                 if (ret < 0) return ret;
00850             }
00851             break;
00852         case 8:
00853             {   int ret = slice_from_s(z, 1, s_13); /* <-, line 162 */
00854                 if (ret < 0) return ret;
00855             }
00856             break;
00857         case 9:
00858             {   int ret = slice_del(z); /* delete, line 163 */
00859                 if (ret < 0) return ret;
00860             }
00861             break;
00862     }
00863     return 1;
00864 }
00865 
00866 static int r_sing_owner(struct SN_env * z) {
00867     int among_var;
00868     z->ket = z->c; /* [, line 168 */
00869     among_var = find_among_b(z, a_10, 31); /* substring, line 168 */
00870     if (!(among_var)) return 0;
00871     z->bra = z->c; /* ], line 168 */
00872     {   int ret = r_R1(z);
00873         if (ret == 0) return 0; /* call R1, line 168 */
00874         if (ret < 0) return ret;
00875     }
00876     switch(among_var) {
00877         case 0: return 0;
00878         case 1:
00879             {   int ret = slice_del(z); /* delete, line 169 */
00880                 if (ret < 0) return ret;
00881             }
00882             break;
00883         case 2:
00884             {   int ret = slice_from_s(z, 1, s_14); /* <-, line 170 */
00885                 if (ret < 0) return ret;
00886             }
00887             break;
00888         case 3:
00889             {   int ret = slice_from_s(z, 1, s_15); /* <-, line 171 */
00890                 if (ret < 0) return ret;
00891             }
00892             break;
00893         case 4:
00894             {   int ret = slice_del(z); /* delete, line 172 */
00895                 if (ret < 0) return ret;
00896             }
00897             break;
00898         case 5:
00899             {   int ret = slice_from_s(z, 1, s_16); /* <-, line 173 */
00900                 if (ret < 0) return ret;
00901             }
00902             break;
00903         case 6:
00904             {   int ret = slice_from_s(z, 1, s_17); /* <-, line 174 */
00905                 if (ret < 0) return ret;
00906             }
00907             break;
00908         case 7:
00909             {   int ret = slice_del(z); /* delete, line 175 */
00910                 if (ret < 0) return ret;
00911             }
00912             break;
00913         case 8:
00914             {   int ret = slice_del(z); /* delete, line 176 */
00915                 if (ret < 0) return ret;
00916             }
00917             break;
00918         case 9:
00919             {   int ret = slice_del(z); /* delete, line 177 */
00920                 if (ret < 0) return ret;
00921             }
00922             break;
00923         case 10:
00924             {   int ret = slice_from_s(z, 1, s_18); /* <-, line 178 */
00925                 if (ret < 0) return ret;
00926             }
00927             break;
00928         case 11:
00929             {   int ret = slice_from_s(z, 1, s_19); /* <-, line 179 */
00930                 if (ret < 0) return ret;
00931             }
00932             break;
00933         case 12:
00934             {   int ret = slice_del(z); /* delete, line 180 */
00935                 if (ret < 0) return ret;
00936             }
00937             break;
00938         case 13:
00939             {   int ret = slice_del(z); /* delete, line 181 */
00940                 if (ret < 0) return ret;
00941             }
00942             break;
00943         case 14:
00944             {   int ret = slice_from_s(z, 1, s_20); /* <-, line 182 */
00945                 if (ret < 0) return ret;
00946             }
00947             break;
00948         case 15:
00949             {   int ret = slice_from_s(z, 1, s_21); /* <-, line 183 */
00950                 if (ret < 0) return ret;
00951             }
00952             break;
00953         case 16:
00954             {   int ret = slice_del(z); /* delete, line 184 */
00955                 if (ret < 0) return ret;
00956             }
00957             break;
00958         case 17:
00959             {   int ret = slice_del(z); /* delete, line 185 */
00960                 if (ret < 0) return ret;
00961             }
00962             break;
00963         case 18:
00964             {   int ret = slice_del(z); /* delete, line 186 */
00965                 if (ret < 0) return ret;
00966             }
00967             break;
00968         case 19:
00969             {   int ret = slice_from_s(z, 1, s_22); /* <-, line 187 */
00970                 if (ret < 0) return ret;
00971             }
00972             break;
00973         case 20:
00974             {   int ret = slice_from_s(z, 1, s_23); /* <-, line 188 */
00975                 if (ret < 0) return ret;
00976             }
00977             break;
00978     }
00979     return 1;
00980 }
00981 
00982 static int r_plur_owner(struct SN_env * z) {
00983     int among_var;
00984     z->ket = z->c; /* [, line 193 */
00985     if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((10768 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
00986     among_var = find_among_b(z, a_11, 42); /* substring, line 193 */
00987     if (!(among_var)) return 0;
00988     z->bra = z->c; /* ], line 193 */
00989     {   int ret = r_R1(z);
00990         if (ret == 0) return 0; /* call R1, line 193 */
00991         if (ret < 0) return ret;
00992     }
00993     switch(among_var) {
00994         case 0: return 0;
00995         case 1:
00996             {   int ret = slice_del(z); /* delete, line 194 */
00997                 if (ret < 0) return ret;
00998             }
00999             break;
01000         case 2:
01001             {   int ret = slice_from_s(z, 1, s_24); /* <-, line 195 */
01002                 if (ret < 0) return ret;
01003             }
01004             break;
01005         case 3:
01006             {   int ret = slice_from_s(z, 1, s_25); /* <-, line 196 */
01007                 if (ret < 0) return ret;
01008             }
01009             break;
01010         case 4:
01011             {   int ret = slice_del(z); /* delete, line 197 */
01012                 if (ret < 0) return ret;
01013             }
01014             break;
01015         case 5:
01016             {   int ret = slice_del(z); /* delete, line 198 */
01017                 if (ret < 0) return ret;
01018             }
01019             break;
01020         case 6:
01021             {   int ret = slice_del(z); /* delete, line 199 */
01022                 if (ret < 0) return ret;
01023             }
01024             break;
01025         case 7:
01026             {   int ret = slice_from_s(z, 1, s_26); /* <-, line 200 */
01027                 if (ret < 0) return ret;
01028             }
01029             break;
01030         case 8:
01031             {   int ret = slice_from_s(z, 1, s_27); /* <-, line 201 */
01032                 if (ret < 0) return ret;
01033             }
01034             break;
01035         case 9:
01036             {   int ret = slice_del(z); /* delete, line 202 */
01037                 if (ret < 0) return ret;
01038             }
01039             break;
01040         case 10:
01041             {   int ret = slice_del(z); /* delete, line 203 */
01042                 if (ret < 0) return ret;
01043             }
01044             break;
01045         case 11:
01046             {   int ret = slice_del(z); /* delete, line 204 */
01047                 if (ret < 0) return ret;
01048             }
01049             break;
01050         case 12:
01051             {   int ret = slice_from_s(z, 1, s_28); /* <-, line 205 */
01052                 if (ret < 0) return ret;
01053             }
01054             break;
01055         case 13:
01056             {   int ret = slice_from_s(z, 1, s_29); /* <-, line 206 */
01057                 if (ret < 0) return ret;
01058             }
01059             break;
01060         case 14:
01061             {   int ret = slice_del(z); /* delete, line 207 */
01062                 if (ret < 0) return ret;
01063             }
01064             break;
01065         case 15:
01066             {   int ret = slice_del(z); /* delete, line 208 */
01067                 if (ret < 0) return ret;
01068             }
01069             break;
01070         case 16:
01071             {   int ret = slice_del(z); /* delete, line 209 */
01072                 if (ret < 0) return ret;
01073             }
01074             break;
01075         case 17:
01076             {   int ret = slice_del(z); /* delete, line 210 */
01077                 if (ret < 0) return ret;
01078             }
01079             break;
01080         case 18:
01081             {   int ret = slice_from_s(z, 1, s_30); /* <-, line 211 */
01082                 if (ret < 0) return ret;
01083             }
01084             break;
01085         case 19:
01086             {   int ret = slice_from_s(z, 1, s_31); /* <-, line 212 */
01087                 if (ret < 0) return ret;
01088             }
01089             break;
01090         case 20:
01091             {   int ret = slice_del(z); /* delete, line 214 */
01092                 if (ret < 0) return ret;
01093             }
01094             break;
01095         case 21:
01096             {   int ret = slice_del(z); /* delete, line 215 */
01097                 if (ret < 0) return ret;
01098             }
01099             break;
01100         case 22:
01101             {   int ret = slice_from_s(z, 1, s_32); /* <-, line 216 */
01102                 if (ret < 0) return ret;
01103             }
01104             break;
01105         case 23:
01106             {   int ret = slice_from_s(z, 1, s_33); /* <-, line 217 */
01107                 if (ret < 0) return ret;
01108             }
01109             break;
01110         case 24:
01111             {   int ret = slice_del(z); /* delete, line 218 */
01112                 if (ret < 0) return ret;
01113             }
01114             break;
01115         case 25:
01116             {   int ret = slice_del(z); /* delete, line 219 */
01117                 if (ret < 0) return ret;
01118             }
01119             break;
01120         case 26:
01121             {   int ret = slice_del(z); /* delete, line 220 */
01122                 if (ret < 0) return ret;
01123             }
01124             break;
01125         case 27:
01126             {   int ret = slice_from_s(z, 1, s_34); /* <-, line 221 */
01127                 if (ret < 0) return ret;
01128             }
01129             break;
01130         case 28:
01131             {   int ret = slice_from_s(z, 1, s_35); /* <-, line 222 */
01132                 if (ret < 0) return ret;
01133             }
01134             break;
01135         case 29:
01136             {   int ret = slice_del(z); /* delete, line 223 */
01137                 if (ret < 0) return ret;
01138             }
01139             break;
01140     }
01141     return 1;
01142 }
01143 
01144 extern int hungarian_UTF_8_stem(struct SN_env * z) {
01145     {   int c1 = z->c; /* do, line 229 */
01146         {   int ret = r_mark_regions(z);
01147             if (ret == 0) goto lab0; /* call mark_regions, line 229 */
01148             if (ret < 0) return ret;
01149         }
01150     lab0:
01151         z->c = c1;
01152     }
01153     z->lb = z->c; z->c = z->l; /* backwards, line 230 */
01154 
01155     {   int m2 = z->l - z->c; (void)m2; /* do, line 231 */
01156         {   int ret = r_instrum(z);
01157             if (ret == 0) goto lab1; /* call instrum, line 231 */
01158             if (ret < 0) return ret;
01159         }
01160     lab1:
01161         z->c = z->l - m2;
01162     }
01163     {   int m3 = z->l - z->c; (void)m3; /* do, line 232 */
01164         {   int ret = r_case(z);
01165             if (ret == 0) goto lab2; /* call case, line 232 */
01166             if (ret < 0) return ret;
01167         }
01168     lab2:
01169         z->c = z->l - m3;
01170     }
01171     {   int m4 = z->l - z->c; (void)m4; /* do, line 233 */
01172         {   int ret = r_case_special(z);
01173             if (ret == 0) goto lab3; /* call case_special, line 233 */
01174             if (ret < 0) return ret;
01175         }
01176     lab3:
01177         z->c = z->l - m4;
01178     }
01179     {   int m5 = z->l - z->c; (void)m5; /* do, line 234 */
01180         {   int ret = r_case_other(z);
01181             if (ret == 0) goto lab4; /* call case_other, line 234 */
01182             if (ret < 0) return ret;
01183         }
01184     lab4:
01185         z->c = z->l - m5;
01186     }
01187     {   int m6 = z->l - z->c; (void)m6; /* do, line 235 */
01188         {   int ret = r_factive(z);
01189             if (ret == 0) goto lab5; /* call factive, line 235 */
01190             if (ret < 0) return ret;
01191         }
01192     lab5:
01193         z->c = z->l - m6;
01194     }
01195     {   int m7 = z->l - z->c; (void)m7; /* do, line 236 */
01196         {   int ret = r_owned(z);
01197             if (ret == 0) goto lab6; /* call owned, line 236 */
01198             if (ret < 0) return ret;
01199         }
01200     lab6:
01201         z->c = z->l - m7;
01202     }
01203     {   int m8 = z->l - z->c; (void)m8; /* do, line 237 */
01204         {   int ret = r_sing_owner(z);
01205             if (ret == 0) goto lab7; /* call sing_owner, line 237 */
01206             if (ret < 0) return ret;
01207         }
01208     lab7:
01209         z->c = z->l - m8;
01210     }
01211     {   int m9 = z->l - z->c; (void)m9; /* do, line 238 */
01212         {   int ret = r_plur_owner(z);
01213             if (ret == 0) goto lab8; /* call plur_owner, line 238 */
01214             if (ret < 0) return ret;
01215         }
01216     lab8:
01217         z->c = z->l - m9;
01218     }
01219     {   int m10 = z->l - z->c; (void)m10; /* do, line 239 */
01220         {   int ret = r_plural(z);
01221             if (ret == 0) goto lab9; /* call plural, line 239 */
01222             if (ret < 0) return ret;
01223         }
01224     lab9:
01225         z->c = z->l - m10;
01226     }
01227     z->c = z->lb;
01228     return 1;
01229 }
01230 
01231 extern struct SN_env * hungarian_UTF_8_create_env(void) { return SN_create_env(0, 1, 0); }
01232 
01233 extern void hungarian_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); }
01234