45 'h',
'e',
'd',
'e',
'n',
131 static const unsigned char g_v[] = { 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 };
133 static const unsigned char g_v_I[] = { 1, 0, 0, 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 };
135 static const unsigned char g_v_j[] = { 17, 67, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 };
159 if (
c + 1 >=
l ||
p[
c + 1] >> 5 != 5 || !((340306450 >> (
p[
c + 1] & 0x1f)) & 1)) among_var = 6;
else
161 if (!(among_var))
goto lab0;
166 if (ret < 0)
return ret;
171 if (ret < 0)
return ret;
176 if (ret < 0)
return ret;
181 if (ret < 0)
return ret;
186 if (ret < 0)
return ret;
191 if (ret < 0)
goto lab0;
205 if (
c ==
l ||
p[
c] !=
'y') {
c = c3;
goto lab1; }
209 if (ret < 0)
return ret;
218 if (ret < 0)
goto lab2;
224 if (
c ==
l ||
p[
c] !=
'i')
goto lab5;
230 if (ret < 0)
return ret;
238 if (
c ==
l ||
p[
c] !=
'y') {
c = c5;
goto lab3; }
242 if (ret < 0)
return ret;
261 int ret = out_grouping_U(
g_v, 97, 232, 1);
262 if (ret < 0)
return 0;
266 int ret = in_grouping_U(
g_v, 97, 232, 1);
267 if (ret < 0)
return 0;
272 if (!(I_p1 < 3))
goto lab0;
276 int ret = out_grouping_U(
g_v, 97, 232, 1);
277 if (ret < 0)
return 0;
281 int ret = in_grouping_U(
g_v, 97, 232, 1);
282 if (ret < 0)
return 0;
294 if (c >= l || (p[c + 0] != 73 && p[c + 0] != 89)) among_var = 3;
else
295 among_var = find_among(
s_pool,
a_1, 3, 0, 0);
296 if (!(among_var))
goto lab0;
300 {
int ret = slice_from_s(1,
s_8);
301 if (ret < 0)
return ret;
305 {
int ret = slice_from_s(1,
s_9);
306 if (ret < 0)
return ret;
310 {
int ret = skip_utf8(p, c, 0, l, 1);
311 if (ret < 0)
goto lab0;
325 if (!(I_p1 <= c))
return 0;
330 if (!(I_p2 <= c))
return 0;
335 {
int m_test1 = l - c;
336 if (c - 1 <= lb || p[c - 1] >> 5 != 3 || !((1050640 >> (p[c - 1] & 0x1f)) & 1))
return 0;
337 if (!(find_among_b(
s_pool,
a_2, 3, 0, 0)))
return 0;
341 {
int ret = skip_utf8(p, c, lb, 0, -1);
342 if (ret < 0)
return 0;
346 {
int ret = slice_del();
347 if (ret < 0)
return ret;
355 if (c <= lb || p[c - 1] !=
'e')
return 0;
359 if (ret <= 0)
return ret;
361 {
int m_test1 = l - c;
362 if (out_grouping_b_U(
g_v, 97, 232, 0))
return 0;
365 {
int ret = slice_del();
366 if (ret < 0)
return ret;
369 {
int ret = r_undouble();
370 if (ret <= 0)
return ret;
377 if (ret <= 0)
return ret;
379 {
int m1 = l - c; (void)m1;
380 if (out_grouping_b_U(
g_v, 97, 232, 0))
return 0;
382 {
int m2 = l - c; (void)m2;
383 if (!(eq_s_b(3,
s_10)))
goto lab0;
389 {
int ret = slice_del();
390 if (ret < 0)
return ret;
392 {
int ret = r_undouble();
393 if (ret <= 0)
return ret;
400 {
int m1 = l - c; (void)m1;
402 if (c <= lb || p[c - 1] >> 5 != 3 || !((540704 >> (p[c - 1] & 0x1f)) & 1))
goto lab0;
403 among_var = find_among_b(
s_pool,
a_3, 5, 0, 0);
404 if (!(among_var))
goto lab0;
409 if (ret == 0)
goto lab0;
410 if (ret < 0)
return ret;
412 {
int ret = slice_from_s(4,
s_11);
413 if (ret < 0)
return ret;
417 {
int ret = r_en_ending();
418 if (ret == 0)
goto lab0;
419 if (ret < 0)
return ret;
424 if (ret == 0)
goto lab0;
425 if (ret < 0)
return ret;
427 if (out_grouping_b_U(
g_v_j, 97, 232, 0))
goto lab0;
428 {
int ret = slice_del();
429 if (ret < 0)
return ret;
436 {
int m2 = l - c; (void)m2;
437 {
int ret = r_e_ending();
438 if (ret < 0)
return ret;
442 {
int m3 = l - c; (void)m3;
444 if (!(eq_s_b(4,
s_12)))
goto lab1;
447 if (ret == 0)
goto lab1;
448 if (ret < 0)
return ret;
450 {
int m4 = l - c; (void)m4;
451 if (c <= lb || p[c - 1] !=
'c')
goto lab2;
457 {
int ret = slice_del();
458 if (ret < 0)
return ret;
461 if (!(eq_s_b(2,
s_13)))
goto lab1;
463 {
int ret = r_en_ending();
464 if (ret == 0)
goto lab1;
465 if (ret < 0)
return ret;
470 {
int m5 = l - c; (void)m5;
472 if (c - 1 <= lb || p[c - 1] >> 5 != 3 || !((264336 >> (p[c - 1] & 0x1f)) & 1))
goto lab3;
473 among_var = find_among_b(
s_pool,
a_4, 6, 0, 0);
474 if (!(among_var))
goto lab3;
479 if (ret == 0)
goto lab3;
480 if (ret < 0)
return ret;
482 {
int ret = slice_del();
483 if (ret < 0)
return ret;
485 {
int m6 = l - c; (void)m6;
487 if (!(eq_s_b(2,
s_14)))
goto lab5;
490 if (ret == 0)
goto lab5;
491 if (ret < 0)
return ret;
493 {
int m7 = l - c; (void)m7;
494 if (c <= lb || p[c - 1] !=
'e')
goto lab6;
500 {
int ret = slice_del();
501 if (ret < 0)
return ret;
506 {
int ret = r_undouble();
507 if (ret == 0)
goto lab3;
508 if (ret < 0)
return ret;
515 if (ret == 0)
goto lab3;
516 if (ret < 0)
return ret;
518 {
int m8 = l - c; (void)m8;
519 if (c <= lb || p[c - 1] !=
'e')
goto lab7;
525 {
int ret = slice_del();
526 if (ret < 0)
return ret;
531 if (ret == 0)
goto lab3;
532 if (ret < 0)
return ret;
534 {
int ret = slice_del();
535 if (ret < 0)
return ret;
537 {
int ret = r_e_ending();
538 if (ret == 0)
goto lab3;
539 if (ret < 0)
return ret;
544 if (ret == 0)
goto lab3;
545 if (ret < 0)
return ret;
547 {
int ret = slice_del();
548 if (ret < 0)
return ret;
553 if (ret == 0)
goto lab3;
554 if (ret < 0)
return ret;
556 if (!(I_e_found))
goto lab3;
557 {
int ret = slice_del();
558 if (ret < 0)
return ret;
565 {
int m9 = l - c; (void)m9;
566 if (out_grouping_b_U(
g_v_I, 73, 232, 0))
goto lab8;
567 {
int m_test10 = l - c;
568 if (c - 1 <= lb || p[c - 1] >> 5 != 3 || !((2129954 >> (p[c - 1] & 0x1f)) & 1))
goto lab8;
569 if (!(find_among_b(
s_pool,
a_5, 4, 0, 0)))
goto lab8;
570 if (out_grouping_b_U(
g_v, 97, 232, 0))
goto lab8;
574 {
int ret = skip_utf8(p, c, lb, 0, -1);
575 if (ret < 0)
goto lab8;
579 {
int ret = slice_del();
580 if (ret < 0)
return ret;
590 {
int ret = r_prelude();
591 if (ret < 0)
return ret;
596 {
int ret = r_mark_regions();
597 if (ret < 0)
return ret;
604 {
int ret = r_standard_suffix();
605 if (ret < 0)
return ret;
609 {
int ret = r_postlude();
610 if (ret < 0)
return ret;
618 : I_p2(0), I_p1(0), I_e_found(0)
std::string get_description() const
Return a string describing this object.
int stem()
Virtual method implemented by the subclass to actually do the work.
int out_grouping_U(const unsigned char *s, int min, int max, int repeat)
int in_grouping_U(const unsigned char *s, int min, int max, int repeat)
int slice_from_s(int s_size, const symbol *s)
int find_among(const symbol *pool, const struct among *v, int v_size, const unsigned char *fnum, const among_function *f)
static int skip_utf8(const symbol *p, int c, int lb, int l, int n)
static const struct among a_5[4]
static const symbol s_2[]
static const symbol s_4[]
static const unsigned char g_v_I[]
static const unsigned char g_v_j[]
static const struct among a_4[6]
static const symbol s_6[]
static const symbol s_3[]
static const symbol s_7[]
static const symbol s_13[]
static const symbol s_14[]
static const symbol s_10[]
static const struct among a_1[3]
static const symbol s_1[]
static const struct among a_2[3]
static const symbol s_11[]
static const symbol s_12[]
static const struct among a_0[11]
static const struct among a_3[5]
static const symbol s_pool[]
static const unsigned char g_v[]
static const symbol s_8[]
static const symbol s_9[]
static const symbol s_5[]
static const symbol s_0[]