LCOV - code coverage report
Current view: top level - src/backend/snowball/libstemmer - stem_UTF_8_italian.c (source / functions) Coverage Total Hit
Test: PostgreSQL 19devel Lines: 0.0 % 399 0
Test Date: 2026-03-05 13:15:05 Functions: 0.0 % 13 0
Legend: Lines:     hit not hit

            Line data    Source code
       1              : /* Generated from italian.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
       2              : 
       3              : #include "stem_UTF_8_italian.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_p2;
      12              :     int i_p1;
      13              :     int i_pV;
      14              : };
      15              : 
      16              : typedef struct SN_local SN_local;
      17              : 
      18              : #ifdef __cplusplus
      19              : extern "C" {
      20              : #endif
      21              : extern int italian_UTF_8_stem(struct SN_env * z);
      22              : #ifdef __cplusplus
      23              : }
      24              : #endif
      25              : 
      26              : static int r_vowel_suffix(struct SN_env * z);
      27              : static int r_verb_suffix(struct SN_env * z);
      28              : static int r_standard_suffix(struct SN_env * z);
      29              : static int r_attached_pronoun(struct SN_env * z);
      30              : static int r_R2(struct SN_env * z);
      31              : static int r_R1(struct SN_env * z);
      32              : static int r_RV(struct SN_env * z);
      33              : static int r_mark_regions(struct SN_env * z);
      34              : static int r_postlude(struct SN_env * z);
      35              : static int r_prelude(struct SN_env * z);
      36              : 
      37              : static const symbol s_0[] = { 0xC3, 0xA0 };
      38              : static const symbol s_1[] = { 0xC3, 0xA8 };
      39              : static const symbol s_2[] = { 0xC3, 0xAC };
      40              : static const symbol s_3[] = { 0xC3, 0xB2 };
      41              : static const symbol s_4[] = { 0xC3, 0xB9 };
      42              : static const symbol s_5[] = { 'q', 'U' };
      43              : static const symbol s_6[] = { 'U' };
      44              : static const symbol s_7[] = { 'I' };
      45              : static const symbol s_8[] = { 'd', 'i', 'v', 'a', 'n' };
      46              : static const symbol s_9[] = { 'i' };
      47              : static const symbol s_10[] = { 'u' };
      48              : static const symbol s_11[] = { 'e' };
      49              : static const symbol s_12[] = { 'i', 'c' };
      50              : static const symbol s_13[] = { 'l', 'o', 'g' };
      51              : static const symbol s_14[] = { 'u' };
      52              : static const symbol s_15[] = { 'e', 'n', 't', 'e' };
      53              : static const symbol s_16[] = { 'a', 't' };
      54              : static const symbol s_17[] = { 'a', 't' };
      55              : static const symbol s_18[] = { 'i', 'c' };
      56              : 
      57              : static const symbol s_0_1[2] = { 'q', 'u' };
      58              : static const symbol s_0_2[2] = { 0xC3, 0xA1 };
      59              : static const symbol s_0_3[2] = { 0xC3, 0xA9 };
      60              : static const symbol s_0_4[2] = { 0xC3, 0xAD };
      61              : static const symbol s_0_5[2] = { 0xC3, 0xB3 };
      62              : static const symbol s_0_6[2] = { 0xC3, 0xBA };
      63              : static const struct among a_0[7] = {
      64              : { 0, 0, 0, 7, 0},
      65              : { 2, s_0_1, -1, 6, 0},
      66              : { 2, s_0_2, -2, 1, 0},
      67              : { 2, s_0_3, -3, 2, 0},
      68              : { 2, s_0_4, -4, 3, 0},
      69              : { 2, s_0_5, -5, 4, 0},
      70              : { 2, s_0_6, -6, 5, 0}
      71              : };
      72              : 
      73              : static const symbol s_1_1[1] = { 'I' };
      74              : static const symbol s_1_2[1] = { 'U' };
      75              : static const struct among a_1[3] = {
      76              : { 0, 0, 0, 3, 0},
      77              : { 1, s_1_1, -1, 1, 0},
      78              : { 1, s_1_2, -2, 2, 0}
      79              : };
      80              : 
      81              : static const symbol s_2_0[2] = { 'l', 'a' };
      82              : static const symbol s_2_1[4] = { 'c', 'e', 'l', 'a' };
      83              : static const symbol s_2_2[6] = { 'g', 'l', 'i', 'e', 'l', 'a' };
      84              : static const symbol s_2_3[4] = { 'm', 'e', 'l', 'a' };
      85              : static const symbol s_2_4[4] = { 't', 'e', 'l', 'a' };
      86              : static const symbol s_2_5[4] = { 'v', 'e', 'l', 'a' };
      87              : static const symbol s_2_6[2] = { 'l', 'e' };
      88              : static const symbol s_2_7[4] = { 'c', 'e', 'l', 'e' };
      89              : static const symbol s_2_8[6] = { 'g', 'l', 'i', 'e', 'l', 'e' };
      90              : static const symbol s_2_9[4] = { 'm', 'e', 'l', 'e' };
      91              : static const symbol s_2_10[4] = { 't', 'e', 'l', 'e' };
      92              : static const symbol s_2_11[4] = { 'v', 'e', 'l', 'e' };
      93              : static const symbol s_2_12[2] = { 'n', 'e' };
      94              : static const symbol s_2_13[4] = { 'c', 'e', 'n', 'e' };
      95              : static const symbol s_2_14[6] = { 'g', 'l', 'i', 'e', 'n', 'e' };
      96              : static const symbol s_2_15[4] = { 'm', 'e', 'n', 'e' };
      97              : static const symbol s_2_16[4] = { 's', 'e', 'n', 'e' };
      98              : static const symbol s_2_17[4] = { 't', 'e', 'n', 'e' };
      99              : static const symbol s_2_18[4] = { 'v', 'e', 'n', 'e' };
     100              : static const symbol s_2_19[2] = { 'c', 'i' };
     101              : static const symbol s_2_20[2] = { 'l', 'i' };
     102              : static const symbol s_2_21[4] = { 'c', 'e', 'l', 'i' };
     103              : static const symbol s_2_22[6] = { 'g', 'l', 'i', 'e', 'l', 'i' };
     104              : static const symbol s_2_23[4] = { 'm', 'e', 'l', 'i' };
     105              : static const symbol s_2_24[4] = { 't', 'e', 'l', 'i' };
     106              : static const symbol s_2_25[4] = { 'v', 'e', 'l', 'i' };
     107              : static const symbol s_2_26[3] = { 'g', 'l', 'i' };
     108              : static const symbol s_2_27[2] = { 'm', 'i' };
     109              : static const symbol s_2_28[2] = { 's', 'i' };
     110              : static const symbol s_2_29[2] = { 't', 'i' };
     111              : static const symbol s_2_30[2] = { 'v', 'i' };
     112              : static const symbol s_2_31[2] = { 'l', 'o' };
     113              : static const symbol s_2_32[4] = { 'c', 'e', 'l', 'o' };
     114              : static const symbol s_2_33[6] = { 'g', 'l', 'i', 'e', 'l', 'o' };
     115              : static const symbol s_2_34[4] = { 'm', 'e', 'l', 'o' };
     116              : static const symbol s_2_35[4] = { 't', 'e', 'l', 'o' };
     117              : static const symbol s_2_36[4] = { 'v', 'e', 'l', 'o' };
     118              : static const struct among a_2[37] = {
     119              : { 2, s_2_0, 0, -1, 0},
     120              : { 4, s_2_1, -1, -1, 0},
     121              : { 6, s_2_2, -2, -1, 0},
     122              : { 4, s_2_3, -3, -1, 0},
     123              : { 4, s_2_4, -4, -1, 0},
     124              : { 4, s_2_5, -5, -1, 0},
     125              : { 2, s_2_6, 0, -1, 0},
     126              : { 4, s_2_7, -1, -1, 0},
     127              : { 6, s_2_8, -2, -1, 0},
     128              : { 4, s_2_9, -3, -1, 0},
     129              : { 4, s_2_10, -4, -1, 0},
     130              : { 4, s_2_11, -5, -1, 0},
     131              : { 2, s_2_12, 0, -1, 0},
     132              : { 4, s_2_13, -1, -1, 0},
     133              : { 6, s_2_14, -2, -1, 0},
     134              : { 4, s_2_15, -3, -1, 0},
     135              : { 4, s_2_16, -4, -1, 0},
     136              : { 4, s_2_17, -5, -1, 0},
     137              : { 4, s_2_18, -6, -1, 0},
     138              : { 2, s_2_19, 0, -1, 0},
     139              : { 2, s_2_20, 0, -1, 0},
     140              : { 4, s_2_21, -1, -1, 0},
     141              : { 6, s_2_22, -2, -1, 0},
     142              : { 4, s_2_23, -3, -1, 0},
     143              : { 4, s_2_24, -4, -1, 0},
     144              : { 4, s_2_25, -5, -1, 0},
     145              : { 3, s_2_26, -6, -1, 0},
     146              : { 2, s_2_27, 0, -1, 0},
     147              : { 2, s_2_28, 0, -1, 0},
     148              : { 2, s_2_29, 0, -1, 0},
     149              : { 2, s_2_30, 0, -1, 0},
     150              : { 2, s_2_31, 0, -1, 0},
     151              : { 4, s_2_32, -1, -1, 0},
     152              : { 6, s_2_33, -2, -1, 0},
     153              : { 4, s_2_34, -3, -1, 0},
     154              : { 4, s_2_35, -4, -1, 0},
     155              : { 4, s_2_36, -5, -1, 0}
     156              : };
     157              : 
     158              : static const symbol s_3_0[4] = { 'a', 'n', 'd', 'o' };
     159              : static const symbol s_3_1[4] = { 'e', 'n', 'd', 'o' };
     160              : static const symbol s_3_2[2] = { 'a', 'r' };
     161              : static const symbol s_3_3[2] = { 'e', 'r' };
     162              : static const symbol s_3_4[2] = { 'i', 'r' };
     163              : static const struct among a_3[5] = {
     164              : { 4, s_3_0, 0, 1, 0},
     165              : { 4, s_3_1, 0, 1, 0},
     166              : { 2, s_3_2, 0, 2, 0},
     167              : { 2, s_3_3, 0, 2, 0},
     168              : { 2, s_3_4, 0, 2, 0}
     169              : };
     170              : 
     171              : static const symbol s_4_0[2] = { 'i', 'c' };
     172              : static const symbol s_4_1[4] = { 'a', 'b', 'i', 'l' };
     173              : static const symbol s_4_2[2] = { 'o', 's' };
     174              : static const symbol s_4_3[2] = { 'i', 'v' };
     175              : static const struct among a_4[4] = {
     176              : { 2, s_4_0, 0, -1, 0},
     177              : { 4, s_4_1, 0, -1, 0},
     178              : { 2, s_4_2, 0, -1, 0},
     179              : { 2, s_4_3, 0, 1, 0}
     180              : };
     181              : 
     182              : static const symbol s_5_0[2] = { 'i', 'c' };
     183              : static const symbol s_5_1[4] = { 'a', 'b', 'i', 'l' };
     184              : static const symbol s_5_2[2] = { 'i', 'v' };
     185              : static const struct among a_5[3] = {
     186              : { 2, s_5_0, 0, 1, 0},
     187              : { 4, s_5_1, 0, 1, 0},
     188              : { 2, s_5_2, 0, 1, 0}
     189              : };
     190              : 
     191              : static const symbol s_6_0[3] = { 'i', 'c', 'a' };
     192              : static const symbol s_6_1[5] = { 'l', 'o', 'g', 'i', 'a' };
     193              : static const symbol s_6_2[3] = { 'o', 's', 'a' };
     194              : static const symbol s_6_3[4] = { 'i', 's', 't', 'a' };
     195              : static const symbol s_6_4[3] = { 'i', 'v', 'a' };
     196              : static const symbol s_6_5[4] = { 'a', 'n', 'z', 'a' };
     197              : static const symbol s_6_6[4] = { 'e', 'n', 'z', 'a' };
     198              : static const symbol s_6_7[3] = { 'i', 'c', 'e' };
     199              : static const symbol s_6_8[6] = { 'a', 't', 'r', 'i', 'c', 'e' };
     200              : static const symbol s_6_9[4] = { 'i', 'c', 'h', 'e' };
     201              : static const symbol s_6_10[5] = { 'l', 'o', 'g', 'i', 'e' };
     202              : static const symbol s_6_11[5] = { 'a', 'b', 'i', 'l', 'e' };
     203              : static const symbol s_6_12[5] = { 'i', 'b', 'i', 'l', 'e' };
     204              : static const symbol s_6_13[6] = { 'u', 's', 'i', 'o', 'n', 'e' };
     205              : static const symbol s_6_14[6] = { 'a', 'z', 'i', 'o', 'n', 'e' };
     206              : static const symbol s_6_15[6] = { 'u', 'z', 'i', 'o', 'n', 'e' };
     207              : static const symbol s_6_16[5] = { 'a', 't', 'o', 'r', 'e' };
     208              : static const symbol s_6_17[3] = { 'o', 's', 'e' };
     209              : static const symbol s_6_18[4] = { 'a', 'n', 't', 'e' };
     210              : static const symbol s_6_19[5] = { 'm', 'e', 'n', 't', 'e' };
     211              : static const symbol s_6_20[6] = { 'a', 'm', 'e', 'n', 't', 'e' };
     212              : static const symbol s_6_21[4] = { 'i', 's', 't', 'e' };
     213              : static const symbol s_6_22[3] = { 'i', 'v', 'e' };
     214              : static const symbol s_6_23[4] = { 'a', 'n', 'z', 'e' };
     215              : static const symbol s_6_24[4] = { 'e', 'n', 'z', 'e' };
     216              : static const symbol s_6_25[3] = { 'i', 'c', 'i' };
     217              : static const symbol s_6_26[6] = { 'a', 't', 'r', 'i', 'c', 'i' };
     218              : static const symbol s_6_27[4] = { 'i', 'c', 'h', 'i' };
     219              : static const symbol s_6_28[5] = { 'a', 'b', 'i', 'l', 'i' };
     220              : static const symbol s_6_29[5] = { 'i', 'b', 'i', 'l', 'i' };
     221              : static const symbol s_6_30[4] = { 'i', 's', 'm', 'i' };
     222              : static const symbol s_6_31[6] = { 'u', 's', 'i', 'o', 'n', 'i' };
     223              : static const symbol s_6_32[6] = { 'a', 'z', 'i', 'o', 'n', 'i' };
     224              : static const symbol s_6_33[6] = { 'u', 'z', 'i', 'o', 'n', 'i' };
     225              : static const symbol s_6_34[5] = { 'a', 't', 'o', 'r', 'i' };
     226              : static const symbol s_6_35[3] = { 'o', 's', 'i' };
     227              : static const symbol s_6_36[4] = { 'a', 'n', 't', 'i' };
     228              : static const symbol s_6_37[6] = { 'a', 'm', 'e', 'n', 't', 'i' };
     229              : static const symbol s_6_38[6] = { 'i', 'm', 'e', 'n', 't', 'i' };
     230              : static const symbol s_6_39[4] = { 'i', 's', 't', 'i' };
     231              : static const symbol s_6_40[3] = { 'i', 'v', 'i' };
     232              : static const symbol s_6_41[3] = { 'i', 'c', 'o' };
     233              : static const symbol s_6_42[4] = { 'i', 's', 'm', 'o' };
     234              : static const symbol s_6_43[3] = { 'o', 's', 'o' };
     235              : static const symbol s_6_44[6] = { 'a', 'm', 'e', 'n', 't', 'o' };
     236              : static const symbol s_6_45[6] = { 'i', 'm', 'e', 'n', 't', 'o' };
     237              : static const symbol s_6_46[3] = { 'i', 'v', 'o' };
     238              : static const symbol s_6_47[4] = { 'i', 't', 0xC3, 0xA0 };
     239              : static const symbol s_6_48[5] = { 'i', 's', 't', 0xC3, 0xA0 };
     240              : static const symbol s_6_49[5] = { 'i', 's', 't', 0xC3, 0xA8 };
     241              : static const symbol s_6_50[5] = { 'i', 's', 't', 0xC3, 0xAC };
     242              : static const struct among a_6[51] = {
     243              : { 3, s_6_0, 0, 1, 0},
     244              : { 5, s_6_1, 0, 3, 0},
     245              : { 3, s_6_2, 0, 1, 0},
     246              : { 4, s_6_3, 0, 1, 0},
     247              : { 3, s_6_4, 0, 9, 0},
     248              : { 4, s_6_5, 0, 1, 0},
     249              : { 4, s_6_6, 0, 5, 0},
     250              : { 3, s_6_7, 0, 1, 0},
     251              : { 6, s_6_8, -1, 1, 0},
     252              : { 4, s_6_9, 0, 1, 0},
     253              : { 5, s_6_10, 0, 3, 0},
     254              : { 5, s_6_11, 0, 1, 0},
     255              : { 5, s_6_12, 0, 1, 0},
     256              : { 6, s_6_13, 0, 4, 0},
     257              : { 6, s_6_14, 0, 2, 0},
     258              : { 6, s_6_15, 0, 4, 0},
     259              : { 5, s_6_16, 0, 2, 0},
     260              : { 3, s_6_17, 0, 1, 0},
     261              : { 4, s_6_18, 0, 1, 0},
     262              : { 5, s_6_19, 0, 1, 0},
     263              : { 6, s_6_20, -1, 7, 0},
     264              : { 4, s_6_21, 0, 1, 0},
     265              : { 3, s_6_22, 0, 9, 0},
     266              : { 4, s_6_23, 0, 1, 0},
     267              : { 4, s_6_24, 0, 5, 0},
     268              : { 3, s_6_25, 0, 1, 0},
     269              : { 6, s_6_26, -1, 1, 0},
     270              : { 4, s_6_27, 0, 1, 0},
     271              : { 5, s_6_28, 0, 1, 0},
     272              : { 5, s_6_29, 0, 1, 0},
     273              : { 4, s_6_30, 0, 1, 0},
     274              : { 6, s_6_31, 0, 4, 0},
     275              : { 6, s_6_32, 0, 2, 0},
     276              : { 6, s_6_33, 0, 4, 0},
     277              : { 5, s_6_34, 0, 2, 0},
     278              : { 3, s_6_35, 0, 1, 0},
     279              : { 4, s_6_36, 0, 1, 0},
     280              : { 6, s_6_37, 0, 6, 0},
     281              : { 6, s_6_38, 0, 6, 0},
     282              : { 4, s_6_39, 0, 1, 0},
     283              : { 3, s_6_40, 0, 9, 0},
     284              : { 3, s_6_41, 0, 1, 0},
     285              : { 4, s_6_42, 0, 1, 0},
     286              : { 3, s_6_43, 0, 1, 0},
     287              : { 6, s_6_44, 0, 6, 0},
     288              : { 6, s_6_45, 0, 6, 0},
     289              : { 3, s_6_46, 0, 9, 0},
     290              : { 4, s_6_47, 0, 8, 0},
     291              : { 5, s_6_48, 0, 1, 0},
     292              : { 5, s_6_49, 0, 1, 0},
     293              : { 5, s_6_50, 0, 1, 0}
     294              : };
     295              : 
     296              : static const symbol s_7_0[4] = { 'i', 's', 'c', 'a' };
     297              : static const symbol s_7_1[4] = { 'e', 'n', 'd', 'a' };
     298              : static const symbol s_7_2[3] = { 'a', 't', 'a' };
     299              : static const symbol s_7_3[3] = { 'i', 't', 'a' };
     300              : static const symbol s_7_4[3] = { 'u', 't', 'a' };
     301              : static const symbol s_7_5[3] = { 'a', 'v', 'a' };
     302              : static const symbol s_7_6[3] = { 'e', 'v', 'a' };
     303              : static const symbol s_7_7[3] = { 'i', 'v', 'a' };
     304              : static const symbol s_7_8[6] = { 'e', 'r', 'e', 'b', 'b', 'e' };
     305              : static const symbol s_7_9[6] = { 'i', 'r', 'e', 'b', 'b', 'e' };
     306              : static const symbol s_7_10[4] = { 'i', 's', 'c', 'e' };
     307              : static const symbol s_7_11[4] = { 'e', 'n', 'd', 'e' };
     308              : static const symbol s_7_12[3] = { 'a', 'r', 'e' };
     309              : static const symbol s_7_13[3] = { 'e', 'r', 'e' };
     310              : static const symbol s_7_14[3] = { 'i', 'r', 'e' };
     311              : static const symbol s_7_15[4] = { 'a', 's', 's', 'e' };
     312              : static const symbol s_7_16[3] = { 'a', 't', 'e' };
     313              : static const symbol s_7_17[5] = { 'a', 'v', 'a', 't', 'e' };
     314              : static const symbol s_7_18[5] = { 'e', 'v', 'a', 't', 'e' };
     315              : static const symbol s_7_19[5] = { 'i', 'v', 'a', 't', 'e' };
     316              : static const symbol s_7_20[3] = { 'e', 't', 'e' };
     317              : static const symbol s_7_21[5] = { 'e', 'r', 'e', 't', 'e' };
     318              : static const symbol s_7_22[5] = { 'i', 'r', 'e', 't', 'e' };
     319              : static const symbol s_7_23[3] = { 'i', 't', 'e' };
     320              : static const symbol s_7_24[6] = { 'e', 'r', 'e', 's', 't', 'e' };
     321              : static const symbol s_7_25[6] = { 'i', 'r', 'e', 's', 't', 'e' };
     322              : static const symbol s_7_26[3] = { 'u', 't', 'e' };
     323              : static const symbol s_7_27[4] = { 'e', 'r', 'a', 'i' };
     324              : static const symbol s_7_28[4] = { 'i', 'r', 'a', 'i' };
     325              : static const symbol s_7_29[4] = { 'i', 's', 'c', 'i' };
     326              : static const symbol s_7_30[4] = { 'e', 'n', 'd', 'i' };
     327              : static const symbol s_7_31[4] = { 'e', 'r', 'e', 'i' };
     328              : static const symbol s_7_32[4] = { 'i', 'r', 'e', 'i' };
     329              : static const symbol s_7_33[4] = { 'a', 's', 's', 'i' };
     330              : static const symbol s_7_34[3] = { 'a', 't', 'i' };
     331              : static const symbol s_7_35[3] = { 'i', 't', 'i' };
     332              : static const symbol s_7_36[6] = { 'e', 'r', 'e', 's', 't', 'i' };
     333              : static const symbol s_7_37[6] = { 'i', 'r', 'e', 's', 't', 'i' };
     334              : static const symbol s_7_38[3] = { 'u', 't', 'i' };
     335              : static const symbol s_7_39[3] = { 'a', 'v', 'i' };
     336              : static const symbol s_7_40[3] = { 'e', 'v', 'i' };
     337              : static const symbol s_7_41[3] = { 'i', 'v', 'i' };
     338              : static const symbol s_7_42[4] = { 'i', 's', 'c', 'o' };
     339              : static const symbol s_7_43[4] = { 'a', 'n', 'd', 'o' };
     340              : static const symbol s_7_44[4] = { 'e', 'n', 'd', 'o' };
     341              : static const symbol s_7_45[4] = { 'Y', 'a', 'm', 'o' };
     342              : static const symbol s_7_46[4] = { 'i', 'a', 'm', 'o' };
     343              : static const symbol s_7_47[5] = { 'a', 'v', 'a', 'm', 'o' };
     344              : static const symbol s_7_48[5] = { 'e', 'v', 'a', 'm', 'o' };
     345              : static const symbol s_7_49[5] = { 'i', 'v', 'a', 'm', 'o' };
     346              : static const symbol s_7_50[5] = { 'e', 'r', 'e', 'm', 'o' };
     347              : static const symbol s_7_51[5] = { 'i', 'r', 'e', 'm', 'o' };
     348              : static const symbol s_7_52[6] = { 'a', 's', 's', 'i', 'm', 'o' };
     349              : static const symbol s_7_53[4] = { 'a', 'm', 'm', 'o' };
     350              : static const symbol s_7_54[4] = { 'e', 'm', 'm', 'o' };
     351              : static const symbol s_7_55[6] = { 'e', 'r', 'e', 'm', 'm', 'o' };
     352              : static const symbol s_7_56[6] = { 'i', 'r', 'e', 'm', 'm', 'o' };
     353              : static const symbol s_7_57[4] = { 'i', 'm', 'm', 'o' };
     354              : static const symbol s_7_58[3] = { 'a', 'n', 'o' };
     355              : static const symbol s_7_59[6] = { 'i', 's', 'c', 'a', 'n', 'o' };
     356              : static const symbol s_7_60[5] = { 'a', 'v', 'a', 'n', 'o' };
     357              : static const symbol s_7_61[5] = { 'e', 'v', 'a', 'n', 'o' };
     358              : static const symbol s_7_62[5] = { 'i', 'v', 'a', 'n', 'o' };
     359              : static const symbol s_7_63[6] = { 'e', 'r', 'a', 'n', 'n', 'o' };
     360              : static const symbol s_7_64[6] = { 'i', 'r', 'a', 'n', 'n', 'o' };
     361              : static const symbol s_7_65[3] = { 'o', 'n', 'o' };
     362              : static const symbol s_7_66[6] = { 'i', 's', 'c', 'o', 'n', 'o' };
     363              : static const symbol s_7_67[5] = { 'a', 'r', 'o', 'n', 'o' };
     364              : static const symbol s_7_68[5] = { 'e', 'r', 'o', 'n', 'o' };
     365              : static const symbol s_7_69[5] = { 'i', 'r', 'o', 'n', 'o' };
     366              : static const symbol s_7_70[8] = { 'e', 'r', 'e', 'b', 'b', 'e', 'r', 'o' };
     367              : static const symbol s_7_71[8] = { 'i', 'r', 'e', 'b', 'b', 'e', 'r', 'o' };
     368              : static const symbol s_7_72[6] = { 'a', 's', 's', 'e', 'r', 'o' };
     369              : static const symbol s_7_73[6] = { 'e', 's', 's', 'e', 'r', 'o' };
     370              : static const symbol s_7_74[6] = { 'i', 's', 's', 'e', 'r', 'o' };
     371              : static const symbol s_7_75[3] = { 'a', 't', 'o' };
     372              : static const symbol s_7_76[3] = { 'i', 't', 'o' };
     373              : static const symbol s_7_77[3] = { 'u', 't', 'o' };
     374              : static const symbol s_7_78[3] = { 'a', 'v', 'o' };
     375              : static const symbol s_7_79[3] = { 'e', 'v', 'o' };
     376              : static const symbol s_7_80[3] = { 'i', 'v', 'o' };
     377              : static const symbol s_7_81[2] = { 'a', 'r' };
     378              : static const symbol s_7_82[2] = { 'i', 'r' };
     379              : static const symbol s_7_83[4] = { 'e', 'r', 0xC3, 0xA0 };
     380              : static const symbol s_7_84[4] = { 'i', 'r', 0xC3, 0xA0 };
     381              : static const symbol s_7_85[4] = { 'e', 'r', 0xC3, 0xB2 };
     382              : static const symbol s_7_86[4] = { 'i', 'r', 0xC3, 0xB2 };
     383              : static const struct among a_7[87] = {
     384              : { 4, s_7_0, 0, 1, 0},
     385              : { 4, s_7_1, 0, 1, 0},
     386              : { 3, s_7_2, 0, 1, 0},
     387              : { 3, s_7_3, 0, 1, 0},
     388              : { 3, s_7_4, 0, 1, 0},
     389              : { 3, s_7_5, 0, 1, 0},
     390              : { 3, s_7_6, 0, 1, 0},
     391              : { 3, s_7_7, 0, 1, 0},
     392              : { 6, s_7_8, 0, 1, 0},
     393              : { 6, s_7_9, 0, 1, 0},
     394              : { 4, s_7_10, 0, 1, 0},
     395              : { 4, s_7_11, 0, 1, 0},
     396              : { 3, s_7_12, 0, 1, 0},
     397              : { 3, s_7_13, 0, 1, 0},
     398              : { 3, s_7_14, 0, 1, 0},
     399              : { 4, s_7_15, 0, 1, 0},
     400              : { 3, s_7_16, 0, 1, 0},
     401              : { 5, s_7_17, -1, 1, 0},
     402              : { 5, s_7_18, -2, 1, 0},
     403              : { 5, s_7_19, -3, 1, 0},
     404              : { 3, s_7_20, 0, 1, 0},
     405              : { 5, s_7_21, -1, 1, 0},
     406              : { 5, s_7_22, -2, 1, 0},
     407              : { 3, s_7_23, 0, 1, 0},
     408              : { 6, s_7_24, 0, 1, 0},
     409              : { 6, s_7_25, 0, 1, 0},
     410              : { 3, s_7_26, 0, 1, 0},
     411              : { 4, s_7_27, 0, 1, 0},
     412              : { 4, s_7_28, 0, 1, 0},
     413              : { 4, s_7_29, 0, 1, 0},
     414              : { 4, s_7_30, 0, 1, 0},
     415              : { 4, s_7_31, 0, 1, 0},
     416              : { 4, s_7_32, 0, 1, 0},
     417              : { 4, s_7_33, 0, 1, 0},
     418              : { 3, s_7_34, 0, 1, 0},
     419              : { 3, s_7_35, 0, 1, 0},
     420              : { 6, s_7_36, 0, 1, 0},
     421              : { 6, s_7_37, 0, 1, 0},
     422              : { 3, s_7_38, 0, 1, 0},
     423              : { 3, s_7_39, 0, 1, 0},
     424              : { 3, s_7_40, 0, 1, 0},
     425              : { 3, s_7_41, 0, 1, 0},
     426              : { 4, s_7_42, 0, 1, 0},
     427              : { 4, s_7_43, 0, 1, 0},
     428              : { 4, s_7_44, 0, 1, 0},
     429              : { 4, s_7_45, 0, 1, 0},
     430              : { 4, s_7_46, 0, 1, 0},
     431              : { 5, s_7_47, 0, 1, 0},
     432              : { 5, s_7_48, 0, 1, 0},
     433              : { 5, s_7_49, 0, 1, 0},
     434              : { 5, s_7_50, 0, 1, 0},
     435              : { 5, s_7_51, 0, 1, 0},
     436              : { 6, s_7_52, 0, 1, 0},
     437              : { 4, s_7_53, 0, 1, 0},
     438              : { 4, s_7_54, 0, 1, 0},
     439              : { 6, s_7_55, -1, 1, 0},
     440              : { 6, s_7_56, -2, 1, 0},
     441              : { 4, s_7_57, 0, 1, 0},
     442              : { 3, s_7_58, 0, 1, 0},
     443              : { 6, s_7_59, -1, 1, 0},
     444              : { 5, s_7_60, -2, 1, 0},
     445              : { 5, s_7_61, -3, 1, 0},
     446              : { 5, s_7_62, -4, 1, 0},
     447              : { 6, s_7_63, 0, 1, 0},
     448              : { 6, s_7_64, 0, 1, 0},
     449              : { 3, s_7_65, 0, 1, 0},
     450              : { 6, s_7_66, -1, 1, 0},
     451              : { 5, s_7_67, -2, 1, 0},
     452              : { 5, s_7_68, -3, 1, 0},
     453              : { 5, s_7_69, -4, 1, 0},
     454              : { 8, s_7_70, 0, 1, 0},
     455              : { 8, s_7_71, 0, 1, 0},
     456              : { 6, s_7_72, 0, 1, 0},
     457              : { 6, s_7_73, 0, 1, 0},
     458              : { 6, s_7_74, 0, 1, 0},
     459              : { 3, s_7_75, 0, 1, 0},
     460              : { 3, s_7_76, 0, 1, 0},
     461              : { 3, s_7_77, 0, 1, 0},
     462              : { 3, s_7_78, 0, 1, 0},
     463              : { 3, s_7_79, 0, 1, 0},
     464              : { 3, s_7_80, 0, 1, 0},
     465              : { 2, s_7_81, 0, 1, 0},
     466              : { 2, s_7_82, 0, 1, 0},
     467              : { 4, s_7_83, 0, 1, 0},
     468              : { 4, s_7_84, 0, 1, 0},
     469              : { 4, s_7_85, 0, 1, 0},
     470              : { 4, s_7_86, 0, 1, 0}
     471              : };
     472              : 
     473              : static const unsigned char g_v[] = { 17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 8, 2, 1 };
     474              : 
     475              : static const unsigned char g_AEIO[] = { 17, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 8, 2 };
     476              : 
     477              : static const unsigned char g_CG[] = { 17 };
     478              : 
     479            0 : static int r_prelude(struct SN_env * z) {
     480              :     int among_var;
     481              :     {
     482            0 :         int v_1 = z->c;
     483            0 :         while (1) {
     484            0 :             int v_2 = z->c;
     485            0 :             z->bra = z->c;
     486            0 :             among_var = find_among(z, a_0, 7, 0);
     487            0 :             z->ket = z->c;
     488            0 :             switch (among_var) {
     489            0 :                 case 1:
     490              :                     {
     491            0 :                         int ret = slice_from_s(z, 2, s_0);
     492            0 :                         if (ret < 0) return ret;
     493              :                     }
     494            0 :                     break;
     495            0 :                 case 2:
     496              :                     {
     497            0 :                         int ret = slice_from_s(z, 2, s_1);
     498            0 :                         if (ret < 0) return ret;
     499              :                     }
     500            0 :                     break;
     501            0 :                 case 3:
     502              :                     {
     503            0 :                         int ret = slice_from_s(z, 2, s_2);
     504            0 :                         if (ret < 0) return ret;
     505              :                     }
     506            0 :                     break;
     507            0 :                 case 4:
     508              :                     {
     509            0 :                         int ret = slice_from_s(z, 2, s_3);
     510            0 :                         if (ret < 0) return ret;
     511              :                     }
     512            0 :                     break;
     513            0 :                 case 5:
     514              :                     {
     515            0 :                         int ret = slice_from_s(z, 2, s_4);
     516            0 :                         if (ret < 0) return ret;
     517              :                     }
     518            0 :                     break;
     519            0 :                 case 6:
     520              :                     {
     521            0 :                         int ret = slice_from_s(z, 2, s_5);
     522            0 :                         if (ret < 0) return ret;
     523              :                     }
     524            0 :                     break;
     525            0 :                 case 7:
     526              :                     {
     527            0 :                         int ret = skip_utf8(z->p, z->c, z->l, 1);
     528            0 :                         if (ret < 0) goto lab0;
     529            0 :                         z->c = ret;
     530              :                     }
     531            0 :                     break;
     532              :             }
     533            0 :             continue;
     534            0 :         lab0:
     535            0 :             z->c = v_2;
     536            0 :             break;
     537              :         }
     538            0 :         z->c = v_1;
     539              :     }
     540            0 :     while (1) {
     541            0 :         int v_3 = z->c;
     542            0 :         while (1) {
     543            0 :             int v_4 = z->c;
     544            0 :             if (in_grouping_U(z, g_v, 97, 249, 0)) goto lab2;
     545            0 :             z->bra = z->c;
     546              :             do {
     547            0 :                 int v_5 = z->c;
     548            0 :                 if (z->c == z->l || z->p[z->c] != 'u') goto lab3;
     549            0 :                 z->c++;
     550            0 :                 z->ket = z->c;
     551            0 :                 if (in_grouping_U(z, g_v, 97, 249, 0)) goto lab3;
     552              :                 {
     553            0 :                     int ret = slice_from_s(z, 1, s_6);
     554            0 :                     if (ret < 0) return ret;
     555              :                 }
     556            0 :                 break;
     557            0 :             lab3:
     558            0 :                 z->c = v_5;
     559            0 :                 if (z->c == z->l || z->p[z->c] != 'i') goto lab2;
     560            0 :                 z->c++;
     561            0 :                 z->ket = z->c;
     562            0 :                 if (in_grouping_U(z, g_v, 97, 249, 0)) goto lab2;
     563              :                 {
     564            0 :                     int ret = slice_from_s(z, 1, s_7);
     565            0 :                     if (ret < 0) return ret;
     566              :                 }
     567              :             } while (0);
     568            0 :             z->c = v_4;
     569            0 :             break;
     570            0 :         lab2:
     571            0 :             z->c = v_4;
     572              :             {
     573            0 :                 int ret = skip_utf8(z->p, z->c, z->l, 1);
     574            0 :                 if (ret < 0) goto lab1;
     575            0 :                 z->c = ret;
     576              :             }
     577              :         }
     578            0 :         continue;
     579            0 :     lab1:
     580            0 :         z->c = v_3;
     581            0 :         break;
     582              :     }
     583            0 :     return 1;
     584              : }
     585              : 
     586            0 : static int r_mark_regions(struct SN_env * z) {
     587            0 :     ((SN_local *)z)->i_pV = z->l;
     588            0 :     ((SN_local *)z)->i_p1 = z->l;
     589            0 :     ((SN_local *)z)->i_p2 = z->l;
     590              :     {
     591            0 :         int v_1 = z->c;
     592              :         do {
     593            0 :             int v_2 = z->c;
     594            0 :             if (in_grouping_U(z, g_v, 97, 249, 0)) goto lab1;
     595              :             do {
     596            0 :                 int v_3 = z->c;
     597            0 :                 if (out_grouping_U(z, g_v, 97, 249, 0)) goto lab2;
     598              :                 {
     599            0 :                     int ret = out_grouping_U(z, g_v, 97, 249, 1);
     600            0 :                     if (ret < 0) goto lab2;
     601            0 :                     z->c += ret;
     602              :                 }
     603            0 :                 break;
     604            0 :             lab2:
     605            0 :                 z->c = v_3;
     606            0 :                 if (in_grouping_U(z, g_v, 97, 249, 0)) goto lab1;
     607              :                 {
     608            0 :                     int ret = in_grouping_U(z, g_v, 97, 249, 1);
     609            0 :                     if (ret < 0) goto lab1;
     610            0 :                     z->c += ret;
     611              :                 }
     612              :             } while (0);
     613            0 :             break;
     614            0 :         lab1:
     615            0 :             z->c = v_2;
     616            0 :             if (!(eq_s(z, 5, s_8))) goto lab3;
     617            0 :             break;
     618            0 :         lab3:
     619            0 :             z->c = v_2;
     620            0 :             if (out_grouping_U(z, g_v, 97, 249, 0)) goto lab0;
     621              :             do {
     622            0 :                 int v_4 = z->c;
     623            0 :                 if (out_grouping_U(z, g_v, 97, 249, 0)) goto lab4;
     624              :                 {
     625            0 :                     int ret = out_grouping_U(z, g_v, 97, 249, 1);
     626            0 :                     if (ret < 0) goto lab4;
     627            0 :                     z->c += ret;
     628              :                 }
     629            0 :                 break;
     630            0 :             lab4:
     631            0 :                 z->c = v_4;
     632            0 :                 if (in_grouping_U(z, g_v, 97, 249, 0)) goto lab0;
     633              :                 {
     634            0 :                     int ret = skip_utf8(z->p, z->c, z->l, 1);
     635            0 :                     if (ret < 0) goto lab0;
     636            0 :                     z->c = ret;
     637              :                 }
     638              :             } while (0);
     639              :         } while (0);
     640            0 :         ((SN_local *)z)->i_pV = z->c;
     641            0 :     lab0:
     642            0 :         z->c = v_1;
     643              :     }
     644              :     {
     645            0 :         int v_5 = z->c;
     646              :         {
     647            0 :             int ret = out_grouping_U(z, g_v, 97, 249, 1);
     648            0 :             if (ret < 0) goto lab5;
     649            0 :             z->c += ret;
     650              :         }
     651              :         {
     652            0 :             int ret = in_grouping_U(z, g_v, 97, 249, 1);
     653            0 :             if (ret < 0) goto lab5;
     654            0 :             z->c += ret;
     655              :         }
     656            0 :         ((SN_local *)z)->i_p1 = z->c;
     657              :         {
     658            0 :             int ret = out_grouping_U(z, g_v, 97, 249, 1);
     659            0 :             if (ret < 0) goto lab5;
     660            0 :             z->c += ret;
     661              :         }
     662              :         {
     663            0 :             int ret = in_grouping_U(z, g_v, 97, 249, 1);
     664            0 :             if (ret < 0) goto lab5;
     665            0 :             z->c += ret;
     666              :         }
     667            0 :         ((SN_local *)z)->i_p2 = z->c;
     668            0 :     lab5:
     669            0 :         z->c = v_5;
     670              :     }
     671            0 :     return 1;
     672              : }
     673              : 
     674            0 : static int r_postlude(struct SN_env * z) {
     675              :     int among_var;
     676            0 :     while (1) {
     677            0 :         int v_1 = z->c;
     678            0 :         z->bra = z->c;
     679            0 :         if (z->c >= z->l || (z->p[z->c + 0] != 73 && z->p[z->c + 0] != 85)) among_var = 3; else
     680            0 :         among_var = find_among(z, a_1, 3, 0);
     681            0 :         z->ket = z->c;
     682            0 :         switch (among_var) {
     683            0 :             case 1:
     684              :                 {
     685            0 :                     int ret = slice_from_s(z, 1, s_9);
     686            0 :                     if (ret < 0) return ret;
     687              :                 }
     688            0 :                 break;
     689            0 :             case 2:
     690              :                 {
     691            0 :                     int ret = slice_from_s(z, 1, s_10);
     692            0 :                     if (ret < 0) return ret;
     693              :                 }
     694            0 :                 break;
     695            0 :             case 3:
     696              :                 {
     697            0 :                     int ret = skip_utf8(z->p, z->c, z->l, 1);
     698            0 :                     if (ret < 0) goto lab0;
     699            0 :                     z->c = ret;
     700              :                 }
     701            0 :                 break;
     702              :         }
     703            0 :         continue;
     704            0 :     lab0:
     705            0 :         z->c = v_1;
     706            0 :         break;
     707              :     }
     708            0 :     return 1;
     709              : }
     710              : 
     711            0 : static int r_RV(struct SN_env * z) {
     712            0 :     return ((SN_local *)z)->i_pV <= z->c;
     713              : }
     714              : 
     715            0 : static int r_R1(struct SN_env * z) {
     716            0 :     return ((SN_local *)z)->i_p1 <= z->c;
     717              : }
     718              : 
     719            0 : static int r_R2(struct SN_env * z) {
     720            0 :     return ((SN_local *)z)->i_p2 <= z->c;
     721              : }
     722              : 
     723            0 : static int r_attached_pronoun(struct SN_env * z) {
     724              :     int among_var;
     725            0 :     z->ket = z->c;
     726            0 :     if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((33314 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
     727            0 :     if (!find_among_b(z, a_2, 37, 0)) return 0;
     728            0 :     z->bra = z->c;
     729            0 :     if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 111 && z->p[z->c - 1] != 114)) return 0;
     730            0 :     among_var = find_among_b(z, a_3, 5, 0);
     731            0 :     if (!among_var) return 0;
     732              :     {
     733            0 :         int ret = r_RV(z);
     734            0 :         if (ret <= 0) return ret;
     735              :     }
     736            0 :     switch (among_var) {
     737            0 :         case 1:
     738              :             {
     739            0 :                 int ret = slice_del(z);
     740            0 :                 if (ret < 0) return ret;
     741              :             }
     742            0 :             break;
     743            0 :         case 2:
     744              :             {
     745            0 :                 int ret = slice_from_s(z, 1, s_11);
     746            0 :                 if (ret < 0) return ret;
     747              :             }
     748            0 :             break;
     749              :     }
     750            0 :     return 1;
     751              : }
     752              : 
     753            0 : static int r_standard_suffix(struct SN_env * z) {
     754              :     int among_var;
     755            0 :     z->ket = z->c;
     756            0 :     among_var = find_among_b(z, a_6, 51, 0);
     757            0 :     if (!among_var) return 0;
     758            0 :     z->bra = z->c;
     759            0 :     switch (among_var) {
     760            0 :         case 1:
     761              :             {
     762            0 :                 int ret = r_R2(z);
     763            0 :                 if (ret <= 0) return ret;
     764              :             }
     765              :             {
     766            0 :                 int ret = slice_del(z);
     767            0 :                 if (ret < 0) return ret;
     768              :             }
     769            0 :             break;
     770            0 :         case 2:
     771              :             {
     772            0 :                 int ret = r_R2(z);
     773            0 :                 if (ret <= 0) return ret;
     774              :             }
     775              :             {
     776            0 :                 int ret = slice_del(z);
     777            0 :                 if (ret < 0) return ret;
     778              :             }
     779              :             {
     780            0 :                 int v_1 = z->l - z->c;
     781            0 :                 z->ket = z->c;
     782            0 :                 if (!(eq_s_b(z, 2, s_12))) { z->c = z->l - v_1; goto lab0; }
     783            0 :                 z->bra = z->c;
     784              :                 {
     785            0 :                     int ret = r_R2(z);
     786            0 :                     if (ret == 0) { z->c = z->l - v_1; goto lab0; }
     787            0 :                     if (ret < 0) return ret;
     788              :                 }
     789              :                 {
     790            0 :                     int ret = slice_del(z);
     791            0 :                     if (ret < 0) return ret;
     792              :                 }
     793            0 :             lab0:
     794              :                 ;
     795              :             }
     796            0 :             break;
     797            0 :         case 3:
     798              :             {
     799            0 :                 int ret = r_R2(z);
     800            0 :                 if (ret <= 0) return ret;
     801              :             }
     802              :             {
     803            0 :                 int ret = slice_from_s(z, 3, s_13);
     804            0 :                 if (ret < 0) return ret;
     805              :             }
     806            0 :             break;
     807            0 :         case 4:
     808              :             {
     809            0 :                 int ret = r_R2(z);
     810            0 :                 if (ret <= 0) return ret;
     811              :             }
     812              :             {
     813            0 :                 int ret = slice_from_s(z, 1, s_14);
     814            0 :                 if (ret < 0) return ret;
     815              :             }
     816            0 :             break;
     817            0 :         case 5:
     818              :             {
     819            0 :                 int ret = r_R2(z);
     820            0 :                 if (ret <= 0) return ret;
     821              :             }
     822              :             {
     823            0 :                 int ret = slice_from_s(z, 4, s_15);
     824            0 :                 if (ret < 0) return ret;
     825              :             }
     826            0 :             break;
     827            0 :         case 6:
     828              :             {
     829            0 :                 int ret = r_RV(z);
     830            0 :                 if (ret <= 0) return ret;
     831              :             }
     832              :             {
     833            0 :                 int ret = slice_del(z);
     834            0 :                 if (ret < 0) return ret;
     835              :             }
     836            0 :             break;
     837            0 :         case 7:
     838              :             {
     839            0 :                 int ret = r_R1(z);
     840            0 :                 if (ret <= 0) return ret;
     841              :             }
     842              :             {
     843            0 :                 int ret = slice_del(z);
     844            0 :                 if (ret < 0) return ret;
     845              :             }
     846              :             {
     847            0 :                 int v_2 = z->l - z->c;
     848            0 :                 z->ket = z->c;
     849            0 :                 if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4722696 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l - v_2; goto lab1; }
     850            0 :                 among_var = find_among_b(z, a_4, 4, 0);
     851            0 :                 if (!among_var) { z->c = z->l - v_2; goto lab1; }
     852            0 :                 z->bra = z->c;
     853              :                 {
     854            0 :                     int ret = r_R2(z);
     855            0 :                     if (ret == 0) { z->c = z->l - v_2; goto lab1; }
     856            0 :                     if (ret < 0) return ret;
     857              :                 }
     858              :                 {
     859            0 :                     int ret = slice_del(z);
     860            0 :                     if (ret < 0) return ret;
     861              :                 }
     862            0 :                 switch (among_var) {
     863            0 :                     case 1:
     864            0 :                         z->ket = z->c;
     865            0 :                         if (!(eq_s_b(z, 2, s_16))) { z->c = z->l - v_2; goto lab1; }
     866            0 :                         z->bra = z->c;
     867              :                         {
     868            0 :                             int ret = r_R2(z);
     869            0 :                             if (ret == 0) { z->c = z->l - v_2; goto lab1; }
     870            0 :                             if (ret < 0) return ret;
     871              :                         }
     872              :                         {
     873            0 :                             int ret = slice_del(z);
     874            0 :                             if (ret < 0) return ret;
     875              :                         }
     876            0 :                         break;
     877              :                 }
     878            0 :             lab1:
     879              :                 ;
     880              :             }
     881            0 :             break;
     882            0 :         case 8:
     883              :             {
     884            0 :                 int ret = r_R2(z);
     885            0 :                 if (ret <= 0) return ret;
     886              :             }
     887              :             {
     888            0 :                 int ret = slice_del(z);
     889            0 :                 if (ret < 0) return ret;
     890              :             }
     891              :             {
     892            0 :                 int v_3 = z->l - z->c;
     893            0 :                 z->ket = z->c;
     894            0 :                 if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4198408 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l - v_3; goto lab2; }
     895            0 :                 if (!find_among_b(z, a_5, 3, 0)) { z->c = z->l - v_3; goto lab2; }
     896            0 :                 z->bra = z->c;
     897              :                 {
     898            0 :                     int ret = r_R2(z);
     899            0 :                     if (ret == 0) { z->c = z->l - v_3; goto lab2; }
     900            0 :                     if (ret < 0) return ret;
     901              :                 }
     902              :                 {
     903            0 :                     int ret = slice_del(z);
     904            0 :                     if (ret < 0) return ret;
     905              :                 }
     906            0 :             lab2:
     907              :                 ;
     908              :             }
     909            0 :             break;
     910            0 :         case 9:
     911              :             {
     912            0 :                 int ret = r_R2(z);
     913            0 :                 if (ret <= 0) return ret;
     914              :             }
     915              :             {
     916            0 :                 int ret = slice_del(z);
     917            0 :                 if (ret < 0) return ret;
     918              :             }
     919              :             {
     920            0 :                 int v_4 = z->l - z->c;
     921            0 :                 z->ket = z->c;
     922            0 :                 if (!(eq_s_b(z, 2, s_17))) { z->c = z->l - v_4; goto lab3; }
     923            0 :                 z->bra = z->c;
     924              :                 {
     925            0 :                     int ret = r_R2(z);
     926            0 :                     if (ret == 0) { z->c = z->l - v_4; goto lab3; }
     927            0 :                     if (ret < 0) return ret;
     928              :                 }
     929              :                 {
     930            0 :                     int ret = slice_del(z);
     931            0 :                     if (ret < 0) return ret;
     932              :                 }
     933            0 :                 z->ket = z->c;
     934            0 :                 if (!(eq_s_b(z, 2, s_18))) { z->c = z->l - v_4; goto lab3; }
     935            0 :                 z->bra = z->c;
     936              :                 {
     937            0 :                     int ret = r_R2(z);
     938            0 :                     if (ret == 0) { z->c = z->l - v_4; goto lab3; }
     939            0 :                     if (ret < 0) return ret;
     940              :                 }
     941              :                 {
     942            0 :                     int ret = slice_del(z);
     943            0 :                     if (ret < 0) return ret;
     944              :                 }
     945            0 :             lab3:
     946              :                 ;
     947              :             }
     948            0 :             break;
     949              :     }
     950            0 :     return 1;
     951              : }
     952              : 
     953            0 : static int r_verb_suffix(struct SN_env * z) {
     954              :     {
     955              :         int v_1;
     956            0 :         if (z->c < ((SN_local *)z)->i_pV) return 0;
     957            0 :         v_1 = z->lb; z->lb = ((SN_local *)z)->i_pV;
     958            0 :         z->ket = z->c;
     959            0 :         if (!find_among_b(z, a_7, 87, 0)) { z->lb = v_1; return 0; }
     960            0 :         z->bra = z->c;
     961              :         {
     962            0 :             int ret = slice_del(z);
     963            0 :             if (ret < 0) return ret;
     964              :         }
     965            0 :         z->lb = v_1;
     966              :     }
     967            0 :     return 1;
     968              : }
     969              : 
     970            0 : static int r_vowel_suffix(struct SN_env * z) {
     971              :     {
     972            0 :         int v_1 = z->l - z->c;
     973            0 :         z->ket = z->c;
     974            0 :         if (in_grouping_b_U(z, g_AEIO, 97, 242, 0)) { z->c = z->l - v_1; goto lab0; }
     975            0 :         z->bra = z->c;
     976              :         {
     977            0 :             int ret = r_RV(z);
     978            0 :             if (ret == 0) { z->c = z->l - v_1; goto lab0; }
     979            0 :             if (ret < 0) return ret;
     980              :         }
     981              :         {
     982            0 :             int ret = slice_del(z);
     983            0 :             if (ret < 0) return ret;
     984              :         }
     985            0 :         z->ket = z->c;
     986            0 :         if (z->c <= z->lb || z->p[z->c - 1] != 'i') { z->c = z->l - v_1; goto lab0; }
     987            0 :         z->c--;
     988            0 :         z->bra = z->c;
     989              :         {
     990            0 :             int ret = r_RV(z);
     991            0 :             if (ret == 0) { z->c = z->l - v_1; goto lab0; }
     992            0 :             if (ret < 0) return ret;
     993              :         }
     994              :         {
     995            0 :             int ret = slice_del(z);
     996            0 :             if (ret < 0) return ret;
     997              :         }
     998            0 :     lab0:
     999              :         ;
    1000              :     }
    1001              :     {
    1002            0 :         int v_2 = z->l - z->c;
    1003            0 :         z->ket = z->c;
    1004            0 :         if (z->c <= z->lb || z->p[z->c - 1] != 'h') { z->c = z->l - v_2; goto lab1; }
    1005            0 :         z->c--;
    1006            0 :         z->bra = z->c;
    1007            0 :         if (in_grouping_b_U(z, g_CG, 99, 103, 0)) { z->c = z->l - v_2; goto lab1; }
    1008              :         {
    1009            0 :             int ret = r_RV(z);
    1010            0 :             if (ret == 0) { z->c = z->l - v_2; goto lab1; }
    1011            0 :             if (ret < 0) return ret;
    1012              :         }
    1013              :         {
    1014            0 :             int ret = slice_del(z);
    1015            0 :             if (ret < 0) return ret;
    1016              :         }
    1017            0 :     lab1:
    1018              :         ;
    1019              :     }
    1020            0 :     return 1;
    1021              : }
    1022              : 
    1023            0 : extern int italian_UTF_8_stem(struct SN_env * z) {
    1024              :     {
    1025            0 :         int v_1 = z->c;
    1026              :         {
    1027            0 :             int ret = r_prelude(z);
    1028            0 :             if (ret < 0) return ret;
    1029              :         }
    1030            0 :         z->c = v_1;
    1031              :     }
    1032              :     {
    1033            0 :         int ret = r_mark_regions(z);
    1034            0 :         if (ret < 0) return ret;
    1035              :     }
    1036            0 :     z->lb = z->c; z->c = z->l;
    1037              :     {
    1038            0 :         int v_2 = z->l - z->c;
    1039              :         {
    1040            0 :             int ret = r_attached_pronoun(z);
    1041            0 :             if (ret < 0) return ret;
    1042              :         }
    1043            0 :         z->c = z->l - v_2;
    1044              :     }
    1045              :     {
    1046            0 :         int v_3 = z->l - z->c;
    1047              :         do {
    1048            0 :             int v_4 = z->l - z->c;
    1049              :             {
    1050            0 :                 int ret = r_standard_suffix(z);
    1051            0 :                 if (ret == 0) goto lab1;
    1052            0 :                 if (ret < 0) return ret;
    1053              :             }
    1054            0 :             break;
    1055            0 :         lab1:
    1056            0 :             z->c = z->l - v_4;
    1057              :             {
    1058            0 :                 int ret = r_verb_suffix(z);
    1059            0 :                 if (ret == 0) goto lab0;
    1060            0 :                 if (ret < 0) return ret;
    1061              :             }
    1062              :         } while (0);
    1063            0 :     lab0:
    1064            0 :         z->c = z->l - v_3;
    1065              :     }
    1066              :     {
    1067            0 :         int v_5 = z->l - z->c;
    1068              :         {
    1069            0 :             int ret = r_vowel_suffix(z);
    1070            0 :             if (ret < 0) return ret;
    1071              :         }
    1072            0 :         z->c = z->l - v_5;
    1073              :     }
    1074            0 :     z->c = z->lb;
    1075              :     {
    1076            0 :         int v_6 = z->c;
    1077              :         {
    1078            0 :             int ret = r_postlude(z);
    1079            0 :             if (ret < 0) return ret;
    1080              :         }
    1081            0 :         z->c = v_6;
    1082              :     }
    1083            0 :     return 1;
    1084              : }
    1085              : 
    1086            0 : extern struct SN_env * italian_UTF_8_create_env(void) {
    1087            0 :     struct SN_env * z = SN_new_env(sizeof(SN_local));
    1088            0 :     if (z) {
    1089            0 :         ((SN_local *)z)->i_p2 = 0;
    1090            0 :         ((SN_local *)z)->i_p1 = 0;
    1091            0 :         ((SN_local *)z)->i_pV = 0;
    1092              :     }
    1093            0 :     return z;
    1094              : }
    1095              : 
    1096            0 : extern void italian_UTF_8_close_env(struct SN_env * z) {
    1097            0 :     SN_delete_env(z);
    1098            0 : }
    1099              : 
        

Generated by: LCOV version 2.0-1