LCOV - code coverage report
Current view: top level - languages - english.cc (source / functions) Hit Total Coverage
Test: Test Coverage for xapian-core 954b5873a738 Lines: 461 464 99.4 %
Date: 2019-06-30 05:20:33 Functions: 19 19 100.0 %
Branches: 320 410 78.0 %

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

Generated by: LCOV version 1.11