LCOV - code coverage report
Current view: top level - languages - hungarian.cc (source / functions) Hit Total Coverage
Test: Test Coverage for xapian-core 7822d31adece Lines: 248 260 95.4 %
Date: 2019-05-23 11:15:29 Functions: 18 18 100.0 %
Branches: 179 240 74.6 %

           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 "hungarian.h"
       7                 :            : 
       8                 :            : static const symbol s_pool[] = {
       9                 :            : #define s_0_0 0
      10                 :            : 'c', 's',
      11                 :            : #define s_0_1 2
      12                 :            : 'd', 'z', 's',
      13                 :            : #define s_0_2 5
      14                 :            : 'g', 'y',
      15                 :            : #define s_0_3 7
      16                 :            : 'l', 'y',
      17                 :            : #define s_0_4 9
      18                 :            : 'n', 'y',
      19                 :            : #define s_0_5 11
      20                 :            : 's', 'z',
      21                 :            : #define s_0_6 13
      22                 :            : 't', 'y',
      23                 :            : #define s_0_7 (s_0_1 + 1)
      24                 :            : #define s_1_0 15
      25                 :            : 0xC3, 0xA1,
      26                 :            : #define s_1_1 17
      27                 :            : 0xC3, 0xA9,
      28                 :            : #define s_2_0 19
      29                 :            : 'b', 'b',
      30                 :            : #define s_2_1 s_2_12
      31                 :            : #define s_2_2 21
      32                 :            : 'd', 'd',
      33                 :            : #define s_2_3 23
      34                 :            : 'f', 'f',
      35                 :            : #define s_2_4 s_2_17
      36                 :            : #define s_2_5 25
      37                 :            : 'j', 'j',
      38                 :            : #define s_2_6 27
      39                 :            : 'k', 'k',
      40                 :            : #define s_2_7 s_2_18
      41                 :            : #define s_2_8 29
      42                 :            : 'm', 'm',
      43                 :            : #define s_2_9 s_2_19
      44                 :            : #define s_2_10 31
      45                 :            : 'p', 'p',
      46                 :            : #define s_2_11 33
      47                 :            : 'r', 'r',
      48                 :            : #define s_2_12 35
      49                 :            : 'c', 'c', 's',
      50                 :            : #define s_2_13 s_2_21
      51                 :            : #define s_2_14 38
      52                 :            : 'z', 'z', 's',
      53                 :            : #define s_2_15 s_2_20
      54                 :            : #define s_2_16 41
      55                 :            : 'v', 'v',
      56                 :            : #define s_2_17 43
      57                 :            : 'g', 'g', 'y',
      58                 :            : #define s_2_18 46
      59                 :            : 'l', 'l', 'y',
      60                 :            : #define s_2_19 49
      61                 :            : 'n', 'n', 'y',
      62                 :            : #define s_2_20 52
      63                 :            : 't', 't', 'y',
      64                 :            : #define s_2_21 55
      65                 :            : 's', 's', 'z',
      66                 :            : #define s_2_22 s_2_14
      67                 :            : #define s_3_0 58
      68                 :            : 'a', 'l',
      69                 :            : #define s_3_1 60
      70                 :            : 'e', 'l',
      71                 :            : #define s_4_0 s_4_21
      72                 :            : #define s_4_1 62
      73                 :            : 'r', 'a',
      74                 :            : #define s_4_2 s_4_23
      75                 :            : #define s_4_3 64
      76                 :            : 'r', 'e',
      77                 :            : #define s_4_4 66
      78                 :            : 'i', 'g',
      79                 :            : #define s_4_5 68
      80                 :            : 'n', 'a', 'k',
      81                 :            : #define s_4_6 71
      82                 :            : 'n', 'e', 'k',
      83                 :            : #define s_4_7 74
      84                 :            : 'v', 'a', 'l',
      85                 :            : #define s_4_8 77
      86                 :            : 'v', 'e', 'l',
      87                 :            : #define s_4_9 80
      88                 :            : 'u', 'l',
      89                 :            : #define s_4_10 82
      90                 :            : 'b', 0xC5, 0x91, 'l',
      91                 :            : #define s_4_11 86
      92                 :            : 'r', 0xC5, 0x91, 'l',
      93                 :            : #define s_4_12 90
      94                 :            : 't', 0xC5, 0x91, 'l',
      95                 :            : #define s_4_13 94
      96                 :            : 'n', 0xC3, 0xA1, 'l',
      97                 :            : #define s_4_14 98
      98                 :            : 'n', 0xC3, 0xA9, 'l',
      99                 :            : #define s_4_15 102
     100                 :            : 'b', 0xC3, 0xB3, 'l',
     101                 :            : #define s_4_16 106
     102                 :            : 'r', 0xC3, 0xB3, 'l',
     103                 :            : #define s_4_17 110
     104                 :            : 't', 0xC3, 0xB3, 'l',
     105                 :            : #define s_4_18 114
     106                 :            : 0xC3, 0xBC, 'l',
     107                 :            : #define s_4_19 s_4_5
     108                 :            : #define s_4_20 (s_4_21 + 1)
     109                 :            : #define s_4_21 117
     110                 :            : 'b', 'a', 'n',
     111                 :            : #define s_4_22 (s_4_23 + 1)
     112                 :            : #define s_4_23 120
     113                 :            : 'b', 'e', 'n',
     114                 :            : #define s_4_24 123
     115                 :            : 'k', 0xC3, 0xA9, 'p', 'p', 'e', 'n',
     116                 :            : #define s_4_25 s_4_35
     117                 :            : #define s_4_26 130
     118                 :            : 0xC3, 0xB6, 'n',
     119                 :            : #define s_4_27 s_4_24
     120                 :            : #define s_4_28 133
     121                 :            : 'k', 'o', 'r',
     122                 :            : #define s_4_29 s_4_12
     123                 :            : #define s_4_30 136
     124                 :            : 'a', 't',
     125                 :            : #define s_4_31 138
     126                 :            : 'e', 't',
     127                 :            : #define s_4_32 (s_4_33 + 2)
     128                 :            : #define s_4_33 140
     129                 :            : 'a', 'n', 'k', 0xC3, 0xA9, 'n', 't',
     130                 :            : #define s_4_34 147
     131                 :            : 'e', 'n', 'k', 0xC3, 0xA9, 'n', 't',
     132                 :            : #define s_4_35 154
     133                 :            : 'o', 'n', 'k', 0xC3, 0xA9, 'n', 't',
     134                 :            : #define s_4_36 161
     135                 :            : 'o', 't',
     136                 :            : #define s_4_37 163
     137                 :            : 0xC3, 0xA9, 'r', 't',
     138                 :            : #define s_4_38 167
     139                 :            : 0xC3, 0xB6, 't',
     140                 :            : #define s_4_39 170
     141                 :            : 'h', 'e', 'z',
     142                 :            : #define s_4_40 173
     143                 :            : 'h', 'o', 'z',
     144                 :            : #define s_4_41 176
     145                 :            : 'h', 0xC3, 0xB6, 'z',
     146                 :            : #define s_4_42 180
     147                 :            : 'v', 0xC3, 0xA1,
     148                 :            : #define s_4_43 183
     149                 :            : 'v', 0xC3, 0xA9,
     150                 :            : #define s_5_0 s_5_2
     151                 :            : #define s_5_1 (s_5_2 + 4)
     152                 :            : #define s_5_2 186
     153                 :            : 0xC3, 0xA1, 'n', 'k', 0xC3, 0xA9, 'n', 't',
     154                 :            : #define s_6_0 (s_6_1 + 1)
     155                 :            : #define s_6_1 194
     156                 :            : 'a', 's', 't', 'u', 'l',
     157                 :            : #define s_6_2 199
     158                 :            : 0xC3, 0xA1, 's', 't', 'u', 'l',
     159                 :            : #define s_6_3 (s_6_4 + 1)
     160                 :            : #define s_6_4 205
     161                 :            : 'e', 's', 't', 0xC3, 0xBC, 'l',
     162                 :            : #define s_6_5 211
     163                 :            : 0xC3, 0xA9, 's', 't', 0xC3, 0xBC, 'l',
     164                 :            : #define s_7_0 218
     165                 :            : 0xC3, 0xA1,
     166                 :            : #define s_7_1 220
     167                 :            : 0xC3, 0xA9,
     168                 :            : #define s_8_0 (s_8_1 + 1)
     169                 :            : #define s_8_1 222
     170                 :            : 'a', 'k',
     171                 :            : #define s_8_2 224
     172                 :            : 'e', 'k',
     173                 :            : #define s_8_3 226
     174                 :            : 'o', 'k',
     175                 :            : #define s_8_4 228
     176                 :            : 0xC3, 0xA1, 'k',
     177                 :            : #define s_8_5 231
     178                 :            : 0xC3, 0xA9, 'k',
     179                 :            : #define s_8_6 234
     180                 :            : 0xC3, 0xB6, 'k',
     181                 :            : #define s_9_0 (s_9_1 + 2)
     182                 :            : #define s_9_1 237
     183                 :            : 0xC3, 0xA1, 0xC3, 0xA9, 'i',
     184                 :            : #define s_9_2 242
     185                 :            : 0xC3, 0xA9, 0xC3, 0xA9, 'i',
     186                 :            : #define s_9_3 s_9_0
     187                 :            : #define s_9_4 (s_9_5 + 1)
     188                 :            : #define s_9_5 247
     189                 :            : 'a', 'k', 0xC3, 0xA9,
     190                 :            : #define s_9_6 251
     191                 :            : 'e', 'k', 0xC3, 0xA9,
     192                 :            : #define s_9_7 255
     193                 :            : 'o', 'k', 0xC3, 0xA9,
     194                 :            : #define s_9_8 259
     195                 :            : 0xC3, 0xA1, 'k', 0xC3, 0xA9,
     196                 :            : #define s_9_9 264
     197                 :            : 0xC3, 0xA9, 'k', 0xC3, 0xA9,
     198                 :            : #define s_9_10 269
     199                 :            : 0xC3, 0xB6, 'k', 0xC3, 0xA9,
     200                 :            : #define s_9_11 s_9_2
     201                 :            : #define s_10_0 (s_10_1 + 1)
     202                 :            : #define s_10_1 274
     203                 :            : 'j', 'a',
     204                 :            : #define s_10_2 (s_10_3 + 1)
     205                 :            : #define s_10_3 276
     206                 :            : 'a', 'd',
     207                 :            : #define s_10_4 278
     208                 :            : 'e', 'd',
     209                 :            : #define s_10_5 280
     210                 :            : 'o', 'd',
     211                 :            : #define s_10_6 282
     212                 :            : 0xC3, 0xA1, 'd',
     213                 :            : #define s_10_7 285
     214                 :            : 0xC3, 0xA9, 'd',
     215                 :            : #define s_10_8 288
     216                 :            : 0xC3, 0xB6, 'd',
     217                 :            : #define s_10_9 s_10_4
     218                 :            : #define s_10_10 291
     219                 :            : 'j', 'e',
     220                 :            : #define s_10_11 (s_10_12 + 1)
     221                 :            : #define s_10_12 293
     222                 :            : 'u', 'n', 'k',
     223                 :            : #define s_10_13 296
     224                 :            : 0xC3, 0xA1, 'n', 'k',
     225                 :            : #define s_10_14 300
     226                 :            : 0xC3, 0xA9, 'n', 'k',
     227                 :            : #define s_10_15 304
     228                 :            : 0xC3, 0xBC, 'n', 'k',
     229                 :            : #define s_10_16 (s_10_17 + 1)
     230                 :            : #define s_10_17 (s_10_18 + 2)
     231                 :            : #define s_10_18 308
     232                 :            : 0xC3, 0xA1, 'j', 'u', 'k',
     233                 :            : #define s_10_19 (s_10_20 + 1)
     234                 :            : #define s_10_20 (s_10_21 + 2)
     235                 :            : #define s_10_21 313
     236                 :            : 0xC3, 0xA9, 'j', 0xC3, 0xBC, 'k',
     237                 :            : #define s_10_22 (s_10_23 + 1)
     238                 :            : #define s_10_23 319
     239                 :            : 'a', 'm',
     240                 :            : #define s_10_24 321
     241                 :            : 'e', 'm',
     242                 :            : #define s_10_25 323
     243                 :            : 'o', 'm',
     244                 :            : #define s_10_26 325
     245                 :            : 0xC3, 0xA1, 'm',
     246                 :            : #define s_10_27 328
     247                 :            : 0xC3, 0xA9, 'm',
     248                 :            : #define s_10_28 s_10_5
     249                 :            : #define s_10_29 s_10_6
     250                 :            : #define s_10_30 s_10_7
     251                 :            : #define s_11_0 (s_11_1 + 1)
     252                 :            : #define s_11_1 (s_11_2 + 1)
     253                 :            : #define s_11_2 331
     254                 :            : 'j', 'a', 'i', 'd',
     255                 :            : #define s_11_3 (s_11_4 + 1)
     256                 :            : #define s_11_4 335
     257                 :            : 'j', 'e', 'i', 'd',
     258                 :            : #define s_11_5 339
     259                 :            : 0xC3, 0xA1, 'i', 'd',
     260                 :            : #define s_11_6 343
     261                 :            : 0xC3, 0xA9, 'i', 'd',
     262                 :            : #define s_11_7 s_11_0
     263                 :            : #define s_11_8 s_11_1
     264                 :            : #define s_11_9 s_11_2
     265                 :            : #define s_11_10 s_11_3
     266                 :            : #define s_11_11 s_11_4
     267                 :            : #define s_11_12 s_11_5
     268                 :            : #define s_11_13 s_11_6
     269                 :            : #define s_11_14 (s_11_15 + 1)
     270                 :            : #define s_11_15 (s_11_16 + 1)
     271                 :            : #define s_11_16 347
     272                 :            : 'j', 'e', 'i', 't', 'e', 'k',
     273                 :            : #define s_11_17 353
     274                 :            : 0xC3, 0xA9, 'i', 't', 'e', 'k',
     275                 :            : #define s_11_18 (s_11_19 + 1)
     276                 :            : #define s_11_19 (s_11_20 + 1)
     277                 :            : #define s_11_20 359
     278                 :            : 'j', 'a', 'i', 'k',
     279                 :            : #define s_11_21 (s_11_22 + 1)
     280                 :            : #define s_11_22 363
     281                 :            : 'j', 'e', 'i', 'k',
     282                 :            : #define s_11_23 367
     283                 :            : 0xC3, 0xA1, 'i', 'k',
     284                 :            : #define s_11_24 371
     285                 :            : 0xC3, 0xA9, 'i', 'k',
     286                 :            : #define s_11_25 (s_11_26 + 1)
     287                 :            : #define s_11_26 (s_11_27 + 1)
     288                 :            : #define s_11_27 375
     289                 :            : 'j', 'a', 'i', 'n', 'k',
     290                 :            : #define s_11_28 (s_11_29 + 1)
     291                 :            : #define s_11_29 380
     292                 :            : 'j', 'e', 'i', 'n', 'k',
     293                 :            : #define s_11_30 385
     294                 :            : 0xC3, 0xA1, 'i', 'n', 'k',
     295                 :            : #define s_11_31 390
     296                 :            : 0xC3, 0xA9, 'i', 'n', 'k',
     297                 :            : #define s_11_32 (s_11_33 + 1)
     298                 :            : #define s_11_33 395
     299                 :            : 'j', 'a', 'i', 't', 'o', 'k',
     300                 :            : #define s_11_34 401
     301                 :            : 0xC3, 0xA1, 'i', 't', 'o', 'k',
     302                 :            : #define s_11_35 (s_11_36 + 1)
     303                 :            : #define s_11_36 (s_11_37 + 1)
     304                 :            : #define s_11_37 407
     305                 :            : 'j', 'a', 'i', 'm',
     306                 :            : #define s_11_38 (s_11_39 + 1)
     307                 :            : #define s_11_39 411
     308                 :            : 'j', 'e', 'i', 'm',
     309                 :            : #define s_11_40 415
     310                 :            : 0xC3, 0xA1, 'i', 'm',
     311                 :            : #define s_11_41 419
     312                 :            : 0xC3, 0xA9, 'i', 'm',
     313                 :            : };
     314                 :            : 
     315                 :            : 
     316                 :            : static const struct among a_0[8] =
     317                 :            : {
     318                 :            : /*  0 */ { 2, s_0_0, -1, -1},
     319                 :            : /*  1 */ { 3, s_0_1, -1, -1},
     320                 :            : /*  2 */ { 2, s_0_2, -1, -1},
     321                 :            : /*  3 */ { 2, s_0_3, -1, -1},
     322                 :            : /*  4 */ { 2, s_0_4, -1, -1},
     323                 :            : /*  5 */ { 2, s_0_5, -1, -1},
     324                 :            : /*  6 */ { 2, s_0_6, -1, -1},
     325                 :            : /*  7 */ { 2, s_0_7, -1, -1}
     326                 :            : };
     327                 :            : 
     328                 :            : 
     329                 :            : static const struct among a_1[2] =
     330                 :            : {
     331                 :            : /*  0 */ { 2, s_1_0, -1, 1},
     332                 :            : /*  1 */ { 2, s_1_1, -1, 2}
     333                 :            : };
     334                 :            : 
     335                 :            : 
     336                 :            : static const struct among a_2[23] =
     337                 :            : {
     338                 :            : /*  0 */ { 2, s_2_0, -1, -1},
     339                 :            : /*  1 */ { 2, s_2_1, -1, -1},
     340                 :            : /*  2 */ { 2, s_2_2, -1, -1},
     341                 :            : /*  3 */ { 2, s_2_3, -1, -1},
     342                 :            : /*  4 */ { 2, s_2_4, -1, -1},
     343                 :            : /*  5 */ { 2, s_2_5, -1, -1},
     344                 :            : /*  6 */ { 2, s_2_6, -1, -1},
     345                 :            : /*  7 */ { 2, s_2_7, -1, -1},
     346                 :            : /*  8 */ { 2, s_2_8, -1, -1},
     347                 :            : /*  9 */ { 2, s_2_9, -1, -1},
     348                 :            : /* 10 */ { 2, s_2_10, -1, -1},
     349                 :            : /* 11 */ { 2, s_2_11, -1, -1},
     350                 :            : /* 12 */ { 3, s_2_12, -1, -1},
     351                 :            : /* 13 */ { 2, s_2_13, -1, -1},
     352                 :            : /* 14 */ { 3, s_2_14, -1, -1},
     353                 :            : /* 15 */ { 2, s_2_15, -1, -1},
     354                 :            : /* 16 */ { 2, s_2_16, -1, -1},
     355                 :            : /* 17 */ { 3, s_2_17, -1, -1},
     356                 :            : /* 18 */ { 3, s_2_18, -1, -1},
     357                 :            : /* 19 */ { 3, s_2_19, -1, -1},
     358                 :            : /* 20 */ { 3, s_2_20, -1, -1},
     359                 :            : /* 21 */ { 3, s_2_21, -1, -1},
     360                 :            : /* 22 */ { 2, s_2_22, -1, -1}
     361                 :            : };
     362                 :            : 
     363                 :            : 
     364                 :            : static const struct among a_3[2] =
     365                 :            : {
     366                 :            : /*  0 */ { 2, s_3_0, -1, 1},
     367                 :            : /*  1 */ { 2, s_3_1, -1, 1}
     368                 :            : };
     369                 :            : 
     370                 :            : 
     371                 :            : static const struct among a_4[44] =
     372                 :            : {
     373                 :            : /*  0 */ { 2, s_4_0, -1, -1},
     374                 :            : /*  1 */ { 2, s_4_1, -1, -1},
     375                 :            : /*  2 */ { 2, s_4_2, -1, -1},
     376                 :            : /*  3 */ { 2, s_4_3, -1, -1},
     377                 :            : /*  4 */ { 2, s_4_4, -1, -1},
     378                 :            : /*  5 */ { 3, s_4_5, -1, -1},
     379                 :            : /*  6 */ { 3, s_4_6, -1, -1},
     380                 :            : /*  7 */ { 3, s_4_7, -1, -1},
     381                 :            : /*  8 */ { 3, s_4_8, -1, -1},
     382                 :            : /*  9 */ { 2, s_4_9, -1, -1},
     383                 :            : /* 10 */ { 4, s_4_10, -1, -1},
     384                 :            : /* 11 */ { 4, s_4_11, -1, -1},
     385                 :            : /* 12 */ { 4, s_4_12, -1, -1},
     386                 :            : /* 13 */ { 4, s_4_13, -1, -1},
     387                 :            : /* 14 */ { 4, s_4_14, -1, -1},
     388                 :            : /* 15 */ { 4, s_4_15, -1, -1},
     389                 :            : /* 16 */ { 4, s_4_16, -1, -1},
     390                 :            : /* 17 */ { 4, s_4_17, -1, -1},
     391                 :            : /* 18 */ { 3, s_4_18, -1, -1},
     392                 :            : /* 19 */ { 1, s_4_19, -1, -1},
     393                 :            : /* 20 */ { 2, s_4_20, 19, -1},
     394                 :            : /* 21 */ { 3, s_4_21, 20, -1},
     395                 :            : /* 22 */ { 2, s_4_22, 19, -1},
     396                 :            : /* 23 */ { 3, s_4_23, 22, -1},
     397                 :            : /* 24 */ { 7, s_4_24, 22, -1},
     398                 :            : /* 25 */ { 2, s_4_25, 19, -1},
     399                 :            : /* 26 */ { 3, s_4_26, 19, -1},
     400                 :            : /* 27 */ { 5, s_4_27, -1, -1},
     401                 :            : /* 28 */ { 3, s_4_28, -1, -1},
     402                 :            : /* 29 */ { 1, s_4_29, -1, -1},
     403                 :            : /* 30 */ { 2, s_4_30, 29, -1},
     404                 :            : /* 31 */ { 2, s_4_31, 29, -1},
     405                 :            : /* 32 */ { 5, s_4_32, 29, -1},
     406                 :            : /* 33 */ { 7, s_4_33, 32, -1},
     407                 :            : /* 34 */ { 7, s_4_34, 32, -1},
     408                 :            : /* 35 */ { 7, s_4_35, 32, -1},
     409                 :            : /* 36 */ { 2, s_4_36, 29, -1},
     410                 :            : /* 37 */ { 4, s_4_37, 29, -1},
     411                 :            : /* 38 */ { 3, s_4_38, 29, -1},
     412                 :            : /* 39 */ { 3, s_4_39, -1, -1},
     413                 :            : /* 40 */ { 3, s_4_40, -1, -1},
     414                 :            : /* 41 */ { 4, s_4_41, -1, -1},
     415                 :            : /* 42 */ { 3, s_4_42, -1, -1},
     416                 :            : /* 43 */ { 3, s_4_43, -1, -1}
     417                 :            : };
     418                 :            : 
     419                 :            : 
     420                 :            : static const struct among a_5[3] =
     421                 :            : {
     422                 :            : /*  0 */ { 3, s_5_0, -1, 2},
     423                 :            : /*  1 */ { 3, s_5_1, -1, 1},
     424                 :            : /*  2 */ { 8, s_5_2, -1, 2}
     425                 :            : };
     426                 :            : 
     427                 :            : 
     428                 :            : static const struct among a_6[6] =
     429                 :            : {
     430                 :            : /*  0 */ { 4, s_6_0, -1, 1},
     431                 :            : /*  1 */ { 5, s_6_1, 0, 1},
     432                 :            : /*  2 */ { 6, s_6_2, 0, 2},
     433                 :            : /*  3 */ { 5, s_6_3, -1, 1},
     434                 :            : /*  4 */ { 6, s_6_4, 3, 1},
     435                 :            : /*  5 */ { 7, s_6_5, 3, 3}
     436                 :            : };
     437                 :            : 
     438                 :            : 
     439                 :            : static const struct among a_7[2] =
     440                 :            : {
     441                 :            : /*  0 */ { 2, s_7_0, -1, 1},
     442                 :            : /*  1 */ { 2, s_7_1, -1, 1}
     443                 :            : };
     444                 :            : 
     445                 :            : 
     446                 :            : static const struct among a_8[7] =
     447                 :            : {
     448                 :            : /*  0 */ { 1, s_8_0, -1, 3},
     449                 :            : /*  1 */ { 2, s_8_1, 0, 3},
     450                 :            : /*  2 */ { 2, s_8_2, 0, 3},
     451                 :            : /*  3 */ { 2, s_8_3, 0, 3},
     452                 :            : /*  4 */ { 3, s_8_4, 0, 1},
     453                 :            : /*  5 */ { 3, s_8_5, 0, 2},
     454                 :            : /*  6 */ { 3, s_8_6, 0, 3}
     455                 :            : };
     456                 :            : 
     457                 :            : 
     458                 :            : static const struct among a_9[12] =
     459                 :            : {
     460                 :            : /*  0 */ { 3, s_9_0, -1, 1},
     461                 :            : /*  1 */ { 5, s_9_1, 0, 3},
     462                 :            : /*  2 */ { 5, s_9_2, 0, 2},
     463                 :            : /*  3 */ { 2, s_9_3, -1, 1},
     464                 :            : /*  4 */ { 3, s_9_4, 3, 1},
     465                 :            : /*  5 */ { 4, s_9_5, 4, 1},
     466                 :            : /*  6 */ { 4, s_9_6, 4, 1},
     467                 :            : /*  7 */ { 4, s_9_7, 4, 1},
     468                 :            : /*  8 */ { 5, s_9_8, 4, 3},
     469                 :            : /*  9 */ { 5, s_9_9, 4, 2},
     470                 :            : /* 10 */ { 5, s_9_10, 4, 1},
     471                 :            : /* 11 */ { 4, s_9_11, 3, 2}
     472                 :            : };
     473                 :            : 
     474                 :            : 
     475                 :            : static const struct among a_10[31] =
     476                 :            : {
     477                 :            : /*  0 */ { 1, s_10_0, -1, 1},
     478                 :            : /*  1 */ { 2, s_10_1, 0, 1},
     479                 :            : /*  2 */ { 1, s_10_2, -1, 1},
     480                 :            : /*  3 */ { 2, s_10_3, 2, 1},
     481                 :            : /*  4 */ { 2, s_10_4, 2, 1},
     482                 :            : /*  5 */ { 2, s_10_5, 2, 1},
     483                 :            : /*  6 */ { 3, s_10_6, 2, 2},
     484                 :            : /*  7 */ { 3, s_10_7, 2, 3},
     485                 :            : /*  8 */ { 3, s_10_8, 2, 1},
     486                 :            : /*  9 */ { 1, s_10_9, -1, 1},
     487                 :            : /* 10 */ { 2, s_10_10, 9, 1},
     488                 :            : /* 11 */ { 2, s_10_11, -1, 1},
     489                 :            : /* 12 */ { 3, s_10_12, 11, 1},
     490                 :            : /* 13 */ { 4, s_10_13, 11, 2},
     491                 :            : /* 14 */ { 4, s_10_14, 11, 3},
     492                 :            : /* 15 */ { 4, s_10_15, 11, 1},
     493                 :            : /* 16 */ { 2, s_10_16, -1, 1},
     494                 :            : /* 17 */ { 3, s_10_17, 16, 1},
     495                 :            : /* 18 */ { 5, s_10_18, 17, 2},
     496                 :            : /* 19 */ { 3, s_10_19, -1, 1},
     497                 :            : /* 20 */ { 4, s_10_20, 19, 1},
     498                 :            : /* 21 */ { 6, s_10_21, 20, 3},
     499                 :            : /* 22 */ { 1, s_10_22, -1, 1},
     500                 :            : /* 23 */ { 2, s_10_23, 22, 1},
     501                 :            : /* 24 */ { 2, s_10_24, 22, 1},
     502                 :            : /* 25 */ { 2, s_10_25, 22, 1},
     503                 :            : /* 26 */ { 3, s_10_26, 22, 2},
     504                 :            : /* 27 */ { 3, s_10_27, 22, 3},
     505                 :            : /* 28 */ { 1, s_10_28, -1, 1},
     506                 :            : /* 29 */ { 2, s_10_29, -1, 2},
     507                 :            : /* 30 */ { 2, s_10_30, -1, 3}
     508                 :            : };
     509                 :            : 
     510                 :            : 
     511                 :            : static const struct among a_11[42] =
     512                 :            : {
     513                 :            : /*  0 */ { 2, s_11_0, -1, 1},
     514                 :            : /*  1 */ { 3, s_11_1, 0, 1},
     515                 :            : /*  2 */ { 4, s_11_2, 1, 1},
     516                 :            : /*  3 */ { 3, s_11_3, 0, 1},
     517                 :            : /*  4 */ { 4, s_11_4, 3, 1},
     518                 :            : /*  5 */ { 4, s_11_5, 0, 2},
     519                 :            : /*  6 */ { 4, s_11_6, 0, 3},
     520                 :            : /*  7 */ { 1, s_11_7, -1, 1},
     521                 :            : /*  8 */ { 2, s_11_8, 7, 1},
     522                 :            : /*  9 */ { 3, s_11_9, 8, 1},
     523                 :            : /* 10 */ { 2, s_11_10, 7, 1},
     524                 :            : /* 11 */ { 3, s_11_11, 10, 1},
     525                 :            : /* 12 */ { 3, s_11_12, 7, 2},
     526                 :            : /* 13 */ { 3, s_11_13, 7, 3},
     527                 :            : /* 14 */ { 4, s_11_14, -1, 1},
     528                 :            : /* 15 */ { 5, s_11_15, 14, 1},
     529                 :            : /* 16 */ { 6, s_11_16, 15, 1},
     530                 :            : /* 17 */ { 6, s_11_17, 14, 3},
     531                 :            : /* 18 */ { 2, s_11_18, -1, 1},
     532                 :            : /* 19 */ { 3, s_11_19, 18, 1},
     533                 :            : /* 20 */ { 4, s_11_20, 19, 1},
     534                 :            : /* 21 */ { 3, s_11_21, 18, 1},
     535                 :            : /* 22 */ { 4, s_11_22, 21, 1},
     536                 :            : /* 23 */ { 4, s_11_23, 18, 2},
     537                 :            : /* 24 */ { 4, s_11_24, 18, 3},
     538                 :            : /* 25 */ { 3, s_11_25, -1, 1},
     539                 :            : /* 26 */ { 4, s_11_26, 25, 1},
     540                 :            : /* 27 */ { 5, s_11_27, 26, 1},
     541                 :            : /* 28 */ { 4, s_11_28, 25, 1},
     542                 :            : /* 29 */ { 5, s_11_29, 28, 1},
     543                 :            : /* 30 */ { 5, s_11_30, 25, 2},
     544                 :            : /* 31 */ { 5, s_11_31, 25, 3},
     545                 :            : /* 32 */ { 5, s_11_32, -1, 1},
     546                 :            : /* 33 */ { 6, s_11_33, 32, 1},
     547                 :            : /* 34 */ { 6, s_11_34, -1, 2},
     548                 :            : /* 35 */ { 2, s_11_35, -1, 1},
     549                 :            : /* 36 */ { 3, s_11_36, 35, 1},
     550                 :            : /* 37 */ { 4, s_11_37, 36, 1},
     551                 :            : /* 38 */ { 3, s_11_38, 35, 1},
     552                 :            : /* 39 */ { 4, s_11_39, 38, 1},
     553                 :            : /* 40 */ { 4, s_11_40, 35, 2},
     554                 :            : /* 41 */ { 4, s_11_41, 35, 3}
     555                 :            : };
     556                 :            : 
     557                 :            : static const unsigned char g_v[] = { 17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 17, 36, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1 };
     558                 :            : 
     559                 :            : static const symbol s_0[] = { 'a' };
     560                 :            : static const symbol s_1[] = { 'e' };
     561                 :            : static const symbol s_2[] = { 'e' };
     562                 :            : static const symbol s_3[] = { 'a' };
     563                 :            : static const symbol s_4[] = { 'a' };
     564                 :            : static const symbol s_5[] = { 'e' };
     565                 :            : static const symbol s_6[] = { 'a' };
     566                 :            : static const symbol s_7[] = { 'e' };
     567                 :            : static const symbol s_8[] = { 'e' };
     568                 :            : static const symbol s_9[] = { 'a' };
     569                 :            : static const symbol s_10[] = { 'a' };
     570                 :            : static const symbol s_11[] = { 'e' };
     571                 :            : static const symbol s_12[] = { 'a' };
     572                 :            : static const symbol s_13[] = { 'e' };
     573                 :            : 
     574                 :     100616 : int Xapian::InternalStemHungarian::r_mark_regions() { /* forwardmode */
     575                 :     100616 :     I_p1 = l; /* $p1 = <integer expression>, line 48 */
     576                 :     100616 :     {   int c1 = c; /* or, line 53 */
     577         [ +  + ]:     100616 :         if (in_grouping_U(g_v, 97, 369, 0)) goto lab1; /* grouping v, line 50 */
     578         [ +  + ]:      13173 :         if (in_grouping_U(g_v, 97, 369, 1) < 0) goto lab1; /* goto */ /* non v, line 50 */
     579                 :      12803 :         {   int c2 = c; /* or, line 51 */
     580 [ +  + ][ +  + ]:      12803 :             if (c + 1 >= l || p[c + 1] >> 5 != 3 || !((101187584 >> (p[c + 1] & 0x1f)) & 1)) goto lab3; /* among, line 51 */
                 [ +  + ]
     581         [ +  + ]:       1278 :             if (!(find_among(s_pool, a_0, 8, 0, 0))) goto lab3;
     582                 :        373 :             goto lab2;
     583                 :            :         lab3:
     584                 :      12430 :             c = c2;
     585                 :      12430 :             {   int ret = skip_utf8(p, c, 0, l, 1);
     586         [ -  + ]:      12430 :                 if (ret < 0) goto lab1;
     587                 :      12430 :                 c = ret; /* next, line 51 */
     588                 :            :             }
     589                 :            :         }
     590                 :            :     lab2:
     591                 :      12803 :         I_p1 = c; /* setmark p1, line 52 */
     592                 :      12803 :         goto lab0;
     593                 :            :     lab1:
     594                 :      87813 :         c = c1;
     595         [ +  + ]:      87813 :         if (out_grouping_U(g_v, 97, 369, 0)) return 0; /* non v, line 55 */
     596                 :            :         {    /* gopast */ /* grouping v, line 55 */
     597                 :      87443 :             int ret = out_grouping_U(g_v, 97, 369, 1);
     598         [ +  + ]:      87443 :             if (ret < 0) return 0;
     599                 :      76989 :             c += ret;
     600                 :            :         }
     601                 :      76989 :         I_p1 = c; /* setmark p1, line 55 */
     602                 :            :     }
     603                 :            : lab0:
     604                 :      89792 :     return 1;
     605                 :            : }
     606                 :            : 
     607                 :      58343 : int Xapian::InternalStemHungarian::r_R1() { /* backwardmode */
     608         [ +  + ]:      58343 :     if (!(I_p1 <= c)) return 0; /* $(<integer expression> <= <integer expression>), line 60 */
     609                 :      54566 :     return 1;
     610                 :            : }
     611                 :            : 
     612                 :      17795 : int Xapian::InternalStemHungarian::r_v_ending() { /* backwardmode */
     613                 :            :     int among_var;
     614                 :      17795 :     ket = c; /* [, line 63 */
     615 [ +  - ][ +  + ]:      17795 :     if (c - 1 <= lb || (p[c - 1] != 161 && p[c - 1] != 169)) return 0; /* substring, line 63 */
                 [ +  + ]
     616                 :       3450 :     among_var = find_among_b(s_pool, a_1, 2, 0, 0);
     617         [ +  + ]:       3450 :     if (!(among_var)) return 0;
     618                 :       3449 :     bra = c; /* ], line 63 */
     619                 :       3449 :     {   int ret = r_R1(); /* call R1, line 63 */
     620         [ +  + ]:       3449 :         if (ret <= 0) return ret;
     621                 :            :     }
     622      [ +  +  - ]:       3429 :     switch (among_var) { /* among, line 63 */
     623                 :            :         case 1:
     624                 :       2074 :             {   int ret = slice_from_s(1, s_0); /* <-, line 64 */
     625         [ -  + ]:       2074 :                 if (ret < 0) return ret;
     626                 :            :             }
     627                 :       2074 :             break;
     628                 :            :         case 2:
     629                 :       1355 :             {   int ret = slice_from_s(1, s_1); /* <-, line 65 */
     630         [ -  + ]:       1355 :                 if (ret < 0) return ret;
     631                 :            :             }
     632                 :       1355 :             break;
     633                 :            :     }
     634                 :       3429 :     return 1;
     635                 :            : }
     636                 :            : 
     637                 :       1730 : int Xapian::InternalStemHungarian::r_double() { /* backwardmode */
     638                 :       1730 :     {   int m_test1 = l - c; /* test, line 70 */
     639 [ +  - ][ +  + ]:       1730 :         if (c - 1 <= lb || p[c - 1] >> 5 != 3 || !((106790108 >> (p[c - 1] & 0x1f)) & 1)) return 0; /* among, line 70 */
                 [ +  + ]
     640         [ +  + ]:       1668 :         if (!(find_among_b(s_pool, a_2, 23, 0, 0))) return 0;
     641                 :        945 :         c = l - m_test1;
     642                 :            :     }
     643                 :        945 :     return 1;
     644                 :            : }
     645                 :            : 
     646                 :        945 : int Xapian::InternalStemHungarian::r_undouble() { /* backwardmode */
     647                 :        945 :     {   int ret = skip_utf8(p, c, lb, 0, -1);
     648         [ -  + ]:        945 :         if (ret < 0) return 0;
     649                 :        945 :         c = ret; /* next, line 75 */
     650                 :            :     }
     651                 :        945 :     ket = c; /* [, line 75 */
     652                 :        945 :     {   int ret = skip_utf8(p, c, lb, l, - 1); /* hop, line 75 */
     653         [ -  + ]:        945 :         if (ret < 0) return 0;
     654                 :        945 :         c = ret;
     655                 :            :     }
     656                 :        945 :     bra = c; /* ], line 75 */
     657         [ -  + ]:        945 :     if (slice_del() == -1) return -1; /* delete, line 75 */
     658                 :        945 :     return 1;
     659                 :            : }
     660                 :            : 
     661                 :     100616 : int Xapian::InternalStemHungarian::r_instrum() { /* backwardmode */
     662                 :     100616 :     ket = c; /* [, line 79 */
     663 [ +  + ][ +  + ]:     100616 :     if (c - 1 <= lb || p[c - 1] != 108) return 0; /* substring, line 79 */
     664         [ +  + ]:       5310 :     if (!(find_among_b(s_pool, a_3, 2, 0, 0))) return 0;
     665                 :       1521 :     bra = c; /* ], line 79 */
     666                 :       1521 :     {   int ret = r_R1(); /* call R1, line 79 */
     667         [ +  + ]:       1521 :         if (ret <= 0) return ret;
     668                 :            :     }
     669                 :       1491 :     {   int ret = r_double(); /* call double, line 80 */
     670         [ +  + ]:       1491 :         if (ret <= 0) return ret;
     671                 :            :     }
     672         [ -  + ]:        840 :     if (slice_del() == -1) return -1; /* delete, line 83 */
     673                 :        840 :     {   int ret = r_undouble(); /* call undouble, line 84 */
     674         [ -  + ]:        840 :         if (ret <= 0) return ret;
     675                 :            :     }
     676                 :        840 :     return 1;
     677                 :            : }
     678                 :            : 
     679                 :     100616 : int Xapian::InternalStemHungarian::r_case() { /* backwardmode */
     680                 :     100616 :     ket = c; /* [, line 89 */
     681         [ +  + ]:     100616 :     if (!(find_among_b(s_pool, a_4, 44, 0, 0))) return 0; /* substring, line 89 */
     682                 :      18644 :     bra = c; /* ], line 89 */
     683                 :      18644 :     {   int ret = r_R1(); /* call R1, line 89 */
     684         [ +  + ]:      18644 :         if (ret <= 0) return ret;
     685                 :            :     }
     686         [ -  + ]:      17795 :     if (slice_del() == -1) return -1; /* delete, line 113 */
     687                 :      17795 :     {   int ret = r_v_ending(); /* call v_ending, line 114 */
     688         [ +  + ]:      17795 :         if (ret <= 0) return ret;
     689                 :            :     }
     690                 :       3429 :     return 1;
     691                 :            : }
     692                 :            : 
     693                 :     100616 : int Xapian::InternalStemHungarian::r_case_special() { /* backwardmode */
     694                 :            :     int among_var;
     695                 :     100616 :     ket = c; /* [, line 118 */
     696 [ +  + ][ +  + ]:     100616 :     if (c - 2 <= lb || (p[c - 1] != 110 && p[c - 1] != 116)) return 0; /* substring, line 118 */
                 [ +  + ]
     697                 :       2539 :     among_var = find_among_b(s_pool, a_5, 3, 0, 0);
     698         [ +  + ]:       2539 :     if (!(among_var)) return 0;
     699                 :         23 :     bra = c; /* ], line 118 */
     700                 :         23 :     {   int ret = r_R1(); /* call R1, line 118 */
     701         [ +  + ]:         23 :         if (ret <= 0) return ret;
     702                 :            :     }
     703      [ +  +  - ]:         21 :     switch (among_var) { /* among, line 118 */
     704                 :            :         case 1:
     705                 :          4 :             {   int ret = slice_from_s(1, s_2); /* <-, line 119 */
     706         [ -  + ]:          4 :                 if (ret < 0) return ret;
     707                 :            :             }
     708                 :          4 :             break;
     709                 :            :         case 2:
     710                 :         17 :             {   int ret = slice_from_s(1, s_3); /* <-, line 120 */
     711         [ -  + ]:         17 :                 if (ret < 0) return ret;
     712                 :            :             }
     713                 :         17 :             break;
     714                 :            :     }
     715                 :         21 :     return 1;
     716                 :            : }
     717                 :            : 
     718                 :     100616 : int Xapian::InternalStemHungarian::r_case_other() { /* backwardmode */
     719                 :            :     int among_var;
     720                 :     100616 :     ket = c; /* [, line 126 */
     721 [ +  + ][ +  + ]:     100616 :     if (c - 3 <= lb || p[c - 1] != 108) return 0; /* substring, line 126 */
     722                 :       2959 :     among_var = find_among_b(s_pool, a_6, 6, 0, 0);
     723         [ +  + ]:       2959 :     if (!(among_var)) return 0;
     724                 :          1 :     bra = c; /* ], line 126 */
     725                 :          1 :     {   int ret = r_R1(); /* call R1, line 126 */
     726         [ -  + ]:          1 :         if (ret <= 0) return ret;
     727                 :            :     }
     728   [ +  -  -  - ]:          1 :     switch (among_var) { /* among, line 126 */
     729                 :            :         case 1:
     730         [ -  + ]:          1 :             if (slice_del() == -1) return -1; /* delete, line 127 */
     731                 :          1 :             break;
     732                 :            :         case 2:
     733                 :          0 :             {   int ret = slice_from_s(1, s_4); /* <-, line 129 */
     734         [ #  # ]:          0 :                 if (ret < 0) return ret;
     735                 :            :             }
     736                 :          0 :             break;
     737                 :            :         case 3:
     738                 :          0 :             {   int ret = slice_from_s(1, s_5); /* <-, line 130 */
     739         [ #  # ]:          0 :                 if (ret < 0) return ret;
     740                 :            :             }
     741                 :          0 :             break;
     742                 :            :     }
     743                 :          1 :     return 1;
     744                 :            : }
     745                 :            : 
     746                 :     100616 : int Xapian::InternalStemHungarian::r_factive() { /* backwardmode */
     747                 :     100616 :     ket = c; /* [, line 135 */
     748 [ +  + ][ +  + ]:     100616 :     if (c - 1 <= lb || (p[c - 1] != 161 && p[c - 1] != 169)) return 0; /* substring, line 135 */
                 [ +  + ]
     749         [ +  + ]:        331 :     if (!(find_among_b(s_pool, a_7, 2, 0, 0))) return 0;
     750                 :        266 :     bra = c; /* ], line 135 */
     751                 :        266 :     {   int ret = r_R1(); /* call R1, line 135 */
     752         [ +  + ]:        266 :         if (ret <= 0) return ret;
     753                 :            :     }
     754                 :        239 :     {   int ret = r_double(); /* call double, line 136 */
     755         [ +  + ]:        239 :         if (ret <= 0) return ret;
     756                 :            :     }
     757         [ -  + ]:        105 :     if (slice_del() == -1) return -1; /* delete, line 139 */
     758                 :        105 :     {   int ret = r_undouble(); /* call undouble, line 140 */
     759         [ -  + ]:        105 :         if (ret <= 0) return ret;
     760                 :            :     }
     761                 :        105 :     return 1;
     762                 :            : }
     763                 :            : 
     764                 :     100616 : int Xapian::InternalStemHungarian::r_plural() { /* backwardmode */
     765                 :            :     int among_var;
     766                 :     100616 :     ket = c; /* [, line 144 */
     767 [ +  - ][ +  + ]:     100616 :     if (c <= lb || p[c - 1] != 107) return 0; /* substring, line 144 */
     768                 :       7362 :     among_var = find_among_b(s_pool, a_8, 7, 0, 0);
     769         [ -  + ]:       7362 :     if (!(among_var)) return 0;
     770                 :       7362 :     bra = c; /* ], line 144 */
     771                 :       7362 :     {   int ret = r_R1(); /* call R1, line 144 */
     772         [ +  + ]:       7362 :         if (ret <= 0) return ret;
     773                 :            :     }
     774   [ +  +  +  - ]:       6894 :     switch (among_var) { /* among, line 144 */
     775                 :            :         case 1:
     776                 :        673 :             {   int ret = slice_from_s(1, s_6); /* <-, line 145 */
     777         [ -  + ]:        673 :                 if (ret < 0) return ret;
     778                 :            :             }
     779                 :        673 :             break;
     780                 :            :         case 2:
     781                 :        521 :             {   int ret = slice_from_s(1, s_7); /* <-, line 146 */
     782         [ -  + ]:        521 :                 if (ret < 0) return ret;
     783                 :            :             }
     784                 :        521 :             break;
     785                 :            :         case 3:
     786         [ -  + ]:       5700 :             if (slice_del() == -1) return -1; /* delete, line 147 */
     787                 :       5700 :             break;
     788                 :            :     }
     789                 :       6894 :     return 1;
     790                 :            : }
     791                 :            : 
     792                 :     100616 : int Xapian::InternalStemHungarian::r_owned() { /* backwardmode */
     793                 :            :     int among_var;
     794                 :     100616 :     ket = c; /* [, line 156 */
     795 [ +  + ][ +  + ]:     100616 :     if (c - 1 <= lb || (p[c - 1] != 105 && p[c - 1] != 169)) return 0; /* substring, line 156 */
                 [ +  + ]
     796                 :       4970 :     among_var = find_among_b(s_pool, a_9, 12, 0, 0);
     797         [ +  + ]:       4970 :     if (!(among_var)) return 0;
     798                 :        106 :     bra = c; /* ], line 156 */
     799                 :        106 :     {   int ret = r_R1(); /* call R1, line 156 */
     800         [ +  + ]:        106 :         if (ret <= 0) return ret;
     801                 :            :     }
     802   [ +  -  +  - ]:         97 :     switch (among_var) { /* among, line 156 */
     803                 :            :         case 1:
     804         [ -  + ]:         93 :             if (slice_del() == -1) return -1; /* delete, line 157 */
     805                 :         93 :             break;
     806                 :            :         case 2:
     807                 :          0 :             {   int ret = slice_from_s(1, s_8); /* <-, line 158 */
     808         [ #  # ]:          0 :                 if (ret < 0) return ret;
     809                 :            :             }
     810                 :          0 :             break;
     811                 :            :         case 3:
     812                 :          4 :             {   int ret = slice_from_s(1, s_9); /* <-, line 159 */
     813         [ -  + ]:          4 :                 if (ret < 0) return ret;
     814                 :            :             }
     815                 :          4 :             break;
     816                 :            :     }
     817                 :         97 :     return 1;
     818                 :            : }
     819                 :            : 
     820                 :     100616 : int Xapian::InternalStemHungarian::r_sing_owner() { /* backwardmode */
     821                 :            :     int among_var;
     822                 :     100616 :     ket = c; /* [, line 170 */
     823                 :     100616 :     among_var = find_among_b(s_pool, a_10, 31, 0, 0); /* substring, line 170 */
     824         [ +  + ]:     100616 :     if (!(among_var)) return 0;
     825                 :      20560 :     bra = c; /* ], line 170 */
     826                 :      20560 :     {   int ret = r_R1(); /* call R1, line 170 */
     827         [ +  + ]:      20560 :         if (ret <= 0) return ret;
     828                 :            :     }
     829   [ +  +  +  - ]:      18695 :     switch (among_var) { /* among, line 170 */
     830                 :            :         case 1:
     831         [ -  + ]:      18409 :             if (slice_del() == -1) return -1; /* delete, line 171 */
     832                 :      18409 :             break;
     833                 :            :         case 2:
     834                 :        211 :             {   int ret = slice_from_s(1, s_10); /* <-, line 172 */
     835         [ -  + ]:        211 :                 if (ret < 0) return ret;
     836                 :            :             }
     837                 :        211 :             break;
     838                 :            :         case 3:
     839                 :         75 :             {   int ret = slice_from_s(1, s_11); /* <-, line 173 */
     840         [ -  + ]:         75 :                 if (ret < 0) return ret;
     841                 :            :             }
     842                 :         75 :             break;
     843                 :            :     }
     844                 :      18695 :     return 1;
     845                 :            : }
     846                 :            : 
     847                 :     100616 : int Xapian::InternalStemHungarian::r_plur_owner() { /* backwardmode */
     848                 :            :     int among_var;
     849                 :     100616 :     ket = c; /* [, line 195 */
     850 [ +  - ][ +  + ]:     100616 :     if (c <= lb || p[c - 1] >> 5 != 3 || !((10768 >> (p[c - 1] & 0x1f)) & 1)) return 0; /* substring, line 195 */
                 [ +  + ]
     851                 :      15207 :     among_var = find_among_b(s_pool, a_11, 42, 0, 0);
     852         [ +  + ]:      15207 :     if (!(among_var)) return 0;
     853                 :       6411 :     bra = c; /* ], line 195 */
     854                 :       6411 :     {   int ret = r_R1(); /* call R1, line 195 */
     855         [ +  + ]:       6411 :         if (ret <= 0) return ret;
     856                 :            :     }
     857   [ +  +  -  - ]:       5904 :     switch (among_var) { /* among, line 195 */
     858                 :            :         case 1:
     859         [ -  + ]:       5849 :             if (slice_del() == -1) return -1; /* delete, line 196 */
     860                 :       5849 :             break;
     861                 :            :         case 2:
     862                 :         55 :             {   int ret = slice_from_s(1, s_12); /* <-, line 197 */
     863         [ -  + ]:         55 :                 if (ret < 0) return ret;
     864                 :            :             }
     865                 :         55 :             break;
     866                 :            :         case 3:
     867                 :          0 :             {   int ret = slice_from_s(1, s_13); /* <-, line 198 */
     868         [ #  # ]:          0 :                 if (ret < 0) return ret;
     869                 :            :             }
     870                 :          0 :             break;
     871                 :            :     }
     872                 :       5904 :     return 1;
     873                 :            : }
     874                 :            : 
     875                 :     100616 : int Xapian::InternalStemHungarian::stem() { /* forwardmode */
     876                 :     100616 :     {   int c1 = c; /* do, line 231 */
     877                 :     100616 :         {   int ret = r_mark_regions(); /* call mark_regions, line 231 */
     878         [ +  + ]:     100616 :             if (ret == 0) goto lab0;
     879         [ -  + ]:      89792 :             if (ret < 0) return ret;
     880                 :            :         }
     881                 :            :     lab0:
     882                 :     100616 :         c = c1;
     883                 :            :     }
     884                 :     100616 :     lb = c; c = l; /* backwards, line 232 */
     885                 :            : 
     886                 :     100616 :     {   int m2 = l - c; (void)m2; /* do, line 233 */
     887                 :     100616 :         {   int ret = r_instrum(); /* call instrum, line 233 */
     888         [ +  + ]:     100616 :             if (ret == 0) goto lab1;
     889         [ -  + ]:        840 :             if (ret < 0) return ret;
     890                 :            :         }
     891                 :            :     lab1:
     892                 :     100616 :         c = l - m2;
     893                 :            :     }
     894                 :     100616 :     {   int m3 = l - c; (void)m3; /* do, line 234 */
     895                 :     100616 :         {   int ret = r_case(); /* call case, line 234 */
     896         [ +  + ]:     100616 :             if (ret == 0) goto lab2;
     897         [ -  + ]:       3429 :             if (ret < 0) return ret;
     898                 :            :         }
     899                 :            :     lab2:
     900                 :     100616 :         c = l - m3;
     901                 :            :     }
     902                 :     100616 :     {   int m4 = l - c; (void)m4; /* do, line 235 */
     903                 :     100616 :         {   int ret = r_case_special(); /* call case_special, line 235 */
     904         [ +  + ]:     100616 :             if (ret == 0) goto lab3;
     905         [ -  + ]:         21 :             if (ret < 0) return ret;
     906                 :            :         }
     907                 :            :     lab3:
     908                 :     100616 :         c = l - m4;
     909                 :            :     }
     910                 :     100616 :     {   int m5 = l - c; (void)m5; /* do, line 236 */
     911                 :     100616 :         {   int ret = r_case_other(); /* call case_other, line 236 */
     912         [ +  + ]:     100616 :             if (ret == 0) goto lab4;
     913         [ -  + ]:          1 :             if (ret < 0) return ret;
     914                 :            :         }
     915                 :            :     lab4:
     916                 :     100616 :         c = l - m5;
     917                 :            :     }
     918                 :     100616 :     {   int m6 = l - c; (void)m6; /* do, line 237 */
     919                 :     100616 :         {   int ret = r_factive(); /* call factive, line 237 */
     920         [ +  + ]:     100616 :             if (ret == 0) goto lab5;
     921         [ -  + ]:        105 :             if (ret < 0) return ret;
     922                 :            :         }
     923                 :            :     lab5:
     924                 :     100616 :         c = l - m6;
     925                 :            :     }
     926                 :     100616 :     {   int m7 = l - c; (void)m7; /* do, line 238 */
     927                 :     100616 :         {   int ret = r_owned(); /* call owned, line 238 */
     928         [ +  + ]:     100616 :             if (ret == 0) goto lab6;
     929         [ -  + ]:         97 :             if (ret < 0) return ret;
     930                 :            :         }
     931                 :            :     lab6:
     932                 :     100616 :         c = l - m7;
     933                 :            :     }
     934                 :     100616 :     {   int m8 = l - c; (void)m8; /* do, line 239 */
     935                 :     100616 :         {   int ret = r_sing_owner(); /* call sing_owner, line 239 */
     936         [ +  + ]:     100616 :             if (ret == 0) goto lab7;
     937         [ -  + ]:      18695 :             if (ret < 0) return ret;
     938                 :            :         }
     939                 :            :     lab7:
     940                 :     100616 :         c = l - m8;
     941                 :            :     }
     942                 :     100616 :     {   int m9 = l - c; (void)m9; /* do, line 240 */
     943                 :     100616 :         {   int ret = r_plur_owner(); /* call plur_owner, line 240 */
     944         [ +  + ]:     100616 :             if (ret == 0) goto lab8;
     945         [ -  + ]:       5904 :             if (ret < 0) return ret;
     946                 :            :         }
     947                 :            :     lab8:
     948                 :     100616 :         c = l - m9;
     949                 :            :     }
     950                 :     100616 :     {   int m10 = l - c; (void)m10; /* do, line 241 */
     951                 :     100616 :         {   int ret = r_plural(); /* call plural, line 241 */
     952         [ +  + ]:     100616 :             if (ret == 0) goto lab9;
     953         [ -  + ]:       6894 :             if (ret < 0) return ret;
     954                 :            :         }
     955                 :            :     lab9:
     956                 :     100616 :         c = l - m10;
     957                 :            :     }
     958                 :     100616 :     c = lb;
     959                 :     100616 :     return 1;
     960                 :            : }
     961                 :            : 
     962                 :          3 : Xapian::InternalStemHungarian::InternalStemHungarian()
     963                 :          3 :     : I_p1(0)
     964                 :            : {
     965                 :          3 : }
     966                 :            : 
     967                 :          9 : Xapian::InternalStemHungarian::~InternalStemHungarian()
     968                 :            : {
     969         [ -  + ]:          6 : }
     970                 :            : 
     971                 :            : std::string
     972                 :          1 : Xapian::InternalStemHungarian::get_description() const
     973                 :            : {
     974         [ +  - ]:          1 :     return "hungarian";
     975                 :            : }

Generated by: LCOV version 1.11