tracker-0.16.2/src/libstemmer/stem_UTF_8_english.c

No issues found

   1 /*
   2  * Copyright (c) 2001, Dr Martin Porter
   3  * All rights reserved.
   4  *
   5  * Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
   6  * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
   7  * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
   8  * Neither the name of the <ORGANIZATION> nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
   9  *
  10  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  11  */
  12 
  13 
  14 
  15 /* This file was generated automatically by the Snowball to ANSI C compiler */
  16 
  17 #include "header.h"
  18 
  19 extern int english_UTF_8_stem(struct SN_env * z);
  20 static int r_exception2(struct SN_env * z);
  21 static int r_exception1(struct SN_env * z);
  22 static int r_Step_5(struct SN_env * z);
  23 static int r_Step_4(struct SN_env * z);
  24 static int r_Step_3(struct SN_env * z);
  25 static int r_Step_2(struct SN_env * z);
  26 static int r_Step_1c(struct SN_env * z);
  27 static int r_Step_1b(struct SN_env * z);
  28 static int r_Step_1a(struct SN_env * z);
  29 static int r_R2(struct SN_env * z);
  30 static int r_R1(struct SN_env * z);
  31 static int r_shortv(struct SN_env * z);
  32 static int r_mark_regions(struct SN_env * z);
  33 static int r_postlude(struct SN_env * z);
  34 static int r_prelude(struct SN_env * z);
  35 
  36 extern struct SN_env * english_UTF_8_create_env(void);
  37 extern void english_UTF_8_close_env(struct SN_env * z);
  38 
  39 static symbol s_0_0[6] = { 'c', 'o', 'm', 'm', 'u', 'n' };
  40 static symbol s_0_1[5] = { 'g', 'e', 'n', 'e', 'r' };
  41 
  42 static struct among a_0[2] =
  43 {
  44 /*  0 */ { 6, s_0_0, -1, -1, 0},
  45 /*  1 */ { 5, s_0_1, -1, -1, 0}
  46 };
  47 
  48 static symbol s_1_0[1] = { '\'' };
  49 static symbol s_1_1[3] = { '\'', 's', '\'' };
  50 static symbol s_1_2[2] = { '\'', 's' };
  51 
  52 static struct among a_1[3] =
  53 {
  54 /*  0 */ { 1, s_1_0, -1, 1, 0},
  55 /*  1 */ { 3, s_1_1, 0, 1, 0},
  56 /*  2 */ { 2, s_1_2, -1, 1, 0}
  57 };
  58 
  59 static symbol s_2_0[3] = { 'i', 'e', 'd' };
  60 static symbol s_2_1[1] = { 's' };
  61 static symbol s_2_2[3] = { 'i', 'e', 's' };
  62 static symbol s_2_3[4] = { 's', 's', 'e', 's' };
  63 static symbol s_2_4[2] = { 's', 's' };
  64 static symbol s_2_5[2] = { 'u', 's' };
  65 
  66 static struct among a_2[6] =
  67 {
  68 /*  0 */ { 3, s_2_0, -1, 2, 0},
  69 /*  1 */ { 1, s_2_1, -1, 3, 0},
  70 /*  2 */ { 3, s_2_2, 1, 2, 0},
  71 /*  3 */ { 4, s_2_3, 1, 1, 0},
  72 /*  4 */ { 2, s_2_4, 1, -1, 0},
  73 /*  5 */ { 2, s_2_5, 1, -1, 0}
  74 };
  75 
  76 static symbol s_3_1[2] = { 'b', 'b' };
  77 static symbol s_3_2[2] = { 'd', 'd' };
  78 static symbol s_3_3[2] = { 'f', 'f' };
  79 static symbol s_3_4[2] = { 'g', 'g' };
  80 static symbol s_3_5[2] = { 'b', 'l' };
  81 static symbol s_3_6[2] = { 'm', 'm' };
  82 static symbol s_3_7[2] = { 'n', 'n' };
  83 static symbol s_3_8[2] = { 'p', 'p' };
  84 static symbol s_3_9[2] = { 'r', 'r' };
  85 static symbol s_3_10[2] = { 'a', 't' };
  86 static symbol s_3_11[2] = { 't', 't' };
  87 static symbol s_3_12[2] = { 'i', 'z' };
  88 
  89 static struct among a_3[13] =
  90 {
  91 /*  0 */ { 0, 0, -1, 3, 0},
  92 /*  1 */ { 2, s_3_1, 0, 2, 0},
  93 /*  2 */ { 2, s_3_2, 0, 2, 0},
  94 /*  3 */ { 2, s_3_3, 0, 2, 0},
  95 /*  4 */ { 2, s_3_4, 0, 2, 0},
  96 /*  5 */ { 2, s_3_5, 0, 1, 0},
  97 /*  6 */ { 2, s_3_6, 0, 2, 0},
  98 /*  7 */ { 2, s_3_7, 0, 2, 0},
  99 /*  8 */ { 2, s_3_8, 0, 2, 0},
 100 /*  9 */ { 2, s_3_9, 0, 2, 0},
 101 /* 10 */ { 2, s_3_10, 0, 1, 0},
 102 /* 11 */ { 2, s_3_11, 0, 2, 0},
 103 /* 12 */ { 2, s_3_12, 0, 1, 0}
 104 };
 105 
 106 static symbol s_4_0[2] = { 'e', 'd' };
 107 static symbol s_4_1[3] = { 'e', 'e', 'd' };
 108 static symbol s_4_2[3] = { 'i', 'n', 'g' };
 109 static symbol s_4_3[4] = { 'e', 'd', 'l', 'y' };
 110 static symbol s_4_4[5] = { 'e', 'e', 'd', 'l', 'y' };
 111 static symbol s_4_5[5] = { 'i', 'n', 'g', 'l', 'y' };
 112 
 113 static struct among a_4[6] =
 114 {
 115 /*  0 */ { 2, s_4_0, -1, 2, 0},
 116 /*  1 */ { 3, s_4_1, 0, 1, 0},
 117 /*  2 */ { 3, s_4_2, -1, 2, 0},
 118 /*  3 */ { 4, s_4_3, -1, 2, 0},
 119 /*  4 */ { 5, s_4_4, 3, 1, 0},
 120 /*  5 */ { 5, s_4_5, -1, 2, 0}
 121 };
 122 
 123 static symbol s_5_0[4] = { 'a', 'n', 'c', 'i' };
 124 static symbol s_5_1[4] = { 'e', 'n', 'c', 'i' };
 125 static symbol s_5_2[3] = { 'o', 'g', 'i' };
 126 static symbol s_5_3[2] = { 'l', 'i' };
 127 static symbol s_5_4[3] = { 'b', 'l', 'i' };
 128 static symbol s_5_5[4] = { 'a', 'b', 'l', 'i' };
 129 static symbol s_5_6[4] = { 'a', 'l', 'l', 'i' };
 130 static symbol s_5_7[5] = { 'f', 'u', 'l', 'l', 'i' };
 131 static symbol s_5_8[6] = { 'l', 'e', 's', 's', 'l', 'i' };
 132 static symbol s_5_9[5] = { 'o', 'u', 's', 'l', 'i' };
 133 static symbol s_5_10[5] = { 'e', 'n', 't', 'l', 'i' };
 134 static symbol s_5_11[5] = { 'a', 'l', 'i', 't', 'i' };
 135 static symbol s_5_12[6] = { 'b', 'i', 'l', 'i', 't', 'i' };
 136 static symbol s_5_13[5] = { 'i', 'v', 'i', 't', 'i' };
 137 static symbol s_5_14[6] = { 't', 'i', 'o', 'n', 'a', 'l' };
 138 static symbol s_5_15[7] = { 'a', 't', 'i', 'o', 'n', 'a', 'l' };
 139 static symbol s_5_16[5] = { 'a', 'l', 'i', 's', 'm' };
 140 static symbol s_5_17[5] = { 'a', 't', 'i', 'o', 'n' };
 141 static symbol s_5_18[7] = { 'i', 'z', 'a', 't', 'i', 'o', 'n' };
 142 static symbol s_5_19[4] = { 'i', 'z', 'e', 'r' };
 143 static symbol s_5_20[4] = { 'a', 't', 'o', 'r' };
 144 static symbol s_5_21[7] = { 'i', 'v', 'e', 'n', 'e', 's', 's' };
 145 static symbol s_5_22[7] = { 'f', 'u', 'l', 'n', 'e', 's', 's' };
 146 static symbol s_5_23[7] = { 'o', 'u', 's', 'n', 'e', 's', 's' };
 147 
 148 static struct among a_5[24] =
 149 {
 150 /*  0 */ { 4, s_5_0, -1, 3, 0},
 151 /*  1 */ { 4, s_5_1, -1, 2, 0},
 152 /*  2 */ { 3, s_5_2, -1, 13, 0},
 153 /*  3 */ { 2, s_5_3, -1, 16, 0},
 154 /*  4 */ { 3, s_5_4, 3, 12, 0},
 155 /*  5 */ { 4, s_5_5, 4, 4, 0},
 156 /*  6 */ { 4, s_5_6, 3, 8, 0},
 157 /*  7 */ { 5, s_5_7, 3, 14, 0},
 158 /*  8 */ { 6, s_5_8, 3, 15, 0},
 159 /*  9 */ { 5, s_5_9, 3, 10, 0},
 160 /* 10 */ { 5, s_5_10, 3, 5, 0},
 161 /* 11 */ { 5, s_5_11, -1, 8, 0},
 162 /* 12 */ { 6, s_5_12, -1, 12, 0},
 163 /* 13 */ { 5, s_5_13, -1, 11, 0},
 164 /* 14 */ { 6, s_5_14, -1, 1, 0},
 165 /* 15 */ { 7, s_5_15, 14, 7, 0},
 166 /* 16 */ { 5, s_5_16, -1, 8, 0},
 167 /* 17 */ { 5, s_5_17, -1, 7, 0},
 168 /* 18 */ { 7, s_5_18, 17, 6, 0},
 169 /* 19 */ { 4, s_5_19, -1, 6, 0},
 170 /* 20 */ { 4, s_5_20, -1, 7, 0},
 171 /* 21 */ { 7, s_5_21, -1, 11, 0},
 172 /* 22 */ { 7, s_5_22, -1, 9, 0},
 173 /* 23 */ { 7, s_5_23, -1, 10, 0}
 174 };
 175 
 176 static symbol s_6_0[5] = { 'i', 'c', 'a', 't', 'e' };
 177 static symbol s_6_1[5] = { 'a', 't', 'i', 'v', 'e' };
 178 static symbol s_6_2[5] = { 'a', 'l', 'i', 'z', 'e' };
 179 static symbol s_6_3[5] = { 'i', 'c', 'i', 't', 'i' };
 180 static symbol s_6_4[4] = { 'i', 'c', 'a', 'l' };
 181 static symbol s_6_5[6] = { 't', 'i', 'o', 'n', 'a', 'l' };
 182 static symbol s_6_6[7] = { 'a', 't', 'i', 'o', 'n', 'a', 'l' };
 183 /* static symbol s_6_7[3] = { 'f', 'u', 'l' }; */
 184 static symbol s_6_8[4] = { 'n', 'e', 's', 's' };
 185 
 186 static struct among a_6[8] =
 187 {
 188 /*  0 */ { 5, s_6_0, -1, 4, 0},
 189 /*  1 */ { 5, s_6_1, -1, 6, 0},
 190 /*  2 */ { 5, s_6_2, -1, 3, 0},
 191 /*  3 */ { 5, s_6_3, -1, 4, 0},
 192 /*  4 */ { 4, s_6_4, -1, 4, 0},
 193 /*  5 */ { 6, s_6_5, -1, 1, 0},
 194 /*  6 */ { 7, s_6_6, 5, 2, 0},
 195 /* I removed this because it was causing a bug on searching for the term
 196  * "beautiful" using "beautif*" in tracker-fts.c */
 197 /* *  7 * { 3, s_6_7, -1, 5, 0}, */
 198 /*  8 */ { 4, s_6_8, -1, 5, 0}
 199 };
 200 
 201 static symbol s_7_0[2] = { 'i', 'c' };
 202 static symbol s_7_1[4] = { 'a', 'n', 'c', 'e' };
 203 static symbol s_7_2[4] = { 'e', 'n', 'c', 'e' };
 204 static symbol s_7_3[4] = { 'a', 'b', 'l', 'e' };
 205 static symbol s_7_4[4] = { 'i', 'b', 'l', 'e' };
 206 static symbol s_7_5[3] = { 'a', 't', 'e' };
 207 static symbol s_7_6[3] = { 'i', 'v', 'e' };
 208 static symbol s_7_7[3] = { 'i', 'z', 'e' };
 209 static symbol s_7_8[3] = { 'i', 't', 'i' };
 210 static symbol s_7_9[2] = { 'a', 'l' };
 211 static symbol s_7_10[3] = { 'i', 's', 'm' };
 212 static symbol s_7_11[3] = { 'i', 'o', 'n' };
 213 static symbol s_7_12[2] = { 'e', 'r' };
 214 static symbol s_7_13[3] = { 'o', 'u', 's' };
 215 static symbol s_7_14[3] = { 'a', 'n', 't' };
 216 static symbol s_7_15[3] = { 'e', 'n', 't' };
 217 static symbol s_7_16[4] = { 'm', 'e', 'n', 't' };
 218 static symbol s_7_17[5] = { 'e', 'm', 'e', 'n', 't' };
 219 
 220 static struct among a_7[18] =
 221 {
 222 /*  0 */ { 2, s_7_0, -1, 1, 0},
 223 /*  1 */ { 4, s_7_1, -1, 1, 0},
 224 /*  2 */ { 4, s_7_2, -1, 1, 0},
 225 /*  3 */ { 4, s_7_3, -1, 1, 0},
 226 /*  4 */ { 4, s_7_4, -1, 1, 0},
 227 /*  5 */ { 3, s_7_5, -1, 1, 0},
 228 /*  6 */ { 3, s_7_6, -1, 1, 0},
 229 /*  7 */ { 3, s_7_7, -1, 1, 0},
 230 /*  8 */ { 3, s_7_8, -1, 1, 0},
 231 /*  9 */ { 2, s_7_9, -1, 1, 0},
 232 /* 10 */ { 3, s_7_10, -1, 1, 0},
 233 /* 11 */ { 3, s_7_11, -1, 2, 0},
 234 /* 12 */ { 2, s_7_12, -1, 1, 0},
 235 /* 13 */ { 3, s_7_13, -1, 1, 0},
 236 /* 14 */ { 3, s_7_14, -1, 1, 0},
 237 /* 15 */ { 3, s_7_15, -1, 1, 0},
 238 /* 16 */ { 4, s_7_16, 15, 1, 0},
 239 /* 17 */ { 5, s_7_17, 16, 1, 0}
 240 };
 241 
 242 static symbol s_8_0[1] = { 'e' };
 243 static symbol s_8_1[1] = { 'l' };
 244 
 245 static struct among a_8[2] =
 246 {
 247 /*  0 */ { 1, s_8_0, -1, 1, 0},
 248 /*  1 */ { 1, s_8_1, -1, 2, 0}
 249 };
 250 
 251 static symbol s_9_0[7] = { 's', 'u', 'c', 'c', 'e', 'e', 'd' };
 252 static symbol s_9_1[7] = { 'p', 'r', 'o', 'c', 'e', 'e', 'd' };
 253 static symbol s_9_2[6] = { 'e', 'x', 'c', 'e', 'e', 'd' };
 254 static symbol s_9_3[7] = { 'c', 'a', 'n', 'n', 'i', 'n', 'g' };
 255 static symbol s_9_4[6] = { 'i', 'n', 'n', 'i', 'n', 'g' };
 256 static symbol s_9_5[7] = { 'e', 'a', 'r', 'r', 'i', 'n', 'g' };
 257 static symbol s_9_6[7] = { 'h', 'e', 'r', 'r', 'i', 'n', 'g' };
 258 static symbol s_9_7[6] = { 'o', 'u', 't', 'i', 'n', 'g' };
 259 
 260 static struct among a_9[8] =
 261 {
 262 /*  0 */ { 7, s_9_0, -1, -1, 0},
 263 /*  1 */ { 7, s_9_1, -1, -1, 0},
 264 /*  2 */ { 6, s_9_2, -1, -1, 0},
 265 /*  3 */ { 7, s_9_3, -1, -1, 0},
 266 /*  4 */ { 6, s_9_4, -1, -1, 0},
 267 /*  5 */ { 7, s_9_5, -1, -1, 0},
 268 /*  6 */ { 7, s_9_6, -1, -1, 0},
 269 /*  7 */ { 6, s_9_7, -1, -1, 0}
 270 };
 271 
 272 static symbol s_10_0[5] = { 'a', 'n', 'd', 'e', 's' };
 273 static symbol s_10_1[5] = { 'a', 't', 'l', 'a', 's' };
 274 static symbol s_10_2[4] = { 'b', 'i', 'a', 's' };
 275 static symbol s_10_3[6] = { 'c', 'o', 's', 'm', 'o', 's' };
 276 static symbol s_10_4[5] = { 'd', 'y', 'i', 'n', 'g' };
 277 static symbol s_10_5[5] = { 'e', 'a', 'r', 'l', 'y' };
 278 static symbol s_10_6[6] = { 'g', 'e', 'n', 't', 'l', 'y' };
 279 static symbol s_10_7[4] = { 'h', 'o', 'w', 'e' };
 280 static symbol s_10_8[4] = { 'i', 'd', 'l', 'y' };
 281 static symbol s_10_9[5] = { 'l', 'y', 'i', 'n', 'g' };
 282 static symbol s_10_10[4] = { 'n', 'e', 'w', 's' };
 283 static symbol s_10_11[4] = { 'o', 'n', 'l', 'y' };
 284 static symbol s_10_12[6] = { 's', 'i', 'n', 'g', 'l', 'y' };
 285 static symbol s_10_13[5] = { 's', 'k', 'i', 'e', 's' };
 286 static symbol s_10_14[4] = { 's', 'k', 'i', 's' };
 287 static symbol s_10_15[3] = { 's', 'k', 'y' };
 288 static symbol s_10_16[5] = { 't', 'y', 'i', 'n', 'g' };
 289 static symbol s_10_17[4] = { 'u', 'g', 'l', 'y' };
 290 
 291 static struct among a_10[18] =
 292 {
 293 /*  0 */ { 5, s_10_0, -1, -1, 0},
 294 /*  1 */ { 5, s_10_1, -1, -1, 0},
 295 /*  2 */ { 4, s_10_2, -1, -1, 0},
 296 /*  3 */ { 6, s_10_3, -1, -1, 0},
 297 /*  4 */ { 5, s_10_4, -1, 3, 0},
 298 /*  5 */ { 5, s_10_5, -1, 9, 0},
 299 /*  6 */ { 6, s_10_6, -1, 7, 0},
 300 /*  7 */ { 4, s_10_7, -1, -1, 0},
 301 /*  8 */ { 4, s_10_8, -1, 6, 0},
 302 /*  9 */ { 5, s_10_9, -1, 4, 0},
 303 /* 10 */ { 4, s_10_10, -1, -1, 0},
 304 /* 11 */ { 4, s_10_11, -1, 10, 0},
 305 /* 12 */ { 6, s_10_12, -1, 11, 0},
 306 /* 13 */ { 5, s_10_13, -1, 2, 0},
 307 /* 14 */ { 4, s_10_14, -1, 1, 0},
 308 /* 15 */ { 3, s_10_15, -1, -1, 0},
 309 /* 16 */ { 5, s_10_16, -1, 5, 0},
 310 /* 17 */ { 4, s_10_17, -1, 8, 0}
 311 };
 312 
 313 static unsigned char g_v[] = { 17, 65, 16, 1 };
 314 
 315 static unsigned char g_v_WXY[] = { 1, 17, 65, 208, 1 };
 316 
 317 static unsigned char g_valid_LI[] = { 55, 141, 2 };
 318 
 319 static symbol s_0[] = { '\'' };
 320 static symbol s_1[] = { 'y' };
 321 static symbol s_2[] = { 'Y' };
 322 static symbol s_3[] = { 'y' };
 323 static symbol s_4[] = { 'Y' };
 324 static symbol s_5[] = { 's', 's' };
 325 static symbol s_6[] = { 'i' };
 326 static symbol s_7[] = { 'i', 'e' };
 327 static symbol s_8[] = { 'e', 'e' };
 328 static symbol s_9[] = { 'e' };
 329 static symbol s_10[] = { 'e' };
 330 static symbol s_11[] = { 'y' };
 331 static symbol s_12[] = { 'Y' };
 332 static symbol s_13[] = { 'i' };
 333 static symbol s_14[] = { 't', 'i', 'o', 'n' };
 334 static symbol s_15[] = { 'e', 'n', 'c', 'e' };
 335 static symbol s_16[] = { 'a', 'n', 'c', 'e' };
 336 static symbol s_17[] = { 'a', 'b', 'l', 'e' };
 337 static symbol s_18[] = { 'e', 'n', 't' };
 338 static symbol s_19[] = { 'i', 'z', 'e' };
 339 static symbol s_20[] = { 'a', 't', 'e' };
 340 static symbol s_21[] = { 'a', 'l' };
 341 static symbol s_22[] = { 'f', 'u', 'l' };
 342 static symbol s_23[] = { 'o', 'u', 's' };
 343 static symbol s_24[] = { 'i', 'v', 'e' };
 344 static symbol s_25[] = { 'b', 'l', 'e' };
 345 static symbol s_26[] = { 'l' };
 346 static symbol s_27[] = { 'o', 'g' };
 347 static symbol s_28[] = { 'f', 'u', 'l' };
 348 static symbol s_29[] = { 'l', 'e', 's', 's' };
 349 static symbol s_30[] = { 't', 'i', 'o', 'n' };
 350 static symbol s_31[] = { 'a', 't', 'e' };
 351 static symbol s_32[] = { 'a', 'l' };
 352 static symbol s_33[] = { 'i', 'c' };
 353 static symbol s_34[] = { 's' };
 354 static symbol s_35[] = { 't' };
 355 static symbol s_36[] = { 'l' };
 356 static symbol s_37[] = { 's', 'k', 'i' };
 357 static symbol s_38[] = { 's', 'k', 'y' };
 358 static symbol s_39[] = { 'd', 'i', 'e' };
 359 static symbol s_40[] = { 'l', 'i', 'e' };
 360 static symbol s_41[] = { 't', 'i', 'e' };
 361 static symbol s_42[] = { 'i', 'd', 'l' };
 362 static symbol s_43[] = { 'g', 'e', 'n', 't', 'l' };
 363 static symbol s_44[] = { 'u', 'g', 'l', 'i' };
 364 static symbol s_45[] = { 'e', 'a', 'r', 'l', 'i' };
 365 static symbol s_46[] = { 'o', 'n', 'l', 'i' };
 366 static symbol s_47[] = { 's', 'i', 'n', 'g', 'l' };
 367 static symbol s_48[] = { 'Y' };
 368 static symbol s_49[] = { 'y' };
 369 
 370 static int r_prelude(struct SN_env * z) {
 371     z->B[0] = 0; /* unset Y_found, line 26 */
 372     {	int c = z->c; /* do, line 27 */
 373 	z->bra = z->c; /* [, line 27 */
 374 	if (!(eq_s(z, 1, s_0))) goto lab0;
 375 	z->ket = z->c; /* ], line 27 */
 376 	{   int ret;
 377 	    ret = slice_del(z); /* delete, line 27 */
 378 	    if (ret < 0) return ret;
 379 	}
 380     lab0:
 381 	z->c = c;
 382     }
 383     {	int c = z->c; /* do, line 28 */
 384 	z->bra = z->c; /* [, line 28 */
 385 	if (!(eq_s(z, 1, s_1))) goto lab1;
 386 	z->ket = z->c; /* ], line 28 */
 387 	{   int ret;
 388 	    ret = slice_from_s(z, 1, s_2); /* <-, line 28 */
 389 	    if (ret < 0) return ret;
 390 	}
 391 	z->B[0] = 1; /* set Y_found, line 28 */
 392     lab1:
 393 	z->c = c;
 394     }
 395     {	int c = z->c; /* do, line 29 */
 396 	while(1) { /* repeat, line 29 */
 397 	    int c = z->c;
 398 	    while(1) { /* goto, line 29 */
 399 		int c = z->c;
 400 		if (!(in_grouping_U(z, g_v, 97, 121))) goto lab4;
 401 		z->bra = z->c; /* [, line 29 */
 402 		if (!(eq_s(z, 1, s_3))) goto lab4;
 403 		z->ket = z->c; /* ], line 29 */
 404 		z->c = c;
 405 		break;
 406 	    lab4:
 407 		z->c = c;
 408 		{   int c = skip_utf8(z->p, z->c, 0, z->l, 1);
 409 		    if (c < 0) goto lab3;
 410 		    z->c = c; /* goto, line 29 */
 411 		}
 412 	    }
 413 	    {	int ret;
 414 		ret = slice_from_s(z, 1, s_4); /* <-, line 29 */
 415 		if (ret < 0) return ret;
 416 	    }
 417 	    z->B[0] = 1; /* set Y_found, line 29 */
 418 	    continue;
 419 	lab3:
 420 	    z->c = c;
 421 	    break;
 422 	}
 423 	z->c = c;
 424     }
 425     return 1;
 426 }
 427 
 428 static int r_mark_regions(struct SN_env * z) {
 429     z->I[0] = z->l;
 430     z->I[1] = z->l;
 431     {	int c = z->c; /* do, line 35 */
 432 	{   int c = z->c; /* or, line 40 */
 433 	    if (!(find_among(z, a_0, 2))) goto lab2; /* among, line 36 */
 434 	    goto lab1;
 435 	lab2:
 436 	    z->c = c;
 437 	    while(1) { /* gopast, line 40 */
 438 		if (!(in_grouping_U(z, g_v, 97, 121))) goto lab3;
 439 		break;
 440 	    lab3:
 441 		{   int c = skip_utf8(z->p, z->c, 0, z->l, 1);
 442 		    if (c < 0) goto lab0;
 443 		    z->c = c; /* gopast, line 40 */
 444 		}
 445 	    }
 446 	    while(1) { /* gopast, line 40 */
 447 		if (!(out_grouping_U(z, g_v, 97, 121))) goto lab4;
 448 		break;
 449 	    lab4:
 450 		{   int c = skip_utf8(z->p, z->c, 0, z->l, 1);
 451 		    if (c < 0) goto lab0;
 452 		    z->c = c; /* gopast, line 40 */
 453 		}
 454 	    }
 455 	}
 456     lab1:
 457 	z->I[0] = z->c; /* setmark p1, line 41 */
 458 	while(1) { /* gopast, line 42 */
 459 	    if (!(in_grouping_U(z, g_v, 97, 121))) goto lab5;
 460 	    break;
 461 	lab5:
 462 	    {	int c = skip_utf8(z->p, z->c, 0, z->l, 1);
 463 		if (c < 0) goto lab0;
 464 		z->c = c; /* gopast, line 42 */
 465 	    }
 466 	}
 467 	while(1) { /* gopast, line 42 */
 468 	    if (!(out_grouping_U(z, g_v, 97, 121))) goto lab6;
 469 	    break;
 470 	lab6:
 471 	    {	int c = skip_utf8(z->p, z->c, 0, z->l, 1);
 472 		if (c < 0) goto lab0;
 473 		z->c = c; /* gopast, line 42 */
 474 	    }
 475 	}
 476 	z->I[1] = z->c; /* setmark p2, line 42 */
 477     lab0:
 478 	z->c = c;
 479     }
 480     return 1;
 481 }
 482 
 483 static int r_shortv(struct SN_env * z) {
 484     {	int m = z->l - z->c; (void) m; /* or, line 50 */
 485 	if (!(out_grouping_b_U(z, g_v_WXY, 89, 121))) goto lab1;
 486 	if (!(in_grouping_b_U(z, g_v, 97, 121))) goto lab1;
 487 	if (!(out_grouping_b_U(z, g_v, 97, 121))) goto lab1;
 488 	goto lab0;
 489     lab1:
 490 	z->c = z->l - m;
 491 	if (!(out_grouping_b_U(z, g_v, 97, 121))) return 0;
 492 	if (!(in_grouping_b_U(z, g_v, 97, 121))) return 0;
 493 	if (z->c > z->lb) return 0; /* atlimit, line 51 */
 494     }
 495 lab0:
 496     return 1;
 497 }
 498 
 499 static int r_R1(struct SN_env * z) {
 500     if (!(z->I[0] <= z->c)) return 0;
 501     return 1;
 502 }
 503 
 504 static int r_R2(struct SN_env * z) {
 505     if (!(z->I[1] <= z->c)) return 0;
 506     return 1;
 507 }
 508 
 509 static int r_Step_1a(struct SN_env * z) {
 510     int among_var;
 511     {	int m = z->l - z->c; (void) m; /* try, line 58 */
 512 	z->ket = z->c; /* [, line 59 */
 513 	among_var = find_among_b(z, a_1, 3); /* substring, line 59 */
 514 	if (!(among_var)) { z->c = z->l - m; goto lab0; }
 515 	z->bra = z->c; /* ], line 59 */
 516 	switch(among_var) {
 517 	    case 0: { z->c = z->l - m; goto lab0; }
 518 	    case 1:
 519 		{   int ret;
 520 		    ret = slice_del(z); /* delete, line 61 */
 521 		    if (ret < 0) return ret;
 522 		}
 523 		break;
 524 	}
 525     lab0:
 526 	;
 527     }
 528     z->ket = z->c; /* [, line 64 */
 529     among_var = find_among_b(z, a_2, 6); /* substring, line 64 */
 530     if (!(among_var)) return 0;
 531     z->bra = z->c; /* ], line 64 */
 532     switch(among_var) {
 533 	case 0: return 0;
 534 	case 1:
 535 	    {	int ret;
 536 		ret = slice_from_s(z, 2, s_5); /* <-, line 65 */
 537 		if (ret < 0) return ret;
 538 	    }
 539 	    break;
 540 	case 2:
 541 	    {	int m = z->l - z->c; (void) m; /* or, line 67 */
 542 		{   int c = skip_utf8(z->p, z->c, z->lb, z->l, - 2);
 543 		    if (c < 0) goto lab2;
 544 		    z->c = c; /* hop, line 67 */
 545 		}
 546 		{   int ret;
 547 		    ret = slice_from_s(z, 1, s_6); /* <-, line 67 */
 548 		    if (ret < 0) return ret;
 549 		}
 550 		goto lab1;
 551 	    lab2:
 552 		z->c = z->l - m;
 553 		{   int ret;
 554 		    ret = slice_from_s(z, 2, s_7); /* <-, line 67 */
 555 		    if (ret < 0) return ret;
 556 		}
 557 	    }
 558 	lab1:
 559 	    break;
 560 	case 3:
 561 	    {	int c = skip_utf8(z->p, z->c, z->lb, 0, -1);
 562 		if (c < 0) return 0;
 563 		z->c = c; /* next, line 68 */
 564 	    }
 565 	    while(1) { /* gopast, line 68 */
 566 		if (!(in_grouping_b_U(z, g_v, 97, 121))) goto lab3;
 567 		break;
 568 	    lab3:
 569 		{   int c = skip_utf8(z->p, z->c, z->lb, 0, -1);
 570 		    if (c < 0) return 0;
 571 		    z->c = c; /* gopast, line 68 */
 572 		}
 573 	    }
 574 	    {	int ret;
 575 		ret = slice_del(z); /* delete, line 68 */
 576 		if (ret < 0) return ret;
 577 	    }
 578 	    break;
 579     }
 580     return 1;
 581 }
 582 
 583 static int r_Step_1b(struct SN_env * z) {
 584     int among_var;
 585     z->ket = z->c; /* [, line 74 */
 586     among_var = find_among_b(z, a_4, 6); /* substring, line 74 */
 587     if (!(among_var)) return 0;
 588     z->bra = z->c; /* ], line 74 */
 589     switch(among_var) {
 590 	case 0: return 0;
 591 	case 1:
 592 	    {	int ret = r_R1(z);
 593 		if (ret == 0) return 0; /* call R1, line 76 */
 594 		if (ret < 0) return ret;
 595 	    }
 596 	    {	int ret;
 597 		ret = slice_from_s(z, 2, s_8); /* <-, line 76 */
 598 		if (ret < 0) return ret;
 599 	    }
 600 	    break;
 601 	case 2:
 602 	    {	int m_test = z->l - z->c; /* test, line 79 */
 603 		while(1) { /* gopast, line 79 */
 604 		    if (!(in_grouping_b_U(z, g_v, 97, 121))) goto lab0;
 605 		    break;
 606 		lab0:
 607 		    {	int c = skip_utf8(z->p, z->c, z->lb, 0, -1);
 608 			if (c < 0) return 0;
 609 			z->c = c; /* gopast, line 79 */
 610 		    }
 611 		}
 612 		z->c = z->l - m_test;
 613 	    }
 614 	    {	int ret;
 615 		ret = slice_del(z); /* delete, line 79 */
 616 		if (ret < 0) return ret;
 617 	    }
 618 	    {	int m_test = z->l - z->c; /* test, line 80 */
 619 		among_var = find_among_b(z, a_3, 13); /* substring, line 80 */
 620 		if (!(among_var)) return 0;
 621 		z->c = z->l - m_test;
 622 	    }
 623 	    switch(among_var) {
 624 		case 0: return 0;
 625 		case 1:
 626 		    {	int ret;
 627 			{   int c = z->c;
 628 			    ret = insert_s(z, z->c, z->c, 1, s_9); /* <+, line 82 */
 629 			    z->c = c;
 630 			}
 631 			if (ret < 0) return ret;
 632 		    }
 633 		    break;
 634 		case 2:
 635 		    z->ket = z->c; /* [, line 85 */
 636 		    {	int c = skip_utf8(z->p, z->c, z->lb, 0, -1);
 637 			if (c < 0) return 0;
 638 			z->c = c; /* next, line 85 */
 639 		    }
 640 		    z->bra = z->c; /* ], line 85 */
 641 		    {	int ret;
 642 			ret = slice_del(z); /* delete, line 85 */
 643 			if (ret < 0) return ret;
 644 		    }
 645 		    break;
 646 		case 3:
 647 		    if (z->c != z->I[0]) return 0; /* atmark, line 86 */
 648 		    {	int m_test = z->l - z->c; /* test, line 86 */
 649 			{   int ret = r_shortv(z);
 650 			    if (ret == 0) return 0; /* call shortv, line 86 */
 651 			    if (ret < 0) return ret;
 652 			}
 653 			z->c = z->l - m_test;
 654 		    }
 655 		    {	int ret;
 656 			{   int c = z->c;
 657 			    ret = insert_s(z, z->c, z->c, 1, s_10); /* <+, line 86 */
 658 			    z->c = c;
 659 			}
 660 			if (ret < 0) return ret;
 661 		    }
 662 		    break;
 663 	    }
 664 	    break;
 665     }
 666     return 1;
 667 }
 668 
 669 static int r_Step_1c(struct SN_env * z) {
 670     z->ket = z->c; /* [, line 93 */
 671     {	int m = z->l - z->c; (void) m; /* or, line 93 */
 672 	if (!(eq_s_b(z, 1, s_11))) goto lab1;
 673 	goto lab0;
 674     lab1:
 675 	z->c = z->l - m;
 676 	if (!(eq_s_b(z, 1, s_12))) return 0;
 677     }
 678 lab0:
 679     z->bra = z->c; /* ], line 93 */
 680     if (!(out_grouping_b_U(z, g_v, 97, 121))) return 0;
 681     {	int m = z->l - z->c; (void) m; /* not, line 94 */
 682 	if (z->c > z->lb) goto lab2; /* atlimit, line 94 */
 683 	return 0;
 684     lab2:
 685 	z->c = z->l - m;
 686     }
 687     {	int ret;
 688 	ret = slice_from_s(z, 1, s_13); /* <-, line 95 */
 689 	if (ret < 0) return ret;
 690     }
 691     return 1;
 692 }
 693 
 694 static int r_Step_2(struct SN_env * z) {
 695     int among_var;
 696     z->ket = z->c; /* [, line 99 */
 697     among_var = find_among_b(z, a_5, 24); /* substring, line 99 */
 698     if (!(among_var)) return 0;
 699     z->bra = z->c; /* ], line 99 */
 700     {	int ret = r_R1(z);
 701 	if (ret == 0) return 0; /* call R1, line 99 */
 702 	if (ret < 0) return ret;
 703     }
 704     switch(among_var) {
 705 	case 0: return 0;
 706 	case 1:
 707 	    {	int ret;
 708 		ret = slice_from_s(z, 4, s_14); /* <-, line 100 */
 709 		if (ret < 0) return ret;
 710 	    }
 711 	    break;
 712 	case 2:
 713 	    {	int ret;
 714 		ret = slice_from_s(z, 4, s_15); /* <-, line 101 */
 715 		if (ret < 0) return ret;
 716 	    }
 717 	    break;
 718 	case 3:
 719 	    {	int ret;
 720 		ret = slice_from_s(z, 4, s_16); /* <-, line 102 */
 721 		if (ret < 0) return ret;
 722 	    }
 723 	    break;
 724 	case 4:
 725 	    {	int ret;
 726 		ret = slice_from_s(z, 4, s_17); /* <-, line 103 */
 727 		if (ret < 0) return ret;
 728 	    }
 729 	    break;
 730 	case 5:
 731 	    {	int ret;
 732 		ret = slice_from_s(z, 3, s_18); /* <-, line 104 */
 733 		if (ret < 0) return ret;
 734 	    }
 735 	    break;
 736 	case 6:
 737 	    {	int ret;
 738 		ret = slice_from_s(z, 3, s_19); /* <-, line 106 */
 739 		if (ret < 0) return ret;
 740 	    }
 741 	    break;
 742 	case 7:
 743 	    {	int ret;
 744 		ret = slice_from_s(z, 3, s_20); /* <-, line 108 */
 745 		if (ret < 0) return ret;
 746 	    }
 747 	    break;
 748 	case 8:
 749 	    {	int ret;
 750 		ret = slice_from_s(z, 2, s_21); /* <-, line 110 */
 751 		if (ret < 0) return ret;
 752 	    }
 753 	    break;
 754 	case 9:
 755 	    {	int ret;
 756 		ret = slice_from_s(z, 3, s_22); /* <-, line 111 */
 757 		if (ret < 0) return ret;
 758 	    }
 759 	    break;
 760 	case 10:
 761 	    {	int ret;
 762 		ret = slice_from_s(z, 3, s_23); /* <-, line 113 */
 763 		if (ret < 0) return ret;
 764 	    }
 765 	    break;
 766 	case 11:
 767 	    {	int ret;
 768 		ret = slice_from_s(z, 3, s_24); /* <-, line 115 */
 769 		if (ret < 0) return ret;
 770 	    }
 771 	    break;
 772 	case 12:
 773 	    {	int ret;
 774 		ret = slice_from_s(z, 3, s_25); /* <-, line 117 */
 775 		if (ret < 0) return ret;
 776 	    }
 777 	    break;
 778 	case 13:
 779 	    if (!(eq_s_b(z, 1, s_26))) return 0;
 780 	    {	int ret;
 781 		ret = slice_from_s(z, 2, s_27); /* <-, line 118 */
 782 		if (ret < 0) return ret;
 783 	    }
 784 	    break;
 785 	case 14:
 786 	    {	int ret;
 787 		ret = slice_from_s(z, 3, s_28); /* <-, line 119 */
 788 		if (ret < 0) return ret;
 789 	    }
 790 	    break;
 791 	case 15:
 792 	    {	int ret;
 793 		ret = slice_from_s(z, 4, s_29); /* <-, line 120 */
 794 		if (ret < 0) return ret;
 795 	    }
 796 	    break;
 797 	case 16:
 798 	    if (!(in_grouping_b_U(z, g_valid_LI, 99, 116))) return 0;
 799 	    {	int ret;
 800 		ret = slice_del(z); /* delete, line 121 */
 801 		if (ret < 0) return ret;
 802 	    }
 803 	    break;
 804     }
 805     return 1;
 806 }
 807 
 808 static int r_Step_3(struct SN_env * z) {
 809     int among_var;
 810     z->ket = z->c; /* [, line 126 */
 811     among_var = find_among_b(z, a_6, 8); /* substring, line 126 */
 812     if (!(among_var)) return 0;
 813     z->bra = z->c; /* ], line 126 */
 814     {	int ret = r_R1(z);
 815 	if (ret == 0) return 0; /* call R1, line 126 */
 816 	if (ret < 0) return ret;
 817     }
 818     switch(among_var) {
 819 	case 0: return 0;
 820 	case 1:
 821 	    {	int ret;
 822 		ret = slice_from_s(z, 4, s_30); /* <-, line 127 */
 823 		if (ret < 0) return ret;
 824 	    }
 825 	    break;
 826 	case 2:
 827 	    {	int ret;
 828 		ret = slice_from_s(z, 3, s_31); /* <-, line 128 */
 829 		if (ret < 0) return ret;
 830 	    }
 831 	    break;
 832 	case 3:
 833 	    {	int ret;
 834 		ret = slice_from_s(z, 2, s_32); /* <-, line 129 */
 835 		if (ret < 0) return ret;
 836 	    }
 837 	    break;
 838 	case 4:
 839 	    {	int ret;
 840 		ret = slice_from_s(z, 2, s_33); /* <-, line 131 */
 841 		if (ret < 0) return ret;
 842 	    }
 843 	    break;
 844 	case 5:
 845 	    {	int ret;
 846 		ret = slice_del(z); /* delete, line 133 */
 847 		if (ret < 0) return ret;
 848 	    }
 849 	    break;
 850 	case 6:
 851 	    {	int ret = r_R2(z);
 852 		if (ret == 0) return 0; /* call R2, line 135 */
 853 		if (ret < 0) return ret;
 854 	    }
 855 	    {	int ret;
 856 		ret = slice_del(z); /* delete, line 135 */
 857 		if (ret < 0) return ret;
 858 	    }
 859 	    break;
 860     }
 861     return 1;
 862 }
 863 
 864 static int r_Step_4(struct SN_env * z) {
 865     int among_var;
 866     z->ket = z->c; /* [, line 140 */
 867     among_var = find_among_b(z, a_7, 18); /* substring, line 140 */
 868     if (!(among_var)) return 0;
 869     z->bra = z->c; /* ], line 140 */
 870     {	int ret = r_R2(z);
 871 	if (ret == 0) return 0; /* call R2, line 140 */
 872 	if (ret < 0) return ret;
 873     }
 874     switch(among_var) {
 875 	case 0: return 0;
 876 	case 1:
 877 	    {	int ret;
 878 		ret = slice_del(z); /* delete, line 143 */
 879 		if (ret < 0) return ret;
 880 	    }
 881 	    break;
 882 	case 2:
 883 	    {	int m = z->l - z->c; (void) m; /* or, line 144 */
 884 		if (!(eq_s_b(z, 1, s_34))) goto lab1;
 885 		goto lab0;
 886 	    lab1:
 887 		z->c = z->l - m;
 888 		if (!(eq_s_b(z, 1, s_35))) return 0;
 889 	    }
 890 	lab0:
 891 	    {	int ret;
 892 		ret = slice_del(z); /* delete, line 144 */
 893 		if (ret < 0) return ret;
 894 	    }
 895 	    break;
 896     }
 897     return 1;
 898 }
 899 
 900 static int r_Step_5(struct SN_env * z) {
 901     int among_var;
 902     z->ket = z->c; /* [, line 149 */
 903     among_var = find_among_b(z, a_8, 2); /* substring, line 149 */
 904     if (!(among_var)) return 0;
 905     z->bra = z->c; /* ], line 149 */
 906     switch(among_var) {
 907 	case 0: return 0;
 908 	case 1:
 909 	    {	int m = z->l - z->c; (void) m; /* or, line 150 */
 910 		{   int ret = r_R2(z);
 911 		    if (ret == 0) goto lab1; /* call R2, line 150 */
 912 		    if (ret < 0) return ret;
 913 		}
 914 		goto lab0;
 915 	    lab1:
 916 		z->c = z->l - m;
 917 		{   int ret = r_R1(z);
 918 		    if (ret == 0) return 0; /* call R1, line 150 */
 919 		    if (ret < 0) return ret;
 920 		}
 921 		{   int m = z->l - z->c; (void) m; /* not, line 150 */
 922 		    {	int ret = r_shortv(z);
 923 			if (ret == 0) goto lab2; /* call shortv, line 150 */
 924 			if (ret < 0) return ret;
 925 		    }
 926 		    return 0;
 927 		lab2:
 928 		    z->c = z->l - m;
 929 		}
 930 	    }
 931 	lab0:
 932 	    {	int ret;
 933 		ret = slice_del(z); /* delete, line 150 */
 934 		if (ret < 0) return ret;
 935 	    }
 936 	    break;
 937 	case 2:
 938 	    {	int ret = r_R2(z);
 939 		if (ret == 0) return 0; /* call R2, line 151 */
 940 		if (ret < 0) return ret;
 941 	    }
 942 	    if (!(eq_s_b(z, 1, s_36))) return 0;
 943 	    {	int ret;
 944 		ret = slice_del(z); /* delete, line 151 */
 945 		if (ret < 0) return ret;
 946 	    }
 947 	    break;
 948     }
 949     return 1;
 950 }
 951 
 952 static int r_exception2(struct SN_env * z) {
 953     z->ket = z->c; /* [, line 157 */
 954     if (!(find_among_b(z, a_9, 8))) return 0; /* substring, line 157 */
 955     z->bra = z->c; /* ], line 157 */
 956     if (z->c > z->lb) return 0; /* atlimit, line 157 */
 957     return 1;
 958 }
 959 
 960 static int r_exception1(struct SN_env * z) {
 961     int among_var;
 962     z->bra = z->c; /* [, line 169 */
 963     among_var = find_among(z, a_10, 18); /* substring, line 169 */
 964     if (!(among_var)) return 0;
 965     z->ket = z->c; /* ], line 169 */
 966     if (z->c < z->l) return 0; /* atlimit, line 169 */
 967     switch(among_var) {
 968 	case 0: return 0;
 969 	case 1:
 970 	    {	int ret;
 971 		ret = slice_from_s(z, 3, s_37); /* <-, line 173 */
 972 		if (ret < 0) return ret;
 973 	    }
 974 	    break;
 975 	case 2:
 976 	    {	int ret;
 977 		ret = slice_from_s(z, 3, s_38); /* <-, line 174 */
 978 		if (ret < 0) return ret;
 979 	    }
 980 	    break;
 981 	case 3:
 982 	    {	int ret;
 983 		ret = slice_from_s(z, 3, s_39); /* <-, line 175 */
 984 		if (ret < 0) return ret;
 985 	    }
 986 	    break;
 987 	case 4:
 988 	    {	int ret;
 989 		ret = slice_from_s(z, 3, s_40); /* <-, line 176 */
 990 		if (ret < 0) return ret;
 991 	    }
 992 	    break;
 993 	case 5:
 994 	    {	int ret;
 995 		ret = slice_from_s(z, 3, s_41); /* <-, line 177 */
 996 		if (ret < 0) return ret;
 997 	    }
 998 	    break;
 999 	case 6:
1000 	    {	int ret;
1001 		ret = slice_from_s(z, 3, s_42); /* <-, line 181 */
1002 		if (ret < 0) return ret;
1003 	    }
1004 	    break;
1005 	case 7:
1006 	    {	int ret;
1007 		ret = slice_from_s(z, 5, s_43); /* <-, line 182 */
1008 		if (ret < 0) return ret;
1009 	    }
1010 	    break;
1011 	case 8:
1012 	    {	int ret;
1013 		ret = slice_from_s(z, 4, s_44); /* <-, line 183 */
1014 		if (ret < 0) return ret;
1015 	    }
1016 	    break;
1017 	case 9:
1018 	    {	int ret;
1019 		ret = slice_from_s(z, 5, s_45); /* <-, line 184 */
1020 		if (ret < 0) return ret;
1021 	    }
1022 	    break;
1023 	case 10:
1024 	    {	int ret;
1025 		ret = slice_from_s(z, 4, s_46); /* <-, line 185 */
1026 		if (ret < 0) return ret;
1027 	    }
1028 	    break;
1029 	case 11:
1030 	    {	int ret;
1031 		ret = slice_from_s(z, 5, s_47); /* <-, line 186 */
1032 		if (ret < 0) return ret;
1033 	    }
1034 	    break;
1035     }
1036     return 1;
1037 }
1038 
1039 static int r_postlude(struct SN_env * z) {
1040     if (!(z->B[0])) return 0; /* Boolean test Y_found, line 202 */
1041     while(1) { /* repeat, line 202 */
1042 	int c = z->c;
1043 	while(1) { /* goto, line 202 */
1044 	    int c = z->c;
1045 	    z->bra = z->c; /* [, line 202 */
1046 	    if (!(eq_s(z, 1, s_48))) goto lab1;
1047 	    z->ket = z->c; /* ], line 202 */
1048 	    z->c = c;
1049 	    break;
1050 	lab1:
1051 	    z->c = c;
1052 	    {	int c = skip_utf8(z->p, z->c, 0, z->l, 1);
1053 		if (c < 0) goto lab0;
1054 		z->c = c; /* goto, line 202 */
1055 	    }
1056 	}
1057 	{   int ret;
1058 	    ret = slice_from_s(z, 1, s_49); /* <-, line 202 */
1059 	    if (ret < 0) return ret;
1060 	}
1061 	continue;
1062     lab0:
1063 	z->c = c;
1064 	break;
1065     }
1066     return 1;
1067 }
1068 
1069 extern int english_UTF_8_stem(struct SN_env * z) {
1070     {	int c = z->c; /* or, line 206 */
1071 	{   int ret = r_exception1(z);
1072 	    if (ret == 0) goto lab1; /* call exception1, line 206 */
1073 	    if (ret < 0) return ret;
1074 	}
1075 	goto lab0;
1076     lab1:
1077 	z->c = c;
1078 	{   int c = z->c; /* not, line 207 */
1079 	    {	int c = skip_utf8(z->p, z->c, 0, z->l, + 3);
1080 		if (c < 0) goto lab3;
1081 		z->c = c; /* hop, line 207 */
1082 	    }
1083 	    goto lab2;
1084 	lab3:
1085 	    z->c = c;
1086 	}
1087 	goto lab0;
1088     lab2:
1089 	z->c = c;
1090 	{   int c = z->c; /* do, line 208 */
1091 	    {	int ret = r_prelude(z);
1092 		if (ret == 0) goto lab4; /* call prelude, line 208 */
1093 		if (ret < 0) return ret;
1094 	    }
1095 	lab4:
1096 	    z->c = c;
1097 	}
1098 	{   int c = z->c; /* do, line 209 */
1099 	    {	int ret = r_mark_regions(z);
1100 		if (ret == 0) goto lab5; /* call mark_regions, line 209 */
1101 		if (ret < 0) return ret;
1102 	    }
1103 	lab5:
1104 	    z->c = c;
1105 	}
1106 	z->lb = z->c; z->c = z->l; /* backwards, line 210 */
1107 
1108 	{   int m = z->l - z->c; (void) m; /* do, line 212 */
1109 	    {	int ret = r_Step_1a(z);
1110 		if (ret == 0) goto lab6; /* call Step_1a, line 212 */
1111 		if (ret < 0) return ret;
1112 	    }
1113 	lab6:
1114 	    z->c = z->l - m;
1115 	}
1116 	{   int m = z->l - z->c; (void) m; /* or, line 214 */
1117 	    {	int ret = r_exception2(z);
1118 		if (ret == 0) goto lab8; /* call exception2, line 214 */
1119 		if (ret < 0) return ret;
1120 	    }
1121 	    goto lab7;
1122 	lab8:
1123 	    z->c = z->l - m;
1124 	    {	int m = z->l - z->c; (void) m; /* do, line 216 */
1125 		{   int ret = r_Step_1b(z);
1126 		    if (ret == 0) goto lab9; /* call Step_1b, line 216 */
1127 		    if (ret < 0) return ret;
1128 		}
1129 	    lab9:
1130 		z->c = z->l - m;
1131 	    }
1132 	    {	int m = z->l - z->c; (void) m; /* do, line 217 */
1133 		{   int ret = r_Step_1c(z);
1134 		    if (ret == 0) goto lab10; /* call Step_1c, line 217 */
1135 		    if (ret < 0) return ret;
1136 		}
1137 	    lab10:
1138 		z->c = z->l - m;
1139 	    }
1140 	    {	int m = z->l - z->c; (void) m; /* do, line 219 */
1141 		{   int ret = r_Step_2(z);
1142 		    if (ret == 0) goto lab11; /* call Step_2, line 219 */
1143 		    if (ret < 0) return ret;
1144 		}
1145 	    lab11:
1146 		z->c = z->l - m;
1147 	    }
1148 	    {	int m = z->l - z->c; (void) m; /* do, line 220 */
1149 		{   int ret = r_Step_3(z);
1150 		    if (ret == 0) goto lab12; /* call Step_3, line 220 */
1151 		    if (ret < 0) return ret;
1152 		}
1153 	    lab12:
1154 		z->c = z->l - m;
1155 	    }
1156 	    {	int m = z->l - z->c; (void) m; /* do, line 221 */
1157 		{   int ret = r_Step_4(z);
1158 		    if (ret == 0) goto lab13; /* call Step_4, line 221 */
1159 		    if (ret < 0) return ret;
1160 		}
1161 	    lab13:
1162 		z->c = z->l - m;
1163 	    }
1164 	    {	int m = z->l - z->c; (void) m; /* do, line 223 */
1165 		{   int ret = r_Step_5(z);
1166 		    if (ret == 0) goto lab14; /* call Step_5, line 223 */
1167 		    if (ret < 0) return ret;
1168 		}
1169 	    lab14:
1170 		z->c = z->l - m;
1171 	    }
1172 	}
1173     lab7:
1174 	z->c = z->lb;
1175 	{   int c = z->c; /* do, line 226 */
1176 	    {	int ret = r_postlude(z);
1177 		if (ret == 0) goto lab15; /* call postlude, line 226 */
1178 		if (ret < 0) return ret;
1179 	    }
1180 	lab15:
1181 	    z->c = c;
1182 	}
1183     }
1184 lab0:
1185     return 1;
1186 }
1187 
1188 extern struct SN_env * english_UTF_8_create_env(void) { return SN_create_env(0, 2, 1); }
1189 
1190 extern void english_UTF_8_close_env(struct SN_env * z) { SN_close_env(z); }