LCOV - code coverage report
Current view: top level - languages - hungarian.cc (source / functions) Hit Total Coverage
Test: Test Coverage for xapian-core r Lines: 337 404 83.4 %
Date: 2011-08-21 Functions: 18 21 85.7 %
Branches: 260 426 61.0 %

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

Generated by: LCOV version 1.8