LCOV - differential code coverage report
Current view: top level - src/backend/snowball/libstemmer - stem_UTF_8_dutch_porter.c (source / functions) Coverage Total Hit UNC
Current: 0e5ff9b9b45a657aea12440478dc002e9b01f138 vs 0123ce131fca454009439dfa3b2266d1d40737d7 Lines: 0.0 % 354 0 354
Current Date: 2026-03-14 14:10:32 -0400 Functions: 0.0 % 12 0 12
Baseline: lcov-20260315-024220-baseline Branches: 0.0 % 251 0 251
Baseline Date: 2026-03-14 15:27:56 +0100 Line coverage date bins:
Legend: Lines:     hit not hit
Branches: + taken - not taken # not executed
(30,360] days: 0.0 % 354 0 354
Function coverage date bins:
(30,360] days: 0.0 % 12 0 12
Branch coverage date bins:
(30,360] days: 0.0 % 251 0 251

 Age         Owner                    Branch data    TLA  Line data    Source code
                                  1                 :                : /* Generated from dutch_porter.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
                                  2                 :                : 
                                  3                 :                : #include "stem_UTF_8_dutch_porter.h"
                                  4                 :                : 
                                  5                 :                : #include <stddef.h>
                                  6                 :                : 
                                  7                 :                : #include "snowball_runtime.h"
                                  8                 :                : 
                                  9                 :                : struct SN_local {
                                 10                 :                :     struct SN_env z;
                                 11                 :                :     int i_p2;
                                 12                 :                :     int i_p1;
                                 13                 :                :     unsigned char b_e_found;
                                 14                 :                : };
                                 15                 :                : 
                                 16                 :                : typedef struct SN_local SN_local;
                                 17                 :                : 
                                 18                 :                : #ifdef __cplusplus
                                 19                 :                : extern "C" {
                                 20                 :                : #endif
                                 21                 :                : extern int dutch_porter_UTF_8_stem(struct SN_env * z);
                                 22                 :                : #ifdef __cplusplus
                                 23                 :                : }
                                 24                 :                : #endif
                                 25                 :                : 
                                 26                 :                : static int r_standard_suffix(struct SN_env * z);
                                 27                 :                : static int r_undouble(struct SN_env * z);
                                 28                 :                : static int r_R2(struct SN_env * z);
                                 29                 :                : static int r_R1(struct SN_env * z);
                                 30                 :                : static int r_mark_regions(struct SN_env * z);
                                 31                 :                : static int r_en_ending(struct SN_env * z);
                                 32                 :                : static int r_e_ending(struct SN_env * z);
                                 33                 :                : static int r_postlude(struct SN_env * z);
                                 34                 :                : static int r_prelude(struct SN_env * z);
                                 35                 :                : 
                                 36                 :                : static const symbol s_0[] = { 'a' };
                                 37                 :                : static const symbol s_1[] = { 'e' };
                                 38                 :                : static const symbol s_2[] = { 'i' };
                                 39                 :                : static const symbol s_3[] = { 'o' };
                                 40                 :                : static const symbol s_4[] = { 'u' };
                                 41                 :                : static const symbol s_5[] = { 'Y' };
                                 42                 :                : static const symbol s_6[] = { 'I' };
                                 43                 :                : static const symbol s_7[] = { 'Y' };
                                 44                 :                : static const symbol s_8[] = { 'y' };
                                 45                 :                : static const symbol s_9[] = { 'i' };
                                 46                 :                : static const symbol s_10[] = { 'g', 'e', 'm' };
                                 47                 :                : static const symbol s_11[] = { 'h', 'e', 'i', 'd' };
                                 48                 :                : static const symbol s_12[] = { 'h', 'e', 'i', 'd' };
                                 49                 :                : static const symbol s_13[] = { 'e', 'n' };
                                 50                 :                : static const symbol s_14[] = { 'i', 'g' };
                                 51                 :                : 
                                 52                 :                : static const symbol s_0_1[2] = { 0xC3, 0xA1 };
                                 53                 :                : static const symbol s_0_2[2] = { 0xC3, 0xA4 };
                                 54                 :                : static const symbol s_0_3[2] = { 0xC3, 0xA9 };
                                 55                 :                : static const symbol s_0_4[2] = { 0xC3, 0xAB };
                                 56                 :                : static const symbol s_0_5[2] = { 0xC3, 0xAD };
                                 57                 :                : static const symbol s_0_6[2] = { 0xC3, 0xAF };
                                 58                 :                : static const symbol s_0_7[2] = { 0xC3, 0xB3 };
                                 59                 :                : static const symbol s_0_8[2] = { 0xC3, 0xB6 };
                                 60                 :                : static const symbol s_0_9[2] = { 0xC3, 0xBA };
                                 61                 :                : static const symbol s_0_10[2] = { 0xC3, 0xBC };
                                 62                 :                : static const struct among a_0[11] = {
                                 63                 :                : { 0, 0, 0, 6, 0},
                                 64                 :                : { 2, s_0_1, -1, 1, 0},
                                 65                 :                : { 2, s_0_2, -2, 1, 0},
                                 66                 :                : { 2, s_0_3, -3, 2, 0},
                                 67                 :                : { 2, s_0_4, -4, 2, 0},
                                 68                 :                : { 2, s_0_5, -5, 3, 0},
                                 69                 :                : { 2, s_0_6, -6, 3, 0},
                                 70                 :                : { 2, s_0_7, -7, 4, 0},
                                 71                 :                : { 2, s_0_8, -8, 4, 0},
                                 72                 :                : { 2, s_0_9, -9, 5, 0},
                                 73                 :                : { 2, s_0_10, -10, 5, 0}
                                 74                 :                : };
                                 75                 :                : 
                                 76                 :                : static const symbol s_1_1[1] = { 'I' };
                                 77                 :                : static const symbol s_1_2[1] = { 'Y' };
                                 78                 :                : static const struct among a_1[3] = {
                                 79                 :                : { 0, 0, 0, 3, 0},
                                 80                 :                : { 1, s_1_1, -1, 2, 0},
                                 81                 :                : { 1, s_1_2, -2, 1, 0}
                                 82                 :                : };
                                 83                 :                : 
                                 84                 :                : static const symbol s_2_0[2] = { 'd', 'd' };
                                 85                 :                : static const symbol s_2_1[2] = { 'k', 'k' };
                                 86                 :                : static const symbol s_2_2[2] = { 't', 't' };
                                 87                 :                : static const struct among a_2[3] = {
                                 88                 :                : { 2, s_2_0, 0, -1, 0},
                                 89                 :                : { 2, s_2_1, 0, -1, 0},
                                 90                 :                : { 2, s_2_2, 0, -1, 0}
                                 91                 :                : };
                                 92                 :                : 
                                 93                 :                : static const symbol s_3_0[3] = { 'e', 'n', 'e' };
                                 94                 :                : static const symbol s_3_1[2] = { 's', 'e' };
                                 95                 :                : static const symbol s_3_2[2] = { 'e', 'n' };
                                 96                 :                : static const symbol s_3_3[5] = { 'h', 'e', 'd', 'e', 'n' };
                                 97                 :                : static const symbol s_3_4[1] = { 's' };
                                 98                 :                : static const struct among a_3[5] = {
                                 99                 :                : { 3, s_3_0, 0, 2, 0},
                                100                 :                : { 2, s_3_1, 0, 3, 0},
                                101                 :                : { 2, s_3_2, 0, 2, 0},
                                102                 :                : { 5, s_3_3, -1, 1, 0},
                                103                 :                : { 1, s_3_4, 0, 3, 0}
                                104                 :                : };
                                105                 :                : 
                                106                 :                : static const symbol s_4_0[3] = { 'e', 'n', 'd' };
                                107                 :                : static const symbol s_4_1[2] = { 'i', 'g' };
                                108                 :                : static const symbol s_4_2[3] = { 'i', 'n', 'g' };
                                109                 :                : static const symbol s_4_3[4] = { 'l', 'i', 'j', 'k' };
                                110                 :                : static const symbol s_4_4[4] = { 'b', 'a', 'a', 'r' };
                                111                 :                : static const symbol s_4_5[3] = { 'b', 'a', 'r' };
                                112                 :                : static const struct among a_4[6] = {
                                113                 :                : { 3, s_4_0, 0, 1, 0},
                                114                 :                : { 2, s_4_1, 0, 2, 0},
                                115                 :                : { 3, s_4_2, 0, 1, 0},
                                116                 :                : { 4, s_4_3, 0, 3, 0},
                                117                 :                : { 4, s_4_4, 0, 4, 0},
                                118                 :                : { 3, s_4_5, 0, 5, 0}
                                119                 :                : };
                                120                 :                : 
                                121                 :                : static const symbol s_5_0[2] = { 'a', 'a' };
                                122                 :                : static const symbol s_5_1[2] = { 'e', 'e' };
                                123                 :                : static const symbol s_5_2[2] = { 'o', 'o' };
                                124                 :                : static const symbol s_5_3[2] = { 'u', 'u' };
                                125                 :                : static const struct among a_5[4] = {
                                126                 :                : { 2, s_5_0, 0, -1, 0},
                                127                 :                : { 2, s_5_1, 0, -1, 0},
                                128                 :                : { 2, s_5_2, 0, -1, 0},
                                129                 :                : { 2, s_5_3, 0, -1, 0}
                                130                 :                : };
                                131                 :                : 
                                132                 :                : static const unsigned char g_v[] = { 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 };
                                133                 :                : 
                                134                 :                : static const unsigned char g_v_I[] = { 1, 0, 0, 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 };
                                135                 :                : 
                                136                 :                : static const unsigned char g_v_j[] = { 17, 67, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 };
                                137                 :                : 
   69 tgl@sss.pgh.pa.us         138                 :UNC           0 : static int r_prelude(struct SN_env * z) {
                                139                 :                :     int among_var;
                                140                 :                :     {
                                141                 :              0 :         int v_1 = z->c;
                                142                 :              0 :         while (1) {
                                143                 :              0 :             int v_2 = z->c;
                                144                 :              0 :             z->bra = z->c;
                                145   [ #  #  #  #  :              0 :             if (z->c + 1 >= z->l || z->p[z->c + 1] >> 5 != 5 || !((340306450 >> (z->p[z->c + 1] & 0x1f)) & 1)) among_var = 6; else
                                              #  # ]
                                146                 :              0 :             among_var = find_among(z, a_0, 11, 0);
                                147                 :              0 :             z->ket = z->c;
                                148   [ #  #  #  #  :              0 :             switch (among_var) {
                                           #  #  # ]
                                149                 :              0 :                 case 1:
                                150                 :                :                     {
                                151                 :              0 :                         int ret = slice_from_s(z, 1, s_0);
                                152         [ #  # ]:              0 :                         if (ret < 0) return ret;
                                153                 :                :                     }
                                154                 :              0 :                     break;
                                155                 :              0 :                 case 2:
                                156                 :                :                     {
                                157                 :              0 :                         int ret = slice_from_s(z, 1, s_1);
                                158         [ #  # ]:              0 :                         if (ret < 0) return ret;
                                159                 :                :                     }
                                160                 :              0 :                     break;
                                161                 :              0 :                 case 3:
                                162                 :                :                     {
                                163                 :              0 :                         int ret = slice_from_s(z, 1, s_2);
                                164         [ #  # ]:              0 :                         if (ret < 0) return ret;
                                165                 :                :                     }
                                166                 :              0 :                     break;
                                167                 :              0 :                 case 4:
                                168                 :                :                     {
                                169                 :              0 :                         int ret = slice_from_s(z, 1, s_3);
                                170         [ #  # ]:              0 :                         if (ret < 0) return ret;
                                171                 :                :                     }
                                172                 :              0 :                     break;
                                173                 :              0 :                 case 5:
                                174                 :                :                     {
                                175                 :              0 :                         int ret = slice_from_s(z, 1, s_4);
                                176         [ #  # ]:              0 :                         if (ret < 0) return ret;
                                177                 :                :                     }
                                178                 :              0 :                     break;
                                179                 :              0 :                 case 6:
                                180                 :                :                     {
                                181                 :              0 :                         int ret = skip_utf8(z->p, z->c, z->l, 1);
                                182         [ #  # ]:              0 :                         if (ret < 0) goto lab0;
                                183                 :              0 :                         z->c = ret;
                                184                 :                :                     }
                                185                 :              0 :                     break;
                                186                 :                :             }
                                187                 :              0 :             continue;
                                188                 :              0 :         lab0:
                                189                 :              0 :             z->c = v_2;
                                190                 :              0 :             break;
                                191                 :                :         }
                                192                 :              0 :         z->c = v_1;
                                193                 :                :     }
                                194                 :                :     {
                                195                 :              0 :         int v_3 = z->c;
                                196                 :              0 :         z->bra = z->c;
                                197   [ #  #  #  # ]:              0 :         if (z->c == z->l || z->p[z->c] != 'y') { z->c = v_3; goto lab1; }
                                198                 :              0 :         z->c++;
                                199                 :              0 :         z->ket = z->c;
                                200                 :                :         {
                                201                 :              0 :             int ret = slice_from_s(z, 1, s_5);
                                202         [ #  # ]:              0 :             if (ret < 0) return ret;
                                203                 :                :         }
                                204                 :              0 :     lab1:
                                205                 :                :         ;
                                206                 :                :     }
                                207                 :              0 :     while (1) {
                                208                 :              0 :         int v_4 = z->c;
                                209                 :                :         {
                                210                 :              0 :             int ret = out_grouping_U(z, g_v, 97, 232, 1);
                                211         [ #  # ]:              0 :             if (ret < 0) goto lab2;
                                212                 :              0 :             z->c += ret;
                                213                 :                :         }
                                214                 :                :         {
                                215                 :              0 :             int v_5 = z->c;
                                216                 :              0 :             z->bra = z->c;
                                217                 :                :             do {
                                218                 :              0 :                 int v_6 = z->c;
                                219   [ #  #  #  # ]:              0 :                 if (z->c == z->l || z->p[z->c] != 'i') goto lab4;
                                220                 :              0 :                 z->c++;
                                221                 :              0 :                 z->ket = z->c;
                                222                 :                :                 {
                                223                 :              0 :                     int v_7 = z->c;
                                224         [ #  # ]:              0 :                     if (in_grouping_U(z, g_v, 97, 232, 0)) goto lab5;
                                225                 :                :                     {
                                226                 :              0 :                         int ret = slice_from_s(z, 1, s_6);
                                227         [ #  # ]:              0 :                         if (ret < 0) return ret;
                                228                 :                :                     }
                                229                 :              0 :                 lab5:
                                230                 :              0 :                     z->c = v_7;
                                231                 :                :                 }
                                232                 :              0 :                 break;
                                233                 :              0 :             lab4:
                                234                 :              0 :                 z->c = v_6;
                                235   [ #  #  #  # ]:              0 :                 if (z->c == z->l || z->p[z->c] != 'y') { z->c = v_5; goto lab3; }
                                236                 :              0 :                 z->c++;
                                237                 :              0 :                 z->ket = z->c;
                                238                 :                :                 {
                                239                 :              0 :                     int ret = slice_from_s(z, 1, s_7);
                                240         [ #  # ]:              0 :                     if (ret < 0) return ret;
                                241                 :                :                 }
                                242                 :                :             } while (0);
                                243                 :              0 :         lab3:
                                244                 :                :             ;
                                245                 :                :         }
                                246                 :              0 :         continue;
                                247                 :              0 :     lab2:
                                248                 :              0 :         z->c = v_4;
                                249                 :              0 :         break;
                                250                 :                :     }
                                251                 :              0 :     return 1;
                                252                 :                : }
                                253                 :                : 
                                254                 :              0 : static int r_mark_regions(struct SN_env * z) {
                                255                 :                :     int i_x;
                                256                 :              0 :     ((SN_local *)z)->i_p1 = z->l;
                                257                 :              0 :     ((SN_local *)z)->i_p2 = z->l;
                                258                 :                :     {
                                259                 :              0 :         int v_1 = z->c;
                                260                 :                :         {
                                261                 :              0 :             int ret = skip_utf8(z->p, z->c, z->l, 3);
                                262         [ #  # ]:              0 :             if (ret < 0) return 0;
                                263                 :              0 :             z->c = ret;
                                264                 :                :         }
                                265                 :              0 :         i_x = z->c;
                                266                 :              0 :         z->c = v_1;
                                267                 :                :     }
                                268                 :                :     {
                                269                 :              0 :         int ret = out_grouping_U(z, g_v, 97, 232, 1);
                                270         [ #  # ]:              0 :         if (ret < 0) return 0;
                                271                 :              0 :         z->c += ret;
                                272                 :                :     }
                                273                 :                :     {
                                274                 :              0 :         int ret = in_grouping_U(z, g_v, 97, 232, 1);
                                275         [ #  # ]:              0 :         if (ret < 0) return 0;
                                276                 :              0 :         z->c += ret;
                                277                 :                :     }
                                278                 :              0 :     ((SN_local *)z)->i_p1 = z->c;
                                279         [ #  # ]:              0 :     if (((SN_local *)z)->i_p1 >= i_x) goto lab0;
                                280                 :              0 :     ((SN_local *)z)->i_p1 = i_x;
                                281                 :              0 : lab0:
                                282                 :                :     {
                                283                 :              0 :         int ret = out_grouping_U(z, g_v, 97, 232, 1);
                                284         [ #  # ]:              0 :         if (ret < 0) return 0;
                                285                 :              0 :         z->c += ret;
                                286                 :                :     }
                                287                 :                :     {
                                288                 :              0 :         int ret = in_grouping_U(z, g_v, 97, 232, 1);
                                289         [ #  # ]:              0 :         if (ret < 0) return 0;
                                290                 :              0 :         z->c += ret;
                                291                 :                :     }
                                292                 :              0 :     ((SN_local *)z)->i_p2 = z->c;
                                293                 :              0 :     return 1;
                                294                 :                : }
                                295                 :                : 
                                296                 :              0 : static int r_postlude(struct SN_env * z) {
                                297                 :                :     int among_var;
                                298                 :              0 :     while (1) {
                                299                 :              0 :         int v_1 = z->c;
                                300                 :              0 :         z->bra = z->c;
                                301   [ #  #  #  #  :              0 :         if (z->c >= z->l || (z->p[z->c + 0] != 73 && z->p[z->c + 0] != 89)) among_var = 3; else
                                              #  # ]
                                302                 :              0 :         among_var = find_among(z, a_1, 3, 0);
                                303                 :              0 :         z->ket = z->c;
                                304   [ #  #  #  # ]:              0 :         switch (among_var) {
                                305                 :              0 :             case 1:
                                306                 :                :                 {
                                307                 :              0 :                     int ret = slice_from_s(z, 1, s_8);
                                308         [ #  # ]:              0 :                     if (ret < 0) return ret;
                                309                 :                :                 }
                                310                 :              0 :                 break;
                                311                 :              0 :             case 2:
                                312                 :                :                 {
                                313                 :              0 :                     int ret = slice_from_s(z, 1, s_9);
                                314         [ #  # ]:              0 :                     if (ret < 0) return ret;
                                315                 :                :                 }
                                316                 :              0 :                 break;
                                317                 :              0 :             case 3:
                                318                 :                :                 {
                                319                 :              0 :                     int ret = skip_utf8(z->p, z->c, z->l, 1);
                                320         [ #  # ]:              0 :                     if (ret < 0) goto lab0;
                                321                 :              0 :                     z->c = ret;
                                322                 :                :                 }
                                323                 :              0 :                 break;
                                324                 :                :         }
                                325                 :              0 :         continue;
                                326                 :              0 :     lab0:
                                327                 :              0 :         z->c = v_1;
                                328                 :              0 :         break;
                                329                 :                :     }
                                330                 :              0 :     return 1;
                                331                 :                : }
                                332                 :                : 
                                333                 :              0 : static int r_R1(struct SN_env * z) {
                                334                 :              0 :     return ((SN_local *)z)->i_p1 <= z->c;
                                335                 :                : }
                                336                 :                : 
                                337                 :              0 : static int r_R2(struct SN_env * z) {
                                338                 :              0 :     return ((SN_local *)z)->i_p2 <= z->c;
                                339                 :                : }
                                340                 :                : 
                                341                 :              0 : static int r_undouble(struct SN_env * z) {
                                342                 :                :     {
                                343                 :              0 :         int v_1 = z->l - z->c;
                                344   [ #  #  #  #  :              0 :         if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1050640 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
                                              #  # ]
                                345         [ #  # ]:              0 :         if (!find_among_b(z, a_2, 3, 0)) return 0;
                                346                 :              0 :         z->c = z->l - v_1;
                                347                 :                :     }
                                348                 :              0 :     z->ket = z->c;
                                349                 :                :     {
                                350                 :              0 :         int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
                                351         [ #  # ]:              0 :         if (ret < 0) return 0;
                                352                 :              0 :         z->c = ret;
                                353                 :                :     }
                                354                 :              0 :     z->bra = z->c;
                                355                 :                :     {
                                356                 :              0 :         int ret = slice_del(z);
                                357         [ #  # ]:              0 :         if (ret < 0) return ret;
                                358                 :                :     }
                                359                 :              0 :     return 1;
                                360                 :                : }
                                361                 :                : 
                                362                 :              0 : static int r_e_ending(struct SN_env * z) {
                                363                 :              0 :     ((SN_local *)z)->b_e_found = 0;
                                364                 :              0 :     z->ket = z->c;
                                365   [ #  #  #  # ]:              0 :     if (z->c <= z->lb || z->p[z->c - 1] != 'e') return 0;
                                366                 :              0 :     z->c--;
                                367                 :              0 :     z->bra = z->c;
                                368                 :                :     {
                                369                 :              0 :         int ret = r_R1(z);
                                370         [ #  # ]:              0 :         if (ret <= 0) return ret;
                                371                 :                :     }
                                372                 :                :     {
                                373                 :              0 :         int v_1 = z->l - z->c;
                                374         [ #  # ]:              0 :         if (out_grouping_b_U(z, g_v, 97, 232, 0)) return 0;
                                375                 :              0 :         z->c = z->l - v_1;
                                376                 :                :     }
                                377                 :                :     {
                                378                 :              0 :         int ret = slice_del(z);
                                379         [ #  # ]:              0 :         if (ret < 0) return ret;
                                380                 :                :     }
                                381                 :              0 :     ((SN_local *)z)->b_e_found = 1;
                                382                 :              0 :     return r_undouble(z);
                                383                 :                : }
                                384                 :                : 
                                385                 :              0 : static int r_en_ending(struct SN_env * z) {
                                386                 :                :     {
                                387                 :              0 :         int ret = r_R1(z);
                                388         [ #  # ]:              0 :         if (ret <= 0) return ret;
                                389                 :                :     }
                                390                 :                :     {
                                391                 :              0 :         int v_1 = z->l - z->c;
                                392         [ #  # ]:              0 :         if (out_grouping_b_U(z, g_v, 97, 232, 0)) return 0;
                                393                 :              0 :         z->c = z->l - v_1;
                                394                 :                :         {
                                395                 :              0 :             int v_2 = z->l - z->c;
                                396         [ #  # ]:              0 :             if (!(eq_s_b(z, 3, s_10))) goto lab0;
                                397                 :              0 :             return 0;
                                398                 :              0 :         lab0:
                                399                 :              0 :             z->c = z->l - v_2;
                                400                 :                :         }
                                401                 :                :     }
                                402                 :                :     {
                                403                 :              0 :         int ret = slice_del(z);
                                404         [ #  # ]:              0 :         if (ret < 0) return ret;
                                405                 :                :     }
                                406                 :              0 :     return r_undouble(z);
                                407                 :                : }
                                408                 :                : 
                                409                 :              0 : static int r_standard_suffix(struct SN_env * z) {
                                410                 :                :     int among_var;
                                411                 :                :     {
                                412                 :              0 :         int v_1 = z->l - z->c;
                                413                 :              0 :         z->ket = z->c;
                                414   [ #  #  #  #  :              0 :         if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((540704 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab0;
                                              #  # ]
                                415                 :              0 :         among_var = find_among_b(z, a_3, 5, 0);
                                416         [ #  # ]:              0 :         if (!among_var) goto lab0;
                                417                 :              0 :         z->bra = z->c;
                                418   [ #  #  #  # ]:              0 :         switch (among_var) {
                                419                 :              0 :             case 1:
                                420                 :                :                 {
                                421                 :              0 :                     int ret = r_R1(z);
                                422         [ #  # ]:              0 :                     if (ret == 0) goto lab0;
                                423         [ #  # ]:              0 :                     if (ret < 0) return ret;
                                424                 :                :                 }
                                425                 :                :                 {
                                426                 :              0 :                     int ret = slice_from_s(z, 4, s_11);
                                427         [ #  # ]:              0 :                     if (ret < 0) return ret;
                                428                 :                :                 }
                                429                 :              0 :                 break;
                                430                 :              0 :             case 2:
                                431                 :                :                 {
                                432                 :              0 :                     int ret = r_en_ending(z);
                                433         [ #  # ]:              0 :                     if (ret == 0) goto lab0;
                                434         [ #  # ]:              0 :                     if (ret < 0) return ret;
                                435                 :                :                 }
                                436                 :              0 :                 break;
                                437                 :              0 :             case 3:
                                438                 :                :                 {
                                439                 :              0 :                     int ret = r_R1(z);
                                440         [ #  # ]:              0 :                     if (ret == 0) goto lab0;
                                441         [ #  # ]:              0 :                     if (ret < 0) return ret;
                                442                 :                :                 }
                                443         [ #  # ]:              0 :                 if (out_grouping_b_U(z, g_v_j, 97, 232, 0)) goto lab0;
                                444                 :                :                 {
                                445                 :              0 :                     int ret = slice_del(z);
                                446         [ #  # ]:              0 :                     if (ret < 0) return ret;
                                447                 :                :                 }
                                448                 :              0 :                 break;
                                449                 :                :         }
                                450                 :              0 :     lab0:
                                451                 :              0 :         z->c = z->l - v_1;
                                452                 :                :     }
                                453                 :                :     {
                                454                 :              0 :         int v_2 = z->l - z->c;
                                455                 :                :         {
                                456                 :              0 :             int ret = r_e_ending(z);
                                457         [ #  # ]:              0 :             if (ret < 0) return ret;
                                458                 :                :         }
                                459                 :              0 :         z->c = z->l - v_2;
                                460                 :                :     }
                                461                 :                :     {
                                462                 :              0 :         int v_3 = z->l - z->c;
                                463                 :              0 :         z->ket = z->c;
                                464         [ #  # ]:              0 :         if (!(eq_s_b(z, 4, s_12))) goto lab1;
                                465                 :              0 :         z->bra = z->c;
                                466                 :                :         {
                                467                 :              0 :             int ret = r_R2(z);
                                468         [ #  # ]:              0 :             if (ret == 0) goto lab1;
                                469         [ #  # ]:              0 :             if (ret < 0) return ret;
                                470                 :                :         }
                                471                 :                :         {
                                472                 :              0 :             int v_4 = z->l - z->c;
                                473   [ #  #  #  # ]:              0 :             if (z->c <= z->lb || z->p[z->c - 1] != 'c') goto lab2;
                                474                 :              0 :             z->c--;
                                475                 :              0 :             goto lab1;
                                476                 :              0 :         lab2:
                                477                 :              0 :             z->c = z->l - v_4;
                                478                 :                :         }
                                479                 :                :         {
                                480                 :              0 :             int ret = slice_del(z);
                                481         [ #  # ]:              0 :             if (ret < 0) return ret;
                                482                 :                :         }
                                483                 :              0 :         z->ket = z->c;
                                484         [ #  # ]:              0 :         if (!(eq_s_b(z, 2, s_13))) goto lab1;
                                485                 :              0 :         z->bra = z->c;
                                486                 :                :         {
                                487                 :              0 :             int ret = r_en_ending(z);
                                488         [ #  # ]:              0 :             if (ret == 0) goto lab1;
                                489         [ #  # ]:              0 :             if (ret < 0) return ret;
                                490                 :                :         }
                                491                 :              0 :     lab1:
                                492                 :              0 :         z->c = z->l - v_3;
                                493                 :                :     }
                                494                 :                :     {
                                495                 :              0 :         int v_5 = z->l - z->c;
                                496                 :              0 :         z->ket = z->c;
                                497   [ #  #  #  #  :              0 :         if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((264336 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab3;
                                              #  # ]
                                498                 :              0 :         among_var = find_among_b(z, a_4, 6, 0);
                                499         [ #  # ]:              0 :         if (!among_var) goto lab3;
                                500                 :              0 :         z->bra = z->c;
                                501   [ #  #  #  #  :              0 :         switch (among_var) {
                                              #  # ]
                                502                 :              0 :             case 1:
                                503                 :                :                 {
                                504                 :              0 :                     int ret = r_R2(z);
                                505         [ #  # ]:              0 :                     if (ret == 0) goto lab3;
                                506         [ #  # ]:              0 :                     if (ret < 0) return ret;
                                507                 :                :                 }
                                508                 :                :                 {
                                509                 :              0 :                     int ret = slice_del(z);
                                510         [ #  # ]:              0 :                     if (ret < 0) return ret;
                                511                 :                :                 }
                                512                 :                :                 do {
                                513                 :              0 :                     int v_6 = z->l - z->c;
                                514                 :              0 :                     z->ket = z->c;
                                515         [ #  # ]:              0 :                     if (!(eq_s_b(z, 2, s_14))) goto lab4;
                                516                 :              0 :                     z->bra = z->c;
                                517                 :                :                     {
                                518                 :              0 :                         int ret = r_R2(z);
                                519         [ #  # ]:              0 :                         if (ret == 0) goto lab4;
                                520         [ #  # ]:              0 :                         if (ret < 0) return ret;
                                521                 :                :                     }
                                522                 :                :                     {
                                523                 :              0 :                         int v_7 = z->l - z->c;
                                524   [ #  #  #  # ]:              0 :                         if (z->c <= z->lb || z->p[z->c - 1] != 'e') goto lab5;
                                525                 :              0 :                         z->c--;
                                526                 :              0 :                         goto lab4;
                                527                 :              0 :                     lab5:
                                528                 :              0 :                         z->c = z->l - v_7;
                                529                 :                :                     }
                                530                 :                :                     {
                                531                 :              0 :                         int ret = slice_del(z);
                                532         [ #  # ]:              0 :                         if (ret < 0) return ret;
                                533                 :                :                     }
                                534                 :              0 :                     break;
                                535                 :              0 :                 lab4:
                                536                 :              0 :                     z->c = z->l - v_6;
                                537                 :                :                     {
                                538                 :              0 :                         int ret = r_undouble(z);
                                539         [ #  # ]:              0 :                         if (ret == 0) goto lab3;
                                540         [ #  # ]:              0 :                         if (ret < 0) return ret;
                                541                 :                :                     }
                                542                 :                :                 } while (0);
                                543                 :              0 :                 break;
                                544                 :              0 :             case 2:
                                545                 :                :                 {
                                546                 :              0 :                     int ret = r_R2(z);
                                547         [ #  # ]:              0 :                     if (ret == 0) goto lab3;
                                548         [ #  # ]:              0 :                     if (ret < 0) return ret;
                                549                 :                :                 }
                                550                 :                :                 {
                                551                 :              0 :                     int v_8 = z->l - z->c;
                                552   [ #  #  #  # ]:              0 :                     if (z->c <= z->lb || z->p[z->c - 1] != 'e') goto lab6;
                                553                 :              0 :                     z->c--;
                                554                 :              0 :                     goto lab3;
                                555                 :              0 :                 lab6:
                                556                 :              0 :                     z->c = z->l - v_8;
                                557                 :                :                 }
                                558                 :                :                 {
                                559                 :              0 :                     int ret = slice_del(z);
                                560         [ #  # ]:              0 :                     if (ret < 0) return ret;
                                561                 :                :                 }
                                562                 :              0 :                 break;
                                563                 :              0 :             case 3:
                                564                 :                :                 {
                                565                 :              0 :                     int ret = r_R2(z);
                                566         [ #  # ]:              0 :                     if (ret == 0) goto lab3;
                                567         [ #  # ]:              0 :                     if (ret < 0) return ret;
                                568                 :                :                 }
                                569                 :                :                 {
                                570                 :              0 :                     int ret = slice_del(z);
                                571         [ #  # ]:              0 :                     if (ret < 0) return ret;
                                572                 :                :                 }
                                573                 :                :                 {
                                574                 :              0 :                     int ret = r_e_ending(z);
                                575         [ #  # ]:              0 :                     if (ret == 0) goto lab3;
                                576         [ #  # ]:              0 :                     if (ret < 0) return ret;
                                577                 :                :                 }
                                578                 :              0 :                 break;
                                579                 :              0 :             case 4:
                                580                 :                :                 {
                                581                 :              0 :                     int ret = r_R2(z);
                                582         [ #  # ]:              0 :                     if (ret == 0) goto lab3;
                                583         [ #  # ]:              0 :                     if (ret < 0) return ret;
                                584                 :                :                 }
                                585                 :                :                 {
                                586                 :              0 :                     int ret = slice_del(z);
                                587         [ #  # ]:              0 :                     if (ret < 0) return ret;
                                588                 :                :                 }
                                589                 :              0 :                 break;
                                590                 :              0 :             case 5:
                                591                 :                :                 {
                                592                 :              0 :                     int ret = r_R2(z);
                                593         [ #  # ]:              0 :                     if (ret == 0) goto lab3;
                                594         [ #  # ]:              0 :                     if (ret < 0) return ret;
                                595                 :                :                 }
                                596         [ #  # ]:              0 :                 if (!((SN_local *)z)->b_e_found) goto lab3;
                                597                 :                :                 {
                                598                 :              0 :                     int ret = slice_del(z);
                                599         [ #  # ]:              0 :                     if (ret < 0) return ret;
                                600                 :                :                 }
                                601                 :              0 :                 break;
                                602                 :                :         }
                                603                 :              0 :     lab3:
                                604                 :              0 :         z->c = z->l - v_5;
                                605                 :                :     }
                                606                 :                :     {
                                607                 :              0 :         int v_9 = z->l - z->c;
                                608         [ #  # ]:              0 :         if (out_grouping_b_U(z, g_v_I, 73, 232, 0)) goto lab7;
                                609                 :                :         {
                                610                 :              0 :             int v_10 = z->l - z->c;
                                611   [ #  #  #  #  :              0 :             if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((2129954 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab7;
                                              #  # ]
                                612         [ #  # ]:              0 :             if (!find_among_b(z, a_5, 4, 0)) goto lab7;
                                613         [ #  # ]:              0 :             if (out_grouping_b_U(z, g_v, 97, 232, 0)) goto lab7;
                                614                 :              0 :             z->c = z->l - v_10;
                                615                 :                :         }
                                616                 :              0 :         z->ket = z->c;
                                617                 :                :         {
                                618                 :              0 :             int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
                                619         [ #  # ]:              0 :             if (ret < 0) goto lab7;
                                620                 :              0 :             z->c = ret;
                                621                 :                :         }
                                622                 :              0 :         z->bra = z->c;
                                623                 :                :         {
                                624                 :              0 :             int ret = slice_del(z);
                                625         [ #  # ]:              0 :             if (ret < 0) return ret;
                                626                 :                :         }
                                627                 :              0 :     lab7:
                                628                 :              0 :         z->c = z->l - v_9;
                                629                 :                :     }
                                630                 :              0 :     return 1;
                                631                 :                : }
                                632                 :                : 
                                633                 :              0 : extern int dutch_porter_UTF_8_stem(struct SN_env * z) {
                                634                 :                :     {
                                635                 :              0 :         int v_1 = z->c;
                                636                 :                :         {
                                637                 :              0 :             int ret = r_prelude(z);
                                638         [ #  # ]:              0 :             if (ret < 0) return ret;
                                639                 :                :         }
                                640                 :              0 :         z->c = v_1;
                                641                 :                :     }
                                642                 :                :     {
                                643                 :              0 :         int v_2 = z->c;
                                644                 :                :         {
                                645                 :              0 :             int ret = r_mark_regions(z);
                                646         [ #  # ]:              0 :             if (ret < 0) return ret;
                                647                 :                :         }
                                648                 :              0 :         z->c = v_2;
                                649                 :                :     }
                                650                 :              0 :     z->lb = z->c; z->c = z->l;
                                651                 :                :     {
                                652                 :              0 :         int ret = r_standard_suffix(z);
                                653         [ #  # ]:              0 :         if (ret < 0) return ret;
                                654                 :                :     }
                                655                 :              0 :     z->c = z->lb;
                                656                 :                :     {
                                657                 :              0 :         int v_3 = z->c;
                                658                 :                :         {
                                659                 :              0 :             int ret = r_postlude(z);
                                660         [ #  # ]:              0 :             if (ret < 0) return ret;
                                661                 :                :         }
                                662                 :              0 :         z->c = v_3;
                                663                 :                :     }
                                664                 :              0 :     return 1;
                                665                 :                : }
                                666                 :                : 
                                667                 :              0 : extern struct SN_env * dutch_porter_UTF_8_create_env(void) {
                                668                 :              0 :     struct SN_env * z = SN_new_env(sizeof(SN_local));
                                669         [ #  # ]:              0 :     if (z) {
                                670                 :              0 :         ((SN_local *)z)->i_p2 = 0;
                                671                 :              0 :         ((SN_local *)z)->i_p1 = 0;
                                672                 :              0 :         ((SN_local *)z)->b_e_found = 0;
                                673                 :                :     }
                                674                 :              0 :     return z;
                                675                 :                : }
                                676                 :                : 
                                677                 :              0 : extern void dutch_porter_UTF_8_close_env(struct SN_env * z) {
                                678                 :              0 :     SN_delete_env(z);
                                679                 :              0 : }
                                680                 :                : 
        

Generated by: LCOV version 2.4-beta