00001
00002
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 { 2, s_0_0, -1, -1, 0},
00051 { 3, s_0_1, -1, -1, 0},
00052 { 2, s_0_2, -1, -1, 0},
00053 { 2, s_0_3, -1, -1, 0},
00054 { 2, s_0_4, -1, -1, 0},
00055 { 2, s_0_5, -1, -1, 0},
00056 { 2, s_0_6, -1, -1, 0},
00057 { 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 { 2, s_1_0, -1, 1, 0},
00066 { 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 { 2, s_2_0, -1, -1, 0},
00096 { 2, s_2_1, -1, -1, 0},
00097 { 2, s_2_2, -1, -1, 0},
00098 { 2, s_2_3, -1, -1, 0},
00099 { 2, s_2_4, -1, -1, 0},
00100 { 2, s_2_5, -1, -1, 0},
00101 { 2, s_2_6, -1, -1, 0},
00102 { 2, s_2_7, -1, -1, 0},
00103 { 2, s_2_8, -1, -1, 0},
00104 { 2, s_2_9, -1, -1, 0},
00105 { 2, s_2_10, -1, -1, 0},
00106 { 2, s_2_11, -1, -1, 0},
00107 { 3, s_2_12, -1, -1, 0},
00108 { 2, s_2_13, -1, -1, 0},
00109 { 3, s_2_14, -1, -1, 0},
00110 { 2, s_2_15, -1, -1, 0},
00111 { 2, s_2_16, -1, -1, 0},
00112 { 3, s_2_17, -1, -1, 0},
00113 { 3, s_2_18, -1, -1, 0},
00114 { 3, s_2_19, -1, -1, 0},
00115 { 3, s_2_20, -1, -1, 0},
00116 { 3, s_2_21, -1, -1, 0},
00117 { 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 { 2, s_3_0, -1, 1, 0},
00126 { 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 { 2, s_4_0, -1, -1, 0},
00177 { 2, s_4_1, -1, -1, 0},
00178 { 2, s_4_2, -1, -1, 0},
00179 { 2, s_4_3, -1, -1, 0},
00180 { 2, s_4_4, -1, -1, 0},
00181 { 3, s_4_5, -1, -1, 0},
00182 { 3, s_4_6, -1, -1, 0},
00183 { 3, s_4_7, -1, -1, 0},
00184 { 3, s_4_8, -1, -1, 0},
00185 { 2, s_4_9, -1, -1, 0},
00186 { 4, s_4_10, -1, -1, 0},
00187 { 4, s_4_11, -1, -1, 0},
00188 { 4, s_4_12, -1, -1, 0},
00189 { 4, s_4_13, -1, -1, 0},
00190 { 4, s_4_14, -1, -1, 0},
00191 { 4, s_4_15, -1, -1, 0},
00192 { 4, s_4_16, -1, -1, 0},
00193 { 4, s_4_17, -1, -1, 0},
00194 { 3, s_4_18, -1, -1, 0},
00195 { 1, s_4_19, -1, -1, 0},
00196 { 2, s_4_20, 19, -1, 0},
00197 { 3, s_4_21, 20, -1, 0},
00198 { 2, s_4_22, 19, -1, 0},
00199 { 3, s_4_23, 22, -1, 0},
00200 { 7, s_4_24, 22, -1, 0},
00201 { 2, s_4_25, 19, -1, 0},
00202 { 3, s_4_26, 19, -1, 0},
00203 { 5, s_4_27, -1, -1, 0},
00204 { 3, s_4_28, -1, -1, 0},
00205 { 1, s_4_29, -1, -1, 0},
00206 { 2, s_4_30, 29, -1, 0},
00207 { 2, s_4_31, 29, -1, 0},
00208 { 5, s_4_32, 29, -1, 0},
00209 { 7, s_4_33, 32, -1, 0},
00210 { 7, s_4_34, 32, -1, 0},
00211 { 7, s_4_35, 32, -1, 0},
00212 { 2, s_4_36, 29, -1, 0},
00213 { 4, s_4_37, 29, -1, 0},
00214 { 3, s_4_38, 29, -1, 0},
00215 { 3, s_4_39, -1, -1, 0},
00216 { 3, s_4_40, -1, -1, 0},
00217 { 4, s_4_41, -1, -1, 0},
00218 { 3, s_4_42, -1, -1, 0},
00219 { 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 { 3, s_5_0, -1, 2, 0},
00229 { 3, s_5_1, -1, 1, 0},
00230 { 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 { 4, s_6_0, -1, 2, 0},
00243 { 5, s_6_1, 0, 1, 0},
00244 { 6, s_6_2, 0, 3, 0},
00245 { 5, s_6_3, -1, 2, 0},
00246 { 6, s_6_4, 3, 1, 0},
00247 { 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 { 2, s_7_0, -1, 1, 0},
00256 { 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 { 1, s_8_0, -1, 7, 0},
00270 { 2, s_8_1, 0, 4, 0},
00271 { 2, s_8_2, 0, 6, 0},
00272 { 2, s_8_3, 0, 5, 0},
00273 { 3, s_8_4, 0, 1, 0},
00274 { 3, s_8_5, 0, 2, 0},
00275 { 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 { 3, s_9_0, -1, 7, 0},
00294 { 5, s_9_1, 0, 6, 0},
00295 { 5, s_9_2, 0, 5, 0},
00296 { 2, s_9_3, -1, 9, 0},
00297 { 3, s_9_4, 3, 4, 0},
00298 { 4, s_9_5, 4, 1, 0},
00299 { 4, s_9_6, 4, 1, 0},
00300 { 4, s_9_7, 4, 1, 0},
00301 { 5, s_9_8, 4, 3, 0},
00302 { 5, s_9_9, 4, 2, 0},
00303 { 5, s_9_10, 4, 1, 0},
00304 { 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 { 1, s_10_0, -1, 18, 0},
00342 { 2, s_10_1, 0, 17, 0},
00343 { 1, s_10_2, -1, 16, 0},
00344 { 2, s_10_3, 2, 13, 0},
00345 { 2, s_10_4, 2, 13, 0},
00346 { 2, s_10_5, 2, 13, 0},
00347 { 3, s_10_6, 2, 14, 0},
00348 { 3, s_10_7, 2, 15, 0},
00349 { 3, s_10_8, 2, 13, 0},
00350 { 1, s_10_9, -1, 18, 0},
00351 { 2, s_10_10, 9, 17, 0},
00352 { 2, s_10_11, -1, 4, 0},
00353 { 3, s_10_12, 11, 1, 0},
00354 { 4, s_10_13, 11, 2, 0},
00355 { 4, s_10_14, 11, 3, 0},
00356 { 4, s_10_15, 11, 1, 0},
00357 { 2, s_10_16, -1, 8, 0},
00358 { 3, s_10_17, 16, 7, 0},
00359 { 5, s_10_18, 17, 5, 0},
00360 { 3, s_10_19, -1, 8, 0},
00361 { 4, s_10_20, 19, 7, 0},
00362 { 6, s_10_21, 20, 6, 0},
00363 { 1, s_10_22, -1, 12, 0},
00364 { 2, s_10_23, 22, 9, 0},
00365 { 2, s_10_24, 22, 9, 0},
00366 { 2, s_10_25, 22, 9, 0},
00367 { 3, s_10_26, 22, 10, 0},
00368 { 3, s_10_27, 22, 11, 0},
00369 { 1, s_10_28, -1, 18, 0},
00370 { 2, s_10_29, -1, 19, 0},
00371 { 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 { 2, s_11_0, -1, 10, 0},
00420 { 3, s_11_1, 0, 9, 0},
00421 { 4, s_11_2, 1, 6, 0},
00422 { 3, s_11_3, 0, 9, 0},
00423 { 4, s_11_4, 3, 6, 0},
00424 { 4, s_11_5, 0, 7, 0},
00425 { 4, s_11_6, 0, 8, 0},
00426 { 1, s_11_7, -1, 15, 0},
00427 { 2, s_11_8, 7, 14, 0},
00428 { 3, s_11_9, 8, 11, 0},
00429 { 2, s_11_10, 7, 14, 0},
00430 { 3, s_11_11, 10, 11, 0},
00431 { 3, s_11_12, 7, 12, 0},
00432 { 3, s_11_13, 7, 13, 0},
00433 { 4, s_11_14, -1, 24, 0},
00434 { 5, s_11_15, 14, 21, 0},
00435 { 6, s_11_16, 15, 20, 0},
00436 { 6, s_11_17, 14, 23, 0},
00437 { 2, s_11_18, -1, 29, 0},
00438 { 3, s_11_19, 18, 26, 0},
00439 { 4, s_11_20, 19, 25, 0},
00440 { 3, s_11_21, 18, 26, 0},
00441 { 4, s_11_22, 21, 25, 0},
00442 { 4, s_11_23, 18, 27, 0},
00443 { 4, s_11_24, 18, 28, 0},
00444 { 3, s_11_25, -1, 20, 0},
00445 { 4, s_11_26, 25, 17, 0},
00446 { 5, s_11_27, 26, 16, 0},
00447 { 4, s_11_28, 25, 17, 0},
00448 { 5, s_11_29, 28, 16, 0},
00449 { 5, s_11_30, 25, 18, 0},
00450 { 5, s_11_31, 25, 19, 0},
00451 { 5, s_11_32, -1, 21, 0},
00452 { 6, s_11_33, 32, 20, 0},
00453 { 6, s_11_34, -1, 22, 0},
00454 { 2, s_11_35, -1, 5, 0},
00455 { 3, s_11_36, 35, 4, 0},
00456 { 4, s_11_37, 36, 1, 0},
00457 { 3, s_11_38, 35, 4, 0},
00458 { 4, s_11_39, 38, 1, 0},
00459 { 4, s_11_40, 35, 2, 0},
00460 { 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;
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;
00507 { int c2 = z->c;
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;
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;
00516 }
00517 }
00518 lab2:
00519 z->I[0] = z->c;
00520 goto lab0;
00521 lab1:
00522 z->c = c1;
00523 if (out_grouping_U(z, g_v, 97, 252, 0)) return 0;
00524 {
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;
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;
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);
00545 if (!(among_var)) return 0;
00546 z->bra = z->c;
00547 { int ret = r_R1(z);
00548 if (ret == 0) return 0;
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);
00555 if (ret < 0) return ret;
00556 }
00557 break;
00558 case 2:
00559 { int ret = slice_from_s(z, 1, s_1);
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;
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;
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;
00580 }
00581 z->ket = z->c;
00582 { int ret = skip_utf8(z->p, z->c, z->lb, z->l, - 1);
00583 if (ret < 0) return 0;
00584 z->c = ret;
00585 }
00586 z->bra = z->c;
00587 { int ret = slice_del(z);
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;
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);
00598 if (!(among_var)) return 0;
00599 z->bra = z->c;
00600 { int ret = r_R1(z);
00601 if (ret == 0) return 0;
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;
00609 if (ret < 0) return ret;
00610 }
00611 break;
00612 case 2:
00613 { int ret = r_double(z);
00614 if (ret == 0) return 0;
00615 if (ret < 0) return ret;
00616 }
00617 break;
00618 }
00619 { int ret = slice_del(z);
00620 if (ret < 0) return ret;
00621 }
00622 { int ret = r_undouble(z);
00623 if (ret == 0) return 0;
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;
00631 if (!(find_among_b(z, a_4, 44))) return 0;
00632 z->bra = z->c;
00633 { int ret = r_R1(z);
00634 if (ret == 0) return 0;
00635 if (ret < 0) return ret;
00636 }
00637 { int ret = slice_del(z);
00638 if (ret < 0) return ret;
00639 }
00640 { int ret = r_v_ending(z);
00641 if (ret == 0) return 0;
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;
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);
00652 if (!(among_var)) return 0;
00653 z->bra = z->c;
00654 { int ret = r_R1(z);
00655 if (ret == 0) return 0;
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);
00662 if (ret < 0) return ret;
00663 }
00664 break;
00665 case 2:
00666 { int ret = slice_from_s(z, 1, s_3);
00667 if (ret < 0) return ret;
00668 }
00669 break;
00670 case 3:
00671 { int ret = slice_from_s(z, 1, s_4);
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;
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);
00684 if (!(among_var)) return 0;
00685 z->bra = z->c;
00686 { int ret = r_R1(z);
00687 if (ret == 0) return 0;
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);
00694 if (ret < 0) return ret;
00695 }
00696 break;
00697 case 2:
00698 { int ret = slice_del(z);
00699 if (ret < 0) return ret;
00700 }
00701 break;
00702 case 3:
00703 { int ret = slice_from_s(z, 1, s_5);
00704 if (ret < 0) return ret;
00705 }
00706 break;
00707 case 4:
00708 { int ret = slice_from_s(z, 1, s_6);
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;
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);
00721 if (!(among_var)) return 0;
00722 z->bra = z->c;
00723 { int ret = r_R1(z);
00724 if (ret == 0) return 0;
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;
00732 if (ret < 0) return ret;
00733 }
00734 break;
00735 case 2:
00736 { int ret = r_double(z);
00737 if (ret == 0) return 0;
00738 if (ret < 0) return ret;
00739 }
00740 break;
00741 }
00742 { int ret = slice_del(z);
00743 if (ret < 0) return ret;
00744 }
00745 { int ret = r_undouble(z);
00746 if (ret == 0) return 0;
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;
00755 if (z->c <= z->lb || z->p[z->c - 1] != 107) return 0;
00756 among_var = find_among_b(z, a_8, 7);
00757 if (!(among_var)) return 0;
00758 z->bra = z->c;
00759 { int ret = r_R1(z);
00760 if (ret == 0) return 0;
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);
00767 if (ret < 0) return ret;
00768 }
00769 break;
00770 case 2:
00771 { int ret = slice_from_s(z, 1, s_8);
00772 if (ret < 0) return ret;
00773 }
00774 break;
00775 case 3:
00776 { int ret = slice_del(z);
00777 if (ret < 0) return ret;
00778 }
00779 break;
00780 case 4:
00781 { int ret = slice_del(z);
00782 if (ret < 0) return ret;
00783 }
00784 break;
00785 case 5:
00786 { int ret = slice_del(z);
00787 if (ret < 0) return ret;
00788 }
00789 break;
00790 case 6:
00791 { int ret = slice_del(z);
00792 if (ret < 0) return ret;
00793 }
00794 break;
00795 case 7:
00796 { int ret = slice_del(z);
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;
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);
00809 if (!(among_var)) return 0;
00810 z->bra = z->c;
00811 { int ret = r_R1(z);
00812 if (ret == 0) return 0;
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);
00819 if (ret < 0) return ret;
00820 }
00821 break;
00822 case 2:
00823 { int ret = slice_from_s(z, 1, s_9);
00824 if (ret < 0) return ret;
00825 }
00826 break;
00827 case 3:
00828 { int ret = slice_from_s(z, 1, s_10);
00829 if (ret < 0) return ret;
00830 }
00831 break;
00832 case 4:
00833 { int ret = slice_del(z);
00834 if (ret < 0) return ret;
00835 }
00836 break;
00837 case 5:
00838 { int ret = slice_from_s(z, 1, s_11);
00839 if (ret < 0) return ret;
00840 }
00841 break;
00842 case 6:
00843 { int ret = slice_from_s(z, 1, s_12);
00844 if (ret < 0) return ret;
00845 }
00846 break;
00847 case 7:
00848 { int ret = slice_del(z);
00849 if (ret < 0) return ret;
00850 }
00851 break;
00852 case 8:
00853 { int ret = slice_from_s(z, 1, s_13);
00854 if (ret < 0) return ret;
00855 }
00856 break;
00857 case 9:
00858 { int ret = slice_del(z);
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;
00869 among_var = find_among_b(z, a_10, 31);
00870 if (!(among_var)) return 0;
00871 z->bra = z->c;
00872 { int ret = r_R1(z);
00873 if (ret == 0) return 0;
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);
00880 if (ret < 0) return ret;
00881 }
00882 break;
00883 case 2:
00884 { int ret = slice_from_s(z, 1, s_14);
00885 if (ret < 0) return ret;
00886 }
00887 break;
00888 case 3:
00889 { int ret = slice_from_s(z, 1, s_15);
00890 if (ret < 0) return ret;
00891 }
00892 break;
00893 case 4:
00894 { int ret = slice_del(z);
00895 if (ret < 0) return ret;
00896 }
00897 break;
00898 case 5:
00899 { int ret = slice_from_s(z, 1, s_16);
00900 if (ret < 0) return ret;
00901 }
00902 break;
00903 case 6:
00904 { int ret = slice_from_s(z, 1, s_17);
00905 if (ret < 0) return ret;
00906 }
00907 break;
00908 case 7:
00909 { int ret = slice_del(z);
00910 if (ret < 0) return ret;
00911 }
00912 break;
00913 case 8:
00914 { int ret = slice_del(z);
00915 if (ret < 0) return ret;
00916 }
00917 break;
00918 case 9:
00919 { int ret = slice_del(z);
00920 if (ret < 0) return ret;
00921 }
00922 break;
00923 case 10:
00924 { int ret = slice_from_s(z, 1, s_18);
00925 if (ret < 0) return ret;
00926 }
00927 break;
00928 case 11:
00929 { int ret = slice_from_s(z, 1, s_19);
00930 if (ret < 0) return ret;
00931 }
00932 break;
00933 case 12:
00934 { int ret = slice_del(z);
00935 if (ret < 0) return ret;
00936 }
00937 break;
00938 case 13:
00939 { int ret = slice_del(z);
00940 if (ret < 0) return ret;
00941 }
00942 break;
00943 case 14:
00944 { int ret = slice_from_s(z, 1, s_20);
00945 if (ret < 0) return ret;
00946 }
00947 break;
00948 case 15:
00949 { int ret = slice_from_s(z, 1, s_21);
00950 if (ret < 0) return ret;
00951 }
00952 break;
00953 case 16:
00954 { int ret = slice_del(z);
00955 if (ret < 0) return ret;
00956 }
00957 break;
00958 case 17:
00959 { int ret = slice_del(z);
00960 if (ret < 0) return ret;
00961 }
00962 break;
00963 case 18:
00964 { int ret = slice_del(z);
00965 if (ret < 0) return ret;
00966 }
00967 break;
00968 case 19:
00969 { int ret = slice_from_s(z, 1, s_22);
00970 if (ret < 0) return ret;
00971 }
00972 break;
00973 case 20:
00974 { int ret = slice_from_s(z, 1, s_23);
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;
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);
00987 if (!(among_var)) return 0;
00988 z->bra = z->c;
00989 { int ret = r_R1(z);
00990 if (ret == 0) return 0;
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);
00997 if (ret < 0) return ret;
00998 }
00999 break;
01000 case 2:
01001 { int ret = slice_from_s(z, 1, s_24);
01002 if (ret < 0) return ret;
01003 }
01004 break;
01005 case 3:
01006 { int ret = slice_from_s(z, 1, s_25);
01007 if (ret < 0) return ret;
01008 }
01009 break;
01010 case 4:
01011 { int ret = slice_del(z);
01012 if (ret < 0) return ret;
01013 }
01014 break;
01015 case 5:
01016 { int ret = slice_del(z);
01017 if (ret < 0) return ret;
01018 }
01019 break;
01020 case 6:
01021 { int ret = slice_del(z);
01022 if (ret < 0) return ret;
01023 }
01024 break;
01025 case 7:
01026 { int ret = slice_from_s(z, 1, s_26);
01027 if (ret < 0) return ret;
01028 }
01029 break;
01030 case 8:
01031 { int ret = slice_from_s(z, 1, s_27);
01032 if (ret < 0) return ret;
01033 }
01034 break;
01035 case 9:
01036 { int ret = slice_del(z);
01037 if (ret < 0) return ret;
01038 }
01039 break;
01040 case 10:
01041 { int ret = slice_del(z);
01042 if (ret < 0) return ret;
01043 }
01044 break;
01045 case 11:
01046 { int ret = slice_del(z);
01047 if (ret < 0) return ret;
01048 }
01049 break;
01050 case 12:
01051 { int ret = slice_from_s(z, 1, s_28);
01052 if (ret < 0) return ret;
01053 }
01054 break;
01055 case 13:
01056 { int ret = slice_from_s(z, 1, s_29);
01057 if (ret < 0) return ret;
01058 }
01059 break;
01060 case 14:
01061 { int ret = slice_del(z);
01062 if (ret < 0) return ret;
01063 }
01064 break;
01065 case 15:
01066 { int ret = slice_del(z);
01067 if (ret < 0) return ret;
01068 }
01069 break;
01070 case 16:
01071 { int ret = slice_del(z);
01072 if (ret < 0) return ret;
01073 }
01074 break;
01075 case 17:
01076 { int ret = slice_del(z);
01077 if (ret < 0) return ret;
01078 }
01079 break;
01080 case 18:
01081 { int ret = slice_from_s(z, 1, s_30);
01082 if (ret < 0) return ret;
01083 }
01084 break;
01085 case 19:
01086 { int ret = slice_from_s(z, 1, s_31);
01087 if (ret < 0) return ret;
01088 }
01089 break;
01090 case 20:
01091 { int ret = slice_del(z);
01092 if (ret < 0) return ret;
01093 }
01094 break;
01095 case 21:
01096 { int ret = slice_del(z);
01097 if (ret < 0) return ret;
01098 }
01099 break;
01100 case 22:
01101 { int ret = slice_from_s(z, 1, s_32);
01102 if (ret < 0) return ret;
01103 }
01104 break;
01105 case 23:
01106 { int ret = slice_from_s(z, 1, s_33);
01107 if (ret < 0) return ret;
01108 }
01109 break;
01110 case 24:
01111 { int ret = slice_del(z);
01112 if (ret < 0) return ret;
01113 }
01114 break;
01115 case 25:
01116 { int ret = slice_del(z);
01117 if (ret < 0) return ret;
01118 }
01119 break;
01120 case 26:
01121 { int ret = slice_del(z);
01122 if (ret < 0) return ret;
01123 }
01124 break;
01125 case 27:
01126 { int ret = slice_from_s(z, 1, s_34);
01127 if (ret < 0) return ret;
01128 }
01129 break;
01130 case 28:
01131 { int ret = slice_from_s(z, 1, s_35);
01132 if (ret < 0) return ret;
01133 }
01134 break;
01135 case 29:
01136 { int ret = slice_del(z);
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;
01146 { int ret = r_mark_regions(z);
01147 if (ret == 0) goto lab0;
01148 if (ret < 0) return ret;
01149 }
01150 lab0:
01151 z->c = c1;
01152 }
01153 z->lb = z->c; z->c = z->l;
01154
01155 { int m2 = z->l - z->c; (void)m2;
01156 { int ret = r_instrum(z);
01157 if (ret == 0) goto lab1;
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;
01164 { int ret = r_case(z);
01165 if (ret == 0) goto lab2;
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;
01172 { int ret = r_case_special(z);
01173 if (ret == 0) goto lab3;
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;
01180 { int ret = r_case_other(z);
01181 if (ret == 0) goto lab4;
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;
01188 { int ret = r_factive(z);
01189 if (ret == 0) goto lab5;
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;
01196 { int ret = r_owned(z);
01197 if (ret == 0) goto lab6;
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;
01204 { int ret = r_sing_owner(z);
01205 if (ret == 0) goto lab7;
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;
01212 { int ret = r_plur_owner(z);
01213 if (ret == 0) goto lab8;
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;
01220 { int ret = r_plural(z);
01221 if (ret == 0) goto lab9;
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