LCOV - code coverage report
Current view: top level - languages - english.cc (source / functions) Hit Total Coverage
Test: Test Coverage for xapian-core r Lines: 462 474 97.5 %
Date: 2011-08-21 Functions: 19 22 86.4 %
Branches: 322 426 75.6 %

           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 "english.h"
       5                 :            : 
       6                 :            : static const symbol s_pool[] = {
       7                 :            : #define s_0_0 0
       8                 :            : 'a', 'r', 's', 'e', 'n',
       9                 :            : #define s_0_1 5
      10                 :            : 'c', 'o', 'm', 'm', 'u', 'n',
      11                 :            : #define s_0_2 11
      12                 :            : 'g', 'e', 'n', 'e', 'r',
      13                 :            : #define s_1_0 (s_1_1 + 2)
      14                 :            : #define s_1_1 16
      15                 :            : '\'', 's', '\'',
      16                 :            : #define s_1_2 s_1_1
      17                 :            : #define s_2_0 19
      18                 :            : 'i', 'e', 'd',
      19                 :            : #define s_2_1 (s_2_2 + 2)
      20                 :            : #define s_2_2 22
      21                 :            : 'i', 'e', 's',
      22                 :            : #define s_2_3 25
      23                 :            : 's', 's', 'e', 's',
      24                 :            : #define s_2_4 s_2_3
      25                 :            : #define s_2_5 29
      26                 :            : 'u', 's',
      27                 :            : #define s_3_1 31
      28                 :            : 'b', 'b',
      29                 :            : #define s_3_2 33
      30                 :            : 'd', 'd',
      31                 :            : #define s_3_3 35
      32                 :            : 'f', 'f',
      33                 :            : #define s_3_4 37
      34                 :            : 'g', 'g',
      35                 :            : #define s_3_5 39
      36                 :            : 'b', 'l',
      37                 :            : #define s_3_6 41
      38                 :            : 'm', 'm',
      39                 :            : #define s_3_7 43
      40                 :            : 'n', 'n',
      41                 :            : #define s_3_8 45
      42                 :            : 'p', 'p',
      43                 :            : #define s_3_9 47
      44                 :            : 'r', 'r',
      45                 :            : #define s_3_10 49
      46                 :            : 'a', 't',
      47                 :            : #define s_3_11 51
      48                 :            : 't', 't',
      49                 :            : #define s_3_12 53
      50                 :            : 'i', 'z',
      51                 :            : #define s_4_0 (s_4_1 + 1)
      52                 :            : #define s_4_1 s_4_4
      53                 :            : #define s_4_2 s_4_5
      54                 :            : #define s_4_3 (s_4_4 + 1)
      55                 :            : #define s_4_4 55
      56                 :            : 'e', 'e', 'd', 'l', 'y',
      57                 :            : #define s_4_5 60
      58                 :            : 'i', 'n', 'g', 'l', 'y',
      59                 :            : #define s_5_0 65
      60                 :            : 'a', 'n', 'c', 'i',
      61                 :            : #define s_5_1 69
      62                 :            : 'e', 'n', 'c', 'i',
      63                 :            : #define s_5_2 73
      64                 :            : 'o', 'g', 'i',
      65                 :            : #define s_5_3 (s_5_4 + 1)
      66                 :            : #define s_5_4 (s_5_5 + 1)
      67                 :            : #define s_5_5 76
      68                 :            : 'a', 'b', 'l', 'i',
      69                 :            : #define s_5_6 80
      70                 :            : 'a', 'l', 'l', 'i',
      71                 :            : #define s_5_7 84
      72                 :            : 'f', 'u', 'l', 'l', 'i',
      73                 :            : #define s_5_8 89
      74                 :            : 'l', 'e', 's', 's', 'l', 'i',
      75                 :            : #define s_5_9 95
      76                 :            : 'o', 'u', 's', 'l', 'i',
      77                 :            : #define s_5_10 100
      78                 :            : 'e', 'n', 't', 'l', 'i',
      79                 :            : #define s_5_11 105
      80                 :            : 'a', 'l', 'i', 't', 'i',
      81                 :            : #define s_5_12 110
      82                 :            : 'b', 'i', 'l', 'i', 't', 'i',
      83                 :            : #define s_5_13 116
      84                 :            : 'i', 'v', 'i', 't', 'i',
      85                 :            : #define s_5_14 (s_5_15 + 1)
      86                 :            : #define s_5_15 121
      87                 :            : 'a', 't', 'i', 'o', 'n', 'a', 'l',
      88                 :            : #define s_5_16 128
      89                 :            : 'a', 'l', 'i', 's', 'm',
      90                 :            : #define s_5_17 s_5_15
      91                 :            : #define s_5_18 133
      92                 :            : 'i', 'z', 'a', 't', 'i', 'o', 'n',
      93                 :            : #define s_5_19 140
      94                 :            : 'i', 'z', 'e', 'r',
      95                 :            : #define s_5_20 144
      96                 :            : 'a', 't', 'o', 'r',
      97                 :            : #define s_5_21 148
      98                 :            : 'i', 'v', 'e', 'n', 'e', 's', 's',
      99                 :            : #define s_5_22 155
     100                 :            : 'f', 'u', 'l', 'n', 'e', 's', 's',
     101                 :            : #define s_5_23 162
     102                 :            : 'o', 'u', 's', 'n', 'e', 's', 's',
     103                 :            : #define s_6_0 169
     104                 :            : 'i', 'c', 'a', 't', 'e',
     105                 :            : #define s_6_1 174
     106                 :            : 'a', 't', 'i', 'v', 'e',
     107                 :            : #define s_6_2 179
     108                 :            : 'a', 'l', 'i', 'z', 'e',
     109                 :            : #define s_6_3 184
     110                 :            : 'i', 'c', 'i', 't', 'i',
     111                 :            : #define s_6_4 189
     112                 :            : 'i', 'c', 'a', 'l',
     113                 :            : #define s_6_5 (s_6_6 + 1)
     114                 :            : #define s_6_6 193
     115                 :            : 'a', 't', 'i', 'o', 'n', 'a', 'l',
     116                 :            : #define s_6_7 200
     117                 :            : 'f', 'u', 'l',
     118                 :            : #define s_6_8 203
     119                 :            : 'n', 'e', 's', 's',
     120                 :            : #define s_7_0 207
     121                 :            : 'i', 'c',
     122                 :            : #define s_7_1 209
     123                 :            : 'a', 'n', 'c', 'e',
     124                 :            : #define s_7_2 213
     125                 :            : 'e', 'n', 'c', 'e',
     126                 :            : #define s_7_3 217
     127                 :            : 'a', 'b', 'l', 'e',
     128                 :            : #define s_7_4 221
     129                 :            : 'i', 'b', 'l', 'e',
     130                 :            : #define s_7_5 225
     131                 :            : 'a', 't', 'e',
     132                 :            : #define s_7_6 228
     133                 :            : 'i', 'v', 'e',
     134                 :            : #define s_7_7 231
     135                 :            : 'i', 'z', 'e',
     136                 :            : #define s_7_8 234
     137                 :            : 'i', 't', 'i',
     138                 :            : #define s_7_9 237
     139                 :            : 'a', 'l',
     140                 :            : #define s_7_10 239
     141                 :            : 'i', 's', 'm',
     142                 :            : #define s_7_11 242
     143                 :            : 'i', 'o', 'n',
     144                 :            : #define s_7_12 245
     145                 :            : 'e', 'r',
     146                 :            : #define s_7_13 247
     147                 :            : 'o', 'u', 's',
     148                 :            : #define s_7_14 250
     149                 :            : 'a', 'n', 't',
     150                 :            : #define s_7_15 (s_7_16 + 1)
     151                 :            : #define s_7_16 (s_7_17 + 1)
     152                 :            : #define s_7_17 253
     153                 :            : 'e', 'm', 'e', 'n', 't',
     154                 :            : #define s_8_0 258
     155                 :            : 'e',
     156                 :            : #define s_8_1 259
     157                 :            : 'l',
     158                 :            : #define s_9_0 260
     159                 :            : 's', 'u', 'c', 'c', 'e', 'e', 'd',
     160                 :            : #define s_9_1 267
     161                 :            : 'p', 'r', 'o', 'c', 'e', 'e', 'd',
     162                 :            : #define s_9_2 274
     163                 :            : 'e', 'x', 'c', 'e', 'e', 'd',
     164                 :            : #define s_9_3 280
     165                 :            : 'c', 'a', 'n', 'n', 'i', 'n', 'g',
     166                 :            : #define s_9_4 287
     167                 :            : 'i', 'n', 'n', 'i', 'n', 'g',
     168                 :            : #define s_9_5 293
     169                 :            : 'e', 'a', 'r', 'r', 'i', 'n', 'g',
     170                 :            : #define s_9_6 300
     171                 :            : 'h', 'e', 'r', 'r', 'i', 'n', 'g',
     172                 :            : #define s_9_7 307
     173                 :            : 'o', 'u', 't', 'i', 'n', 'g',
     174                 :            : #define s_10_0 313
     175                 :            : 'a', 'n', 'd', 'e', 's',
     176                 :            : #define s_10_1 318
     177                 :            : 'a', 't', 'l', 'a', 's',
     178                 :            : #define s_10_2 323
     179                 :            : 'b', 'i', 'a', 's',
     180                 :            : #define s_10_3 327
     181                 :            : 'c', 'o', 's', 'm', 'o', 's',
     182                 :            : #define s_10_4 333
     183                 :            : 'd', 'y', 'i', 'n', 'g',
     184                 :            : #define s_10_5 338
     185                 :            : 'e', 'a', 'r', 'l', 'y',
     186                 :            : #define s_10_6 343
     187                 :            : 'g', 'e', 'n', 't', 'l', 'y',
     188                 :            : #define s_10_7 349
     189                 :            : 'h', 'o', 'w', 'e',
     190                 :            : #define s_10_8 353
     191                 :            : 'i', 'd', 'l', 'y',
     192                 :            : #define s_10_9 357
     193                 :            : 'l', 'y', 'i', 'n', 'g',
     194                 :            : #define s_10_10 362
     195                 :            : 'n', 'e', 'w', 's',
     196                 :            : #define s_10_11 366
     197                 :            : 'o', 'n', 'l', 'y',
     198                 :            : #define s_10_12 370
     199                 :            : 's', 'i', 'n', 'g', 'l', 'y',
     200                 :            : #define s_10_13 376
     201                 :            : 's', 'k', 'i', 'e', 's',
     202                 :            : #define s_10_14 381
     203                 :            : 's', 'k', 'i', 's',
     204                 :            : #define s_10_15 385
     205                 :            : 's', 'k', 'y',
     206                 :            : #define s_10_16 388
     207                 :            : 't', 'y', 'i', 'n', 'g',
     208                 :            : #define s_10_17 393
     209                 :            : 'u', 'g', 'l', 'y',
     210                 :            : };
     211                 :            : 
     212                 :            : 
     213                 :            : static const struct among a_0[3] =
     214                 :            : {
     215                 :            : /*  0 */ { 5, s_0_0, -1, -1},
     216                 :            : /*  1 */ { 6, s_0_1, -1, -1},
     217                 :            : /*  2 */ { 5, s_0_2, -1, -1}
     218                 :            : };
     219                 :            : 
     220                 :            : 
     221                 :            : static const struct among a_1[3] =
     222                 :            : {
     223                 :            : /*  0 */ { 1, s_1_0, -1, 1},
     224                 :            : /*  1 */ { 3, s_1_1, 0, 1},
     225                 :            : /*  2 */ { 2, s_1_2, -1, 1}
     226                 :            : };
     227                 :            : 
     228                 :            : 
     229                 :            : static const struct among a_2[6] =
     230                 :            : {
     231                 :            : /*  0 */ { 3, s_2_0, -1, 2},
     232                 :            : /*  1 */ { 1, s_2_1, -1, 3},
     233                 :            : /*  2 */ { 3, s_2_2, 1, 2},
     234                 :            : /*  3 */ { 4, s_2_3, 1, 1},
     235                 :            : /*  4 */ { 2, s_2_4, 1, -1},
     236                 :            : /*  5 */ { 2, s_2_5, 1, -1}
     237                 :            : };
     238                 :            : 
     239                 :            : 
     240                 :            : static const struct among a_3[13] =
     241                 :            : {
     242                 :            : /*  0 */ { 0, 0, -1, 3},
     243                 :            : /*  1 */ { 2, s_3_1, 0, 2},
     244                 :            : /*  2 */ { 2, s_3_2, 0, 2},
     245                 :            : /*  3 */ { 2, s_3_3, 0, 2},
     246                 :            : /*  4 */ { 2, s_3_4, 0, 2},
     247                 :            : /*  5 */ { 2, s_3_5, 0, 1},
     248                 :            : /*  6 */ { 2, s_3_6, 0, 2},
     249                 :            : /*  7 */ { 2, s_3_7, 0, 2},
     250                 :            : /*  8 */ { 2, s_3_8, 0, 2},
     251                 :            : /*  9 */ { 2, s_3_9, 0, 2},
     252                 :            : /* 10 */ { 2, s_3_10, 0, 1},
     253                 :            : /* 11 */ { 2, s_3_11, 0, 2},
     254                 :            : /* 12 */ { 2, s_3_12, 0, 1}
     255                 :            : };
     256                 :            : 
     257                 :            : 
     258                 :            : static const struct among a_4[6] =
     259                 :            : {
     260                 :            : /*  0 */ { 2, s_4_0, -1, 2},
     261                 :            : /*  1 */ { 3, s_4_1, 0, 1},
     262                 :            : /*  2 */ { 3, s_4_2, -1, 2},
     263                 :            : /*  3 */ { 4, s_4_3, -1, 2},
     264                 :            : /*  4 */ { 5, s_4_4, 3, 1},
     265                 :            : /*  5 */ { 5, s_4_5, -1, 2}
     266                 :            : };
     267                 :            : 
     268                 :            : 
     269                 :            : static const struct among a_5[24] =
     270                 :            : {
     271                 :            : /*  0 */ { 4, s_5_0, -1, 3},
     272                 :            : /*  1 */ { 4, s_5_1, -1, 2},
     273                 :            : /*  2 */ { 3, s_5_2, -1, 13},
     274                 :            : /*  3 */ { 2, s_5_3, -1, 16},
     275                 :            : /*  4 */ { 3, s_5_4, 3, 12},
     276                 :            : /*  5 */ { 4, s_5_5, 4, 4},
     277                 :            : /*  6 */ { 4, s_5_6, 3, 8},
     278                 :            : /*  7 */ { 5, s_5_7, 3, 14},
     279                 :            : /*  8 */ { 6, s_5_8, 3, 15},
     280                 :            : /*  9 */ { 5, s_5_9, 3, 10},
     281                 :            : /* 10 */ { 5, s_5_10, 3, 5},
     282                 :            : /* 11 */ { 5, s_5_11, -1, 8},
     283                 :            : /* 12 */ { 6, s_5_12, -1, 12},
     284                 :            : /* 13 */ { 5, s_5_13, -1, 11},
     285                 :            : /* 14 */ { 6, s_5_14, -1, 1},
     286                 :            : /* 15 */ { 7, s_5_15, 14, 7},
     287                 :            : /* 16 */ { 5, s_5_16, -1, 8},
     288                 :            : /* 17 */ { 5, s_5_17, -1, 7},
     289                 :            : /* 18 */ { 7, s_5_18, 17, 6},
     290                 :            : /* 19 */ { 4, s_5_19, -1, 6},
     291                 :            : /* 20 */ { 4, s_5_20, -1, 7},
     292                 :            : /* 21 */ { 7, s_5_21, -1, 11},
     293                 :            : /* 22 */ { 7, s_5_22, -1, 9},
     294                 :            : /* 23 */ { 7, s_5_23, -1, 10}
     295                 :            : };
     296                 :            : 
     297                 :            : 
     298                 :            : static const struct among a_6[9] =
     299                 :            : {
     300                 :            : /*  0 */ { 5, s_6_0, -1, 4},
     301                 :            : /*  1 */ { 5, s_6_1, -1, 6},
     302                 :            : /*  2 */ { 5, s_6_2, -1, 3},
     303                 :            : /*  3 */ { 5, s_6_3, -1, 4},
     304                 :            : /*  4 */ { 4, s_6_4, -1, 4},
     305                 :            : /*  5 */ { 6, s_6_5, -1, 1},
     306                 :            : /*  6 */ { 7, s_6_6, 5, 2},
     307                 :            : /*  7 */ { 3, s_6_7, -1, 5},
     308                 :            : /*  8 */ { 4, s_6_8, -1, 5}
     309                 :            : };
     310                 :            : 
     311                 :            : 
     312                 :            : static const struct among a_7[18] =
     313                 :            : {
     314                 :            : /*  0 */ { 2, s_7_0, -1, 1},
     315                 :            : /*  1 */ { 4, s_7_1, -1, 1},
     316                 :            : /*  2 */ { 4, s_7_2, -1, 1},
     317                 :            : /*  3 */ { 4, s_7_3, -1, 1},
     318                 :            : /*  4 */ { 4, s_7_4, -1, 1},
     319                 :            : /*  5 */ { 3, s_7_5, -1, 1},
     320                 :            : /*  6 */ { 3, s_7_6, -1, 1},
     321                 :            : /*  7 */ { 3, s_7_7, -1, 1},
     322                 :            : /*  8 */ { 3, s_7_8, -1, 1},
     323                 :            : /*  9 */ { 2, s_7_9, -1, 1},
     324                 :            : /* 10 */ { 3, s_7_10, -1, 1},
     325                 :            : /* 11 */ { 3, s_7_11, -1, 2},
     326                 :            : /* 12 */ { 2, s_7_12, -1, 1},
     327                 :            : /* 13 */ { 3, s_7_13, -1, 1},
     328                 :            : /* 14 */ { 3, s_7_14, -1, 1},
     329                 :            : /* 15 */ { 3, s_7_15, -1, 1},
     330                 :            : /* 16 */ { 4, s_7_16, 15, 1},
     331                 :            : /* 17 */ { 5, s_7_17, 16, 1}
     332                 :            : };
     333                 :            : 
     334                 :            : 
     335                 :            : static const struct among a_8[2] =
     336                 :            : {
     337                 :            : /*  0 */ { 1, s_8_0, -1, 1},
     338                 :            : /*  1 */ { 1, s_8_1, -1, 2}
     339                 :            : };
     340                 :            : 
     341                 :            : 
     342                 :            : static const struct among a_9[8] =
     343                 :            : {
     344                 :            : /*  0 */ { 7, s_9_0, -1, -1},
     345                 :            : /*  1 */ { 7, s_9_1, -1, -1},
     346                 :            : /*  2 */ { 6, s_9_2, -1, -1},
     347                 :            : /*  3 */ { 7, s_9_3, -1, -1},
     348                 :            : /*  4 */ { 6, s_9_4, -1, -1},
     349                 :            : /*  5 */ { 7, s_9_5, -1, -1},
     350                 :            : /*  6 */ { 7, s_9_6, -1, -1},
     351                 :            : /*  7 */ { 6, s_9_7, -1, -1}
     352                 :            : };
     353                 :            : 
     354                 :            : 
     355                 :            : static const struct among a_10[18] =
     356                 :            : {
     357                 :            : /*  0 */ { 5, s_10_0, -1, -1},
     358                 :            : /*  1 */ { 5, s_10_1, -1, -1},
     359                 :            : /*  2 */ { 4, s_10_2, -1, -1},
     360                 :            : /*  3 */ { 6, s_10_3, -1, -1},
     361                 :            : /*  4 */ { 5, s_10_4, -1, 3},
     362                 :            : /*  5 */ { 5, s_10_5, -1, 9},
     363                 :            : /*  6 */ { 6, s_10_6, -1, 7},
     364                 :            : /*  7 */ { 4, s_10_7, -1, -1},
     365                 :            : /*  8 */ { 4, s_10_8, -1, 6},
     366                 :            : /*  9 */ { 5, s_10_9, -1, 4},
     367                 :            : /* 10 */ { 4, s_10_10, -1, -1},
     368                 :            : /* 11 */ { 4, s_10_11, -1, 10},
     369                 :            : /* 12 */ { 6, s_10_12, -1, 11},
     370                 :            : /* 13 */ { 5, s_10_13, -1, 2},
     371                 :            : /* 14 */ { 4, s_10_14, -1, 1},
     372                 :            : /* 15 */ { 3, s_10_15, -1, -1},
     373                 :            : /* 16 */ { 5, s_10_16, -1, 5},
     374                 :            : /* 17 */ { 4, s_10_17, -1, 8}
     375                 :            : };
     376                 :            : 
     377                 :            : static const unsigned char g_v[] = { 17, 65, 16, 1 };
     378                 :            : 
     379                 :            : static const unsigned char g_v_WXY[] = { 1, 17, 65, 208, 1 };
     380                 :            : 
     381                 :            : static const unsigned char g_valid_LI[] = { 55, 141, 2 };
     382                 :            : 
     383                 :            : static const symbol s_0[] = { 'Y' };
     384                 :            : static const symbol s_1[] = { 'Y' };
     385                 :            : static const symbol s_2[] = { 's', 's' };
     386                 :            : static const symbol s_3[] = { 'i' };
     387                 :            : static const symbol s_4[] = { 'i', 'e' };
     388                 :            : static const symbol s_5[] = { 'e', 'e' };
     389                 :            : static const symbol s_6[] = { 'e' };
     390                 :            : static const symbol s_7[] = { 'e' };
     391                 :            : static const symbol s_8[] = { 'i' };
     392                 :            : static const symbol s_9[] = { 't', 'i', 'o', 'n' };
     393                 :            : static const symbol s_10[] = { 'e', 'n', 'c', 'e' };
     394                 :            : static const symbol s_11[] = { 'a', 'n', 'c', 'e' };
     395                 :            : static const symbol s_12[] = { 'a', 'b', 'l', 'e' };
     396                 :            : static const symbol s_13[] = { 'e', 'n', 't' };
     397                 :            : static const symbol s_14[] = { 'i', 'z', 'e' };
     398                 :            : static const symbol s_15[] = { 'a', 't', 'e' };
     399                 :            : static const symbol s_16[] = { 'a', 'l' };
     400                 :            : static const symbol s_17[] = { 'f', 'u', 'l' };
     401                 :            : static const symbol s_18[] = { 'o', 'u', 's' };
     402                 :            : static const symbol s_19[] = { 'i', 'v', 'e' };
     403                 :            : static const symbol s_20[] = { 'b', 'l', 'e' };
     404                 :            : static const symbol s_21[] = { 'o', 'g' };
     405                 :            : static const symbol s_22[] = { 'f', 'u', 'l' };
     406                 :            : static const symbol s_23[] = { 'l', 'e', 's', 's' };
     407                 :            : static const symbol s_24[] = { 't', 'i', 'o', 'n' };
     408                 :            : static const symbol s_25[] = { 'a', 't', 'e' };
     409                 :            : static const symbol s_26[] = { 'a', 'l' };
     410                 :            : static const symbol s_27[] = { 'i', 'c' };
     411                 :            : static const symbol s_28[] = { 's', 'k', 'i' };
     412                 :            : static const symbol s_29[] = { 's', 'k', 'y' };
     413                 :            : static const symbol s_30[] = { 'd', 'i', 'e' };
     414                 :            : static const symbol s_31[] = { 'l', 'i', 'e' };
     415                 :            : static const symbol s_32[] = { 't', 'i', 'e' };
     416                 :            : static const symbol s_33[] = { 'i', 'd', 'l' };
     417                 :            : static const symbol s_34[] = { 'g', 'e', 'n', 't', 'l' };
     418                 :            : static const symbol s_35[] = { 'u', 'g', 'l', 'i' };
     419                 :            : static const symbol s_36[] = { 'e', 'a', 'r', 'l', 'i' };
     420                 :            : static const symbol s_37[] = { 'o', 'n', 'l', 'i' };
     421                 :            : static const symbol s_38[] = { 's', 'i', 'n', 'g', 'l' };
     422                 :            : static const symbol s_39[] = { 'y' };
     423                 :            : 
     424                 :    1114530 : int Xapian::InternalStemEnglish::r_prelude() { /* forwardmode */
     425                 :    1114530 :     B_Y_found = 0; /* unset Y_found, line 26 */
     426                 :    1114530 :     {   int c1 = c; /* do, line 27 */
     427                 :    1114530 :         bra = c; /* [, line 27 */
     428 [ +  - ][ +  + ]:    1114530 :         if (c == l || p[c] != 39) goto lab0;
     429                 :         44 :         c++;
     430                 :         44 :         ket = c; /* ], line 27 */
     431         [ -  + ]:         44 :         if (slice_del() == -1) return -1; /* delete, line 27 */
     432                 :            :     lab0:
     433                 :    1114530 :         c = c1;
     434                 :            :     }
     435                 :    1114530 :     {   int c2 = c; /* do, line 28 */
     436                 :    1114530 :         bra = c; /* [, line 28 */
     437 [ +  - ][ +  + ]:    1114530 :         if (c == l || p[c] != 'y') goto lab1;
     438                 :      12674 :         c++;
     439                 :      12674 :         ket = c; /* ], line 28 */
     440                 :      12674 :         {   int ret = slice_from_s(1, s_0); /* <-, line 28 */
     441         [ -  + ]:      12674 :             if (ret < 0) return ret;
     442                 :            :         }
     443                 :      12674 :         B_Y_found = 1; /* set Y_found, line 28 */
     444                 :            :     lab1:
     445                 :    1114530 :         c = c2;
     446                 :            :     }
     447                 :    1114530 :     {   int c3 = c; /* do, line 29 */
     448                 :      34177 :         while(1) { /* repeat, line 29 */
     449                 :    1148707 :             int c4 = c;
     450                 :    9677311 :             while(1) { /* goto, line 29 */
     451                 :   10826018 :                 int c5 = c;
     452         [ +  + ]:   10826018 :                 if (in_grouping_U(g_v, 97, 121, 0)) goto lab4; /* grouping v, line 29 */
     453                 :    2583760 :                 bra = c; /* [, line 29 */
     454 [ +  + ][ +  + ]:    2583760 :                 if (c == l || p[c] != 'y') goto lab4;
     455                 :      34177 :                 c++;
     456                 :      34177 :                 ket = c; /* ], line 29 */
     457                 :      34177 :                 c = c5;
     458                 :            :                 break;
     459                 :            :             lab4:
     460                 :   10791841 :                 c = c5;
     461                 :   10791841 :                 {   int ret = skip_utf8(p, c, 0, l, 1);
     462         [ +  + ]:   10791841 :                     if (ret < 0) goto lab3;
     463                 :    9677311 :                     c = ret; /* goto, line 29 */
     464                 :            :                 }
     465                 :            :             }
     466                 :      34177 :             {   int ret = slice_from_s(1, s_1); /* <-, line 29 */
     467         [ -  + ]:      34177 :                 if (ret < 0) return ret;
     468                 :            :             }
     469                 :      34177 :             B_Y_found = 1; /* set Y_found, line 29 */
     470                 :      34177 :             continue;
     471                 :            :         lab3:
     472                 :    1114530 :             c = c4;
     473                 :            :             break;
     474                 :            :         }
     475                 :    1114530 :         c = c3;
     476                 :            :     }
     477                 :    1114530 :     return 1;
     478                 :            : }
     479                 :            : 
     480                 :    1114530 : int Xapian::InternalStemEnglish::r_mark_regions() { /* forwardmode */
     481                 :    1114530 :     I_p1 = l; /* p1 = <integer expression>, line 33 */
     482                 :    1114530 :     I_p2 = l; /* p2 = <integer expression>, line 34 */
     483                 :    1114530 :     {   int c1 = c; /* do, line 35 */
     484                 :    1114530 :         {   int c2 = c; /* or, line 41 */
     485 [ +  + ][ +  + ]:    1114530 :             if (c + 4 >= l || p[c + 4] >> 5 != 3 || !((2375680 >> (p[c + 4] & 0x1f)) & 1)) goto lab2; /* among, line 36 */
                 [ +  + ]
     486         [ +  + ]:     106039 :             if (!(find_among(s_pool, a_0, 3, 0, 0))) goto lab2;
     487                 :       1362 :             goto lab1;
     488                 :            :         lab2:
     489                 :    1113168 :             c = c2;
     490                 :    1113168 :             {   int ret = out_grouping_U(g_v, 97, 121, 1); /* gopast */ /* grouping v, line 41 */
     491         [ +  + ]:    1113168 :                 if (ret < 0) goto lab0;
     492                 :    1096315 :                 c += ret;
     493                 :            :             }
     494                 :    1096315 :             {   int ret = in_grouping_U(g_v, 97, 121, 1); /* gopast */ /* non v, line 41 */
     495         [ +  + ]:    1096315 :                 if (ret < 0) goto lab0;
     496                 :    1015419 :                 c += ret;
     497                 :            :             }
     498                 :            :         }
     499                 :            :     lab1:
     500                 :    1016781 :         I_p1 = c; /* setmark p1, line 42 */
     501                 :    1016781 :         {   int ret = out_grouping_U(g_v, 97, 121, 1); /* gopast */ /* grouping v, line 43 */
     502         [ +  + ]:    1016781 :             if (ret < 0) goto lab0;
     503                 :     602336 :             c += ret;
     504                 :            :         }
     505                 :     602336 :         {   int ret = in_grouping_U(g_v, 97, 121, 1); /* gopast */ /* non v, line 43 */
     506         [ +  + ]:     602336 :             if (ret < 0) goto lab0;
     507                 :     474150 :             c += ret;
     508                 :            :         }
     509                 :     474150 :         I_p2 = c; /* setmark p2, line 43 */
     510                 :            :     lab0:
     511                 :    1114530 :         c = c1;
     512                 :            :     }
     513                 :    1114530 :     return 1;
     514                 :            : }
     515                 :            : 
     516                 :     125387 : int Xapian::InternalStemEnglish::r_shortv() { /* backwardmode */
     517                 :     125387 :     {   int m1 = l - c; (void)m1; /* or, line 51 */
     518         [ +  + ]:     125387 :         if (out_grouping_b_U(g_v_WXY, 89, 121, 0)) goto lab1; /* non v_WXY, line 50 */
     519         [ +  + ]:     120624 :         if (in_grouping_b_U(g_v, 97, 121, 0)) goto lab1; /* grouping v, line 50 */
     520         [ +  + ]:      96653 :         if (out_grouping_b_U(g_v, 97, 121, 0)) goto lab1; /* non v, line 50 */
     521                 :      74298 :         goto lab0;
     522                 :            :     lab1:
     523                 :      51089 :         c = l - m1;
     524         [ +  + ]:      51089 :         if (out_grouping_b_U(g_v, 97, 121, 0)) return 0; /* non v, line 52 */
     525         [ +  + ]:      49063 :         if (in_grouping_b_U(g_v, 97, 121, 0)) return 0; /* grouping v, line 52 */
     526         [ +  + ]:      25054 :         if (c > lb) return 0; /* atlimit, line 52 */
     527                 :            :     }
     528                 :            : lab0:
     529                 :     125387 :     return 1;
     530                 :            : }
     531                 :            : 
     532                 :     214923 : int Xapian::InternalStemEnglish::r_R1() { /* backwardmode */
     533         [ +  + ]:     214923 :     if (!(I_p1 <= c)) return 0; /* p1 <= <integer expression>, line 55 */
     534                 :     214923 :     return 1;
     535                 :            : }
     536                 :            : 
     537                 :     412476 : int Xapian::InternalStemEnglish::r_R2() { /* backwardmode */
     538         [ +  + ]:     412476 :     if (!(I_p2 <= c)) return 0; /* p2 <= <integer expression>, line 56 */
     539                 :     412476 :     return 1;
     540                 :            : }
     541                 :            : 
     542                 :    1114530 : int Xapian::InternalStemEnglish::r_Step_1a() { /* backwardmode */
     543                 :            :     int among_var;
     544                 :    1114530 :     {   int m1 = l - c; (void)m1; /* try, line 59 */
     545                 :    1114530 :         ket = c; /* [, line 60 */
     546 [ +  - ][ +  + ]:    1114530 :         if (c <= lb || (p[c - 1] != 39 && p[c - 1] != 115)) { c = l - m1; goto lab0; } /* substring, line 60 */
                 [ +  + ]
     547                 :     153604 :         among_var = find_among_b(s_pool, a_1, 3, 0, 0);
     548         [ +  + ]:     153604 :         if (!(among_var)) { c = l - m1; goto lab0; }
     549                 :         47 :         bra = c; /* ], line 60 */
     550      [ -  +  - ]:         47 :         switch(among_var) { /* among, line 60 */
     551                 :          0 :             case 0: { c = l - m1; goto lab0; }
     552                 :            :             case 1:
     553         [ -  + ]:         47 :                 if (slice_del() == -1) return -1; /* delete, line 62 */
     554                 :            :                 break;
     555                 :            :         }
     556                 :            :     lab0:
     557                 :            :         ;
     558                 :            :     }
     559                 :    1114530 :     ket = c; /* [, line 65 */
     560 [ +  - ][ +  + ]:    1114530 :     if (c <= lb || (p[c - 1] != 100 && p[c - 1] != 115)) return 0; /* substring, line 65 */
                 [ +  + ]
     561                 :     276931 :     among_var = find_among_b(s_pool, a_2, 6, 0, 0);
     562         [ +  + ]:     276931 :     if (!(among_var)) return 0;
     563                 :     155085 :     bra = c; /* ], line 65 */
     564   [ -  +  +  +  :     155085 :     switch(among_var) { /* among, line 65 */
                      + ]
     565                 :          0 :         case 0: return 0;
     566                 :            :         case 1:
     567                 :        736 :             {   int ret = slice_from_s(2, s_2); /* <-, line 66 */
     568         [ -  + ]:        736 :                 if (ret < 0) return ret;
     569                 :            :             }
     570                 :        736 :             break;
     571                 :            :         case 2:
     572                 :       6949 :             {   int m2 = l - c; (void)m2; /* or, line 68 */
     573                 :       6949 :                 {   int ret = skip_utf8(p, c, lb, l, - 2); /* hop, line 68 */
     574         [ +  + ]:       6949 :                     if (ret < 0) goto lab2;
     575                 :       6388 :                     c = ret;
     576                 :            :                 }
     577                 :       6388 :                 {   int ret = slice_from_s(1, s_3); /* <-, line 68 */
     578         [ -  + ]:       6388 :                     if (ret < 0) return ret;
     579                 :            :                 }
     580                 :       6388 :                 goto lab1;
     581                 :            :             lab2:
     582                 :        561 :                 c = l - m2;
     583                 :        561 :                 {   int ret = slice_from_s(2, s_4); /* <-, line 68 */
     584         [ -  + ]:        561 :                     if (ret < 0) return ret;
     585                 :            :                 }
     586                 :            :             }
     587                 :            :         lab1:
     588                 :       6949 :             break;
     589                 :            :         case 3:
     590                 :     134037 :             {   int ret = skip_utf8(p, c, lb, 0, -1);
     591         [ +  + ]:     134037 :                 if (ret < 0) return 0;
     592                 :     134036 :                 c = ret; /* next, line 69 */
     593                 :            :             }
     594                 :     134036 :             {   int ret = out_grouping_b_U(g_v, 97, 121, 1); /* gopast */ /* grouping v, line 69 */
     595         [ +  + ]:     134036 :                 if (ret < 0) return 0;
     596                 :      86385 :                 c -= ret;
     597                 :            :             }
     598         [ -  + ]:      86385 :             if (slice_del() == -1) return -1; /* delete, line 69 */
     599                 :            :             break;
     600                 :            :     }
     601                 :    1114530 :     return 1;
     602                 :            : }
     603                 :            : 
     604                 :    1114310 : int Xapian::InternalStemEnglish::r_Step_1b() { /* backwardmode */
     605                 :            :     int among_var;
     606                 :    1114310 :     ket = c; /* [, line 75 */
     607 [ +  + ][ +  + ]:    1114310 :     if (c - 1 <= lb || p[c - 1] >> 5 != 3 || !((33554576 >> (p[c - 1] & 0x1f)) & 1)) return 0; /* substring, line 75 */
                 [ +  + ]
     608                 :     233585 :     among_var = find_among_b(s_pool, a_4, 6, 0, 0);
     609         [ +  + ]:     233585 :     if (!(among_var)) return 0;
     610                 :      70764 :     bra = c; /* ], line 75 */
     611   [ -  +  +  - ]:      70764 :     switch(among_var) { /* among, line 75 */
     612                 :          0 :         case 0: return 0;
     613                 :            :         case 1:
     614                 :       1308 :             {   int ret = r_R1(); /* call R1, line 77 */
     615         [ +  + ]:       1308 :                 if (ret <= 0) return ret;
     616                 :            :             }
     617                 :        809 :             {   int ret = slice_from_s(2, s_5); /* <-, line 77 */
     618         [ -  + ]:        809 :                 if (ret < 0) return ret;
     619                 :            :             }
     620                 :        809 :             break;
     621                 :            :         case 2:
     622                 :      69456 :             {   int m_test1 = l - c; /* test, line 80 */
     623                 :      69456 :                 {   int ret = out_grouping_b_U(g_v, 97, 121, 1); /* gopast */ /* grouping v, line 80 */
     624         [ +  + ]:      69456 :                     if (ret < 0) return 0;
     625                 :      63362 :                     c -= ret;
     626                 :            :                 }
     627                 :      63362 :                 c = l - m_test1;
     628                 :            :             }
     629         [ -  + ]:      63362 :             if (slice_del() == -1) return -1; /* delete, line 80 */
     630                 :      63362 :             {   int m_test2 = l - c; /* test, line 81 */
     631 [ +  - ][ +  + ]:      63362 :                 if (c - 1 <= lb || p[c - 1] >> 5 != 3 || !((68514004 >> (p[c - 1] & 0x1f)) & 1)) among_var = 3; else /* substring, line 81 */
                 [ +  + ]
     632                 :      40237 :                 among_var = find_among_b(s_pool, a_3, 13, 0, 0);
     633         [ -  + ]:      63362 :                 if (!(among_var)) return 0;
     634                 :      63362 :                 c = l - m_test2;
     635                 :            :             }
     636   [ -  +  +  +  :      63362 :             switch(among_var) { /* among, line 81 */
                      - ]
     637                 :          0 :                 case 0: return 0;
     638                 :            :                 case 1:
     639                 :       2806 :                     {   int saved_c = c;
     640                 :       2806 :                         insert_s(c, c, 1, s_6); /* <+, line 83 */
     641                 :       2806 :                         c = saved_c;
     642                 :            :                     }
     643                 :       2806 :                     break;
     644                 :            :                 case 2:
     645                 :       3482 :                     ket = c; /* [, line 86 */
     646                 :       3482 :                     {   int ret = skip_utf8(p, c, lb, 0, -1);
     647         [ -  + ]:       3482 :                         if (ret < 0) return 0;
     648                 :       3482 :                         c = ret; /* next, line 86 */
     649                 :            :                     }
     650                 :       3482 :                     bra = c; /* ], line 86 */
     651         [ -  + ]:       3482 :                     if (slice_del() == -1) return -1; /* delete, line 86 */
     652                 :       3482 :                     break;
     653                 :            :                 case 3:
     654         [ +  + ]:      57074 :                     if (c != I_p1) return 0; /* atmark, line 87 */
     655                 :      11766 :                     {   int m_test3 = l - c; /* test, line 87 */
     656                 :      11766 :                         {   int ret = r_shortv(); /* call shortv, line 87 */
     657         [ +  + ]:      11766 :                             if (ret <= 0) return ret;
     658                 :            :                         }
     659                 :       5745 :                         c = l - m_test3;
     660                 :            :                     }
     661                 :       5745 :                     {   int saved_c = c;
     662                 :       5745 :                         insert_s(c, c, 1, s_7); /* <+, line 87 */
     663                 :       5745 :                         c = saved_c;
     664                 :            :                     }
     665                 :            :                     break;
     666                 :            :             }
     667                 :            :             break;
     668                 :            :     }
     669                 :    1114310 :     return 1;
     670                 :            : }
     671                 :            : 
     672                 :    1114310 : int Xapian::InternalStemEnglish::r_Step_1c() { /* backwardmode */
     673                 :    1114310 :     ket = c; /* [, line 94 */
     674                 :    1114310 :     {   int m1 = l - c; (void)m1; /* or, line 94 */
     675 [ +  - ][ +  + ]:    1114310 :         if (c <= lb || p[c - 1] != 'y') goto lab1;
     676                 :      53854 :         c--;
     677                 :      53854 :         goto lab0;
     678                 :            :     lab1:
     679                 :    1060456 :         c = l - m1;
     680 [ +  - ][ +  + ]:    1060456 :         if (c <= lb || p[c - 1] != 'Y') return 0;
     681                 :      19442 :         c--;
     682                 :            :     }
     683                 :            : lab0:
     684                 :      73296 :     bra = c; /* ], line 94 */
     685         [ +  + ]:      73296 :     if (out_grouping_b_U(g_v, 97, 121, 0)) return 0; /* non v, line 95 */
     686                 :      53886 :     {   int m2 = l - c; (void)m2; /* not, line 95 */
     687         [ +  + ]:      53886 :         if (c > lb) goto lab2; /* atlimit, line 95 */
     688                 :          1 :         return 0;
     689                 :            :     lab2:
     690                 :      53885 :         c = l - m2;
     691                 :            :     }
     692                 :      53885 :     {   int ret = slice_from_s(1, s_8); /* <-, line 96 */
     693         [ -  + ]:      53885 :         if (ret < 0) return ret;
     694                 :            :     }
     695                 :    1114310 :     return 1;
     696                 :            : }
     697                 :            : 
     698                 :    1114310 : int Xapian::InternalStemEnglish::r_Step_2() { /* backwardmode */
     699                 :            :     int among_var;
     700                 :    1114310 :     ket = c; /* [, line 100 */
     701 [ +  + ][ +  + ]:    1114310 :     if (c - 1 <= lb || p[c - 1] >> 5 != 3 || !((815616 >> (p[c - 1] & 0x1f)) & 1)) return 0; /* substring, line 100 */
                 [ +  + ]
     702                 :     404438 :     among_var = find_among_b(s_pool, a_5, 24, 0, 0);
     703         [ +  + ]:     404438 :     if (!(among_var)) return 0;
     704                 :      26522 :     bra = c; /* ], line 100 */
     705                 :      26522 :     {   int ret = r_R1(); /* call R1, line 100 */
     706         [ +  + ]:      26522 :         if (ret <= 0) return ret;
     707                 :            :     }
     708 [ -  +  +  +  + :      23747 :     switch(among_var) { /* among, line 100 */
          +  +  +  +  +  
          +  +  +  +  +  
                +  +  - ]
     709                 :          0 :         case 0: return 0;
     710                 :            :         case 1:
     711                 :        164 :             {   int ret = slice_from_s(4, s_9); /* <-, line 101 */
     712         [ -  + ]:        164 :                 if (ret < 0) return ret;
     713                 :            :             }
     714                 :        164 :             break;
     715                 :            :         case 2:
     716                 :       1449 :             {   int ret = slice_from_s(4, s_10); /* <-, line 102 */
     717         [ -  + ]:       1449 :                 if (ret < 0) return ret;
     718                 :            :             }
     719                 :       1449 :             break;
     720                 :            :         case 3:
     721                 :         76 :             {   int ret = slice_from_s(4, s_11); /* <-, line 103 */
     722         [ -  + ]:         76 :                 if (ret < 0) return ret;
     723                 :            :             }
     724                 :         76 :             break;
     725                 :            :         case 4:
     726                 :        830 :             {   int ret = slice_from_s(4, s_12); /* <-, line 104 */
     727         [ -  + ]:        830 :                 if (ret < 0) return ret;
     728                 :            :             }
     729                 :        830 :             break;
     730                 :            :         case 5:
     731                 :        729 :             {   int ret = slice_from_s(3, s_13); /* <-, line 105 */
     732         [ -  + ]:        729 :                 if (ret < 0) return ret;
     733                 :            :             }
     734                 :        729 :             break;
     735                 :            :         case 6:
     736                 :          7 :             {   int ret = slice_from_s(3, s_14); /* <-, line 107 */
     737         [ -  + ]:          7 :                 if (ret < 0) return ret;
     738                 :            :             }
     739                 :          7 :             break;
     740                 :            :         case 7:
     741                 :       4435 :             {   int ret = slice_from_s(3, s_15); /* <-, line 109 */
     742         [ -  + ]:       4435 :                 if (ret < 0) return ret;
     743                 :            :             }
     744                 :       4435 :             break;
     745                 :            :         case 8:
     746                 :       3539 :             {   int ret = slice_from_s(2, s_16); /* <-, line 111 */
     747         [ -  + ]:       3539 :                 if (ret < 0) return ret;
     748                 :            :             }
     749                 :       3539 :             break;
     750                 :            :         case 9:
     751                 :         47 :             {   int ret = slice_from_s(3, s_17); /* <-, line 112 */
     752         [ -  + ]:         47 :                 if (ret < 0) return ret;
     753                 :            :             }
     754                 :         47 :             break;
     755                 :            :         case 10:
     756                 :       1106 :             {   int ret = slice_from_s(3, s_18); /* <-, line 114 */
     757         [ -  + ]:       1106 :                 if (ret < 0) return ret;
     758                 :            :             }
     759                 :       1106 :             break;
     760                 :            :         case 11:
     761                 :        194 :             {   int ret = slice_from_s(3, s_19); /* <-, line 116 */
     762         [ -  + ]:        194 :                 if (ret < 0) return ret;
     763                 :            :             }
     764                 :        194 :             break;
     765                 :            :         case 12:
     766                 :        671 :             {   int ret = slice_from_s(3, s_20); /* <-, line 118 */
     767         [ -  + ]:        671 :                 if (ret < 0) return ret;
     768                 :            :             }
     769                 :        671 :             break;
     770                 :            :         case 13:
     771 [ +  - ][ +  + ]:         54 :             if (c <= lb || p[c - 1] != 'l') return 0;
     772                 :         51 :             c--;
     773                 :         51 :             {   int ret = slice_from_s(2, s_21); /* <-, line 119 */
     774         [ -  + ]:         51 :                 if (ret < 0) return ret;
     775                 :            :             }
     776                 :         51 :             break;
     777                 :            :         case 14:
     778                 :        536 :             {   int ret = slice_from_s(3, s_22); /* <-, line 120 */
     779         [ -  + ]:        536 :                 if (ret < 0) return ret;
     780                 :            :             }
     781                 :        536 :             break;
     782                 :            :         case 15:
     783                 :         42 :             {   int ret = slice_from_s(4, s_23); /* <-, line 121 */
     784         [ -  + ]:         42 :                 if (ret < 0) return ret;
     785                 :            :             }
     786                 :         42 :             break;
     787                 :            :         case 16:
     788         [ +  + ]:       9868 :             if (in_grouping_b_U(g_valid_LI, 99, 116, 0)) return 0; /* grouping valid_LI, line 122 */
     789         [ -  + ]:       7604 :             if (slice_del() == -1) return -1; /* delete, line 122 */
     790                 :            :             break;
     791                 :            :     }
     792                 :    1114310 :     return 1;
     793                 :            : }
     794                 :            : 
     795                 :    1114310 : int Xapian::InternalStemEnglish::r_Step_3() { /* backwardmode */
     796                 :            :     int among_var;
     797                 :    1114310 :     ket = c; /* [, line 127 */
     798 [ +  + ][ +  + ]:    1114310 :     if (c - 2 <= lb || p[c - 1] >> 5 != 3 || !((528928 >> (p[c - 1] & 0x1f)) & 1)) return 0; /* substring, line 127 */
                 [ +  + ]
     799                 :     406189 :     among_var = find_among_b(s_pool, a_6, 9, 0, 0);
     800         [ +  + ]:     406189 :     if (!(among_var)) return 0;
     801                 :       7467 :     bra = c; /* ], line 127 */
     802                 :       7467 :     {   int ret = r_R1(); /* call R1, line 127 */
     803         [ +  + ]:       7467 :         if (ret <= 0) return ret;
     804                 :            :     }
     805 [ -  +  +  +  + :       7331 :     switch(among_var) { /* among, line 127 */
                +  +  - ]
     806                 :          0 :         case 0: return 0;
     807                 :            :         case 1:
     808                 :         11 :             {   int ret = slice_from_s(4, s_24); /* <-, line 128 */
     809         [ -  + ]:         11 :                 if (ret < 0) return ret;
     810                 :            :             }
     811                 :         11 :             break;
     812                 :            :         case 2:
     813                 :          1 :             {   int ret = slice_from_s(3, s_25); /* <-, line 129 */
     814         [ -  + ]:          1 :                 if (ret < 0) return ret;
     815                 :            :             }
     816                 :          1 :             break;
     817                 :            :         case 3:
     818                 :         32 :             {   int ret = slice_from_s(2, s_26); /* <-, line 130 */
     819         [ -  + ]:         32 :                 if (ret < 0) return ret;
     820                 :            :             }
     821                 :         32 :             break;
     822                 :            :         case 4:
     823                 :       2080 :             {   int ret = slice_from_s(2, s_27); /* <-, line 132 */
     824         [ -  + ]:       2080 :                 if (ret < 0) return ret;
     825                 :            :             }
     826                 :       2080 :             break;
     827                 :            :         case 5:
     828         [ -  + ]:       4717 :             if (slice_del() == -1) return -1; /* delete, line 134 */
     829                 :       4717 :             break;
     830                 :            :         case 6:
     831                 :        490 :             {   int ret = r_R2(); /* call R2, line 136 */
     832         [ +  + ]:        490 :                 if (ret <= 0) return ret;
     833                 :            :             }
     834         [ -  + ]:        362 :             if (slice_del() == -1) return -1; /* delete, line 136 */
     835                 :            :             break;
     836                 :            :     }
     837                 :    1114310 :     return 1;
     838                 :            : }
     839                 :            : 
     840                 :    1114310 : int Xapian::InternalStemEnglish::r_Step_4() { /* backwardmode */
     841                 :            :     int among_var;
     842                 :    1114310 :     ket = c; /* [, line 141 */
     843 [ +  + ][ +  + ]:    1114310 :     if (c - 1 <= lb || p[c - 1] >> 5 != 3 || !((1864232 >> (p[c - 1] & 0x1f)) & 1)) return 0; /* substring, line 141 */
                 [ +  + ]
     844                 :     769215 :     among_var = find_among_b(s_pool, a_7, 18, 0, 0);
     845         [ +  + ]:     769215 :     if (!(among_var)) return 0;
     846                 :     137606 :     bra = c; /* ], line 141 */
     847                 :     137606 :     {   int ret = r_R2(); /* call R2, line 141 */
     848         [ +  + ]:     137606 :         if (ret <= 0) return ret;
     849                 :            :     }
     850   [ -  +  +  - ]:      59896 :     switch(among_var) { /* among, line 141 */
     851                 :          0 :         case 0: return 0;
     852                 :            :         case 1:
     853         [ -  + ]:      53780 :             if (slice_del() == -1) return -1; /* delete, line 144 */
     854                 :      53780 :             break;
     855                 :            :         case 2:
     856                 :       6116 :             {   int m1 = l - c; (void)m1; /* or, line 145 */
     857 [ +  - ][ +  + ]:       6116 :                 if (c <= lb || p[c - 1] != 's') goto lab1;
     858                 :       1405 :                 c--;
     859                 :       1405 :                 goto lab0;
     860                 :            :             lab1:
     861                 :       4711 :                 c = l - m1;
     862 [ +  - ][ +  + ]:       4711 :                 if (c <= lb || p[c - 1] != 't') return 0;
     863                 :       4203 :                 c--;
     864                 :            :             }
     865                 :            :         lab0:
     866         [ -  + ]:       5608 :             if (slice_del() == -1) return -1; /* delete, line 145 */
     867                 :            :             break;
     868                 :            :     }
     869                 :    1114310 :     return 1;
     870                 :            : }
     871                 :            : 
     872                 :    1114310 : int Xapian::InternalStemEnglish::r_Step_5() { /* backwardmode */
     873                 :            :     int among_var;
     874                 :    1114310 :     ket = c; /* [, line 150 */
     875 [ +  - ][ +  + ]:    1114310 :     if (c <= lb || (p[c - 1] != 101 && p[c - 1] != 108)) return 0; /* substring, line 150 */
                 [ +  + ]
     876                 :     274380 :     among_var = find_among_b(s_pool, a_8, 2, 0, 0);
     877         [ -  + ]:     274380 :     if (!(among_var)) return 0;
     878                 :     274380 :     bra = c; /* ], line 150 */
     879   [ -  +  +  - ]:     274380 :     switch(among_var) { /* among, line 150 */
     880                 :          0 :         case 0: return 0;
     881                 :            :         case 1:
     882                 :     224612 :             {   int m1 = l - c; (void)m1; /* or, line 151 */
     883                 :     224612 :                 {   int ret = r_R2(); /* call R2, line 151 */
     884         [ +  + ]:     224612 :                     if (ret == 0) goto lab1;
     885         [ -  + ]:      44986 :                     if (ret < 0) return ret;
     886                 :            :                 }
     887                 :      44986 :                 goto lab0;
     888                 :            :             lab1:
     889                 :     179626 :                 c = l - m1;
     890                 :     179626 :                 {   int ret = r_R1(); /* call R1, line 151 */
     891         [ +  + ]:     179626 :                     if (ret <= 0) return ret;
     892                 :            :                 }
     893                 :     113621 :                 {   int m2 = l - c; (void)m2; /* not, line 151 */
     894                 :     113621 :                     {   int ret = r_shortv(); /* call shortv, line 151 */
     895         [ +  + ]:     113621 :                         if (ret == 0) goto lab2;
     896         [ -  + ]:      81352 :                         if (ret < 0) return ret;
     897                 :            :                     }
     898                 :      81352 :                     return 0;
     899                 :            :                 lab2:
     900                 :      32269 :                     c = l - m2;
     901                 :            :                 }
     902                 :            :             }
     903                 :            :         lab0:
     904         [ -  + ]:      77255 :             if (slice_del() == -1) return -1; /* delete, line 151 */
     905                 :      77255 :             break;
     906                 :            :         case 2:
     907                 :      49768 :             {   int ret = r_R2(); /* call R2, line 152 */
     908         [ +  + ]:      49768 :                 if (ret <= 0) return ret;
     909                 :            :             }
     910 [ +  - ][ +  + ]:       6510 :             if (c <= lb || p[c - 1] != 'l') return 0;
     911                 :       2961 :             c--;
     912         [ -  + ]:       2961 :             if (slice_del() == -1) return -1; /* delete, line 152 */
     913                 :            :             break;
     914                 :            :     }
     915                 :    1114310 :     return 1;
     916                 :            : }
     917                 :            : 
     918                 :    1114530 : int Xapian::InternalStemEnglish::r_exception2() { /* backwardmode */
     919                 :    1114530 :     ket = c; /* [, line 158 */
     920 [ +  + ][ +  + ]:    1114530 :     if (c - 5 <= lb || (p[c - 1] != 100 && p[c - 1] != 103)) return 0; /* substring, line 158 */
                 [ +  + ]
     921         [ +  + ]:      87444 :     if (!(find_among_b(s_pool, a_9, 8, 0, 0))) return 0;
     922                 :        557 :     bra = c; /* ], line 158 */
     923         [ +  + ]:        557 :     if (c > lb) return 0; /* atlimit, line 158 */
     924                 :    1114530 :     return 1;
     925                 :            : }
     926                 :            : 
     927                 :    1383634 : int Xapian::InternalStemEnglish::r_exception1() { /* forwardmode */
     928                 :            :     int among_var;
     929                 :    1383634 :     bra = c; /* [, line 170 */
     930 [ +  + ][ +  + ]:    1383634 :     if (c + 2 >= l || p[c + 2] >> 5 != 3 || !((42750482 >> (p[c + 2] & 0x1f)) & 1)) return 0; /* substring, line 170 */
                 [ +  + ]
     931                 :     557896 :     among_var = find_among(s_pool, a_10, 18, 0, 0);
     932         [ +  + ]:     557896 :     if (!(among_var)) return 0;
     933                 :       3029 :     ket = c; /* ], line 170 */
     934         [ +  + ]:       3029 :     if (c < l) return 0; /* atlimit, line 170 */
     935 [ -  -  +  +  + :       2634 :     switch(among_var) { /* among, line 170 */
          +  +  +  +  +  
                +  +  + ]
     936                 :          0 :         case 0: return 0;
     937                 :            :         case 1:
     938                 :          0 :             {   int ret = slice_from_s(3, s_28); /* <-, line 174 */
     939         [ #  # ]:          0 :                 if (ret < 0) return ret;
     940                 :            :             }
     941                 :          0 :             break;
     942                 :            :         case 2:
     943                 :         20 :             {   int ret = slice_from_s(3, s_29); /* <-, line 175 */
     944         [ -  + ]:         20 :                 if (ret < 0) return ret;
     945                 :            :             }
     946                 :         20 :             break;
     947                 :            :         case 3:
     948                 :         39 :             {   int ret = slice_from_s(3, s_30); /* <-, line 176 */
     949         [ -  + ]:         39 :                 if (ret < 0) return ret;
     950                 :            :             }
     951                 :         39 :             break;
     952                 :            :         case 4:
     953                 :        115 :             {   int ret = slice_from_s(3, s_31); /* <-, line 177 */
     954         [ -  + ]:        115 :                 if (ret < 0) return ret;
     955                 :            :             }
     956                 :        115 :             break;
     957                 :            :         case 5:
     958                 :          1 :             {   int ret = slice_from_s(3, s_32); /* <-, line 178 */
     959         [ -  + ]:          1 :                 if (ret < 0) return ret;
     960                 :            :             }
     961                 :          1 :             break;
     962                 :            :         case 6:
     963                 :          1 :             {   int ret = slice_from_s(3, s_33); /* <-, line 182 */
     964         [ -  + ]:          1 :                 if (ret < 0) return ret;
     965                 :            :             }
     966                 :          1 :             break;
     967                 :            :         case 7:
     968                 :         20 :             {   int ret = slice_from_s(5, s_34); /* <-, line 183 */
     969         [ -  + ]:         20 :                 if (ret < 0) return ret;
     970                 :            :             }
     971                 :         20 :             break;
     972                 :            :         case 8:
     973                 :         96 :             {   int ret = slice_from_s(4, s_35); /* <-, line 184 */
     974         [ -  + ]:         96 :                 if (ret < 0) return ret;
     975                 :            :             }
     976                 :         96 :             break;
     977                 :            :         case 9:
     978                 :         96 :             {   int ret = slice_from_s(5, s_36); /* <-, line 185 */
     979         [ -  + ]:         96 :                 if (ret < 0) return ret;
     980                 :            :             }
     981                 :         96 :             break;
     982                 :            :         case 10:
     983                 :       1880 :             {   int ret = slice_from_s(4, s_37); /* <-, line 186 */
     984         [ -  + ]:       1880 :                 if (ret < 0) return ret;
     985                 :            :             }
     986                 :       1880 :             break;
     987                 :            :         case 11:
     988                 :          1 :             {   int ret = slice_from_s(5, s_38); /* <-, line 187 */
     989         [ -  + ]:          1 :                 if (ret < 0) return ret;
     990                 :            :             }
     991                 :            :             break;
     992                 :            :     }
     993                 :    1383634 :     return 1;
     994                 :            : }
     995                 :            : 
     996                 :    1114530 : int Xapian::InternalStemEnglish::r_postlude() { /* forwardmode */
     997         [ +  + ]:    1114530 :     if (!(B_Y_found)) return 0; /* Boolean test Y_found, line 203 */
     998                 :      47225 :     while(1) { /* repeat, line 203 */
     999                 :      91899 :         int c1 = c;
    1000                 :     857283 :         while(1) { /* goto, line 203 */
    1001                 :     949182 :             int c2 = c;
    1002                 :     949182 :             bra = c; /* [, line 203 */
    1003 [ +  + ][ +  + ]:     949182 :             if (c == l || p[c] != 'Y') goto lab1;
    1004                 :      47225 :             c++;
    1005                 :      47225 :             ket = c; /* ], line 203 */
    1006                 :      47225 :             c = c2;
    1007                 :            :             break;
    1008                 :            :         lab1:
    1009                 :     901957 :             c = c2;
    1010                 :     901957 :             {   int ret = skip_utf8(p, c, 0, l, 1);
    1011         [ +  + ]:     901957 :                 if (ret < 0) goto lab0;
    1012                 :     857283 :                 c = ret; /* goto, line 203 */
    1013                 :            :             }
    1014                 :            :         }
    1015                 :      47225 :         {   int ret = slice_from_s(1, s_39); /* <-, line 203 */
    1016         [ -  + ]:      47225 :             if (ret < 0) return ret;
    1017                 :            :         }
    1018                 :      47225 :         continue;
    1019                 :            :     lab0:
    1020                 :      44674 :         c = c1;
    1021                 :            :         break;
    1022                 :            :     }
    1023                 :    1114530 :     return 1;
    1024                 :            : }
    1025                 :            : 
    1026                 :    1383634 : int Xapian::InternalStemEnglish::stem() { /* forwardmode */
    1027                 :    1383634 :     {   int c1 = c; /* or, line 207 */
    1028                 :    1383634 :         {   int ret = r_exception1(); /* call exception1, line 207 */
    1029         [ +  + ]:    1383634 :             if (ret == 0) goto lab1;
    1030         [ -  + ]:       2634 :             if (ret < 0) return ret;
    1031                 :            :         }
    1032                 :       2634 :         goto lab0;
    1033                 :            :     lab1:
    1034                 :    1381000 :         c = c1;
    1035                 :    1381000 :         {   int c2 = c; /* not, line 208 */
    1036                 :    1381000 :             {   int ret = skip_utf8(p, c, 0, l, + 3); /* hop, line 208 */
    1037         [ +  + ]:    1381000 :                 if (ret < 0) goto lab3;
    1038                 :    1114530 :                 c = ret;
    1039                 :            :             }
    1040                 :    1114530 :             goto lab2;
    1041                 :            :         lab3:
    1042                 :     266470 :             c = c2;
    1043                 :            :         }
    1044                 :     266470 :         goto lab0;
    1045                 :            :     lab2:
    1046                 :    1114530 :         c = c1;
    1047                 :    1114530 :         {   int c3 = c; /* do, line 209 */
    1048                 :    1114530 :             {   int ret = r_prelude(); /* call prelude, line 209 */
    1049         [ -  + ]:    1114530 :                 if (ret == 0) goto lab4;
    1050         [ -  + ]:    1114530 :                 if (ret < 0) return ret;
    1051                 :            :             }
    1052                 :            :         lab4:
    1053                 :    1114530 :             c = c3;
    1054                 :            :         }
    1055                 :    1114530 :         {   int c4 = c; /* do, line 210 */
    1056                 :    1114530 :             {   int ret = r_mark_regions(); /* call mark_regions, line 210 */
    1057         [ -  + ]:    1114530 :                 if (ret == 0) goto lab5;
    1058         [ -  + ]:    1114530 :                 if (ret < 0) return ret;
    1059                 :            :             }
    1060                 :            :         lab5:
    1061                 :    1114530 :             c = c4;
    1062                 :            :         }
    1063                 :    1114530 :         lb = c; c = l; /* backwards, line 211 */
    1064                 :            : 
    1065                 :    1114530 :         {   int m5 = l - c; (void)m5; /* do, line 213 */
    1066                 :    1114530 :             {   int ret = r_Step_1a(); /* call Step_1a, line 213 */
    1067         [ +  + ]:    1114530 :                 if (ret == 0) goto lab6;
    1068         [ -  + ]:     107433 :                 if (ret < 0) return ret;
    1069                 :            :             }
    1070                 :            :         lab6:
    1071                 :    1114530 :             c = l - m5;
    1072                 :            :         }
    1073                 :    1114530 :         {   int m6 = l - c; (void)m6; /* or, line 215 */
    1074                 :    1114530 :             {   int ret = r_exception2(); /* call exception2, line 215 */
    1075         [ +  + ]:    1114530 :                 if (ret == 0) goto lab8;
    1076         [ -  + ]:        220 :                 if (ret < 0) return ret;
    1077                 :            :             }
    1078                 :        220 :             goto lab7;
    1079                 :            :         lab8:
    1080                 :    1114310 :             c = l - m6;
    1081                 :    1114310 :             {   int m7 = l - c; (void)m7; /* do, line 217 */
    1082                 :    1114310 :                 {   int ret = r_Step_1b(); /* call Step_1b, line 217 */
    1083         [ +  + ]:    1114310 :                     if (ret == 0) goto lab9;
    1084         [ -  + ]:      12842 :                     if (ret < 0) return ret;
    1085                 :            :                 }
    1086                 :            :             lab9:
    1087                 :    1114310 :                 c = l - m7;
    1088                 :            :             }
    1089                 :    1114310 :             {   int m8 = l - c; (void)m8; /* do, line 218 */
    1090                 :    1114310 :                 {   int ret = r_Step_1c(); /* call Step_1c, line 218 */
    1091         [ +  + ]:    1114310 :                     if (ret == 0) goto lab10;
    1092         [ -  + ]:      53885 :                     if (ret < 0) return ret;
    1093                 :            :                 }
    1094                 :            :             lab10:
    1095                 :    1114310 :                 c = l - m8;
    1096                 :            :             }
    1097                 :    1114310 :             {   int m9 = l - c; (void)m9; /* do, line 220 */
    1098                 :    1114310 :                 {   int ret = r_Step_2(); /* call Step_2, line 220 */
    1099         [ +  + ]:    1114310 :                     if (ret == 0) goto lab11;
    1100         [ -  + ]:      21480 :                     if (ret < 0) return ret;
    1101                 :            :                 }
    1102                 :            :             lab11:
    1103                 :    1114310 :                 c = l - m9;
    1104                 :            :             }
    1105                 :    1114310 :             {   int m10 = l - c; (void)m10; /* do, line 221 */
    1106                 :    1114310 :                 {   int ret = r_Step_3(); /* call Step_3, line 221 */
    1107         [ +  + ]:    1114310 :                     if (ret == 0) goto lab12;
    1108         [ -  + ]:       7203 :                     if (ret < 0) return ret;
    1109                 :            :                 }
    1110                 :            :             lab12:
    1111                 :    1114310 :                 c = l - m10;
    1112                 :            :             }
    1113                 :    1114310 :             {   int m11 = l - c; (void)m11; /* do, line 222 */
    1114                 :    1114310 :                 {   int ret = r_Step_4(); /* call Step_4, line 222 */
    1115         [ +  + ]:    1114310 :                     if (ret == 0) goto lab13;
    1116         [ -  + ]:      59388 :                     if (ret < 0) return ret;
    1117                 :            :                 }
    1118                 :            :             lab13:
    1119                 :    1114310 :                 c = l - m11;
    1120                 :            :             }
    1121                 :    1114310 :             {   int m12 = l - c; (void)m12; /* do, line 224 */
    1122                 :    1114310 :                 {   int ret = r_Step_5(); /* call Step_5, line 224 */
    1123         [ +  + ]:    1114310 :                     if (ret == 0) goto lab14;
    1124         [ -  + ]:      80216 :                     if (ret < 0) return ret;
    1125                 :            :                 }
    1126                 :            :             lab14:
    1127                 :    1114310 :                 c = l - m12;
    1128                 :            :             }
    1129                 :            :         }
    1130                 :            :     lab7:
    1131                 :    1114530 :         c = lb;
    1132                 :    1114530 :         {   int c13 = c; /* do, line 227 */
    1133                 :    1114530 :             {   int ret = r_postlude(); /* call postlude, line 227 */
    1134         [ +  + ]:    1114530 :                 if (ret == 0) goto lab15;
    1135         [ -  + ]:      44674 :                 if (ret < 0) return ret;
    1136                 :            :             }
    1137                 :            :         lab15:
    1138                 :    1114530 :             c = c13;
    1139                 :            :         }
    1140                 :            :     }
    1141                 :            : lab0:
    1142                 :    1383634 :     return 1;
    1143                 :            : }
    1144                 :            : 
    1145                 :      32889 : Xapian::InternalStemEnglish::InternalStemEnglish()
    1146                 :      32889 :     : B_Y_found(0), I_p2(0), I_p1(0)
    1147                 :            : {
    1148                 :      32889 : }
    1149                 :            : 
    1150                 :      32889 : Xapian::InternalStemEnglish::~InternalStemEnglish()
    1151                 :            : {
    1152 [ +  - ][ #  # ]:      32889 : }
                 [ #  # ]
    1153                 :            : 
    1154                 :            : std::string
    1155                 :          2 : Xapian::InternalStemEnglish::get_description() const
    1156                 :            : {
    1157                 :          2 :     return "english";
    1158                 :            : }

Generated by: LCOV version 1.8