LCOV - code coverage report
Current view: top level - languages - irish.cc (source / functions) Hit Total Coverage
Test: Test Coverage for xapian-core 4ba52dacf4fb Lines: 161 163 98.8 %
Date: 2019-05-20 14:58:19 Functions: 12 12 100.0 %
Branches: 94 128 73.4 %

           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 "irish.h"
       7                 :            : 
       8                 :            : static const symbol s_pool[] = {
       9                 :            : #define s_0_0 0
      10                 :            : 'b', '\'',
      11                 :            : #define s_0_1 s_0_2
      12                 :            : #define s_0_2 2
      13                 :            : 'b', 'h', 'f',
      14                 :            : #define s_0_3 5
      15                 :            : 'b', 'p',
      16                 :            : #define s_0_4 7
      17                 :            : 'c', 'h',
      18                 :            : #define s_0_5 s_0_6
      19                 :            : #define s_0_6 9
      20                 :            : 'd', '\'', 'f', 'h',
      21                 :            : #define s_0_7 13
      22                 :            : 'd', 'h',
      23                 :            : #define s_0_8 15
      24                 :            : 'd', 't',
      25                 :            : #define s_0_9 (s_0_6 + 2)
      26                 :            : #define s_0_10 17
      27                 :            : 'g', 'c',
      28                 :            : #define s_0_11 19
      29                 :            : 'g', 'h',
      30                 :            : #define s_0_12 21
      31                 :            : 'h', '-',
      32                 :            : #define s_0_13 23
      33                 :            : 'm', '\'',
      34                 :            : #define s_0_14 25
      35                 :            : 'm', 'b',
      36                 :            : #define s_0_15 27
      37                 :            : 'm', 'h',
      38                 :            : #define s_0_16 29
      39                 :            : 'n', '-',
      40                 :            : #define s_0_17 31
      41                 :            : 'n', 'd',
      42                 :            : #define s_0_18 33
      43                 :            : 'n', 'g',
      44                 :            : #define s_0_19 35
      45                 :            : 'p', 'h',
      46                 :            : #define s_0_20 37
      47                 :            : 's', 'h',
      48                 :            : #define s_0_21 39
      49                 :            : 't', '-',
      50                 :            : #define s_0_22 41
      51                 :            : 't', 'h',
      52                 :            : #define s_0_23 43
      53                 :            : 't', 's',
      54                 :            : #define s_1_0 (s_1_1 + 1)
      55                 :            : #define s_1_1 45
      56                 :            : 'a', 0xC3, 0xAD, 'o', 'c', 'h', 't', 'a',
      57                 :            : #define s_1_2 (s_1_3 + 1)
      58                 :            : #define s_1_3 53
      59                 :            : 'a', 'i', 'r', 'e',
      60                 :            : #define s_1_4 (s_1_5 + 1)
      61                 :            : #define s_1_5 57
      62                 :            : 'e', 'a', 'b', 'h',
      63                 :            : #define s_1_6 (s_1_7 + 1)
      64                 :            : #define s_1_7 61
      65                 :            : 'a', 'i', 'b', 'h',
      66                 :            : #define s_1_8 (s_1_9 + 1)
      67                 :            : #define s_1_9 65
      68                 :            : 'e', 'a', 'm', 'h',
      69                 :            : #define s_1_10 (s_1_11 + 1)
      70                 :            : #define s_1_11 69
      71                 :            : 'a', 'i', 'm', 'h',
      72                 :            : #define s_1_12 s_1_0
      73                 :            : #define s_1_13 s_1_1
      74                 :            : #define s_1_14 (s_1_15 + 1)
      75                 :            : #define s_1_15 73
      76                 :            : 'a', 'i', 'r', 0xC3, 0xAD,
      77                 :            : #define s_2_0 78
      78                 :            : 0xC3, 0xB3, 'i', 'd', 'e', 'a', 'c', 'h', 'a',
      79                 :            : #define s_2_1 87
      80                 :            : 'p', 'a', 't', 'a', 'c', 'h', 'a',
      81                 :            : #define s_2_2 (s_2_3 + 3)
      82                 :            : #define s_2_3 s_2_23
      83                 :            : #define s_2_4 94
      84                 :            : 'e', 'a', 'c', 'h', 't', 'a',
      85                 :            : #define s_2_5 s_2_24
      86                 :            : #define s_2_6 100
      87                 :            : 'p', 'a', 'i', 't', 'e',
      88                 :            : #define s_2_7 (s_2_0 + 5)
      89                 :            : #define s_2_8 (s_2_0 + 4)
      90                 :            : #define s_2_9 s_2_0
      91                 :            : #define s_2_10 105
      92                 :            : 'g', 'i', 'n', 'e', 'a', 'c', 'h',
      93                 :            : #define s_2_11 s_2_1
      94                 :            : #define s_2_12 s_2_5
      95                 :            : #define s_2_13 112
      96                 :            : 'p', 'a', 't', 'a', 'i', 'g', 'h',
      97                 :            : #define s_2_14 119
      98                 :            : 0xC3, 0xB3, 'i', 'd', 'i', 'g', 'h',
      99                 :            : #define s_2_15 (s_2_16 + 1)
     100                 :            : #define s_2_16 126
     101                 :            : 'e', 'a', 'c', 'h', 't', 0xC3, 0xBA, 'i', 'l',
     102                 :            : #define s_2_17 135
     103                 :            : 'g', 'i', 'n', 'e', 'a', 's',
     104                 :            : #define s_2_18 141
     105                 :            : 'g', 'i', 'n', 'i', 's',
     106                 :            : #define s_2_19 s_2_2
     107                 :            : #define s_2_20 s_2_3
     108                 :            : #define s_2_21 s_2_4
     109                 :            : #define s_2_22 s_2_5
     110                 :            : #define s_2_23 146
     111                 :            : 'a', 'r', 'c', 'a', 'c', 'h', 't', 'a', 0xC3, 0xAD,
     112                 :            : #define s_2_24 156
     113                 :            : 'g', 'r', 'a', 'f', 'a', 0xC3, 0xAD, 'o', 'c', 'h', 't', 'a', 0xC3, 0xAD,
     114                 :            : #define s_3_0 (s_3_1 + 1)
     115                 :            : #define s_3_1 170
     116                 :            : 'a', 'i', 'm', 'i', 'd',
     117                 :            : #define s_3_2 (s_3_3 + 1)
     118                 :            : #define s_3_3 175
     119                 :            : 'a', 0xC3, 0xAD, 'm', 'i', 'd',
     120                 :            : #define s_3_4 (s_3_5 + 1)
     121                 :            : #define s_3_5 181
     122                 :            : 'e', 'a', 'd', 'h',
     123                 :            : #define s_3_6 185
     124                 :            : 'f', 'a', 'i', 'd', 'h',
     125                 :            : #define s_3_7 190
     126                 :            : 'f', 'i', 'd', 'h',
     127                 :            : #define s_3_8 194
     128                 :            : 0xC3, 0xA1, 'i', 'l',
     129                 :            : #define s_3_9 198
     130                 :            : 'a', 'i', 'n',
     131                 :            : #define s_3_10 201
     132                 :            : 't', 'e', 'a', 'r',
     133                 :            : #define s_3_11 205
     134                 :            : 't', 'a', 'r',
     135                 :            : };
     136                 :            : 
     137                 :            : 
     138                 :            : static const struct among a_0[24] =
     139                 :            : {
     140                 :            : /*  0 */ { 2, s_0_0, -1, 1},
     141                 :            : /*  1 */ { 2, s_0_1, -1, 4},
     142                 :            : /*  2 */ { 3, s_0_2, 1, 2},
     143                 :            : /*  3 */ { 2, s_0_3, -1, 8},
     144                 :            : /*  4 */ { 2, s_0_4, -1, 5},
     145                 :            : /*  5 */ { 2, s_0_5, -1, 1},
     146                 :            : /*  6 */ { 4, s_0_6, 5, 2},
     147                 :            : /*  7 */ { 2, s_0_7, -1, 6},
     148                 :            : /*  8 */ { 2, s_0_8, -1, 9},
     149                 :            : /*  9 */ { 2, s_0_9, -1, 2},
     150                 :            : /* 10 */ { 2, s_0_10, -1, 5},
     151                 :            : /* 11 */ { 2, s_0_11, -1, 7},
     152                 :            : /* 12 */ { 2, s_0_12, -1, 1},
     153                 :            : /* 13 */ { 2, s_0_13, -1, 1},
     154                 :            : /* 14 */ { 2, s_0_14, -1, 4},
     155                 :            : /* 15 */ { 2, s_0_15, -1, 10},
     156                 :            : /* 16 */ { 2, s_0_16, -1, 1},
     157                 :            : /* 17 */ { 2, s_0_17, -1, 6},
     158                 :            : /* 18 */ { 2, s_0_18, -1, 7},
     159                 :            : /* 19 */ { 2, s_0_19, -1, 8},
     160                 :            : /* 20 */ { 2, s_0_20, -1, 3},
     161                 :            : /* 21 */ { 2, s_0_21, -1, 1},
     162                 :            : /* 22 */ { 2, s_0_22, -1, 9},
     163                 :            : /* 23 */ { 2, s_0_23, -1, 3}
     164                 :            : };
     165                 :            : 
     166                 :            : 
     167                 :            : static const struct among a_1[16] =
     168                 :            : {
     169                 :            : /*  0 */ { 7, s_1_0, -1, 1},
     170                 :            : /*  1 */ { 8, s_1_1, 0, 1},
     171                 :            : /*  2 */ { 3, s_1_2, -1, 2},
     172                 :            : /*  3 */ { 4, s_1_3, 2, 2},
     173                 :            : /*  4 */ { 3, s_1_4, -1, 1},
     174                 :            : /*  5 */ { 4, s_1_5, 4, 1},
     175                 :            : /*  6 */ { 3, s_1_6, -1, 1},
     176                 :            : /*  7 */ { 4, s_1_7, 6, 1},
     177                 :            : /*  8 */ { 3, s_1_8, -1, 1},
     178                 :            : /*  9 */ { 4, s_1_9, 8, 1},
     179                 :            : /* 10 */ { 3, s_1_10, -1, 1},
     180                 :            : /* 11 */ { 4, s_1_11, 10, 1},
     181                 :            : /* 12 */ { 6, s_1_12, -1, 1},
     182                 :            : /* 13 */ { 7, s_1_13, 12, 1},
     183                 :            : /* 14 */ { 4, s_1_14, -1, 2},
     184                 :            : /* 15 */ { 5, s_1_15, 14, 2}
     185                 :            : };
     186                 :            : 
     187                 :            : 
     188                 :            : static const struct among a_2[25] =
     189                 :            : {
     190                 :            : /*  0 */ { 9, s_2_0, -1, 6},
     191                 :            : /*  1 */ { 7, s_2_1, -1, 5},
     192                 :            : /*  2 */ { 5, s_2_2, -1, 1},
     193                 :            : /*  3 */ { 8, s_2_3, 2, 2},
     194                 :            : /*  4 */ { 6, s_2_4, 2, 1},
     195                 :            : /*  5 */ { 12, s_2_5, -1, 4},
     196                 :            : /*  6 */ { 5, s_2_6, -1, 5},
     197                 :            : /*  7 */ { 3, s_2_7, -1, 1},
     198                 :            : /*  8 */ { 4, s_2_8, 7, 1},
     199                 :            : /*  9 */ { 8, s_2_9, 8, 6},
     200                 :            : /* 10 */ { 7, s_2_10, 8, 3},
     201                 :            : /* 11 */ { 6, s_2_11, 7, 5},
     202                 :            : /* 12 */ { 10, s_2_12, -1, 4},
     203                 :            : /* 13 */ { 7, s_2_13, -1, 5},
     204                 :            : /* 14 */ { 7, s_2_14, -1, 6},
     205                 :            : /* 15 */ { 8, s_2_15, -1, 1},
     206                 :            : /* 16 */ { 9, s_2_16, 15, 1},
     207                 :            : /* 17 */ { 6, s_2_17, -1, 3},
     208                 :            : /* 18 */ { 5, s_2_18, -1, 3},
     209                 :            : /* 19 */ { 4, s_2_19, -1, 1},
     210                 :            : /* 20 */ { 7, s_2_20, 19, 2},
     211                 :            : /* 21 */ { 5, s_2_21, 19, 1},
     212                 :            : /* 22 */ { 11, s_2_22, -1, 4},
     213                 :            : /* 23 */ { 10, s_2_23, -1, 2},
     214                 :            : /* 24 */ { 14, s_2_24, -1, 4}
     215                 :            : };
     216                 :            : 
     217                 :            : 
     218                 :            : static const struct among a_3[12] =
     219                 :            : {
     220                 :            : /*  0 */ { 4, s_3_0, -1, 1},
     221                 :            : /*  1 */ { 5, s_3_1, 0, 1},
     222                 :            : /*  2 */ { 5, s_3_2, -1, 1},
     223                 :            : /*  3 */ { 6, s_3_3, 2, 1},
     224                 :            : /*  4 */ { 3, s_3_4, -1, 2},
     225                 :            : /*  5 */ { 4, s_3_5, 4, 2},
     226                 :            : /*  6 */ { 5, s_3_6, -1, 1},
     227                 :            : /*  7 */ { 4, s_3_7, -1, 1},
     228                 :            : /*  8 */ { 4, s_3_8, -1, 2},
     229                 :            : /*  9 */ { 3, s_3_9, -1, 2},
     230                 :            : /* 10 */ { 4, s_3_10, -1, 2},
     231                 :            : /* 11 */ { 3, s_3_11, -1, 2}
     232                 :            : };
     233                 :            : 
     234                 :            : static const unsigned char g_v[] = { 17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 17, 4, 2 };
     235                 :            : 
     236                 :            : static const symbol s_0[] = { 'f' };
     237                 :            : static const symbol s_1[] = { 's' };
     238                 :            : static const symbol s_2[] = { 'b' };
     239                 :            : static const symbol s_3[] = { 'c' };
     240                 :            : static const symbol s_4[] = { 'd' };
     241                 :            : static const symbol s_5[] = { 'g' };
     242                 :            : static const symbol s_6[] = { 'p' };
     243                 :            : static const symbol s_7[] = { 't' };
     244                 :            : static const symbol s_8[] = { 'm' };
     245                 :            : static const symbol s_9[] = { 'a', 'r', 'c' };
     246                 :            : static const symbol s_10[] = { 'g', 'i', 'n' };
     247                 :            : static const symbol s_11[] = { 'g', 'r', 'a', 'f' };
     248                 :            : static const symbol s_12[] = { 'p', 'a', 'i', 't', 'e' };
     249                 :            : static const symbol s_13[] = { 0xC3, 0xB3, 'i', 'd' };
     250                 :            : 
     251                 :     256896 : int Xapian::InternalStemIrish::r_mark_regions() { /* forwardmode */
     252                 :     256896 :     I_pV = l; /* $pV = <integer expression>, line 32 */
     253                 :     256896 :     I_p1 = l; /* $p1 = <integer expression>, line 33 */
     254                 :     256896 :     I_p2 = l; /* $p2 = <integer expression>, line 34 */
     255                 :     256896 :     {   int c1 = c; /* do, line 36 */
     256                 :            :         {    /* gopast */ /* grouping v, line 37 */
     257                 :     256896 :             int ret = out_grouping_U(g_v, 97, 250, 1);
     258         [ +  + ]:     256896 :             if (ret < 0) goto lab0;
     259                 :     246053 :             c += ret;
     260                 :            :         }
     261                 :     246053 :         I_pV = c; /* setmark pV, line 37 */
     262                 :            :     lab0:
     263                 :     256896 :         c = c1;
     264                 :            :     }
     265                 :     256896 :     {   int c2 = c; /* do, line 39 */
     266                 :            :         {    /* gopast */ /* grouping v, line 40 */
     267                 :     256896 :             int ret = out_grouping_U(g_v, 97, 250, 1);
     268         [ +  + ]:     256896 :             if (ret < 0) goto lab1;
     269                 :     246053 :             c += ret;
     270                 :            :         }
     271                 :            :         {    /* gopast */ /* non v, line 40 */
     272                 :     246053 :             int ret = in_grouping_U(g_v, 97, 250, 1);
     273         [ +  + ]:     246053 :             if (ret < 0) goto lab1;
     274                 :     242737 :             c += ret;
     275                 :            :         }
     276                 :     242737 :         I_p1 = c; /* setmark p1, line 40 */
     277                 :            :         {    /* gopast */ /* grouping v, line 41 */
     278                 :     242737 :             int ret = out_grouping_U(g_v, 97, 250, 1);
     279         [ +  + ]:     242737 :             if (ret < 0) goto lab1;
     280                 :     219205 :             c += ret;
     281                 :            :         }
     282                 :            :         {    /* gopast */ /* non v, line 41 */
     283                 :     219205 :             int ret = in_grouping_U(g_v, 97, 250, 1);
     284         [ +  + ]:     219205 :             if (ret < 0) goto lab1;
     285                 :     197926 :             c += ret;
     286                 :            :         }
     287                 :     197926 :         I_p2 = c; /* setmark p2, line 41 */
     288                 :            :     lab1:
     289                 :     256896 :         c = c2;
     290                 :            :     }
     291                 :     256896 :     return 1;
     292                 :            : }
     293                 :            : 
     294                 :     256896 : int Xapian::InternalStemIrish::r_initial_morph() { /* forwardmode */
     295                 :            :     int among_var;
     296                 :     256896 :     bra = c; /* [, line 46 */
     297                 :     256896 :     among_var = find_among(s_pool, a_0, 24, 0, 0); /* substring, line 46 */
     298         [ +  + ]:     256896 :     if (!(among_var)) return 0;
     299                 :      59478 :     ket = c; /* ], line 46 */
     300   [ -  +  +  +  :      59478 :     switch (among_var) { /* among, line 46 */
          +  +  +  +  +  
                   +  - ]
     301                 :            :         case 1:
     302         [ #  # ]:          0 :             if (slice_del() == -1) return -1; /* delete, line 48 */
     303                 :          0 :             break;
     304                 :            :         case 2:
     305                 :       6204 :             {   int ret = slice_from_s(1, s_0); /* <-, line 54 */
     306         [ -  + ]:       6204 :                 if (ret < 0) return ret;
     307                 :            :             }
     308                 :       6204 :             break;
     309                 :            :         case 3:
     310                 :       6202 :             {   int ret = slice_from_s(1, s_1); /* <-, line 60 */
     311         [ -  + ]:       6202 :                 if (ret < 0) return ret;
     312                 :            :             }
     313                 :       6202 :             break;
     314                 :            :         case 4:
     315                 :       7039 :             {   int ret = slice_from_s(1, s_2); /* <-, line 63 */
     316         [ -  + ]:       7039 :                 if (ret < 0) return ret;
     317                 :            :             }
     318                 :       7039 :             break;
     319                 :            :         case 5:
     320                 :      14694 :             {   int ret = slice_from_s(1, s_3); /* <-, line 65 */
     321         [ -  + ]:      14694 :                 if (ret < 0) return ret;
     322                 :            :             }
     323                 :      14694 :             break;
     324                 :            :         case 6:
     325                 :       5266 :             {   int ret = slice_from_s(1, s_4); /* <-, line 67 */
     326         [ -  + ]:       5266 :                 if (ret < 0) return ret;
     327                 :            :             }
     328                 :       5266 :             break;
     329                 :            :         case 7:
     330                 :       5351 :             {   int ret = slice_from_s(1, s_5); /* <-, line 71 */
     331         [ -  + ]:       5351 :                 if (ret < 0) return ret;
     332                 :            :             }
     333                 :       5351 :             break;
     334                 :            :         case 8:
     335                 :       4110 :             {   int ret = slice_from_s(1, s_6); /* <-, line 73 */
     336         [ -  + ]:       4110 :                 if (ret < 0) return ret;
     337                 :            :             }
     338                 :       4110 :             break;
     339                 :            :         case 9:
     340                 :       6497 :             {   int ret = slice_from_s(1, s_7); /* <-, line 77 */
     341         [ -  + ]:       6497 :                 if (ret < 0) return ret;
     342                 :            :             }
     343                 :       6497 :             break;
     344                 :            :         case 10:
     345                 :       4115 :             {   int ret = slice_from_s(1, s_8); /* <-, line 91 */
     346         [ -  + ]:       4115 :                 if (ret < 0) return ret;
     347                 :            :             }
     348                 :       4115 :             break;
     349                 :            :     }
     350                 :      59478 :     return 1;
     351                 :            : }
     352                 :            : 
     353                 :       1465 : int Xapian::InternalStemIrish::r_RV() { /* backwardmode */
     354         [ +  + ]:       1465 :     if (!(I_pV <= c)) return 0; /* $(<integer expression> <= <integer expression>), line 101 */
     355                 :       1445 :     return 1;
     356                 :            : }
     357                 :            : 
     358                 :      13778 : int Xapian::InternalStemIrish::r_R1() { /* backwardmode */
     359         [ +  + ]:      13778 :     if (!(I_p1 <= c)) return 0; /* $(<integer expression> <= <integer expression>), line 102 */
     360                 :      12947 :     return 1;
     361                 :            : }
     362                 :            : 
     363                 :      21594 : int Xapian::InternalStemIrish::r_R2() { /* backwardmode */
     364         [ +  + ]:      21594 :     if (!(I_p2 <= c)) return 0; /* $(<integer expression> <= <integer expression>), line 103 */
     365                 :      13618 :     return 1;
     366                 :            : }
     367                 :            : 
     368                 :     256896 : int Xapian::InternalStemIrish::r_noun_sfx() { /* backwardmode */
     369                 :            :     int among_var;
     370                 :     256896 :     ket = c; /* [, line 106 */
     371                 :     256896 :     among_var = find_among_b(s_pool, a_1, 16, 0, 0); /* substring, line 106 */
     372         [ +  + ]:     256896 :     if (!(among_var)) return 0;
     373                 :       8360 :     bra = c; /* ], line 106 */
     374      [ +  +  - ]:       8360 :     switch (among_var) { /* among, line 106 */
     375                 :            :         case 1:
     376                 :       4418 :             {   int ret = r_R1(); /* call R1, line 110 */
     377         [ +  + ]:       4418 :                 if (ret <= 0) return ret;
     378                 :            :             }
     379         [ -  + ]:       4078 :             if (slice_del() == -1) return -1; /* delete, line 110 */
     380                 :       4078 :             break;
     381                 :            :         case 2:
     382                 :       3942 :             {   int ret = r_R2(); /* call R2, line 112 */
     383         [ +  + ]:       3942 :                 if (ret <= 0) return ret;
     384                 :            :             }
     385         [ -  + ]:       1538 :             if (slice_del() == -1) return -1; /* delete, line 112 */
     386                 :       1538 :             break;
     387                 :            :     }
     388                 :       5616 :     return 1;
     389                 :            : }
     390                 :            : 
     391                 :     256896 : int Xapian::InternalStemIrish::r_deriv() { /* backwardmode */
     392                 :            :     int among_var;
     393                 :     256896 :     ket = c; /* [, line 116 */
     394                 :     256896 :     among_var = find_among_b(s_pool, a_2, 25, 0, 0); /* substring, line 116 */
     395         [ +  + ]:     256896 :     if (!(among_var)) return 0;
     396                 :      17850 :     bra = c; /* ], line 116 */
     397   [ +  +  +  +  :      17850 :     switch (among_var) { /* among, line 116 */
                +  +  - ]
     398                 :            :         case 1:
     399                 :      17652 :             {   int ret = r_R2(); /* call R2, line 118 */
     400         [ +  + ]:      17652 :                 if (ret <= 0) return ret;
     401                 :            :             }
     402         [ -  + ]:      12080 :             if (slice_del() == -1) return -1; /* delete, line 118 */
     403                 :      12080 :             break;
     404                 :            :         case 2:
     405                 :         11 :             {   int ret = slice_from_s(3, s_9); /* <-, line 120 */
     406         [ -  + ]:         11 :                 if (ret < 0) return ret;
     407                 :            :             }
     408                 :         11 :             break;
     409                 :            :         case 3:
     410                 :          5 :             {   int ret = slice_from_s(3, s_10); /* <-, line 122 */
     411         [ -  + ]:          5 :                 if (ret < 0) return ret;
     412                 :            :             }
     413                 :          5 :             break;
     414                 :            :         case 4:
     415                 :          6 :             {   int ret = slice_from_s(4, s_11); /* <-, line 124 */
     416         [ -  + ]:          6 :                 if (ret < 0) return ret;
     417                 :            :             }
     418                 :          6 :             break;
     419                 :            :         case 5:
     420                 :          7 :             {   int ret = slice_from_s(5, s_12); /* <-, line 126 */
     421         [ -  + ]:          7 :                 if (ret < 0) return ret;
     422                 :            :             }
     423                 :          7 :             break;
     424                 :            :         case 6:
     425                 :        169 :             {   int ret = slice_from_s(4, s_13); /* <-, line 128 */
     426         [ -  + ]:        169 :                 if (ret < 0) return ret;
     427                 :            :             }
     428                 :        169 :             break;
     429                 :            :     }
     430                 :      12278 :     return 1;
     431                 :            : }
     432                 :            : 
     433                 :     256896 : int Xapian::InternalStemIrish::r_verb_sfx() { /* backwardmode */
     434                 :            :     int among_var;
     435                 :     256896 :     ket = c; /* [, line 132 */
     436 [ +  + ][ +  + ]:     256896 :     if (c - 2 <= lb || p[c - 1] >> 5 != 3 || !((282896 >> (p[c - 1] & 0x1f)) & 1)) return 0; /* substring, line 132 */
                 [ +  + ]
     437                 :      89367 :     among_var = find_among_b(s_pool, a_3, 12, 0, 0);
     438         [ +  + ]:      89367 :     if (!(among_var)) return 0;
     439                 :      10825 :     bra = c; /* ], line 132 */
     440      [ +  +  - ]:      10825 :     switch (among_var) { /* among, line 132 */
     441                 :            :         case 1:
     442                 :       1465 :             {   int ret = r_RV(); /* call RV, line 135 */
     443         [ +  + ]:       1465 :                 if (ret <= 0) return ret;
     444                 :            :             }
     445         [ -  + ]:       1445 :             if (slice_del() == -1) return -1; /* delete, line 135 */
     446                 :       1445 :             break;
     447                 :            :         case 2:
     448                 :       9360 :             {   int ret = r_R1(); /* call R1, line 140 */
     449         [ +  + ]:       9360 :                 if (ret <= 0) return ret;
     450                 :            :             }
     451         [ -  + ]:       8869 :             if (slice_del() == -1) return -1; /* delete, line 140 */
     452                 :       8869 :             break;
     453                 :            :     }
     454                 :      10314 :     return 1;
     455                 :            : }
     456                 :            : 
     457                 :     256896 : int Xapian::InternalStemIrish::stem() { /* forwardmode */
     458                 :     256896 :     {   int c1 = c; /* do, line 146 */
     459                 :     256896 :         {   int ret = r_initial_morph(); /* call initial_morph, line 146 */
     460         [ +  + ]:     256896 :             if (ret == 0) goto lab0;
     461         [ -  + ]:      59478 :             if (ret < 0) return ret;
     462                 :            :         }
     463                 :            :     lab0:
     464                 :     256896 :         c = c1;
     465                 :            :     }
     466                 :            :     /* do, line 147 */
     467                 :     256896 :     {   int ret = r_mark_regions(); /* call mark_regions, line 147 */
     468         [ -  + ]:     256896 :         if (ret == 0) goto lab1;
     469         [ -  + ]:     256896 :         if (ret < 0) return ret;
     470                 :            :     }
     471                 :            : lab1:
     472                 :     256896 :     lb = c; c = l; /* backwards, line 148 */
     473                 :            : 
     474                 :     256896 :     {   int m2 = l - c; (void)m2; /* do, line 149 */
     475                 :     256896 :         {   int ret = r_noun_sfx(); /* call noun_sfx, line 149 */
     476         [ +  + ]:     256896 :             if (ret == 0) goto lab2;
     477         [ -  + ]:       5616 :             if (ret < 0) return ret;
     478                 :            :         }
     479                 :            :     lab2:
     480                 :     256896 :         c = l - m2;
     481                 :            :     }
     482                 :     256896 :     {   int m3 = l - c; (void)m3; /* do, line 150 */
     483                 :     256896 :         {   int ret = r_deriv(); /* call deriv, line 150 */
     484         [ +  + ]:     256896 :             if (ret == 0) goto lab3;
     485         [ -  + ]:      12278 :             if (ret < 0) return ret;
     486                 :            :         }
     487                 :            :     lab3:
     488                 :     256896 :         c = l - m3;
     489                 :            :     }
     490                 :     256896 :     {   int m4 = l - c; (void)m4; /* do, line 151 */
     491                 :     256896 :         {   int ret = r_verb_sfx(); /* call verb_sfx, line 151 */
     492         [ +  + ]:     256896 :             if (ret == 0) goto lab4;
     493         [ -  + ]:      10314 :             if (ret < 0) return ret;
     494                 :            :         }
     495                 :            :     lab4:
     496                 :     256896 :         c = l - m4;
     497                 :            :     }
     498                 :     256896 :     c = lb;
     499                 :     256896 :     return 1;
     500                 :            : }
     501                 :            : 
     502                 :          2 : Xapian::InternalStemIrish::InternalStemIrish()
     503                 :          2 :     : I_p2(0), I_p1(0), I_pV(0)
     504                 :            : {
     505                 :          2 : }
     506                 :            : 
     507                 :          6 : Xapian::InternalStemIrish::~InternalStemIrish()
     508                 :            : {
     509         [ -  + ]:          4 : }
     510                 :            : 
     511                 :            : std::string
     512                 :          1 : Xapian::InternalStemIrish::get_description() const
     513                 :            : {
     514         [ +  - ]:          1 :     return "irish";
     515                 :            : }

Generated by: LCOV version 1.11