10 'a', 
'r', 
's', 
'e', 
'n',
    12 'c', 
'o', 
'm', 
'm', 
'u', 
'n',
    14 'g', 
'e', 
'n', 
'e', 
'r',
    15 #define s_1_0 (s_1_1 + 2)    21 #define s_2_1 (s_2_2 + 2)    53 #define s_4_0 (s_4_1 + 1)    56 #define s_4_3 (s_4_4 + 1)    58 'e', 
'e', 
'd', 
'l', 
'y',
    60 'i', 
'n', 
'g', 
'l', 
'y',
    67 #define s_5_3 (s_5_4 + 1)    68 #define s_5_4 (s_5_5 + 1)    74 'f', 
'u', 
'l', 
'l', 
'i',
    76 'l', 
'e', 
's', 
's', 
'l', 
'i',
    78 'o', 
'u', 
's', 
'l', 
'i',
    80 'e', 
'n', 
't', 
'l', 
'i',
    82 'a', 
'l', 
'i', 
't', 
'i',
    84 'b', 
'i', 
'l', 
'i', 
't', 
'i',
    86 'i', 
'v', 
'i', 
't', 
'i',
    87 #define s_5_14 (s_5_15 + 1)    89 'a', 
't', 
'i', 
'o', 
'n', 
'a', 
'l',
    91 'a', 
'l', 
'i', 
's', 
'm',
    94 'i', 
'z', 
'a', 
't', 
'i', 
'o', 
'n',
   100 'i', 
'v', 
'e', 
'n', 
'e', 
's', 
's',
   102 'f', 
'u', 
'l', 
'n', 
'e', 
's', 
's',
   104 'o', 
'u', 
's', 
'n', 
'e', 
's', 
's',
   106 'i', 
'c', 
'a', 
't', 
'e',
   108 'a', 
't', 
'i', 
'v', 
'e',
   110 'a', 
'l', 
'i', 
'z', 
'e',
   112 'i', 
'c', 
'i', 
't', 
'i',
   115 #define s_6_5 (s_6_6 + 1)   117 'a', 
't', 
'i', 
'o', 
'n', 
'a', 
'l',
   152 #define s_7_15 (s_7_16 + 1)   153 #define s_7_16 (s_7_17 + 1)   155 'e', 
'm', 
'e', 
'n', 
't',
   161 's', 
'u', 
'c', 
'c', 
'e', 
'e', 
'd',
   163 'p', 
'r', 
'o', 
'c', 
'e', 
'e', 
'd',
   165 'e', 
'x', 
'c', 
'e', 
'e', 
'd',
   167 'c', 
'a', 
'n', 
'n', 
'i', 
'n', 
'g',
   169 'i', 
'n', 
'n', 
'i', 
'n', 
'g',
   171 'e', 
'a', 
'r', 
'r', 
'i', 
'n', 
'g',
   173 'h', 
'e', 
'r', 
'r', 
'i', 
'n', 
'g',
   175 'o', 
'u', 
't', 
'i', 
'n', 
'g',
   177 'a', 
'n', 
'd', 
'e', 
's',
   179 'a', 
't', 
'l', 
'a', 
's',
   183 'c', 
'o', 
's', 
'm', 
'o', 
's',
   185 'd', 
'y', 
'i', 
'n', 
'g',
   187 'e', 
'a', 
'r', 
'l', 
'y',
   189 'g', 
'e', 
'n', 
't', 
'l', 
'y',
   195 'l', 
'y', 
'i', 
'n', 
'g',
   201 's', 
'i', 
'n', 
'g', 
'l', 
'y',
   203 's', 
'k', 
'i', 
'e', 
's',
   207 't', 
'y', 
'i', 
'n', 
'g',
   376 static const unsigned char g_v[] = { 17, 65, 16, 1 };
   378 static const unsigned char g_v_WXY[] = { 1, 17, 65, 208, 1 };
   425         if (
c == 
l || 
p[
c] != 
'\'') 
goto lab0;
   429             if (ret < 0) 
return ret;
   436         if (
c == 
l || 
p[
c] != 
'y') 
goto lab1;
   440             if (ret < 0) 
return ret;
   453                 if (
c == 
l || 
p[
c] != 
'y') 
goto lab4;
   461                     if (ret < 0) 
goto lab3;
   466                 if (ret < 0) 
return ret;
   484             if (
c + 4 >= 
l || 
p[
c + 4] >> 5 != 3 || !((2375680 >> (
p[
c + 4] & 0x1f)) & 1)) 
goto lab2;
   491                 if (ret < 0) 
goto lab0;
   496                 if (ret < 0) 
goto lab0;
   504             if (ret < 0) 
goto lab0;
   509             if (ret < 0) 
goto lab0;
   520     {   
int m1 = 
l - 
c; (void)m1;
   529         if (c > 
lb) 
return 0;
   536     if (!(
I_p1 <= 
c)) 
return 0;
   541     if (!(
I_p2 <= 
c)) 
return 0;
   547     {   
int m1 = 
l - 
c; (void)m1;
   549         if (c <= 
lb || (
p[c - 1] != 39 && 
p[c - 1] != 115)) { c = 
l - m1; 
goto lab0; }
   553             if (ret < 0) 
return ret;
   559     if (
c <= 
lb || (
p[
c - 1] != 100 && 
p[
c - 1] != 115)) 
return 0;
   561     if (!(among_var)) 
return 0;
   566                 if (ret < 0) 
return ret;
   570             {   
int m2 = 
l - 
c; (void)m2;
   572                     if (ret < 0) 
goto lab2;
   576                     if (ret < 0) 
return ret;
   582                     if (ret < 0) 
return ret;
   589                 if (ret < 0) 
return 0;
   594                 if (ret < 0) 
return 0;
   598                 if (ret < 0) 
return ret;
   608     if (
c - 1 <= 
lb || 
p[
c - 1] >> 5 != 3 || !((33554576 >> (
p[
c - 1] & 0x1f)) & 1)) 
return 0;
   610     if (!(among_var)) 
return 0;
   615                 if (ret <= 0) 
return ret;
   618                 if (ret < 0) 
return ret;
   622             {   
int m_test1 = 
l - 
c;
   625                     if (ret < 0) 
return 0;
   631                 if (ret < 0) 
return ret;
   633             {   
int m_test2 = 
l - 
c;
   634                 if (c - 1 <= 
lb || 
p[c - 1] >> 5 != 3 || !((68514004 >> (
p[c - 1] & 0x1f)) & 1)) among_var = 3; 
else   636                 if (!(among_var)) 
return 0;
   649                         if (ret < 0) 
return 0;
   654                         if (ret < 0) 
return ret;
   658                     if (
c != 
I_p1) 
return 0;
   659                     {   
int m_test3 = 
l - 
c;
   661                             if (ret <= 0) 
return ret;
   678     {   
int m1 = 
l - 
c; (void)m1;
   679         if (c <= 
lb || 
p[c - 1] != 
'y') 
goto lab1;
   684         if (c <= 
lb || 
p[c - 1] != 
'Y') 
return 0;
   691     if (
c > 
lb) 
goto lab2;
   695         if (ret < 0) 
return ret;
   703     if (
c - 1 <= 
lb || 
p[
c - 1] >> 5 != 3 || !((815616 >> (
p[
c - 1] & 0x1f)) & 1)) 
return 0;
   705     if (!(among_var)) 
return 0;
   708         if (ret <= 0) 
return ret;
   713                 if (ret < 0) 
return ret;
   718                 if (ret < 0) 
return ret;
   723                 if (ret < 0) 
return ret;
   728                 if (ret < 0) 
return ret;
   733                 if (ret < 0) 
return ret;
   738                 if (ret < 0) 
return ret;
   743                 if (ret < 0) 
return ret;
   748                 if (ret < 0) 
return ret;
   753                 if (ret < 0) 
return ret;
   758                 if (ret < 0) 
return ret;
   763                 if (ret < 0) 
return ret;
   768                 if (ret < 0) 
return ret;
   772             if (
c <= 
lb || 
p[
c - 1] != 
'l') 
return 0;
   775                 if (ret < 0) 
return ret;
   780                 if (ret < 0) 
return ret;
   786                 if (ret < 0) 
return ret;
   796     if (
c - 2 <= 
lb || 
p[
c - 1] >> 5 != 3 || !((528928 >> (
p[
c - 1] & 0x1f)) & 1)) 
return 0;
   798     if (!(among_var)) 
return 0;
   801         if (ret <= 0) 
return ret;
   806                 if (ret < 0) 
return ret;
   811                 if (ret < 0) 
return ret;
   816                 if (ret < 0) 
return ret;
   821                 if (ret < 0) 
return ret;
   826                 if (ret < 0) 
return ret;
   831                 if (ret <= 0) 
return ret;
   834                 if (ret < 0) 
return ret;
   844     if (
c - 1 <= 
lb || 
p[
c - 1] >> 5 != 3 || !((1864232 >> (
p[
c - 1] & 0x1f)) & 1)) 
return 0;
   846     if (!(among_var)) 
return 0;
   849         if (ret <= 0) 
return ret;
   854                 if (ret < 0) 
return ret;
   858             {   
int m1 = 
l - 
c; (void)m1;
   859                 if (c <= 
lb || 
p[c - 1] != 
's') 
goto lab1;
   864                 if (c <= 
lb || 
p[c - 1] != 
't') 
return 0;
   869                 if (ret < 0) 
return ret;
   879     if (
c <= 
lb || (
p[
c - 1] != 101 && 
p[
c - 1] != 108)) 
return 0;
   881     if (!(among_var)) 
return 0;
   885             {   
int m1 = 
l - 
c; (void)m1;
   887                     if (ret == 0) 
goto lab1;
   888                     if (ret < 0) 
return ret;
   894                     if (ret <= 0) 
return ret;
   896                 {   
int m2 = 
l - 
c; (void)m2;
   898                         if (ret == 0) 
goto lab2;
   899                         if (ret < 0) 
return ret;
   908                 if (ret < 0) 
return ret;
   913                 if (ret <= 0) 
return ret;
   915             if (
c <= 
lb || 
p[
c - 1] != 
'l') 
return 0;
   918                 if (ret < 0) 
return ret;
   927     if (
c - 5 <= 
lb || (
p[
c - 1] != 100 && 
p[
c - 1] != 103)) 
return 0;
   930     if (
c > 
lb) 
return 0;
   937     if (
c + 2 >= 
l || 
p[
c + 2] >> 5 != 3 || !((42750482 >> (
p[
c + 2] & 0x1f)) & 1)) 
return 0;
   939     if (!(among_var)) 
return 0;
   945                 if (ret < 0) 
return ret;
   950                 if (ret < 0) 
return ret;
   955                 if (ret < 0) 
return ret;
   960                 if (ret < 0) 
return ret;
   965                 if (ret < 0) 
return ret;
   970                 if (ret < 0) 
return ret;
   975                 if (ret < 0) 
return ret;
   980                 if (ret < 0) 
return ret;
   985                 if (ret < 0) 
return ret;
   990                 if (ret < 0) 
return ret;
  1004             if (
c == 
l || 
p[
c] != 
'Y') 
goto lab1;
  1012                 if (ret < 0) 
goto lab0;
  1017             if (ret < 0) 
return ret;
  1030             if (ret == 0) 
goto lab1;
  1031             if (ret < 0) 
return ret;
  1038                 if (ret < 0) 
goto lab3;
  1050             if (ret < 0) 
return ret;
  1054             if (ret < 0) 
return ret;
  1058         {   
int m3 = 
l - 
c; (void)m3;
  1060                 if (ret < 0) 
return ret;
  1064         {   
int m4 = 
l - 
c; (void)m4;
  1066                 if (ret == 0) 
goto lab5;
  1067                 if (ret < 0) 
return ret;
  1072             {   
int m5 = 
l - 
c; (void)m5;
  1074                     if (ret < 0) 
return ret;
  1078             {   
int m6 = 
l - 
c; (void)m6;
  1080                     if (ret < 0) 
return ret;
  1084             {   
int m7 = 
l - 
c; (void)m7;
  1086                     if (ret < 0) 
return ret;
  1090             {   
int m8 = 
l - 
c; (void)m8;
  1092                     if (ret < 0) 
return ret;
  1096             {   
int m9 = 
l - 
c; (void)m9;
  1098                     if (ret < 0) 
return ret;
  1102             {   
int m10 = 
l - 
c; (void)m10;
  1104                     if (ret < 0) 
return ret;
  1113                 if (ret < 0) 
return ret;
 
static const symbol s_11[]
 
static const symbol s_21[]
 
static const symbol s_18[]
 
static const symbol s_36[]
 
static const symbol s_30[]
 
static const struct among a_8[2]
 
int find_among_b(const symbol *pool, const struct among *v, int v_size, const unsigned char *fnum, const among_function *f)
 
static const struct among a_1[3]
 
static const symbol s_7[]
 
static const symbol s_25[]
 
static const struct among a_5[24]
 
static const unsigned char g_valid_LI[]
 
static const symbol s_17[]
 
static const symbol s_26[]
 
static const symbol s_8[]
 
static const struct among a_3[13]
 
static const symbol s_5[]
 
static const symbol s_13[]
 
static const symbol s_1[]
 
int stem()
Virtual method implemented by the subclass to actually do the work. 
 
static const struct among a_7[18]
 
static const symbol s_34[]
 
static const symbol s_19[]
 
static const symbol s_31[]
 
int slice_from_s(int s_size, const symbol *s)
 
static const struct among a_9[8]
 
static const symbol s_29[]
 
static const symbol s_23[]
 
void insert_s(int c_bra, int c_ket, int s_size, const symbol *s)
 
static const symbol s_15[]
 
static const struct among a_10[17]
 
static const symbol s_9[]
 
static const symbol s_0[]
 
static const unsigned char g_v_WXY[]
 
static const struct among a_2[6]
 
static const symbol s_4[]
 
static const struct among a_0[3]
 
static const symbol s_22[]
 
static int skip_utf8(const symbol *p, int c, int lb, int l, int n)
 
static const symbol s_20[]
 
std::string get_description() const
Return a string describing this object. 
 
static const symbol s_35[]
 
static const symbol s_2[]
 
static const symbol s_16[]
 
int in_grouping_b_U(const unsigned char *s, int min, int max, int repeat)
 
static const symbol s_33[]
 
static const symbol s_28[]
 
static const symbol s_32[]
 
static const struct among a_6[9]
 
static const symbol s_14[]
 
int out_grouping_b_U(const unsigned char *s, int min, int max, int repeat)
 
static const symbol s_3[]
 
static const symbol s_24[]
 
static const symbol s_27[]
 
static const struct among a_4[6]
 
int find_among(const symbol *pool, const struct among *v, int v_size, const unsigned char *fnum, const among_function *f)
 
int out_grouping_U(const unsigned char *s, int min, int max, int repeat)
 
static const unsigned char g_v[]
 
static const symbol s_12[]
 
static const symbol s_pool[]
 
static const symbol s_37[]
 
static const symbol s_10[]
 
int in_grouping_U(const unsigned char *s, int min, int max, int repeat)
 
static const symbol s_6[]