LCOV - code coverage report
Current view: top level - languages - german.cc (source / functions) Hit Total Coverage
Test: Test Coverage for xapian-core r Lines: 242 247 98.0 %
Date: 2011-08-21 Functions: 10 13 76.9 %
Branches: 155 212 73.1 %

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

Generated by: LCOV version 1.8