LCOV - differential code coverage report
Current view: top level - src/backend/snowball/libstemmer - stem_UTF_8_turkish.c (source / functions) Coverage Total Hit UBC
Current: Differential Code Coverage HEAD vs 15 Lines: 0.0 % 1231 0 1231
Current Date: 2023-04-08 17:13:01 Functions: 0.0 % 43 0 43
Baseline: 15 Line coverage date bins:
Baseline Date: 2023-04-08 15:09:40 (240..) days: 0.0 % 1231 0 1231
Legend: Lines: hit not hit Function coverage date bins:
(240..) days: 0.0 % 43 0 43

 Age         Owner                  TLA  Line data    Source code
                                  1                 : /* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
                                  2                 : 
                                  3                 : #include "header.h"
                                  4                 : 
                                  5                 : #ifdef __cplusplus
                                  6                 : extern "C" {
                                  7                 : #endif
                                  8                 : extern int turkish_UTF_8_stem(struct SN_env * z);
                                  9                 : #ifdef __cplusplus
                                 10                 : }
                                 11                 : #endif
                                 12                 : static int r_stem_suffix_chain_before_ki(struct SN_env * z);
                                 13                 : static int r_stem_noun_suffixes(struct SN_env * z);
                                 14                 : static int r_stem_nominal_verb_suffixes(struct SN_env * z);
                                 15                 : static int r_postlude(struct SN_env * z);
                                 16                 : static int r_post_process_last_consonants(struct SN_env * z);
                                 17                 : static int r_more_than_one_syllable_word(struct SN_env * z);
                                 18                 : static int r_mark_suffix_with_optional_s_consonant(struct SN_env * z);
                                 19                 : static int r_mark_suffix_with_optional_n_consonant(struct SN_env * z);
                                 20                 : static int r_mark_suffix_with_optional_U_vowel(struct SN_env * z);
                                 21                 : static int r_mark_suffix_with_optional_y_consonant(struct SN_env * z);
                                 22                 : static int r_mark_ysA(struct SN_env * z);
                                 23                 : static int r_mark_ymUs_(struct SN_env * z);
                                 24                 : static int r_mark_yken(struct SN_env * z);
                                 25                 : static int r_mark_yDU(struct SN_env * z);
                                 26                 : static int r_mark_yUz(struct SN_env * z);
                                 27                 : static int r_mark_yUm(struct SN_env * z);
                                 28                 : static int r_mark_yU(struct SN_env * z);
                                 29                 : static int r_mark_ylA(struct SN_env * z);
                                 30                 : static int r_mark_yA(struct SN_env * z);
                                 31                 : static int r_mark_possessives(struct SN_env * z);
                                 32                 : static int r_mark_sUnUz(struct SN_env * z);
                                 33                 : static int r_mark_sUn(struct SN_env * z);
                                 34                 : static int r_mark_sU(struct SN_env * z);
                                 35                 : static int r_mark_nUz(struct SN_env * z);
                                 36                 : static int r_mark_nUn(struct SN_env * z);
                                 37                 : static int r_mark_nU(struct SN_env * z);
                                 38                 : static int r_mark_ndAn(struct SN_env * z);
                                 39                 : static int r_mark_ndA(struct SN_env * z);
                                 40                 : static int r_mark_ncA(struct SN_env * z);
                                 41                 : static int r_mark_nA(struct SN_env * z);
                                 42                 : static int r_mark_lArI(struct SN_env * z);
                                 43                 : static int r_mark_lAr(struct SN_env * z);
                                 44                 : static int r_mark_ki(struct SN_env * z);
                                 45                 : static int r_mark_DUr(struct SN_env * z);
                                 46                 : static int r_mark_DAn(struct SN_env * z);
                                 47                 : static int r_mark_DA(struct SN_env * z);
                                 48                 : static int r_mark_cAsInA(struct SN_env * z);
                                 49                 : static int r_is_reserved_word(struct SN_env * z);
                                 50                 : static int r_check_vowel_harmony(struct SN_env * z);
                                 51                 : static int r_append_U_to_stems_ending_with_d_or_g(struct SN_env * z);
                                 52                 : #ifdef __cplusplus
                                 53                 : extern "C" {
                                 54                 : #endif
                                 55                 : 
                                 56                 : 
                                 57                 : extern struct SN_env * turkish_UTF_8_create_env(void);
                                 58                 : extern void turkish_UTF_8_close_env(struct SN_env * z);
                                 59                 : 
                                 60                 : 
                                 61                 : #ifdef __cplusplus
                                 62                 : }
                                 63                 : #endif
                                 64                 : static const symbol s_0_0[1] = { 'm' };
                                 65                 : static const symbol s_0_1[1] = { 'n' };
                                 66                 : static const symbol s_0_2[3] = { 'm', 'i', 'z' };
                                 67                 : static const symbol s_0_3[3] = { 'n', 'i', 'z' };
                                 68                 : static const symbol s_0_4[3] = { 'm', 'u', 'z' };
                                 69                 : static const symbol s_0_5[3] = { 'n', 'u', 'z' };
                                 70                 : static const symbol s_0_6[4] = { 'm', 0xC4, 0xB1, 'z' };
                                 71                 : static const symbol s_0_7[4] = { 'n', 0xC4, 0xB1, 'z' };
                                 72                 : static const symbol s_0_8[4] = { 'm', 0xC3, 0xBC, 'z' };
                                 73                 : static const symbol s_0_9[4] = { 'n', 0xC3, 0xBC, 'z' };
                                 74                 : 
                                 75                 : static const struct among a_0[10] =
                                 76                 : {
                                 77                 : { 1, s_0_0, -1, -1, 0},
                                 78                 : { 1, s_0_1, -1, -1, 0},
                                 79                 : { 3, s_0_2, -1, -1, 0},
                                 80                 : { 3, s_0_3, -1, -1, 0},
                                 81                 : { 3, s_0_4, -1, -1, 0},
                                 82                 : { 3, s_0_5, -1, -1, 0},
                                 83                 : { 4, s_0_6, -1, -1, 0},
                                 84                 : { 4, s_0_7, -1, -1, 0},
                                 85                 : { 4, s_0_8, -1, -1, 0},
                                 86                 : { 4, s_0_9, -1, -1, 0}
                                 87                 : };
                                 88                 : 
                                 89                 : static const symbol s_1_0[4] = { 'l', 'e', 'r', 'i' };
                                 90                 : static const symbol s_1_1[5] = { 'l', 'a', 'r', 0xC4, 0xB1 };
                                 91                 : 
                                 92                 : static const struct among a_1[2] =
                                 93                 : {
                                 94                 : { 4, s_1_0, -1, -1, 0},
                                 95                 : { 5, s_1_1, -1, -1, 0}
                                 96                 : };
                                 97                 : 
                                 98                 : static const symbol s_2_0[2] = { 'n', 'i' };
                                 99                 : static const symbol s_2_1[2] = { 'n', 'u' };
                                100                 : static const symbol s_2_2[3] = { 'n', 0xC4, 0xB1 };
                                101                 : static const symbol s_2_3[3] = { 'n', 0xC3, 0xBC };
                                102                 : 
                                103                 : static const struct among a_2[4] =
                                104                 : {
                                105                 : { 2, s_2_0, -1, -1, 0},
                                106                 : { 2, s_2_1, -1, -1, 0},
                                107                 : { 3, s_2_2, -1, -1, 0},
                                108                 : { 3, s_2_3, -1, -1, 0}
                                109                 : };
                                110                 : 
                                111                 : static const symbol s_3_0[2] = { 'i', 'n' };
                                112                 : static const symbol s_3_1[2] = { 'u', 'n' };
                                113                 : static const symbol s_3_2[3] = { 0xC4, 0xB1, 'n' };
                                114                 : static const symbol s_3_3[3] = { 0xC3, 0xBC, 'n' };
                                115                 : 
                                116                 : static const struct among a_3[4] =
                                117                 : {
                                118                 : { 2, s_3_0, -1, -1, 0},
                                119                 : { 2, s_3_1, -1, -1, 0},
                                120                 : { 3, s_3_2, -1, -1, 0},
                                121                 : { 3, s_3_3, -1, -1, 0}
                                122                 : };
                                123                 : 
                                124                 : static const symbol s_4_0[1] = { 'a' };
                                125                 : static const symbol s_4_1[1] = { 'e' };
                                126                 : 
                                127                 : static const struct among a_4[2] =
                                128                 : {
                                129                 : { 1, s_4_0, -1, -1, 0},
                                130                 : { 1, s_4_1, -1, -1, 0}
                                131                 : };
                                132                 : 
                                133                 : static const symbol s_5_0[2] = { 'n', 'a' };
                                134                 : static const symbol s_5_1[2] = { 'n', 'e' };
                                135                 : 
                                136                 : static const struct among a_5[2] =
                                137                 : {
                                138                 : { 2, s_5_0, -1, -1, 0},
                                139                 : { 2, s_5_1, -1, -1, 0}
                                140                 : };
                                141                 : 
                                142                 : static const symbol s_6_0[2] = { 'd', 'a' };
                                143                 : static const symbol s_6_1[2] = { 't', 'a' };
                                144                 : static const symbol s_6_2[2] = { 'd', 'e' };
                                145                 : static const symbol s_6_3[2] = { 't', 'e' };
                                146                 : 
                                147                 : static const struct among a_6[4] =
                                148                 : {
                                149                 : { 2, s_6_0, -1, -1, 0},
                                150                 : { 2, s_6_1, -1, -1, 0},
                                151                 : { 2, s_6_2, -1, -1, 0},
                                152                 : { 2, s_6_3, -1, -1, 0}
                                153                 : };
                                154                 : 
                                155                 : static const symbol s_7_0[3] = { 'n', 'd', 'a' };
                                156                 : static const symbol s_7_1[3] = { 'n', 'd', 'e' };
                                157                 : 
                                158                 : static const struct among a_7[2] =
                                159                 : {
                                160                 : { 3, s_7_0, -1, -1, 0},
                                161                 : { 3, s_7_1, -1, -1, 0}
                                162                 : };
                                163                 : 
                                164                 : static const symbol s_8_0[3] = { 'd', 'a', 'n' };
                                165                 : static const symbol s_8_1[3] = { 't', 'a', 'n' };
                                166                 : static const symbol s_8_2[3] = { 'd', 'e', 'n' };
                                167                 : static const symbol s_8_3[3] = { 't', 'e', 'n' };
                                168                 : 
                                169                 : static const struct among a_8[4] =
                                170                 : {
                                171                 : { 3, s_8_0, -1, -1, 0},
                                172                 : { 3, s_8_1, -1, -1, 0},
                                173                 : { 3, s_8_2, -1, -1, 0},
                                174                 : { 3, s_8_3, -1, -1, 0}
                                175                 : };
                                176                 : 
                                177                 : static const symbol s_9_0[4] = { 'n', 'd', 'a', 'n' };
                                178                 : static const symbol s_9_1[4] = { 'n', 'd', 'e', 'n' };
                                179                 : 
                                180                 : static const struct among a_9[2] =
                                181                 : {
                                182                 : { 4, s_9_0, -1, -1, 0},
                                183                 : { 4, s_9_1, -1, -1, 0}
                                184                 : };
                                185                 : 
                                186                 : static const symbol s_10_0[2] = { 'l', 'a' };
                                187                 : static const symbol s_10_1[2] = { 'l', 'e' };
                                188                 : 
                                189                 : static const struct among a_10[2] =
                                190                 : {
                                191                 : { 2, s_10_0, -1, -1, 0},
                                192                 : { 2, s_10_1, -1, -1, 0}
                                193                 : };
                                194                 : 
                                195                 : static const symbol s_11_0[2] = { 'c', 'a' };
                                196                 : static const symbol s_11_1[2] = { 'c', 'e' };
                                197                 : 
                                198                 : static const struct among a_11[2] =
                                199                 : {
                                200                 : { 2, s_11_0, -1, -1, 0},
                                201                 : { 2, s_11_1, -1, -1, 0}
                                202                 : };
                                203                 : 
                                204                 : static const symbol s_12_0[2] = { 'i', 'm' };
                                205                 : static const symbol s_12_1[2] = { 'u', 'm' };
                                206                 : static const symbol s_12_2[3] = { 0xC4, 0xB1, 'm' };
                                207                 : static const symbol s_12_3[3] = { 0xC3, 0xBC, 'm' };
                                208                 : 
                                209                 : static const struct among a_12[4] =
                                210                 : {
                                211                 : { 2, s_12_0, -1, -1, 0},
                                212                 : { 2, s_12_1, -1, -1, 0},
                                213                 : { 3, s_12_2, -1, -1, 0},
                                214                 : { 3, s_12_3, -1, -1, 0}
                                215                 : };
                                216                 : 
                                217                 : static const symbol s_13_0[3] = { 's', 'i', 'n' };
                                218                 : static const symbol s_13_1[3] = { 's', 'u', 'n' };
                                219                 : static const symbol s_13_2[4] = { 's', 0xC4, 0xB1, 'n' };
                                220                 : static const symbol s_13_3[4] = { 's', 0xC3, 0xBC, 'n' };
                                221                 : 
                                222                 : static const struct among a_13[4] =
                                223                 : {
                                224                 : { 3, s_13_0, -1, -1, 0},
                                225                 : { 3, s_13_1, -1, -1, 0},
                                226                 : { 4, s_13_2, -1, -1, 0},
                                227                 : { 4, s_13_3, -1, -1, 0}
                                228                 : };
                                229                 : 
                                230                 : static const symbol s_14_0[2] = { 'i', 'z' };
                                231                 : static const symbol s_14_1[2] = { 'u', 'z' };
                                232                 : static const symbol s_14_2[3] = { 0xC4, 0xB1, 'z' };
                                233                 : static const symbol s_14_3[3] = { 0xC3, 0xBC, 'z' };
                                234                 : 
                                235                 : static const struct among a_14[4] =
                                236                 : {
                                237                 : { 2, s_14_0, -1, -1, 0},
                                238                 : { 2, s_14_1, -1, -1, 0},
                                239                 : { 3, s_14_2, -1, -1, 0},
                                240                 : { 3, s_14_3, -1, -1, 0}
                                241                 : };
                                242                 : 
                                243                 : static const symbol s_15_0[5] = { 's', 'i', 'n', 'i', 'z' };
                                244                 : static const symbol s_15_1[5] = { 's', 'u', 'n', 'u', 'z' };
                                245                 : static const symbol s_15_2[7] = { 's', 0xC4, 0xB1, 'n', 0xC4, 0xB1, 'z' };
                                246                 : static const symbol s_15_3[7] = { 's', 0xC3, 0xBC, 'n', 0xC3, 0xBC, 'z' };
                                247                 : 
                                248                 : static const struct among a_15[4] =
                                249                 : {
                                250                 : { 5, s_15_0, -1, -1, 0},
                                251                 : { 5, s_15_1, -1, -1, 0},
                                252                 : { 7, s_15_2, -1, -1, 0},
                                253                 : { 7, s_15_3, -1, -1, 0}
                                254                 : };
                                255                 : 
                                256                 : static const symbol s_16_0[3] = { 'l', 'a', 'r' };
                                257                 : static const symbol s_16_1[3] = { 'l', 'e', 'r' };
                                258                 : 
                                259                 : static const struct among a_16[2] =
                                260                 : {
                                261                 : { 3, s_16_0, -1, -1, 0},
                                262                 : { 3, s_16_1, -1, -1, 0}
                                263                 : };
                                264                 : 
                                265                 : static const symbol s_17_0[3] = { 'n', 'i', 'z' };
                                266                 : static const symbol s_17_1[3] = { 'n', 'u', 'z' };
                                267                 : static const symbol s_17_2[4] = { 'n', 0xC4, 0xB1, 'z' };
                                268                 : static const symbol s_17_3[4] = { 'n', 0xC3, 0xBC, 'z' };
                                269                 : 
                                270                 : static const struct among a_17[4] =
                                271                 : {
                                272                 : { 3, s_17_0, -1, -1, 0},
                                273                 : { 3, s_17_1, -1, -1, 0},
                                274                 : { 4, s_17_2, -1, -1, 0},
                                275                 : { 4, s_17_3, -1, -1, 0}
                                276                 : };
                                277                 : 
                                278                 : static const symbol s_18_0[3] = { 'd', 'i', 'r' };
                                279                 : static const symbol s_18_1[3] = { 't', 'i', 'r' };
                                280                 : static const symbol s_18_2[3] = { 'd', 'u', 'r' };
                                281                 : static const symbol s_18_3[3] = { 't', 'u', 'r' };
                                282                 : static const symbol s_18_4[4] = { 'd', 0xC4, 0xB1, 'r' };
                                283                 : static const symbol s_18_5[4] = { 't', 0xC4, 0xB1, 'r' };
                                284                 : static const symbol s_18_6[4] = { 'd', 0xC3, 0xBC, 'r' };
                                285                 : static const symbol s_18_7[4] = { 't', 0xC3, 0xBC, 'r' };
                                286                 : 
                                287                 : static const struct among a_18[8] =
                                288                 : {
                                289                 : { 3, s_18_0, -1, -1, 0},
                                290                 : { 3, s_18_1, -1, -1, 0},
                                291                 : { 3, s_18_2, -1, -1, 0},
                                292                 : { 3, s_18_3, -1, -1, 0},
                                293                 : { 4, s_18_4, -1, -1, 0},
                                294                 : { 4, s_18_5, -1, -1, 0},
                                295                 : { 4, s_18_6, -1, -1, 0},
                                296                 : { 4, s_18_7, -1, -1, 0}
                                297                 : };
                                298                 : 
                                299                 : static const symbol s_19_0[7] = { 'c', 'a', 's', 0xC4, 0xB1, 'n', 'a' };
                                300                 : static const symbol s_19_1[6] = { 'c', 'e', 's', 'i', 'n', 'e' };
                                301                 : 
                                302                 : static const struct among a_19[2] =
                                303                 : {
                                304                 : { 7, s_19_0, -1, -1, 0},
                                305                 : { 6, s_19_1, -1, -1, 0}
                                306                 : };
                                307                 : 
                                308                 : static const symbol s_20_0[2] = { 'd', 'i' };
                                309                 : static const symbol s_20_1[2] = { 't', 'i' };
                                310                 : static const symbol s_20_2[3] = { 'd', 'i', 'k' };
                                311                 : static const symbol s_20_3[3] = { 't', 'i', 'k' };
                                312                 : static const symbol s_20_4[3] = { 'd', 'u', 'k' };
                                313                 : static const symbol s_20_5[3] = { 't', 'u', 'k' };
                                314                 : static const symbol s_20_6[4] = { 'd', 0xC4, 0xB1, 'k' };
                                315                 : static const symbol s_20_7[4] = { 't', 0xC4, 0xB1, 'k' };
                                316                 : static const symbol s_20_8[4] = { 'd', 0xC3, 0xBC, 'k' };
                                317                 : static const symbol s_20_9[4] = { 't', 0xC3, 0xBC, 'k' };
                                318                 : static const symbol s_20_10[3] = { 'd', 'i', 'm' };
                                319                 : static const symbol s_20_11[3] = { 't', 'i', 'm' };
                                320                 : static const symbol s_20_12[3] = { 'd', 'u', 'm' };
                                321                 : static const symbol s_20_13[3] = { 't', 'u', 'm' };
                                322                 : static const symbol s_20_14[4] = { 'd', 0xC4, 0xB1, 'm' };
                                323                 : static const symbol s_20_15[4] = { 't', 0xC4, 0xB1, 'm' };
                                324                 : static const symbol s_20_16[4] = { 'd', 0xC3, 0xBC, 'm' };
                                325                 : static const symbol s_20_17[4] = { 't', 0xC3, 0xBC, 'm' };
                                326                 : static const symbol s_20_18[3] = { 'd', 'i', 'n' };
                                327                 : static const symbol s_20_19[3] = { 't', 'i', 'n' };
                                328                 : static const symbol s_20_20[3] = { 'd', 'u', 'n' };
                                329                 : static const symbol s_20_21[3] = { 't', 'u', 'n' };
                                330                 : static const symbol s_20_22[4] = { 'd', 0xC4, 0xB1, 'n' };
                                331                 : static const symbol s_20_23[4] = { 't', 0xC4, 0xB1, 'n' };
                                332                 : static const symbol s_20_24[4] = { 'd', 0xC3, 0xBC, 'n' };
                                333                 : static const symbol s_20_25[4] = { 't', 0xC3, 0xBC, 'n' };
                                334                 : static const symbol s_20_26[2] = { 'd', 'u' };
                                335                 : static const symbol s_20_27[2] = { 't', 'u' };
                                336                 : static const symbol s_20_28[3] = { 'd', 0xC4, 0xB1 };
                                337                 : static const symbol s_20_29[3] = { 't', 0xC4, 0xB1 };
                                338                 : static const symbol s_20_30[3] = { 'd', 0xC3, 0xBC };
                                339                 : static const symbol s_20_31[3] = { 't', 0xC3, 0xBC };
                                340                 : 
                                341                 : static const struct among a_20[32] =
                                342                 : {
                                343                 : { 2, s_20_0, -1, -1, 0},
                                344                 : { 2, s_20_1, -1, -1, 0},
                                345                 : { 3, s_20_2, -1, -1, 0},
                                346                 : { 3, s_20_3, -1, -1, 0},
                                347                 : { 3, s_20_4, -1, -1, 0},
                                348                 : { 3, s_20_5, -1, -1, 0},
                                349                 : { 4, s_20_6, -1, -1, 0},
                                350                 : { 4, s_20_7, -1, -1, 0},
                                351                 : { 4, s_20_8, -1, -1, 0},
                                352                 : { 4, s_20_9, -1, -1, 0},
                                353                 : { 3, s_20_10, -1, -1, 0},
                                354                 : { 3, s_20_11, -1, -1, 0},
                                355                 : { 3, s_20_12, -1, -1, 0},
                                356                 : { 3, s_20_13, -1, -1, 0},
                                357                 : { 4, s_20_14, -1, -1, 0},
                                358                 : { 4, s_20_15, -1, -1, 0},
                                359                 : { 4, s_20_16, -1, -1, 0},
                                360                 : { 4, s_20_17, -1, -1, 0},
                                361                 : { 3, s_20_18, -1, -1, 0},
                                362                 : { 3, s_20_19, -1, -1, 0},
                                363                 : { 3, s_20_20, -1, -1, 0},
                                364                 : { 3, s_20_21, -1, -1, 0},
                                365                 : { 4, s_20_22, -1, -1, 0},
                                366                 : { 4, s_20_23, -1, -1, 0},
                                367                 : { 4, s_20_24, -1, -1, 0},
                                368                 : { 4, s_20_25, -1, -1, 0},
                                369                 : { 2, s_20_26, -1, -1, 0},
                                370                 : { 2, s_20_27, -1, -1, 0},
                                371                 : { 3, s_20_28, -1, -1, 0},
                                372                 : { 3, s_20_29, -1, -1, 0},
                                373                 : { 3, s_20_30, -1, -1, 0},
                                374                 : { 3, s_20_31, -1, -1, 0}
                                375                 : };
                                376                 : 
                                377                 : static const symbol s_21_0[2] = { 's', 'a' };
                                378                 : static const symbol s_21_1[2] = { 's', 'e' };
                                379                 : static const symbol s_21_2[3] = { 's', 'a', 'k' };
                                380                 : static const symbol s_21_3[3] = { 's', 'e', 'k' };
                                381                 : static const symbol s_21_4[3] = { 's', 'a', 'm' };
                                382                 : static const symbol s_21_5[3] = { 's', 'e', 'm' };
                                383                 : static const symbol s_21_6[3] = { 's', 'a', 'n' };
                                384                 : static const symbol s_21_7[3] = { 's', 'e', 'n' };
                                385                 : 
                                386                 : static const struct among a_21[8] =
                                387                 : {
                                388                 : { 2, s_21_0, -1, -1, 0},
                                389                 : { 2, s_21_1, -1, -1, 0},
                                390                 : { 3, s_21_2, -1, -1, 0},
                                391                 : { 3, s_21_3, -1, -1, 0},
                                392                 : { 3, s_21_4, -1, -1, 0},
                                393                 : { 3, s_21_5, -1, -1, 0},
                                394                 : { 3, s_21_6, -1, -1, 0},
                                395                 : { 3, s_21_7, -1, -1, 0}
                                396                 : };
                                397                 : 
                                398                 : static const symbol s_22_0[4] = { 'm', 'i', 0xC5, 0x9F };
                                399                 : static const symbol s_22_1[4] = { 'm', 'u', 0xC5, 0x9F };
                                400                 : static const symbol s_22_2[5] = { 'm', 0xC4, 0xB1, 0xC5, 0x9F };
                                401                 : static const symbol s_22_3[5] = { 'm', 0xC3, 0xBC, 0xC5, 0x9F };
                                402                 : 
                                403                 : static const struct among a_22[4] =
                                404                 : {
                                405                 : { 4, s_22_0, -1, -1, 0},
                                406                 : { 4, s_22_1, -1, -1, 0},
                                407                 : { 5, s_22_2, -1, -1, 0},
                                408                 : { 5, s_22_3, -1, -1, 0}
                                409                 : };
                                410                 : 
                                411                 : static const symbol s_23_0[1] = { 'b' };
                                412                 : static const symbol s_23_1[1] = { 'c' };
                                413                 : static const symbol s_23_2[1] = { 'd' };
                                414                 : static const symbol s_23_3[2] = { 0xC4, 0x9F };
                                415                 : 
                                416                 : static const struct among a_23[4] =
                                417                 : {
                                418                 : { 1, s_23_0, -1, 1, 0},
                                419                 : { 1, s_23_1, -1, 2, 0},
                                420                 : { 1, s_23_2, -1, 3, 0},
                                421                 : { 2, s_23_3, -1, 4, 0}
                                422                 : };
                                423                 : 
                                424                 : static const unsigned char g_vowel[] = { 17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 8, 0, 0, 0, 0, 0, 0, 1 };
                                425                 : 
                                426                 : static const unsigned char g_U[] = { 1, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 1 };
                                427                 : 
                                428                 : static const unsigned char g_vowel1[] = { 1, 64, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 };
                                429                 : 
                                430                 : static const unsigned char g_vowel2[] = { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 130 };
                                431                 : 
                                432                 : static const unsigned char g_vowel3[] = { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 };
                                433                 : 
                                434                 : static const unsigned char g_vowel4[] = { 17 };
                                435                 : 
                                436                 : static const unsigned char g_vowel5[] = { 65 };
                                437                 : 
                                438                 : static const unsigned char g_vowel6[] = { 65 };
                                439                 : 
                                440                 : static const symbol s_0[] = { 0xC4, 0xB1 };
                                441                 : static const symbol s_1[] = { 0xC3, 0xB6 };
                                442                 : static const symbol s_2[] = { 0xC3, 0xBC };
                                443                 : static const symbol s_3[] = { 'k', 'i' };
                                444                 : static const symbol s_4[] = { 'k', 'e', 'n' };
                                445                 : static const symbol s_5[] = { 'p' };
                                446                 : static const symbol s_6[] = { 0xC3, 0xA7 };
                                447                 : static const symbol s_7[] = { 't' };
                                448                 : static const symbol s_8[] = { 'k' };
                                449                 : static const symbol s_9[] = { 0xC4, 0xB1 };
                                450                 : static const symbol s_10[] = { 0xC4, 0xB1 };
                                451                 : static const symbol s_11[] = { 'i' };
                                452                 : static const symbol s_12[] = { 'u' };
                                453                 : static const symbol s_13[] = { 0xC3, 0xB6 };
                                454                 : static const symbol s_14[] = { 0xC3, 0xBC };
                                455                 : static const symbol s_15[] = { 0xC3, 0xBC };
                                456                 : static const symbol s_16[] = { 'a', 'd' };
                                457                 : static const symbol s_17[] = { 's', 'o', 'y' };
                                458                 : 
  779 peter                     459 UBC           0 : static int r_check_vowel_harmony(struct SN_env * z) {
                                460               0 :     {   int m_test1 = z->l - z->c;
                                461               0 :         if (out_grouping_b_U(z, g_vowel, 97, 305, 1) < 0) return 0;
                                462               0 :         {   int m2 = z->l - z->c; (void)m2;
                                463               0 :             if (z->c <= z->lb || z->p[z->c - 1] != 'a') goto lab1;
 1658 tgl                       464               0 :             z->c--;
  779 peter                     465               0 :             if (out_grouping_b_U(z, g_vowel1, 97, 305, 1) < 0) goto lab1;
 5710 tgl                       466               0 :             goto lab0;
                                467               0 :         lab1:
 1658                           468               0 :             z->c = z->l - m2;
  779 peter                     469               0 :             if (z->c <= z->lb || z->p[z->c - 1] != 'e') goto lab2;
 1658 tgl                       470               0 :             z->c--;
  779 peter                     471               0 :             if (out_grouping_b_U(z, g_vowel2, 101, 252, 1) < 0) goto lab2;
 5710 tgl                       472               0 :             goto lab0;
                                473               0 :         lab2:
 1658                           474               0 :             z->c = z->l - m2;
  779 peter                     475               0 :             if (!(eq_s_b(z, 2, s_0))) goto lab3;
                                476               0 :             if (out_grouping_b_U(z, g_vowel3, 97, 305, 1) < 0) goto lab3;
 5710 tgl                       477               0 :             goto lab0;
                                478               0 :         lab3:
 1658                           479               0 :             z->c = z->l - m2;
  779 peter                     480               0 :             if (z->c <= z->lb || z->p[z->c - 1] != 'i') goto lab4;
 1658 tgl                       481               0 :             z->c--;
  779 peter                     482               0 :             if (out_grouping_b_U(z, g_vowel4, 101, 105, 1) < 0) goto lab4;
 5710 tgl                       483               0 :             goto lab0;
                                484               0 :         lab4:
 1658                           485               0 :             z->c = z->l - m2;
  779 peter                     486               0 :             if (z->c <= z->lb || z->p[z->c - 1] != 'o') goto lab5;
 1658 tgl                       487               0 :             z->c--;
  779 peter                     488               0 :             if (out_grouping_b_U(z, g_vowel5, 111, 117, 1) < 0) goto lab5;
 5710 tgl                       489               0 :             goto lab0;
                                490               0 :         lab5:
 1658                           491               0 :             z->c = z->l - m2;
  779 peter                     492               0 :             if (!(eq_s_b(z, 2, s_1))) goto lab6;
                                493               0 :             if (out_grouping_b_U(z, g_vowel6, 246, 252, 1) < 0) goto lab6;
 5710 tgl                       494               0 :             goto lab0;
                                495               0 :         lab6:
 1658                           496               0 :             z->c = z->l - m2;
  779 peter                     497               0 :             if (z->c <= z->lb || z->p[z->c - 1] != 'u') goto lab7;
 1658 tgl                       498               0 :             z->c--;
  779 peter                     499               0 :             if (out_grouping_b_U(z, g_vowel5, 111, 117, 1) < 0) goto lab7;
 5710 tgl                       500               0 :             goto lab0;
                                501               0 :         lab7:
 1658                           502               0 :             z->c = z->l - m2;
  779 peter                     503               0 :             if (!(eq_s_b(z, 2, s_2))) return 0;
                                504               0 :             if (out_grouping_b_U(z, g_vowel6, 246, 252, 1) < 0) return 0;
                                505                 :         }
 5710 tgl                       506               0 :     lab0:
 1658                           507               0 :         z->c = z->l - m_test1;
                                508                 :     }
 5710                           509               0 :     return 1;
                                510                 : }
                                511                 : 
  779 peter                     512               0 : static int r_mark_suffix_with_optional_n_consonant(struct SN_env * z) {
                                513               0 :     {   int m1 = z->l - z->c; (void)m1;
                                514               0 :         if (z->c <= z->lb || z->p[z->c - 1] != 'n') goto lab1;
 1658 tgl                       515               0 :         z->c--;
  779 peter                     516               0 :         {   int m_test2 = z->l - z->c;
                                517               0 :             if (in_grouping_b_U(z, g_vowel, 97, 305, 0)) goto lab1;
 1658 tgl                       518               0 :             z->c = z->l - m_test2;
                                519                 :         }
 5710                           520               0 :         goto lab0;
                                521               0 :     lab1:
                                522               0 :         z->c = z->l - m1;
  779 peter                     523               0 :         {   int m3 = z->l - z->c; (void)m3;
                                524               0 :             {   int m_test4 = z->l - z->c;
                                525               0 :                 if (z->c <= z->lb || z->p[z->c - 1] != 'n') goto lab2;
 1658 tgl                       526               0 :                 z->c--;
                                527               0 :                 z->c = z->l - m_test4;
                                528                 :             }
 5710                           529               0 :             return 0;
                                530               0 :         lab2:
 1658                           531               0 :             z->c = z->l - m3;
                                532                 :         }
  779 peter                     533               0 :         {   int m_test5 = z->l - z->c;
                                534               0 :             {   int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
 5710 tgl                       535               0 :                 if (ret < 0) return 0;
  779 peter                     536               0 :                 z->c = ret;
                                537                 :             }
                                538               0 :             if (in_grouping_b_U(z, g_vowel, 97, 305, 0)) return 0;
 1658 tgl                       539               0 :             z->c = z->l - m_test5;
                                540                 :         }
                                541                 :     }
 5710                           542               0 : lab0:
                                543               0 :     return 1;
                                544                 : }
                                545                 : 
  779 peter                     546               0 : static int r_mark_suffix_with_optional_s_consonant(struct SN_env * z) {
                                547               0 :     {   int m1 = z->l - z->c; (void)m1;
                                548               0 :         if (z->c <= z->lb || z->p[z->c - 1] != 's') goto lab1;
 1658 tgl                       549               0 :         z->c--;
  779 peter                     550               0 :         {   int m_test2 = z->l - z->c;
                                551               0 :             if (in_grouping_b_U(z, g_vowel, 97, 305, 0)) goto lab1;
 1658 tgl                       552               0 :             z->c = z->l - m_test2;
                                553                 :         }
 5710                           554               0 :         goto lab0;
                                555               0 :     lab1:
                                556               0 :         z->c = z->l - m1;
  779 peter                     557               0 :         {   int m3 = z->l - z->c; (void)m3;
                                558               0 :             {   int m_test4 = z->l - z->c;
                                559               0 :                 if (z->c <= z->lb || z->p[z->c - 1] != 's') goto lab2;
 1658 tgl                       560               0 :                 z->c--;
                                561               0 :                 z->c = z->l - m_test4;
                                562                 :             }
 5710                           563               0 :             return 0;
                                564               0 :         lab2:
 1658                           565               0 :             z->c = z->l - m3;
                                566                 :         }
  779 peter                     567               0 :         {   int m_test5 = z->l - z->c;
                                568               0 :             {   int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
 5710 tgl                       569               0 :                 if (ret < 0) return 0;
  779 peter                     570               0 :                 z->c = ret;
                                571                 :             }
                                572               0 :             if (in_grouping_b_U(z, g_vowel, 97, 305, 0)) return 0;
 1658 tgl                       573               0 :             z->c = z->l - m_test5;
                                574                 :         }
                                575                 :     }
 5710                           576               0 : lab0:
                                577               0 :     return 1;
                                578                 : }
                                579                 : 
  779 peter                     580               0 : static int r_mark_suffix_with_optional_y_consonant(struct SN_env * z) {
                                581               0 :     {   int m1 = z->l - z->c; (void)m1;
                                582               0 :         if (z->c <= z->lb || z->p[z->c - 1] != 'y') goto lab1;
 1658 tgl                       583               0 :         z->c--;
  779 peter                     584               0 :         {   int m_test2 = z->l - z->c;
                                585               0 :             if (in_grouping_b_U(z, g_vowel, 97, 305, 0)) goto lab1;
 1658 tgl                       586               0 :             z->c = z->l - m_test2;
                                587                 :         }
 5710                           588               0 :         goto lab0;
                                589               0 :     lab1:
                                590               0 :         z->c = z->l - m1;
  779 peter                     591               0 :         {   int m3 = z->l - z->c; (void)m3;
                                592               0 :             {   int m_test4 = z->l - z->c;
                                593               0 :                 if (z->c <= z->lb || z->p[z->c - 1] != 'y') goto lab2;
 1658 tgl                       594               0 :                 z->c--;
                                595               0 :                 z->c = z->l - m_test4;
                                596                 :             }
 5710                           597               0 :             return 0;
                                598               0 :         lab2:
 1658                           599               0 :             z->c = z->l - m3;
                                600                 :         }
  779 peter                     601               0 :         {   int m_test5 = z->l - z->c;
                                602               0 :             {   int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
 5710 tgl                       603               0 :                 if (ret < 0) return 0;
  779 peter                     604               0 :                 z->c = ret;
                                605                 :             }
                                606               0 :             if (in_grouping_b_U(z, g_vowel, 97, 305, 0)) return 0;
 1658 tgl                       607               0 :             z->c = z->l - m_test5;
                                608                 :         }
                                609                 :     }
 5710                           610               0 : lab0:
                                611               0 :     return 1;
                                612                 : }
                                613                 : 
  779 peter                     614               0 : static int r_mark_suffix_with_optional_U_vowel(struct SN_env * z) {
                                615               0 :     {   int m1 = z->l - z->c; (void)m1;
                                616               0 :         if (in_grouping_b_U(z, g_U, 105, 305, 0)) goto lab1;
                                617               0 :         {   int m_test2 = z->l - z->c;
                                618               0 :             if (out_grouping_b_U(z, g_vowel, 97, 305, 0)) goto lab1;
 1658 tgl                       619               0 :             z->c = z->l - m_test2;
                                620                 :         }
 5710                           621               0 :         goto lab0;
                                622               0 :     lab1:
                                623               0 :         z->c = z->l - m1;
  779 peter                     624               0 :         {   int m3 = z->l - z->c; (void)m3;
                                625               0 :             {   int m_test4 = z->l - z->c;
                                626               0 :                 if (in_grouping_b_U(z, g_U, 105, 305, 0)) goto lab2;
 1658 tgl                       627               0 :                 z->c = z->l - m_test4;
                                628                 :             }
 5710                           629               0 :             return 0;
                                630               0 :         lab2:
 1658                           631               0 :             z->c = z->l - m3;
                                632                 :         }
  779 peter                     633               0 :         {   int m_test5 = z->l - z->c;
                                634               0 :             {   int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
 5710 tgl                       635               0 :                 if (ret < 0) return 0;
  779 peter                     636               0 :                 z->c = ret;
                                637                 :             }
                                638               0 :             if (out_grouping_b_U(z, g_vowel, 97, 305, 0)) return 0;
 1658 tgl                       639               0 :             z->c = z->l - m_test5;
                                640                 :         }
                                641                 :     }
 5710                           642               0 : lab0:
                                643               0 :     return 1;
                                644                 : }
                                645                 : 
  779 peter                     646               0 : static int r_mark_possessives(struct SN_env * z) {
                                647               0 :     if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((67133440 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
 1658 tgl                       648               0 :     if (!(find_among_b(z, a_0, 10))) return 0;
  779 peter                     649               0 :     {   int ret = r_mark_suffix_with_optional_U_vowel(z);
 1658 tgl                       650               0 :         if (ret <= 0) return ret;
                                651                 :     }
 5710                           652               0 :     return 1;
                                653                 : }
                                654                 : 
  779 peter                     655               0 : static int r_mark_sU(struct SN_env * z) {
                                656               0 :     {   int ret = r_check_vowel_harmony(z);
 1658 tgl                       657               0 :         if (ret <= 0) return ret;
                                658                 :     }
  779 peter                     659               0 :     if (in_grouping_b_U(z, g_U, 105, 305, 0)) return 0;
                                660               0 :     {   int ret = r_mark_suffix_with_optional_s_consonant(z);
 1658 tgl                       661               0 :         if (ret <= 0) return ret;
                                662                 :     }
 5710                           663               0 :     return 1;
                                664                 : }
                                665                 : 
  779 peter                     666               0 : static int r_mark_lArI(struct SN_env * z) {
                                667               0 :     if (z->c - 3 <= z->lb || (z->p[z->c - 1] != 105 && z->p[z->c - 1] != 177)) return 0;
 1658 tgl                       668               0 :     if (!(find_among_b(z, a_1, 2))) return 0;
 5710                           669               0 :     return 1;
                                670                 : }
                                671                 : 
  779 peter                     672               0 : static int r_mark_yU(struct SN_env * z) {
                                673               0 :     {   int ret = r_check_vowel_harmony(z);
 1658 tgl                       674               0 :         if (ret <= 0) return ret;
                                675                 :     }
  779 peter                     676               0 :     if (in_grouping_b_U(z, g_U, 105, 305, 0)) return 0;
                                677               0 :     {   int ret = r_mark_suffix_with_optional_y_consonant(z);
 1658 tgl                       678               0 :         if (ret <= 0) return ret;
                                679                 :     }
 5710                           680               0 :     return 1;
                                681                 : }
                                682                 : 
  779 peter                     683               0 : static int r_mark_nU(struct SN_env * z) {
                                684               0 :     {   int ret = r_check_vowel_harmony(z);
 1658 tgl                       685               0 :         if (ret <= 0) return ret;
                                686                 :     }
  779 peter                     687               0 :     if (!(find_among_b(z, a_2, 4))) return 0;
 5710 tgl                       688               0 :     return 1;
                                689                 : }
                                690                 : 
  779 peter                     691               0 : static int r_mark_nUn(struct SN_env * z) {
                                692               0 :     {   int ret = r_check_vowel_harmony(z);
 1658 tgl                       693               0 :         if (ret <= 0) return ret;
                                694                 :     }
  779 peter                     695               0 :     if (z->c - 1 <= z->lb || z->p[z->c - 1] != 110) return 0;
 1658 tgl                       696               0 :     if (!(find_among_b(z, a_3, 4))) return 0;
  779 peter                     697               0 :     {   int ret = r_mark_suffix_with_optional_n_consonant(z);
 1658 tgl                       698               0 :         if (ret <= 0) return ret;
                                699                 :     }
 5710                           700               0 :     return 1;
                                701                 : }
                                702                 : 
  779 peter                     703               0 : static int r_mark_yA(struct SN_env * z) {
                                704               0 :     {   int ret = r_check_vowel_harmony(z);
 1658 tgl                       705               0 :         if (ret <= 0) return ret;
                                706                 :     }
  779 peter                     707               0 :     if (z->c <= z->lb || (z->p[z->c - 1] != 97 && z->p[z->c - 1] != 101)) return 0;
 1658 tgl                       708               0 :     if (!(find_among_b(z, a_4, 2))) return 0;
  779 peter                     709               0 :     {   int ret = r_mark_suffix_with_optional_y_consonant(z);
 1658 tgl                       710               0 :         if (ret <= 0) return ret;
                                711                 :     }
 5710                           712               0 :     return 1;
                                713                 : }
                                714                 : 
  779 peter                     715               0 : static int r_mark_nA(struct SN_env * z) {
                                716               0 :     {   int ret = r_check_vowel_harmony(z);
 1658 tgl                       717               0 :         if (ret <= 0) return ret;
                                718                 :     }
  779 peter                     719               0 :     if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 97 && z->p[z->c - 1] != 101)) return 0;
 1658 tgl                       720               0 :     if (!(find_among_b(z, a_5, 2))) return 0;
 5710                           721               0 :     return 1;
                                722                 : }
                                723                 : 
  779 peter                     724               0 : static int r_mark_DA(struct SN_env * z) {
                                725               0 :     {   int ret = r_check_vowel_harmony(z);
 1658 tgl                       726               0 :         if (ret <= 0) return ret;
                                727                 :     }
  779 peter                     728               0 :     if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 97 && z->p[z->c - 1] != 101)) return 0;
 1658 tgl                       729               0 :     if (!(find_among_b(z, a_6, 4))) return 0;
 5710                           730               0 :     return 1;
                                731                 : }
                                732                 : 
  779 peter                     733               0 : static int r_mark_ndA(struct SN_env * z) {
                                734               0 :     {   int ret = r_check_vowel_harmony(z);
 1658 tgl                       735               0 :         if (ret <= 0) return ret;
                                736                 :     }
  779 peter                     737               0 :     if (z->c - 2 <= z->lb || (z->p[z->c - 1] != 97 && z->p[z->c - 1] != 101)) return 0;
 1658 tgl                       738               0 :     if (!(find_among_b(z, a_7, 2))) return 0;
 5710                           739               0 :     return 1;
                                740                 : }
                                741                 : 
  779 peter                     742               0 : static int r_mark_DAn(struct SN_env * z) {
                                743               0 :     {   int ret = r_check_vowel_harmony(z);
 1658 tgl                       744               0 :         if (ret <= 0) return ret;
                                745                 :     }
  779 peter                     746               0 :     if (z->c - 2 <= z->lb || z->p[z->c - 1] != 110) return 0;
 1658 tgl                       747               0 :     if (!(find_among_b(z, a_8, 4))) return 0;
 5710                           748               0 :     return 1;
                                749                 : }
                                750                 : 
  779 peter                     751               0 : static int r_mark_ndAn(struct SN_env * z) {
                                752               0 :     {   int ret = r_check_vowel_harmony(z);
 1658 tgl                       753               0 :         if (ret <= 0) return ret;
                                754                 :     }
  779 peter                     755               0 :     if (z->c - 3 <= z->lb || z->p[z->c - 1] != 110) return 0;
 1658 tgl                       756               0 :     if (!(find_among_b(z, a_9, 2))) return 0;
 5710                           757               0 :     return 1;
                                758                 : }
                                759                 : 
  779 peter                     760               0 : static int r_mark_ylA(struct SN_env * z) {
                                761               0 :     {   int ret = r_check_vowel_harmony(z);
 1658 tgl                       762               0 :         if (ret <= 0) return ret;
                                763                 :     }
  779 peter                     764               0 :     if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 97 && z->p[z->c - 1] != 101)) return 0;
 1658 tgl                       765               0 :     if (!(find_among_b(z, a_10, 2))) return 0;
  779 peter                     766               0 :     {   int ret = r_mark_suffix_with_optional_y_consonant(z);
 1658 tgl                       767               0 :         if (ret <= 0) return ret;
                                768                 :     }
 5710                           769               0 :     return 1;
                                770                 : }
                                771                 : 
  779 peter                     772               0 : static int r_mark_ki(struct SN_env * z) {
                                773               0 :     if (!(eq_s_b(z, 2, s_3))) return 0;
 5710 tgl                       774               0 :     return 1;
                                775                 : }
                                776                 : 
  779 peter                     777               0 : static int r_mark_ncA(struct SN_env * z) {
                                778               0 :     {   int ret = r_check_vowel_harmony(z);
 1658 tgl                       779               0 :         if (ret <= 0) return ret;
                                780                 :     }
  779 peter                     781               0 :     if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 97 && z->p[z->c - 1] != 101)) return 0;
 1658 tgl                       782               0 :     if (!(find_among_b(z, a_11, 2))) return 0;
  779 peter                     783               0 :     {   int ret = r_mark_suffix_with_optional_n_consonant(z);
 1658 tgl                       784               0 :         if (ret <= 0) return ret;
                                785                 :     }
 5710                           786               0 :     return 1;
                                787                 : }
                                788                 : 
  779 peter                     789               0 : static int r_mark_yUm(struct SN_env * z) {
                                790               0 :     {   int ret = r_check_vowel_harmony(z);
 1658 tgl                       791               0 :         if (ret <= 0) return ret;
                                792                 :     }
  779 peter                     793               0 :     if (z->c - 1 <= z->lb || z->p[z->c - 1] != 109) return 0;
 1658 tgl                       794               0 :     if (!(find_among_b(z, a_12, 4))) return 0;
  779 peter                     795               0 :     {   int ret = r_mark_suffix_with_optional_y_consonant(z);
 1658 tgl                       796               0 :         if (ret <= 0) return ret;
                                797                 :     }
 5710                           798               0 :     return 1;
                                799                 : }
                                800                 : 
  779 peter                     801               0 : static int r_mark_sUn(struct SN_env * z) {
                                802               0 :     {   int ret = r_check_vowel_harmony(z);
 1658 tgl                       803               0 :         if (ret <= 0) return ret;
                                804                 :     }
  779 peter                     805               0 :     if (z->c - 2 <= z->lb || z->p[z->c - 1] != 110) return 0;
 1658 tgl                       806               0 :     if (!(find_among_b(z, a_13, 4))) return 0;
 5710                           807               0 :     return 1;
                                808                 : }
                                809                 : 
  779 peter                     810               0 : static int r_mark_yUz(struct SN_env * z) {
                                811               0 :     {   int ret = r_check_vowel_harmony(z);
 1658 tgl                       812               0 :         if (ret <= 0) return ret;
                                813                 :     }
  779 peter                     814               0 :     if (z->c - 1 <= z->lb || z->p[z->c - 1] != 122) return 0;
 1658 tgl                       815               0 :     if (!(find_among_b(z, a_14, 4))) return 0;
  779 peter                     816               0 :     {   int ret = r_mark_suffix_with_optional_y_consonant(z);
 1658 tgl                       817               0 :         if (ret <= 0) return ret;
                                818                 :     }
 5710                           819               0 :     return 1;
                                820                 : }
                                821                 : 
  779 peter                     822               0 : static int r_mark_sUnUz(struct SN_env * z) {
                                823               0 :     if (z->c - 4 <= z->lb || z->p[z->c - 1] != 122) return 0;
 1658 tgl                       824               0 :     if (!(find_among_b(z, a_15, 4))) return 0;
 5710                           825               0 :     return 1;
                                826                 : }
                                827                 : 
  779 peter                     828               0 : static int r_mark_lAr(struct SN_env * z) {
                                829               0 :     {   int ret = r_check_vowel_harmony(z);
 1658 tgl                       830               0 :         if (ret <= 0) return ret;
                                831                 :     }
  779 peter                     832               0 :     if (z->c - 2 <= z->lb || z->p[z->c - 1] != 114) return 0;
 1658 tgl                       833               0 :     if (!(find_among_b(z, a_16, 2))) return 0;
 5710                           834               0 :     return 1;
                                835                 : }
                                836                 : 
  779 peter                     837               0 : static int r_mark_nUz(struct SN_env * z) {
                                838               0 :     {   int ret = r_check_vowel_harmony(z);
 1658 tgl                       839               0 :         if (ret <= 0) return ret;
                                840                 :     }
  779 peter                     841               0 :     if (z->c - 2 <= z->lb || z->p[z->c - 1] != 122) return 0;
 1658 tgl                       842               0 :     if (!(find_among_b(z, a_17, 4))) return 0;
 5710                           843               0 :     return 1;
                                844                 : }
                                845                 : 
  779 peter                     846               0 : static int r_mark_DUr(struct SN_env * z) {
                                847               0 :     {   int ret = r_check_vowel_harmony(z);
 1658 tgl                       848               0 :         if (ret <= 0) return ret;
                                849                 :     }
  779 peter                     850               0 :     if (z->c - 2 <= z->lb || z->p[z->c - 1] != 114) return 0;
 1658 tgl                       851               0 :     if (!(find_among_b(z, a_18, 8))) return 0;
 5710                           852               0 :     return 1;
                                853                 : }
                                854                 : 
  779 peter                     855               0 : static int r_mark_cAsInA(struct SN_env * z) {
                                856               0 :     if (z->c - 5 <= z->lb || (z->p[z->c - 1] != 97 && z->p[z->c - 1] != 101)) return 0;
 1658 tgl                       857               0 :     if (!(find_among_b(z, a_19, 2))) return 0;
 5710                           858               0 :     return 1;
                                859                 : }
                                860                 : 
  779 peter                     861               0 : static int r_mark_yDU(struct SN_env * z) {
                                862               0 :     {   int ret = r_check_vowel_harmony(z);
 1658 tgl                       863               0 :         if (ret <= 0) return ret;
                                864                 :     }
  779 peter                     865               0 :     if (!(find_among_b(z, a_20, 32))) return 0;
                                866               0 :     {   int ret = r_mark_suffix_with_optional_y_consonant(z);
 1658 tgl                       867               0 :         if (ret <= 0) return ret;
                                868                 :     }
 5710                           869               0 :     return 1;
                                870                 : }
                                871                 : 
  779 peter                     872               0 : static int r_mark_ysA(struct SN_env * z) {
                                873               0 :     if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((26658 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
 1658 tgl                       874               0 :     if (!(find_among_b(z, a_21, 8))) return 0;
  779 peter                     875               0 :     {   int ret = r_mark_suffix_with_optional_y_consonant(z);
 1658 tgl                       876               0 :         if (ret <= 0) return ret;
                                877                 :     }
 5710                           878               0 :     return 1;
                                879                 : }
                                880                 : 
  779 peter                     881               0 : static int r_mark_ymUs_(struct SN_env * z) {
                                882               0 :     {   int ret = r_check_vowel_harmony(z);
 1658 tgl                       883               0 :         if (ret <= 0) return ret;
                                884                 :     }
  779 peter                     885               0 :     if (z->c - 3 <= z->lb || z->p[z->c - 1] != 159) return 0;
 1658 tgl                       886               0 :     if (!(find_among_b(z, a_22, 4))) return 0;
  779 peter                     887               0 :     {   int ret = r_mark_suffix_with_optional_y_consonant(z);
 1658 tgl                       888               0 :         if (ret <= 0) return ret;
                                889                 :     }
 5710                           890               0 :     return 1;
                                891                 : }
                                892                 : 
  779 peter                     893               0 : static int r_mark_yken(struct SN_env * z) {
                                894               0 :     if (!(eq_s_b(z, 3, s_4))) return 0;
                                895               0 :     {   int ret = r_mark_suffix_with_optional_y_consonant(z);
 1658 tgl                       896               0 :         if (ret <= 0) return ret;
                                897                 :     }
 5710                           898               0 :     return 1;
                                899                 : }
                                900                 : 
  779 peter                     901               0 : static int r_stem_nominal_verb_suffixes(struct SN_env * z) {
                                902               0 :     z->ket = z->c;
                                903               0 :     z->I[0] = 1;
                                904               0 :     {   int m1 = z->l - z->c; (void)m1;
                                905               0 :         {   int m2 = z->l - z->c; (void)m2;
                                906               0 :             {   int ret = r_mark_ymUs_(z);
 1658 tgl                       907               0 :                 if (ret == 0) goto lab3;
 5710                           908               0 :                 if (ret < 0) return ret;
                                909                 :             }
                                910               0 :             goto lab2;
                                911               0 :         lab3:
                                912               0 :             z->c = z->l - m2;
  779 peter                     913               0 :             {   int ret = r_mark_yDU(z);
 1658 tgl                       914               0 :                 if (ret == 0) goto lab4;
 5710                           915               0 :                 if (ret < 0) return ret;
                                916                 :             }
                                917               0 :             goto lab2;
                                918               0 :         lab4:
                                919               0 :             z->c = z->l - m2;
  779 peter                     920               0 :             {   int ret = r_mark_ysA(z);
 1658 tgl                       921               0 :                 if (ret == 0) goto lab5;
 5710                           922               0 :                 if (ret < 0) return ret;
                                923                 :             }
                                924               0 :             goto lab2;
                                925               0 :         lab5:
                                926               0 :             z->c = z->l - m2;
  779 peter                     927               0 :             {   int ret = r_mark_yken(z);
 1658 tgl                       928               0 :                 if (ret == 0) goto lab1;
 5710                           929               0 :                 if (ret < 0) return ret;
                                930                 :             }
                                931                 :         }
                                932               0 :     lab2:
                                933               0 :         goto lab0;
                                934               0 :     lab1:
                                935               0 :         z->c = z->l - m1;
  779 peter                     936               0 :         {   int ret = r_mark_cAsInA(z);
 1658 tgl                       937               0 :             if (ret == 0) goto lab6;
 5710                           938               0 :             if (ret < 0) return ret;
                                939                 :         }
  779 peter                     940               0 :         {   int m3 = z->l - z->c; (void)m3;
                                941               0 :             {   int ret = r_mark_sUnUz(z);
 1658 tgl                       942               0 :                 if (ret == 0) goto lab8;
 5710                           943               0 :                 if (ret < 0) return ret;
                                944                 :             }
                                945               0 :             goto lab7;
                                946               0 :         lab8:
                                947               0 :             z->c = z->l - m3;
  779 peter                     948               0 :             {   int ret = r_mark_lAr(z);
 1658 tgl                       949               0 :                 if (ret == 0) goto lab9;
 5710                           950               0 :                 if (ret < 0) return ret;
                                951                 :             }
                                952               0 :             goto lab7;
                                953               0 :         lab9:
                                954               0 :             z->c = z->l - m3;
  779 peter                     955               0 :             {   int ret = r_mark_yUm(z);
 1658 tgl                       956               0 :                 if (ret == 0) goto lab10;
 5710                           957               0 :                 if (ret < 0) return ret;
                                958                 :             }
                                959               0 :             goto lab7;
                                960               0 :         lab10:
                                961               0 :             z->c = z->l - m3;
  779 peter                     962               0 :             {   int ret = r_mark_sUn(z);
 1658 tgl                       963               0 :                 if (ret == 0) goto lab11;
 5710                           964               0 :                 if (ret < 0) return ret;
                                965                 :             }
                                966               0 :             goto lab7;
                                967               0 :         lab11:
                                968               0 :             z->c = z->l - m3;
  779 peter                     969               0 :             {   int ret = r_mark_yUz(z);
 1658 tgl                       970               0 :                 if (ret == 0) goto lab12;
 5710                           971               0 :                 if (ret < 0) return ret;
                                972                 :             }
                                973               0 :             goto lab7;
                                974               0 :         lab12:
                                975               0 :             z->c = z->l - m3;
                                976                 :         }
                                977               0 :     lab7:
  779 peter                     978               0 :         {   int ret = r_mark_ymUs_(z);
 1658 tgl                       979               0 :             if (ret == 0) goto lab6;
 5710                           980               0 :             if (ret < 0) return ret;
                                981                 :         }
                                982               0 :         goto lab0;
                                983               0 :     lab6:
                                984               0 :         z->c = z->l - m1;
  779 peter                     985               0 :         {   int ret = r_mark_lAr(z);
 1658 tgl                       986               0 :             if (ret == 0) goto lab13;
 5710                           987               0 :             if (ret < 0) return ret;
                                988                 :         }
  779 peter                     989               0 :         z->bra = z->c;
                                990               0 :         {   int ret = slice_del(z);
 5710 tgl                       991               0 :             if (ret < 0) return ret;
                                992                 :         }
  779 peter                     993               0 :         {   int m4 = z->l - z->c; (void)m4;
                                994               0 :             z->ket = z->c;
                                995               0 :             {   int m5 = z->l - z->c; (void)m5;
                                996               0 :                 {   int ret = r_mark_DUr(z);
 1658 tgl                       997               0 :                     if (ret == 0) goto lab16;
 5710                           998               0 :                     if (ret < 0) return ret;
                                999                 :                 }
                               1000               0 :                 goto lab15;
                               1001               0 :             lab16:
 1658                          1002               0 :                 z->c = z->l - m5;
  779 peter                    1003               0 :                 {   int ret = r_mark_yDU(z);
 1658 tgl                      1004               0 :                     if (ret == 0) goto lab17;
 5710                          1005               0 :                     if (ret < 0) return ret;
                               1006                 :                 }
                               1007               0 :                 goto lab15;
                               1008               0 :             lab17:
 1658                          1009               0 :                 z->c = z->l - m5;
  779 peter                    1010               0 :                 {   int ret = r_mark_ysA(z);
 1658 tgl                      1011               0 :                     if (ret == 0) goto lab18;
 5710                          1012               0 :                     if (ret < 0) return ret;
                               1013                 :                 }
                               1014               0 :                 goto lab15;
                               1015               0 :             lab18:
 1658                          1016               0 :                 z->c = z->l - m5;
  779 peter                    1017               0 :                 {   int ret = r_mark_ymUs_(z);
 1658 tgl                      1018               0 :                     if (ret == 0) { z->c = z->l - m4; goto lab14; }
 5710                          1019               0 :                     if (ret < 0) return ret;
                               1020                 :                 }
                               1021                 :             }
                               1022               0 :         lab15:
                               1023               0 :         lab14:
                               1024                 :             ;
                               1025                 :         }
  779 peter                    1026               0 :         z->I[0] = 0;
 5710 tgl                      1027               0 :         goto lab0;
                               1028               0 :     lab13:
                               1029               0 :         z->c = z->l - m1;
  779 peter                    1030               0 :         {   int ret = r_mark_nUz(z);
 1658 tgl                      1031               0 :             if (ret == 0) goto lab19;
 5710                          1032               0 :             if (ret < 0) return ret;
                               1033                 :         }
  779 peter                    1034               0 :         {   int m6 = z->l - z->c; (void)m6;
                               1035               0 :             {   int ret = r_mark_yDU(z);
 1658 tgl                      1036               0 :                 if (ret == 0) goto lab21;
 5710                          1037               0 :                 if (ret < 0) return ret;
                               1038                 :             }
                               1039               0 :             goto lab20;
                               1040               0 :         lab21:
 1658                          1041               0 :             z->c = z->l - m6;
  779 peter                    1042               0 :             {   int ret = r_mark_ysA(z);
 1658 tgl                      1043               0 :                 if (ret == 0) goto lab19;
 5710                          1044               0 :                 if (ret < 0) return ret;
                               1045                 :             }
                               1046                 :         }
                               1047               0 :     lab20:
                               1048               0 :         goto lab0;
                               1049               0 :     lab19:
                               1050               0 :         z->c = z->l - m1;
  779 peter                    1051               0 :         {   int m7 = z->l - z->c; (void)m7;
                               1052               0 :             {   int ret = r_mark_sUnUz(z);
 1658 tgl                      1053               0 :                 if (ret == 0) goto lab24;
 5710                          1054               0 :                 if (ret < 0) return ret;
                               1055                 :             }
                               1056               0 :             goto lab23;
                               1057               0 :         lab24:
 1658                          1058               0 :             z->c = z->l - m7;
  779 peter                    1059               0 :             {   int ret = r_mark_yUz(z);
 1658 tgl                      1060               0 :                 if (ret == 0) goto lab25;
 5710                          1061               0 :                 if (ret < 0) return ret;
                               1062                 :             }
                               1063               0 :             goto lab23;
                               1064               0 :         lab25:
 1658                          1065               0 :             z->c = z->l - m7;
  779 peter                    1066               0 :             {   int ret = r_mark_sUn(z);
 1658 tgl                      1067               0 :                 if (ret == 0) goto lab26;
 5710                          1068               0 :                 if (ret < 0) return ret;
                               1069                 :             }
                               1070               0 :             goto lab23;
                               1071               0 :         lab26:
 1658                          1072               0 :             z->c = z->l - m7;
  779 peter                    1073               0 :             {   int ret = r_mark_yUm(z);
 1658 tgl                      1074               0 :                 if (ret == 0) goto lab22;
 5710                          1075               0 :                 if (ret < 0) return ret;
                               1076                 :             }
                               1077                 :         }
                               1078               0 :     lab23:
  779 peter                    1079               0 :         z->bra = z->c;
                               1080               0 :         {   int ret = slice_del(z);
 5710 tgl                      1081               0 :             if (ret < 0) return ret;
                               1082                 :         }
  779 peter                    1083               0 :         {   int m8 = z->l - z->c; (void)m8;
                               1084               0 :             z->ket = z->c;
                               1085               0 :             {   int ret = r_mark_ymUs_(z);
 1658 tgl                      1086               0 :                 if (ret == 0) { z->c = z->l - m8; goto lab27; }
 5710                          1087               0 :                 if (ret < 0) return ret;
                               1088                 :             }
                               1089               0 :         lab27:
                               1090                 :             ;
                               1091                 :         }
                               1092               0 :         goto lab0;
                               1093               0 :     lab22:
                               1094               0 :         z->c = z->l - m1;
  779 peter                    1095               0 :         {   int ret = r_mark_DUr(z);
 1658 tgl                      1096               0 :             if (ret <= 0) return ret;
                               1097                 :         }
  779 peter                    1098               0 :         z->bra = z->c;
                               1099               0 :         {   int ret = slice_del(z);
 5710 tgl                      1100               0 :             if (ret < 0) return ret;
                               1101                 :         }
  779 peter                    1102               0 :         {   int m9 = z->l - z->c; (void)m9;
                               1103               0 :             z->ket = z->c;
                               1104               0 :             {   int m10 = z->l - z->c; (void)m10;
                               1105               0 :                 {   int ret = r_mark_sUnUz(z);
 1658 tgl                      1106               0 :                     if (ret == 0) goto lab30;
 5710                          1107               0 :                     if (ret < 0) return ret;
                               1108                 :                 }
                               1109               0 :                 goto lab29;
                               1110               0 :             lab30:
 1658                          1111               0 :                 z->c = z->l - m10;
  779 peter                    1112               0 :                 {   int ret = r_mark_lAr(z);
 1658 tgl                      1113               0 :                     if (ret == 0) goto lab31;
 5710                          1114               0 :                     if (ret < 0) return ret;
                               1115                 :                 }
                               1116               0 :                 goto lab29;
                               1117               0 :             lab31:
 1658                          1118               0 :                 z->c = z->l - m10;
  779 peter                    1119               0 :                 {   int ret = r_mark_yUm(z);
 1658 tgl                      1120               0 :                     if (ret == 0) goto lab32;
 5710                          1121               0 :                     if (ret < 0) return ret;
                               1122                 :                 }
                               1123               0 :                 goto lab29;
                               1124               0 :             lab32:
 1658                          1125               0 :                 z->c = z->l - m10;
  779 peter                    1126               0 :                 {   int ret = r_mark_sUn(z);
 1658 tgl                      1127               0 :                     if (ret == 0) goto lab33;
 5710                          1128               0 :                     if (ret < 0) return ret;
                               1129                 :                 }
                               1130               0 :                 goto lab29;
                               1131               0 :             lab33:
 1658                          1132               0 :                 z->c = z->l - m10;
  779 peter                    1133               0 :                 {   int ret = r_mark_yUz(z);
 1658 tgl                      1134               0 :                     if (ret == 0) goto lab34;
 5710                          1135               0 :                     if (ret < 0) return ret;
                               1136                 :                 }
                               1137               0 :                 goto lab29;
                               1138               0 :             lab34:
 1658                          1139               0 :                 z->c = z->l - m10;
                               1140                 :             }
 5710                          1141               0 :         lab29:
  779 peter                    1142               0 :             {   int ret = r_mark_ymUs_(z);
 1658 tgl                      1143               0 :                 if (ret == 0) { z->c = z->l - m9; goto lab28; }
 5710                          1144               0 :                 if (ret < 0) return ret;
                               1145                 :             }
                               1146               0 :         lab28:
                               1147                 :             ;
                               1148                 :         }
                               1149                 :     }
                               1150               0 : lab0:
  779 peter                    1151               0 :     z->bra = z->c;
                               1152               0 :     {   int ret = slice_del(z);
 5710 tgl                      1153               0 :         if (ret < 0) return ret;
                               1154                 :     }
                               1155               0 :     return 1;
                               1156                 : }
                               1157                 : 
  779 peter                    1158               0 : static int r_stem_suffix_chain_before_ki(struct SN_env * z) {
                               1159               0 :     z->ket = z->c;
                               1160               0 :     {   int ret = r_mark_ki(z);
 1658 tgl                      1161               0 :         if (ret <= 0) return ret;
                               1162                 :     }
  779 peter                    1163               0 :     {   int m1 = z->l - z->c; (void)m1;
                               1164               0 :         {   int ret = r_mark_DA(z);
 1658 tgl                      1165               0 :             if (ret == 0) goto lab1;
 5710                          1166               0 :             if (ret < 0) return ret;
                               1167                 :         }
  779 peter                    1168               0 :         z->bra = z->c;
                               1169               0 :         {   int ret = slice_del(z);
 5710 tgl                      1170               0 :             if (ret < 0) return ret;
                               1171                 :         }
  779 peter                    1172               0 :         {   int m2 = z->l - z->c; (void)m2;
                               1173               0 :             z->ket = z->c;
                               1174               0 :             {   int m3 = z->l - z->c; (void)m3;
                               1175               0 :                 {   int ret = r_mark_lAr(z);
 1658 tgl                      1176               0 :                     if (ret == 0) goto lab4;
 5710                          1177               0 :                     if (ret < 0) return ret;
                               1178                 :                 }
  779 peter                    1179               0 :                 z->bra = z->c;
                               1180               0 :                 {   int ret = slice_del(z);
 5710 tgl                      1181               0 :                     if (ret < 0) return ret;
                               1182                 :                 }
  779 peter                    1183               0 :                 {   int m4 = z->l - z->c; (void)m4;
                               1184               0 :                     {   int ret = r_stem_suffix_chain_before_ki(z);
 1658 tgl                      1185               0 :                         if (ret == 0) { z->c = z->l - m4; goto lab5; }
 5710                          1186               0 :                         if (ret < 0) return ret;
                               1187                 :                     }
                               1188               0 :                 lab5:
                               1189                 :                     ;
                               1190                 :                 }
                               1191               0 :                 goto lab3;
                               1192               0 :             lab4:
 1658                          1193               0 :                 z->c = z->l - m3;
  779 peter                    1194               0 :                 {   int ret = r_mark_possessives(z);
 1658 tgl                      1195               0 :                     if (ret == 0) { z->c = z->l - m2; goto lab2; }
 5710                          1196               0 :                     if (ret < 0) return ret;
                               1197                 :                 }
  779 peter                    1198               0 :                 z->bra = z->c;
                               1199               0 :                 {   int ret = slice_del(z);
 5710 tgl                      1200               0 :                     if (ret < 0) return ret;
                               1201                 :                 }
  779 peter                    1202               0 :                 {   int m5 = z->l - z->c; (void)m5;
                               1203               0 :                     z->ket = z->c;
                               1204               0 :                     {   int ret = r_mark_lAr(z);
 1658 tgl                      1205               0 :                         if (ret == 0) { z->c = z->l - m5; goto lab6; }
 5710                          1206               0 :                         if (ret < 0) return ret;
                               1207                 :                     }
  779 peter                    1208               0 :                     z->bra = z->c;
                               1209               0 :                     {   int ret = slice_del(z);
 5710 tgl                      1210               0 :                         if (ret < 0) return ret;
                               1211                 :                     }
  779 peter                    1212               0 :                     {   int ret = r_stem_suffix_chain_before_ki(z);
 1658 tgl                      1213               0 :                         if (ret == 0) { z->c = z->l - m5; goto lab6; }
 5710                          1214               0 :                         if (ret < 0) return ret;
                               1215                 :                     }
                               1216               0 :                 lab6:
                               1217                 :                     ;
                               1218                 :                 }
                               1219                 :             }
                               1220               0 :         lab3:
                               1221               0 :         lab2:
                               1222                 :             ;
                               1223                 :         }
                               1224               0 :         goto lab0;
                               1225               0 :     lab1:
                               1226               0 :         z->c = z->l - m1;
  779 peter                    1227               0 :         {   int ret = r_mark_nUn(z);
 1658 tgl                      1228               0 :             if (ret == 0) goto lab7;
 5710                          1229               0 :             if (ret < 0) return ret;
                               1230                 :         }
  779 peter                    1231               0 :         z->bra = z->c;
                               1232               0 :         {   int ret = slice_del(z);
 5710 tgl                      1233               0 :             if (ret < 0) return ret;
                               1234                 :         }
  779 peter                    1235               0 :         {   int m6 = z->l - z->c; (void)m6;
                               1236               0 :             z->ket = z->c;
                               1237               0 :             {   int m7 = z->l - z->c; (void)m7;
                               1238               0 :                 {   int ret = r_mark_lArI(z);
 1658 tgl                      1239               0 :                     if (ret == 0) goto lab10;
 5710                          1240               0 :                     if (ret < 0) return ret;
                               1241                 :                 }
  779 peter                    1242               0 :                 z->bra = z->c;
                               1243               0 :                 {   int ret = slice_del(z);
 5710 tgl                      1244               0 :                     if (ret < 0) return ret;
                               1245                 :                 }
                               1246               0 :                 goto lab9;
                               1247               0 :             lab10:
 1658                          1248               0 :                 z->c = z->l - m7;
  779 peter                    1249               0 :                 z->ket = z->c;
                               1250               0 :                 {   int m8 = z->l - z->c; (void)m8;
                               1251               0 :                     {   int ret = r_mark_possessives(z);
 1658 tgl                      1252               0 :                         if (ret == 0) goto lab13;
 5710                          1253               0 :                         if (ret < 0) return ret;
                               1254                 :                     }
                               1255               0 :                     goto lab12;
                               1256               0 :                 lab13:
 1658                          1257               0 :                     z->c = z->l - m8;
  779 peter                    1258               0 :                     {   int ret = r_mark_sU(z);
 1658 tgl                      1259               0 :                         if (ret == 0) goto lab11;
 5710                          1260               0 :                         if (ret < 0) return ret;
                               1261                 :                     }
                               1262                 :                 }
                               1263               0 :             lab12:
  779 peter                    1264               0 :                 z->bra = z->c;
                               1265               0 :                 {   int ret = slice_del(z);
 5710 tgl                      1266               0 :                     if (ret < 0) return ret;
                               1267                 :                 }
  779 peter                    1268               0 :                 {   int m9 = z->l - z->c; (void)m9;
                               1269               0 :                     z->ket = z->c;
                               1270               0 :                     {   int ret = r_mark_lAr(z);
 1658 tgl                      1271               0 :                         if (ret == 0) { z->c = z->l - m9; goto lab14; }
 5710                          1272               0 :                         if (ret < 0) return ret;
                               1273                 :                     }
  779 peter                    1274               0 :                     z->bra = z->c;
                               1275               0 :                     {   int ret = slice_del(z);
 5710 tgl                      1276               0 :                         if (ret < 0) return ret;
                               1277                 :                     }
  779 peter                    1278               0 :                     {   int ret = r_stem_suffix_chain_before_ki(z);
 1658 tgl                      1279               0 :                         if (ret == 0) { z->c = z->l - m9; goto lab14; }
 5710                          1280               0 :                         if (ret < 0) return ret;
                               1281                 :                     }
                               1282               0 :                 lab14:
                               1283                 :                     ;
                               1284                 :                 }
                               1285               0 :                 goto lab9;
                               1286               0 :             lab11:
 1658                          1287               0 :                 z->c = z->l - m7;
  779 peter                    1288               0 :                 {   int ret = r_stem_suffix_chain_before_ki(z);
 1658 tgl                      1289               0 :                     if (ret == 0) { z->c = z->l - m6; goto lab8; }
 5710                          1290               0 :                     if (ret < 0) return ret;
                               1291                 :                 }
                               1292                 :             }
                               1293               0 :         lab9:
                               1294               0 :         lab8:
                               1295                 :             ;
                               1296                 :         }
                               1297               0 :         goto lab0;
                               1298               0 :     lab7:
                               1299               0 :         z->c = z->l - m1;
  779 peter                    1300               0 :         {   int ret = r_mark_ndA(z);
 1658 tgl                      1301               0 :             if (ret <= 0) return ret;
                               1302                 :         }
  779 peter                    1303               0 :         {   int m10 = z->l - z->c; (void)m10;
                               1304               0 :             {   int ret = r_mark_lArI(z);
 1658 tgl                      1305               0 :                 if (ret == 0) goto lab16;
 5710                          1306               0 :                 if (ret < 0) return ret;
                               1307                 :             }
  779 peter                    1308               0 :             z->bra = z->c;
                               1309               0 :             {   int ret = slice_del(z);
 5710 tgl                      1310               0 :                 if (ret < 0) return ret;
                               1311                 :             }
                               1312               0 :             goto lab15;
                               1313               0 :         lab16:
 1658                          1314               0 :             z->c = z->l - m10;
  779 peter                    1315               0 :             {   int ret = r_mark_sU(z);
 1658 tgl                      1316               0 :                 if (ret == 0) goto lab17;
 5710                          1317               0 :                 if (ret < 0) return ret;
                               1318                 :             }
  779 peter                    1319               0 :             z->bra = z->c;
                               1320               0 :             {   int ret = slice_del(z);
 5710 tgl                      1321               0 :                 if (ret < 0) return ret;
                               1322                 :             }
  779 peter                    1323               0 :             {   int m11 = z->l - z->c; (void)m11;
                               1324               0 :                 z->ket = z->c;
                               1325               0 :                 {   int ret = r_mark_lAr(z);
 1658 tgl                      1326               0 :                     if (ret == 0) { z->c = z->l - m11; goto lab18; }
 5710                          1327               0 :                     if (ret < 0) return ret;
                               1328                 :                 }
  779 peter                    1329               0 :                 z->bra = z->c;
                               1330               0 :                 {   int ret = slice_del(z);
 5710 tgl                      1331               0 :                     if (ret < 0) return ret;
                               1332                 :                 }
  779 peter                    1333               0 :                 {   int ret = r_stem_suffix_chain_before_ki(z);
 1658 tgl                      1334               0 :                     if (ret == 0) { z->c = z->l - m11; goto lab18; }
 5710                          1335               0 :                     if (ret < 0) return ret;
                               1336                 :                 }
                               1337               0 :             lab18:
                               1338                 :                 ;
                               1339                 :             }
                               1340               0 :             goto lab15;
                               1341               0 :         lab17:
 1658                          1342               0 :             z->c = z->l - m10;
  779 peter                    1343               0 :             {   int ret = r_stem_suffix_chain_before_ki(z);
 1658 tgl                      1344               0 :                 if (ret <= 0) return ret;
                               1345                 :             }
                               1346                 :         }
 5710                          1347               0 :     lab15:
                               1348                 :         ;
                               1349                 :     }
                               1350               0 : lab0:
                               1351               0 :     return 1;
                               1352                 : }
                               1353                 : 
  779 peter                    1354               0 : static int r_stem_noun_suffixes(struct SN_env * z) {
                               1355               0 :     {   int m1 = z->l - z->c; (void)m1;
                               1356               0 :         z->ket = z->c;
                               1357               0 :         {   int ret = r_mark_lAr(z);
 1658 tgl                      1358               0 :             if (ret == 0) goto lab1;
 5710                          1359               0 :             if (ret < 0) return ret;
                               1360                 :         }
  779 peter                    1361               0 :         z->bra = z->c;
                               1362               0 :         {   int ret = slice_del(z);
 5710 tgl                      1363               0 :             if (ret < 0) return ret;
                               1364                 :         }
  779 peter                    1365               0 :         {   int m2 = z->l - z->c; (void)m2;
                               1366               0 :             {   int ret = r_stem_suffix_chain_before_ki(z);
 1658 tgl                      1367               0 :                 if (ret == 0) { z->c = z->l - m2; goto lab2; }
 5710                          1368               0 :                 if (ret < 0) return ret;
                               1369                 :             }
                               1370               0 :         lab2:
                               1371                 :             ;
                               1372                 :         }
                               1373               0 :         goto lab0;
                               1374               0 :     lab1:
                               1375               0 :         z->c = z->l - m1;
  779 peter                    1376               0 :         z->ket = z->c;
                               1377               0 :         {   int ret = r_mark_ncA(z);
 1658 tgl                      1378               0 :             if (ret == 0) goto lab3;
 5710                          1379               0 :             if (ret < 0) return ret;
                               1380                 :         }
  779 peter                    1381               0 :         z->bra = z->c;
                               1382               0 :         {   int ret = slice_del(z);
 5710 tgl                      1383               0 :             if (ret < 0) return ret;
                               1384                 :         }
  779 peter                    1385               0 :         {   int m3 = z->l - z->c; (void)m3;
                               1386               0 :             {   int m4 = z->l - z->c; (void)m4;
                               1387               0 :                 z->ket = z->c;
                               1388               0 :                 {   int ret = r_mark_lArI(z);
 1658 tgl                      1389               0 :                     if (ret == 0) goto lab6;
 5710                          1390               0 :                     if (ret < 0) return ret;
                               1391                 :                 }
  779 peter                    1392               0 :                 z->bra = z->c;
                               1393               0 :                 {   int ret = slice_del(z);
 5710 tgl                      1394               0 :                     if (ret < 0) return ret;
                               1395                 :                 }
                               1396               0 :                 goto lab5;
                               1397               0 :             lab6:
 1658                          1398               0 :                 z->c = z->l - m4;
  779 peter                    1399               0 :                 z->ket = z->c;
                               1400               0 :                 {   int m5 = z->l - z->c; (void)m5;
                               1401               0 :                     {   int ret = r_mark_possessives(z);
 1658 tgl                      1402               0 :                         if (ret == 0) goto lab9;
 5710                          1403               0 :                         if (ret < 0) return ret;
                               1404                 :                     }
                               1405               0 :                     goto lab8;
                               1406               0 :                 lab9:
 1658                          1407               0 :                     z->c = z->l - m5;
  779 peter                    1408               0 :                     {   int ret = r_mark_sU(z);
 1658 tgl                      1409               0 :                         if (ret == 0) goto lab7;
 5710                          1410               0 :                         if (ret < 0) return ret;
                               1411                 :                     }
                               1412                 :                 }
                               1413               0 :             lab8:
  779 peter                    1414               0 :                 z->bra = z->c;
                               1415               0 :                 {   int ret = slice_del(z);
 5710 tgl                      1416               0 :                     if (ret < 0) return ret;
                               1417                 :                 }
  779 peter                    1418               0 :                 {   int m6 = z->l - z->c; (void)m6;
                               1419               0 :                     z->ket = z->c;
                               1420               0 :                     {   int ret = r_mark_lAr(z);
 1658 tgl                      1421               0 :                         if (ret == 0) { z->c = z->l - m6; goto lab10; }
 5710                          1422               0 :                         if (ret < 0) return ret;
                               1423                 :                     }
  779 peter                    1424               0 :                     z->bra = z->c;
                               1425               0 :                     {   int ret = slice_del(z);
 5710 tgl                      1426               0 :                         if (ret < 0) return ret;
                               1427                 :                     }
  779 peter                    1428               0 :                     {   int ret = r_stem_suffix_chain_before_ki(z);
 1658 tgl                      1429               0 :                         if (ret == 0) { z->c = z->l - m6; goto lab10; }
 5710                          1430               0 :                         if (ret < 0) return ret;
                               1431                 :                     }
                               1432               0 :                 lab10:
                               1433                 :                     ;
                               1434                 :                 }
                               1435               0 :                 goto lab5;
                               1436               0 :             lab7:
 1658                          1437               0 :                 z->c = z->l - m4;
  779 peter                    1438               0 :                 z->ket = z->c;
                               1439               0 :                 {   int ret = r_mark_lAr(z);
 1658 tgl                      1440               0 :                     if (ret == 0) { z->c = z->l - m3; goto lab4; }
 5710                          1441               0 :                     if (ret < 0) return ret;
                               1442                 :                 }
  779 peter                    1443               0 :                 z->bra = z->c;
                               1444               0 :                 {   int ret = slice_del(z);
 5710 tgl                      1445               0 :                     if (ret < 0) return ret;
                               1446                 :                 }
  779 peter                    1447               0 :                 {   int ret = r_stem_suffix_chain_before_ki(z);
 1658 tgl                      1448               0 :                     if (ret == 0) { z->c = z->l - m3; goto lab4; }
 5710                          1449               0 :                     if (ret < 0) return ret;
                               1450                 :                 }
                               1451                 :             }
                               1452               0 :         lab5:
                               1453               0 :         lab4:
                               1454                 :             ;
                               1455                 :         }
                               1456               0 :         goto lab0;
                               1457               0 :     lab3:
                               1458               0 :         z->c = z->l - m1;
  779 peter                    1459               0 :         z->ket = z->c;
                               1460               0 :         {   int m7 = z->l - z->c; (void)m7;
                               1461               0 :             {   int ret = r_mark_ndA(z);
 1658 tgl                      1462               0 :                 if (ret == 0) goto lab13;
 5710                          1463               0 :                 if (ret < 0) return ret;
                               1464                 :             }
                               1465               0 :             goto lab12;
                               1466               0 :         lab13:
 1658                          1467               0 :             z->c = z->l - m7;
  779 peter                    1468               0 :             {   int ret = r_mark_nA(z);
 1658 tgl                      1469               0 :                 if (ret == 0) goto lab11;
 5710                          1470               0 :                 if (ret < 0) return ret;
                               1471                 :             }
                               1472                 :         }
                               1473               0 :     lab12:
  779 peter                    1474               0 :         {   int m8 = z->l - z->c; (void)m8;
                               1475               0 :             {   int ret = r_mark_lArI(z);
 1658 tgl                      1476               0 :                 if (ret == 0) goto lab15;
 5710                          1477               0 :                 if (ret < 0) return ret;
                               1478                 :             }
  779 peter                    1479               0 :             z->bra = z->c;
                               1480               0 :             {   int ret = slice_del(z);
 5710 tgl                      1481               0 :                 if (ret < 0) return ret;
                               1482                 :             }
                               1483               0 :             goto lab14;
                               1484               0 :         lab15:
 1658                          1485               0 :             z->c = z->l - m8;
  779 peter                    1486               0 :             {   int ret = r_mark_sU(z);
 1658 tgl                      1487               0 :                 if (ret == 0) goto lab16;
 5710                          1488               0 :                 if (ret < 0) return ret;
                               1489                 :             }
  779 peter                    1490               0 :             z->bra = z->c;
                               1491               0 :             {   int ret = slice_del(z);
 5710 tgl                      1492               0 :                 if (ret < 0) return ret;
                               1493                 :             }
  779 peter                    1494               0 :             {   int m9 = z->l - z->c; (void)m9;
                               1495               0 :                 z->ket = z->c;
                               1496               0 :                 {   int ret = r_mark_lAr(z);
 1658 tgl                      1497               0 :                     if (ret == 0) { z->c = z->l - m9; goto lab17; }
 5710                          1498               0 :                     if (ret < 0) return ret;
                               1499                 :                 }
  779 peter                    1500               0 :                 z->bra = z->c;
                               1501               0 :                 {   int ret = slice_del(z);
 5710 tgl                      1502               0 :                     if (ret < 0) return ret;
                               1503                 :                 }
  779 peter                    1504               0 :                 {   int ret = r_stem_suffix_chain_before_ki(z);
 1658 tgl                      1505               0 :                     if (ret == 0) { z->c = z->l - m9; goto lab17; }
 5710                          1506               0 :                     if (ret < 0) return ret;
                               1507                 :                 }
                               1508               0 :             lab17:
                               1509                 :                 ;
                               1510                 :             }
                               1511               0 :             goto lab14;
                               1512               0 :         lab16:
 1658                          1513               0 :             z->c = z->l - m8;
  779 peter                    1514               0 :             {   int ret = r_stem_suffix_chain_before_ki(z);
 1658 tgl                      1515               0 :                 if (ret == 0) goto lab11;
 5710                          1516               0 :                 if (ret < 0) return ret;
                               1517                 :             }
                               1518                 :         }
                               1519               0 :     lab14:
                               1520               0 :         goto lab0;
                               1521               0 :     lab11:
                               1522               0 :         z->c = z->l - m1;
  779 peter                    1523               0 :         z->ket = z->c;
                               1524               0 :         {   int m10 = z->l - z->c; (void)m10;
                               1525               0 :             {   int ret = r_mark_ndAn(z);
 1658 tgl                      1526               0 :                 if (ret == 0) goto lab20;
 5710                          1527               0 :                 if (ret < 0) return ret;
                               1528                 :             }
                               1529               0 :             goto lab19;
                               1530               0 :         lab20:
 1658                          1531               0 :             z->c = z->l - m10;
  779 peter                    1532               0 :             {   int ret = r_mark_nU(z);
 1658 tgl                      1533               0 :                 if (ret == 0) goto lab18;
 5710                          1534               0 :                 if (ret < 0) return ret;
                               1535                 :             }
                               1536                 :         }
                               1537               0 :     lab19:
  779 peter                    1538               0 :         {   int m11 = z->l - z->c; (void)m11;
                               1539               0 :             {   int ret = r_mark_sU(z);
 1658 tgl                      1540               0 :                 if (ret == 0) goto lab22;
 5710                          1541               0 :                 if (ret < 0) return ret;
                               1542                 :             }
  779 peter                    1543               0 :             z->bra = z->c;
                               1544               0 :             {   int ret = slice_del(z);
 5710 tgl                      1545               0 :                 if (ret < 0) return ret;
                               1546                 :             }
  779 peter                    1547               0 :             {   int m12 = z->l - z->c; (void)m12;
                               1548               0 :                 z->ket = z->c;
                               1549               0 :                 {   int ret = r_mark_lAr(z);
 1658 tgl                      1550               0 :                     if (ret == 0) { z->c = z->l - m12; goto lab23; }
 5710                          1551               0 :                     if (ret < 0) return ret;
                               1552                 :                 }
  779 peter                    1553               0 :                 z->bra = z->c;
                               1554               0 :                 {   int ret = slice_del(z);
 5710 tgl                      1555               0 :                     if (ret < 0) return ret;
                               1556                 :                 }
  779 peter                    1557               0 :                 {   int ret = r_stem_suffix_chain_before_ki(z);
 1658 tgl                      1558               0 :                     if (ret == 0) { z->c = z->l - m12; goto lab23; }
 5710                          1559               0 :                     if (ret < 0) return ret;
                               1560                 :                 }
                               1561               0 :             lab23:
                               1562                 :                 ;
                               1563                 :             }
                               1564               0 :             goto lab21;
                               1565               0 :         lab22:
 1658                          1566               0 :             z->c = z->l - m11;
  779 peter                    1567               0 :             {   int ret = r_mark_lArI(z);
 1658 tgl                      1568               0 :                 if (ret == 0) goto lab18;
 5710                          1569               0 :                 if (ret < 0) return ret;
                               1570                 :             }
                               1571                 :         }
                               1572               0 :     lab21:
                               1573               0 :         goto lab0;
                               1574               0 :     lab18:
                               1575               0 :         z->c = z->l - m1;
  779 peter                    1576               0 :         z->ket = z->c;
                               1577               0 :         {   int ret = r_mark_DAn(z);
 1658 tgl                      1578               0 :             if (ret == 0) goto lab24;
 5710                          1579               0 :             if (ret < 0) return ret;
                               1580                 :         }
  779 peter                    1581               0 :         z->bra = z->c;
                               1582               0 :         {   int ret = slice_del(z);
 5710 tgl                      1583               0 :             if (ret < 0) return ret;
                               1584                 :         }
  779 peter                    1585               0 :         {   int m13 = z->l - z->c; (void)m13;
                               1586               0 :             z->ket = z->c;
                               1587               0 :             {   int m14 = z->l - z->c; (void)m14;
                               1588               0 :                 {   int ret = r_mark_possessives(z);
 1658 tgl                      1589               0 :                     if (ret == 0) goto lab27;
 5710                          1590               0 :                     if (ret < 0) return ret;
                               1591                 :                 }
  779 peter                    1592               0 :                 z->bra = z->c;
                               1593               0 :                 {   int ret = slice_del(z);
 5710 tgl                      1594               0 :                     if (ret < 0) return ret;
                               1595                 :                 }
  779 peter                    1596               0 :                 {   int m15 = z->l - z->c; (void)m15;
                               1597               0 :                     z->ket = z->c;
                               1598               0 :                     {   int ret = r_mark_lAr(z);
 1658 tgl                      1599               0 :                         if (ret == 0) { z->c = z->l - m15; goto lab28; }
 5710                          1600               0 :                         if (ret < 0) return ret;
                               1601                 :                     }
  779 peter                    1602               0 :                     z->bra = z->c;
                               1603               0 :                     {   int ret = slice_del(z);
 5710 tgl                      1604               0 :                         if (ret < 0) return ret;
                               1605                 :                     }
  779 peter                    1606               0 :                     {   int ret = r_stem_suffix_chain_before_ki(z);
 1658 tgl                      1607               0 :                         if (ret == 0) { z->c = z->l - m15; goto lab28; }
 5710                          1608               0 :                         if (ret < 0) return ret;
                               1609                 :                     }
                               1610               0 :                 lab28:
                               1611                 :                     ;
                               1612                 :                 }
                               1613               0 :                 goto lab26;
                               1614               0 :             lab27:
 1658                          1615               0 :                 z->c = z->l - m14;
  779 peter                    1616               0 :                 {   int ret = r_mark_lAr(z);
 1658 tgl                      1617               0 :                     if (ret == 0) goto lab29;
 5710                          1618               0 :                     if (ret < 0) return ret;
                               1619                 :                 }
  779 peter                    1620               0 :                 z->bra = z->c;
                               1621               0 :                 {   int ret = slice_del(z);
 5710 tgl                      1622               0 :                     if (ret < 0) return ret;
                               1623                 :                 }
  779 peter                    1624               0 :                 {   int m16 = z->l - z->c; (void)m16;
                               1625               0 :                     {   int ret = r_stem_suffix_chain_before_ki(z);
 1658 tgl                      1626               0 :                         if (ret == 0) { z->c = z->l - m16; goto lab30; }
 5710                          1627               0 :                         if (ret < 0) return ret;
                               1628                 :                     }
                               1629               0 :                 lab30:
                               1630                 :                     ;
                               1631                 :                 }
                               1632               0 :                 goto lab26;
                               1633               0 :             lab29:
 1658                          1634               0 :                 z->c = z->l - m14;
  779 peter                    1635               0 :                 {   int ret = r_stem_suffix_chain_before_ki(z);
 1658 tgl                      1636               0 :                     if (ret == 0) { z->c = z->l - m13; goto lab25; }
 5710                          1637               0 :                     if (ret < 0) return ret;
                               1638                 :                 }
                               1639                 :             }
                               1640               0 :         lab26:
                               1641               0 :         lab25:
                               1642                 :             ;
                               1643                 :         }
                               1644               0 :         goto lab0;
                               1645               0 :     lab24:
                               1646               0 :         z->c = z->l - m1;
  779 peter                    1647               0 :         z->ket = z->c;
                               1648               0 :         {   int m17 = z->l - z->c; (void)m17;
                               1649               0 :             {   int ret = r_mark_nUn(z);
 1658 tgl                      1650               0 :                 if (ret == 0) goto lab33;
 5710                          1651               0 :                 if (ret < 0) return ret;
                               1652                 :             }
                               1653               0 :             goto lab32;
                               1654               0 :         lab33:
 1658                          1655               0 :             z->c = z->l - m17;
  779 peter                    1656               0 :             {   int ret = r_mark_ylA(z);
 1658 tgl                      1657               0 :                 if (ret == 0) goto lab31;
 5710                          1658               0 :                 if (ret < 0) return ret;
                               1659                 :             }
                               1660                 :         }
                               1661               0 :     lab32:
  779 peter                    1662               0 :         z->bra = z->c;
                               1663               0 :         {   int ret = slice_del(z);
 5710 tgl                      1664               0 :             if (ret < 0) return ret;
                               1665                 :         }
  779 peter                    1666               0 :         {   int m18 = z->l - z->c; (void)m18;
                               1667               0 :             {   int m19 = z->l - z->c; (void)m19;
                               1668               0 :                 z->ket = z->c;
                               1669               0 :                 {   int ret = r_mark_lAr(z);
 1658 tgl                      1670               0 :                     if (ret == 0) goto lab36;
 5710                          1671               0 :                     if (ret < 0) return ret;
                               1672                 :                 }
  779 peter                    1673               0 :                 z->bra = z->c;
                               1674               0 :                 {   int ret = slice_del(z);
 5710 tgl                      1675               0 :                     if (ret < 0) return ret;
                               1676                 :                 }
  779 peter                    1677               0 :                 {   int ret = r_stem_suffix_chain_before_ki(z);
 1658 tgl                      1678               0 :                     if (ret == 0) goto lab36;
 5710                          1679               0 :                     if (ret < 0) return ret;
                               1680                 :                 }
                               1681               0 :                 goto lab35;
                               1682               0 :             lab36:
 1658                          1683               0 :                 z->c = z->l - m19;
  779 peter                    1684               0 :                 z->ket = z->c;
                               1685               0 :                 {   int m20 = z->l - z->c; (void)m20;
                               1686               0 :                     {   int ret = r_mark_possessives(z);
 1658 tgl                      1687               0 :                         if (ret == 0) goto lab39;
 5710                          1688               0 :                         if (ret < 0) return ret;
                               1689                 :                     }
                               1690               0 :                     goto lab38;
                               1691               0 :                 lab39:
 1658                          1692               0 :                     z->c = z->l - m20;
  779 peter                    1693               0 :                     {   int ret = r_mark_sU(z);
 1658 tgl                      1694               0 :                         if (ret == 0) goto lab37;
 5710                          1695               0 :                         if (ret < 0) return ret;
                               1696                 :                     }
                               1697                 :                 }
                               1698               0 :             lab38:
  779 peter                    1699               0 :                 z->bra = z->c;
                               1700               0 :                 {   int ret = slice_del(z);
 5710 tgl                      1701               0 :                     if (ret < 0) return ret;
                               1702                 :                 }
  779 peter                    1703               0 :                 {   int m21 = z->l - z->c; (void)m21;
                               1704               0 :                     z->ket = z->c;
                               1705               0 :                     {   int ret = r_mark_lAr(z);
 1658 tgl                      1706               0 :                         if (ret == 0) { z->c = z->l - m21; goto lab40; }
 5710                          1707               0 :                         if (ret < 0) return ret;
                               1708                 :                     }
  779 peter                    1709               0 :                     z->bra = z->c;
                               1710               0 :                     {   int ret = slice_del(z);
 5710 tgl                      1711               0 :                         if (ret < 0) return ret;
                               1712                 :                     }
  779 peter                    1713               0 :                     {   int ret = r_stem_suffix_chain_before_ki(z);
 1658 tgl                      1714               0 :                         if (ret == 0) { z->c = z->l - m21; goto lab40; }
 5710                          1715               0 :                         if (ret < 0) return ret;
                               1716                 :                     }
                               1717               0 :                 lab40:
                               1718                 :                     ;
                               1719                 :                 }
                               1720               0 :                 goto lab35;
                               1721               0 :             lab37:
 1658                          1722               0 :                 z->c = z->l - m19;
  779 peter                    1723               0 :                 {   int ret = r_stem_suffix_chain_before_ki(z);
 1658 tgl                      1724               0 :                     if (ret == 0) { z->c = z->l - m18; goto lab34; }
 5710                          1725               0 :                     if (ret < 0) return ret;
                               1726                 :                 }
                               1727                 :             }
                               1728               0 :         lab35:
                               1729               0 :         lab34:
                               1730                 :             ;
                               1731                 :         }
                               1732               0 :         goto lab0;
                               1733               0 :     lab31:
                               1734               0 :         z->c = z->l - m1;
  779 peter                    1735               0 :         z->ket = z->c;
                               1736               0 :         {   int ret = r_mark_lArI(z);
 1658 tgl                      1737               0 :             if (ret == 0) goto lab41;
 5710                          1738               0 :             if (ret < 0) return ret;
                               1739                 :         }
  779 peter                    1740               0 :         z->bra = z->c;
                               1741               0 :         {   int ret = slice_del(z);
 5710 tgl                      1742               0 :             if (ret < 0) return ret;
                               1743                 :         }
                               1744               0 :         goto lab0;
                               1745               0 :     lab41:
                               1746               0 :         z->c = z->l - m1;
  779 peter                    1747               0 :         {   int ret = r_stem_suffix_chain_before_ki(z);
 1658 tgl                      1748               0 :             if (ret == 0) goto lab42;
 5710                          1749               0 :             if (ret < 0) return ret;
                               1750                 :         }
                               1751               0 :         goto lab0;
                               1752               0 :     lab42:
                               1753               0 :         z->c = z->l - m1;
  779 peter                    1754               0 :         z->ket = z->c;
                               1755               0 :         {   int m22 = z->l - z->c; (void)m22;
                               1756               0 :             {   int ret = r_mark_DA(z);
 1658 tgl                      1757               0 :                 if (ret == 0) goto lab45;
 5710                          1758               0 :                 if (ret < 0) return ret;
                               1759                 :             }
                               1760               0 :             goto lab44;
                               1761               0 :         lab45:
 1658                          1762               0 :             z->c = z->l - m22;
  779 peter                    1763               0 :             {   int ret = r_mark_yU(z);
 1658 tgl                      1764               0 :                 if (ret == 0) goto lab46;
 5710                          1765               0 :                 if (ret < 0) return ret;
                               1766                 :             }
                               1767               0 :             goto lab44;
                               1768               0 :         lab46:
 1658                          1769               0 :             z->c = z->l - m22;
  779 peter                    1770               0 :             {   int ret = r_mark_yA(z);
 1658 tgl                      1771               0 :                 if (ret == 0) goto lab43;
 5710                          1772               0 :                 if (ret < 0) return ret;
                               1773                 :             }
                               1774                 :         }
                               1775               0 :     lab44:
  779 peter                    1776               0 :         z->bra = z->c;
                               1777               0 :         {   int ret = slice_del(z);
 5710 tgl                      1778               0 :             if (ret < 0) return ret;
                               1779                 :         }
  779 peter                    1780               0 :         {   int m23 = z->l - z->c; (void)m23;
                               1781               0 :             z->ket = z->c;
                               1782               0 :             {   int m24 = z->l - z->c; (void)m24;
                               1783               0 :                 {   int ret = r_mark_possessives(z);
 1658 tgl                      1784               0 :                     if (ret == 0) goto lab49;
 5710                          1785               0 :                     if (ret < 0) return ret;
                               1786                 :                 }
  779 peter                    1787               0 :                 z->bra = z->c;
                               1788               0 :                 {   int ret = slice_del(z);
 5710 tgl                      1789               0 :                     if (ret < 0) return ret;
                               1790                 :                 }
  779 peter                    1791               0 :                 {   int m25 = z->l - z->c; (void)m25;
                               1792               0 :                     z->ket = z->c;
                               1793               0 :                     {   int ret = r_mark_lAr(z);
 1658 tgl                      1794               0 :                         if (ret == 0) { z->c = z->l - m25; goto lab50; }
 5710                          1795               0 :                         if (ret < 0) return ret;
                               1796                 :                     }
                               1797               0 :                 lab50:
                               1798                 :                     ;
                               1799                 :                 }
                               1800               0 :                 goto lab48;
                               1801               0 :             lab49:
 1658                          1802               0 :                 z->c = z->l - m24;
  779 peter                    1803               0 :                 {   int ret = r_mark_lAr(z);
 1658 tgl                      1804               0 :                     if (ret == 0) { z->c = z->l - m23; goto lab47; }
 5710                          1805               0 :                     if (ret < 0) return ret;
                               1806                 :                 }
                               1807                 :             }
                               1808               0 :         lab48:
  779 peter                    1809               0 :             z->bra = z->c;
                               1810               0 :             {   int ret = slice_del(z);
 5710 tgl                      1811               0 :                 if (ret < 0) return ret;
                               1812                 :             }
  779 peter                    1813               0 :             z->ket = z->c;
                               1814               0 :             {   int ret = r_stem_suffix_chain_before_ki(z);
 1658 tgl                      1815               0 :                 if (ret == 0) { z->c = z->l - m23; goto lab47; }
 5710                          1816               0 :                 if (ret < 0) return ret;
                               1817                 :             }
                               1818               0 :         lab47:
                               1819                 :             ;
                               1820                 :         }
                               1821               0 :         goto lab0;
                               1822               0 :     lab43:
                               1823               0 :         z->c = z->l - m1;
  779 peter                    1824               0 :         z->ket = z->c;
                               1825               0 :         {   int m26 = z->l - z->c; (void)m26;
                               1826               0 :             {   int ret = r_mark_possessives(z);
 1658 tgl                      1827               0 :                 if (ret == 0) goto lab52;
 5710                          1828               0 :                 if (ret < 0) return ret;
                               1829                 :             }
                               1830               0 :             goto lab51;
                               1831               0 :         lab52:
 1658                          1832               0 :             z->c = z->l - m26;
  779 peter                    1833               0 :             {   int ret = r_mark_sU(z);
 1658 tgl                      1834               0 :                 if (ret <= 0) return ret;
                               1835                 :             }
                               1836                 :         }
 5710                          1837               0 :     lab51:
  779 peter                    1838               0 :         z->bra = z->c;
                               1839               0 :         {   int ret = slice_del(z);
 5710 tgl                      1840               0 :             if (ret < 0) return ret;
                               1841                 :         }
  779 peter                    1842               0 :         {   int m27 = z->l - z->c; (void)m27;
                               1843               0 :             z->ket = z->c;
                               1844               0 :             {   int ret = r_mark_lAr(z);
 1658 tgl                      1845               0 :                 if (ret == 0) { z->c = z->l - m27; goto lab53; }
 5710                          1846               0 :                 if (ret < 0) return ret;
                               1847                 :             }
  779 peter                    1848               0 :             z->bra = z->c;
                               1849               0 :             {   int ret = slice_del(z);
 5710 tgl                      1850               0 :                 if (ret < 0) return ret;
                               1851                 :             }
  779 peter                    1852               0 :             {   int ret = r_stem_suffix_chain_before_ki(z);
 1658 tgl                      1853               0 :                 if (ret == 0) { z->c = z->l - m27; goto lab53; }
 5710                          1854               0 :                 if (ret < 0) return ret;
                               1855                 :             }
                               1856               0 :         lab53:
                               1857                 :             ;
                               1858                 :         }
                               1859                 :     }
                               1860               0 : lab0:
                               1861               0 :     return 1;
                               1862                 : }
                               1863                 : 
  779 peter                    1864               0 : static int r_post_process_last_consonants(struct SN_env * z) {
                               1865                 :     int among_var;
                               1866               0 :     z->ket = z->c;
                               1867               0 :     among_var = find_among_b(z, a_23, 4);
 5710 tgl                      1868               0 :     if (!(among_var)) return 0;
  779 peter                    1869               0 :     z->bra = z->c;
                               1870               0 :     switch (among_var) {
 5710 tgl                      1871               0 :         case 1:
  779 peter                    1872               0 :             {   int ret = slice_from_s(z, 1, s_5);
 5710 tgl                      1873               0 :                 if (ret < 0) return ret;
                               1874                 :             }
                               1875               0 :             break;
                               1876               0 :         case 2:
  779 peter                    1877               0 :             {   int ret = slice_from_s(z, 2, s_6);
 5710 tgl                      1878               0 :                 if (ret < 0) return ret;
                               1879                 :             }
                               1880               0 :             break;
                               1881               0 :         case 3:
  779 peter                    1882               0 :             {   int ret = slice_from_s(z, 1, s_7);
 5710 tgl                      1883               0 :                 if (ret < 0) return ret;
                               1884                 :             }
                               1885               0 :             break;
                               1886               0 :         case 4:
  779 peter                    1887               0 :             {   int ret = slice_from_s(z, 1, s_8);
 5710 tgl                      1888               0 :                 if (ret < 0) return ret;
                               1889                 :             }
                               1890               0 :             break;
                               1891                 :     }
                               1892               0 :     return 1;
                               1893                 : }
                               1894                 : 
  779 peter                    1895               0 : static int r_append_U_to_stems_ending_with_d_or_g(struct SN_env * z) {
                               1896               0 :     {   int m_test1 = z->l - z->c;
                               1897               0 :         {   int m2 = z->l - z->c; (void)m2;
                               1898               0 :             if (z->c <= z->lb || z->p[z->c - 1] != 'd') goto lab1;
 1658 tgl                      1899               0 :             z->c--;
 5710                          1900               0 :             goto lab0;
                               1901               0 :         lab1:
 1658                          1902               0 :             z->c = z->l - m2;
  779 peter                    1903               0 :             if (z->c <= z->lb || z->p[z->c - 1] != 'g') return 0;
 1658 tgl                      1904               0 :             z->c--;
                               1905                 :         }
 5710                          1906               0 :     lab0:
 1658                          1907               0 :         z->c = z->l - m_test1;
                               1908                 :     }
  779 peter                    1909               0 :     {   int m3 = z->l - z->c; (void)m3;
                               1910               0 :         {   int m_test4 = z->l - z->c;
                               1911               0 :             if (out_grouping_b_U(z, g_vowel, 97, 305, 1) < 0) goto lab3;
                               1912               0 :             {   int m5 = z->l - z->c; (void)m5;
                               1913               0 :                 if (z->c <= z->lb || z->p[z->c - 1] != 'a') goto lab5;
 1658 tgl                      1914               0 :                 z->c--;
 5710                          1915               0 :                 goto lab4;
                               1916               0 :             lab5:
 1658                          1917               0 :                 z->c = z->l - m5;
  779 peter                    1918               0 :                 if (!(eq_s_b(z, 2, s_9))) goto lab3;
                               1919                 :             }
 5710 tgl                      1920               0 :         lab4:
 1658                          1921               0 :             z->c = z->l - m_test4;
                               1922                 :         }
                               1923                 :         {   int ret;
                               1924               0 :             {   int saved_c = z->c;
  779 peter                    1925               0 :                 ret = insert_s(z, z->c, z->c, 2, s_10);
 1658 tgl                      1926               0 :                 z->c = saved_c;
                               1927                 :             }
 5710                          1928               0 :             if (ret < 0) return ret;
                               1929                 :         }
                               1930               0 :         goto lab2;
                               1931               0 :     lab3:
 1658                          1932               0 :         z->c = z->l - m3;
  779 peter                    1933               0 :         {   int m_test6 = z->l - z->c;
                               1934               0 :             if (out_grouping_b_U(z, g_vowel, 97, 305, 1) < 0) goto lab6;
                               1935               0 :             {   int m7 = z->l - z->c; (void)m7;
                               1936               0 :                 if (z->c <= z->lb || z->p[z->c - 1] != 'e') goto lab8;
 1658 tgl                      1937               0 :                 z->c--;
 5710                          1938               0 :                 goto lab7;
                               1939               0 :             lab8:
 1658                          1940               0 :                 z->c = z->l - m7;
  779 peter                    1941               0 :                 if (z->c <= z->lb || z->p[z->c - 1] != 'i') goto lab6;
 1658 tgl                      1942               0 :                 z->c--;
                               1943                 :             }
 5710                          1944               0 :         lab7:
 1658                          1945               0 :             z->c = z->l - m_test6;
                               1946                 :         }
                               1947                 :         {   int ret;
                               1948               0 :             {   int saved_c = z->c;
  779 peter                    1949               0 :                 ret = insert_s(z, z->c, z->c, 1, s_11);
 1658 tgl                      1950               0 :                 z->c = saved_c;
                               1951                 :             }
 5710                          1952               0 :             if (ret < 0) return ret;
                               1953                 :         }
                               1954               0 :         goto lab2;
                               1955               0 :     lab6:
 1658                          1956               0 :         z->c = z->l - m3;
  779 peter                    1957               0 :         {   int m_test8 = z->l - z->c;
                               1958               0 :             if (out_grouping_b_U(z, g_vowel, 97, 305, 1) < 0) goto lab9;
                               1959               0 :             {   int m9 = z->l - z->c; (void)m9;
                               1960               0 :                 if (z->c <= z->lb || z->p[z->c - 1] != 'o') goto lab11;
 1658 tgl                      1961               0 :                 z->c--;
 5710                          1962               0 :                 goto lab10;
                               1963               0 :             lab11:
 1658                          1964               0 :                 z->c = z->l - m9;
  779 peter                    1965               0 :                 if (z->c <= z->lb || z->p[z->c - 1] != 'u') goto lab9;
 1658 tgl                      1966               0 :                 z->c--;
                               1967                 :             }
 5710                          1968               0 :         lab10:
 1658                          1969               0 :             z->c = z->l - m_test8;
                               1970                 :         }
                               1971                 :         {   int ret;
                               1972               0 :             {   int saved_c = z->c;
  779 peter                    1973               0 :                 ret = insert_s(z, z->c, z->c, 1, s_12);
 1658 tgl                      1974               0 :                 z->c = saved_c;
                               1975                 :             }
 5710                          1976               0 :             if (ret < 0) return ret;
                               1977                 :         }
                               1978               0 :         goto lab2;
                               1979               0 :     lab9:
 1658                          1980               0 :         z->c = z->l - m3;
  779 peter                    1981               0 :         {   int m_test10 = z->l - z->c;
                               1982               0 :             if (out_grouping_b_U(z, g_vowel, 97, 305, 1) < 0) return 0;
                               1983               0 :             {   int m11 = z->l - z->c; (void)m11;
                               1984               0 :                 if (!(eq_s_b(z, 2, s_13))) goto lab13;
 5710 tgl                      1985               0 :                 goto lab12;
                               1986               0 :             lab13:
 1658                          1987               0 :                 z->c = z->l - m11;
  779 peter                    1988               0 :                 if (!(eq_s_b(z, 2, s_14))) return 0;
                               1989                 :             }
 5710 tgl                      1990               0 :         lab12:
 1658                          1991               0 :             z->c = z->l - m_test10;
                               1992                 :         }
                               1993                 :         {   int ret;
                               1994               0 :             {   int saved_c = z->c;
  779 peter                    1995               0 :                 ret = insert_s(z, z->c, z->c, 2, s_15);
 1658 tgl                      1996               0 :                 z->c = saved_c;
                               1997                 :             }
 5710                          1998               0 :             if (ret < 0) return ret;
                               1999                 :         }
                               2000                 :     }
                               2001               0 : lab2:
                               2002               0 :     return 1;
                               2003                 : }
                               2004                 : 
  779 peter                    2005               0 : static int r_is_reserved_word(struct SN_env * z) {
                               2006               0 :     if (!(eq_s_b(z, 2, s_16))) return 0;
                               2007               0 :     {   int m1 = z->l - z->c; (void)m1;
                               2008               0 :         if (!(eq_s_b(z, 3, s_17))) { z->c = z->l - m1; goto lab0; }
 1658 tgl                      2009               0 :     lab0:
                               2010                 :         ;
                               2011                 :     }
  779 peter                    2012               0 :     if (z->c > z->lb) return 0;
 1658 tgl                      2013               0 :     return 1;
                               2014                 : }
                               2015                 : 
  779 peter                    2016               0 : static int r_more_than_one_syllable_word(struct SN_env * z) {
                               2017               0 :     {   int c_test1 = z->c;
 5710 tgl                      2018               0 :         {   int i = 2;
  779 peter                    2019               0 :             while(1) {
                               2020               0 :                 int c2 = z->c;
                               2021                 :                 {   
 5710 tgl                      2022               0 :                     int ret = out_grouping_U(z, g_vowel, 97, 305, 1);
                               2023               0 :                     if (ret < 0) goto lab0;
                               2024               0 :                     z->c += ret;
                               2025                 :                 }
                               2026               0 :                 i--;
                               2027               0 :                 continue;
                               2028               0 :             lab0:
 1658                          2029               0 :                 z->c = c2;
 5710                          2030               0 :                 break;
                               2031                 :             }
                               2032               0 :             if (i > 0) return 0;
                               2033                 :         }
 1658                          2034               0 :         z->c = c_test1;
                               2035                 :     }
 5710                          2036               0 :     return 1;
                               2037                 : }
                               2038                 : 
  779 peter                    2039               0 : static int r_postlude(struct SN_env * z) {
                               2040               0 :     z->lb = z->c; z->c = z->l;
                               2041                 : 
                               2042               0 :     {   int m1 = z->l - z->c; (void)m1;
                               2043               0 :         {   int ret = r_is_reserved_word(z);
 1658 tgl                      2044               0 :             if (ret == 0) goto lab0;
 5710                          2045               0 :             if (ret < 0) return ret;
                               2046                 :         }
                               2047               0 :         return 0;
                               2048               0 :     lab0:
 1658                          2049               0 :         z->c = z->l - m1;
                               2050                 :     }
  779 peter                    2051               0 :     {   int m2 = z->l - z->c; (void)m2;
                               2052               0 :         {   int ret = r_append_U_to_stems_ending_with_d_or_g(z);
 5710 tgl                      2053               0 :             if (ret < 0) return ret;
                               2054                 :         }
                               2055               0 :         z->c = z->l - m2;
                               2056                 :     }
  779 peter                    2057               0 :     {   int m3 = z->l - z->c; (void)m3;
                               2058               0 :         {   int ret = r_post_process_last_consonants(z);
 5710 tgl                      2059               0 :             if (ret < 0) return ret;
                               2060                 :         }
                               2061               0 :         z->c = z->l - m3;
                               2062                 :     }
                               2063               0 :     z->c = z->lb;
                               2064               0 :     return 1;
                               2065                 : }
                               2066                 : 
  779 peter                    2067               0 : extern int turkish_UTF_8_stem(struct SN_env * z) {
                               2068               0 :     {   int ret = r_more_than_one_syllable_word(z);
 1658 tgl                      2069               0 :         if (ret <= 0) return ret;
                               2070                 :     }
  779 peter                    2071               0 :     z->lb = z->c; z->c = z->l;
                               2072                 : 
                               2073               0 :     {   int m1 = z->l - z->c; (void)m1;
                               2074               0 :         {   int ret = r_stem_nominal_verb_suffixes(z);
 5710 tgl                      2075               0 :             if (ret < 0) return ret;
                               2076                 :         }
                               2077               0 :         z->c = z->l - m1;
                               2078                 :     }
  779 peter                    2079               0 :     if (!(z->I[0])) return 0;
                               2080               0 :     {   int m2 = z->l - z->c; (void)m2;
                               2081               0 :         {   int ret = r_stem_noun_suffixes(z);
 5710 tgl                      2082               0 :             if (ret < 0) return ret;
                               2083                 :         }
                               2084               0 :         z->c = z->l - m2;
                               2085                 :     }
                               2086               0 :     z->c = z->lb;
  779 peter                    2087               0 :     {   int ret = r_postlude(z);
 1658 tgl                      2088               0 :         if (ret <= 0) return ret;
                               2089                 :     }
 5710                          2090               0 :     return 1;
                               2091                 : }
                               2092                 : 
  779 peter                    2093               0 : extern struct SN_env * turkish_UTF_8_create_env(void) { return SN_create_env(0, 1); }
                               2094                 : 
 5710 tgl                      2095               0 : extern void turkish_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); }
                               2096                 : 
        

Generated by: LCOV version v1.16-55-g56c0a2a