LCOV - code coverage report
Current view: top level - src/backend/snowball/libstemmer - stem_UTF_8_hungarian.c (source / functions) Hit Total Coverage
Test: PostgreSQL 19devel Lines: 0 269 0.0 %
Date: 2026-01-10 07:17:08 Functions: 0 17 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /* Generated from hungarian.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
       2             : 
       3             : #include "stem_UTF_8_hungarian.h"
       4             : 
       5             : #include <stddef.h>
       6             : 
       7             : #include "snowball_runtime.h"
       8             : 
       9             : struct SN_local {
      10             :     struct SN_env z;
      11             :     int i_p1;
      12             : };
      13             : 
      14             : typedef struct SN_local SN_local;
      15             : 
      16             : #ifdef __cplusplus
      17             : extern "C" {
      18             : #endif
      19             : extern int hungarian_UTF_8_stem(struct SN_env * z);
      20             : #ifdef __cplusplus
      21             : }
      22             : #endif
      23             : 
      24             : static int r_double(struct SN_env * z);
      25             : static int r_undouble(struct SN_env * z);
      26             : static int r_factive(struct SN_env * z);
      27             : static int r_instrum(struct SN_env * z);
      28             : static int r_plur_owner(struct SN_env * z);
      29             : static int r_sing_owner(struct SN_env * z);
      30             : static int r_owned(struct SN_env * z);
      31             : static int r_plural(struct SN_env * z);
      32             : static int r_case_other(struct SN_env * z);
      33             : static int r_case_special(struct SN_env * z);
      34             : static int r_case(struct SN_env * z);
      35             : static int r_v_ending(struct SN_env * z);
      36             : static int r_R1(struct SN_env * z);
      37             : static int r_mark_regions(struct SN_env * z);
      38             : 
      39             : static const symbol s_0[] = { 'a' };
      40             : static const symbol s_1[] = { 'e' };
      41             : static const symbol s_2[] = { 'e' };
      42             : static const symbol s_3[] = { 'a' };
      43             : static const symbol s_4[] = { 'a' };
      44             : static const symbol s_5[] = { 'e' };
      45             : static const symbol s_6[] = { 'a' };
      46             : static const symbol s_7[] = { 'e' };
      47             : static const symbol s_8[] = { 'e' };
      48             : static const symbol s_9[] = { 'a' };
      49             : static const symbol s_10[] = { 'a' };
      50             : static const symbol s_11[] = { 'e' };
      51             : static const symbol s_12[] = { 'a' };
      52             : static const symbol s_13[] = { 'e' };
      53             : 
      54             : static const symbol s_0_0[2] = { 0xC3, 0xA1 };
      55             : static const symbol s_0_1[2] = { 0xC3, 0xA9 };
      56             : static const struct among a_0[2] = {
      57             : { 2, s_0_0, 0, 1, 0},
      58             : { 2, s_0_1, 0, 2, 0}
      59             : };
      60             : 
      61             : static const symbol s_1_0[2] = { 'b', 'b' };
      62             : static const symbol s_1_1[2] = { 'c', 'c' };
      63             : static const symbol s_1_2[2] = { 'd', 'd' };
      64             : static const symbol s_1_3[2] = { 'f', 'f' };
      65             : static const symbol s_1_4[2] = { 'g', 'g' };
      66             : static const symbol s_1_5[2] = { 'j', 'j' };
      67             : static const symbol s_1_6[2] = { 'k', 'k' };
      68             : static const symbol s_1_7[2] = { 'l', 'l' };
      69             : static const symbol s_1_8[2] = { 'm', 'm' };
      70             : static const symbol s_1_9[2] = { 'n', 'n' };
      71             : static const symbol s_1_10[2] = { 'p', 'p' };
      72             : static const symbol s_1_11[2] = { 'r', 'r' };
      73             : static const symbol s_1_12[3] = { 'c', 'c', 's' };
      74             : static const symbol s_1_13[2] = { 's', 's' };
      75             : static const symbol s_1_14[3] = { 'z', 'z', 's' };
      76             : static const symbol s_1_15[2] = { 't', 't' };
      77             : static const symbol s_1_16[2] = { 'v', 'v' };
      78             : static const symbol s_1_17[3] = { 'g', 'g', 'y' };
      79             : static const symbol s_1_18[3] = { 'l', 'l', 'y' };
      80             : static const symbol s_1_19[3] = { 'n', 'n', 'y' };
      81             : static const symbol s_1_20[3] = { 't', 't', 'y' };
      82             : static const symbol s_1_21[3] = { 's', 's', 'z' };
      83             : static const symbol s_1_22[2] = { 'z', 'z' };
      84             : static const struct among a_1[23] = {
      85             : { 2, s_1_0, 0, -1, 0},
      86             : { 2, s_1_1, 0, -1, 0},
      87             : { 2, s_1_2, 0, -1, 0},
      88             : { 2, s_1_3, 0, -1, 0},
      89             : { 2, s_1_4, 0, -1, 0},
      90             : { 2, s_1_5, 0, -1, 0},
      91             : { 2, s_1_6, 0, -1, 0},
      92             : { 2, s_1_7, 0, -1, 0},
      93             : { 2, s_1_8, 0, -1, 0},
      94             : { 2, s_1_9, 0, -1, 0},
      95             : { 2, s_1_10, 0, -1, 0},
      96             : { 2, s_1_11, 0, -1, 0},
      97             : { 3, s_1_12, 0, -1, 0},
      98             : { 2, s_1_13, 0, -1, 0},
      99             : { 3, s_1_14, 0, -1, 0},
     100             : { 2, s_1_15, 0, -1, 0},
     101             : { 2, s_1_16, 0, -1, 0},
     102             : { 3, s_1_17, 0, -1, 0},
     103             : { 3, s_1_18, 0, -1, 0},
     104             : { 3, s_1_19, 0, -1, 0},
     105             : { 3, s_1_20, 0, -1, 0},
     106             : { 3, s_1_21, 0, -1, 0},
     107             : { 2, s_1_22, 0, -1, 0}
     108             : };
     109             : 
     110             : static const symbol s_2_0[2] = { 'a', 'l' };
     111             : static const symbol s_2_1[2] = { 'e', 'l' };
     112             : static const struct among a_2[2] = {
     113             : { 2, s_2_0, 0, 1, 0},
     114             : { 2, s_2_1, 0, 1, 0}
     115             : };
     116             : 
     117             : static const symbol s_3_0[2] = { 'b', 'a' };
     118             : static const symbol s_3_1[2] = { 'r', 'a' };
     119             : static const symbol s_3_2[2] = { 'b', 'e' };
     120             : static const symbol s_3_3[2] = { 'r', 'e' };
     121             : static const symbol s_3_4[2] = { 'i', 'g' };
     122             : static const symbol s_3_5[3] = { 'n', 'a', 'k' };
     123             : static const symbol s_3_6[3] = { 'n', 'e', 'k' };
     124             : static const symbol s_3_7[3] = { 'v', 'a', 'l' };
     125             : static const symbol s_3_8[3] = { 'v', 'e', 'l' };
     126             : static const symbol s_3_9[2] = { 'u', 'l' };
     127             : static const symbol s_3_10[4] = { 'b', 0xC5, 0x91, 'l' };
     128             : static const symbol s_3_11[4] = { 'r', 0xC5, 0x91, 'l' };
     129             : static const symbol s_3_12[4] = { 't', 0xC5, 0x91, 'l' };
     130             : static const symbol s_3_13[4] = { 'n', 0xC3, 0xA1, 'l' };
     131             : static const symbol s_3_14[4] = { 'n', 0xC3, 0xA9, 'l' };
     132             : static const symbol s_3_15[4] = { 'b', 0xC3, 0xB3, 'l' };
     133             : static const symbol s_3_16[4] = { 'r', 0xC3, 0xB3, 'l' };
     134             : static const symbol s_3_17[4] = { 't', 0xC3, 0xB3, 'l' };
     135             : static const symbol s_3_18[3] = { 0xC3, 0xBC, 'l' };
     136             : static const symbol s_3_19[1] = { 'n' };
     137             : static const symbol s_3_20[2] = { 'a', 'n' };
     138             : static const symbol s_3_21[3] = { 'b', 'a', 'n' };
     139             : static const symbol s_3_22[2] = { 'e', 'n' };
     140             : static const symbol s_3_23[3] = { 'b', 'e', 'n' };
     141             : static const symbol s_3_24[7] = { 'k', 0xC3, 0xA9, 'p', 'p', 'e', 'n' };
     142             : static const symbol s_3_25[2] = { 'o', 'n' };
     143             : static const symbol s_3_26[3] = { 0xC3, 0xB6, 'n' };
     144             : static const symbol s_3_27[5] = { 'k', 0xC3, 0xA9, 'p', 'p' };
     145             : static const symbol s_3_28[3] = { 'k', 'o', 'r' };
     146             : static const symbol s_3_29[1] = { 't' };
     147             : static const symbol s_3_30[2] = { 'a', 't' };
     148             : static const symbol s_3_31[2] = { 'e', 't' };
     149             : static const symbol s_3_32[5] = { 'k', 0xC3, 0xA9, 'n', 't' };
     150             : static const symbol s_3_33[7] = { 'a', 'n', 'k', 0xC3, 0xA9, 'n', 't' };
     151             : static const symbol s_3_34[7] = { 'e', 'n', 'k', 0xC3, 0xA9, 'n', 't' };
     152             : static const symbol s_3_35[7] = { 'o', 'n', 'k', 0xC3, 0xA9, 'n', 't' };
     153             : static const symbol s_3_36[2] = { 'o', 't' };
     154             : static const symbol s_3_37[4] = { 0xC3, 0xA9, 'r', 't' };
     155             : static const symbol s_3_38[3] = { 0xC3, 0xB6, 't' };
     156             : static const symbol s_3_39[3] = { 'h', 'e', 'z' };
     157             : static const symbol s_3_40[3] = { 'h', 'o', 'z' };
     158             : static const symbol s_3_41[4] = { 'h', 0xC3, 0xB6, 'z' };
     159             : static const symbol s_3_42[3] = { 'v', 0xC3, 0xA1 };
     160             : static const symbol s_3_43[3] = { 'v', 0xC3, 0xA9 };
     161             : static const struct among a_3[44] = {
     162             : { 2, s_3_0, 0, -1, 0},
     163             : { 2, s_3_1, 0, -1, 0},
     164             : { 2, s_3_2, 0, -1, 0},
     165             : { 2, s_3_3, 0, -1, 0},
     166             : { 2, s_3_4, 0, -1, 0},
     167             : { 3, s_3_5, 0, -1, 0},
     168             : { 3, s_3_6, 0, -1, 0},
     169             : { 3, s_3_7, 0, -1, 0},
     170             : { 3, s_3_8, 0, -1, 0},
     171             : { 2, s_3_9, 0, -1, 0},
     172             : { 4, s_3_10, 0, -1, 0},
     173             : { 4, s_3_11, 0, -1, 0},
     174             : { 4, s_3_12, 0, -1, 0},
     175             : { 4, s_3_13, 0, -1, 0},
     176             : { 4, s_3_14, 0, -1, 0},
     177             : { 4, s_3_15, 0, -1, 0},
     178             : { 4, s_3_16, 0, -1, 0},
     179             : { 4, s_3_17, 0, -1, 0},
     180             : { 3, s_3_18, 0, -1, 0},
     181             : { 1, s_3_19, 0, -1, 0},
     182             : { 2, s_3_20, -1, -1, 0},
     183             : { 3, s_3_21, -1, -1, 0},
     184             : { 2, s_3_22, -3, -1, 0},
     185             : { 3, s_3_23, -1, -1, 0},
     186             : { 7, s_3_24, -2, -1, 0},
     187             : { 2, s_3_25, -6, -1, 0},
     188             : { 3, s_3_26, -7, -1, 0},
     189             : { 5, s_3_27, 0, -1, 0},
     190             : { 3, s_3_28, 0, -1, 0},
     191             : { 1, s_3_29, 0, -1, 0},
     192             : { 2, s_3_30, -1, -1, 0},
     193             : { 2, s_3_31, -2, -1, 0},
     194             : { 5, s_3_32, -3, -1, 0},
     195             : { 7, s_3_33, -1, -1, 0},
     196             : { 7, s_3_34, -2, -1, 0},
     197             : { 7, s_3_35, -3, -1, 0},
     198             : { 2, s_3_36, -7, -1, 0},
     199             : { 4, s_3_37, -8, -1, 0},
     200             : { 3, s_3_38, -9, -1, 0},
     201             : { 3, s_3_39, 0, -1, 0},
     202             : { 3, s_3_40, 0, -1, 0},
     203             : { 4, s_3_41, 0, -1, 0},
     204             : { 3, s_3_42, 0, -1, 0},
     205             : { 3, s_3_43, 0, -1, 0}
     206             : };
     207             : 
     208             : static const symbol s_4_0[3] = { 0xC3, 0xA1, 'n' };
     209             : static const symbol s_4_1[3] = { 0xC3, 0xA9, 'n' };
     210             : static const symbol s_4_2[8] = { 0xC3, 0xA1, 'n', 'k', 0xC3, 0xA9, 'n', 't' };
     211             : static const struct among a_4[3] = {
     212             : { 3, s_4_0, 0, 2, 0},
     213             : { 3, s_4_1, 0, 1, 0},
     214             : { 8, s_4_2, 0, 2, 0}
     215             : };
     216             : 
     217             : static const symbol s_5_0[4] = { 's', 't', 'u', 'l' };
     218             : static const symbol s_5_1[5] = { 'a', 's', 't', 'u', 'l' };
     219             : static const symbol s_5_2[6] = { 0xC3, 0xA1, 's', 't', 'u', 'l' };
     220             : static const symbol s_5_3[5] = { 's', 't', 0xC3, 0xBC, 'l' };
     221             : static const symbol s_5_4[6] = { 'e', 's', 't', 0xC3, 0xBC, 'l' };
     222             : static const symbol s_5_5[7] = { 0xC3, 0xA9, 's', 't', 0xC3, 0xBC, 'l' };
     223             : static const struct among a_5[6] = {
     224             : { 4, s_5_0, 0, 1, 0},
     225             : { 5, s_5_1, -1, 1, 0},
     226             : { 6, s_5_2, -2, 2, 0},
     227             : { 5, s_5_3, 0, 1, 0},
     228             : { 6, s_5_4, -1, 1, 0},
     229             : { 7, s_5_5, -2, 3, 0}
     230             : };
     231             : 
     232             : static const symbol s_6_0[2] = { 0xC3, 0xA1 };
     233             : static const symbol s_6_1[2] = { 0xC3, 0xA9 };
     234             : static const struct among a_6[2] = {
     235             : { 2, s_6_0, 0, 1, 0},
     236             : { 2, s_6_1, 0, 1, 0}
     237             : };
     238             : 
     239             : static const symbol s_7_0[1] = { 'k' };
     240             : static const symbol s_7_1[2] = { 'a', 'k' };
     241             : static const symbol s_7_2[2] = { 'e', 'k' };
     242             : static const symbol s_7_3[2] = { 'o', 'k' };
     243             : static const symbol s_7_4[3] = { 0xC3, 0xA1, 'k' };
     244             : static const symbol s_7_5[3] = { 0xC3, 0xA9, 'k' };
     245             : static const symbol s_7_6[3] = { 0xC3, 0xB6, 'k' };
     246             : static const struct among a_7[7] = {
     247             : { 1, s_7_0, 0, 3, 0},
     248             : { 2, s_7_1, -1, 3, 0},
     249             : { 2, s_7_2, -2, 3, 0},
     250             : { 2, s_7_3, -3, 3, 0},
     251             : { 3, s_7_4, -4, 1, 0},
     252             : { 3, s_7_5, -5, 2, 0},
     253             : { 3, s_7_6, -6, 3, 0}
     254             : };
     255             : 
     256             : static const symbol s_8_0[3] = { 0xC3, 0xA9, 'i' };
     257             : static const symbol s_8_1[5] = { 0xC3, 0xA1, 0xC3, 0xA9, 'i' };
     258             : static const symbol s_8_2[5] = { 0xC3, 0xA9, 0xC3, 0xA9, 'i' };
     259             : static const symbol s_8_3[2] = { 0xC3, 0xA9 };
     260             : static const symbol s_8_4[3] = { 'k', 0xC3, 0xA9 };
     261             : static const symbol s_8_5[4] = { 'a', 'k', 0xC3, 0xA9 };
     262             : static const symbol s_8_6[4] = { 'e', 'k', 0xC3, 0xA9 };
     263             : static const symbol s_8_7[4] = { 'o', 'k', 0xC3, 0xA9 };
     264             : static const symbol s_8_8[5] = { 0xC3, 0xA1, 'k', 0xC3, 0xA9 };
     265             : static const symbol s_8_9[5] = { 0xC3, 0xA9, 'k', 0xC3, 0xA9 };
     266             : static const symbol s_8_10[5] = { 0xC3, 0xB6, 'k', 0xC3, 0xA9 };
     267             : static const symbol s_8_11[4] = { 0xC3, 0xA9, 0xC3, 0xA9 };
     268             : static const struct among a_8[12] = {
     269             : { 3, s_8_0, 0, 1, 0},
     270             : { 5, s_8_1, -1, 3, 0},
     271             : { 5, s_8_2, -2, 2, 0},
     272             : { 2, s_8_3, 0, 1, 0},
     273             : { 3, s_8_4, -1, 1, 0},
     274             : { 4, s_8_5, -1, 1, 0},
     275             : { 4, s_8_6, -2, 1, 0},
     276             : { 4, s_8_7, -3, 1, 0},
     277             : { 5, s_8_8, -4, 3, 0},
     278             : { 5, s_8_9, -5, 2, 0},
     279             : { 5, s_8_10, -6, 1, 0},
     280             : { 4, s_8_11, -8, 2, 0}
     281             : };
     282             : 
     283             : static const symbol s_9_0[1] = { 'a' };
     284             : static const symbol s_9_1[2] = { 'j', 'a' };
     285             : static const symbol s_9_2[1] = { 'd' };
     286             : static const symbol s_9_3[2] = { 'a', 'd' };
     287             : static const symbol s_9_4[2] = { 'e', 'd' };
     288             : static const symbol s_9_5[2] = { 'o', 'd' };
     289             : static const symbol s_9_6[3] = { 0xC3, 0xA1, 'd' };
     290             : static const symbol s_9_7[3] = { 0xC3, 0xA9, 'd' };
     291             : static const symbol s_9_8[3] = { 0xC3, 0xB6, 'd' };
     292             : static const symbol s_9_9[1] = { 'e' };
     293             : static const symbol s_9_10[2] = { 'j', 'e' };
     294             : static const symbol s_9_11[2] = { 'n', 'k' };
     295             : static const symbol s_9_12[3] = { 'u', 'n', 'k' };
     296             : static const symbol s_9_13[4] = { 0xC3, 0xA1, 'n', 'k' };
     297             : static const symbol s_9_14[4] = { 0xC3, 0xA9, 'n', 'k' };
     298             : static const symbol s_9_15[4] = { 0xC3, 0xBC, 'n', 'k' };
     299             : static const symbol s_9_16[2] = { 'u', 'k' };
     300             : static const symbol s_9_17[3] = { 'j', 'u', 'k' };
     301             : static const symbol s_9_18[5] = { 0xC3, 0xA1, 'j', 'u', 'k' };
     302             : static const symbol s_9_19[3] = { 0xC3, 0xBC, 'k' };
     303             : static const symbol s_9_20[4] = { 'j', 0xC3, 0xBC, 'k' };
     304             : static const symbol s_9_21[6] = { 0xC3, 0xA9, 'j', 0xC3, 0xBC, 'k' };
     305             : static const symbol s_9_22[1] = { 'm' };
     306             : static const symbol s_9_23[2] = { 'a', 'm' };
     307             : static const symbol s_9_24[2] = { 'e', 'm' };
     308             : static const symbol s_9_25[2] = { 'o', 'm' };
     309             : static const symbol s_9_26[3] = { 0xC3, 0xA1, 'm' };
     310             : static const symbol s_9_27[3] = { 0xC3, 0xA9, 'm' };
     311             : static const symbol s_9_28[1] = { 'o' };
     312             : static const symbol s_9_29[2] = { 0xC3, 0xA1 };
     313             : static const symbol s_9_30[2] = { 0xC3, 0xA9 };
     314             : static const struct among a_9[31] = {
     315             : { 1, s_9_0, 0, 1, 0},
     316             : { 2, s_9_1, -1, 1, 0},
     317             : { 1, s_9_2, 0, 1, 0},
     318             : { 2, s_9_3, -1, 1, 0},
     319             : { 2, s_9_4, -2, 1, 0},
     320             : { 2, s_9_5, -3, 1, 0},
     321             : { 3, s_9_6, -4, 2, 0},
     322             : { 3, s_9_7, -5, 3, 0},
     323             : { 3, s_9_8, -6, 1, 0},
     324             : { 1, s_9_9, 0, 1, 0},
     325             : { 2, s_9_10, -1, 1, 0},
     326             : { 2, s_9_11, 0, 1, 0},
     327             : { 3, s_9_12, -1, 1, 0},
     328             : { 4, s_9_13, -2, 2, 0},
     329             : { 4, s_9_14, -3, 3, 0},
     330             : { 4, s_9_15, -4, 1, 0},
     331             : { 2, s_9_16, 0, 1, 0},
     332             : { 3, s_9_17, -1, 1, 0},
     333             : { 5, s_9_18, -1, 2, 0},
     334             : { 3, s_9_19, 0, 1, 0},
     335             : { 4, s_9_20, -1, 1, 0},
     336             : { 6, s_9_21, -1, 3, 0},
     337             : { 1, s_9_22, 0, 1, 0},
     338             : { 2, s_9_23, -1, 1, 0},
     339             : { 2, s_9_24, -2, 1, 0},
     340             : { 2, s_9_25, -3, 1, 0},
     341             : { 3, s_9_26, -4, 2, 0},
     342             : { 3, s_9_27, -5, 3, 0},
     343             : { 1, s_9_28, 0, 1, 0},
     344             : { 2, s_9_29, 0, 2, 0},
     345             : { 2, s_9_30, 0, 3, 0}
     346             : };
     347             : 
     348             : static const symbol s_10_0[2] = { 'i', 'd' };
     349             : static const symbol s_10_1[3] = { 'a', 'i', 'd' };
     350             : static const symbol s_10_2[4] = { 'j', 'a', 'i', 'd' };
     351             : static const symbol s_10_3[3] = { 'e', 'i', 'd' };
     352             : static const symbol s_10_4[4] = { 'j', 'e', 'i', 'd' };
     353             : static const symbol s_10_5[4] = { 0xC3, 0xA1, 'i', 'd' };
     354             : static const symbol s_10_6[4] = { 0xC3, 0xA9, 'i', 'd' };
     355             : static const symbol s_10_7[1] = { 'i' };
     356             : static const symbol s_10_8[2] = { 'a', 'i' };
     357             : static const symbol s_10_9[3] = { 'j', 'a', 'i' };
     358             : static const symbol s_10_10[2] = { 'e', 'i' };
     359             : static const symbol s_10_11[3] = { 'j', 'e', 'i' };
     360             : static const symbol s_10_12[3] = { 0xC3, 0xA1, 'i' };
     361             : static const symbol s_10_13[3] = { 0xC3, 0xA9, 'i' };
     362             : static const symbol s_10_14[4] = { 'i', 't', 'e', 'k' };
     363             : static const symbol s_10_15[5] = { 'e', 'i', 't', 'e', 'k' };
     364             : static const symbol s_10_16[6] = { 'j', 'e', 'i', 't', 'e', 'k' };
     365             : static const symbol s_10_17[6] = { 0xC3, 0xA9, 'i', 't', 'e', 'k' };
     366             : static const symbol s_10_18[2] = { 'i', 'k' };
     367             : static const symbol s_10_19[3] = { 'a', 'i', 'k' };
     368             : static const symbol s_10_20[4] = { 'j', 'a', 'i', 'k' };
     369             : static const symbol s_10_21[3] = { 'e', 'i', 'k' };
     370             : static const symbol s_10_22[4] = { 'j', 'e', 'i', 'k' };
     371             : static const symbol s_10_23[4] = { 0xC3, 0xA1, 'i', 'k' };
     372             : static const symbol s_10_24[4] = { 0xC3, 0xA9, 'i', 'k' };
     373             : static const symbol s_10_25[3] = { 'i', 'n', 'k' };
     374             : static const symbol s_10_26[4] = { 'a', 'i', 'n', 'k' };
     375             : static const symbol s_10_27[5] = { 'j', 'a', 'i', 'n', 'k' };
     376             : static const symbol s_10_28[4] = { 'e', 'i', 'n', 'k' };
     377             : static const symbol s_10_29[5] = { 'j', 'e', 'i', 'n', 'k' };
     378             : static const symbol s_10_30[5] = { 0xC3, 0xA1, 'i', 'n', 'k' };
     379             : static const symbol s_10_31[5] = { 0xC3, 0xA9, 'i', 'n', 'k' };
     380             : static const symbol s_10_32[5] = { 'a', 'i', 't', 'o', 'k' };
     381             : static const symbol s_10_33[6] = { 'j', 'a', 'i', 't', 'o', 'k' };
     382             : static const symbol s_10_34[6] = { 0xC3, 0xA1, 'i', 't', 'o', 'k' };
     383             : static const symbol s_10_35[2] = { 'i', 'm' };
     384             : static const symbol s_10_36[3] = { 'a', 'i', 'm' };
     385             : static const symbol s_10_37[4] = { 'j', 'a', 'i', 'm' };
     386             : static const symbol s_10_38[3] = { 'e', 'i', 'm' };
     387             : static const symbol s_10_39[4] = { 'j', 'e', 'i', 'm' };
     388             : static const symbol s_10_40[4] = { 0xC3, 0xA1, 'i', 'm' };
     389             : static const symbol s_10_41[4] = { 0xC3, 0xA9, 'i', 'm' };
     390             : static const struct among a_10[42] = {
     391             : { 2, s_10_0, 0, 1, 0},
     392             : { 3, s_10_1, -1, 1, 0},
     393             : { 4, s_10_2, -1, 1, 0},
     394             : { 3, s_10_3, -3, 1, 0},
     395             : { 4, s_10_4, -1, 1, 0},
     396             : { 4, s_10_5, -5, 2, 0},
     397             : { 4, s_10_6, -6, 3, 0},
     398             : { 1, s_10_7, 0, 1, 0},
     399             : { 2, s_10_8, -1, 1, 0},
     400             : { 3, s_10_9, -1, 1, 0},
     401             : { 2, s_10_10, -3, 1, 0},
     402             : { 3, s_10_11, -1, 1, 0},
     403             : { 3, s_10_12, -5, 2, 0},
     404             : { 3, s_10_13, -6, 3, 0},
     405             : { 4, s_10_14, 0, 1, 0},
     406             : { 5, s_10_15, -1, 1, 0},
     407             : { 6, s_10_16, -1, 1, 0},
     408             : { 6, s_10_17, -3, 3, 0},
     409             : { 2, s_10_18, 0, 1, 0},
     410             : { 3, s_10_19, -1, 1, 0},
     411             : { 4, s_10_20, -1, 1, 0},
     412             : { 3, s_10_21, -3, 1, 0},
     413             : { 4, s_10_22, -1, 1, 0},
     414             : { 4, s_10_23, -5, 2, 0},
     415             : { 4, s_10_24, -6, 3, 0},
     416             : { 3, s_10_25, 0, 1, 0},
     417             : { 4, s_10_26, -1, 1, 0},
     418             : { 5, s_10_27, -1, 1, 0},
     419             : { 4, s_10_28, -3, 1, 0},
     420             : { 5, s_10_29, -1, 1, 0},
     421             : { 5, s_10_30, -5, 2, 0},
     422             : { 5, s_10_31, -6, 3, 0},
     423             : { 5, s_10_32, 0, 1, 0},
     424             : { 6, s_10_33, -1, 1, 0},
     425             : { 6, s_10_34, 0, 2, 0},
     426             : { 2, s_10_35, 0, 1, 0},
     427             : { 3, s_10_36, -1, 1, 0},
     428             : { 4, s_10_37, -1, 1, 0},
     429             : { 3, s_10_38, -3, 1, 0},
     430             : { 4, s_10_39, -1, 1, 0},
     431             : { 4, s_10_40, -5, 2, 0},
     432             : { 4, s_10_41, -6, 3, 0}
     433             : };
     434             : 
     435             : 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 };
     436             : 
     437           0 : static int r_mark_regions(struct SN_env * z) {
     438           0 :     ((SN_local *)z)->i_p1 = z->l;
     439             :     do {
     440           0 :         int v_1 = z->c;
     441           0 :         if (in_grouping_U(z, g_v, 97, 369, 0)) goto lab0;
     442             :         {
     443           0 :             int v_2 = z->c;
     444             :             {
     445           0 :                 int ret = in_grouping_U(z, g_v, 97, 369, 1);
     446           0 :                 if (ret < 0) goto lab1;
     447           0 :                 z->c += ret;
     448             :             }
     449           0 :             ((SN_local *)z)->i_p1 = z->c;
     450           0 :         lab1:
     451           0 :             z->c = v_2;
     452             :         }
     453           0 :         break;
     454           0 :     lab0:
     455           0 :         z->c = v_1;
     456             :         {
     457           0 :             int ret = out_grouping_U(z, g_v, 97, 369, 1);
     458           0 :             if (ret < 0) return 0;
     459           0 :             z->c += ret;
     460             :         }
     461           0 :         ((SN_local *)z)->i_p1 = z->c;
     462             :     } while (0);
     463           0 :     return 1;
     464             : }
     465             : 
     466           0 : static int r_R1(struct SN_env * z) {
     467           0 :     return ((SN_local *)z)->i_p1 <= z->c;
     468             : }
     469             : 
     470           0 : static int r_v_ending(struct SN_env * z) {
     471             :     int among_var;
     472           0 :     z->ket = z->c;
     473           0 :     if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 161 && z->p[z->c - 1] != 169)) return 0;
     474           0 :     among_var = find_among_b(z, a_0, 2, 0);
     475           0 :     if (!among_var) return 0;
     476           0 :     z->bra = z->c;
     477             :     {
     478           0 :         int ret = r_R1(z);
     479           0 :         if (ret <= 0) return ret;
     480             :     }
     481           0 :     switch (among_var) {
     482           0 :         case 1:
     483             :             {
     484           0 :                 int ret = slice_from_s(z, 1, s_0);
     485           0 :                 if (ret < 0) return ret;
     486             :             }
     487           0 :             break;
     488           0 :         case 2:
     489             :             {
     490           0 :                 int ret = slice_from_s(z, 1, s_1);
     491           0 :                 if (ret < 0) return ret;
     492             :             }
     493           0 :             break;
     494             :     }
     495           0 :     return 1;
     496             : }
     497             : 
     498           0 : static int r_double(struct SN_env * z) {
     499             :     {
     500           0 :         int v_1 = z->l - z->c;
     501           0 :         if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((106790108 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
     502           0 :         if (!find_among_b(z, a_1, 23, 0)) return 0;
     503           0 :         z->c = z->l - v_1;
     504             :     }
     505           0 :     return 1;
     506             : }
     507             : 
     508           0 : static int r_undouble(struct SN_env * z) {
     509             :     {
     510           0 :         int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
     511           0 :         if (ret < 0) return 0;
     512           0 :         z->c = ret;
     513             :     }
     514           0 :     z->ket = z->c;
     515             :     {
     516           0 :         int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
     517           0 :         if (ret < 0) return 0;
     518           0 :         z->c = ret;
     519             :     }
     520           0 :     z->bra = z->c;
     521             :     {
     522           0 :         int ret = slice_del(z);
     523           0 :         if (ret < 0) return ret;
     524             :     }
     525           0 :     return 1;
     526             : }
     527             : 
     528           0 : static int r_instrum(struct SN_env * z) {
     529           0 :     z->ket = z->c;
     530           0 :     if (z->c - 1 <= z->lb || z->p[z->c - 1] != 108) return 0;
     531           0 :     if (!find_among_b(z, a_2, 2, 0)) return 0;
     532           0 :     z->bra = z->c;
     533             :     {
     534           0 :         int ret = r_R1(z);
     535           0 :         if (ret <= 0) return ret;
     536             :     }
     537             :     {
     538           0 :         int ret = r_double(z);
     539           0 :         if (ret <= 0) return ret;
     540             :     }
     541             :     {
     542           0 :         int ret = slice_del(z);
     543           0 :         if (ret < 0) return ret;
     544             :     }
     545           0 :     return r_undouble(z);
     546             : }
     547             : 
     548           0 : static int r_case(struct SN_env * z) {
     549           0 :     z->ket = z->c;
     550           0 :     if (!find_among_b(z, a_3, 44, 0)) return 0;
     551           0 :     z->bra = z->c;
     552             :     {
     553           0 :         int ret = r_R1(z);
     554           0 :         if (ret <= 0) return ret;
     555             :     }
     556             :     {
     557           0 :         int ret = slice_del(z);
     558           0 :         if (ret < 0) return ret;
     559             :     }
     560           0 :     return r_v_ending(z);
     561             : }
     562             : 
     563           0 : static int r_case_special(struct SN_env * z) {
     564             :     int among_var;
     565           0 :     z->ket = z->c;
     566           0 :     if (z->c - 2 <= z->lb || (z->p[z->c - 1] != 110 && z->p[z->c - 1] != 116)) return 0;
     567           0 :     among_var = find_among_b(z, a_4, 3, 0);
     568           0 :     if (!among_var) return 0;
     569           0 :     z->bra = z->c;
     570             :     {
     571           0 :         int ret = r_R1(z);
     572           0 :         if (ret <= 0) return ret;
     573             :     }
     574           0 :     switch (among_var) {
     575           0 :         case 1:
     576             :             {
     577           0 :                 int ret = slice_from_s(z, 1, s_2);
     578           0 :                 if (ret < 0) return ret;
     579             :             }
     580           0 :             break;
     581           0 :         case 2:
     582             :             {
     583           0 :                 int ret = slice_from_s(z, 1, s_3);
     584           0 :                 if (ret < 0) return ret;
     585             :             }
     586           0 :             break;
     587             :     }
     588           0 :     return 1;
     589             : }
     590             : 
     591           0 : static int r_case_other(struct SN_env * z) {
     592             :     int among_var;
     593           0 :     z->ket = z->c;
     594           0 :     if (z->c - 3 <= z->lb || z->p[z->c - 1] != 108) return 0;
     595           0 :     among_var = find_among_b(z, a_5, 6, 0);
     596           0 :     if (!among_var) return 0;
     597           0 :     z->bra = z->c;
     598             :     {
     599           0 :         int ret = r_R1(z);
     600           0 :         if (ret <= 0) return ret;
     601             :     }
     602           0 :     switch (among_var) {
     603           0 :         case 1:
     604             :             {
     605           0 :                 int ret = slice_del(z);
     606           0 :                 if (ret < 0) return ret;
     607             :             }
     608           0 :             break;
     609           0 :         case 2:
     610             :             {
     611           0 :                 int ret = slice_from_s(z, 1, s_4);
     612           0 :                 if (ret < 0) return ret;
     613             :             }
     614           0 :             break;
     615           0 :         case 3:
     616             :             {
     617           0 :                 int ret = slice_from_s(z, 1, s_5);
     618           0 :                 if (ret < 0) return ret;
     619             :             }
     620           0 :             break;
     621             :     }
     622           0 :     return 1;
     623             : }
     624             : 
     625           0 : static int r_factive(struct SN_env * z) {
     626           0 :     z->ket = z->c;
     627           0 :     if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 161 && z->p[z->c - 1] != 169)) return 0;
     628           0 :     if (!find_among_b(z, a_6, 2, 0)) return 0;
     629           0 :     z->bra = z->c;
     630             :     {
     631           0 :         int ret = r_R1(z);
     632           0 :         if (ret <= 0) return ret;
     633             :     }
     634             :     {
     635           0 :         int ret = r_double(z);
     636           0 :         if (ret <= 0) return ret;
     637             :     }
     638             :     {
     639           0 :         int ret = slice_del(z);
     640           0 :         if (ret < 0) return ret;
     641             :     }
     642           0 :     return r_undouble(z);
     643             : }
     644             : 
     645           0 : static int r_plural(struct SN_env * z) {
     646             :     int among_var;
     647           0 :     z->ket = z->c;
     648           0 :     if (z->c <= z->lb || z->p[z->c - 1] != 107) return 0;
     649           0 :     among_var = find_among_b(z, a_7, 7, 0);
     650           0 :     if (!among_var) return 0;
     651           0 :     z->bra = z->c;
     652             :     {
     653           0 :         int ret = r_R1(z);
     654           0 :         if (ret <= 0) return ret;
     655             :     }
     656           0 :     switch (among_var) {
     657           0 :         case 1:
     658             :             {
     659           0 :                 int ret = slice_from_s(z, 1, s_6);
     660           0 :                 if (ret < 0) return ret;
     661             :             }
     662           0 :             break;
     663           0 :         case 2:
     664             :             {
     665           0 :                 int ret = slice_from_s(z, 1, s_7);
     666           0 :                 if (ret < 0) return ret;
     667             :             }
     668           0 :             break;
     669           0 :         case 3:
     670             :             {
     671           0 :                 int ret = slice_del(z);
     672           0 :                 if (ret < 0) return ret;
     673             :             }
     674           0 :             break;
     675             :     }
     676           0 :     return 1;
     677             : }
     678             : 
     679           0 : static int r_owned(struct SN_env * z) {
     680             :     int among_var;
     681           0 :     z->ket = z->c;
     682           0 :     if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 105 && z->p[z->c - 1] != 169)) return 0;
     683           0 :     among_var = find_among_b(z, a_8, 12, 0);
     684           0 :     if (!among_var) return 0;
     685           0 :     z->bra = z->c;
     686             :     {
     687           0 :         int ret = r_R1(z);
     688           0 :         if (ret <= 0) return ret;
     689             :     }
     690           0 :     switch (among_var) {
     691           0 :         case 1:
     692             :             {
     693           0 :                 int ret = slice_del(z);
     694           0 :                 if (ret < 0) return ret;
     695             :             }
     696           0 :             break;
     697           0 :         case 2:
     698             :             {
     699           0 :                 int ret = slice_from_s(z, 1, s_8);
     700           0 :                 if (ret < 0) return ret;
     701             :             }
     702           0 :             break;
     703           0 :         case 3:
     704             :             {
     705           0 :                 int ret = slice_from_s(z, 1, s_9);
     706           0 :                 if (ret < 0) return ret;
     707             :             }
     708           0 :             break;
     709             :     }
     710           0 :     return 1;
     711             : }
     712             : 
     713           0 : static int r_sing_owner(struct SN_env * z) {
     714             :     int among_var;
     715           0 :     z->ket = z->c;
     716           0 :     among_var = find_among_b(z, a_9, 31, 0);
     717           0 :     if (!among_var) return 0;
     718           0 :     z->bra = z->c;
     719             :     {
     720           0 :         int ret = r_R1(z);
     721           0 :         if (ret <= 0) return ret;
     722             :     }
     723           0 :     switch (among_var) {
     724           0 :         case 1:
     725             :             {
     726           0 :                 int ret = slice_del(z);
     727           0 :                 if (ret < 0) return ret;
     728             :             }
     729           0 :             break;
     730           0 :         case 2:
     731             :             {
     732           0 :                 int ret = slice_from_s(z, 1, s_10);
     733           0 :                 if (ret < 0) return ret;
     734             :             }
     735           0 :             break;
     736           0 :         case 3:
     737             :             {
     738           0 :                 int ret = slice_from_s(z, 1, s_11);
     739           0 :                 if (ret < 0) return ret;
     740             :             }
     741           0 :             break;
     742             :     }
     743           0 :     return 1;
     744             : }
     745             : 
     746           0 : static int r_plur_owner(struct SN_env * z) {
     747             :     int among_var;
     748           0 :     z->ket = z->c;
     749           0 :     if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((10768 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
     750           0 :     among_var = find_among_b(z, a_10, 42, 0);
     751           0 :     if (!among_var) return 0;
     752           0 :     z->bra = z->c;
     753             :     {
     754           0 :         int ret = r_R1(z);
     755           0 :         if (ret <= 0) return ret;
     756             :     }
     757           0 :     switch (among_var) {
     758           0 :         case 1:
     759             :             {
     760           0 :                 int ret = slice_del(z);
     761           0 :                 if (ret < 0) return ret;
     762             :             }
     763           0 :             break;
     764           0 :         case 2:
     765             :             {
     766           0 :                 int ret = slice_from_s(z, 1, s_12);
     767           0 :                 if (ret < 0) return ret;
     768             :             }
     769           0 :             break;
     770           0 :         case 3:
     771             :             {
     772           0 :                 int ret = slice_from_s(z, 1, s_13);
     773           0 :                 if (ret < 0) return ret;
     774             :             }
     775           0 :             break;
     776             :     }
     777           0 :     return 1;
     778             : }
     779             : 
     780           0 : extern int hungarian_UTF_8_stem(struct SN_env * z) {
     781             :     {
     782           0 :         int v_1 = z->c;
     783             :         {
     784           0 :             int ret = r_mark_regions(z);
     785           0 :             if (ret < 0) return ret;
     786             :         }
     787           0 :         z->c = v_1;
     788             :     }
     789           0 :     z->lb = z->c; z->c = z->l;
     790             :     {
     791           0 :         int v_2 = z->l - z->c;
     792             :         {
     793           0 :             int ret = r_instrum(z);
     794           0 :             if (ret < 0) return ret;
     795             :         }
     796           0 :         z->c = z->l - v_2;
     797             :     }
     798             :     {
     799           0 :         int v_3 = z->l - z->c;
     800             :         {
     801           0 :             int ret = r_case(z);
     802           0 :             if (ret < 0) return ret;
     803             :         }
     804           0 :         z->c = z->l - v_3;
     805             :     }
     806             :     {
     807           0 :         int v_4 = z->l - z->c;
     808             :         {
     809           0 :             int ret = r_case_special(z);
     810           0 :             if (ret < 0) return ret;
     811             :         }
     812           0 :         z->c = z->l - v_4;
     813             :     }
     814             :     {
     815           0 :         int v_5 = z->l - z->c;
     816             :         {
     817           0 :             int ret = r_case_other(z);
     818           0 :             if (ret < 0) return ret;
     819             :         }
     820           0 :         z->c = z->l - v_5;
     821             :     }
     822             :     {
     823           0 :         int v_6 = z->l - z->c;
     824             :         {
     825           0 :             int ret = r_factive(z);
     826           0 :             if (ret < 0) return ret;
     827             :         }
     828           0 :         z->c = z->l - v_6;
     829             :     }
     830             :     {
     831           0 :         int v_7 = z->l - z->c;
     832             :         {
     833           0 :             int ret = r_owned(z);
     834           0 :             if (ret < 0) return ret;
     835             :         }
     836           0 :         z->c = z->l - v_7;
     837             :     }
     838             :     {
     839           0 :         int v_8 = z->l - z->c;
     840             :         {
     841           0 :             int ret = r_sing_owner(z);
     842           0 :             if (ret < 0) return ret;
     843             :         }
     844           0 :         z->c = z->l - v_8;
     845             :     }
     846             :     {
     847           0 :         int v_9 = z->l - z->c;
     848             :         {
     849           0 :             int ret = r_plur_owner(z);
     850           0 :             if (ret < 0) return ret;
     851             :         }
     852           0 :         z->c = z->l - v_9;
     853             :     }
     854             :     {
     855           0 :         int v_10 = z->l - z->c;
     856             :         {
     857           0 :             int ret = r_plural(z);
     858           0 :             if (ret < 0) return ret;
     859             :         }
     860           0 :         z->c = z->l - v_10;
     861             :     }
     862           0 :     z->c = z->lb;
     863           0 :     return 1;
     864             : }
     865             : 
     866           0 : extern struct SN_env * hungarian_UTF_8_create_env(void) {
     867           0 :     struct SN_env * z = SN_new_env(sizeof(SN_local));
     868           0 :     if (z) {
     869           0 :         ((SN_local *)z)->i_p1 = 0;
     870             :     }
     871           0 :     return z;
     872             : }
     873             : 
     874           0 : extern void hungarian_UTF_8_close_env(struct SN_env * z) {
     875           0 :     SN_delete_env(z);
     876           0 : }
     877             : 

Generated by: LCOV version 1.16