7#include "snowball_runtime.h"
113static const symbol s_65[] = { 0xD8, 0xA7, 0xD8, 0xB3, 0xD8, 0xAA };
440static const symbol s_3_1[6] = { 0xD8, 0xA8, 0xD8, 0xA7, 0xD9, 0x84 };
441static const symbol s_3_2[6] = { 0xD9, 0x83, 0xD8, 0xA7, 0xD9, 0x84 };
471static const symbol s_6_1[6] = { 0xD8, 0xA8, 0xD8, 0xA7, 0xD9, 0x84 };
472static const symbol s_6_2[6] = { 0xD9, 0x83, 0xD8, 0xA7, 0xD9, 0x84 };
487{ 4,
s_7_1, -1, -1, 0},
488{ 4,
s_7_2, -2, 2, 0},
503static const symbol s_9_0[6] = { 0xD8, 0xAA, 0xD8, 0xB3, 0xD8, 0xAA };
504static const symbol s_9_1[6] = { 0xD9, 0x86, 0xD8, 0xB3, 0xD8, 0xAA };
505static const symbol s_9_2[6] = { 0xD9, 0x8A, 0xD8, 0xB3, 0xD8, 0xAA };
620 if (!among_var)
goto lab2;
626 if (ret < 0)
return ret;
632 if (ret < 0)
return ret;
638 if (ret < 0)
return ret;
644 if (ret < 0)
return ret;
650 if (ret < 0)
return ret;
656 if (ret < 0)
return ret;
662 if (ret < 0)
return ret;
668 if (ret < 0)
return ret;
674 if (ret < 0)
return ret;
680 if (ret < 0)
return ret;
686 if (ret < 0)
return ret;
692 if (ret < 0)
return ret;
698 if (ret < 0)
return ret;
704 if (ret < 0)
return ret;
710 if (ret < 0)
return ret;
716 if (ret < 0)
return ret;
722 if (ret < 0)
return ret;
728 if (ret < 0)
return ret;
734 if (ret < 0)
return ret;
740 if (ret < 0)
return ret;
746 if (ret < 0)
return ret;
752 if (ret < 0)
return ret;
758 if (ret < 0)
return ret;
764 if (ret < 0)
return ret;
770 if (ret < 0)
return ret;
776 if (ret < 0)
return ret;
782 if (ret < 0)
return ret;
788 if (ret < 0)
return ret;
794 if (ret < 0)
return ret;
800 if (ret < 0)
return ret;
806 if (ret < 0)
return ret;
812 if (ret < 0)
return ret;
818 if (ret < 0)
return ret;
824 if (ret < 0)
return ret;
830 if (ret < 0)
return ret;
836 if (ret < 0)
return ret;
842 if (ret < 0)
return ret;
848 if (ret < 0)
return ret;
854 if (ret < 0)
return ret;
860 if (ret < 0)
return ret;
866 if (ret < 0)
return ret;
872 if (ret < 0)
return ret;
878 if (ret < 0)
return ret;
884 if (ret < 0)
return ret;
890 if (ret < 0)
return ret;
896 if (ret < 0)
return ret;
902 if (ret < 0)
return ret;
908 if (ret < 0)
return ret;
914 if (ret < 0)
return ret;
920 if (ret < 0)
return ret;
926 if (ret < 0)
return ret;
935 if (ret < 0)
goto lab1;
953 z->
lb = z->
c; z->
c = z->
l;
955 if (z->
c - 1 <= z->
lb || z->
p[z->
c - 1] >> 5 != 5 || !((124 >> (z->
p[z->
c - 1] & 0x1f)) & 1))
goto lab0;
960 if (ret < 0)
return ret;
973 if (z->
c + 1 >= z->
l || z->
p[z->
c + 1] >> 5 != 5 || !((124 >> (z->
p[z->
c + 1] & 0x1f)) & 1))
goto lab3;
975 if (!among_var)
goto lab3;
981 if (ret < 0)
return ret;
987 if (ret < 0)
return ret;
993 if (ret < 0)
return ret;
1002 if (ret < 0)
goto lab2;
1019 if (z->
c + 3 >= z->
l || (z->
p[z->
c + 3] != 132 && z->
p[z->
c + 3] != 167))
return 0;
1021 if (!among_var)
return 0;
1023 switch (among_var) {
1043 if (z->
c + 3 >= z->
l || z->
p[z->
c + 3] >> 5 != 5 || !((188 >> (z->
p[z->
c + 3] & 0x1f)) & 1))
return 0;
1045 if (!among_var)
return 0;
1047 switch (among_var) {
1052 if (ret < 0)
return ret;
1059 if (ret < 0)
return ret;
1066 if (ret < 0)
return ret;
1073 if (ret < 0)
return ret;
1082 if (z->
c + 1 >= z->
l || (z->
p[z->
c + 1] != 129 && z->
p[z->
c + 1] != 136))
return 0;
1088 if (!(
eq_s(z, 2,
s_58)))
goto lab0;
1095 if (ret < 0)
return ret;
1103 if (z->
c + 3 >= z->
l || (z->
p[z->
c + 3] != 132 && z->
p[z->
c + 3] != 167))
return 0;
1105 if (!among_var)
return 0;
1107 switch (among_var) {
1112 if (ret < 0)
return ret;
1119 if (ret < 0)
return ret;
1129 if (z->
c + 1 >= z->
l || (z->
p[z->
c + 1] != 168 && z->
p[z->
c + 1] != 131))
return 0;
1131 if (!among_var)
return 0;
1133 switch (among_var) {
1138 if (ret < 0)
return ret;
1145 if (ret < 0)
return ret;
1152 if (ret < 0)
return ret;
1163 if (!among_var)
return 0;
1165 switch (among_var) {
1170 if (ret < 0)
return ret;
1177 if (ret < 0)
return ret;
1184 if (ret < 0)
return ret;
1191 if (ret < 0)
return ret;
1200 if (z->
c + 5 >= z->
l || z->
p[z->
c + 5] != 170)
return 0;
1208 if (ret < 0)
return ret;
1217 if (!among_var)
return 0;
1219 switch (among_var) {
1224 if (ret < 0)
return ret;
1231 if (ret < 0)
return ret;
1238 if (ret < 0)
return ret;
1252 if (ret < 0)
return ret;
1264 if (ret < 0)
return ret;
1276 if (ret < 0)
return ret;
1288 if (ret < 0)
return ret;
1300 if (ret < 0)
return ret;
1312 if (ret < 0)
return ret;
1321 if (!among_var)
return 0;
1323 switch (among_var) {
1328 if (ret < 0)
return ret;
1335 if (ret < 0)
return ret;
1342 if (ret < 0)
return ret;
1353 if (!among_var)
return 0;
1355 switch (among_var) {
1360 if (ret < 0)
return ret;
1367 if (ret < 0)
return ret;
1374 if (ret < 0)
return ret;
1381 if (ret < 0)
return ret;
1390 if (z->
c - 3 <= z->
lb || (z->
p[z->
c - 1] != 133 && z->
p[z->
c - 1] != 167))
return 0;
1396 if (ret < 0)
return ret;
1404 if (z->
c - 1 <= z->
lb || z->
p[z->
c - 1] != 136)
return 0;
1406 if (!among_var)
return 0;
1408 switch (among_var) {
1413 if (ret < 0)
return ret;
1420 if (ret < 0)
return ret;
1433 if (ret < 0)
return ret;
1446 if (ret < 0)
return ret;
1452 if (ret < 0)
return ret;
1454 z->
lb = z->
c; z->
c = z->
l;
1456 int v_2 = z->
l - z->
c;
1458 int v_3 = z->
l - z->
c;
1459 if (!((
SN_local *)z)->b_is_verb)
goto lab1;
1461 int v_4 = z->l - z->c;
1465 int v_6 = z->l - z->c;
1468 if (ret == 0)
goto lab3;
1469 if (ret < 0)
return ret;
1477 if (v_5 > 0)
goto lab2;
1480 int v_7 = z->l - z->c;
1483 if (ret == 0)
goto lab4;
1484 if (ret < 0)
return ret;
1491 if (ret == 0)
goto lab5;
1492 if (ret < 0)
return ret;
1499 if (ret < 0)
goto lab2;
1508 if (ret == 0)
goto lab6;
1509 if (ret < 0)
return ret;
1516 if (ret == 0)
goto lab1;
1517 if (ret < 0)
return ret;
1523 if (!((
SN_local *)z)->b_is_noun)
goto lab7;
1525 int v_8 = z->l - z->c;
1527 int v_9 = z->l - z->c;
1530 if (ret == 0)
goto lab9;
1531 if (ret < 0)
return ret;
1536 if (((
SN_local *)z)->b_is_defined)
goto lab10;
1539 if (ret == 0)
goto lab10;
1540 if (ret < 0)
return ret;
1543 int v_10 = z->l - z->c;
1546 if (ret == 0)
goto lab11;
1547 if (ret < 0)
return ret;
1554 if (ret == 0)
goto lab12;
1555 if (ret < 0)
return ret;
1562 if (ret == 0)
goto lab13;
1563 if (ret < 0)
return ret;
1570 if (ret < 0)
goto lab10;
1579 if (ret == 0)
goto lab14;
1580 if (ret < 0)
return ret;
1583 int v_11 = z->l - z->c;
1586 if (ret == 0)
goto lab15;
1587 if (ret < 0)
return ret;
1594 if (ret == 0)
goto lab16;
1595 if (ret < 0)
return ret;
1602 if (ret == 0)
goto lab14;
1603 if (ret < 0)
return ret;
1609 if (((
SN_local *)z)->b_is_defined)
goto lab17;
1612 if (ret == 0)
goto lab17;
1613 if (ret < 0)
return ret;
1620 if (ret == 0) { z->c = z->l - v_8;
goto lab8; }
1621 if (ret < 0)
return ret;
1629 if (ret == 0)
goto lab7;
1630 if (ret < 0)
return ret;
1637 if (ret == 0)
goto lab0;
1638 if (ret < 0)
return ret;
1651 if (ret == 0) { z->
c = v_13;
goto lab19; }
1652 if (ret < 0)
return ret;
1661 if (ret == 0) { z->
c = v_14;
goto lab20; }
1662 if (ret < 0)
return ret;
1671 if (ret == 0)
goto lab21;
1672 if (ret < 0)
return ret;
1677 if (!((
SN_local *)z)->b_is_noun)
goto lab22;
1680 if (ret == 0)
goto lab22;
1681 if (ret < 0)
return ret;
1686 if (!((
SN_local *)z)->b_is_verb)
goto lab18;
1691 if (ret == 0) { z->c = v_16;
goto lab23; }
1692 if (ret < 0)
return ret;
1699 if (ret == 0)
goto lab18;
1700 if (ret < 0)
return ret;
1708 if (ret < 0)
return ret;
void SN_delete_env(struct SN_env *z)
struct SN_env * SN_new_env(int alloc_size)
static const symbol s_0_24[3]
static const symbol s_13_0[2]
static const symbol s_0_134[3]
static const struct among a_2[5]
static int r_Prefix_Step2(struct SN_env *z)
static const symbol s_0_139[3]
static const symbol s_13_1[4]
static const symbol s_25[]
static const symbol s_0_106[3]
static const symbol s_2[]
static const symbol s_13_3[4]
static const struct among a_11[3]
static const symbol s_60[]
static const struct among a_7[4]
static const symbol s_0_4[2]
static const symbol s_55[]
static const symbol s_0_93[3]
static const symbol s_0_75[3]
static const symbol s_0_115[3]
static const symbol s_52[]
static const symbol s_72[]
static const symbol s_2_2[2]
static const struct among a_13[11]
static const symbol s_11_1[2]
static const symbol s_0_124[3]
static const symbol s_0_5[2]
static const symbol s_0_76[3]
static const symbol s_4[]
static const symbol s_13_8[4]
static const symbol s_48[]
static const struct among a_8[4]
static const symbol s_0_57[3]
static const symbol s_12_0[2]
static const symbol s_50[]
static const symbol s_61[]
static const symbol s_0_118[3]
static const symbol s_0_13[2]
static const symbol s_42[]
static const symbol s_65[]
static const symbol s_0_73[3]
static const symbol s_0_142[3]
static const symbol s_0_53[3]
static const symbol s_0_56[3]
static const symbol s_30[]
static const symbol s_0_87[3]
static const symbol s_38[]
static const symbol s_0_111[3]
static const symbol s_0_45[3]
static const symbol s_0_8[2]
static const symbol s_1_2[2]
static const symbol s_0_44[3]
static const symbol s_68[]
static const symbol s_0_34[3]
static const symbol s_0_137[3]
static const symbol s_0_125[3]
static const symbol s_4_3[4]
static const symbol s_0_105[3]
static const symbol s_10_7[6]
static const symbol s_5_0[2]
static const symbol s_0_113[3]
static const symbol s_0_58[3]
static const symbol s_0_1[2]
static const symbol s_4_2[4]
static const symbol s_0_119[3]
static const symbol s_13_6[2]
static const symbol s_29[]
static const symbol s_0_35[3]
static const symbol s_6_1[6]
static const symbol s_4_1[4]
static const symbol s_8_0[4]
static const symbol s_9_2[6]
static const symbol s_0_88[3]
static const symbol s_12_2[4]
static const symbol s_0_49[3]
static const symbol s_4_4[4]
static const symbol s_53[]
static int r_Prefix_Step3b_Noun(struct SN_env *z)
static int r_Suffix_Noun_Step2c2(struct SN_env *z)
static const symbol s_13_7[6]
static const symbol s_0_65[3]
static const symbol s_2_0[2]
static const symbol s_27[]
static const struct among a_6[4]
static const symbol s_12_9[6]
static const symbol s_0_128[3]
static const symbol s_1_3[2]
static const struct among a_10[10]
static const symbol s_0_122[3]
static const symbol s_0_71[3]
static const symbol s_1_0[2]
static int r_Prefix_Step3a_Noun(struct SN_env *z)
static const symbol s_0_79[3]
static const symbol s_13_5[2]
static const symbol s_3_0[4]
static const struct among a_3[4]
static const symbol s_51[]
static const symbol s_12_3[4]
static const symbol s_6[]
static const symbol s_0_15[2]
static int r_Suffix_Noun_Step2c1(struct SN_env *z)
static const symbol s_0_0[2]
static const symbol s_0_114[3]
static const symbol s_0_40[3]
static const symbol s_7_1[4]
static int r_Suffix_Verb_Step2c(struct SN_env *z)
static int r_Suffix_Verb_Step2b(struct SN_env *z)
static const symbol s_21[]
static const symbol s_3[]
static const symbol s_12_1[4]
static const symbol s_0_30[3]
static const symbol s_10_6[6]
static const symbol s_6_3[4]
static const symbol s_37[]
static const symbol s_0_109[3]
static const symbol s_0_17[2]
static const symbol s_10_4[2]
static int r_Prefix_Step1(struct SN_env *z)
static const symbol s_0_72[3]
static const symbol s_0_7[2]
static int r_Suffix_Verb_Step1(struct SN_env *z)
static const symbol s_10_3[4]
static const symbol s_13_10[2]
static const symbol s_8_2[4]
static const symbol s_10_1[4]
static const symbol s_9_0[6]
static const symbol s_7_0[2]
static const symbol s_0_104[3]
static const symbol s_49[]
static const symbol s_0_77[3]
static const symbol s_13_9[4]
static const symbol s_0_16[2]
static const symbol s_12_4[4]
static const struct among a_5[2]
static const symbol s_7[]
int arabic_UTF_8_stem(struct SN_env *z)
static const symbol s_59[]
static const symbol s_32[]
static const symbol s_0_131[3]
static const symbol s_0_26[3]
static const symbol s_47[]
static const symbol s_13[]
static const symbol s_0_47[3]
static int r_Checks1(struct SN_env *z)
static const symbol s_0_108[3]
static const symbol s_0_101[3]
static int r_Suffix_Noun_Step3(struct SN_env *z)
static const symbol s_1_1[2]
static const symbol s_20[]
static const symbol s_0_51[3]
static int r_Prefix_Step4_Verb(struct SN_env *z)
static const symbol s_0_107[3]
static int r_Prefix_Step3_Verb(struct SN_env *z)
static const symbol s_0_143[3]
static const symbol s_0_116[3]
static const symbol s_0_18[2]
static const symbol s_35[]
static const symbol s_0_83[3]
static const symbol s_7_3[4]
static const symbol s_0_27[3]
static const symbol s_70[]
static const struct among a_14[2]
static const symbol s_0_117[3]
static const symbol s_19[]
static const symbol s_23[]
static const symbol s_0_37[3]
static const symbol s_0_74[3]
static const symbol s_0_11[2]
static const symbol s_9_1[6]
static const symbol s_0_123[3]
static const symbol s_71[]
static const symbol s_0_86[3]
static const symbol s_58[]
static const symbol s_0_28[3]
static const symbol s_24[]
static const symbol s_0_52[3]
static const symbol s_0_20[3]
static const struct among a_1[5]
static const symbol s_0_126[3]
static const symbol s_0_120[3]
static const symbol s_3_3[4]
static int r_Normalize_pre(struct SN_env *z)
static const symbol s_63[]
static const symbol s_0_64[3]
static const symbol s_0_59[3]
static int r_Suffix_Noun_Step2a(struct SN_env *z)
static const symbol s_0_25[3]
static const symbol s_69[]
static const symbol s_12_5[2]
static const symbol s_0_132[3]
static const symbol s_0_95[3]
static const symbol s_0_97[3]
static const symbol s_7_2[4]
static const symbol s_0_46[3]
static const symbol s_16[]
static const symbol s_14[]
static const struct among a_4[5]
static const symbol s_0_43[3]
static const symbol s_4_0[4]
static const symbol s_0_121[3]
static const symbol s_22[]
static const symbol s_0_31[3]
static const struct among a_9[3]
static int r_Suffix_Verb_Step2a(struct SN_env *z)
static int r_Suffix_Noun_Step1a(struct SN_env *z)
static const symbol s_8_3[4]
static const symbol s_10_8[4]
static const symbol s_45[]
static const symbol s_2_3[2]
static const symbol s_12_6[6]
static const symbol s_0_38[3]
static const symbol s_10[]
static const symbol s_10_9[4]
static const symbol s_0_54[3]
static const symbol s_2_4[2]
static const symbol s_0_19[3]
static const symbol s_0_32[3]
static const symbol s_1[]
static const symbol s_0_67[3]
static const symbol s_0_103[3]
static const symbol s_66[]
static const symbol s_0_90[3]
static const symbol s_39[]
static const symbol s_0_69[3]
static const symbol s_13_4[4]
static const symbol s_14_0[4]
static const symbol s_1_4[2]
static const symbol s_31[]
static const symbol s_0_135[3]
static const symbol s_0_14[2]
static const symbol s_0_82[3]
static const symbol s_0_133[3]
static const symbol s_0_80[3]
static const symbol s_12_10[4]
static const symbol s_0_130[3]
static const symbol s_0_102[3]
static const symbol s_0_42[3]
static const symbol s_14_1[4]
static const symbol s_11[]
static const symbol s_12[]
static const symbol s_36[]
static const symbol s_67[]
static const symbol s_0_50[3]
static const struct among a_12[12]
static const symbol s_0_136[3]
static const symbol s_0_112[3]
static const symbol s_0_89[3]
static const symbol s_0_96[3]
static const symbol s_0_41[3]
static const symbol s_0_6[2]
static const symbol s_0_127[3]
static const symbol s_0_98[3]
static const symbol s_0_63[3]
static const symbol s_0_94[3]
static const symbol s_10_0[2]
static const symbol s_33[]
static const symbol s_0_141[3]
static const symbol s_57[]
static const symbol s_12_7[4]
static const symbol s_41[]
static const symbol s_10_2[4]
static const symbol s_5_1[2]
static int r_Suffix_Noun_Step1b(struct SN_env *z)
static const symbol s_0_48[3]
static const struct among a_0[144]
static const symbol s_0_81[3]
static const symbol s_0_12[2]
static const symbol s_0_91[3]
static const symbol s_0_2[2]
static const symbol s_64[]
static const symbol s_0_140[3]
static int r_Suffix_All_alef_maqsura(struct SN_env *z)
static const symbol s_18[]
static const symbol s_17[]
static const symbol s_0_85[3]
static const symbol s_0_36[3]
static const symbol s_0_55[3]
static const symbol s_12_8[6]
static const symbol s_11_2[2]
static const symbol s_8_1[4]
static const symbol s_0_68[3]
static const symbol s_40[]
static const symbol s_0_110[3]
static const symbol s_44[]
static const symbol s_3_1[6]
static const symbol s_0_10[2]
static const symbol s_13_2[4]
static const symbol s_6_0[4]
static const symbol s_54[]
static const symbol s_6_2[6]
static const symbol s_12_11[4]
void arabic_UTF_8_close_env(struct SN_env *z)
static const symbol s_0_66[3]
static const symbol s_43[]
static const symbol s_0_99[3]
static const symbol s_0_33[3]
static const symbol s_0_78[3]
static const symbol s_3_2[6]
static const symbol s_28[]
static const symbol s_0_3[2]
static const symbol s_0_100[3]
static const symbol s_46[]
static const symbol s_0_61[3]
static const symbol s_0_22[3]
static const symbol s_2_1[2]
static const symbol s_0_21[3]
static const symbol s_0_92[3]
static const symbol s_62[]
static const symbol s_56[]
static const symbol s_0_84[3]
struct SN_env * arabic_UTF_8_create_env(void)
static int r_Suffix_Noun_Step2b(struct SN_env *z)
static const symbol s_0_138[3]
static const symbol s_8[]
static const symbol s_15_0[2]
static const symbol s_9[]
static const symbol s_0_9[2]
static const symbol s_0_23[3]
static const symbol s_10_5[2]
static const symbol s_0_29[3]
static const symbol s_5[]
static const symbol s_0_62[3]
static const symbol s_15[]
static const symbol s_0_70[3]
static const symbol s_11_0[2]
static const struct among a_15[2]
static const symbol s_0_60[3]
static const symbol s_15_1[6]
static const symbol s_26[]
static const symbol s_0[]
static int r_Normalize_post(struct SN_env *z)
static const symbol s_34[]
static const symbol s_0_39[3]
static const symbol s_0_129[3]
unsigned char b_is_defined
SNOWBALL_ERR slice_from_s(struct SN_env *z, int s_size, const symbol *s)
int eq_s(struct SN_env *z, int s_size, const symbol *s)
int find_among_b(struct SN_env *z, const struct among *v, int v_size, int(*call_among_func)(struct SN_env *))
int skip_b_utf8(const symbol *p, int c, int limit, int n)
int eq_s_b(struct SN_env *z, int s_size, const symbol *s)
SNOWBALL_ERR slice_del(struct SN_env *z)
int skip_utf8(const symbol *p, int c, int limit, int n)
int len_utf8(const symbol *p)
int find_among(struct SN_env *z, const struct among *v, int v_size, int(*call_among_func)(struct SN_env *))