LCOV - code coverage report
Current view: top level - languages - german.cc (source / functions) Hit Total Coverage
Test: Test Coverage for xapian-core 7028d852e609 Lines: 240 240 100.0 %
Date: 2019-02-17 14:59:59 Functions: 10 10 100.0 %
Branches: 153 200 76.5 %

           Branch data     Line data    Source code
       1                 :            : /* This file was generated automatically by the Snowball to ISO C++ compiler */
       2                 :            : /* http://snowballstem.org/ */
       3                 :            : 
       4                 :            : #include <config.h>
       5                 :            : #include <limits.h>
       6                 :            : #include "german.h"
       7                 :            : 
       8                 :            : static const symbol s_pool[] = {
       9                 :            : #define s_0_1 0
      10                 :            : 'U',
      11                 :            : #define s_0_2 1
      12                 :            : 'Y',
      13                 :            : #define s_0_3 2
      14                 :            : 0xC3, 0xA4,
      15                 :            : #define s_0_4 4
      16                 :            : 0xC3, 0xB6,
      17                 :            : #define s_0_5 6
      18                 :            : 0xC3, 0xBC,
      19                 :            : #define s_1_0 s_1_1
      20                 :            : #define s_1_1 8
      21                 :            : 'e', 'm',
      22                 :            : #define s_1_2 10
      23                 :            : 'e', 'n',
      24                 :            : #define s_1_3 12
      25                 :            : 'e', 'r', 'n',
      26                 :            : #define s_1_4 s_1_3
      27                 :            : #define s_1_5 (s_1_6 + 1)
      28                 :            : #define s_1_6 15
      29                 :            : 'e', 's',
      30                 :            : #define s_2_0 17
      31                 :            : 'e', 'n',
      32                 :            : #define s_2_1 19
      33                 :            : 'e', 'r',
      34                 :            : #define s_2_2 (s_2_3 + 1)
      35                 :            : #define s_2_3 21
      36                 :            : 'e', 's', 't',
      37                 :            : #define s_3_0 24
      38                 :            : 'i', 'g',
      39                 :            : #define s_3_1 26
      40                 :            : 'l', 'i', 'c', 'h',
      41                 :            : #define s_4_0 30
      42                 :            : 'e', 'n', 'd',
      43                 :            : #define s_4_1 33
      44                 :            : 'i', 'g',
      45                 :            : #define s_4_2 35
      46                 :            : 'u', 'n', 'g',
      47                 :            : #define s_4_3 38
      48                 :            : 'l', 'i', 'c', 'h',
      49                 :            : #define s_4_4 42
      50                 :            : 'i', 's', 'c', 'h',
      51                 :            : #define s_4_5 46
      52                 :            : 'i', 'k',
      53                 :            : #define s_4_6 48
      54                 :            : 'h', 'e', 'i', 't',
      55                 :            : #define s_4_7 52
      56                 :            : 'k', 'e', 'i', 't',
      57                 :            : };
      58                 :            : 
      59                 :            : 
      60                 :            : static const struct among a_0[6] =
      61                 :            : {
      62                 :            : /*  0 */ { 0, 0, -1, 5},
      63                 :            : /*  1 */ { 1, s_0_1, 0, 2},
      64                 :            : /*  2 */ { 1, s_0_2, 0, 1},
      65                 :            : /*  3 */ { 2, s_0_3, 0, 3},
      66                 :            : /*  4 */ { 2, s_0_4, 0, 4},
      67                 :            : /*  5 */ { 2, s_0_5, 0, 2}
      68                 :            : };
      69                 :            : 
      70                 :            : 
      71                 :            : static const struct among a_1[7] =
      72                 :            : {
      73                 :            : /*  0 */ { 1, s_1_0, -1, 2},
      74                 :            : /*  1 */ { 2, s_1_1, -1, 1},
      75                 :            : /*  2 */ { 2, s_1_2, -1, 2},
      76                 :            : /*  3 */ { 3, s_1_3, -1, 1},
      77                 :            : /*  4 */ { 2, s_1_4, -1, 1},
      78                 :            : /*  5 */ { 1, s_1_5, -1, 3},
      79                 :            : /*  6 */ { 2, s_1_6, 5, 2}
      80                 :            : };
      81                 :            : 
      82                 :            : 
      83                 :            : static const struct among a_2[4] =
      84                 :            : {
      85                 :            : /*  0 */ { 2, s_2_0, -1, 1},
      86                 :            : /*  1 */ { 2, s_2_1, -1, 1},
      87                 :            : /*  2 */ { 2, s_2_2, -1, 2},
      88                 :            : /*  3 */ { 3, s_2_3, 2, 1}
      89                 :            : };
      90                 :            : 
      91                 :            : 
      92                 :            : static const struct among a_3[2] =
      93                 :            : {
      94                 :            : /*  0 */ { 2, s_3_0, -1, 1},
      95                 :            : /*  1 */ { 4, s_3_1, -1, 1}
      96                 :            : };
      97                 :            : 
      98                 :            : 
      99                 :            : static const struct among a_4[8] =
     100                 :            : {
     101                 :            : /*  0 */ { 3, s_4_0, -1, 1},
     102                 :            : /*  1 */ { 2, s_4_1, -1, 2},
     103                 :            : /*  2 */ { 3, s_4_2, -1, 1},
     104                 :            : /*  3 */ { 4, s_4_3, -1, 3},
     105                 :            : /*  4 */ { 4, s_4_4, -1, 2},
     106                 :            : /*  5 */ { 2, s_4_5, -1, 2},
     107                 :            : /*  6 */ { 4, s_4_6, -1, 3},
     108                 :            : /*  7 */ { 4, s_4_7, -1, 4}
     109                 :            : };
     110                 :            : 
     111                 :            : static const unsigned char g_v[] = { 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 32, 8 };
     112                 :            : 
     113                 :            : static const unsigned char g_s_ending[] = { 117, 30, 5 };
     114                 :            : 
     115                 :            : static const unsigned char g_st_ending[] = { 117, 30, 4 };
     116                 :            : 
     117                 :            : static const symbol s_0[] = { 0xC3, 0x9F };
     118                 :            : static const symbol s_1[] = { 's', 's' };
     119                 :            : static const symbol s_2[] = { 'U' };
     120                 :            : static const symbol s_3[] = { 'Y' };
     121                 :            : static const symbol s_4[] = { 'y' };
     122                 :            : static const symbol s_5[] = { 'u' };
     123                 :            : static const symbol s_6[] = { 'a' };
     124                 :            : static const symbol s_7[] = { 'o' };
     125                 :            : static const symbol s_8[] = { 'n', 'i', 's' };
     126                 :            : static const symbol s_9[] = { 'i', 'g' };
     127                 :            : static const symbol s_10[] = { 'e', 'r' };
     128                 :            : static const symbol s_11[] = { 'e', 'n' };
     129                 :            : 
     130                 :     105649 : int Xapian::InternalStemGerman::r_prelude() { /* forwardmode */
     131                 :     105649 :     {   int c_test1 = c; /* test, line 36 */
     132                 :            :         while(1) { /* repeat, line 36 */
     133                 :    4380342 :             int c2 = c;
     134                 :    4380342 :             {   int c3 = c; /* or, line 39 */
     135                 :    4380342 :                 bra = c; /* [, line 38 */
     136         [ +  + ]:    4380342 :                 if (!(eq_s(2, s_0))) goto lab2; /* literal, line 38 */
     137                 :        587 :                 ket = c; /* ], line 38 */
     138                 :        587 :                 {   int ret = slice_from_s(2, s_1); /* <-, line 38 */
     139         [ -  + ]:        587 :                     if (ret < 0) return ret;
     140                 :            :                 }
     141                 :        587 :                 goto lab1;
     142                 :            :             lab2:
     143                 :    4379755 :                 c = c3;
     144                 :    4379755 :                 {   int ret = skip_utf8(p, c, 0, l, 1);
     145         [ +  + ]:    4379755 :                     if (ret < 0) goto lab0;
     146                 :    4274106 :                     c = ret; /* next, line 39 */
     147                 :            :                 }
     148                 :            :             }
     149                 :            :         lab1:
     150                 :    4274693 :             continue;
     151                 :            :         lab0:
     152                 :     105649 :             c = c2;
     153                 :     105649 :             break;
     154                 :            :         }
     155                 :    4380342 :         c = c_test1;
     156                 :            :     }
     157                 :            :     while(1) { /* repeat, line 42 */
     158                 :     110266 :         int c4 = c;
     159                 :            :         while(1) { /* goto, line 42 */
     160                 :    4385546 :             int c5 = c;
     161         [ +  + ]:    4385546 :             if (in_grouping_U(g_v, 97, 252, 0)) goto lab4; /* grouping v, line 43 */
     162                 :     555034 :             bra = c; /* [, line 43 */
     163                 :     555034 :             {   int c6 = c; /* or, line 43 */
     164 [ +  + ][ +  + ]:     555034 :                 if (c == l || p[c] != 'u') goto lab6; /* literal, line 43 */
     165                 :      15380 :                 c++;
     166                 :      15380 :                 ket = c; /* ], line 43 */
     167         [ +  + ]:      15380 :                 if (in_grouping_U(g_v, 97, 252, 0)) goto lab6; /* grouping v, line 43 */
     168                 :       2483 :                 {   int ret = slice_from_s(1, s_2); /* <-, line 43 */
     169         [ -  + ]:       2483 :                     if (ret < 0) return ret;
     170                 :            :                 }
     171                 :       2483 :                 goto lab5;
     172                 :            :             lab6:
     173                 :     552551 :                 c = c6;
     174 [ +  + ][ +  + ]:     552551 :                 if (c == l || p[c] != 'y') goto lab4; /* literal, line 44 */
     175                 :      11338 :                 c++;
     176                 :      11338 :                 ket = c; /* ], line 44 */
     177         [ +  + ]:      11338 :                 if (in_grouping_U(g_v, 97, 252, 0)) goto lab4; /* grouping v, line 44 */
     178                 :       2134 :                 {   int ret = slice_from_s(1, s_3); /* <-, line 44 */
     179         [ -  + ]:       2134 :                     if (ret < 0) return ret;
     180                 :            :                 }
     181                 :            :             }
     182                 :            :         lab5:
     183                 :       4617 :             c = c5;
     184                 :       4617 :             break;
     185                 :            :         lab4:
     186                 :    4380929 :             c = c5;
     187                 :    4380929 :             {   int ret = skip_utf8(p, c, 0, l, 1);
     188         [ +  + ]:    4380929 :                 if (ret < 0) goto lab3;
     189                 :    4275280 :                 c = ret; /* goto, line 42 */
     190                 :            :             }
     191                 :            :         }
     192                 :       4617 :         continue;
     193                 :            :     lab3:
     194                 :     105649 :         c = c4;
     195                 :     105649 :         break;
     196                 :    4275280 :     }
     197                 :     110266 :     return 1;
     198                 :            : }
     199                 :            : 
     200                 :     105649 : int Xapian::InternalStemGerman::r_mark_regions() { /* forwardmode */
     201                 :     105649 :     I_p1 = l; /* $p1 = <integer expression>, line 50 */
     202                 :     105649 :     I_p2 = l; /* $p2 = <integer expression>, line 51 */
     203                 :     105649 :     {   int c_test1 = c; /* test, line 53 */
     204                 :     105649 :         {   int ret = skip_utf8(p, c, 0, l, + 3); /* hop, line 53 */
     205         [ +  + ]:     105649 :             if (ret < 0) return 0;
     206                 :     101697 :             c = ret;
     207                 :            :         }
     208                 :     101697 :         I_x = c; /* setmark x, line 53 */
     209                 :     101697 :         c = c_test1;
     210                 :            :     }
     211                 :            :     {    /* gopast */ /* grouping v, line 55 */
     212                 :     101697 :         int ret = out_grouping_U(g_v, 97, 252, 1);
     213         [ +  + ]:     101697 :         if (ret < 0) return 0;
     214                 :      95780 :         c += ret;
     215                 :            :     }
     216                 :            :     {    /* gopast */ /* non v, line 55 */
     217                 :      95780 :         int ret = in_grouping_U(g_v, 97, 252, 1);
     218         [ +  + ]:      95780 :         if (ret < 0) return 0;
     219                 :      94371 :         c += ret;
     220                 :            :     }
     221                 :      94371 :     I_p1 = c; /* setmark p1, line 55 */
     222                 :            :     /* try, line 56 */
     223         [ +  + ]:      94371 :     if (!(I_p1 < I_x)) goto lab0; /* $(<integer expression> < <integer expression>), line 56 */
     224                 :      15303 :     I_p1 = I_x; /* $p1 = <integer expression>, line 56 */
     225                 :            : lab0:
     226                 :            :     {    /* gopast */ /* grouping v, line 57 */
     227                 :      94371 :         int ret = out_grouping_U(g_v, 97, 252, 1);
     228         [ +  + ]:      94371 :         if (ret < 0) return 0;
     229                 :      83873 :         c += ret;
     230                 :            :     }
     231                 :            :     {    /* gopast */ /* non v, line 57 */
     232                 :      83873 :         int ret = in_grouping_U(g_v, 97, 252, 1);
     233         [ +  + ]:      83873 :         if (ret < 0) return 0;
     234                 :      80254 :         c += ret;
     235                 :            :     }
     236                 :      80254 :     I_p2 = c; /* setmark p2, line 57 */
     237                 :      80254 :     return 1;
     238                 :            : }
     239                 :            : 
     240                 :     105649 : int Xapian::InternalStemGerman::r_postlude() { /* forwardmode */
     241                 :            :     int among_var;
     242                 :            :     while(1) { /* repeat, line 61 */
     243                 :    4324058 :         int c1 = c;
     244                 :    4324058 :         bra = c; /* [, line 63 */
     245                 :    4324058 :         among_var = find_among(s_pool, a_0, 6, 0, 0); /* substring, line 63 */
     246         [ -  + ]:    4324058 :         if (!(among_var)) goto lab0;
     247                 :    4324058 :         ket = c; /* ], line 63 */
     248   [ +  +  +  +  :    4324058 :         switch (among_var) { /* among, line 63 */
                   +  - ]
     249                 :            :             case 1:
     250                 :      10318 :                 {   int ret = slice_from_s(1, s_4); /* <-, line 64 */
     251         [ -  + ]:      10318 :                     if (ret < 0) return ret;
     252                 :            :                 }
     253                 :      10318 :                 break;
     254                 :            :             case 2:
     255                 :      13642 :                 {   int ret = slice_from_s(1, s_5); /* <-, line 65 */
     256         [ -  + ]:      13642 :                     if (ret < 0) return ret;
     257                 :            :                 }
     258                 :      13642 :                 break;
     259                 :            :             case 3:
     260                 :       3053 :                 {   int ret = slice_from_s(1, s_6); /* <-, line 66 */
     261         [ -  + ]:       3053 :                     if (ret < 0) return ret;
     262                 :            :                 }
     263                 :       3053 :                 break;
     264                 :            :             case 4:
     265                 :       1251 :                 {   int ret = slice_from_s(1, s_7); /* <-, line 67 */
     266         [ -  + ]:       1251 :                     if (ret < 0) return ret;
     267                 :            :                 }
     268                 :       1251 :                 break;
     269                 :            :             case 5:
     270                 :    4295794 :                 {   int ret = skip_utf8(p, c, 0, l, 1);
     271         [ +  + ]:    4295794 :                     if (ret < 0) goto lab0;
     272                 :    4190145 :                     c = ret; /* next, line 69 */
     273                 :            :                 }
     274                 :    4190145 :                 break;
     275                 :            :         }
     276                 :    4218409 :         continue;
     277                 :            :     lab0:
     278                 :     105649 :         c = c1;
     279                 :     105649 :         break;
     280                 :            :     }
     281                 :    4324058 :     return 1;
     282                 :            : }
     283                 :            : 
     284                 :      29499 : int Xapian::InternalStemGerman::r_R1() { /* backwardmode */
     285         [ +  + ]:      29499 :     if (!(I_p1 <= c)) return 0; /* $(<integer expression> <= <integer expression>), line 76 */
     286                 :      28195 :     return 1;
     287                 :            : }
     288                 :            : 
     289                 :       7073 : int Xapian::InternalStemGerman::r_R2() { /* backwardmode */
     290         [ +  + ]:       7073 :     if (!(I_p2 <= c)) return 0; /* $(<integer expression> <= <integer expression>), line 77 */
     291                 :       4651 :     return 1;
     292                 :            : }
     293                 :            : 
     294                 :     105649 : int Xapian::InternalStemGerman::r_standard_suffix() { /* backwardmode */
     295                 :            :     int among_var;
     296                 :     105649 :     {   int m1 = l - c; (void)m1; /* do, line 80 */
     297                 :     105649 :         ket = c; /* [, line 81 */
     298 [ +  - ][ +  + ]:     105649 :         if (c <= lb || p[c - 1] >> 5 != 3 || !((811040 >> (p[c - 1] & 0x1f)) & 1)) goto lab0; /* substring, line 81 */
                 [ +  + ]
     299                 :      33999 :         among_var = find_among_b(s_pool, a_1, 7, 0, 0);
     300         [ +  + ]:      33999 :         if (!(among_var)) goto lab0;
     301                 :      26387 :         bra = c; /* ], line 81 */
     302                 :      26387 :         {   int ret = r_R1(); /* call R1, line 81 */
     303         [ +  + ]:      26387 :             if (ret == 0) goto lab0;
     304         [ -  + ]:      25425 :             if (ret < 0) return ret;
     305                 :            :         }
     306   [ +  +  +  - ]:      25425 :         switch (among_var) { /* among, line 81 */
     307                 :            :             case 1:
     308         [ -  + ]:       3086 :                 if (slice_del() == -1) return -1; /* delete, line 83 */
     309                 :       3086 :                 break;
     310                 :            :             case 2:
     311         [ -  + ]:      19136 :                 if (slice_del() == -1) return -1; /* delete, line 86 */
     312                 :      19136 :                 {   int m2 = l - c; (void)m2; /* try, line 87 */
     313                 :      19136 :                     ket = c; /* [, line 87 */
     314 [ +  - ][ +  + ]:      19136 :                     if (c <= lb || p[c - 1] != 's') { c = l - m2; goto lab1; } /* literal, line 87 */
     315                 :       1278 :                     c--;
     316                 :       1278 :                     bra = c; /* ], line 87 */
     317         [ +  + ]:       1278 :                     if (!(eq_s_b(3, s_8))) { c = l - m2; goto lab1; } /* literal, line 87 */
     318         [ -  + ]:         70 :                     if (slice_del() == -1) return -1; /* delete, line 87 */
     319                 :            :                 lab1:
     320                 :            :                     ;
     321                 :            :                 }
     322                 :      19136 :                 break;
     323                 :            :             case 3:
     324         [ +  + ]:       3203 :                 if (in_grouping_b_U(g_s_ending, 98, 116, 0)) goto lab0; /* grouping s_ending, line 90 */
     325         [ -  + ]:       1466 :                 if (slice_del() == -1) return -1; /* delete, line 90 */
     326                 :       1466 :                 break;
     327                 :            :         }
     328                 :            :     lab0:
     329                 :     105649 :         c = l - m1;
     330                 :            :     }
     331                 :     105649 :     {   int m3 = l - c; (void)m3; /* do, line 94 */
     332                 :     105649 :         ket = c; /* [, line 95 */
     333 [ +  + ][ +  + ]:     105649 :         if (c - 1 <= lb || p[c - 1] >> 5 != 3 || !((1327104 >> (p[c - 1] & 0x1f)) & 1)) goto lab2; /* substring, line 95 */
                 [ +  + ]
     334                 :      20550 :         among_var = find_among_b(s_pool, a_2, 4, 0, 0);
     335         [ +  + ]:      20550 :         if (!(among_var)) goto lab2;
     336                 :       2912 :         bra = c; /* ], line 95 */
     337                 :       2912 :         {   int ret = r_R1(); /* call R1, line 95 */
     338         [ +  + ]:       2912 :             if (ret == 0) goto lab2;
     339         [ -  + ]:       2570 :             if (ret < 0) return ret;
     340                 :            :         }
     341      [ +  +  - ]:       2570 :         switch (among_var) { /* among, line 95 */
     342                 :            :             case 1:
     343         [ -  + ]:       1485 :                 if (slice_del() == -1) return -1; /* delete, line 97 */
     344                 :       1485 :                 break;
     345                 :            :             case 2:
     346         [ +  + ]:       1085 :                 if (in_grouping_b_U(g_st_ending, 98, 116, 0)) goto lab2; /* grouping st_ending, line 100 */
     347                 :        513 :                 {   int ret = skip_utf8(p, c, lb, l, - 3); /* hop, line 100 */
     348         [ +  + ]:        513 :                     if (ret < 0) goto lab2;
     349                 :        471 :                     c = ret;
     350                 :            :                 }
     351         [ -  + ]:        471 :                 if (slice_del() == -1) return -1; /* delete, line 100 */
     352                 :        471 :                 break;
     353                 :            :         }
     354                 :            :     lab2:
     355                 :     105649 :         c = l - m3;
     356                 :            :     }
     357                 :     105649 :     {   int m4 = l - c; (void)m4; /* do, line 104 */
     358                 :     105649 :         ket = c; /* [, line 105 */
     359 [ +  + ][ +  + ]:     105649 :         if (c - 1 <= lb || p[c - 1] >> 5 != 3 || !((1051024 >> (p[c - 1] & 0x1f)) & 1)) goto lab3; /* substring, line 105 */
                 [ +  + ]
     360                 :      32669 :         among_var = find_among_b(s_pool, a_4, 8, 0, 0);
     361         [ +  + ]:      32669 :         if (!(among_var)) goto lab3;
     362                 :       6675 :         bra = c; /* ], line 105 */
     363                 :       6675 :         {   int ret = r_R2(); /* call R2, line 105 */
     364         [ +  + ]:       6675 :             if (ret == 0) goto lab3;
     365         [ -  + ]:       4370 :             if (ret < 0) return ret;
     366                 :            :         }
     367   [ +  +  +  +  :       4370 :         switch (among_var) { /* among, line 105 */
                      - ]
     368                 :            :             case 1:
     369         [ -  + ]:       1671 :                 if (slice_del() == -1) return -1; /* delete, line 107 */
     370                 :       1671 :                 {   int m5 = l - c; (void)m5; /* try, line 108 */
     371                 :       1671 :                     ket = c; /* [, line 108 */
     372         [ +  + ]:       1671 :                     if (!(eq_s_b(2, s_9))) { c = l - m5; goto lab4; } /* literal, line 108 */
     373                 :         91 :                     bra = c; /* ], line 108 */
     374                 :         91 :                     {   int m6 = l - c; (void)m6; /* not, line 108 */
     375 [ +  - ][ +  + ]:         91 :                         if (c <= lb || p[c - 1] != 'e') goto lab5; /* literal, line 108 */
     376                 :         11 :                         c--;
     377                 :         11 :                         { c = l - m5; goto lab4; }
     378                 :            :                     lab5:
     379                 :         80 :                         c = l - m6;
     380                 :            :                     }
     381                 :         80 :                     {   int ret = r_R2(); /* call R2, line 108 */
     382         [ +  + ]:         80 :                         if (ret == 0) { c = l - m5; goto lab4; }
     383         [ -  + ]:         64 :                         if (ret < 0) return ret;
     384                 :            :                     }
     385         [ -  + ]:         64 :                     if (slice_del() == -1) return -1; /* delete, line 108 */
     386                 :            :                 lab4:
     387                 :            :                     ;
     388                 :            :                 }
     389                 :       1671 :                 break;
     390                 :            :             case 2:
     391                 :       1492 :                 {   int m7 = l - c; (void)m7; /* not, line 111 */
     392 [ +  - ][ +  + ]:       1492 :                     if (c <= lb || p[c - 1] != 'e') goto lab6; /* literal, line 111 */
     393                 :         20 :                     c--;
     394                 :         20 :                     goto lab3;
     395                 :            :                 lab6:
     396                 :       1472 :                     c = l - m7;
     397                 :            :                 }
     398         [ -  + ]:       1472 :                 if (slice_del() == -1) return -1; /* delete, line 111 */
     399                 :       1472 :                 break;
     400                 :            :             case 3:
     401         [ -  + ]:        845 :                 if (slice_del() == -1) return -1; /* delete, line 114 */
     402                 :        845 :                 {   int m8 = l - c; (void)m8; /* try, line 115 */
     403                 :        845 :                     ket = c; /* [, line 116 */
     404                 :        845 :                     {   int m9 = l - c; (void)m9; /* or, line 116 */
     405         [ +  + ]:        845 :                         if (!(eq_s_b(2, s_10))) goto lab9; /* literal, line 116 */
     406                 :        133 :                         goto lab8;
     407                 :            :                     lab9:
     408                 :        712 :                         c = l - m9;
     409         [ +  + ]:        712 :                         if (!(eq_s_b(2, s_11))) { c = l - m8; goto lab7; } /* literal, line 116 */
     410                 :            :                     }
     411                 :            :                 lab8:
     412                 :        200 :                     bra = c; /* ], line 116 */
     413                 :        200 :                     {   int ret = r_R1(); /* call R1, line 116 */
     414         [ -  + ]:        200 :                         if (ret == 0) { c = l - m8; goto lab7; }
     415         [ -  + ]:        200 :                         if (ret < 0) return ret;
     416                 :            :                     }
     417         [ -  + ]:        200 :                     if (slice_del() == -1) return -1; /* delete, line 116 */
     418                 :            :                 lab7:
     419                 :            :                     ;
     420                 :            :                 }
     421                 :        845 :                 break;
     422                 :            :             case 4:
     423         [ -  + ]:        362 :                 if (slice_del() == -1) return -1; /* delete, line 120 */
     424                 :        362 :                 {   int m10 = l - c; (void)m10; /* try, line 121 */
     425                 :        362 :                     ket = c; /* [, line 122 */
     426 [ +  - ][ +  + ]:        362 :                     if (c - 1 <= lb || (p[c - 1] != 103 && p[c - 1] != 104)) { c = l - m10; goto lab10; } /* substring, line 122 */
                 [ +  + ]
     427         [ -  + ]:        318 :                     if (!(find_among_b(s_pool, a_3, 2, 0, 0))) { c = l - m10; goto lab10; }
     428                 :        318 :                     bra = c; /* ], line 122 */
     429                 :        318 :                     {   int ret = r_R2(); /* call R2, line 122 */
     430         [ +  + ]:        318 :                         if (ret == 0) { c = l - m10; goto lab10; }
     431         [ -  + ]:        217 :                         if (ret < 0) return ret;
     432                 :            :                     }
     433         [ -  + ]:        217 :                     if (slice_del() == -1) return -1; /* delete, line 124 */
     434                 :            :                 lab10:
     435                 :            :                     ;
     436                 :            :                 }
     437                 :        362 :                 break;
     438                 :            :         }
     439                 :            :     lab3:
     440                 :     105649 :         c = l - m4;
     441                 :            :     }
     442                 :     105649 :     return 1;
     443                 :            : }
     444                 :            : 
     445                 :     105649 : int Xapian::InternalStemGerman::stem() { /* forwardmode */
     446                 :     105649 :     {   int c1 = c; /* do, line 135 */
     447                 :     105649 :         {   int ret = r_prelude(); /* call prelude, line 135 */
     448         [ -  + ]:     105649 :             if (ret == 0) goto lab0;
     449         [ -  + ]:     105649 :             if (ret < 0) return ret;
     450                 :            :         }
     451                 :            :     lab0:
     452                 :     105649 :         c = c1;
     453                 :            :     }
     454                 :     105649 :     {   int c2 = c; /* do, line 136 */
     455                 :     105649 :         {   int ret = r_mark_regions(); /* call mark_regions, line 136 */
     456         [ +  + ]:     105649 :             if (ret == 0) goto lab1;
     457         [ -  + ]:      80254 :             if (ret < 0) return ret;
     458                 :            :         }
     459                 :            :     lab1:
     460                 :     105649 :         c = c2;
     461                 :            :     }
     462                 :     105649 :     lb = c; c = l; /* backwards, line 137 */
     463                 :            : 
     464                 :            :     /* do, line 138 */
     465                 :     105649 :     {   int ret = r_standard_suffix(); /* call standard_suffix, line 138 */
     466         [ -  + ]:     105649 :         if (ret == 0) goto lab2;
     467         [ -  + ]:     105649 :         if (ret < 0) return ret;
     468                 :            :     }
     469                 :            : lab2:
     470                 :     105649 :     c = lb;
     471                 :     105649 :     {   int c3 = c; /* do, line 139 */
     472                 :     105649 :         {   int ret = r_postlude(); /* call postlude, line 139 */
     473         [ -  + ]:     105649 :             if (ret == 0) goto lab3;
     474         [ -  + ]:     105649 :             if (ret < 0) return ret;
     475                 :            :         }
     476                 :            :     lab3:
     477                 :     105649 :         c = c3;
     478                 :            :     }
     479                 :     105649 :     return 1;
     480                 :            : }
     481                 :            : 
     482                 :          3 : Xapian::InternalStemGerman::InternalStemGerman()
     483                 :          3 :     : I_x(0), I_p2(0), I_p1(0)
     484                 :            : {
     485                 :          3 : }
     486                 :            : 
     487                 :          9 : Xapian::InternalStemGerman::~InternalStemGerman()
     488                 :            : {
     489         [ -  + ]:          6 : }
     490                 :            : 
     491                 :            : std::string
     492                 :          1 : Xapian::InternalStemGerman::get_description() const
     493                 :            : {
     494         [ +  - ]:          1 :     return "german";
     495                 :            : }

Generated by: LCOV version 1.11