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;
149 if (ret < 0)
return 0;
164 if (
c <
I_p1)
return 0;
167 if (
c <=
lb ||
p[
c - 1] >> 5 != 3 || !((1851440 >> (
p[
c - 1] & 0x1f)) & 1)) {
lb = mlimit1;
return 0; }
169 if (!(among_var)) {
lb = mlimit1;
return 0; }
176 if (ret < 0)
return ret;
182 if (ret < 0)
return ret;
190 {
int m_test1 =
l -
c;
193 if (c <
I_p1)
return 0;
196 if (c - 1 <=
lb || (
p[c - 1] != 100 &&
p[c - 1] != 116)) {
lb = mlimit2;
return 0; }
204 if (ret < 0)
return 0;
209 if (ret < 0)
return ret;
216 {
int m1 =
l -
c; (void)m1;
222 if (ret < 0)
return ret;
229 if (
c <
I_p1)
return 0;
232 if (
c - 1 <=
lb ||
p[
c - 1] >> 5 != 3 || !((1572992 >> (
p[
c - 1] & 0x1f)) & 1)) {
lb = mlimit2;
return 0; }
234 if (!(among_var)) {
lb = mlimit2;
return 0; }
241 if (ret < 0)
return ret;
243 {
int m3 =
l -
c; (void)m3;
245 if (ret < 0)
return ret;
252 if (ret < 0)
return ret;
262 if (
c <
I_p1)
return 0;
268 if (ret == 0)
return -1;
275 if (ret < 0)
return ret;
283 if (ret < 0)
return ret;
289 {
int m2 =
l -
c; (void)m2;
291 if (ret < 0)
return ret;
295 {
int m3 =
l -
c; (void)m3;
297 if (ret < 0)
return ret;
301 {
int m4 =
l -
c; (void)m4;
303 if (ret < 0)
return ret;
307 {
int m5 =
l -
c; (void)m5;
309 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)