351 #define s_3_0 (s_3_1 + 2) 353 0xD8, 0xA8, 0xD8, 0xA7, 0xD9, 0x84,
355 0xD9, 0x83, 0xD8, 0xA7, 0xD9, 0x84,
357 0xD9, 0x84, 0xD9, 0x84,
359 0xD8, 0xA3, 0xD8, 0xA2,
361 0xD8, 0xA3, 0xD8, 0xA3,
363 0xD8, 0xA3, 0xD8, 0xA4,
365 0xD8, 0xA3, 0xD8, 0xA5,
367 0xD8, 0xA3, 0xD8, 0xA7,
372 #define s_6_0 (s_6_1 + 2) 374 0xD8, 0xA8, 0xD8, 0xA7, 0xD9, 0x84,
376 0xD9, 0x83, 0xD8, 0xA7, 0xD9, 0x84,
378 0xD9, 0x84, 0xD9, 0x84,
381 0xD8, 0xA8, 0xD8, 0xA7,
383 0xD8, 0xA8, 0xD8, 0xA8,
385 0xD9, 0x83, 0xD9, 0x83,
387 0xD8, 0xB3, 0xD8, 0xA3,
389 0xD8, 0xB3, 0xD8, 0xAA,
391 0xD8, 0xB3, 0xD9, 0x86,
393 0xD8, 0xB3, 0xD9, 0x8A,
395 0xD8, 0xAA, 0xD8, 0xB3, 0xD8, 0xAA,
397 0xD9, 0x86, 0xD8, 0xB3, 0xD8, 0xAA,
399 0xD9, 0x8A, 0xD8, 0xB3, 0xD8, 0xAA,
400 #define s_10_0 s_10_1 401 #define s_10_1 s_10_6 402 #define s_10_2 s_10_7 404 0xD9, 0x87, 0xD9, 0x86,
405 #define s_10_4 s_10_2 409 0xD9, 0x83, 0xD9, 0x85, 0xD8, 0xA7,
411 0xD9, 0x87, 0xD9, 0x85, 0xD8, 0xA7,
413 0xD9, 0x86, 0xD8, 0xA7,
415 0xD9, 0x87, 0xD8, 0xA7,
425 0xD8, 0xA7, 0xD8, 0xAA,
432 #define s_17_0 s_17_1 433 #define s_17_1 s_17_6 434 #define s_17_2 s_17_9 436 0xD9, 0x83, 0xD9, 0x86,
438 0xD9, 0x87, 0xD9, 0x86,
439 #define s_17_5 s_17_2 441 0xD9, 0x83, 0xD9, 0x85, 0xD9, 0x88,
443 0xD9, 0x86, 0xD9, 0x8A,
445 0xD9, 0x83, 0xD9, 0x85, 0xD8, 0xA7,
447 0xD9, 0x87, 0xD9, 0x85, 0xD8, 0xA7,
449 0xD9, 0x86, 0xD8, 0xA7,
451 0xD9, 0x87, 0xD8, 0xA7,
452 #define s_18_0 (s_18_1 + 2) 454 0xD9, 0x88, 0xD9, 0x86,
456 0xD9, 0x8A, 0xD9, 0x86,
458 0xD8, 0xA7, 0xD9, 0x86,
460 0xD8, 0xAA, 0xD9, 0x86,
461 #define s_18_5 s_18_2 462 #define s_18_6 s_18_3 464 0xD8, 0xAA, 0xD9, 0x85, 0xD8, 0xA7,
466 0xD9, 0x86, 0xD8, 0xA7,
468 0xD8, 0xAA, 0xD8, 0xA7,
469 #define s_18_10 s_18_4 471 0xD8, 0xAA, 0xD9, 0x85,
473 0xD9, 0x88, 0xD8, 0xA7,
474 #define s_20_0 (s_20_1 + 4) 476 0xD8, 0xAA, 0xD9, 0x85, 0xD9, 0x88,
899 static const symbol s_65[] = { 0xD8, 0xA7, 0xD8, 0xB3, 0xD8, 0xAA };
910 if (!(among_var))
goto lab3;
915 if (ret < 0)
return ret;
920 if (ret < 0)
return ret;
925 if (ret < 0)
return ret;
930 if (ret < 0)
return ret;
935 if (ret < 0)
return ret;
940 if (ret < 0)
return ret;
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;
995 if (ret < 0)
return ret;
1000 if (ret < 0)
return ret;
1005 if (ret < 0)
return ret;
1010 if (ret < 0)
return ret;
1015 if (ret < 0)
return ret;
1020 if (ret < 0)
return ret;
1025 if (ret < 0)
return ret;
1030 if (ret < 0)
return ret;
1035 if (ret < 0)
return ret;
1040 if (ret < 0)
return ret;
1045 if (ret < 0)
return ret;
1050 if (ret < 0)
return ret;
1055 if (ret < 0)
return ret;
1060 if (ret < 0)
return ret;
1065 if (ret < 0)
return ret;
1070 if (ret < 0)
return ret;
1075 if (ret < 0)
return ret;
1080 if (ret < 0)
return ret;
1085 if (ret < 0)
return ret;
1090 if (ret < 0)
return ret;
1095 if (ret < 0)
return ret;
1100 if (ret < 0)
return ret;
1105 if (ret < 0)
return ret;
1110 if (ret < 0)
return ret;
1115 if (ret < 0)
return ret;
1120 if (ret < 0)
return ret;
1125 if (ret < 0)
return ret;
1130 if (ret < 0)
return ret;
1135 if (ret < 0)
return ret;
1140 if (ret < 0)
return ret;
1145 if (ret < 0)
return ret;
1150 if (ret < 0)
return ret;
1155 if (ret < 0)
return ret;
1160 if (ret < 0)
return ret;
1165 if (ret < 0)
return ret;
1173 if (ret < 0)
goto lab1;
1194 if (
c - 1 <=
lb ||
p[
c - 1] >> 5 != 5 || !((124 >> (
p[
c - 1] & 0x1f)) & 1))
goto lab0;
1198 if (ret < 0)
return ret;
1209 if (
c + 1 >=
l ||
p[
c + 1] >> 5 != 5 || !((124 >> (
p[
c + 1] & 0x1f)) & 1))
goto lab4;
1211 if (!(among_var))
goto lab4;
1213 switch (among_var) {
1216 if (ret < 0)
return ret;
1221 if (ret < 0)
return ret;
1226 if (ret < 0)
return ret;
1234 if (ret < 0)
goto lab2;
1252 if (
c + 3 >=
l || (
p[
c + 3] != 132 &&
p[
c + 3] != 167))
return 0;
1254 if (!(among_var))
return 0;
1256 switch (among_var) {
1276 if (
c + 3 >=
l ||
p[
c + 3] >> 5 != 5 || !((188 >> (
p[
c + 3] & 0x1f)) & 1))
return 0;
1278 if (!(among_var))
return 0;
1280 switch (among_var) {
1284 if (ret < 0)
return ret;
1290 if (ret < 0)
return ret;
1296 if (ret < 0)
return ret;
1302 if (ret < 0)
return ret;
1311 if (
c + 1 >=
l || (
p[
c + 1] != 129 &&
p[
c + 1] != 136))
return 0;
1322 if (ret < 0)
return ret;
1330 if (
c + 3 >=
l || (
p[
c + 3] != 132 &&
p[
c + 3] != 167))
return 0;
1332 if (!(among_var))
return 0;
1334 switch (among_var) {
1338 if (ret < 0)
return ret;
1344 if (ret < 0)
return ret;
1354 if (
c + 1 >=
l || (
p[
c + 1] != 168 &&
p[
c + 1] != 131))
return 0;
1356 if (!(among_var))
return 0;
1358 switch (among_var) {
1362 if (ret < 0)
return ret;
1368 if (ret < 0)
return ret;
1374 if (ret < 0)
return ret;
1385 if (!(among_var))
return 0;
1387 switch (among_var) {
1391 if (ret < 0)
return ret;
1397 if (ret < 0)
return ret;
1403 if (ret < 0)
return ret;
1409 if (ret < 0)
return ret;
1418 if (
c + 5 >=
l ||
p[
c + 5] != 170)
return 0;
1425 if (ret < 0)
return ret;
1434 if (!(among_var))
return 0;
1436 switch (among_var) {
1440 if (ret < 0)
return ret;
1446 if (ret < 0)
return ret;
1452 if (ret < 0)
return ret;
1461 if (
c - 1 <=
lb ||
p[
c - 1] != 134)
return 0;
1466 if (ret < 0)
return ret;
1477 if (ret < 0)
return ret;
1484 if (
c - 3 <=
lb ||
p[
c - 1] != 170)
return 0;
1489 if (ret < 0)
return ret;
1496 if (
c - 1 <=
lb ||
p[
c - 1] != 170)
return 0;
1501 if (ret < 0)
return ret;
1508 if (
c - 1 <=
lb ||
p[
c - 1] != 169)
return 0;
1513 if (ret < 0)
return ret;
1520 if (
c - 1 <=
lb ||
p[
c - 1] != 138)
return 0;
1525 if (ret < 0)
return ret;
1534 if (!(among_var))
return 0;
1536 switch (among_var) {
1540 if (ret < 0)
return ret;
1546 if (ret < 0)
return ret;
1552 if (ret < 0)
return ret;
1563 if (!(among_var))
return 0;
1565 switch (among_var) {
1569 if (ret < 0)
return ret;
1575 if (ret < 0)
return ret;
1581 if (ret < 0)
return ret;
1587 if (ret < 0)
return ret;
1596 if (
c - 3 <=
lb || (
p[
c - 1] != 133 &&
p[
c - 1] != 167))
return 0;
1601 if (ret < 0)
return ret;
1609 if (
c - 1 <=
lb ||
p[
c - 1] != 136)
return 0;
1611 if (!(among_var))
return 0;
1613 switch (among_var) {
1617 if (ret < 0)
return ret;
1623 if (ret < 0)
return ret;
1632 if (
c - 1 <=
lb ||
p[
c - 1] != 137)
return 0;
1636 if (ret < 0)
return ret;
1647 if (ret < 0)
return ret;
1653 if (ret < 0)
return ret;
1657 {
int m2 =
l -
c; (void)m2;
1658 {
int m3 =
l -
c; (void)m3;
1660 {
int m4 =
l -
c; (void)m4;
1663 int m5 =
l -
c; (void)m5;
1665 if (ret == 0)
goto lab5;
1666 if (ret < 0)
return ret;
1674 if (i > 0)
goto lab4;
1676 {
int m6 =
l -
c; (void)m6;
1678 if (ret == 0)
goto lab7;
1679 if (ret < 0)
return ret;
1685 if (ret == 0)
goto lab8;
1686 if (ret < 0)
return ret;
1692 if (ret < 0)
goto lab4;
1701 if (ret == 0)
goto lab9;
1702 if (ret < 0)
return ret;
1708 if (ret == 0)
goto lab2;
1709 if (ret < 0)
return ret;
1717 {
int m7 =
l -
c; (void)m7;
1718 {
int m8 =
l -
c; (void)m8;
1720 if (ret == 0)
goto lab13;
1721 if (ret < 0)
return ret;
1731 if (ret == 0)
goto lab14;
1732 if (ret < 0)
return ret;
1734 {
int m9 =
l -
c; (void)m9;
1736 if (ret == 0)
goto lab17;
1737 if (ret < 0)
return ret;
1743 if (ret == 0)
goto lab18;
1744 if (ret < 0)
return ret;
1750 if (ret == 0)
goto lab19;
1751 if (ret < 0)
return ret;
1757 if (ret < 0)
goto lab14;
1766 if (ret == 0)
goto lab20;
1767 if (ret < 0)
return ret;
1769 {
int m10 =
l -
c; (void)m10;
1771 if (ret == 0)
goto lab22;
1772 if (ret < 0)
return ret;
1778 if (ret == 0)
goto lab23;
1779 if (ret < 0)
return ret;
1785 if (ret == 0)
goto lab20;
1786 if (ret < 0)
return ret;
1798 if (ret == 0)
goto lab24;
1799 if (ret < 0)
return ret;
1805 if (ret == 0) { c =
l - m7;
goto lab11; }
1806 if (ret < 0)
return ret;
1814 if (ret == 0)
goto lab10;
1815 if (ret < 0)
return ret;
1821 if (ret == 0)
goto lab0;
1822 if (ret < 0)
return ret;
1833 if (ret == 0) {
c = c12;
goto lab27; }
1834 if (ret < 0)
return ret;
1841 if (ret == 0) {
c = c13;
goto lab28; }
1842 if (ret < 0)
return ret;
1849 if (ret == 0)
goto lab30;
1850 if (ret < 0)
return ret;
1857 if (ret == 0)
goto lab31;
1858 if (ret < 0)
return ret;
1866 if (ret == 0) {
c = c15;
goto lab32; }
1867 if (ret < 0)
return ret;
1873 if (ret == 0)
goto lab26;
1874 if (ret < 0)
return ret;
1883 if (ret < 0)
return ret;
static const symbol s_1[]
static const symbol s_15[]
static const symbol s_26[]
static const symbol s_25[]
static const symbol s_40[]
static const struct among a_6[4]
static const symbol s_47[]
static const struct among a_4[5]
static const symbol s_53[]
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_12[3]
static const symbol s_28[]
static const struct among a_2[5]
static const symbol s_12[]
int r_Suffix_Verb_Step2a()
static const struct among a_21[1]
int r_Prefix_Step3_Verb()
static const symbol s_56[]
static const symbol s_60[]
static const struct among a_11[1]
static const symbol s_48[]
std::string get_description() const
Return a string describing this object.
static const struct among a_9[3]
static const symbol s_33[]
static const symbol s_29[]
static const symbol s_50[]
static const symbol s_59[]
int eq_s(int s_size, const symbol *s)
static const symbol s_38[]
int r_Suffix_Verb_Step1()
static const symbol s_62[]
static const symbol s_45[]
static const struct among a_7[4]
int r_Suffix_All_alef_maqsura()
static const symbol s_2[]
int r_Suffix_Noun_Step2c1()
static const symbol s_66[]
static const symbol s_22[]
static const symbol s_34[]
static const struct among a_5[2]
static const symbol s_35[]
static const struct among a_8[4]
int r_Suffix_Noun_Step2a()
int r_Suffix_Verb_Step2c()
static const struct among a_19[2]
int r_Prefix_Step3a_Noun()
int slice_from_s(int s_size, const symbol *s)
static const symbol s_0[]
static const symbol s_42[]
static const symbol s_19[]
static const symbol s_41[]
static const symbol s_3[]
static const struct among a_3[4]
static const symbol s_13[]
static const symbol s_14[]
static const symbol s_31[]
static const struct among a_16[1]
static const symbol s_18[]
static const symbol s_11[]
static const struct among a_14[1]
static const symbol s_24[]
static const symbol s_61[]
static const symbol s_44[]
static const symbol s_21[]
static const symbol s_63[]
static const symbol s_64[]
static const struct among a_13[1]
static const symbol s_23[]
static const symbol s_51[]
static const symbol s_39[]
static const symbol s_46[]
static const struct among a_15[1]
int r_Suffix_Noun_Step1a()
static const struct among a_0[161]
static const symbol s_54[]
static const struct among a_1[5]
static const struct among a_20[2]
static const symbol s_32[]
static const symbol s_17[]
int r_Suffix_Noun_Step2b()
static const symbol s_57[]
int r_Prefix_Step3b_Noun()
static const symbol s_4[]
static const symbol s_49[]
static int skip_utf8(const symbol *p, int c, int lb, int l, int n)
static const symbol s_27[]
static const struct among a_17[12]
static const struct among a_10[10]
int r_Suffix_Noun_Step2c2()
int stem()
Virtual method implemented by the subclass to actually do the work.
static const symbol s_65[]
static const symbol s_36[]
static const symbol s_30[]
int len_utf8(const symbol *v)
int r_Prefix_Step4_Verb()
static const symbol s_7[]
static const symbol s_16[]
static const symbol s_8[]
static const symbol s_10[]
int find_among(const symbol *pool, const struct among *v, int v_size, const unsigned char *fnum, const among_function *f)
static const symbol s_55[]
int r_Suffix_Noun_Step1b()
static const symbol s_37[]
static const symbol s_43[]
static const symbol s_6[]
static const symbol s_5[]
static const symbol s_52[]
static const symbol s_9[]
unsigned char I_is_defined
static const struct among a_18[11]
static const symbol s_58[]
int r_Suffix_Verb_Step2b()
static const symbol s_pool[]
int r_Suffix_Noun_Step3()
static const symbol s_20[]