tracker-0.16.2/src/libstemmer/stem_UTF_8_spanish.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 spanish_UTF_8_stem(struct SN_env * z);
  20 static int r_residual_suffix(struct SN_env * z);
  21 static int r_verb_suffix(struct SN_env * z);
  22 static int r_y_verb_suffix(struct SN_env * z);
  23 static int r_standard_suffix(struct SN_env * z);
  24 static int r_attached_pronoun(struct SN_env * z);
  25 static int r_R2(struct SN_env * z);
  26 static int r_R1(struct SN_env * z);
  27 static int r_RV(struct SN_env * z);
  28 static int r_mark_regions(struct SN_env * z);
  29 static int r_postlude(struct SN_env * z);
  30 
  31 extern struct SN_env * spanish_UTF_8_create_env(void);
  32 extern void spanish_UTF_8_close_env(struct SN_env * z);
  33 
  34 static symbol s_0_1[2] = { 0xC3, 0xA1 };
  35 static symbol s_0_2[2] = { 0xC3, 0xA9 };
  36 static symbol s_0_3[2] = { 0xC3, 0xAD };
  37 static symbol s_0_4[2] = { 0xC3, 0xB3 };
  38 static symbol s_0_5[2] = { 0xC3, 0xBA };
  39 
  40 static struct among a_0[6] =
  41 {
  42 /*  0 */ { 0, 0, -1, 6, 0},
  43 /*  1 */ { 2, s_0_1, 0, 1, 0},
  44 /*  2 */ { 2, s_0_2, 0, 2, 0},
  45 /*  3 */ { 2, s_0_3, 0, 3, 0},
  46 /*  4 */ { 2, s_0_4, 0, 4, 0},
  47 /*  5 */ { 2, s_0_5, 0, 5, 0}
  48 };
  49 
  50 static symbol s_1_0[2] = { 'l', 'a' };
  51 static symbol s_1_1[4] = { 's', 'e', 'l', 'a' };
  52 static symbol s_1_2[2] = { 'l', 'e' };
  53 static symbol s_1_3[2] = { 'm', 'e' };
  54 static symbol s_1_4[2] = { 's', 'e' };
  55 static symbol s_1_5[2] = { 'l', 'o' };
  56 static symbol s_1_6[4] = { 's', 'e', 'l', 'o' };
  57 static symbol s_1_7[3] = { 'l', 'a', 's' };
  58 static symbol s_1_8[5] = { 's', 'e', 'l', 'a', 's' };
  59 static symbol s_1_9[3] = { 'l', 'e', 's' };
  60 static symbol s_1_10[3] = { 'l', 'o', 's' };
  61 static symbol s_1_11[5] = { 's', 'e', 'l', 'o', 's' };
  62 static symbol s_1_12[3] = { 'n', 'o', 's' };
  63 
  64 static struct among a_1[13] =
  65 {
  66 /*  0 */ { 2, s_1_0, -1, -1, 0},
  67 /*  1 */ { 4, s_1_1, 0, -1, 0},
  68 /*  2 */ { 2, s_1_2, -1, -1, 0},
  69 /*  3 */ { 2, s_1_3, -1, -1, 0},
  70 /*  4 */ { 2, s_1_4, -1, -1, 0},
  71 /*  5 */ { 2, s_1_5, -1, -1, 0},
  72 /*  6 */ { 4, s_1_6, 5, -1, 0},
  73 /*  7 */ { 3, s_1_7, -1, -1, 0},
  74 /*  8 */ { 5, s_1_8, 7, -1, 0},
  75 /*  9 */ { 3, s_1_9, -1, -1, 0},
  76 /* 10 */ { 3, s_1_10, -1, -1, 0},
  77 /* 11 */ { 5, s_1_11, 10, -1, 0},
  78 /* 12 */ { 3, s_1_12, -1, -1, 0}
  79 };
  80 
  81 static symbol s_2_0[4] = { 'a', 'n', 'd', 'o' };
  82 static symbol s_2_1[5] = { 'i', 'e', 'n', 'd', 'o' };
  83 static symbol s_2_2[5] = { 'y', 'e', 'n', 'd', 'o' };
  84 static symbol s_2_3[5] = { 0xC3, 0xA1, 'n', 'd', 'o' };
  85 static symbol s_2_4[6] = { 'i', 0xC3, 0xA9, 'n', 'd', 'o' };
  86 static symbol s_2_5[2] = { 'a', 'r' };
  87 static symbol s_2_6[2] = { 'e', 'r' };
  88 static symbol s_2_7[2] = { 'i', 'r' };
  89 static symbol s_2_8[3] = { 0xC3, 0xA1, 'r' };
  90 static symbol s_2_9[3] = { 0xC3, 0xA9, 'r' };
  91 static symbol s_2_10[3] = { 0xC3, 0xAD, 'r' };
  92 
  93 static struct among a_2[11] =
  94 {
  95 /*  0 */ { 4, s_2_0, -1, 6, 0},
  96 /*  1 */ { 5, s_2_1, -1, 6, 0},
  97 /*  2 */ { 5, s_2_2, -1, 7, 0},
  98 /*  3 */ { 5, s_2_3, -1, 2, 0},
  99 /*  4 */ { 6, s_2_4, -1, 1, 0},
 100 /*  5 */ { 2, s_2_5, -1, 6, 0},
 101 /*  6 */ { 2, s_2_6, -1, 6, 0},
 102 /*  7 */ { 2, s_2_7, -1, 6, 0},
 103 /*  8 */ { 3, s_2_8, -1, 3, 0},
 104 /*  9 */ { 3, s_2_9, -1, 4, 0},
 105 /* 10 */ { 3, s_2_10, -1, 5, 0}
 106 };
 107 
 108 static symbol s_3_0[2] = { 'i', 'c' };
 109 static symbol s_3_1[2] = { 'a', 'd' };
 110 static symbol s_3_2[2] = { 'o', 's' };
 111 static symbol s_3_3[2] = { 'i', 'v' };
 112 
 113 static struct among a_3[4] =
 114 {
 115 /*  0 */ { 2, s_3_0, -1, -1, 0},
 116 /*  1 */ { 2, s_3_1, -1, -1, 0},
 117 /*  2 */ { 2, s_3_2, -1, -1, 0},
 118 /*  3 */ { 2, s_3_3, -1, 1, 0}
 119 };
 120 
 121 static symbol s_4_0[4] = { 'a', 'b', 'l', 'e' };
 122 static symbol s_4_1[4] = { 'i', 'b', 'l', 'e' };
 123 static symbol s_4_2[4] = { 'a', 'n', 't', 'e' };
 124 
 125 static struct among a_4[3] =
 126 {
 127 /*  0 */ { 4, s_4_0, -1, 1, 0},
 128 /*  1 */ { 4, s_4_1, -1, 1, 0},
 129 /*  2 */ { 4, s_4_2, -1, 1, 0}
 130 };
 131 
 132 static symbol s_5_0[2] = { 'i', 'c' };
 133 static symbol s_5_1[4] = { 'a', 'b', 'i', 'l' };
 134 static symbol s_5_2[2] = { 'i', 'v' };
 135 
 136 static struct among a_5[3] =
 137 {
 138 /*  0 */ { 2, s_5_0, -1, 1, 0},
 139 /*  1 */ { 4, s_5_1, -1, 1, 0},
 140 /*  2 */ { 2, s_5_2, -1, 1, 0}
 141 };
 142 
 143 static symbol s_6_0[3] = { 'i', 'c', 'a' };
 144 static symbol s_6_1[5] = { 'a', 'n', 'c', 'i', 'a' };
 145 static symbol s_6_2[5] = { 'e', 'n', 'c', 'i', 'a' };
 146 static symbol s_6_3[5] = { 'a', 'd', 'o', 'r', 'a' };
 147 static symbol s_6_4[3] = { 'o', 's', 'a' };
 148 static symbol s_6_5[4] = { 'i', 's', 't', 'a' };
 149 static symbol s_6_6[3] = { 'i', 'v', 'a' };
 150 static symbol s_6_7[4] = { 'a', 'n', 'z', 'a' };
 151 static symbol s_6_8[6] = { 'l', 'o', 'g', 0xC3, 0xAD, 'a' };
 152 static symbol s_6_9[4] = { 'i', 'd', 'a', 'd' };
 153 static symbol s_6_10[4] = { 'a', 'b', 'l', 'e' };
 154 static symbol s_6_11[4] = { 'i', 'b', 'l', 'e' };
 155 static symbol s_6_12[4] = { 'a', 'n', 't', 'e' };
 156 static symbol s_6_13[5] = { 'm', 'e', 'n', 't', 'e' };
 157 static symbol s_6_14[6] = { 'a', 'm', 'e', 'n', 't', 'e' };
 158 static symbol s_6_15[6] = { 'a', 'c', 'i', 0xC3, 0xB3, 'n' };
 159 static symbol s_6_16[6] = { 'u', 'c', 'i', 0xC3, 0xB3, 'n' };
 160 static symbol s_6_17[3] = { 'i', 'c', 'o' };
 161 static symbol s_6_18[4] = { 'i', 's', 'm', 'o' };
 162 static symbol s_6_19[3] = { 'o', 's', 'o' };
 163 static symbol s_6_20[7] = { 'a', 'm', 'i', 'e', 'n', 't', 'o' };
 164 static symbol s_6_21[7] = { 'i', 'm', 'i', 'e', 'n', 't', 'o' };
 165 static symbol s_6_22[3] = { 'i', 'v', 'o' };
 166 static symbol s_6_23[4] = { 'a', 'd', 'o', 'r' };
 167 static symbol s_6_24[4] = { 'i', 'c', 'a', 's' };
 168 static symbol s_6_25[6] = { 'a', 'n', 'c', 'i', 'a', 's' };
 169 static symbol s_6_26[6] = { 'e', 'n', 'c', 'i', 'a', 's' };
 170 static symbol s_6_27[6] = { 'a', 'd', 'o', 'r', 'a', 's' };
 171 static symbol s_6_28[4] = { 'o', 's', 'a', 's' };
 172 static symbol s_6_29[5] = { 'i', 's', 't', 'a', 's' };
 173 static symbol s_6_30[4] = { 'i', 'v', 'a', 's' };
 174 static symbol s_6_31[5] = { 'a', 'n', 'z', 'a', 's' };
 175 static symbol s_6_32[7] = { 'l', 'o', 'g', 0xC3, 0xAD, 'a', 's' };
 176 static symbol s_6_33[6] = { 'i', 'd', 'a', 'd', 'e', 's' };
 177 static symbol s_6_34[5] = { 'a', 'b', 'l', 'e', 's' };
 178 static symbol s_6_35[5] = { 'i', 'b', 'l', 'e', 's' };
 179 static symbol s_6_36[7] = { 'a', 'c', 'i', 'o', 'n', 'e', 's' };
 180 static symbol s_6_37[7] = { 'u', 'c', 'i', 'o', 'n', 'e', 's' };
 181 static symbol s_6_38[6] = { 'a', 'd', 'o', 'r', 'e', 's' };
 182 static symbol s_6_39[5] = { 'a', 'n', 't', 'e', 's' };
 183 static symbol s_6_40[4] = { 'i', 'c', 'o', 's' };
 184 static symbol s_6_41[5] = { 'i', 's', 'm', 'o', 's' };
 185 static symbol s_6_42[4] = { 'o', 's', 'o', 's' };
 186 static symbol s_6_43[8] = { 'a', 'm', 'i', 'e', 'n', 't', 'o', 's' };
 187 static symbol s_6_44[8] = { 'i', 'm', 'i', 'e', 'n', 't', 'o', 's' };
 188 static symbol s_6_45[4] = { 'i', 'v', 'o', 's' };
 189 
 190 static struct among a_6[46] =
 191 {
 192 /*  0 */ { 3, s_6_0, -1, 1, 0},
 193 /*  1 */ { 5, s_6_1, -1, 2, 0},
 194 /*  2 */ { 5, s_6_2, -1, 5, 0},
 195 /*  3 */ { 5, s_6_3, -1, 2, 0},
 196 /*  4 */ { 3, s_6_4, -1, 1, 0},
 197 /*  5 */ { 4, s_6_5, -1, 1, 0},
 198 /*  6 */ { 3, s_6_6, -1, 9, 0},
 199 /*  7 */ { 4, s_6_7, -1, 1, 0},
 200 /*  8 */ { 6, s_6_8, -1, 3, 0},
 201 /*  9 */ { 4, s_6_9, -1, 8, 0},
 202 /* 10 */ { 4, s_6_10, -1, 1, 0},
 203 /* 11 */ { 4, s_6_11, -1, 1, 0},
 204 /* 12 */ { 4, s_6_12, -1, 2, 0},
 205 /* 13 */ { 5, s_6_13, -1, 7, 0},
 206 /* 14 */ { 6, s_6_14, 13, 6, 0},
 207 /* 15 */ { 6, s_6_15, -1, 2, 0},
 208 /* 16 */ { 6, s_6_16, -1, 4, 0},
 209 /* 17 */ { 3, s_6_17, -1, 1, 0},
 210 /* 18 */ { 4, s_6_18, -1, 1, 0},
 211 /* 19 */ { 3, s_6_19, -1, 1, 0},
 212 /* 20 */ { 7, s_6_20, -1, 1, 0},
 213 /* 21 */ { 7, s_6_21, -1, 1, 0},
 214 /* 22 */ { 3, s_6_22, -1, 9, 0},
 215 /* 23 */ { 4, s_6_23, -1, 2, 0},
 216 /* 24 */ { 4, s_6_24, -1, 1, 0},
 217 /* 25 */ { 6, s_6_25, -1, 2, 0},
 218 /* 26 */ { 6, s_6_26, -1, 5, 0},
 219 /* 27 */ { 6, s_6_27, -1, 2, 0},
 220 /* 28 */ { 4, s_6_28, -1, 1, 0},
 221 /* 29 */ { 5, s_6_29, -1, 1, 0},
 222 /* 30 */ { 4, s_6_30, -1, 9, 0},
 223 /* 31 */ { 5, s_6_31, -1, 1, 0},
 224 /* 32 */ { 7, s_6_32, -1, 3, 0},
 225 /* 33 */ { 6, s_6_33, -1, 8, 0},
 226 /* 34 */ { 5, s_6_34, -1, 1, 0},
 227 /* 35 */ { 5, s_6_35, -1, 1, 0},
 228 /* 36 */ { 7, s_6_36, -1, 2, 0},
 229 /* 37 */ { 7, s_6_37, -1, 4, 0},
 230 /* 38 */ { 6, s_6_38, -1, 2, 0},
 231 /* 39 */ { 5, s_6_39, -1, 2, 0},
 232 /* 40 */ { 4, s_6_40, -1, 1, 0},
 233 /* 41 */ { 5, s_6_41, -1, 1, 0},
 234 /* 42 */ { 4, s_6_42, -1, 1, 0},
 235 /* 43 */ { 8, s_6_43, -1, 1, 0},
 236 /* 44 */ { 8, s_6_44, -1, 1, 0},
 237 /* 45 */ { 4, s_6_45, -1, 9, 0}
 238 };
 239 
 240 static symbol s_7_0[2] = { 'y', 'a' };
 241 static symbol s_7_1[2] = { 'y', 'e' };
 242 static symbol s_7_2[3] = { 'y', 'a', 'n' };
 243 static symbol s_7_3[3] = { 'y', 'e', 'n' };
 244 static symbol s_7_4[5] = { 'y', 'e', 'r', 'o', 'n' };
 245 static symbol s_7_5[5] = { 'y', 'e', 'n', 'd', 'o' };
 246 static symbol s_7_6[2] = { 'y', 'o' };
 247 static symbol s_7_7[3] = { 'y', 'a', 's' };
 248 static symbol s_7_8[3] = { 'y', 'e', 's' };
 249 static symbol s_7_9[4] = { 'y', 'a', 'i', 's' };
 250 static symbol s_7_10[5] = { 'y', 'a', 'm', 'o', 's' };
 251 static symbol s_7_11[3] = { 'y', 0xC3, 0xB3 };
 252 
 253 static struct among a_7[12] =
 254 {
 255 /*  0 */ { 2, s_7_0, -1, 1, 0},
 256 /*  1 */ { 2, s_7_1, -1, 1, 0},
 257 /*  2 */ { 3, s_7_2, -1, 1, 0},
 258 /*  3 */ { 3, s_7_3, -1, 1, 0},
 259 /*  4 */ { 5, s_7_4, -1, 1, 0},
 260 /*  5 */ { 5, s_7_5, -1, 1, 0},
 261 /*  6 */ { 2, s_7_6, -1, 1, 0},
 262 /*  7 */ { 3, s_7_7, -1, 1, 0},
 263 /*  8 */ { 3, s_7_8, -1, 1, 0},
 264 /*  9 */ { 4, s_7_9, -1, 1, 0},
 265 /* 10 */ { 5, s_7_10, -1, 1, 0},
 266 /* 11 */ { 3, s_7_11, -1, 1, 0}
 267 };
 268 
 269 static symbol s_8_0[3] = { 'a', 'b', 'a' };
 270 static symbol s_8_1[3] = { 'a', 'd', 'a' };
 271 static symbol s_8_2[3] = { 'i', 'd', 'a' };
 272 static symbol s_8_3[3] = { 'a', 'r', 'a' };
 273 static symbol s_8_4[4] = { 'i', 'e', 'r', 'a' };
 274 static symbol s_8_5[3] = { 0xC3, 0xAD, 'a' };
 275 static symbol s_8_6[5] = { 'a', 'r', 0xC3, 0xAD, 'a' };
 276 static symbol s_8_7[5] = { 'e', 'r', 0xC3, 0xAD, 'a' };
 277 static symbol s_8_8[5] = { 'i', 'r', 0xC3, 0xAD, 'a' };
 278 static symbol s_8_9[2] = { 'a', 'd' };
 279 static symbol s_8_10[2] = { 'e', 'd' };
 280 static symbol s_8_11[2] = { 'i', 'd' };
 281 static symbol s_8_12[3] = { 'a', 's', 'e' };
 282 static symbol s_8_13[4] = { 'i', 'e', 's', 'e' };
 283 static symbol s_8_14[4] = { 'a', 's', 't', 'e' };
 284 static symbol s_8_15[4] = { 'i', 's', 't', 'e' };
 285 static symbol s_8_16[2] = { 'a', 'n' };
 286 static symbol s_8_17[4] = { 'a', 'b', 'a', 'n' };
 287 static symbol s_8_18[4] = { 'a', 'r', 'a', 'n' };
 288 static symbol s_8_19[5] = { 'i', 'e', 'r', 'a', 'n' };
 289 static symbol s_8_20[4] = { 0xC3, 0xAD, 'a', 'n' };
 290 static symbol s_8_21[6] = { 'a', 'r', 0xC3, 0xAD, 'a', 'n' };
 291 static symbol s_8_22[6] = { 'e', 'r', 0xC3, 0xAD, 'a', 'n' };
 292 static symbol s_8_23[6] = { 'i', 'r', 0xC3, 0xAD, 'a', 'n' };
 293 static symbol s_8_24[2] = { 'e', 'n' };
 294 static symbol s_8_25[4] = { 'a', 's', 'e', 'n' };
 295 static symbol s_8_26[5] = { 'i', 'e', 's', 'e', 'n' };
 296 static symbol s_8_27[4] = { 'a', 'r', 'o', 'n' };
 297 static symbol s_8_28[5] = { 'i', 'e', 'r', 'o', 'n' };
 298 static symbol s_8_29[5] = { 'a', 'r', 0xC3, 0xA1, 'n' };
 299 static symbol s_8_30[5] = { 'e', 'r', 0xC3, 0xA1, 'n' };
 300 static symbol s_8_31[5] = { 'i', 'r', 0xC3, 0xA1, 'n' };
 301 static symbol s_8_32[3] = { 'a', 'd', 'o' };
 302 static symbol s_8_33[3] = { 'i', 'd', 'o' };
 303 static symbol s_8_34[4] = { 'a', 'n', 'd', 'o' };
 304 static symbol s_8_35[5] = { 'i', 'e', 'n', 'd', 'o' };
 305 static symbol s_8_36[2] = { 'a', 'r' };
 306 static symbol s_8_37[2] = { 'e', 'r' };
 307 static symbol s_8_38[2] = { 'i', 'r' };
 308 static symbol s_8_39[2] = { 'a', 's' };
 309 static symbol s_8_40[4] = { 'a', 'b', 'a', 's' };
 310 static symbol s_8_41[4] = { 'a', 'd', 'a', 's' };
 311 static symbol s_8_42[4] = { 'i', 'd', 'a', 's' };
 312 static symbol s_8_43[4] = { 'a', 'r', 'a', 's' };
 313 static symbol s_8_44[5] = { 'i', 'e', 'r', 'a', 's' };
 314 static symbol s_8_45[4] = { 0xC3, 0xAD, 'a', 's' };
 315 static symbol s_8_46[6] = { 'a', 'r', 0xC3, 0xAD, 'a', 's' };
 316 static symbol s_8_47[6] = { 'e', 'r', 0xC3, 0xAD, 'a', 's' };
 317 static symbol s_8_48[6] = { 'i', 'r', 0xC3, 0xAD, 'a', 's' };
 318 static symbol s_8_49[2] = { 'e', 's' };
 319 static symbol s_8_50[4] = { 'a', 's', 'e', 's' };
 320 static symbol s_8_51[5] = { 'i', 'e', 's', 'e', 's' };
 321 static symbol s_8_52[5] = { 'a', 'b', 'a', 'i', 's' };
 322 static symbol s_8_53[5] = { 'a', 'r', 'a', 'i', 's' };
 323 static symbol s_8_54[6] = { 'i', 'e', 'r', 'a', 'i', 's' };
 324 static symbol s_8_55[5] = { 0xC3, 0xAD, 'a', 'i', 's' };
 325 static symbol s_8_56[7] = { 'a', 'r', 0xC3, 0xAD, 'a', 'i', 's' };
 326 static symbol s_8_57[7] = { 'e', 'r', 0xC3, 0xAD, 'a', 'i', 's' };
 327 static symbol s_8_58[7] = { 'i', 'r', 0xC3, 0xAD, 'a', 'i', 's' };
 328 static symbol s_8_59[5] = { 'a', 's', 'e', 'i', 's' };
 329 static symbol s_8_60[6] = { 'i', 'e', 's', 'e', 'i', 's' };
 330 static symbol s_8_61[6] = { 'a', 's', 't', 'e', 'i', 's' };
 331 static symbol s_8_62[6] = { 'i', 's', 't', 'e', 'i', 's' };
 332 static symbol s_8_63[4] = { 0xC3, 0xA1, 'i', 's' };
 333 static symbol s_8_64[4] = { 0xC3, 0xA9, 'i', 's' };
 334 static symbol s_8_65[6] = { 'a', 'r', 0xC3, 0xA9, 'i', 's' };
 335 static symbol s_8_66[6] = { 'e', 'r', 0xC3, 0xA9, 'i', 's' };
 336 static symbol s_8_67[6] = { 'i', 'r', 0xC3, 0xA9, 'i', 's' };
 337 static symbol s_8_68[4] = { 'a', 'd', 'o', 's' };
 338 static symbol s_8_69[4] = { 'i', 'd', 'o', 's' };
 339 static symbol s_8_70[4] = { 'a', 'm', 'o', 's' };
 340 static symbol s_8_71[7] = { 0xC3, 0xA1, 'b', 'a', 'm', 'o', 's' };
 341 static symbol s_8_72[7] = { 0xC3, 0xA1, 'r', 'a', 'm', 'o', 's' };
 342 static symbol s_8_73[8] = { 'i', 0xC3, 0xA9, 'r', 'a', 'm', 'o', 's' };
 343 static symbol s_8_74[6] = { 0xC3, 0xAD, 'a', 'm', 'o', 's' };
 344 static symbol s_8_75[8] = { 'a', 'r', 0xC3, 0xAD, 'a', 'm', 'o', 's' };
 345 static symbol s_8_76[8] = { 'e', 'r', 0xC3, 0xAD, 'a', 'm', 'o', 's' };
 346 static symbol s_8_77[8] = { 'i', 'r', 0xC3, 0xAD, 'a', 'm', 'o', 's' };
 347 static symbol s_8_78[4] = { 'e', 'm', 'o', 's' };
 348 static symbol s_8_79[6] = { 'a', 'r', 'e', 'm', 'o', 's' };
 349 static symbol s_8_80[6] = { 'e', 'r', 'e', 'm', 'o', 's' };
 350 static symbol s_8_81[6] = { 'i', 'r', 'e', 'm', 'o', 's' };
 351 static symbol s_8_82[7] = { 0xC3, 0xA1, 's', 'e', 'm', 'o', 's' };
 352 static symbol s_8_83[8] = { 'i', 0xC3, 0xA9, 's', 'e', 'm', 'o', 's' };
 353 static symbol s_8_84[4] = { 'i', 'm', 'o', 's' };
 354 static symbol s_8_85[5] = { 'a', 'r', 0xC3, 0xA1, 's' };
 355 static symbol s_8_86[5] = { 'e', 'r', 0xC3, 0xA1, 's' };
 356 static symbol s_8_87[5] = { 'i', 'r', 0xC3, 0xA1, 's' };
 357 static symbol s_8_88[3] = { 0xC3, 0xAD, 's' };
 358 static symbol s_8_89[4] = { 'a', 'r', 0xC3, 0xA1 };
 359 static symbol s_8_90[4] = { 'e', 'r', 0xC3, 0xA1 };
 360 static symbol s_8_91[4] = { 'i', 'r', 0xC3, 0xA1 };
 361 static symbol s_8_92[4] = { 'a', 'r', 0xC3, 0xA9 };
 362 static symbol s_8_93[4] = { 'e', 'r', 0xC3, 0xA9 };
 363 static symbol s_8_94[4] = { 'i', 'r', 0xC3, 0xA9 };
 364 static symbol s_8_95[3] = { 'i', 0xC3, 0xB3 };
 365 
 366 static struct among a_8[96] =
 367 {
 368 /*  0 */ { 3, s_8_0, -1, 2, 0},
 369 /*  1 */ { 3, s_8_1, -1, 2, 0},
 370 /*  2 */ { 3, s_8_2, -1, 2, 0},
 371 /*  3 */ { 3, s_8_3, -1, 2, 0},
 372 /*  4 */ { 4, s_8_4, -1, 2, 0},
 373 /*  5 */ { 3, s_8_5, -1, 2, 0},
 374 /*  6 */ { 5, s_8_6, 5, 2, 0},
 375 /*  7 */ { 5, s_8_7, 5, 2, 0},
 376 /*  8 */ { 5, s_8_8, 5, 2, 0},
 377 /*  9 */ { 2, s_8_9, -1, 2, 0},
 378 /* 10 */ { 2, s_8_10, -1, 2, 0},
 379 /* 11 */ { 2, s_8_11, -1, 2, 0},
 380 /* 12 */ { 3, s_8_12, -1, 2, 0},
 381 /* 13 */ { 4, s_8_13, -1, 2, 0},
 382 /* 14 */ { 4, s_8_14, -1, 2, 0},
 383 /* 15 */ { 4, s_8_15, -1, 2, 0},
 384 /* 16 */ { 2, s_8_16, -1, 2, 0},
 385 /* 17 */ { 4, s_8_17, 16, 2, 0},
 386 /* 18 */ { 4, s_8_18, 16, 2, 0},
 387 /* 19 */ { 5, s_8_19, 16, 2, 0},
 388 /* 20 */ { 4, s_8_20, 16, 2, 0},
 389 /* 21 */ { 6, s_8_21, 20, 2, 0},
 390 /* 22 */ { 6, s_8_22, 20, 2, 0},
 391 /* 23 */ { 6, s_8_23, 20, 2, 0},
 392 /* 24 */ { 2, s_8_24, -1, 1, 0},
 393 /* 25 */ { 4, s_8_25, 24, 2, 0},
 394 /* 26 */ { 5, s_8_26, 24, 2, 0},
 395 /* 27 */ { 4, s_8_27, -1, 2, 0},
 396 /* 28 */ { 5, s_8_28, -1, 2, 0},
 397 /* 29 */ { 5, s_8_29, -1, 2, 0},
 398 /* 30 */ { 5, s_8_30, -1, 2, 0},
 399 /* 31 */ { 5, s_8_31, -1, 2, 0},
 400 /* 32 */ { 3, s_8_32, -1, 2, 0},
 401 /* 33 */ { 3, s_8_33, -1, 2, 0},
 402 /* 34 */ { 4, s_8_34, -1, 2, 0},
 403 /* 35 */ { 5, s_8_35, -1, 2, 0},
 404 /* 36 */ { 2, s_8_36, -1, 2, 0},
 405 /* 37 */ { 2, s_8_37, -1, 2, 0},
 406 /* 38 */ { 2, s_8_38, -1, 2, 0},
 407 /* 39 */ { 2, s_8_39, -1, 2, 0},
 408 /* 40 */ { 4, s_8_40, 39, 2, 0},
 409 /* 41 */ { 4, s_8_41, 39, 2, 0},
 410 /* 42 */ { 4, s_8_42, 39, 2, 0},
 411 /* 43 */ { 4, s_8_43, 39, 2, 0},
 412 /* 44 */ { 5, s_8_44, 39, 2, 0},
 413 /* 45 */ { 4, s_8_45, 39, 2, 0},
 414 /* 46 */ { 6, s_8_46, 45, 2, 0},
 415 /* 47 */ { 6, s_8_47, 45, 2, 0},
 416 /* 48 */ { 6, s_8_48, 45, 2, 0},
 417 /* 49 */ { 2, s_8_49, -1, 1, 0},
 418 /* 50 */ { 4, s_8_50, 49, 2, 0},
 419 /* 51 */ { 5, s_8_51, 49, 2, 0},
 420 /* 52 */ { 5, s_8_52, -1, 2, 0},
 421 /* 53 */ { 5, s_8_53, -1, 2, 0},
 422 /* 54 */ { 6, s_8_54, -1, 2, 0},
 423 /* 55 */ { 5, s_8_55, -1, 2, 0},
 424 /* 56 */ { 7, s_8_56, 55, 2, 0},
 425 /* 57 */ { 7, s_8_57, 55, 2, 0},
 426 /* 58 */ { 7, s_8_58, 55, 2, 0},
 427 /* 59 */ { 5, s_8_59, -1, 2, 0},
 428 /* 60 */ { 6, s_8_60, -1, 2, 0},
 429 /* 61 */ { 6, s_8_61, -1, 2, 0},
 430 /* 62 */ { 6, s_8_62, -1, 2, 0},
 431 /* 63 */ { 4, s_8_63, -1, 2, 0},
 432 /* 64 */ { 4, s_8_64, -1, 1, 0},
 433 /* 65 */ { 6, s_8_65, 64, 2, 0},
 434 /* 66 */ { 6, s_8_66, 64, 2, 0},
 435 /* 67 */ { 6, s_8_67, 64, 2, 0},
 436 /* 68 */ { 4, s_8_68, -1, 2, 0},
 437 /* 69 */ { 4, s_8_69, -1, 2, 0},
 438 /* 70 */ { 4, s_8_70, -1, 2, 0},
 439 /* 71 */ { 7, s_8_71, 70, 2, 0},
 440 /* 72 */ { 7, s_8_72, 70, 2, 0},
 441 /* 73 */ { 8, s_8_73, 70, 2, 0},
 442 /* 74 */ { 6, s_8_74, 70, 2, 0},
 443 /* 75 */ { 8, s_8_75, 74, 2, 0},
 444 /* 76 */ { 8, s_8_76, 74, 2, 0},
 445 /* 77 */ { 8, s_8_77, 74, 2, 0},
 446 /* 78 */ { 4, s_8_78, -1, 1, 0},
 447 /* 79 */ { 6, s_8_79, 78, 2, 0},
 448 /* 80 */ { 6, s_8_80, 78, 2, 0},
 449 /* 81 */ { 6, s_8_81, 78, 2, 0},
 450 /* 82 */ { 7, s_8_82, 78, 2, 0},
 451 /* 83 */ { 8, s_8_83, 78, 2, 0},
 452 /* 84 */ { 4, s_8_84, -1, 2, 0},
 453 /* 85 */ { 5, s_8_85, -1, 2, 0},
 454 /* 86 */ { 5, s_8_86, -1, 2, 0},
 455 /* 87 */ { 5, s_8_87, -1, 2, 0},
 456 /* 88 */ { 3, s_8_88, -1, 2, 0},
 457 /* 89 */ { 4, s_8_89, -1, 2, 0},
 458 /* 90 */ { 4, s_8_90, -1, 2, 0},
 459 /* 91 */ { 4, s_8_91, -1, 2, 0},
 460 /* 92 */ { 4, s_8_92, -1, 2, 0},
 461 /* 93 */ { 4, s_8_93, -1, 2, 0},
 462 /* 94 */ { 4, s_8_94, -1, 2, 0},
 463 /* 95 */ { 3, s_8_95, -1, 2, 0}
 464 };
 465 
 466 static symbol s_9_0[1] = { 'a' };
 467 static symbol s_9_1[1] = { 'e' };
 468 static symbol s_9_2[1] = { 'o' };
 469 static symbol s_9_3[2] = { 'o', 's' };
 470 static symbol s_9_4[2] = { 0xC3, 0xA1 };
 471 static symbol s_9_5[2] = { 0xC3, 0xA9 };
 472 static symbol s_9_6[2] = { 0xC3, 0xAD };
 473 static symbol s_9_7[2] = { 0xC3, 0xB3 };
 474 
 475 static struct among a_9[8] =
 476 {
 477 /*  0 */ { 1, s_9_0, -1, 1, 0},
 478 /*  1 */ { 1, s_9_1, -1, 2, 0},
 479 /*  2 */ { 1, s_9_2, -1, 1, 0},
 480 /*  3 */ { 2, s_9_3, -1, 1, 0},
 481 /*  4 */ { 2, s_9_4, -1, 1, 0},
 482 /*  5 */ { 2, s_9_5, -1, 2, 0},
 483 /*  6 */ { 2, s_9_6, -1, 1, 0},
 484 /*  7 */ { 2, s_9_7, -1, 1, 0}
 485 };
 486 
 487 static unsigned char g_v[] = { 17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 17, 4, 10 };
 488 
 489 static symbol s_0[] = { 'a' };
 490 static symbol s_1[] = { 'e' };
 491 static symbol s_2[] = { 'i' };
 492 static symbol s_3[] = { 'o' };
 493 static symbol s_4[] = { 'u' };
 494 static symbol s_5[] = { 'i', 'e', 'n', 'd', 'o' };
 495 static symbol s_6[] = { 'a', 'n', 'd', 'o' };
 496 static symbol s_7[] = { 'a', 'r' };
 497 static symbol s_8[] = { 'e', 'r' };
 498 static symbol s_9[] = { 'i', 'r' };
 499 static symbol s_10[] = { 'u' };
 500 static symbol s_11[] = { 'i', 'c' };
 501 static symbol s_12[] = { 'l', 'o', 'g' };
 502 static symbol s_13[] = { 'u' };
 503 static symbol s_14[] = { 'e', 'n', 't', 'e' };
 504 static symbol s_15[] = { 'a', 't' };
 505 static symbol s_16[] = { 'a', 't' };
 506 static symbol s_17[] = { 'u' };
 507 static symbol s_18[] = { 'u' };
 508 static symbol s_19[] = { 'g' };
 509 static symbol s_20[] = { 'u' };
 510 static symbol s_21[] = { 'g' };
 511 
 512 static int r_mark_regions(struct SN_env * z) {
 513     z->I[0] = z->l;
 514     z->I[1] = z->l;
 515     z->I[2] = z->l;
 516     {	int c = z->c; /* do, line 37 */
 517 	{   int c = z->c; /* or, line 39 */
 518 	    if (!(in_grouping_U(z, g_v, 97, 252))) goto lab2;
 519 	    {	int c = z->c; /* or, line 38 */
 520 		if (!(out_grouping_U(z, g_v, 97, 252))) goto lab4;
 521 		while(1) { /* gopast, line 38 */
 522 		    if (!(in_grouping_U(z, g_v, 97, 252))) goto lab5;
 523 		    break;
 524 		lab5:
 525 		    {	int c = skip_utf8(z->p, z->c, 0, z->l, 1);
 526 			if (c < 0) goto lab4;
 527 			z->c = c; /* gopast, line 38 */
 528 		    }
 529 		}
 530 		goto lab3;
 531 	    lab4:
 532 		z->c = c;
 533 		if (!(in_grouping_U(z, g_v, 97, 252))) goto lab2;
 534 		while(1) { /* gopast, line 38 */
 535 		    if (!(out_grouping_U(z, g_v, 97, 252))) goto lab6;
 536 		    break;
 537 		lab6:
 538 		    {	int c = skip_utf8(z->p, z->c, 0, z->l, 1);
 539 			if (c < 0) goto lab2;
 540 			z->c = c; /* gopast, line 38 */
 541 		    }
 542 		}
 543 	    }
 544 	lab3:
 545 	    goto lab1;
 546 	lab2:
 547 	    z->c = c;
 548 	    if (!(out_grouping_U(z, g_v, 97, 252))) goto lab0;
 549 	    {	int c = z->c; /* or, line 40 */
 550 		if (!(out_grouping_U(z, g_v, 97, 252))) goto lab8;
 551 		while(1) { /* gopast, line 40 */
 552 		    if (!(in_grouping_U(z, g_v, 97, 252))) goto lab9;
 553 		    break;
 554 		lab9:
 555 		    {	int c = skip_utf8(z->p, z->c, 0, z->l, 1);
 556 			if (c < 0) goto lab8;
 557 			z->c = c; /* gopast, line 40 */
 558 		    }
 559 		}
 560 		goto lab7;
 561 	    lab8:
 562 		z->c = c;
 563 		if (!(in_grouping_U(z, g_v, 97, 252))) goto lab0;
 564 		{   int c = skip_utf8(z->p, z->c, 0, z->l, 1);
 565 		    if (c < 0) goto lab0;
 566 		    z->c = c; /* next, line 40 */
 567 		}
 568 	    }
 569 	lab7:
 570 	    ;
 571 	}
 572     lab1:
 573 	z->I[0] = z->c; /* setmark pV, line 41 */
 574     lab0:
 575 	z->c = c;
 576     }
 577     {	int c = z->c; /* do, line 43 */
 578 	while(1) { /* gopast, line 44 */
 579 	    if (!(in_grouping_U(z, g_v, 97, 252))) goto lab11;
 580 	    break;
 581 	lab11:
 582 	    {	int c = skip_utf8(z->p, z->c, 0, z->l, 1);
 583 		if (c < 0) goto lab10;
 584 		z->c = c; /* gopast, line 44 */
 585 	    }
 586 	}
 587 	while(1) { /* gopast, line 44 */
 588 	    if (!(out_grouping_U(z, g_v, 97, 252))) goto lab12;
 589 	    break;
 590 	lab12:
 591 	    {	int c = skip_utf8(z->p, z->c, 0, z->l, 1);
 592 		if (c < 0) goto lab10;
 593 		z->c = c; /* gopast, line 44 */
 594 	    }
 595 	}
 596 	z->I[1] = z->c; /* setmark p1, line 44 */
 597 	while(1) { /* gopast, line 45 */
 598 	    if (!(in_grouping_U(z, g_v, 97, 252))) goto lab13;
 599 	    break;
 600 	lab13:
 601 	    {	int c = skip_utf8(z->p, z->c, 0, z->l, 1);
 602 		if (c < 0) goto lab10;
 603 		z->c = c; /* gopast, line 45 */
 604 	    }
 605 	}
 606 	while(1) { /* gopast, line 45 */
 607 	    if (!(out_grouping_U(z, g_v, 97, 252))) goto lab14;
 608 	    break;
 609 	lab14:
 610 	    {	int c = skip_utf8(z->p, z->c, 0, z->l, 1);
 611 		if (c < 0) goto lab10;
 612 		z->c = c; /* gopast, line 45 */
 613 	    }
 614 	}
 615 	z->I[2] = z->c; /* setmark p2, line 45 */
 616     lab10:
 617 	z->c = c;
 618     }
 619     return 1;
 620 }
 621 
 622 static int r_postlude(struct SN_env * z) {
 623     int among_var;
 624     while(1) { /* repeat, line 49 */
 625 	int c = z->c;
 626 	z->bra = z->c; /* [, line 50 */
 627 	among_var = find_among(z, a_0, 6); /* substring, line 50 */
 628 	if (!(among_var)) goto lab0;
 629 	z->ket = z->c; /* ], line 50 */
 630 	switch(among_var) {
 631 	    case 0: goto lab0;
 632 	    case 1:
 633 		{   int ret;
 634 		    ret = slice_from_s(z, 1, s_0); /* <-, line 51 */
 635 		    if (ret < 0) return ret;
 636 		}
 637 		break;
 638 	    case 2:
 639 		{   int ret;
 640 		    ret = slice_from_s(z, 1, s_1); /* <-, line 52 */
 641 		    if (ret < 0) return ret;
 642 		}
 643 		break;
 644 	    case 3:
 645 		{   int ret;
 646 		    ret = slice_from_s(z, 1, s_2); /* <-, line 53 */
 647 		    if (ret < 0) return ret;
 648 		}
 649 		break;
 650 	    case 4:
 651 		{   int ret;
 652 		    ret = slice_from_s(z, 1, s_3); /* <-, line 54 */
 653 		    if (ret < 0) return ret;
 654 		}
 655 		break;
 656 	    case 5:
 657 		{   int ret;
 658 		    ret = slice_from_s(z, 1, s_4); /* <-, line 55 */
 659 		    if (ret < 0) return ret;
 660 		}
 661 		break;
 662 	    case 6:
 663 		{   int c = skip_utf8(z->p, z->c, 0, z->l, 1);
 664 		    if (c < 0) goto lab0;
 665 		    z->c = c; /* next, line 57 */
 666 		}
 667 		break;
 668 	}
 669 	continue;
 670     lab0:
 671 	z->c = c;
 672 	break;
 673     }
 674     return 1;
 675 }
 676 
 677 static int r_RV(struct SN_env * z) {
 678     if (!(z->I[0] <= z->c)) return 0;
 679     return 1;
 680 }
 681 
 682 static int r_R1(struct SN_env * z) {
 683     if (!(z->I[1] <= z->c)) return 0;
 684     return 1;
 685 }
 686 
 687 static int r_R2(struct SN_env * z) {
 688     if (!(z->I[2] <= z->c)) return 0;
 689     return 1;
 690 }
 691 
 692 static int r_attached_pronoun(struct SN_env * z) {
 693     int among_var;
 694     z->ket = z->c; /* [, line 68 */
 695     if (!(find_among_b(z, a_1, 13))) return 0; /* substring, line 68 */
 696     z->bra = z->c; /* ], line 68 */
 697     among_var = find_among_b(z, a_2, 11); /* substring, line 72 */
 698     if (!(among_var)) return 0;
 699     {	int ret = r_RV(z);
 700 	if (ret == 0) return 0; /* call RV, line 72 */
 701 	if (ret < 0) return ret;
 702     }
 703     switch(among_var) {
 704 	case 0: return 0;
 705 	case 1:
 706 	    z->bra = z->c; /* ], line 73 */
 707 	    {	int ret;
 708 		ret = slice_from_s(z, 5, s_5); /* <-, line 73 */
 709 		if (ret < 0) return ret;
 710 	    }
 711 	    break;
 712 	case 2:
 713 	    z->bra = z->c; /* ], line 74 */
 714 	    {	int ret;
 715 		ret = slice_from_s(z, 4, s_6); /* <-, line 74 */
 716 		if (ret < 0) return ret;
 717 	    }
 718 	    break;
 719 	case 3:
 720 	    z->bra = z->c; /* ], line 75 */
 721 	    {	int ret;
 722 		ret = slice_from_s(z, 2, s_7); /* <-, line 75 */
 723 		if (ret < 0) return ret;
 724 	    }
 725 	    break;
 726 	case 4:
 727 	    z->bra = z->c; /* ], line 76 */
 728 	    {	int ret;
 729 		ret = slice_from_s(z, 2, s_8); /* <-, line 76 */
 730 		if (ret < 0) return ret;
 731 	    }
 732 	    break;
 733 	case 5:
 734 	    z->bra = z->c; /* ], line 77 */
 735 	    {	int ret;
 736 		ret = slice_from_s(z, 2, s_9); /* <-, line 77 */
 737 		if (ret < 0) return ret;
 738 	    }
 739 	    break;
 740 	case 6:
 741 	    {	int ret;
 742 		ret = slice_del(z); /* delete, line 81 */
 743 		if (ret < 0) return ret;
 744 	    }
 745 	    break;
 746 	case 7:
 747 	    if (!(eq_s_b(z, 1, s_10))) return 0;
 748 	    {	int ret;
 749 		ret = slice_del(z); /* delete, line 82 */
 750 		if (ret < 0) return ret;
 751 	    }
 752 	    break;
 753     }
 754     return 1;
 755 }
 756 
 757 static int r_standard_suffix(struct SN_env * z) {
 758     int among_var;
 759     z->ket = z->c; /* [, line 87 */
 760     among_var = find_among_b(z, a_6, 46); /* substring, line 87 */
 761     if (!(among_var)) return 0;
 762     z->bra = z->c; /* ], line 87 */
 763     switch(among_var) {
 764 	case 0: return 0;
 765 	case 1:
 766 	    {	int ret = r_R2(z);
 767 		if (ret == 0) return 0; /* call R2, line 99 */
 768 		if (ret < 0) return ret;
 769 	    }
 770 	    {	int ret;
 771 		ret = slice_del(z); /* delete, line 99 */
 772 		if (ret < 0) return ret;
 773 	    }
 774 	    break;
 775 	case 2:
 776 	    {	int ret = r_R2(z);
 777 		if (ret == 0) return 0; /* call R2, line 105 */
 778 		if (ret < 0) return ret;
 779 	    }
 780 	    {	int ret;
 781 		ret = slice_del(z); /* delete, line 105 */
 782 		if (ret < 0) return ret;
 783 	    }
 784 	    {	int m = z->l - z->c; (void) m; /* try, line 106 */
 785 		z->ket = z->c; /* [, line 106 */
 786 		if (!(eq_s_b(z, 2, s_11))) { z->c = z->l - m; goto lab0; }
 787 		z->bra = z->c; /* ], line 106 */
 788 		{   int ret = r_R2(z);
 789 		    if (ret == 0) { z->c = z->l - m; goto lab0; } /* call R2, line 106 */
 790 		    if (ret < 0) return ret;
 791 		}
 792 		{   int ret;
 793 		    ret = slice_del(z); /* delete, line 106 */
 794 		    if (ret < 0) return ret;
 795 		}
 796 	    lab0:
 797 		;
 798 	    }
 799 	    break;
 800 	case 3:
 801 	    {	int ret = r_R2(z);
 802 		if (ret == 0) return 0; /* call R2, line 111 */
 803 		if (ret < 0) return ret;
 804 	    }
 805 	    {	int ret;
 806 		ret = slice_from_s(z, 3, s_12); /* <-, line 111 */
 807 		if (ret < 0) return ret;
 808 	    }
 809 	    break;
 810 	case 4:
 811 	    {	int ret = r_R2(z);
 812 		if (ret == 0) return 0; /* call R2, line 115 */
 813 		if (ret < 0) return ret;
 814 	    }
 815 	    {	int ret;
 816 		ret = slice_from_s(z, 1, s_13); /* <-, line 115 */
 817 		if (ret < 0) return ret;
 818 	    }
 819 	    break;
 820 	case 5:
 821 	    {	int ret = r_R2(z);
 822 		if (ret == 0) return 0; /* call R2, line 119 */
 823 		if (ret < 0) return ret;
 824 	    }
 825 	    {	int ret;
 826 		ret = slice_from_s(z, 4, s_14); /* <-, line 119 */
 827 		if (ret < 0) return ret;
 828 	    }
 829 	    break;
 830 	case 6:
 831 	    {	int ret = r_R1(z);
 832 		if (ret == 0) return 0; /* call R1, line 123 */
 833 		if (ret < 0) return ret;
 834 	    }
 835 	    {	int ret;
 836 		ret = slice_del(z); /* delete, line 123 */
 837 		if (ret < 0) return ret;
 838 	    }
 839 	    {	int m = z->l - z->c; (void) m; /* try, line 124 */
 840 		z->ket = z->c; /* [, line 125 */
 841 		among_var = find_among_b(z, a_3, 4); /* substring, line 125 */
 842 		if (!(among_var)) { z->c = z->l - m; goto lab1; }
 843 		z->bra = z->c; /* ], line 125 */
 844 		{   int ret = r_R2(z);
 845 		    if (ret == 0) { z->c = z->l - m; goto lab1; } /* call R2, line 125 */
 846 		    if (ret < 0) return ret;
 847 		}
 848 		{   int ret;
 849 		    ret = slice_del(z); /* delete, line 125 */
 850 		    if (ret < 0) return ret;
 851 		}
 852 		switch(among_var) {
 853 		    case 0: { z->c = z->l - m; goto lab1; }
 854 		    case 1:
 855 			z->ket = z->c; /* [, line 126 */
 856 			if (!(eq_s_b(z, 2, s_15))) { z->c = z->l - m; goto lab1; }
 857 			z->bra = z->c; /* ], line 126 */
 858 			{   int ret = r_R2(z);
 859 			    if (ret == 0) { z->c = z->l - m; goto lab1; } /* call R2, line 126 */
 860 			    if (ret < 0) return ret;
 861 			}
 862 			{   int ret;
 863 			    ret = slice_del(z); /* delete, line 126 */
 864 			    if (ret < 0) return ret;
 865 			}
 866 			break;
 867 		}
 868 	    lab1:
 869 		;
 870 	    }
 871 	    break;
 872 	case 7:
 873 	    {	int ret = r_R2(z);
 874 		if (ret == 0) return 0; /* call R2, line 135 */
 875 		if (ret < 0) return ret;
 876 	    }
 877 	    {	int ret;
 878 		ret = slice_del(z); /* delete, line 135 */
 879 		if (ret < 0) return ret;
 880 	    }
 881 	    {	int m = z->l - z->c; (void) m; /* try, line 136 */
 882 		z->ket = z->c; /* [, line 137 */
 883 		among_var = find_among_b(z, a_4, 3); /* substring, line 137 */
 884 		if (!(among_var)) { z->c = z->l - m; goto lab2; }
 885 		z->bra = z->c; /* ], line 137 */
 886 		switch(among_var) {
 887 		    case 0: { z->c = z->l - m; goto lab2; }
 888 		    case 1:
 889 			{   int ret = r_R2(z);
 890 			    if (ret == 0) { z->c = z->l - m; goto lab2; } /* call R2, line 140 */
 891 			    if (ret < 0) return ret;
 892 			}
 893 			{   int ret;
 894 			    ret = slice_del(z); /* delete, line 140 */
 895 			    if (ret < 0) return ret;
 896 			}
 897 			break;
 898 		}
 899 	    lab2:
 900 		;
 901 	    }
 902 	    break;
 903 	case 8:
 904 	    {	int ret = r_R2(z);
 905 		if (ret == 0) return 0; /* call R2, line 147 */
 906 		if (ret < 0) return ret;
 907 	    }
 908 	    {	int ret;
 909 		ret = slice_del(z); /* delete, line 147 */
 910 		if (ret < 0) return ret;
 911 	    }
 912 	    {	int m = z->l - z->c; (void) m; /* try, line 148 */
 913 		z->ket = z->c; /* [, line 149 */
 914 		among_var = find_among_b(z, a_5, 3); /* substring, line 149 */
 915 		if (!(among_var)) { z->c = z->l - m; goto lab3; }
 916 		z->bra = z->c; /* ], line 149 */
 917 		switch(among_var) {
 918 		    case 0: { z->c = z->l - m; goto lab3; }
 919 		    case 1:
 920 			{   int ret = r_R2(z);
 921 			    if (ret == 0) { z->c = z->l - m; goto lab3; } /* call R2, line 152 */
 922 			    if (ret < 0) return ret;
 923 			}
 924 			{   int ret;
 925 			    ret = slice_del(z); /* delete, line 152 */
 926 			    if (ret < 0) return ret;
 927 			}
 928 			break;
 929 		}
 930 	    lab3:
 931 		;
 932 	    }
 933 	    break;
 934 	case 9:
 935 	    {	int ret = r_R2(z);
 936 		if (ret == 0) return 0; /* call R2, line 159 */
 937 		if (ret < 0) return ret;
 938 	    }
 939 	    {	int ret;
 940 		ret = slice_del(z); /* delete, line 159 */
 941 		if (ret < 0) return ret;
 942 	    }
 943 	    {	int m = z->l - z->c; (void) m; /* try, line 160 */
 944 		z->ket = z->c; /* [, line 161 */
 945 		if (!(eq_s_b(z, 2, s_16))) { z->c = z->l - m; goto lab4; }
 946 		z->bra = z->c; /* ], line 161 */
 947 		{   int ret = r_R2(z);
 948 		    if (ret == 0) { z->c = z->l - m; goto lab4; } /* call R2, line 161 */
 949 		    if (ret < 0) return ret;
 950 		}
 951 		{   int ret;
 952 		    ret = slice_del(z); /* delete, line 161 */
 953 		    if (ret < 0) return ret;
 954 		}
 955 	    lab4:
 956 		;
 957 	    }
 958 	    break;
 959     }
 960     return 1;
 961 }
 962 
 963 static int r_y_verb_suffix(struct SN_env * z) {
 964     int among_var;
 965     {	int m3; /* setlimit, line 168 */
 966 	int m = z->l - z->c; (void) m;
 967 	if (z->c < z->I[0]) return 0;
 968 	z->c = z->I[0]; /* tomark, line 168 */
 969 	m3 = z->lb; z->lb = z->c;
 970 	z->c = z->l - m;
 971 	z->ket = z->c; /* [, line 168 */
 972 	among_var = find_among_b(z, a_7, 12); /* substring, line 168 */
 973 	if (!(among_var)) { z->lb = m3; return 0; }
 974 	z->bra = z->c; /* ], line 168 */
 975 	z->lb = m3;
 976     }
 977     switch(among_var) {
 978 	case 0: return 0;
 979 	case 1:
 980 	    if (!(eq_s_b(z, 1, s_17))) return 0;
 981 	    {	int ret;
 982 		ret = slice_del(z); /* delete, line 171 */
 983 		if (ret < 0) return ret;
 984 	    }
 985 	    break;
 986     }
 987     return 1;
 988 }
 989 
 990 static int r_verb_suffix(struct SN_env * z) {
 991     int among_var;
 992     {	int m3; /* setlimit, line 176 */
 993 	int m = z->l - z->c; (void) m;
 994 	if (z->c < z->I[0]) return 0;
 995 	z->c = z->I[0]; /* tomark, line 176 */
 996 	m3 = z->lb; z->lb = z->c;
 997 	z->c = z->l - m;
 998 	z->ket = z->c; /* [, line 176 */
 999 	among_var = find_among_b(z, a_8, 96); /* substring, line 176 */
1000 	if (!(among_var)) { z->lb = m3; return 0; }
1001 	z->bra = z->c; /* ], line 176 */
1002 	z->lb = m3;
1003     }
1004     switch(among_var) {
1005 	case 0: return 0;
1006 	case 1:
1007 	    {	int m = z->l - z->c; (void) m; /* try, line 179 */
1008 		if (!(eq_s_b(z, 1, s_18))) { z->c = z->l - m; goto lab0; }
1009 		{   int m_test = z->l - z->c; /* test, line 179 */
1010 		    if (!(eq_s_b(z, 1, s_19))) { z->c = z->l - m; goto lab0; }
1011 		    z->c = z->l - m_test;
1012 		}
1013 	    lab0:
1014 		;
1015 	    }
1016 	    z->bra = z->c; /* ], line 179 */
1017 	    {	int ret;
1018 		ret = slice_del(z); /* delete, line 179 */
1019 		if (ret < 0) return ret;
1020 	    }
1021 	    break;
1022 	case 2:
1023 	    {	int ret;
1024 		ret = slice_del(z); /* delete, line 200 */
1025 		if (ret < 0) return ret;
1026 	    }
1027 	    break;
1028     }
1029     return 1;
1030 }
1031 
1032 static int r_residual_suffix(struct SN_env * z) {
1033     int among_var;
1034     z->ket = z->c; /* [, line 205 */
1035     among_var = find_among_b(z, a_9, 8); /* substring, line 205 */
1036     if (!(among_var)) return 0;
1037     z->bra = z->c; /* ], line 205 */
1038     switch(among_var) {
1039 	case 0: return 0;
1040 	case 1:
1041 	    {	int ret = r_RV(z);
1042 		if (ret == 0) return 0; /* call RV, line 208 */
1043 		if (ret < 0) return ret;
1044 	    }
1045 	    {	int ret;
1046 		ret = slice_del(z); /* delete, line 208 */
1047 		if (ret < 0) return ret;
1048 	    }
1049 	    break;
1050 	case 2:
1051 	    {	int ret = r_RV(z);
1052 		if (ret == 0) return 0; /* call RV, line 210 */
1053 		if (ret < 0) return ret;
1054 	    }
1055 	    {	int ret;
1056 		ret = slice_del(z); /* delete, line 210 */
1057 		if (ret < 0) return ret;
1058 	    }
1059 	    {	int m = z->l - z->c; (void) m; /* try, line 210 */
1060 		z->ket = z->c; /* [, line 210 */
1061 		if (!(eq_s_b(z, 1, s_20))) { z->c = z->l - m; goto lab0; }
1062 		z->bra = z->c; /* ], line 210 */
1063 		{   int m_test = z->l - z->c; /* test, line 210 */
1064 		    if (!(eq_s_b(z, 1, s_21))) { z->c = z->l - m; goto lab0; }
1065 		    z->c = z->l - m_test;
1066 		}
1067 		{   int ret = r_RV(z);
1068 		    if (ret == 0) { z->c = z->l - m; goto lab0; } /* call RV, line 210 */
1069 		    if (ret < 0) return ret;
1070 		}
1071 		{   int ret;
1072 		    ret = slice_del(z); /* delete, line 210 */
1073 		    if (ret < 0) return ret;
1074 		}
1075 	    lab0:
1076 		;
1077 	    }
1078 	    break;
1079     }
1080     return 1;
1081 }
1082 
1083 extern int spanish_UTF_8_stem(struct SN_env * z) {
1084     {	int c = z->c; /* do, line 216 */
1085 	{   int ret = r_mark_regions(z);
1086 	    if (ret == 0) goto lab0; /* call mark_regions, line 216 */
1087 	    if (ret < 0) return ret;
1088 	}
1089     lab0:
1090 	z->c = c;
1091     }
1092     z->lb = z->c; z->c = z->l; /* backwards, line 217 */
1093 
1094     {	int m = z->l - z->c; (void) m; /* do, line 218 */
1095 	{   int ret = r_attached_pronoun(z);
1096 	    if (ret == 0) goto lab1; /* call attached_pronoun, line 218 */
1097 	    if (ret < 0) return ret;
1098 	}
1099     lab1:
1100 	z->c = z->l - m;
1101     }
1102     {	int m = z->l - z->c; (void) m; /* do, line 219 */
1103 	{   int m = z->l - z->c; (void) m; /* or, line 219 */
1104 	    {	int ret = r_standard_suffix(z);
1105 		if (ret == 0) goto lab4; /* call standard_suffix, line 219 */
1106 		if (ret < 0) return ret;
1107 	    }
1108 	    goto lab3;
1109 	lab4:
1110 	    z->c = z->l - m;
1111 	    {	int ret = r_y_verb_suffix(z);
1112 		if (ret == 0) goto lab5; /* call y_verb_suffix, line 220 */
1113 		if (ret < 0) return ret;
1114 	    }
1115 	    goto lab3;
1116 	lab5:
1117 	    z->c = z->l - m;
1118 	    {	int ret = r_verb_suffix(z);
1119 		if (ret == 0) goto lab2; /* call verb_suffix, line 221 */
1120 		if (ret < 0) return ret;
1121 	    }
1122 	}
1123     lab3:
1124     lab2:
1125 	z->c = z->l - m;
1126     }
1127     {	int m = z->l - z->c; (void) m; /* do, line 223 */
1128 	{   int ret = r_residual_suffix(z);
1129 	    if (ret == 0) goto lab6; /* call residual_suffix, line 223 */
1130 	    if (ret < 0) return ret;
1131 	}
1132     lab6:
1133 	z->c = z->l - m;
1134     }
1135     z->c = z->lb;
1136     {	int c = z->c; /* do, line 225 */
1137 	{   int ret = r_postlude(z);
1138 	    if (ret == 0) goto lab7; /* call postlude, line 225 */
1139 	    if (ret < 0) return ret;
1140 	}
1141     lab7:
1142 	z->c = c;
1143     }
1144     return 1;
1145 }
1146 
1147 extern struct SN_env * spanish_UTF_8_create_env(void) { return SN_create_env(0, 3, 0); }
1148 
1149 extern void spanish_UTF_8_close_env(struct SN_env * z) { SN_close_env(z); }