LCOV - code coverage report
Current view: top level - src/backend/snowball/libstemmer - stem_UTF_8_estonian.c (source / functions) Hit Total Coverage
Test: PostgreSQL 19devel Lines: 0 396 0.0 %
Date: 2026-02-02 14:17:46 Functions: 0 16 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /* Generated from estonian.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
       2             : 
       3             : #include "stem_UTF_8_estonian.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 estonian_UTF_8_stem(struct SN_env * z);
      20             : #ifdef __cplusplus
      21             : }
      22             : #endif
      23             : 
      24             : static int r_nu(struct SN_env * z);
      25             : static int r_verb(struct SN_env * z);
      26             : static int r_verb_exceptions(struct SN_env * z);
      27             : static int r_substantive(struct SN_env * z);
      28             : static int r_degrees(struct SN_env * z);
      29             : static int r_i_plural(struct SN_env * z);
      30             : static int r_undouble_kpt(struct SN_env * z);
      31             : static int r_plural_three_first_cases(struct SN_env * z);
      32             : static int r_emphasis(struct SN_env * z);
      33             : static int r_case_ending(struct SN_env * z);
      34             : static int r_special_noun_endings(struct SN_env * z);
      35             : static int r_LONGV(struct SN_env * z);
      36             : static int r_mark_regions(struct SN_env * z);
      37             : 
      38             : static const symbol s_0[] = { 'a' };
      39             : static const symbol s_1[] = { 'l', 'a', 's', 'e' };
      40             : static const symbol s_2[] = { 'm', 'i', 's', 'e' };
      41             : static const symbol s_3[] = { 'l', 'i', 's', 'e' };
      42             : static const symbol s_4[] = { 'i', 'k', 'u' };
      43             : static const symbol s_5[] = { 'e' };
      44             : static const symbol s_6[] = { 't' };
      45             : static const symbol s_7[] = { 'k' };
      46             : static const symbol s_8[] = { 'p' };
      47             : static const symbol s_9[] = { 't' };
      48             : static const symbol s_10[] = { 'j', 'o', 'o' };
      49             : static const symbol s_11[] = { 's', 'a', 'a' };
      50             : static const symbol s_12[] = { 'v', 'i', 'i', 'm', 'a' };
      51             : static const symbol s_13[] = { 'k', 'e', 'e', 's', 'i' };
      52             : static const symbol s_14[] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6 };
      53             : static const symbol s_15[] = { 'l', 0xC3, 0xB5, 'i' };
      54             : static const symbol s_16[] = { 'l', 'o', 'o' };
      55             : static const symbol s_17[] = { 'k', 0xC3, 0xA4, 'i', 's', 'i' };
      56             : static const symbol s_18[] = { 's', 0xC3, 0xB6, 0xC3, 0xB6 };
      57             : static const symbol s_19[] = { 't', 'o', 'o' };
      58             : static const symbol s_20[] = { 'v', 0xC3, 0xB5, 'i', 's', 'i' };
      59             : static const symbol s_21[] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'm', 'a' };
      60             : static const symbol s_22[] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 's', 'i' };
      61             : static const symbol s_23[] = { 'l', 'u', 'g', 'e' };
      62             : static const symbol s_24[] = { 'p', 0xC3, 0xB5, 'd', 'e' };
      63             : static const symbol s_25[] = { 'l', 'a', 'd', 'u' };
      64             : static const symbol s_26[] = { 't', 'e', 'g', 'i' };
      65             : static const symbol s_27[] = { 'n', 0xC3, 0xA4, 'g', 'i' };
      66             : 
      67             : static const symbol s_0_0[2] = { 'g', 'i' };
      68             : static const symbol s_0_1[2] = { 'k', 'i' };
      69             : static const struct among a_0[2] = {
      70             : { 2, s_0_0, 0, 1, 0},
      71             : { 2, s_0_1, 0, 2, 0}
      72             : };
      73             : 
      74             : static const symbol s_1_0[2] = { 'd', 'a' };
      75             : static const symbol s_1_1[4] = { 'm', 'a', 't', 'a' };
      76             : static const symbol s_1_2[1] = { 'b' };
      77             : static const symbol s_1_3[4] = { 'k', 's', 'i', 'd' };
      78             : static const symbol s_1_4[6] = { 'n', 'u', 'k', 's', 'i', 'd' };
      79             : static const symbol s_1_5[2] = { 'm', 'e' };
      80             : static const symbol s_1_6[4] = { 's', 'i', 'm', 'e' };
      81             : static const symbol s_1_7[5] = { 'k', 's', 'i', 'm', 'e' };
      82             : static const symbol s_1_8[7] = { 'n', 'u', 'k', 's', 'i', 'm', 'e' };
      83             : static const symbol s_1_9[4] = { 'a', 'k', 's', 'e' };
      84             : static const symbol s_1_10[5] = { 'd', 'a', 'k', 's', 'e' };
      85             : static const symbol s_1_11[5] = { 't', 'a', 'k', 's', 'e' };
      86             : static const symbol s_1_12[4] = { 's', 'i', 't', 'e' };
      87             : static const symbol s_1_13[5] = { 'k', 's', 'i', 't', 'e' };
      88             : static const symbol s_1_14[7] = { 'n', 'u', 'k', 's', 'i', 't', 'e' };
      89             : static const symbol s_1_15[1] = { 'n' };
      90             : static const symbol s_1_16[3] = { 's', 'i', 'n' };
      91             : static const symbol s_1_17[4] = { 'k', 's', 'i', 'n' };
      92             : static const symbol s_1_18[6] = { 'n', 'u', 'k', 's', 'i', 'n' };
      93             : static const symbol s_1_19[4] = { 'd', 'a', 'k', 's' };
      94             : static const symbol s_1_20[4] = { 't', 'a', 'k', 's' };
      95             : static const struct among a_1[21] = {
      96             : { 2, s_1_0, 0, 3, 0},
      97             : { 4, s_1_1, 0, 1, 0},
      98             : { 1, s_1_2, 0, 3, 0},
      99             : { 4, s_1_3, 0, 1, 0},
     100             : { 6, s_1_4, -1, 1, 0},
     101             : { 2, s_1_5, 0, 3, 0},
     102             : { 4, s_1_6, -1, 1, 0},
     103             : { 5, s_1_7, -1, 1, 0},
     104             : { 7, s_1_8, -1, 1, 0},
     105             : { 4, s_1_9, 0, 2, 0},
     106             : { 5, s_1_10, -1, 1, 0},
     107             : { 5, s_1_11, -2, 1, 0},
     108             : { 4, s_1_12, 0, 1, 0},
     109             : { 5, s_1_13, -1, 1, 0},
     110             : { 7, s_1_14, -1, 1, 0},
     111             : { 1, s_1_15, 0, 3, 0},
     112             : { 3, s_1_16, -1, 1, 0},
     113             : { 4, s_1_17, -1, 1, 0},
     114             : { 6, s_1_18, -1, 1, 0},
     115             : { 4, s_1_19, 0, 1, 0},
     116             : { 4, s_1_20, 0, 1, 0}
     117             : };
     118             : 
     119             : static const symbol s_2_0[2] = { 'a', 'a' };
     120             : static const symbol s_2_1[2] = { 'e', 'e' };
     121             : static const symbol s_2_2[2] = { 'i', 'i' };
     122             : static const symbol s_2_3[2] = { 'o', 'o' };
     123             : static const symbol s_2_4[2] = { 'u', 'u' };
     124             : static const symbol s_2_5[4] = { 0xC3, 0xA4, 0xC3, 0xA4 };
     125             : static const symbol s_2_6[4] = { 0xC3, 0xB5, 0xC3, 0xB5 };
     126             : static const symbol s_2_7[4] = { 0xC3, 0xB6, 0xC3, 0xB6 };
     127             : static const symbol s_2_8[4] = { 0xC3, 0xBC, 0xC3, 0xBC };
     128             : static const struct among a_2[9] = {
     129             : { 2, s_2_0, 0, -1, 0},
     130             : { 2, s_2_1, 0, -1, 0},
     131             : { 2, s_2_2, 0, -1, 0},
     132             : { 2, s_2_3, 0, -1, 0},
     133             : { 2, s_2_4, 0, -1, 0},
     134             : { 4, s_2_5, 0, -1, 0},
     135             : { 4, s_2_6, 0, -1, 0},
     136             : { 4, s_2_7, 0, -1, 0},
     137             : { 4, s_2_8, 0, -1, 0}
     138             : };
     139             : 
     140             : static const symbol s_3_0[4] = { 'l', 'a', 'n', 'e' };
     141             : static const symbol s_3_1[4] = { 'l', 'i', 'n', 'e' };
     142             : static const symbol s_3_2[4] = { 'm', 'i', 'n', 'e' };
     143             : static const symbol s_3_3[5] = { 'l', 'a', 's', 's', 'e' };
     144             : static const symbol s_3_4[5] = { 'l', 'i', 's', 's', 'e' };
     145             : static const symbol s_3_5[5] = { 'm', 'i', 's', 's', 'e' };
     146             : static const symbol s_3_6[4] = { 'l', 'a', 's', 'i' };
     147             : static const symbol s_3_7[4] = { 'l', 'i', 's', 'i' };
     148             : static const symbol s_3_8[4] = { 'm', 'i', 's', 'i' };
     149             : static const symbol s_3_9[4] = { 'l', 'a', 's', 't' };
     150             : static const symbol s_3_10[4] = { 'l', 'i', 's', 't' };
     151             : static const symbol s_3_11[4] = { 'm', 'i', 's', 't' };
     152             : static const struct among a_3[12] = {
     153             : { 4, s_3_0, 0, 1, 0},
     154             : { 4, s_3_1, 0, 3, 0},
     155             : { 4, s_3_2, 0, 2, 0},
     156             : { 5, s_3_3, 0, 1, 0},
     157             : { 5, s_3_4, 0, 3, 0},
     158             : { 5, s_3_5, 0, 2, 0},
     159             : { 4, s_3_6, 0, 1, 0},
     160             : { 4, s_3_7, 0, 3, 0},
     161             : { 4, s_3_8, 0, 2, 0},
     162             : { 4, s_3_9, 0, 1, 0},
     163             : { 4, s_3_10, 0, 3, 0},
     164             : { 4, s_3_11, 0, 2, 0}
     165             : };
     166             : 
     167             : static const symbol s_4_0[2] = { 'g', 'a' };
     168             : static const symbol s_4_1[2] = { 't', 'a' };
     169             : static const symbol s_4_2[2] = { 'l', 'e' };
     170             : static const symbol s_4_3[3] = { 's', 's', 'e' };
     171             : static const symbol s_4_4[1] = { 'l' };
     172             : static const symbol s_4_5[1] = { 's' };
     173             : static const symbol s_4_6[2] = { 'k', 's' };
     174             : static const symbol s_4_7[1] = { 't' };
     175             : static const symbol s_4_8[2] = { 'l', 't' };
     176             : static const symbol s_4_9[2] = { 's', 't' };
     177             : static const struct among a_4[10] = {
     178             : { 2, s_4_0, 0, 1, 0},
     179             : { 2, s_4_1, 0, 1, 0},
     180             : { 2, s_4_2, 0, 1, 0},
     181             : { 3, s_4_3, 0, 1, 0},
     182             : { 1, s_4_4, 0, 1, 0},
     183             : { 1, s_4_5, 0, 1, 0},
     184             : { 2, s_4_6, -1, 1, 0},
     185             : { 1, s_4_7, 0, 2, 0},
     186             : { 2, s_4_8, -1, 1, 0},
     187             : { 2, s_4_9, -2, 1, 0}
     188             : };
     189             : 
     190             : static const symbol s_5_1[3] = { 'l', 'a', 's' };
     191             : static const symbol s_5_2[3] = { 'l', 'i', 's' };
     192             : static const symbol s_5_3[3] = { 'm', 'i', 's' };
     193             : static const symbol s_5_4[1] = { 't' };
     194             : static const struct among a_5[5] = {
     195             : { 0, 0, 0, 2, 0},
     196             : { 3, s_5_1, -1, 1, 0},
     197             : { 3, s_5_2, -2, 1, 0},
     198             : { 3, s_5_3, -3, 1, 0},
     199             : { 1, s_5_4, -4, -1, 0}
     200             : };
     201             : 
     202             : static const symbol s_6_0[1] = { 'd' };
     203             : static const symbol s_6_1[3] = { 's', 'i', 'd' };
     204             : static const symbol s_6_2[2] = { 'd', 'e' };
     205             : static const symbol s_6_3[6] = { 'i', 'k', 'k', 'u', 'd', 'e' };
     206             : static const symbol s_6_4[3] = { 'i', 'k', 'e' };
     207             : static const symbol s_6_5[4] = { 'i', 'k', 'k', 'e' };
     208             : static const symbol s_6_6[2] = { 't', 'e' };
     209             : static const struct among a_6[7] = {
     210             : { 1, s_6_0, 0, 4, 0},
     211             : { 3, s_6_1, -1, 2, 0},
     212             : { 2, s_6_2, 0, 4, 0},
     213             : { 6, s_6_3, -1, 1, 0},
     214             : { 3, s_6_4, 0, 1, 0},
     215             : { 4, s_6_5, 0, 1, 0},
     216             : { 2, s_6_6, 0, 3, 0}
     217             : };
     218             : 
     219             : static const symbol s_7_0[2] = { 'v', 'a' };
     220             : static const symbol s_7_1[2] = { 'd', 'u' };
     221             : static const symbol s_7_2[2] = { 'n', 'u' };
     222             : static const symbol s_7_3[2] = { 't', 'u' };
     223             : static const struct among a_7[4] = {
     224             : { 2, s_7_0, 0, -1, 0},
     225             : { 2, s_7_1, 0, -1, 0},
     226             : { 2, s_7_2, 0, -1, 0},
     227             : { 2, s_7_3, 0, -1, 0}
     228             : };
     229             : 
     230             : static const symbol s_8_0[2] = { 'k', 'k' };
     231             : static const symbol s_8_1[2] = { 'p', 'p' };
     232             : static const symbol s_8_2[2] = { 't', 't' };
     233             : static const struct among a_8[3] = {
     234             : { 2, s_8_0, 0, 1, 0},
     235             : { 2, s_8_1, 0, 2, 0},
     236             : { 2, s_8_2, 0, 3, 0}
     237             : };
     238             : 
     239             : static const symbol s_9_0[2] = { 'm', 'a' };
     240             : static const symbol s_9_1[3] = { 'm', 'a', 'i' };
     241             : static const symbol s_9_2[1] = { 'm' };
     242             : static const struct among a_9[3] = {
     243             : { 2, s_9_0, 0, 2, 0},
     244             : { 3, s_9_1, 0, 1, 0},
     245             : { 1, s_9_2, 0, 1, 0}
     246             : };
     247             : 
     248             : static const symbol s_10_0[4] = { 'j', 'o', 'o', 'b' };
     249             : static const symbol s_10_1[4] = { 'j', 'o', 'o', 'd' };
     250             : static const symbol s_10_2[8] = { 'j', 'o', 'o', 'd', 'a', 'k', 's', 'e' };
     251             : static const symbol s_10_3[5] = { 'j', 'o', 'o', 'm', 'a' };
     252             : static const symbol s_10_4[7] = { 'j', 'o', 'o', 'm', 'a', 't', 'a' };
     253             : static const symbol s_10_5[5] = { 'j', 'o', 'o', 'm', 'e' };
     254             : static const symbol s_10_6[4] = { 'j', 'o', 'o', 'n' };
     255             : static const symbol s_10_7[5] = { 'j', 'o', 'o', 't', 'e' };
     256             : static const symbol s_10_8[6] = { 'j', 'o', 'o', 'v', 'a', 'd' };
     257             : static const symbol s_10_9[4] = { 'j', 'u', 'u', 'a' };
     258             : static const symbol s_10_10[7] = { 'j', 'u', 'u', 'a', 'k', 's', 'e' };
     259             : static const symbol s_10_11[4] = { 'j', 0xC3, 0xA4, 'i' };
     260             : static const symbol s_10_12[5] = { 'j', 0xC3, 0xA4, 'i', 'd' };
     261             : static const symbol s_10_13[6] = { 'j', 0xC3, 0xA4, 'i', 'm', 'e' };
     262             : static const symbol s_10_14[5] = { 'j', 0xC3, 0xA4, 'i', 'n' };
     263             : static const symbol s_10_15[6] = { 'j', 0xC3, 0xA4, 'i', 't', 'e' };
     264             : static const symbol s_10_16[6] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'b' };
     265             : static const symbol s_10_17[6] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'd' };
     266             : static const symbol s_10_18[7] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'd', 'a' };
     267             : static const symbol s_10_19[10] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'd', 'a', 'k', 's', 'e' };
     268             : static const symbol s_10_20[7] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'd', 'i' };
     269             : static const symbol s_10_21[7] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'k', 's' };
     270             : static const symbol s_10_22[9] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'k', 's', 'i', 'd' };
     271             : static const symbol s_10_23[10] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'k', 's', 'i', 'm', 'e' };
     272             : static const symbol s_10_24[9] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'k', 's', 'i', 'n' };
     273             : static const symbol s_10_25[10] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'k', 's', 'i', 't', 'e' };
     274             : static const symbol s_10_26[7] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'm', 'a' };
     275             : static const symbol s_10_27[9] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'm', 'a', 't', 'a' };
     276             : static const symbol s_10_28[7] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'm', 'e' };
     277             : static const symbol s_10_29[6] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'n' };
     278             : static const symbol s_10_30[7] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 't', 'e' };
     279             : static const symbol s_10_31[8] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'v', 'a', 'd' };
     280             : static const symbol s_10_32[4] = { 'j', 0xC3, 0xB5, 'i' };
     281             : static const symbol s_10_33[5] = { 'j', 0xC3, 0xB5, 'i', 'd' };
     282             : static const symbol s_10_34[6] = { 'j', 0xC3, 0xB5, 'i', 'm', 'e' };
     283             : static const symbol s_10_35[5] = { 'j', 0xC3, 0xB5, 'i', 'n' };
     284             : static const symbol s_10_36[6] = { 'j', 0xC3, 0xB5, 'i', 't', 'e' };
     285             : static const symbol s_10_37[4] = { 'k', 'e', 'e', 'b' };
     286             : static const symbol s_10_38[4] = { 'k', 'e', 'e', 'd' };
     287             : static const symbol s_10_39[8] = { 'k', 'e', 'e', 'd', 'a', 'k', 's', 'e' };
     288             : static const symbol s_10_40[5] = { 'k', 'e', 'e', 'k', 's' };
     289             : static const symbol s_10_41[7] = { 'k', 'e', 'e', 'k', 's', 'i', 'd' };
     290             : static const symbol s_10_42[8] = { 'k', 'e', 'e', 'k', 's', 'i', 'm', 'e' };
     291             : static const symbol s_10_43[7] = { 'k', 'e', 'e', 'k', 's', 'i', 'n' };
     292             : static const symbol s_10_44[8] = { 'k', 'e', 'e', 'k', 's', 'i', 't', 'e' };
     293             : static const symbol s_10_45[5] = { 'k', 'e', 'e', 'm', 'a' };
     294             : static const symbol s_10_46[7] = { 'k', 'e', 'e', 'm', 'a', 't', 'a' };
     295             : static const symbol s_10_47[5] = { 'k', 'e', 'e', 'm', 'e' };
     296             : static const symbol s_10_48[4] = { 'k', 'e', 'e', 'n' };
     297             : static const symbol s_10_49[4] = { 'k', 'e', 'e', 's' };
     298             : static const symbol s_10_50[5] = { 'k', 'e', 'e', 't', 'a' };
     299             : static const symbol s_10_51[5] = { 'k', 'e', 'e', 't', 'e' };
     300             : static const symbol s_10_52[6] = { 'k', 'e', 'e', 'v', 'a', 'd' };
     301             : static const symbol s_10_53[5] = { 'k', 0xC3, 0xA4, 'i', 'a' };
     302             : static const symbol s_10_54[8] = { 'k', 0xC3, 0xA4, 'i', 'a', 'k', 's', 'e' };
     303             : static const symbol s_10_55[5] = { 'k', 0xC3, 0xA4, 'i', 'b' };
     304             : static const symbol s_10_56[5] = { 'k', 0xC3, 0xA4, 'i', 'd' };
     305             : static const symbol s_10_57[6] = { 'k', 0xC3, 0xA4, 'i', 'd', 'i' };
     306             : static const symbol s_10_58[6] = { 'k', 0xC3, 0xA4, 'i', 'k', 's' };
     307             : static const symbol s_10_59[8] = { 'k', 0xC3, 0xA4, 'i', 'k', 's', 'i', 'd' };
     308             : static const symbol s_10_60[9] = { 'k', 0xC3, 0xA4, 'i', 'k', 's', 'i', 'm', 'e' };
     309             : static const symbol s_10_61[8] = { 'k', 0xC3, 0xA4, 'i', 'k', 's', 'i', 'n' };
     310             : static const symbol s_10_62[9] = { 'k', 0xC3, 0xA4, 'i', 'k', 's', 'i', 't', 'e' };
     311             : static const symbol s_10_63[6] = { 'k', 0xC3, 0xA4, 'i', 'm', 'a' };
     312             : static const symbol s_10_64[8] = { 'k', 0xC3, 0xA4, 'i', 'm', 'a', 't', 'a' };
     313             : static const symbol s_10_65[6] = { 'k', 0xC3, 0xA4, 'i', 'm', 'e' };
     314             : static const symbol s_10_66[5] = { 'k', 0xC3, 0xA4, 'i', 'n' };
     315             : static const symbol s_10_67[5] = { 'k', 0xC3, 0xA4, 'i', 's' };
     316             : static const symbol s_10_68[6] = { 'k', 0xC3, 0xA4, 'i', 't', 'e' };
     317             : static const symbol s_10_69[7] = { 'k', 0xC3, 0xA4, 'i', 'v', 'a', 'd' };
     318             : static const symbol s_10_70[4] = { 'l', 'a', 'o', 'b' };
     319             : static const symbol s_10_71[4] = { 'l', 'a', 'o', 'd' };
     320             : static const symbol s_10_72[5] = { 'l', 'a', 'o', 'k', 's' };
     321             : static const symbol s_10_73[7] = { 'l', 'a', 'o', 'k', 's', 'i', 'd' };
     322             : static const symbol s_10_74[8] = { 'l', 'a', 'o', 'k', 's', 'i', 'm', 'e' };
     323             : static const symbol s_10_75[7] = { 'l', 'a', 'o', 'k', 's', 'i', 'n' };
     324             : static const symbol s_10_76[8] = { 'l', 'a', 'o', 'k', 's', 'i', 't', 'e' };
     325             : static const symbol s_10_77[5] = { 'l', 'a', 'o', 'm', 'e' };
     326             : static const symbol s_10_78[4] = { 'l', 'a', 'o', 'n' };
     327             : static const symbol s_10_79[5] = { 'l', 'a', 'o', 't', 'e' };
     328             : static const symbol s_10_80[6] = { 'l', 'a', 'o', 'v', 'a', 'd' };
     329             : static const symbol s_10_81[4] = { 'l', 'o', 'e', 'b' };
     330             : static const symbol s_10_82[4] = { 'l', 'o', 'e', 'd' };
     331             : static const symbol s_10_83[5] = { 'l', 'o', 'e', 'k', 's' };
     332             : static const symbol s_10_84[7] = { 'l', 'o', 'e', 'k', 's', 'i', 'd' };
     333             : static const symbol s_10_85[8] = { 'l', 'o', 'e', 'k', 's', 'i', 'm', 'e' };
     334             : static const symbol s_10_86[7] = { 'l', 'o', 'e', 'k', 's', 'i', 'n' };
     335             : static const symbol s_10_87[8] = { 'l', 'o', 'e', 'k', 's', 'i', 't', 'e' };
     336             : static const symbol s_10_88[5] = { 'l', 'o', 'e', 'm', 'e' };
     337             : static const symbol s_10_89[4] = { 'l', 'o', 'e', 'n' };
     338             : static const symbol s_10_90[5] = { 'l', 'o', 'e', 't', 'e' };
     339             : static const symbol s_10_91[6] = { 'l', 'o', 'e', 'v', 'a', 'd' };
     340             : static const symbol s_10_92[4] = { 'l', 'o', 'o', 'b' };
     341             : static const symbol s_10_93[4] = { 'l', 'o', 'o', 'd' };
     342             : static const symbol s_10_94[5] = { 'l', 'o', 'o', 'd', 'i' };
     343             : static const symbol s_10_95[5] = { 'l', 'o', 'o', 'k', 's' };
     344             : static const symbol s_10_96[7] = { 'l', 'o', 'o', 'k', 's', 'i', 'd' };
     345             : static const symbol s_10_97[8] = { 'l', 'o', 'o', 'k', 's', 'i', 'm', 'e' };
     346             : static const symbol s_10_98[7] = { 'l', 'o', 'o', 'k', 's', 'i', 'n' };
     347             : static const symbol s_10_99[8] = { 'l', 'o', 'o', 'k', 's', 'i', 't', 'e' };
     348             : static const symbol s_10_100[5] = { 'l', 'o', 'o', 'm', 'a' };
     349             : static const symbol s_10_101[7] = { 'l', 'o', 'o', 'm', 'a', 't', 'a' };
     350             : static const symbol s_10_102[5] = { 'l', 'o', 'o', 'm', 'e' };
     351             : static const symbol s_10_103[4] = { 'l', 'o', 'o', 'n' };
     352             : static const symbol s_10_104[5] = { 'l', 'o', 'o', 't', 'e' };
     353             : static const symbol s_10_105[6] = { 'l', 'o', 'o', 'v', 'a', 'd' };
     354             : static const symbol s_10_106[4] = { 'l', 'u', 'u', 'a' };
     355             : static const symbol s_10_107[7] = { 'l', 'u', 'u', 'a', 'k', 's', 'e' };
     356             : static const symbol s_10_108[4] = { 'l', 0xC3, 0xB5, 'i' };
     357             : static const symbol s_10_109[5] = { 'l', 0xC3, 0xB5, 'i', 'd' };
     358             : static const symbol s_10_110[6] = { 'l', 0xC3, 0xB5, 'i', 'm', 'e' };
     359             : static const symbol s_10_111[5] = { 'l', 0xC3, 0xB5, 'i', 'n' };
     360             : static const symbol s_10_112[6] = { 'l', 0xC3, 0xB5, 'i', 't', 'e' };
     361             : static const symbol s_10_113[6] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'b' };
     362             : static const symbol s_10_114[6] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'd' };
     363             : static const symbol s_10_115[10] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'd', 'a', 'k', 's', 'e' };
     364             : static const symbol s_10_116[7] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'd', 'i' };
     365             : static const symbol s_10_117[7] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'k', 's' };
     366             : static const symbol s_10_118[9] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'k', 's', 'i', 'd' };
     367             : static const symbol s_10_119[10] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'k', 's', 'i', 'm', 'e' };
     368             : static const symbol s_10_120[9] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'k', 's', 'i', 'n' };
     369             : static const symbol s_10_121[10] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'k', 's', 'i', 't', 'e' };
     370             : static const symbol s_10_122[7] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'm', 'a' };
     371             : static const symbol s_10_123[9] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'm', 'a', 't', 'a' };
     372             : static const symbol s_10_124[7] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'm', 'e' };
     373             : static const symbol s_10_125[6] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'n' };
     374             : static const symbol s_10_126[7] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 't', 'e' };
     375             : static const symbol s_10_127[8] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'v', 'a', 'd' };
     376             : static const symbol s_10_128[6] = { 'l', 0xC3, 0xBC, 0xC3, 0xBC, 'a' };
     377             : static const symbol s_10_129[9] = { 'l', 0xC3, 0xBC, 0xC3, 0xBC, 'a', 'k', 's', 'e' };
     378             : static const symbol s_10_130[6] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'a' };
     379             : static const symbol s_10_131[9] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'a', 'k', 's', 'e' };
     380             : static const symbol s_10_132[6] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'b' };
     381             : static const symbol s_10_133[6] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'd' };
     382             : static const symbol s_10_134[7] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'd', 'i' };
     383             : static const symbol s_10_135[7] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'k', 's' };
     384             : static const symbol s_10_136[9] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'k', 's', 'i', 'd' };
     385             : static const symbol s_10_137[10] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'k', 's', 'i', 'm', 'e' };
     386             : static const symbol s_10_138[9] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'k', 's', 'i', 'n' };
     387             : static const symbol s_10_139[10] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'k', 's', 'i', 't', 'e' };
     388             : static const symbol s_10_140[7] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'm', 'a' };
     389             : static const symbol s_10_141[9] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'm', 'a', 't', 'a' };
     390             : static const symbol s_10_142[7] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'm', 'e' };
     391             : static const symbol s_10_143[6] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'n' };
     392             : static const symbol s_10_144[6] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 's' };
     393             : static const symbol s_10_145[7] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 't', 'e' };
     394             : static const symbol s_10_146[8] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'v', 'a', 'd' };
     395             : static const symbol s_10_147[5] = { 'n', 0xC3, 0xA4, 'e', 'b' };
     396             : static const symbol s_10_148[5] = { 'n', 0xC3, 0xA4, 'e', 'd' };
     397             : static const symbol s_10_149[6] = { 'n', 0xC3, 0xA4, 'e', 'k', 's' };
     398             : static const symbol s_10_150[8] = { 'n', 0xC3, 0xA4, 'e', 'k', 's', 'i', 'd' };
     399             : static const symbol s_10_151[9] = { 'n', 0xC3, 0xA4, 'e', 'k', 's', 'i', 'm', 'e' };
     400             : static const symbol s_10_152[8] = { 'n', 0xC3, 0xA4, 'e', 'k', 's', 'i', 'n' };
     401             : static const symbol s_10_153[9] = { 'n', 0xC3, 0xA4, 'e', 'k', 's', 'i', 't', 'e' };
     402             : static const symbol s_10_154[6] = { 'n', 0xC3, 0xA4, 'e', 'm', 'e' };
     403             : static const symbol s_10_155[5] = { 'n', 0xC3, 0xA4, 'e', 'n' };
     404             : static const symbol s_10_156[6] = { 'n', 0xC3, 0xA4, 'e', 't', 'e' };
     405             : static const symbol s_10_157[7] = { 'n', 0xC3, 0xA4, 'e', 'v', 'a', 'd' };
     406             : static const symbol s_10_158[7] = { 'n', 0xC3, 0xA4, 'g', 'e', 'm', 'a' };
     407             : static const symbol s_10_159[9] = { 'n', 0xC3, 0xA4, 'g', 'e', 'm', 'a', 't', 'a' };
     408             : static const symbol s_10_160[5] = { 'n', 0xC3, 0xA4, 'h', 'a' };
     409             : static const symbol s_10_161[8] = { 'n', 0xC3, 0xA4, 'h', 'a', 'k', 's', 'e' };
     410             : static const symbol s_10_162[6] = { 'n', 0xC3, 0xA4, 'h', 't', 'i' };
     411             : static const symbol s_10_163[5] = { 'p', 0xC3, 0xB5, 'e', 'b' };
     412             : static const symbol s_10_164[5] = { 'p', 0xC3, 0xB5, 'e', 'd' };
     413             : static const symbol s_10_165[6] = { 'p', 0xC3, 0xB5, 'e', 'k', 's' };
     414             : static const symbol s_10_166[8] = { 'p', 0xC3, 0xB5, 'e', 'k', 's', 'i', 'd' };
     415             : static const symbol s_10_167[9] = { 'p', 0xC3, 0xB5, 'e', 'k', 's', 'i', 'm', 'e' };
     416             : static const symbol s_10_168[8] = { 'p', 0xC3, 0xB5, 'e', 'k', 's', 'i', 'n' };
     417             : static const symbol s_10_169[9] = { 'p', 0xC3, 0xB5, 'e', 'k', 's', 'i', 't', 'e' };
     418             : static const symbol s_10_170[6] = { 'p', 0xC3, 0xB5, 'e', 'm', 'e' };
     419             : static const symbol s_10_171[5] = { 'p', 0xC3, 0xB5, 'e', 'n' };
     420             : static const symbol s_10_172[6] = { 'p', 0xC3, 0xB5, 'e', 't', 'e' };
     421             : static const symbol s_10_173[7] = { 'p', 0xC3, 0xB5, 'e', 'v', 'a', 'd' };
     422             : static const symbol s_10_174[4] = { 's', 'a', 'a', 'b' };
     423             : static const symbol s_10_175[4] = { 's', 'a', 'a', 'd' };
     424             : static const symbol s_10_176[5] = { 's', 'a', 'a', 'd', 'a' };
     425             : static const symbol s_10_177[8] = { 's', 'a', 'a', 'd', 'a', 'k', 's', 'e' };
     426             : static const symbol s_10_178[5] = { 's', 'a', 'a', 'd', 'i' };
     427             : static const symbol s_10_179[5] = { 's', 'a', 'a', 'k', 's' };
     428             : static const symbol s_10_180[7] = { 's', 'a', 'a', 'k', 's', 'i', 'd' };
     429             : static const symbol s_10_181[8] = { 's', 'a', 'a', 'k', 's', 'i', 'm', 'e' };
     430             : static const symbol s_10_182[7] = { 's', 'a', 'a', 'k', 's', 'i', 'n' };
     431             : static const symbol s_10_183[8] = { 's', 'a', 'a', 'k', 's', 'i', 't', 'e' };
     432             : static const symbol s_10_184[5] = { 's', 'a', 'a', 'm', 'a' };
     433             : static const symbol s_10_185[7] = { 's', 'a', 'a', 'm', 'a', 't', 'a' };
     434             : static const symbol s_10_186[5] = { 's', 'a', 'a', 'm', 'e' };
     435             : static const symbol s_10_187[4] = { 's', 'a', 'a', 'n' };
     436             : static const symbol s_10_188[5] = { 's', 'a', 'a', 't', 'e' };
     437             : static const symbol s_10_189[6] = { 's', 'a', 'a', 'v', 'a', 'd' };
     438             : static const symbol s_10_190[3] = { 's', 'a', 'i' };
     439             : static const symbol s_10_191[4] = { 's', 'a', 'i', 'd' };
     440             : static const symbol s_10_192[5] = { 's', 'a', 'i', 'm', 'e' };
     441             : static const symbol s_10_193[4] = { 's', 'a', 'i', 'n' };
     442             : static const symbol s_10_194[5] = { 's', 'a', 'i', 't', 'e' };
     443             : static const symbol s_10_195[4] = { 's', 0xC3, 0xB5, 'i' };
     444             : static const symbol s_10_196[5] = { 's', 0xC3, 0xB5, 'i', 'd' };
     445             : static const symbol s_10_197[6] = { 's', 0xC3, 0xB5, 'i', 'm', 'e' };
     446             : static const symbol s_10_198[5] = { 's', 0xC3, 0xB5, 'i', 'n' };
     447             : static const symbol s_10_199[6] = { 's', 0xC3, 0xB5, 'i', 't', 'e' };
     448             : static const symbol s_10_200[6] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'b' };
     449             : static const symbol s_10_201[6] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'd' };
     450             : static const symbol s_10_202[10] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'd', 'a', 'k', 's', 'e' };
     451             : static const symbol s_10_203[7] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'd', 'i' };
     452             : static const symbol s_10_204[7] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'k', 's' };
     453             : static const symbol s_10_205[9] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'k', 's', 'i', 'd' };
     454             : static const symbol s_10_206[10] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'k', 's', 'i', 'm', 'e' };
     455             : static const symbol s_10_207[9] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'k', 's', 'i', 'n' };
     456             : static const symbol s_10_208[10] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'k', 's', 'i', 't', 'e' };
     457             : static const symbol s_10_209[7] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'm', 'a' };
     458             : static const symbol s_10_210[9] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'm', 'a', 't', 'a' };
     459             : static const symbol s_10_211[7] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'm', 'e' };
     460             : static const symbol s_10_212[6] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'n' };
     461             : static const symbol s_10_213[7] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 't', 'e' };
     462             : static const symbol s_10_214[8] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'v', 'a', 'd' };
     463             : static const symbol s_10_215[6] = { 's', 0xC3, 0xBC, 0xC3, 0xBC, 'a' };
     464             : static const symbol s_10_216[9] = { 's', 0xC3, 0xBC, 0xC3, 0xBC, 'a', 'k', 's', 'e' };
     465             : static const symbol s_10_217[4] = { 't', 'e', 'e', 'b' };
     466             : static const symbol s_10_218[4] = { 't', 'e', 'e', 'd' };
     467             : static const symbol s_10_219[5] = { 't', 'e', 'e', 'k', 's' };
     468             : static const symbol s_10_220[7] = { 't', 'e', 'e', 'k', 's', 'i', 'd' };
     469             : static const symbol s_10_221[8] = { 't', 'e', 'e', 'k', 's', 'i', 'm', 'e' };
     470             : static const symbol s_10_222[7] = { 't', 'e', 'e', 'k', 's', 'i', 'n' };
     471             : static const symbol s_10_223[8] = { 't', 'e', 'e', 'k', 's', 'i', 't', 'e' };
     472             : static const symbol s_10_224[5] = { 't', 'e', 'e', 'm', 'e' };
     473             : static const symbol s_10_225[4] = { 't', 'e', 'e', 'n' };
     474             : static const symbol s_10_226[5] = { 't', 'e', 'e', 't', 'e' };
     475             : static const symbol s_10_227[6] = { 't', 'e', 'e', 'v', 'a', 'd' };
     476             : static const symbol s_10_228[6] = { 't', 'e', 'g', 'e', 'm', 'a' };
     477             : static const symbol s_10_229[8] = { 't', 'e', 'g', 'e', 'm', 'a', 't', 'a' };
     478             : static const symbol s_10_230[4] = { 't', 'e', 'h', 'a' };
     479             : static const symbol s_10_231[7] = { 't', 'e', 'h', 'a', 'k', 's', 'e' };
     480             : static const symbol s_10_232[5] = { 't', 'e', 'h', 't', 'i' };
     481             : static const symbol s_10_233[4] = { 't', 'o', 'o', 'b' };
     482             : static const symbol s_10_234[4] = { 't', 'o', 'o', 'd' };
     483             : static const symbol s_10_235[5] = { 't', 'o', 'o', 'd', 'i' };
     484             : static const symbol s_10_236[5] = { 't', 'o', 'o', 'k', 's' };
     485             : static const symbol s_10_237[7] = { 't', 'o', 'o', 'k', 's', 'i', 'd' };
     486             : static const symbol s_10_238[8] = { 't', 'o', 'o', 'k', 's', 'i', 'm', 'e' };
     487             : static const symbol s_10_239[7] = { 't', 'o', 'o', 'k', 's', 'i', 'n' };
     488             : static const symbol s_10_240[8] = { 't', 'o', 'o', 'k', 's', 'i', 't', 'e' };
     489             : static const symbol s_10_241[5] = { 't', 'o', 'o', 'm', 'a' };
     490             : static const symbol s_10_242[7] = { 't', 'o', 'o', 'm', 'a', 't', 'a' };
     491             : static const symbol s_10_243[5] = { 't', 'o', 'o', 'm', 'e' };
     492             : static const symbol s_10_244[4] = { 't', 'o', 'o', 'n' };
     493             : static const symbol s_10_245[5] = { 't', 'o', 'o', 't', 'e' };
     494             : static const symbol s_10_246[6] = { 't', 'o', 'o', 'v', 'a', 'd' };
     495             : static const symbol s_10_247[4] = { 't', 'u', 'u', 'a' };
     496             : static const symbol s_10_248[7] = { 't', 'u', 'u', 'a', 'k', 's', 'e' };
     497             : static const symbol s_10_249[4] = { 't', 0xC3, 0xB5, 'i' };
     498             : static const symbol s_10_250[5] = { 't', 0xC3, 0xB5, 'i', 'd' };
     499             : static const symbol s_10_251[6] = { 't', 0xC3, 0xB5, 'i', 'm', 'e' };
     500             : static const symbol s_10_252[5] = { 't', 0xC3, 0xB5, 'i', 'n' };
     501             : static const symbol s_10_253[6] = { 't', 0xC3, 0xB5, 'i', 't', 'e' };
     502             : static const symbol s_10_254[4] = { 'v', 'i', 'i', 'a' };
     503             : static const symbol s_10_255[7] = { 'v', 'i', 'i', 'a', 'k', 's', 'e' };
     504             : static const symbol s_10_256[4] = { 'v', 'i', 'i', 'b' };
     505             : static const symbol s_10_257[4] = { 'v', 'i', 'i', 'd' };
     506             : static const symbol s_10_258[5] = { 'v', 'i', 'i', 'd', 'i' };
     507             : static const symbol s_10_259[5] = { 'v', 'i', 'i', 'k', 's' };
     508             : static const symbol s_10_260[7] = { 'v', 'i', 'i', 'k', 's', 'i', 'd' };
     509             : static const symbol s_10_261[8] = { 'v', 'i', 'i', 'k', 's', 'i', 'm', 'e' };
     510             : static const symbol s_10_262[7] = { 'v', 'i', 'i', 'k', 's', 'i', 'n' };
     511             : static const symbol s_10_263[8] = { 'v', 'i', 'i', 'k', 's', 'i', 't', 'e' };
     512             : static const symbol s_10_264[5] = { 'v', 'i', 'i', 'm', 'a' };
     513             : static const symbol s_10_265[7] = { 'v', 'i', 'i', 'm', 'a', 't', 'a' };
     514             : static const symbol s_10_266[5] = { 'v', 'i', 'i', 'm', 'e' };
     515             : static const symbol s_10_267[4] = { 'v', 'i', 'i', 'n' };
     516             : static const symbol s_10_268[7] = { 'v', 'i', 'i', 's', 'i', 'm', 'e' };
     517             : static const symbol s_10_269[6] = { 'v', 'i', 'i', 's', 'i', 'n' };
     518             : static const symbol s_10_270[7] = { 'v', 'i', 'i', 's', 'i', 't', 'e' };
     519             : static const symbol s_10_271[5] = { 'v', 'i', 'i', 't', 'e' };
     520             : static const symbol s_10_272[6] = { 'v', 'i', 'i', 'v', 'a', 'd' };
     521             : static const symbol s_10_273[5] = { 'v', 0xC3, 0xB5, 'i', 'b' };
     522             : static const symbol s_10_274[5] = { 'v', 0xC3, 0xB5, 'i', 'd' };
     523             : static const symbol s_10_275[6] = { 'v', 0xC3, 0xB5, 'i', 'd', 'a' };
     524             : static const symbol s_10_276[9] = { 'v', 0xC3, 0xB5, 'i', 'd', 'a', 'k', 's', 'e' };
     525             : static const symbol s_10_277[6] = { 'v', 0xC3, 0xB5, 'i', 'd', 'i' };
     526             : static const symbol s_10_278[6] = { 'v', 0xC3, 0xB5, 'i', 'k', 's' };
     527             : static const symbol s_10_279[8] = { 'v', 0xC3, 0xB5, 'i', 'k', 's', 'i', 'd' };
     528             : static const symbol s_10_280[9] = { 'v', 0xC3, 0xB5, 'i', 'k', 's', 'i', 'm', 'e' };
     529             : static const symbol s_10_281[8] = { 'v', 0xC3, 0xB5, 'i', 'k', 's', 'i', 'n' };
     530             : static const symbol s_10_282[9] = { 'v', 0xC3, 0xB5, 'i', 'k', 's', 'i', 't', 'e' };
     531             : static const symbol s_10_283[6] = { 'v', 0xC3, 0xB5, 'i', 'm', 'a' };
     532             : static const symbol s_10_284[8] = { 'v', 0xC3, 0xB5, 'i', 'm', 'a', 't', 'a' };
     533             : static const symbol s_10_285[6] = { 'v', 0xC3, 0xB5, 'i', 'm', 'e' };
     534             : static const symbol s_10_286[5] = { 'v', 0xC3, 0xB5, 'i', 'n' };
     535             : static const symbol s_10_287[5] = { 'v', 0xC3, 0xB5, 'i', 's' };
     536             : static const symbol s_10_288[6] = { 'v', 0xC3, 0xB5, 'i', 't', 'e' };
     537             : static const symbol s_10_289[7] = { 'v', 0xC3, 0xB5, 'i', 'v', 'a', 'd' };
     538             : static const struct among a_10[290] = {
     539             : { 4, s_10_0, 0, 1, 0},
     540             : { 4, s_10_1, 0, 1, 0},
     541             : { 8, s_10_2, -1, 1, 0},
     542             : { 5, s_10_3, 0, 1, 0},
     543             : { 7, s_10_4, -1, 1, 0},
     544             : { 5, s_10_5, 0, 1, 0},
     545             : { 4, s_10_6, 0, 1, 0},
     546             : { 5, s_10_7, 0, 1, 0},
     547             : { 6, s_10_8, 0, 1, 0},
     548             : { 4, s_10_9, 0, 1, 0},
     549             : { 7, s_10_10, -1, 1, 0},
     550             : { 4, s_10_11, 0, 12, 0},
     551             : { 5, s_10_12, -1, 12, 0},
     552             : { 6, s_10_13, -2, 12, 0},
     553             : { 5, s_10_14, -3, 12, 0},
     554             : { 6, s_10_15, -4, 12, 0},
     555             : { 6, s_10_16, 0, 12, 0},
     556             : { 6, s_10_17, 0, 12, 0},
     557             : { 7, s_10_18, -1, 12, 0},
     558             : { 10, s_10_19, -1, 12, 0},
     559             : { 7, s_10_20, -3, 12, 0},
     560             : { 7, s_10_21, 0, 12, 0},
     561             : { 9, s_10_22, -1, 12, 0},
     562             : { 10, s_10_23, -2, 12, 0},
     563             : { 9, s_10_24, -3, 12, 0},
     564             : { 10, s_10_25, -4, 12, 0},
     565             : { 7, s_10_26, 0, 12, 0},
     566             : { 9, s_10_27, -1, 12, 0},
     567             : { 7, s_10_28, 0, 12, 0},
     568             : { 6, s_10_29, 0, 12, 0},
     569             : { 7, s_10_30, 0, 12, 0},
     570             : { 8, s_10_31, 0, 12, 0},
     571             : { 4, s_10_32, 0, 1, 0},
     572             : { 5, s_10_33, -1, 1, 0},
     573             : { 6, s_10_34, -2, 1, 0},
     574             : { 5, s_10_35, -3, 1, 0},
     575             : { 6, s_10_36, -4, 1, 0},
     576             : { 4, s_10_37, 0, 4, 0},
     577             : { 4, s_10_38, 0, 4, 0},
     578             : { 8, s_10_39, -1, 4, 0},
     579             : { 5, s_10_40, 0, 4, 0},
     580             : { 7, s_10_41, -1, 4, 0},
     581             : { 8, s_10_42, -2, 4, 0},
     582             : { 7, s_10_43, -3, 4, 0},
     583             : { 8, s_10_44, -4, 4, 0},
     584             : { 5, s_10_45, 0, 4, 0},
     585             : { 7, s_10_46, -1, 4, 0},
     586             : { 5, s_10_47, 0, 4, 0},
     587             : { 4, s_10_48, 0, 4, 0},
     588             : { 4, s_10_49, 0, 4, 0},
     589             : { 5, s_10_50, 0, 4, 0},
     590             : { 5, s_10_51, 0, 4, 0},
     591             : { 6, s_10_52, 0, 4, 0},
     592             : { 5, s_10_53, 0, 8, 0},
     593             : { 8, s_10_54, -1, 8, 0},
     594             : { 5, s_10_55, 0, 8, 0},
     595             : { 5, s_10_56, 0, 8, 0},
     596             : { 6, s_10_57, -1, 8, 0},
     597             : { 6, s_10_58, 0, 8, 0},
     598             : { 8, s_10_59, -1, 8, 0},
     599             : { 9, s_10_60, -2, 8, 0},
     600             : { 8, s_10_61, -3, 8, 0},
     601             : { 9, s_10_62, -4, 8, 0},
     602             : { 6, s_10_63, 0, 8, 0},
     603             : { 8, s_10_64, -1, 8, 0},
     604             : { 6, s_10_65, 0, 8, 0},
     605             : { 5, s_10_66, 0, 8, 0},
     606             : { 5, s_10_67, 0, 8, 0},
     607             : { 6, s_10_68, 0, 8, 0},
     608             : { 7, s_10_69, 0, 8, 0},
     609             : { 4, s_10_70, 0, 16, 0},
     610             : { 4, s_10_71, 0, 16, 0},
     611             : { 5, s_10_72, 0, 16, 0},
     612             : { 7, s_10_73, -1, 16, 0},
     613             : { 8, s_10_74, -2, 16, 0},
     614             : { 7, s_10_75, -3, 16, 0},
     615             : { 8, s_10_76, -4, 16, 0},
     616             : { 5, s_10_77, 0, 16, 0},
     617             : { 4, s_10_78, 0, 16, 0},
     618             : { 5, s_10_79, 0, 16, 0},
     619             : { 6, s_10_80, 0, 16, 0},
     620             : { 4, s_10_81, 0, 14, 0},
     621             : { 4, s_10_82, 0, 14, 0},
     622             : { 5, s_10_83, 0, 14, 0},
     623             : { 7, s_10_84, -1, 14, 0},
     624             : { 8, s_10_85, -2, 14, 0},
     625             : { 7, s_10_86, -3, 14, 0},
     626             : { 8, s_10_87, -4, 14, 0},
     627             : { 5, s_10_88, 0, 14, 0},
     628             : { 4, s_10_89, 0, 14, 0},
     629             : { 5, s_10_90, 0, 14, 0},
     630             : { 6, s_10_91, 0, 14, 0},
     631             : { 4, s_10_92, 0, 7, 0},
     632             : { 4, s_10_93, 0, 7, 0},
     633             : { 5, s_10_94, -1, 7, 0},
     634             : { 5, s_10_95, 0, 7, 0},
     635             : { 7, s_10_96, -1, 7, 0},
     636             : { 8, s_10_97, -2, 7, 0},
     637             : { 7, s_10_98, -3, 7, 0},
     638             : { 8, s_10_99, -4, 7, 0},
     639             : { 5, s_10_100, 0, 7, 0},
     640             : { 7, s_10_101, -1, 7, 0},
     641             : { 5, s_10_102, 0, 7, 0},
     642             : { 4, s_10_103, 0, 7, 0},
     643             : { 5, s_10_104, 0, 7, 0},
     644             : { 6, s_10_105, 0, 7, 0},
     645             : { 4, s_10_106, 0, 7, 0},
     646             : { 7, s_10_107, -1, 7, 0},
     647             : { 4, s_10_108, 0, 6, 0},
     648             : { 5, s_10_109, -1, 6, 0},
     649             : { 6, s_10_110, -2, 6, 0},
     650             : { 5, s_10_111, -3, 6, 0},
     651             : { 6, s_10_112, -4, 6, 0},
     652             : { 6, s_10_113, 0, 5, 0},
     653             : { 6, s_10_114, 0, 5, 0},
     654             : { 10, s_10_115, -1, 5, 0},
     655             : { 7, s_10_116, -2, 5, 0},
     656             : { 7, s_10_117, 0, 5, 0},
     657             : { 9, s_10_118, -1, 5, 0},
     658             : { 10, s_10_119, -2, 5, 0},
     659             : { 9, s_10_120, -3, 5, 0},
     660             : { 10, s_10_121, -4, 5, 0},
     661             : { 7, s_10_122, 0, 5, 0},
     662             : { 9, s_10_123, -1, 5, 0},
     663             : { 7, s_10_124, 0, 5, 0},
     664             : { 6, s_10_125, 0, 5, 0},
     665             : { 7, s_10_126, 0, 5, 0},
     666             : { 8, s_10_127, 0, 5, 0},
     667             : { 6, s_10_128, 0, 5, 0},
     668             : { 9, s_10_129, -1, 5, 0},
     669             : { 6, s_10_130, 0, 13, 0},
     670             : { 9, s_10_131, -1, 13, 0},
     671             : { 6, s_10_132, 0, 13, 0},
     672             : { 6, s_10_133, 0, 13, 0},
     673             : { 7, s_10_134, -1, 13, 0},
     674             : { 7, s_10_135, 0, 13, 0},
     675             : { 9, s_10_136, -1, 13, 0},
     676             : { 10, s_10_137, -2, 13, 0},
     677             : { 9, s_10_138, -3, 13, 0},
     678             : { 10, s_10_139, -4, 13, 0},
     679             : { 7, s_10_140, 0, 13, 0},
     680             : { 9, s_10_141, -1, 13, 0},
     681             : { 7, s_10_142, 0, 13, 0},
     682             : { 6, s_10_143, 0, 13, 0},
     683             : { 6, s_10_144, 0, 13, 0},
     684             : { 7, s_10_145, 0, 13, 0},
     685             : { 8, s_10_146, 0, 13, 0},
     686             : { 5, s_10_147, 0, 18, 0},
     687             : { 5, s_10_148, 0, 18, 0},
     688             : { 6, s_10_149, 0, 18, 0},
     689             : { 8, s_10_150, -1, 18, 0},
     690             : { 9, s_10_151, -2, 18, 0},
     691             : { 8, s_10_152, -3, 18, 0},
     692             : { 9, s_10_153, -4, 18, 0},
     693             : { 6, s_10_154, 0, 18, 0},
     694             : { 5, s_10_155, 0, 18, 0},
     695             : { 6, s_10_156, 0, 18, 0},
     696             : { 7, s_10_157, 0, 18, 0},
     697             : { 7, s_10_158, 0, 18, 0},
     698             : { 9, s_10_159, -1, 18, 0},
     699             : { 5, s_10_160, 0, 18, 0},
     700             : { 8, s_10_161, -1, 18, 0},
     701             : { 6, s_10_162, 0, 18, 0},
     702             : { 5, s_10_163, 0, 15, 0},
     703             : { 5, s_10_164, 0, 15, 0},
     704             : { 6, s_10_165, 0, 15, 0},
     705             : { 8, s_10_166, -1, 15, 0},
     706             : { 9, s_10_167, -2, 15, 0},
     707             : { 8, s_10_168, -3, 15, 0},
     708             : { 9, s_10_169, -4, 15, 0},
     709             : { 6, s_10_170, 0, 15, 0},
     710             : { 5, s_10_171, 0, 15, 0},
     711             : { 6, s_10_172, 0, 15, 0},
     712             : { 7, s_10_173, 0, 15, 0},
     713             : { 4, s_10_174, 0, 2, 0},
     714             : { 4, s_10_175, 0, 2, 0},
     715             : { 5, s_10_176, -1, 2, 0},
     716             : { 8, s_10_177, -1, 2, 0},
     717             : { 5, s_10_178, -3, 2, 0},
     718             : { 5, s_10_179, 0, 2, 0},
     719             : { 7, s_10_180, -1, 2, 0},
     720             : { 8, s_10_181, -2, 2, 0},
     721             : { 7, s_10_182, -3, 2, 0},
     722             : { 8, s_10_183, -4, 2, 0},
     723             : { 5, s_10_184, 0, 2, 0},
     724             : { 7, s_10_185, -1, 2, 0},
     725             : { 5, s_10_186, 0, 2, 0},
     726             : { 4, s_10_187, 0, 2, 0},
     727             : { 5, s_10_188, 0, 2, 0},
     728             : { 6, s_10_189, 0, 2, 0},
     729             : { 3, s_10_190, 0, 2, 0},
     730             : { 4, s_10_191, -1, 2, 0},
     731             : { 5, s_10_192, -2, 2, 0},
     732             : { 4, s_10_193, -3, 2, 0},
     733             : { 5, s_10_194, -4, 2, 0},
     734             : { 4, s_10_195, 0, 9, 0},
     735             : { 5, s_10_196, -1, 9, 0},
     736             : { 6, s_10_197, -2, 9, 0},
     737             : { 5, s_10_198, -3, 9, 0},
     738             : { 6, s_10_199, -4, 9, 0},
     739             : { 6, s_10_200, 0, 9, 0},
     740             : { 6, s_10_201, 0, 9, 0},
     741             : { 10, s_10_202, -1, 9, 0},
     742             : { 7, s_10_203, -2, 9, 0},
     743             : { 7, s_10_204, 0, 9, 0},
     744             : { 9, s_10_205, -1, 9, 0},
     745             : { 10, s_10_206, -2, 9, 0},
     746             : { 9, s_10_207, -3, 9, 0},
     747             : { 10, s_10_208, -4, 9, 0},
     748             : { 7, s_10_209, 0, 9, 0},
     749             : { 9, s_10_210, -1, 9, 0},
     750             : { 7, s_10_211, 0, 9, 0},
     751             : { 6, s_10_212, 0, 9, 0},
     752             : { 7, s_10_213, 0, 9, 0},
     753             : { 8, s_10_214, 0, 9, 0},
     754             : { 6, s_10_215, 0, 9, 0},
     755             : { 9, s_10_216, -1, 9, 0},
     756             : { 4, s_10_217, 0, 17, 0},
     757             : { 4, s_10_218, 0, 17, 0},
     758             : { 5, s_10_219, 0, 17, 0},
     759             : { 7, s_10_220, -1, 17, 0},
     760             : { 8, s_10_221, -2, 17, 0},
     761             : { 7, s_10_222, -3, 17, 0},
     762             : { 8, s_10_223, -4, 17, 0},
     763             : { 5, s_10_224, 0, 17, 0},
     764             : { 4, s_10_225, 0, 17, 0},
     765             : { 5, s_10_226, 0, 17, 0},
     766             : { 6, s_10_227, 0, 17, 0},
     767             : { 6, s_10_228, 0, 17, 0},
     768             : { 8, s_10_229, -1, 17, 0},
     769             : { 4, s_10_230, 0, 17, 0},
     770             : { 7, s_10_231, -1, 17, 0},
     771             : { 5, s_10_232, 0, 17, 0},
     772             : { 4, s_10_233, 0, 10, 0},
     773             : { 4, s_10_234, 0, 10, 0},
     774             : { 5, s_10_235, -1, 10, 0},
     775             : { 5, s_10_236, 0, 10, 0},
     776             : { 7, s_10_237, -1, 10, 0},
     777             : { 8, s_10_238, -2, 10, 0},
     778             : { 7, s_10_239, -3, 10, 0},
     779             : { 8, s_10_240, -4, 10, 0},
     780             : { 5, s_10_241, 0, 10, 0},
     781             : { 7, s_10_242, -1, 10, 0},
     782             : { 5, s_10_243, 0, 10, 0},
     783             : { 4, s_10_244, 0, 10, 0},
     784             : { 5, s_10_245, 0, 10, 0},
     785             : { 6, s_10_246, 0, 10, 0},
     786             : { 4, s_10_247, 0, 10, 0},
     787             : { 7, s_10_248, -1, 10, 0},
     788             : { 4, s_10_249, 0, 10, 0},
     789             : { 5, s_10_250, -1, 10, 0},
     790             : { 6, s_10_251, -2, 10, 0},
     791             : { 5, s_10_252, -3, 10, 0},
     792             : { 6, s_10_253, -4, 10, 0},
     793             : { 4, s_10_254, 0, 3, 0},
     794             : { 7, s_10_255, -1, 3, 0},
     795             : { 4, s_10_256, 0, 3, 0},
     796             : { 4, s_10_257, 0, 3, 0},
     797             : { 5, s_10_258, -1, 3, 0},
     798             : { 5, s_10_259, 0, 3, 0},
     799             : { 7, s_10_260, -1, 3, 0},
     800             : { 8, s_10_261, -2, 3, 0},
     801             : { 7, s_10_262, -3, 3, 0},
     802             : { 8, s_10_263, -4, 3, 0},
     803             : { 5, s_10_264, 0, 3, 0},
     804             : { 7, s_10_265, -1, 3, 0},
     805             : { 5, s_10_266, 0, 3, 0},
     806             : { 4, s_10_267, 0, 3, 0},
     807             : { 7, s_10_268, 0, 3, 0},
     808             : { 6, s_10_269, 0, 3, 0},
     809             : { 7, s_10_270, 0, 3, 0},
     810             : { 5, s_10_271, 0, 3, 0},
     811             : { 6, s_10_272, 0, 3, 0},
     812             : { 5, s_10_273, 0, 11, 0},
     813             : { 5, s_10_274, 0, 11, 0},
     814             : { 6, s_10_275, -1, 11, 0},
     815             : { 9, s_10_276, -1, 11, 0},
     816             : { 6, s_10_277, -3, 11, 0},
     817             : { 6, s_10_278, 0, 11, 0},
     818             : { 8, s_10_279, -1, 11, 0},
     819             : { 9, s_10_280, -2, 11, 0},
     820             : { 8, s_10_281, -3, 11, 0},
     821             : { 9, s_10_282, -4, 11, 0},
     822             : { 6, s_10_283, 0, 11, 0},
     823             : { 8, s_10_284, -1, 11, 0},
     824             : { 6, s_10_285, 0, 11, 0},
     825             : { 5, s_10_286, 0, 11, 0},
     826             : { 5, s_10_287, 0, 11, 0},
     827             : { 6, s_10_288, 0, 11, 0},
     828             : { 7, s_10_289, 0, 11, 0}
     829             : };
     830             : 
     831             : static const unsigned char g_V1[] = { 17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 48, 8 };
     832             : 
     833             : static const unsigned char g_RV[] = { 17, 65, 16 };
     834             : 
     835             : static const unsigned char g_KI[] = { 117, 66, 6, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 16 };
     836             : 
     837             : static const unsigned char g_GI[] = { 21, 123, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 48, 8 };
     838             : 
     839           0 : static int r_mark_regions(struct SN_env * z) {
     840           0 :     ((SN_local *)z)->i_p1 = z->l;
     841             :     {
     842           0 :         int ret = out_grouping_U(z, g_V1, 97, 252, 1);
     843           0 :         if (ret < 0) return 0;
     844           0 :         z->c += ret;
     845             :     }
     846             :     {
     847           0 :         int ret = in_grouping_U(z, g_V1, 97, 252, 1);
     848           0 :         if (ret < 0) return 0;
     849           0 :         z->c += ret;
     850             :     }
     851           0 :     ((SN_local *)z)->i_p1 = z->c;
     852           0 :     return 1;
     853             : }
     854             : 
     855           0 : static int r_emphasis(struct SN_env * z) {
     856             :     int among_var;
     857             :     {
     858             :         int v_1;
     859           0 :         if (z->c < ((SN_local *)z)->i_p1) return 0;
     860           0 :         v_1 = z->lb; z->lb = ((SN_local *)z)->i_p1;
     861           0 :         z->ket = z->c;
     862           0 :         if (z->c - 1 <= z->lb || z->p[z->c - 1] != 105) { z->lb = v_1; return 0; }
     863           0 :         among_var = find_among_b(z, a_0, 2, 0);
     864           0 :         if (!among_var) { z->lb = v_1; return 0; }
     865           0 :         z->bra = z->c;
     866           0 :         z->lb = v_1;
     867             :     }
     868             :     {
     869           0 :         int v_2 = z->l - z->c;
     870             :         {
     871           0 :             int ret = skip_b_utf8(z->p, z->c, z->lb, 4);
     872           0 :             if (ret < 0) return 0;
     873           0 :             z->c = ret;
     874             :         }
     875           0 :         z->c = z->l - v_2;
     876             :     }
     877           0 :     switch (among_var) {
     878           0 :         case 1:
     879             :             {
     880           0 :                 int v_3 = z->l - z->c;
     881           0 :                 if (in_grouping_b_U(z, g_GI, 97, 252, 0)) return 0;
     882           0 :                 z->c = z->l - v_3;
     883             :                 {
     884           0 :                     int v_4 = z->l - z->c;
     885             :                     {
     886           0 :                         int ret = r_LONGV(z);
     887           0 :                         if (ret == 0) goto lab0;
     888           0 :                         if (ret < 0) return ret;
     889             :                     }
     890           0 :                     return 0;
     891           0 :                 lab0:
     892           0 :                     z->c = z->l - v_4;
     893             :                 }
     894             :             }
     895             :             {
     896           0 :                 int ret = slice_del(z);
     897           0 :                 if (ret < 0) return ret;
     898             :             }
     899           0 :             break;
     900           0 :         case 2:
     901           0 :             if (in_grouping_b_U(z, g_KI, 98, 382, 0)) return 0;
     902             :             {
     903           0 :                 int ret = slice_del(z);
     904           0 :                 if (ret < 0) return ret;
     905             :             }
     906           0 :             break;
     907             :     }
     908           0 :     return 1;
     909             : }
     910             : 
     911           0 : static int r_verb(struct SN_env * z) {
     912             :     int among_var;
     913             :     {
     914             :         int v_1;
     915           0 :         if (z->c < ((SN_local *)z)->i_p1) return 0;
     916           0 :         v_1 = z->lb; z->lb = ((SN_local *)z)->i_p1;
     917           0 :         z->ket = z->c;
     918           0 :         if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((540726 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = v_1; return 0; }
     919           0 :         among_var = find_among_b(z, a_1, 21, 0);
     920           0 :         if (!among_var) { z->lb = v_1; return 0; }
     921           0 :         z->bra = z->c;
     922           0 :         z->lb = v_1;
     923             :     }
     924           0 :     switch (among_var) {
     925           0 :         case 1:
     926             :             {
     927           0 :                 int ret = slice_del(z);
     928           0 :                 if (ret < 0) return ret;
     929             :             }
     930           0 :             break;
     931           0 :         case 2:
     932             :             {
     933           0 :                 int ret = slice_from_s(z, 1, s_0);
     934           0 :                 if (ret < 0) return ret;
     935             :             }
     936           0 :             break;
     937           0 :         case 3:
     938           0 :             if (in_grouping_b_U(z, g_V1, 97, 252, 0)) return 0;
     939             :             {
     940           0 :                 int ret = slice_del(z);
     941           0 :                 if (ret < 0) return ret;
     942             :             }
     943           0 :             break;
     944             :     }
     945           0 :     return 1;
     946             : }
     947             : 
     948           0 : static int r_LONGV(struct SN_env * z) {
     949           0 :     return find_among_b(z, a_2, 9, 0) != 0;
     950             : }
     951             : 
     952           0 : static int r_i_plural(struct SN_env * z) {
     953             :     {
     954             :         int v_1;
     955           0 :         if (z->c < ((SN_local *)z)->i_p1) return 0;
     956           0 :         v_1 = z->lb; z->lb = ((SN_local *)z)->i_p1;
     957           0 :         z->ket = z->c;
     958           0 :         if (z->c <= z->lb || z->p[z->c - 1] != 'i') { z->lb = v_1; return 0; }
     959           0 :         z->c--;
     960           0 :         z->bra = z->c;
     961           0 :         z->lb = v_1;
     962             :     }
     963           0 :     if (in_grouping_b_U(z, g_RV, 97, 117, 0)) return 0;
     964             :     {
     965           0 :         int ret = slice_del(z);
     966           0 :         if (ret < 0) return ret;
     967             :     }
     968           0 :     return 1;
     969             : }
     970             : 
     971           0 : static int r_special_noun_endings(struct SN_env * z) {
     972             :     int among_var;
     973             :     {
     974             :         int v_1;
     975           0 :         if (z->c < ((SN_local *)z)->i_p1) return 0;
     976           0 :         v_1 = z->lb; z->lb = ((SN_local *)z)->i_p1;
     977           0 :         z->ket = z->c;
     978           0 :         if (z->c - 3 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1049120 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = v_1; return 0; }
     979           0 :         among_var = find_among_b(z, a_3, 12, 0);
     980           0 :         if (!among_var) { z->lb = v_1; return 0; }
     981           0 :         z->bra = z->c;
     982           0 :         z->lb = v_1;
     983             :     }
     984           0 :     switch (among_var) {
     985           0 :         case 1:
     986             :             {
     987           0 :                 int ret = slice_from_s(z, 4, s_1);
     988           0 :                 if (ret < 0) return ret;
     989             :             }
     990           0 :             break;
     991           0 :         case 2:
     992             :             {
     993           0 :                 int ret = slice_from_s(z, 4, s_2);
     994           0 :                 if (ret < 0) return ret;
     995             :             }
     996           0 :             break;
     997           0 :         case 3:
     998             :             {
     999           0 :                 int ret = slice_from_s(z, 4, s_3);
    1000           0 :                 if (ret < 0) return ret;
    1001             :             }
    1002           0 :             break;
    1003             :     }
    1004           0 :     return 1;
    1005             : }
    1006             : 
    1007           0 : static int r_case_ending(struct SN_env * z) {
    1008             :     int among_var;
    1009             :     {
    1010             :         int v_1;
    1011           0 :         if (z->c < ((SN_local *)z)->i_p1) return 0;
    1012           0 :         v_1 = z->lb; z->lb = ((SN_local *)z)->i_p1;
    1013           0 :         z->ket = z->c;
    1014           0 :         if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1576994 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = v_1; return 0; }
    1015           0 :         among_var = find_among_b(z, a_4, 10, 0);
    1016           0 :         if (!among_var) { z->lb = v_1; return 0; }
    1017           0 :         z->bra = z->c;
    1018           0 :         z->lb = v_1;
    1019             :     }
    1020           0 :     switch (among_var) {
    1021           0 :         case 1:
    1022             :             do {
    1023           0 :                 int v_2 = z->l - z->c;
    1024           0 :                 if (in_grouping_b_U(z, g_RV, 97, 117, 0)) goto lab0;
    1025           0 :                 break;
    1026           0 :             lab0:
    1027           0 :                 z->c = z->l - v_2;
    1028             :                 {
    1029           0 :                     int ret = r_LONGV(z);
    1030           0 :                     if (ret <= 0) return ret;
    1031             :                 }
    1032             :             } while (0);
    1033           0 :             break;
    1034           0 :         case 2:
    1035             :             {
    1036           0 :                 int v_3 = z->l - z->c;
    1037             :                 {
    1038           0 :                     int ret = skip_b_utf8(z->p, z->c, z->lb, 4);
    1039           0 :                     if (ret < 0) return 0;
    1040           0 :                     z->c = ret;
    1041             :                 }
    1042           0 :                 z->c = z->l - v_3;
    1043             :             }
    1044           0 :             break;
    1045             :     }
    1046             :     {
    1047           0 :         int ret = slice_del(z);
    1048           0 :         if (ret < 0) return ret;
    1049             :     }
    1050           0 :     return 1;
    1051             : }
    1052             : 
    1053           0 : static int r_plural_three_first_cases(struct SN_env * z) {
    1054             :     int among_var;
    1055             :     {
    1056             :         int v_1;
    1057           0 :         if (z->c < ((SN_local *)z)->i_p1) return 0;
    1058           0 :         v_1 = z->lb; z->lb = ((SN_local *)z)->i_p1;
    1059           0 :         z->ket = z->c;
    1060           0 :         if (z->c <= z->lb || (z->p[z->c - 1] != 100 && z->p[z->c - 1] != 101)) { z->lb = v_1; return 0; }
    1061           0 :         among_var = find_among_b(z, a_6, 7, 0);
    1062           0 :         if (!among_var) { z->lb = v_1; return 0; }
    1063           0 :         z->bra = z->c;
    1064           0 :         z->lb = v_1;
    1065             :     }
    1066           0 :     switch (among_var) {
    1067           0 :         case 1:
    1068             :             {
    1069           0 :                 int ret = slice_from_s(z, 3, s_4);
    1070           0 :                 if (ret < 0) return ret;
    1071             :             }
    1072           0 :             break;
    1073           0 :         case 2:
    1074             :             {
    1075           0 :                 int v_2 = z->l - z->c;
    1076             :                 {
    1077           0 :                     int ret = r_LONGV(z);
    1078           0 :                     if (ret == 0) goto lab0;
    1079           0 :                     if (ret < 0) return ret;
    1080             :                 }
    1081           0 :                 return 0;
    1082           0 :             lab0:
    1083           0 :                 z->c = z->l - v_2;
    1084             :             }
    1085             :             {
    1086           0 :                 int ret = slice_del(z);
    1087           0 :                 if (ret < 0) return ret;
    1088             :             }
    1089           0 :             break;
    1090           0 :         case 3:
    1091             :             do {
    1092           0 :                 int v_3 = z->l - z->c;
    1093             :                 {
    1094           0 :                     int v_4 = z->l - z->c;
    1095             :                     {
    1096           0 :                         int ret = skip_b_utf8(z->p, z->c, z->lb, 4);
    1097           0 :                         if (ret < 0) goto lab1;
    1098           0 :                         z->c = ret;
    1099             :                     }
    1100           0 :                     z->c = z->l - v_4;
    1101             :                 }
    1102           0 :                 if (z->c <= z->lb || (z->p[z->c - 1] != 115 && z->p[z->c - 1] != 116)) among_var = 2; else
    1103           0 :                 among_var = find_among_b(z, a_5, 5, 0);
    1104             :                 switch (among_var) {
    1105           0 :                     case 1:
    1106             :                         {
    1107           0 :                             int ret = slice_from_s(z, 1, s_5);
    1108           0 :                             if (ret < 0) return ret;
    1109             :                         }
    1110           0 :                         break;
    1111           0 :                     case 2:
    1112             :                         {
    1113           0 :                             int ret = slice_del(z);
    1114           0 :                             if (ret < 0) return ret;
    1115             :                         }
    1116           0 :                         break;
    1117             :                 }
    1118           0 :                 break;
    1119           0 :             lab1:
    1120           0 :                 z->c = z->l - v_3;
    1121             :                 {
    1122           0 :                     int ret = slice_from_s(z, 1, s_6);
    1123           0 :                     if (ret < 0) return ret;
    1124             :                 }
    1125             :             } while (0);
    1126           0 :             break;
    1127           0 :         case 4:
    1128             :             do {
    1129           0 :                 int v_5 = z->l - z->c;
    1130           0 :                 if (in_grouping_b_U(z, g_RV, 97, 117, 0)) goto lab2;
    1131           0 :                 break;
    1132           0 :             lab2:
    1133           0 :                 z->c = z->l - v_5;
    1134             :                 {
    1135           0 :                     int ret = r_LONGV(z);
    1136           0 :                     if (ret <= 0) return ret;
    1137             :                 }
    1138             :             } while (0);
    1139             :             {
    1140           0 :                 int ret = slice_del(z);
    1141           0 :                 if (ret < 0) return ret;
    1142             :             }
    1143           0 :             break;
    1144             :     }
    1145           0 :     return 1;
    1146             : }
    1147             : 
    1148           0 : static int r_nu(struct SN_env * z) {
    1149             :     {
    1150             :         int v_1;
    1151           0 :         if (z->c < ((SN_local *)z)->i_p1) return 0;
    1152           0 :         v_1 = z->lb; z->lb = ((SN_local *)z)->i_p1;
    1153           0 :         z->ket = z->c;
    1154           0 :         if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 97 && z->p[z->c - 1] != 117)) { z->lb = v_1; return 0; }
    1155           0 :         if (!find_among_b(z, a_7, 4, 0)) { z->lb = v_1; return 0; }
    1156           0 :         z->bra = z->c;
    1157           0 :         z->lb = v_1;
    1158             :     }
    1159             :     {
    1160           0 :         int ret = slice_del(z);
    1161           0 :         if (ret < 0) return ret;
    1162             :     }
    1163           0 :     return 1;
    1164             : }
    1165             : 
    1166           0 : static int r_undouble_kpt(struct SN_env * z) {
    1167             :     int among_var;
    1168           0 :     if (in_grouping_b_U(z, g_V1, 97, 252, 0)) return 0;
    1169           0 :     if (((SN_local *)z)->i_p1 > z->c) return 0;
    1170           0 :     z->ket = z->c;
    1171           0 :     if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1116160 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
    1172           0 :     among_var = find_among_b(z, a_8, 3, 0);
    1173           0 :     if (!among_var) return 0;
    1174           0 :     z->bra = z->c;
    1175           0 :     switch (among_var) {
    1176           0 :         case 1:
    1177             :             {
    1178           0 :                 int ret = slice_from_s(z, 1, s_7);
    1179           0 :                 if (ret < 0) return ret;
    1180             :             }
    1181           0 :             break;
    1182           0 :         case 2:
    1183             :             {
    1184           0 :                 int ret = slice_from_s(z, 1, s_8);
    1185           0 :                 if (ret < 0) return ret;
    1186             :             }
    1187           0 :             break;
    1188           0 :         case 3:
    1189             :             {
    1190           0 :                 int ret = slice_from_s(z, 1, s_9);
    1191           0 :                 if (ret < 0) return ret;
    1192             :             }
    1193           0 :             break;
    1194             :     }
    1195           0 :     return 1;
    1196             : }
    1197             : 
    1198           0 : static int r_degrees(struct SN_env * z) {
    1199             :     int among_var;
    1200             :     {
    1201             :         int v_1;
    1202           0 :         if (z->c < ((SN_local *)z)->i_p1) return 0;
    1203           0 :         v_1 = z->lb; z->lb = ((SN_local *)z)->i_p1;
    1204           0 :         z->ket = z->c;
    1205           0 :         if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((8706 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = v_1; return 0; }
    1206           0 :         among_var = find_among_b(z, a_9, 3, 0);
    1207           0 :         if (!among_var) { z->lb = v_1; return 0; }
    1208           0 :         z->bra = z->c;
    1209           0 :         z->lb = v_1;
    1210             :     }
    1211           0 :     switch (among_var) {
    1212           0 :         case 1:
    1213           0 :             if (in_grouping_b_U(z, g_RV, 97, 117, 0)) return 0;
    1214             :             {
    1215           0 :                 int ret = slice_del(z);
    1216           0 :                 if (ret < 0) return ret;
    1217             :             }
    1218           0 :             break;
    1219           0 :         case 2:
    1220             :             {
    1221           0 :                 int ret = slice_del(z);
    1222           0 :                 if (ret < 0) return ret;
    1223             :             }
    1224           0 :             break;
    1225             :     }
    1226           0 :     return 1;
    1227             : }
    1228             : 
    1229           0 : static int r_substantive(struct SN_env * z) {
    1230             :     {
    1231           0 :         int v_1 = z->l - z->c;
    1232             :         {
    1233           0 :             int ret = r_special_noun_endings(z);
    1234           0 :             if (ret < 0) return ret;
    1235             :         }
    1236           0 :         z->c = z->l - v_1;
    1237             :     }
    1238             :     {
    1239           0 :         int v_2 = z->l - z->c;
    1240             :         {
    1241           0 :             int ret = r_case_ending(z);
    1242           0 :             if (ret < 0) return ret;
    1243             :         }
    1244           0 :         z->c = z->l - v_2;
    1245             :     }
    1246             :     {
    1247           0 :         int v_3 = z->l - z->c;
    1248             :         {
    1249           0 :             int ret = r_plural_three_first_cases(z);
    1250           0 :             if (ret < 0) return ret;
    1251             :         }
    1252           0 :         z->c = z->l - v_3;
    1253             :     }
    1254             :     {
    1255           0 :         int v_4 = z->l - z->c;
    1256             :         {
    1257           0 :             int ret = r_degrees(z);
    1258           0 :             if (ret < 0) return ret;
    1259             :         }
    1260           0 :         z->c = z->l - v_4;
    1261             :     }
    1262             :     {
    1263           0 :         int v_5 = z->l - z->c;
    1264             :         {
    1265           0 :             int ret = r_i_plural(z);
    1266           0 :             if (ret < 0) return ret;
    1267             :         }
    1268           0 :         z->c = z->l - v_5;
    1269             :     }
    1270             :     {
    1271           0 :         int v_6 = z->l - z->c;
    1272             :         {
    1273           0 :             int ret = r_nu(z);
    1274           0 :             if (ret < 0) return ret;
    1275             :         }
    1276           0 :         z->c = z->l - v_6;
    1277             :     }
    1278           0 :     return 1;
    1279             : }
    1280             : 
    1281           0 : static int r_verb_exceptions(struct SN_env * z) {
    1282             :     int among_var;
    1283           0 :     z->bra = z->c;
    1284           0 :     among_var = find_among(z, a_10, 290, 0);
    1285           0 :     if (!among_var) return 0;
    1286           0 :     z->ket = z->c;
    1287           0 :     if (z->c < z->l) return 0;
    1288           0 :     switch (among_var) {
    1289           0 :         case 1:
    1290             :             {
    1291           0 :                 int ret = slice_from_s(z, 3, s_10);
    1292           0 :                 if (ret < 0) return ret;
    1293             :             }
    1294           0 :             break;
    1295           0 :         case 2:
    1296             :             {
    1297           0 :                 int ret = slice_from_s(z, 3, s_11);
    1298           0 :                 if (ret < 0) return ret;
    1299             :             }
    1300           0 :             break;
    1301           0 :         case 3:
    1302             :             {
    1303           0 :                 int ret = slice_from_s(z, 5, s_12);
    1304           0 :                 if (ret < 0) return ret;
    1305             :             }
    1306           0 :             break;
    1307           0 :         case 4:
    1308             :             {
    1309           0 :                 int ret = slice_from_s(z, 5, s_13);
    1310           0 :                 if (ret < 0) return ret;
    1311             :             }
    1312           0 :             break;
    1313           0 :         case 5:
    1314             :             {
    1315           0 :                 int ret = slice_from_s(z, 5, s_14);
    1316           0 :                 if (ret < 0) return ret;
    1317             :             }
    1318           0 :             break;
    1319           0 :         case 6:
    1320             :             {
    1321           0 :                 int ret = slice_from_s(z, 4, s_15);
    1322           0 :                 if (ret < 0) return ret;
    1323             :             }
    1324           0 :             break;
    1325           0 :         case 7:
    1326             :             {
    1327           0 :                 int ret = slice_from_s(z, 3, s_16);
    1328           0 :                 if (ret < 0) return ret;
    1329             :             }
    1330           0 :             break;
    1331           0 :         case 8:
    1332             :             {
    1333           0 :                 int ret = slice_from_s(z, 6, s_17);
    1334           0 :                 if (ret < 0) return ret;
    1335             :             }
    1336           0 :             break;
    1337           0 :         case 9:
    1338             :             {
    1339           0 :                 int ret = slice_from_s(z, 5, s_18);
    1340           0 :                 if (ret < 0) return ret;
    1341             :             }
    1342           0 :             break;
    1343           0 :         case 10:
    1344             :             {
    1345           0 :                 int ret = slice_from_s(z, 3, s_19);
    1346           0 :                 if (ret < 0) return ret;
    1347             :             }
    1348           0 :             break;
    1349           0 :         case 11:
    1350             :             {
    1351           0 :                 int ret = slice_from_s(z, 6, s_20);
    1352           0 :                 if (ret < 0) return ret;
    1353             :             }
    1354           0 :             break;
    1355           0 :         case 12:
    1356             :             {
    1357           0 :                 int ret = slice_from_s(z, 7, s_21);
    1358           0 :                 if (ret < 0) return ret;
    1359             :             }
    1360           0 :             break;
    1361           0 :         case 13:
    1362             :             {
    1363           0 :                 int ret = slice_from_s(z, 7, s_22);
    1364           0 :                 if (ret < 0) return ret;
    1365             :             }
    1366           0 :             break;
    1367           0 :         case 14:
    1368             :             {
    1369           0 :                 int ret = slice_from_s(z, 4, s_23);
    1370           0 :                 if (ret < 0) return ret;
    1371             :             }
    1372           0 :             break;
    1373           0 :         case 15:
    1374             :             {
    1375           0 :                 int ret = slice_from_s(z, 5, s_24);
    1376           0 :                 if (ret < 0) return ret;
    1377             :             }
    1378           0 :             break;
    1379           0 :         case 16:
    1380             :             {
    1381           0 :                 int ret = slice_from_s(z, 4, s_25);
    1382           0 :                 if (ret < 0) return ret;
    1383             :             }
    1384           0 :             break;
    1385           0 :         case 17:
    1386             :             {
    1387           0 :                 int ret = slice_from_s(z, 4, s_26);
    1388           0 :                 if (ret < 0) return ret;
    1389             :             }
    1390           0 :             break;
    1391           0 :         case 18:
    1392             :             {
    1393           0 :                 int ret = slice_from_s(z, 5, s_27);
    1394           0 :                 if (ret < 0) return ret;
    1395             :             }
    1396           0 :             break;
    1397             :     }
    1398           0 :     return 1;
    1399             : }
    1400             : 
    1401           0 : extern int estonian_UTF_8_stem(struct SN_env * z) {
    1402             :     {
    1403           0 :         int v_1 = z->c;
    1404             :         {
    1405           0 :             int ret = r_verb_exceptions(z);
    1406           0 :             if (ret == 0) goto lab0;
    1407           0 :             if (ret < 0) return ret;
    1408             :         }
    1409           0 :         return 0;
    1410           0 :     lab0:
    1411           0 :         z->c = v_1;
    1412             :     }
    1413             :     {
    1414           0 :         int v_2 = z->c;
    1415             :         {
    1416           0 :             int ret = r_mark_regions(z);
    1417           0 :             if (ret < 0) return ret;
    1418             :         }
    1419           0 :         z->c = v_2;
    1420             :     }
    1421           0 :     z->lb = z->c; z->c = z->l;
    1422             :     {
    1423           0 :         int v_3 = z->l - z->c;
    1424             :         {
    1425           0 :             int ret = r_emphasis(z);
    1426           0 :             if (ret < 0) return ret;
    1427             :         }
    1428           0 :         z->c = z->l - v_3;
    1429             :     }
    1430             :     {
    1431           0 :         int v_4 = z->l - z->c;
    1432             :         do {
    1433           0 :             int v_5 = z->l - z->c;
    1434             :             {
    1435           0 :                 int ret = r_verb(z);
    1436           0 :                 if (ret == 0) goto lab2;
    1437           0 :                 if (ret < 0) return ret;
    1438             :             }
    1439           0 :             break;
    1440           0 :         lab2:
    1441           0 :             z->c = z->l - v_5;
    1442             :             {
    1443           0 :                 int ret = r_substantive(z);
    1444           0 :                 if (ret < 0) return ret;
    1445             :             }
    1446             :         } while (0);
    1447           0 :         z->c = z->l - v_4;
    1448             :     }
    1449             :     {
    1450           0 :         int v_6 = z->l - z->c;
    1451             :         {
    1452           0 :             int ret = r_undouble_kpt(z);
    1453           0 :             if (ret < 0) return ret;
    1454             :         }
    1455           0 :         z->c = z->l - v_6;
    1456             :     }
    1457           0 :     z->c = z->lb;
    1458           0 :     return 1;
    1459             : }
    1460             : 
    1461           0 : extern struct SN_env * estonian_UTF_8_create_env(void) {
    1462           0 :     struct SN_env * z = SN_new_env(sizeof(SN_local));
    1463           0 :     if (z) {
    1464           0 :         ((SN_local *)z)->i_p1 = 0;
    1465             :     }
    1466           0 :     return z;
    1467             : }
    1468             : 
    1469           0 : extern void estonian_UTF_8_close_env(struct SN_env * z) {
    1470           0 :     SN_delete_env(z);
    1471           0 : }
    1472             : 

Generated by: LCOV version 1.16