LCOV - code coverage report
Current view: top level - src/backend/snowball/libstemmer - stem_UTF_8_estonian.c (source / functions) Coverage Total Hit
Test: PostgreSQL 19devel Lines: 0.0 % 397 0
Test Date: 2026-03-03 10:15:07 Functions: 0.0 % 16 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            0 :                 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 2.0-1