LCOV - differential code coverage report
Current view: top level - src/backend/snowball/libstemmer - stem_UTF_8_dutch.c (source / functions) Coverage Total Hit UBC
Current: Differential Code Coverage HEAD vs 15 Lines: 0.0 % 352 0 352
Current Date: 2023-04-08 15:15:32 Functions: 0.0 % 12 0 12
Baseline: 15
Baseline Date: 2023-04-08 15:09:40
Legend: Lines: hit not hit

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

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