8 #define s_0_0 (s_0_1 + 2) 11 'e',
't',
'h',
'e',
'd',
13 #define s_0_3 (s_0_0 + 1) 15 'e',
'r',
'e',
'd',
'e',
16 #define s_0_5 (s_0_6 + 2) 26 'h',
'e',
'd',
'e',
'r',
29 #define s_0_16 (s_0_17 + 3) 32 #define s_0_18 (s_0_19 + 3) 33 #define s_0_19 (s_0_20 + 2) 35 'e',
'r',
'e',
'n',
'd',
'e',
's',
39 'e',
'r',
'n',
'e',
's',
42 #define s_0_24 (s_0_25 + 3) 44 'h',
'e',
'd',
'e',
'n',
's',
46 'e',
'r',
'e',
'n',
's',
49 #define s_0_28 (s_0_29 + 2) 51 'e',
'r',
'e',
't',
's',
62 #define s_2_0 (s_2_1 + 1) 63 #define s_2_1 (s_2_2 + 1) 69 'l', 0xC3, 0xB8,
's',
't',
128 static const unsigned char g_v[] = { 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 0, 128 };
130 static const unsigned char g_s_ending[] = { 239, 254, 42, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16 };
140 if (ret < 0)
return 0;
148 if (ret < 0)
return 0;
153 if (ret < 0)
return 0;
168 if (
c <
I_p1)
return 0;
171 if (
c <=
lb ||
p[
c - 1] >> 5 != 3 || !((1851440 >> (
p[
c - 1] & 0x1f)) & 1)) {
lb = mlimit1;
return 0; }
173 if (!(among_var)) {
lb = mlimit1;
return 0; }
180 if (ret < 0)
return ret;
186 if (ret < 0)
return ret;
194 {
int m_test1 =
l -
c;
197 if (c <
I_p1)
return 0;
200 if (c - 1 <=
lb || (
p[c - 1] != 100 &&
p[c - 1] != 116)) {
lb = mlimit2;
return 0; }
208 if (ret < 0)
return 0;
213 if (ret < 0)
return ret;
220 {
int m1 =
l -
c; (void)m1;
226 if (ret < 0)
return ret;
233 if (
c <
I_p1)
return 0;
236 if (
c - 1 <=
lb ||
p[
c - 1] >> 5 != 3 || !((1572992 >> (
p[
c - 1] & 0x1f)) & 1)) {
lb = mlimit2;
return 0; }
238 if (!(among_var)) {
lb = mlimit2;
return 0; }
245 if (ret < 0)
return ret;
247 {
int m3 =
l -
c; (void)m3;
249 if (ret < 0)
return ret;
256 if (ret < 0)
return ret;
266 if (
c <
I_p1)
return 0;
272 if (ret == 0)
return -1;
279 if (ret < 0)
return ret;
287 if (ret < 0)
return ret;
293 {
int m2 =
l -
c; (void)m2;
295 if (ret < 0)
return ret;
299 {
int m3 =
l -
c; (void)m3;
301 if (ret < 0)
return ret;
305 {
int m4 =
l -
c; (void)m4;
307 if (ret < 0)
return ret;
311 {
int m5 =
l -
c; (void)m5;
313 if (ret < 0)
return ret;
static const symbol s_1[]
int find_among_b(const symbol *pool, const struct among *v, int v_size, const unsigned char *fnum, const among_function *f)
int eq_v_b(const symbol *v)
static const unsigned char g_v[]
int eq_s_b(int s_size, const symbol *s)
int stem()
Virtual method implemented by the subclass to actually do the work.
static const symbol s_pool[]
symbol * slice_to(symbol *v)
int slice_from_s(int s_size, const symbol *s)
static const symbol s_2[]
static const struct among a_2[5]
static int skip_utf8(const symbol *p, int c, int lb, int l, int n)
int in_grouping_b_U(const unsigned char *s, int min, int max, int repeat)
std::string get_description() const
Return a string describing this object.
static const struct among a_1[4]
int out_grouping_b_U(const unsigned char *s, int min, int max, int repeat)
static symbol * create_s()
int out_grouping_U(const unsigned char *s, int min, int max, int repeat)
static const symbol s_0[]
static const unsigned char g_s_ending[]
static const struct among a_0[32]
int in_grouping_U(const unsigned char *s, int min, int max, int repeat)