LCOV - code coverage report
Current view: top level - src/backend/snowball/libstemmer - stem_UTF_8_english.c (source / functions) Coverage Total Hit
Test: PostgreSQL 19devel Lines: 62.9 % 550 346
Test Date: 2026-03-03 07:15:00 Functions: 94.1 % 17 16
Legend: Lines:     hit not hit

            Line data    Source code
       1              : /* Generated from english.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
       2              : 
       3              : #include "stem_UTF_8_english.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              :     unsigned char b_Y_found;
      14              : };
      15              : 
      16              : typedef struct SN_local SN_local;
      17              : 
      18              : #ifdef __cplusplus
      19              : extern "C" {
      20              : #endif
      21              : extern int english_UTF_8_stem(struct SN_env * z);
      22              : #ifdef __cplusplus
      23              : }
      24              : #endif
      25              : 
      26              : static int r_exception1(struct SN_env * z);
      27              : static int r_Step_5(struct SN_env * z);
      28              : static int r_Step_4(struct SN_env * z);
      29              : static int r_Step_3(struct SN_env * z);
      30              : static int r_Step_2(struct SN_env * z);
      31              : static int r_Step_1c(struct SN_env * z);
      32              : static int r_Step_1b(struct SN_env * z);
      33              : static int r_Step_1a(struct SN_env * z);
      34              : static int r_R2(struct SN_env * z);
      35              : static int r_R1(struct SN_env * z);
      36              : static int r_shortv(struct SN_env * z);
      37              : static int r_mark_regions(struct SN_env * z);
      38              : static int r_postlude(struct SN_env * z);
      39              : static int r_prelude(struct SN_env * z);
      40              : 
      41              : static const symbol s_0[] = { 'Y' };
      42              : static const symbol s_1[] = { 'Y' };
      43              : static const symbol s_2[] = { 'p', 'a', 's', 't' };
      44              : static const symbol s_3[] = { 's', 's' };
      45              : static const symbol s_4[] = { 'i' };
      46              : static const symbol s_5[] = { 'i', 'e' };
      47              : static const symbol s_6[] = { 'e', 'e' };
      48              : static const symbol s_7[] = { 'i', 'e' };
      49              : static const symbol s_8[] = { 'e' };
      50              : static const symbol s_9[] = { 'e' };
      51              : static const symbol s_10[] = { 'i' };
      52              : static const symbol s_11[] = { 't', 'i', 'o', 'n' };
      53              : static const symbol s_12[] = { 'e', 'n', 'c', 'e' };
      54              : static const symbol s_13[] = { 'a', 'n', 'c', 'e' };
      55              : static const symbol s_14[] = { 'a', 'b', 'l', 'e' };
      56              : static const symbol s_15[] = { 'e', 'n', 't' };
      57              : static const symbol s_16[] = { 'i', 'z', 'e' };
      58              : static const symbol s_17[] = { 'a', 't', 'e' };
      59              : static const symbol s_18[] = { 'a', 'l' };
      60              : static const symbol s_19[] = { 'f', 'u', 'l' };
      61              : static const symbol s_20[] = { 'o', 'u', 's' };
      62              : static const symbol s_21[] = { 'i', 'v', 'e' };
      63              : static const symbol s_22[] = { 'b', 'l', 'e' };
      64              : static const symbol s_23[] = { 'o', 'g' };
      65              : static const symbol s_24[] = { 'o', 'g' };
      66              : static const symbol s_25[] = { 'l', 'e', 's', 's' };
      67              : static const symbol s_26[] = { 't', 'i', 'o', 'n' };
      68              : static const symbol s_27[] = { 'a', 't', 'e' };
      69              : static const symbol s_28[] = { 'a', 'l' };
      70              : static const symbol s_29[] = { 'i', 'c' };
      71              : static const symbol s_30[] = { 's', 'k', 'i' };
      72              : static const symbol s_31[] = { 's', 'k', 'y' };
      73              : static const symbol s_32[] = { 'i', 'd', 'l' };
      74              : static const symbol s_33[] = { 'g', 'e', 'n', 't', 'l' };
      75              : static const symbol s_34[] = { 'u', 'g', 'l', 'i' };
      76              : static const symbol s_35[] = { 'e', 'a', 'r', 'l', 'i' };
      77              : static const symbol s_36[] = { 'o', 'n', 'l', 'i' };
      78              : static const symbol s_37[] = { 's', 'i', 'n', 'g', 'l' };
      79              : static const symbol s_38[] = { 'y' };
      80              : 
      81              : static const symbol s_0_0[5] = { 'a', 'r', 's', 'e', 'n' };
      82              : static const symbol s_0_1[6] = { 'c', 'o', 'm', 'm', 'u', 'n' };
      83              : static const symbol s_0_2[5] = { 'e', 'm', 'e', 'r', 'g' };
      84              : static const symbol s_0_3[5] = { 'g', 'e', 'n', 'e', 'r' };
      85              : static const symbol s_0_4[5] = { 'i', 'n', 't', 'e', 'r' };
      86              : static const symbol s_0_5[5] = { 'l', 'a', 't', 'e', 'r' };
      87              : static const symbol s_0_6[5] = { 'o', 'r', 'g', 'a', 'n' };
      88              : static const symbol s_0_7[4] = { 'p', 'a', 's', 't' };
      89              : static const symbol s_0_8[7] = { 'u', 'n', 'i', 'v', 'e', 'r', 's' };
      90              : static const struct among a_0[9] = {
      91              : { 5, s_0_0, 0, -1, 0},
      92              : { 6, s_0_1, 0, -1, 0},
      93              : { 5, s_0_2, 0, -1, 0},
      94              : { 5, s_0_3, 0, -1, 0},
      95              : { 5, s_0_4, 0, -1, 0},
      96              : { 5, s_0_5, 0, -1, 0},
      97              : { 5, s_0_6, 0, -1, 0},
      98              : { 4, s_0_7, 0, -1, 0},
      99              : { 7, s_0_8, 0, -1, 0}
     100              : };
     101              : 
     102              : static const symbol s_1_0[1] = { '\'' };
     103              : static const symbol s_1_1[3] = { '\'', 's', '\'' };
     104              : static const symbol s_1_2[2] = { '\'', 's' };
     105              : static const struct among a_1[3] = {
     106              : { 1, s_1_0, 0, 1, 0},
     107              : { 3, s_1_1, -1, 1, 0},
     108              : { 2, s_1_2, 0, 1, 0}
     109              : };
     110              : 
     111              : static const symbol s_2_0[3] = { 'i', 'e', 'd' };
     112              : static const symbol s_2_1[1] = { 's' };
     113              : static const symbol s_2_2[3] = { 'i', 'e', 's' };
     114              : static const symbol s_2_3[4] = { 's', 's', 'e', 's' };
     115              : static const symbol s_2_4[2] = { 's', 's' };
     116              : static const symbol s_2_5[2] = { 'u', 's' };
     117              : static const struct among a_2[6] = {
     118              : { 3, s_2_0, 0, 2, 0},
     119              : { 1, s_2_1, 0, 3, 0},
     120              : { 3, s_2_2, -1, 2, 0},
     121              : { 4, s_2_3, -2, 1, 0},
     122              : { 2, s_2_4, -3, -1, 0},
     123              : { 2, s_2_5, -4, -1, 0}
     124              : };
     125              : 
     126              : static const symbol s_3_0[4] = { 's', 'u', 'c', 'c' };
     127              : static const symbol s_3_1[4] = { 'p', 'r', 'o', 'c' };
     128              : static const symbol s_3_2[3] = { 'e', 'x', 'c' };
     129              : static const struct among a_3[3] = {
     130              : { 4, s_3_0, 0, 1, 0},
     131              : { 4, s_3_1, 0, 1, 0},
     132              : { 3, s_3_2, 0, 1, 0}
     133              : };
     134              : 
     135              : static const symbol s_4_0[4] = { 'e', 'v', 'e', 'n' };
     136              : static const symbol s_4_1[4] = { 'c', 'a', 'n', 'n' };
     137              : static const symbol s_4_2[3] = { 'i', 'n', 'n' };
     138              : static const symbol s_4_3[4] = { 'e', 'a', 'r', 'r' };
     139              : static const symbol s_4_4[4] = { 'h', 'e', 'r', 'r' };
     140              : static const symbol s_4_5[3] = { 'o', 'u', 't' };
     141              : static const symbol s_4_6[1] = { 'y' };
     142              : static const struct among a_4[7] = {
     143              : { 4, s_4_0, 0, 2, 0},
     144              : { 4, s_4_1, 0, 2, 0},
     145              : { 3, s_4_2, 0, 2, 0},
     146              : { 4, s_4_3, 0, 2, 0},
     147              : { 4, s_4_4, 0, 2, 0},
     148              : { 3, s_4_5, 0, 2, 0},
     149              : { 1, s_4_6, 0, 1, 0}
     150              : };
     151              : 
     152              : static const symbol s_5_1[2] = { 'e', 'd' };
     153              : static const symbol s_5_2[3] = { 'e', 'e', 'd' };
     154              : static const symbol s_5_3[3] = { 'i', 'n', 'g' };
     155              : static const symbol s_5_4[4] = { 'e', 'd', 'l', 'y' };
     156              : static const symbol s_5_5[5] = { 'e', 'e', 'd', 'l', 'y' };
     157              : static const symbol s_5_6[5] = { 'i', 'n', 'g', 'l', 'y' };
     158              : static const struct among a_5[7] = {
     159              : { 0, 0, 0, -1, 0},
     160              : { 2, s_5_1, -1, 2, 0},
     161              : { 3, s_5_2, -1, 1, 0},
     162              : { 3, s_5_3, -3, 3, 0},
     163              : { 4, s_5_4, -4, 2, 0},
     164              : { 5, s_5_5, -1, 1, 0},
     165              : { 5, s_5_6, -6, 2, 0}
     166              : };
     167              : 
     168              : static const symbol s_6_1[2] = { 'b', 'b' };
     169              : static const symbol s_6_2[2] = { 'd', 'd' };
     170              : static const symbol s_6_3[2] = { 'f', 'f' };
     171              : static const symbol s_6_4[2] = { 'g', 'g' };
     172              : static const symbol s_6_5[2] = { 'b', 'l' };
     173              : static const symbol s_6_6[2] = { 'm', 'm' };
     174              : static const symbol s_6_7[2] = { 'n', 'n' };
     175              : static const symbol s_6_8[2] = { 'p', 'p' };
     176              : static const symbol s_6_9[2] = { 'r', 'r' };
     177              : static const symbol s_6_10[2] = { 'a', 't' };
     178              : static const symbol s_6_11[2] = { 't', 't' };
     179              : static const symbol s_6_12[2] = { 'i', 'z' };
     180              : static const struct among a_6[13] = {
     181              : { 0, 0, 0, 3, 0},
     182              : { 2, s_6_1, -1, 2, 0},
     183              : { 2, s_6_2, -2, 2, 0},
     184              : { 2, s_6_3, -3, 2, 0},
     185              : { 2, s_6_4, -4, 2, 0},
     186              : { 2, s_6_5, -5, 1, 0},
     187              : { 2, s_6_6, -6, 2, 0},
     188              : { 2, s_6_7, -7, 2, 0},
     189              : { 2, s_6_8, -8, 2, 0},
     190              : { 2, s_6_9, -9, 2, 0},
     191              : { 2, s_6_10, -10, 1, 0},
     192              : { 2, s_6_11, -11, 2, 0},
     193              : { 2, s_6_12, -12, 1, 0}
     194              : };
     195              : 
     196              : static const symbol s_7_0[4] = { 'a', 'n', 'c', 'i' };
     197              : static const symbol s_7_1[4] = { 'e', 'n', 'c', 'i' };
     198              : static const symbol s_7_2[3] = { 'o', 'g', 'i' };
     199              : static const symbol s_7_3[2] = { 'l', 'i' };
     200              : static const symbol s_7_4[3] = { 'b', 'l', 'i' };
     201              : static const symbol s_7_5[4] = { 'a', 'b', 'l', 'i' };
     202              : static const symbol s_7_6[4] = { 'a', 'l', 'l', 'i' };
     203              : static const symbol s_7_7[5] = { 'f', 'u', 'l', 'l', 'i' };
     204              : static const symbol s_7_8[6] = { 'l', 'e', 's', 's', 'l', 'i' };
     205              : static const symbol s_7_9[5] = { 'o', 'u', 's', 'l', 'i' };
     206              : static const symbol s_7_10[5] = { 'e', 'n', 't', 'l', 'i' };
     207              : static const symbol s_7_11[5] = { 'a', 'l', 'i', 't', 'i' };
     208              : static const symbol s_7_12[6] = { 'b', 'i', 'l', 'i', 't', 'i' };
     209              : static const symbol s_7_13[5] = { 'i', 'v', 'i', 't', 'i' };
     210              : static const symbol s_7_14[6] = { 't', 'i', 'o', 'n', 'a', 'l' };
     211              : static const symbol s_7_15[7] = { 'a', 't', 'i', 'o', 'n', 'a', 'l' };
     212              : static const symbol s_7_16[5] = { 'a', 'l', 'i', 's', 'm' };
     213              : static const symbol s_7_17[5] = { 'a', 't', 'i', 'o', 'n' };
     214              : static const symbol s_7_18[7] = { 'i', 'z', 'a', 't', 'i', 'o', 'n' };
     215              : static const symbol s_7_19[4] = { 'i', 'z', 'e', 'r' };
     216              : static const symbol s_7_20[4] = { 'a', 't', 'o', 'r' };
     217              : static const symbol s_7_21[7] = { 'i', 'v', 'e', 'n', 'e', 's', 's' };
     218              : static const symbol s_7_22[7] = { 'f', 'u', 'l', 'n', 'e', 's', 's' };
     219              : static const symbol s_7_23[7] = { 'o', 'u', 's', 'n', 'e', 's', 's' };
     220              : static const symbol s_7_24[5] = { 'o', 'g', 'i', 's', 't' };
     221              : static const struct among a_7[25] = {
     222              : { 4, s_7_0, 0, 3, 0},
     223              : { 4, s_7_1, 0, 2, 0},
     224              : { 3, s_7_2, 0, 14, 0},
     225              : { 2, s_7_3, 0, 16, 0},
     226              : { 3, s_7_4, -1, 12, 0},
     227              : { 4, s_7_5, -1, 4, 0},
     228              : { 4, s_7_6, -3, 8, 0},
     229              : { 5, s_7_7, -4, 9, 0},
     230              : { 6, s_7_8, -5, 15, 0},
     231              : { 5, s_7_9, -6, 10, 0},
     232              : { 5, s_7_10, -7, 5, 0},
     233              : { 5, s_7_11, 0, 8, 0},
     234              : { 6, s_7_12, 0, 12, 0},
     235              : { 5, s_7_13, 0, 11, 0},
     236              : { 6, s_7_14, 0, 1, 0},
     237              : { 7, s_7_15, -1, 7, 0},
     238              : { 5, s_7_16, 0, 8, 0},
     239              : { 5, s_7_17, 0, 7, 0},
     240              : { 7, s_7_18, -1, 6, 0},
     241              : { 4, s_7_19, 0, 6, 0},
     242              : { 4, s_7_20, 0, 7, 0},
     243              : { 7, s_7_21, 0, 11, 0},
     244              : { 7, s_7_22, 0, 9, 0},
     245              : { 7, s_7_23, 0, 10, 0},
     246              : { 5, s_7_24, 0, 13, 0}
     247              : };
     248              : 
     249              : static const symbol s_8_0[5] = { 'i', 'c', 'a', 't', 'e' };
     250              : static const symbol s_8_1[5] = { 'a', 't', 'i', 'v', 'e' };
     251              : static const symbol s_8_2[5] = { 'a', 'l', 'i', 'z', 'e' };
     252              : static const symbol s_8_3[5] = { 'i', 'c', 'i', 't', 'i' };
     253              : static const symbol s_8_4[4] = { 'i', 'c', 'a', 'l' };
     254              : static const symbol s_8_5[6] = { 't', 'i', 'o', 'n', 'a', 'l' };
     255              : static const symbol s_8_6[7] = { 'a', 't', 'i', 'o', 'n', 'a', 'l' };
     256              : static const symbol s_8_7[3] = { 'f', 'u', 'l' };
     257              : static const symbol s_8_8[4] = { 'n', 'e', 's', 's' };
     258              : static const struct among a_8[9] = {
     259              : { 5, s_8_0, 0, 4, 0},
     260              : { 5, s_8_1, 0, 6, 0},
     261              : { 5, s_8_2, 0, 3, 0},
     262              : { 5, s_8_3, 0, 4, 0},
     263              : { 4, s_8_4, 0, 4, 0},
     264              : { 6, s_8_5, 0, 1, 0},
     265              : { 7, s_8_6, -1, 2, 0},
     266              : { 3, s_8_7, 0, 5, 0},
     267              : { 4, s_8_8, 0, 5, 0}
     268              : };
     269              : 
     270              : static const symbol s_9_0[2] = { 'i', 'c' };
     271              : static const symbol s_9_1[4] = { 'a', 'n', 'c', 'e' };
     272              : static const symbol s_9_2[4] = { 'e', 'n', 'c', 'e' };
     273              : static const symbol s_9_3[4] = { 'a', 'b', 'l', 'e' };
     274              : static const symbol s_9_4[4] = { 'i', 'b', 'l', 'e' };
     275              : static const symbol s_9_5[3] = { 'a', 't', 'e' };
     276              : static const symbol s_9_6[3] = { 'i', 'v', 'e' };
     277              : static const symbol s_9_7[3] = { 'i', 'z', 'e' };
     278              : static const symbol s_9_8[3] = { 'i', 't', 'i' };
     279              : static const symbol s_9_9[2] = { 'a', 'l' };
     280              : static const symbol s_9_10[3] = { 'i', 's', 'm' };
     281              : static const symbol s_9_11[3] = { 'i', 'o', 'n' };
     282              : static const symbol s_9_12[2] = { 'e', 'r' };
     283              : static const symbol s_9_13[3] = { 'o', 'u', 's' };
     284              : static const symbol s_9_14[3] = { 'a', 'n', 't' };
     285              : static const symbol s_9_15[3] = { 'e', 'n', 't' };
     286              : static const symbol s_9_16[4] = { 'm', 'e', 'n', 't' };
     287              : static const symbol s_9_17[5] = { 'e', 'm', 'e', 'n', 't' };
     288              : static const struct among a_9[18] = {
     289              : { 2, s_9_0, 0, 1, 0},
     290              : { 4, s_9_1, 0, 1, 0},
     291              : { 4, s_9_2, 0, 1, 0},
     292              : { 4, s_9_3, 0, 1, 0},
     293              : { 4, s_9_4, 0, 1, 0},
     294              : { 3, s_9_5, 0, 1, 0},
     295              : { 3, s_9_6, 0, 1, 0},
     296              : { 3, s_9_7, 0, 1, 0},
     297              : { 3, s_9_8, 0, 1, 0},
     298              : { 2, s_9_9, 0, 1, 0},
     299              : { 3, s_9_10, 0, 1, 0},
     300              : { 3, s_9_11, 0, 2, 0},
     301              : { 2, s_9_12, 0, 1, 0},
     302              : { 3, s_9_13, 0, 1, 0},
     303              : { 3, s_9_14, 0, 1, 0},
     304              : { 3, s_9_15, 0, 1, 0},
     305              : { 4, s_9_16, -1, 1, 0},
     306              : { 5, s_9_17, -1, 1, 0}
     307              : };
     308              : 
     309              : static const symbol s_10_0[1] = { 'e' };
     310              : static const symbol s_10_1[1] = { 'l' };
     311              : static const struct among a_10[2] = {
     312              : { 1, s_10_0, 0, 1, 0},
     313              : { 1, s_10_1, 0, 2, 0}
     314              : };
     315              : 
     316              : static const symbol s_11_0[5] = { 'a', 'n', 'd', 'e', 's' };
     317              : static const symbol s_11_1[5] = { 'a', 't', 'l', 'a', 's' };
     318              : static const symbol s_11_2[4] = { 'b', 'i', 'a', 's' };
     319              : static const symbol s_11_3[6] = { 'c', 'o', 's', 'm', 'o', 's' };
     320              : static const symbol s_11_4[5] = { 'e', 'a', 'r', 'l', 'y' };
     321              : static const symbol s_11_5[6] = { 'g', 'e', 'n', 't', 'l', 'y' };
     322              : static const symbol s_11_6[4] = { 'h', 'o', 'w', 'e' };
     323              : static const symbol s_11_7[4] = { 'i', 'd', 'l', 'y' };
     324              : static const symbol s_11_8[4] = { 'n', 'e', 'w', 's' };
     325              : static const symbol s_11_9[4] = { 'o', 'n', 'l', 'y' };
     326              : static const symbol s_11_10[6] = { 's', 'i', 'n', 'g', 'l', 'y' };
     327              : static const symbol s_11_11[5] = { 's', 'k', 'i', 'e', 's' };
     328              : static const symbol s_11_12[4] = { 's', 'k', 'i', 's' };
     329              : static const symbol s_11_13[3] = { 's', 'k', 'y' };
     330              : static const symbol s_11_14[4] = { 'u', 'g', 'l', 'y' };
     331              : static const struct among a_11[15] = {
     332              : { 5, s_11_0, 0, -1, 0},
     333              : { 5, s_11_1, 0, -1, 0},
     334              : { 4, s_11_2, 0, -1, 0},
     335              : { 6, s_11_3, 0, -1, 0},
     336              : { 5, s_11_4, 0, 6, 0},
     337              : { 6, s_11_5, 0, 4, 0},
     338              : { 4, s_11_6, 0, -1, 0},
     339              : { 4, s_11_7, 0, 3, 0},
     340              : { 4, s_11_8, 0, -1, 0},
     341              : { 4, s_11_9, 0, 7, 0},
     342              : { 6, s_11_10, 0, 8, 0},
     343              : { 5, s_11_11, 0, 2, 0},
     344              : { 4, s_11_12, 0, 1, 0},
     345              : { 3, s_11_13, 0, -1, 0},
     346              : { 4, s_11_14, 0, 5, 0}
     347              : };
     348              : 
     349              : static const unsigned char g_aeo[] = { 17, 64 };
     350              : 
     351              : static const unsigned char g_v[] = { 17, 65, 16, 1 };
     352              : 
     353              : static const unsigned char g_v_WXY[] = { 1, 17, 65, 208, 1 };
     354              : 
     355              : static const unsigned char g_valid_LI[] = { 55, 141, 2 };
     356              : 
     357         3155 : static int r_prelude(struct SN_env * z) {
     358         3155 :     ((SN_local *)z)->b_Y_found = 0;
     359              :     {
     360         3155 :         int v_1 = z->c;
     361         3155 :         z->bra = z->c;
     362         3155 :         if (z->c == z->l || z->p[z->c] != '\'') goto lab0;
     363            0 :         z->c++;
     364            0 :         z->ket = z->c;
     365              :         {
     366            0 :             int ret = slice_del(z);
     367            0 :             if (ret < 0) return ret;
     368              :         }
     369            0 :     lab0:
     370         3155 :         z->c = v_1;
     371              :     }
     372              :     {
     373         3155 :         int v_2 = z->c;
     374         3155 :         z->bra = z->c;
     375         3155 :         if (z->c == z->l || z->p[z->c] != 'y') goto lab1;
     376           21 :         z->c++;
     377           21 :         z->ket = z->c;
     378              :         {
     379           21 :             int ret = slice_from_s(z, 1, s_0);
     380           21 :             if (ret < 0) return ret;
     381              :         }
     382           21 :         ((SN_local *)z)->b_Y_found = 1;
     383         3155 :     lab1:
     384         3155 :         z->c = v_2;
     385              :     }
     386              :     {
     387         3155 :         int v_3 = z->c;
     388          243 :         while (1) {
     389         3398 :             int v_4 = z->c;
     390        14660 :             while (1) {
     391        18058 :                 int v_5 = z->c;
     392        18058 :                 if (in_grouping_U(z, g_v, 97, 121, 0)) goto lab4;
     393         5760 :                 z->bra = z->c;
     394         5760 :                 if (z->c == z->l || z->p[z->c] != 'y') goto lab4;
     395          243 :                 z->c++;
     396          243 :                 z->ket = z->c;
     397          243 :                 z->c = v_5;
     398          243 :                 break;
     399        17815 :             lab4:
     400        17815 :                 z->c = v_5;
     401              :                 {
     402        17815 :                     int ret = skip_utf8(z->p, z->c, z->l, 1);
     403        17815 :                     if (ret < 0) goto lab3;
     404        14660 :                     z->c = ret;
     405              :                 }
     406              :             }
     407              :             {
     408          243 :                 int ret = slice_from_s(z, 1, s_1);
     409          243 :                 if (ret < 0) return ret;
     410              :             }
     411          243 :             ((SN_local *)z)->b_Y_found = 1;
     412          243 :             continue;
     413         3155 :         lab3:
     414         3155 :             z->c = v_4;
     415         3155 :             break;
     416              :         }
     417         3155 :         z->c = v_3;
     418              :     }
     419         3155 :     return 1;
     420              : }
     421              : 
     422         3155 : static int r_mark_regions(struct SN_env * z) {
     423         3155 :     ((SN_local *)z)->i_p1 = z->l;
     424         3155 :     ((SN_local *)z)->i_p2 = z->l;
     425              :     {
     426         3155 :         int v_1 = z->c;
     427              :         do {
     428         3155 :             int v_2 = z->c;
     429         3155 :             if (z->c + 3 >= z->l || z->p[z->c + 3] >> 5 != 3 || !((5513250 >> (z->p[z->c + 3] & 0x1f)) & 1)) goto lab1;
     430         1026 :             if (!find_among(z, a_0, 9, 0)) goto lab1;
     431            0 :             break;
     432         3155 :         lab1:
     433         3155 :             z->c = v_2;
     434              :             {
     435         3155 :                 int ret = out_grouping_U(z, g_v, 97, 121, 1);
     436         3155 :                 if (ret < 0) goto lab0;
     437         2819 :                 z->c += ret;
     438              :             }
     439              :             {
     440         2819 :                 int ret = in_grouping_U(z, g_v, 97, 121, 1);
     441         2819 :                 if (ret < 0) goto lab0;
     442         2515 :                 z->c += ret;
     443              :             }
     444              :         } while (0);
     445         2515 :         ((SN_local *)z)->i_p1 = z->c;
     446              :         {
     447         2515 :             int ret = out_grouping_U(z, g_v, 97, 121, 1);
     448         2515 :             if (ret < 0) goto lab0;
     449         1375 :             z->c += ret;
     450              :         }
     451              :         {
     452         1375 :             int ret = in_grouping_U(z, g_v, 97, 121, 1);
     453         1375 :             if (ret < 0) goto lab0;
     454         1102 :             z->c += ret;
     455              :         }
     456         1102 :         ((SN_local *)z)->i_p2 = z->c;
     457         3155 :     lab0:
     458         3155 :         z->c = v_1;
     459              :     }
     460         3155 :     return 1;
     461              : }
     462              : 
     463          224 : static int r_shortv(struct SN_env * z) {
     464              :     do {
     465          224 :         int v_1 = z->l - z->c;
     466          224 :         if (out_grouping_b_U(z, g_v_WXY, 89, 121, 0)) goto lab0;
     467          224 :         if (in_grouping_b_U(z, g_v, 97, 121, 0)) goto lab0;
     468          122 :         if (out_grouping_b_U(z, g_v, 97, 121, 0)) goto lab0;
     469           33 :         break;
     470          191 :     lab0:
     471          191 :         z->c = z->l - v_1;
     472          191 :         if (out_grouping_b_U(z, g_v, 97, 121, 0)) goto lab1;
     473          191 :         if (in_grouping_b_U(z, g_v, 97, 121, 0)) goto lab1;
     474           89 :         if (z->c > z->lb) goto lab1;
     475           60 :         break;
     476          131 :     lab1:
     477          131 :         z->c = z->l - v_1;
     478          131 :         if (!(eq_s_b(z, 4, s_2))) return 0;
     479              :     } while (0);
     480           93 :     return 1;
     481              : }
     482              : 
     483          315 : static int r_R1(struct SN_env * z) {
     484          315 :     return ((SN_local *)z)->i_p1 <= z->c;
     485              : }
     486              : 
     487          877 : static int r_R2(struct SN_env * z) {
     488          877 :     return ((SN_local *)z)->i_p2 <= z->c;
     489              : }
     490              : 
     491         3155 : static int r_Step_1a(struct SN_env * z) {
     492              :     int among_var;
     493              :     {
     494         3155 :         int v_1 = z->l - z->c;
     495         3155 :         z->ket = z->c;
     496         3155 :         if (z->c <= z->lb || (z->p[z->c - 1] != 39 && z->p[z->c - 1] != 115)) { z->c = z->l - v_1; goto lab0; }
     497          149 :         if (!find_among_b(z, a_1, 3, 0)) { z->c = z->l - v_1; goto lab0; }
     498            0 :         z->bra = z->c;
     499              :         {
     500            0 :             int ret = slice_del(z);
     501            0 :             if (ret < 0) return ret;
     502              :         }
     503            0 :     lab0:
     504              :         ;
     505              :     }
     506         3155 :     z->ket = z->c;
     507         3155 :     if (z->c <= z->lb || (z->p[z->c - 1] != 100 && z->p[z->c - 1] != 115)) return 0;
     508          395 :     among_var = find_among_b(z, a_2, 6, 0);
     509          395 :     if (!among_var) return 0;
     510          149 :     z->bra = z->c;
     511          149 :     switch (among_var) {
     512            0 :         case 1:
     513              :             {
     514            0 :                 int ret = slice_from_s(z, 2, s_3);
     515            0 :                 if (ret < 0) return ret;
     516              :             }
     517            0 :             break;
     518            0 :         case 2:
     519              :             do {
     520            0 :                 int v_2 = z->l - z->c;
     521              :                 {
     522            0 :                     int ret = skip_b_utf8(z->p, z->c, z->lb, 2);
     523            0 :                     if (ret < 0) goto lab1;
     524            0 :                     z->c = ret;
     525              :                 }
     526              :                 {
     527            0 :                     int ret = slice_from_s(z, 1, s_4);
     528            0 :                     if (ret < 0) return ret;
     529              :                 }
     530            0 :                 break;
     531            0 :             lab1:
     532            0 :                 z->c = z->l - v_2;
     533              :                 {
     534            0 :                     int ret = slice_from_s(z, 2, s_5);
     535            0 :                     if (ret < 0) return ret;
     536              :                 }
     537              :             } while (0);
     538            0 :             break;
     539          122 :         case 3:
     540              :             {
     541          122 :                 int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
     542          122 :                 if (ret < 0) return 0;
     543          122 :                 z->c = ret;
     544              :             }
     545              :             {
     546          122 :                 int ret = out_grouping_b_U(z, g_v, 97, 121, 1);
     547          122 :                 if (ret < 0) return 0;
     548          119 :                 z->c -= ret;
     549              :             }
     550              :             {
     551          119 :                 int ret = slice_del(z);
     552          119 :                 if (ret < 0) return ret;
     553              :             }
     554          119 :             break;
     555              :     }
     556          146 :     return 1;
     557              : }
     558              : 
     559         3155 : static int r_Step_1b(struct SN_env * z) {
     560              :     int among_var;
     561         3155 :     z->ket = z->c;
     562         3155 :     if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((33554576 >> (z->p[z->c - 1] & 0x1f)) & 1)) among_var = -1; else
     563          571 :     among_var = find_among_b(z, a_5, 7, 0);
     564         3155 :     z->bra = z->c;
     565              :     do {
     566         3155 :         int v_1 = z->l - z->c;
     567         3155 :         switch (among_var) {
     568            0 :             case 1:
     569              :                 {
     570            0 :                     int v_2 = z->l - z->c;
     571              :                     {
     572            0 :                         int ret = r_R1(z);
     573            0 :                         if (ret == 0) goto lab1;
     574            0 :                         if (ret < 0) return ret;
     575              :                     }
     576              :                     do {
     577            0 :                         int v_3 = z->l - z->c;
     578            0 :                         if (z->c - 2 <= z->lb || z->p[z->c - 1] != 99) goto lab2;
     579            0 :                         if (!find_among_b(z, a_3, 3, 0)) goto lab2;
     580            0 :                         if (z->c > z->lb) goto lab2;
     581            0 :                         break;
     582            0 :                     lab2:
     583            0 :                         z->c = z->l - v_3;
     584              :                         {
     585            0 :                             int ret = slice_from_s(z, 2, s_6);
     586            0 :                             if (ret < 0) return ret;
     587              :                         }
     588              :                     } while (0);
     589            0 :                 lab1:
     590            0 :                     z->c = z->l - v_2;
     591              :                 }
     592            0 :                 break;
     593          165 :             case 2:
     594          165 :                 goto lab0;
     595              :                 break;
     596           29 :             case 3:
     597           29 :                 if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((34881536 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab0;
     598            0 :                 among_var = find_among_b(z, a_4, 7, 0);
     599            0 :                 if (!among_var) goto lab0;
     600            0 :                 switch (among_var) {
     601            0 :                     case 1:
     602              :                         {
     603            0 :                             int v_4 = z->l - z->c;
     604            0 :                             if (out_grouping_b_U(z, g_v, 97, 121, 0)) goto lab0;
     605            0 :                             if (z->c > z->lb) goto lab0;
     606            0 :                             z->c = z->l - v_4;
     607              :                         }
     608            0 :                         z->bra = z->c;
     609              :                         {
     610            0 :                             int ret = slice_from_s(z, 2, s_7);
     611            0 :                             if (ret < 0) return ret;
     612              :                         }
     613            0 :                         break;
     614            0 :                     case 2:
     615            0 :                         if (z->c > z->lb) goto lab0;
     616            0 :                         break;
     617              :                 }
     618            0 :                 break;
     619              :         }
     620         2961 :         break;
     621          194 :     lab0:
     622          194 :         z->c = z->l - v_1;
     623              :         {
     624          194 :             int v_5 = z->l - z->c;
     625              :             {
     626          194 :                 int ret = out_grouping_b_U(z, g_v, 97, 121, 1);
     627          194 :                 if (ret < 0) return 0;
     628          194 :                 z->c -= ret;
     629              :             }
     630          194 :             z->c = z->l - v_5;
     631              :         }
     632              :         {
     633          194 :             int ret = slice_del(z);
     634          194 :             if (ret < 0) return ret;
     635              :         }
     636          194 :         z->ket = z->c;
     637          194 :         z->bra = z->c;
     638              :         {
     639          194 :             int v_6 = z->l - z->c;
     640          194 :             if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((68514004 >> (z->p[z->c - 1] & 0x1f)) & 1)) among_var = 3; else
     641          162 :             among_var = find_among_b(z, a_6, 13, 0);
     642          194 :             switch (among_var) {
     643            0 :                 case 1:
     644              :                     {
     645            0 :                         int ret = slice_from_s(z, 1, s_8);
     646            0 :                         if (ret < 0) return ret;
     647              :                     }
     648            0 :                     return 0;
     649              :                     break;
     650           18 :                 case 2:
     651              :                     {
     652           18 :                         int v_7 = z->l - z->c;
     653           18 :                         if (in_grouping_b_U(z, g_aeo, 97, 111, 0)) goto lab3;
     654            0 :                         if (z->c > z->lb) goto lab3;
     655            0 :                         return 0;
     656           18 :                     lab3:
     657           18 :                         z->c = z->l - v_7;
     658              :                     }
     659           18 :                     break;
     660          176 :                 case 3:
     661          176 :                     if (z->c != ((SN_local *)z)->i_p1) return 0;
     662              :                     {
     663           29 :                         int v_8 = z->l - z->c;
     664              :                         {
     665           29 :                             int ret = r_shortv(z);
     666           29 :                             if (ret <= 0) return ret;
     667              :                         }
     668            3 :                         z->c = z->l - v_8;
     669              :                     }
     670              :                     {
     671            3 :                         int ret = slice_from_s(z, 1, s_9);
     672            3 :                         if (ret < 0) return ret;
     673              :                     }
     674            3 :                     return 0;
     675              :                     break;
     676              :             }
     677           18 :             z->c = z->l - v_6;
     678              :         }
     679           18 :         z->ket = z->c;
     680              :         {
     681           18 :             int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
     682           18 :             if (ret < 0) return 0;
     683           18 :             z->c = ret;
     684              :         }
     685           18 :         z->bra = z->c;
     686              :         {
     687           18 :             int ret = slice_del(z);
     688           18 :             if (ret < 0) return ret;
     689              :         }
     690              :     } while (0);
     691         2979 :     return 1;
     692              : }
     693              : 
     694         3155 : static int r_Step_1c(struct SN_env * z) {
     695         3155 :     z->ket = z->c;
     696              :     do {
     697         3155 :         int v_1 = z->l - z->c;
     698         3155 :         if (z->c <= z->lb || z->p[z->c - 1] != 'y') goto lab0;
     699          177 :         z->c--;
     700          177 :         break;
     701         2978 :     lab0:
     702         2978 :         z->c = z->l - v_1;
     703         2978 :         if (z->c <= z->lb || z->p[z->c - 1] != 'Y') return 0;
     704          243 :         z->c--;
     705              :     } while (0);
     706          420 :     z->bra = z->c;
     707          420 :     if (out_grouping_b_U(z, g_v, 97, 121, 0)) return 0;
     708          177 :     if (z->c > z->lb) goto lab1;
     709            0 :     return 0;
     710          177 : lab1:
     711              :     {
     712          177 :         int ret = slice_from_s(z, 1, s_10);
     713          177 :         if (ret < 0) return ret;
     714              :     }
     715          177 :     return 1;
     716              : }
     717              : 
     718         3155 : static int r_Step_2(struct SN_env * z) {
     719              :     int among_var;
     720         3155 :     z->ket = z->c;
     721         3155 :     if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1864192 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
     722         1246 :     among_var = find_among_b(z, a_7, 25, 0);
     723         1246 :     if (!among_var) return 0;
     724           29 :     z->bra = z->c;
     725              :     {
     726           29 :         int ret = r_R1(z);
     727           29 :         if (ret <= 0) return ret;
     728              :     }
     729           29 :     switch (among_var) {
     730            0 :         case 1:
     731              :             {
     732            0 :                 int ret = slice_from_s(z, 4, s_11);
     733            0 :                 if (ret < 0) return ret;
     734              :             }
     735            0 :             break;
     736            0 :         case 2:
     737              :             {
     738            0 :                 int ret = slice_from_s(z, 4, s_12);
     739            0 :                 if (ret < 0) return ret;
     740              :             }
     741            0 :             break;
     742            0 :         case 3:
     743              :             {
     744            0 :                 int ret = slice_from_s(z, 4, s_13);
     745            0 :                 if (ret < 0) return ret;
     746              :             }
     747            0 :             break;
     748            0 :         case 4:
     749              :             {
     750            0 :                 int ret = slice_from_s(z, 4, s_14);
     751            0 :                 if (ret < 0) return ret;
     752              :             }
     753            0 :             break;
     754            0 :         case 5:
     755              :             {
     756            0 :                 int ret = slice_from_s(z, 3, s_15);
     757            0 :                 if (ret < 0) return ret;
     758              :             }
     759            0 :             break;
     760            0 :         case 6:
     761              :             {
     762            0 :                 int ret = slice_from_s(z, 3, s_16);
     763            0 :                 if (ret < 0) return ret;
     764              :             }
     765            0 :             break;
     766           23 :         case 7:
     767              :             {
     768           23 :                 int ret = slice_from_s(z, 3, s_17);
     769           23 :                 if (ret < 0) return ret;
     770              :             }
     771           23 :             break;
     772            6 :         case 8:
     773              :             {
     774            6 :                 int ret = slice_from_s(z, 2, s_18);
     775            6 :                 if (ret < 0) return ret;
     776              :             }
     777            6 :             break;
     778            0 :         case 9:
     779              :             {
     780            0 :                 int ret = slice_from_s(z, 3, s_19);
     781            0 :                 if (ret < 0) return ret;
     782              :             }
     783            0 :             break;
     784            0 :         case 10:
     785              :             {
     786            0 :                 int ret = slice_from_s(z, 3, s_20);
     787            0 :                 if (ret < 0) return ret;
     788              :             }
     789            0 :             break;
     790            0 :         case 11:
     791              :             {
     792            0 :                 int ret = slice_from_s(z, 3, s_21);
     793            0 :                 if (ret < 0) return ret;
     794              :             }
     795            0 :             break;
     796            0 :         case 12:
     797              :             {
     798            0 :                 int ret = slice_from_s(z, 3, s_22);
     799            0 :                 if (ret < 0) return ret;
     800              :             }
     801            0 :             break;
     802            0 :         case 13:
     803              :             {
     804            0 :                 int ret = slice_from_s(z, 2, s_23);
     805            0 :                 if (ret < 0) return ret;
     806              :             }
     807            0 :             break;
     808            0 :         case 14:
     809            0 :             if (z->c <= z->lb || z->p[z->c - 1] != 'l') return 0;
     810            0 :             z->c--;
     811              :             {
     812            0 :                 int ret = slice_from_s(z, 2, s_24);
     813            0 :                 if (ret < 0) return ret;
     814              :             }
     815            0 :             break;
     816            0 :         case 15:
     817              :             {
     818            0 :                 int ret = slice_from_s(z, 4, s_25);
     819            0 :                 if (ret < 0) return ret;
     820              :             }
     821            0 :             break;
     822            0 :         case 16:
     823            0 :             if (in_grouping_b_U(z, g_valid_LI, 99, 116, 0)) return 0;
     824              :             {
     825            0 :                 int ret = slice_del(z);
     826            0 :                 if (ret < 0) return ret;
     827              :             }
     828            0 :             break;
     829              :     }
     830           29 :     return 1;
     831              : }
     832              : 
     833         3155 : static int r_Step_3(struct SN_env * z) {
     834              :     int among_var;
     835         3155 :     z->ket = z->c;
     836         3155 :     if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((528928 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
     837          722 :     among_var = find_among_b(z, a_8, 9, 0);
     838          722 :     if (!among_var) return 0;
     839            0 :     z->bra = z->c;
     840              :     {
     841            0 :         int ret = r_R1(z);
     842            0 :         if (ret <= 0) return ret;
     843              :     }
     844            0 :     switch (among_var) {
     845            0 :         case 1:
     846              :             {
     847            0 :                 int ret = slice_from_s(z, 4, s_26);
     848            0 :                 if (ret < 0) return ret;
     849              :             }
     850            0 :             break;
     851            0 :         case 2:
     852              :             {
     853            0 :                 int ret = slice_from_s(z, 3, s_27);
     854            0 :                 if (ret < 0) return ret;
     855              :             }
     856            0 :             break;
     857            0 :         case 3:
     858              :             {
     859            0 :                 int ret = slice_from_s(z, 2, s_28);
     860            0 :                 if (ret < 0) return ret;
     861              :             }
     862            0 :             break;
     863            0 :         case 4:
     864              :             {
     865            0 :                 int ret = slice_from_s(z, 2, s_29);
     866            0 :                 if (ret < 0) return ret;
     867              :             }
     868            0 :             break;
     869            0 :         case 5:
     870              :             {
     871            0 :                 int ret = slice_del(z);
     872            0 :                 if (ret < 0) return ret;
     873              :             }
     874            0 :             break;
     875            0 :         case 6:
     876              :             {
     877            0 :                 int ret = r_R2(z);
     878            0 :                 if (ret <= 0) return ret;
     879              :             }
     880              :             {
     881            0 :                 int ret = slice_del(z);
     882            0 :                 if (ret < 0) return ret;
     883              :             }
     884            0 :             break;
     885              :     }
     886            0 :     return 1;
     887              : }
     888              : 
     889         3155 : static int r_Step_4(struct SN_env * z) {
     890              :     int among_var;
     891         3155 :     z->ket = z->c;
     892         3155 :     if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1864232 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
     893         1729 :     among_var = find_among_b(z, a_9, 18, 0);
     894         1729 :     if (!among_var) return 0;
     895          424 :     z->bra = z->c;
     896              :     {
     897          424 :         int ret = r_R2(z);
     898          424 :         if (ret <= 0) return ret;
     899              :     }
     900           44 :     switch (among_var) {
     901           44 :         case 1:
     902              :             {
     903           44 :                 int ret = slice_del(z);
     904           44 :                 if (ret < 0) return ret;
     905              :             }
     906           44 :             break;
     907            0 :         case 2:
     908              :             do {
     909            0 :                 int v_1 = z->l - z->c;
     910            0 :                 if (z->c <= z->lb || z->p[z->c - 1] != 's') goto lab0;
     911            0 :                 z->c--;
     912            0 :                 break;
     913            0 :             lab0:
     914            0 :                 z->c = z->l - v_1;
     915            0 :                 if (z->c <= z->lb || z->p[z->c - 1] != 't') return 0;
     916            0 :                 z->c--;
     917              :             } while (0);
     918              :             {
     919            0 :                 int ret = slice_del(z);
     920            0 :                 if (ret < 0) return ret;
     921              :             }
     922            0 :             break;
     923              :     }
     924           44 :     return 1;
     925              : }
     926              : 
     927         3155 : static int r_Step_5(struct SN_env * z) {
     928              :     int among_var;
     929         3155 :     z->ket = z->c;
     930         3155 :     if (z->c <= z->lb || (z->p[z->c - 1] != 101 && z->p[z->c - 1] != 108)) return 0;
     931          453 :     among_var = find_among_b(z, a_10, 2, 0);
     932          453 :     if (!among_var) return 0;
     933          453 :     z->bra = z->c;
     934          453 :     switch (among_var) {
     935          405 :         case 1:
     936              :             do {
     937              :                 {
     938          405 :                     int ret = r_R2(z);
     939          405 :                     if (ret == 0) goto lab0;
     940          119 :                     if (ret < 0) return ret;
     941              :                 }
     942          119 :                 break;
     943          286 :             lab0:
     944              :                 {
     945          286 :                     int ret = r_R1(z);
     946          286 :                     if (ret <= 0) return ret;
     947              :                 }
     948              :                 {
     949          195 :                     int v_1 = z->l - z->c;
     950              :                     {
     951          195 :                         int ret = r_shortv(z);
     952          195 :                         if (ret == 0) goto lab1;
     953           90 :                         if (ret < 0) return ret;
     954              :                     }
     955           90 :                     return 0;
     956          105 :                 lab1:
     957          105 :                     z->c = z->l - v_1;
     958              :                 }
     959              :             } while (0);
     960              :             {
     961          224 :                 int ret = slice_del(z);
     962          224 :                 if (ret < 0) return ret;
     963              :             }
     964          224 :             break;
     965           48 :         case 2:
     966              :             {
     967           48 :                 int ret = r_R2(z);
     968           48 :                 if (ret <= 0) return ret;
     969              :             }
     970            3 :             if (z->c <= z->lb || z->p[z->c - 1] != 'l') return 0;
     971            0 :             z->c--;
     972              :             {
     973            0 :                 int ret = slice_del(z);
     974            0 :                 if (ret < 0) return ret;
     975              :             }
     976            0 :             break;
     977              :     }
     978          224 :     return 1;
     979              : }
     980              : 
     981         3425 : static int r_exception1(struct SN_env * z) {
     982              :     int among_var;
     983         3425 :     z->bra = z->c;
     984         3425 :     if (z->c + 2 >= z->l || z->p[z->c + 2] >> 5 != 3 || !((42750482 >> (z->p[z->c + 2] & 0x1f)) & 1)) return 0;
     985         1491 :     among_var = find_among(z, a_11, 15, 0);
     986         1491 :     if (!among_var) return 0;
     987           18 :     z->ket = z->c;
     988           18 :     if (z->c < z->l) return 0;
     989           18 :     switch (among_var) {
     990            0 :         case 1:
     991              :             {
     992            0 :                 int ret = slice_from_s(z, 3, s_30);
     993            0 :                 if (ret < 0) return ret;
     994              :             }
     995            0 :             break;
     996           18 :         case 2:
     997              :             {
     998           18 :                 int ret = slice_from_s(z, 3, s_31);
     999           18 :                 if (ret < 0) return ret;
    1000              :             }
    1001           18 :             break;
    1002            0 :         case 3:
    1003              :             {
    1004            0 :                 int ret = slice_from_s(z, 3, s_32);
    1005            0 :                 if (ret < 0) return ret;
    1006              :             }
    1007            0 :             break;
    1008            0 :         case 4:
    1009              :             {
    1010            0 :                 int ret = slice_from_s(z, 5, s_33);
    1011            0 :                 if (ret < 0) return ret;
    1012              :             }
    1013            0 :             break;
    1014            0 :         case 5:
    1015              :             {
    1016            0 :                 int ret = slice_from_s(z, 4, s_34);
    1017            0 :                 if (ret < 0) return ret;
    1018              :             }
    1019            0 :             break;
    1020            0 :         case 6:
    1021              :             {
    1022            0 :                 int ret = slice_from_s(z, 5, s_35);
    1023            0 :                 if (ret < 0) return ret;
    1024              :             }
    1025            0 :             break;
    1026            0 :         case 7:
    1027              :             {
    1028            0 :                 int ret = slice_from_s(z, 4, s_36);
    1029            0 :                 if (ret < 0) return ret;
    1030              :             }
    1031            0 :             break;
    1032            0 :         case 8:
    1033              :             {
    1034            0 :                 int ret = slice_from_s(z, 5, s_37);
    1035            0 :                 if (ret < 0) return ret;
    1036              :             }
    1037            0 :             break;
    1038              :     }
    1039           18 :     return 1;
    1040              : }
    1041              : 
    1042         3155 : static int r_postlude(struct SN_env * z) {
    1043         3155 :     if (!((SN_local *)z)->b_Y_found) return 0;
    1044          264 :     while (1) {
    1045          528 :         int v_1 = z->c;
    1046          813 :         while (1) {
    1047         1341 :             int v_2 = z->c;
    1048         1341 :             z->bra = z->c;
    1049         1341 :             if (z->c == z->l || z->p[z->c] != 'Y') goto lab1;
    1050          264 :             z->c++;
    1051          264 :             z->ket = z->c;
    1052          264 :             z->c = v_2;
    1053          264 :             break;
    1054         1077 :         lab1:
    1055         1077 :             z->c = v_2;
    1056              :             {
    1057         1077 :                 int ret = skip_utf8(z->p, z->c, z->l, 1);
    1058         1077 :                 if (ret < 0) goto lab0;
    1059          813 :                 z->c = ret;
    1060              :             }
    1061              :         }
    1062              :         {
    1063          264 :             int ret = slice_from_s(z, 1, s_38);
    1064          264 :             if (ret < 0) return ret;
    1065              :         }
    1066          264 :         continue;
    1067          264 :     lab0:
    1068          264 :         z->c = v_1;
    1069          264 :         break;
    1070              :     }
    1071          264 :     return 1;
    1072              : }
    1073              : 
    1074         3425 : extern int english_UTF_8_stem(struct SN_env * z) {
    1075              :     do {
    1076         3425 :         int v_1 = z->c;
    1077              :         {
    1078         3425 :             int ret = r_exception1(z);
    1079         3425 :             if (ret == 0) goto lab0;
    1080           18 :             if (ret < 0) return ret;
    1081              :         }
    1082           18 :         break;
    1083         3407 :     lab0:
    1084         3407 :         z->c = v_1;
    1085              :         {
    1086         3407 :             int v_2 = z->c;
    1087              :             {
    1088         3407 :                 int ret = skip_utf8(z->p, z->c, z->l, 3);
    1089         3407 :                 if (ret < 0) goto lab2;
    1090         3155 :                 z->c = ret;
    1091              :             }
    1092         3155 :             goto lab1;
    1093          252 :         lab2:
    1094          252 :             z->c = v_2;
    1095              :         }
    1096          252 :         break;
    1097         3155 :     lab1:
    1098         3155 :         z->c = v_1;
    1099              :         {
    1100         3155 :             int ret = r_prelude(z);
    1101         3155 :             if (ret < 0) return ret;
    1102              :         }
    1103              :         {
    1104         3155 :             int ret = r_mark_regions(z);
    1105         3155 :             if (ret < 0) return ret;
    1106              :         }
    1107         3155 :         z->lb = z->c; z->c = z->l;
    1108              :         {
    1109         3155 :             int v_3 = z->l - z->c;
    1110              :             {
    1111         3155 :                 int ret = r_Step_1a(z);
    1112         3155 :                 if (ret < 0) return ret;
    1113              :             }
    1114         3155 :             z->c = z->l - v_3;
    1115              :         }
    1116              :         {
    1117         3155 :             int v_4 = z->l - z->c;
    1118              :             {
    1119         3155 :                 int ret = r_Step_1b(z);
    1120         3155 :                 if (ret < 0) return ret;
    1121              :             }
    1122         3155 :             z->c = z->l - v_4;
    1123              :         }
    1124              :         {
    1125         3155 :             int v_5 = z->l - z->c;
    1126              :             {
    1127         3155 :                 int ret = r_Step_1c(z);
    1128         3155 :                 if (ret < 0) return ret;
    1129              :             }
    1130         3155 :             z->c = z->l - v_5;
    1131              :         }
    1132              :         {
    1133         3155 :             int v_6 = z->l - z->c;
    1134              :             {
    1135         3155 :                 int ret = r_Step_2(z);
    1136         3155 :                 if (ret < 0) return ret;
    1137              :             }
    1138         3155 :             z->c = z->l - v_6;
    1139              :         }
    1140              :         {
    1141         3155 :             int v_7 = z->l - z->c;
    1142              :             {
    1143         3155 :                 int ret = r_Step_3(z);
    1144         3155 :                 if (ret < 0) return ret;
    1145              :             }
    1146         3155 :             z->c = z->l - v_7;
    1147              :         }
    1148              :         {
    1149         3155 :             int v_8 = z->l - z->c;
    1150              :             {
    1151         3155 :                 int ret = r_Step_4(z);
    1152         3155 :                 if (ret < 0) return ret;
    1153              :             }
    1154         3155 :             z->c = z->l - v_8;
    1155              :         }
    1156              :         {
    1157         3155 :             int v_9 = z->l - z->c;
    1158              :             {
    1159         3155 :                 int ret = r_Step_5(z);
    1160         3155 :                 if (ret < 0) return ret;
    1161              :             }
    1162         3155 :             z->c = z->l - v_9;
    1163              :         }
    1164         3155 :         z->c = z->lb;
    1165              :         {
    1166         3155 :             int v_10 = z->c;
    1167              :             {
    1168         3155 :                 int ret = r_postlude(z);
    1169         3155 :                 if (ret < 0) return ret;
    1170              :             }
    1171         3155 :             z->c = v_10;
    1172              :         }
    1173              :     } while (0);
    1174         3425 :     return 1;
    1175              : }
    1176              : 
    1177           22 : extern struct SN_env * english_UTF_8_create_env(void) {
    1178           22 :     struct SN_env * z = SN_new_env(sizeof(SN_local));
    1179           22 :     if (z) {
    1180           22 :         ((SN_local *)z)->b_Y_found = 0;
    1181           22 :         ((SN_local *)z)->i_p2 = 0;
    1182           22 :         ((SN_local *)z)->i_p1 = 0;
    1183              :     }
    1184           22 :     return z;
    1185              : }
    1186              : 
    1187            0 : extern void english_UTF_8_close_env(struct SN_env * z) {
    1188            0 :     SN_delete_env(z);
    1189            0 : }
    1190              : 
        

Generated by: LCOV version 2.0-1