isomorfeus-ferret 0.12.2 → 0.12.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/LICENSE +612 -612
- data/README.md +80 -44
- data/ext/isomorfeus_ferret_ext/bm_hash.c +9 -6
- data/ext/isomorfeus_ferret_ext/bm_micro_string.c +4 -2
- data/ext/isomorfeus_ferret_ext/frb_search.c +14 -2
- data/ext/isomorfeus_ferret_ext/frb_store.c +34 -5
- data/ext/isomorfeus_ferret_ext/frt_posh.h +11 -19
- data/ext/isomorfeus_ferret_ext/frt_q_parser.c +1844 -1911
- data/ext/isomorfeus_ferret_ext/frt_q_phrase.c +12 -15
- data/ext/isomorfeus_ferret_ext/frt_scanner.c +1 -0
- data/ext/isomorfeus_ferret_ext/frt_scanner_mb.c +1 -0
- data/ext/isomorfeus_ferret_ext/frt_scanner_utf8.c +1 -0
- data/ext/isomorfeus_ferret_ext/frt_search.h +1 -1
- data/ext/isomorfeus_ferret_ext/libstemmer.c +14 -11
- data/ext/isomorfeus_ferret_ext/libstemmer.h +4 -9
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_basque.c +1167 -0
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_basque.h +6 -0
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_catalan.c +1433 -0
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_catalan.h +6 -0
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_danish.c +120 -143
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_danish.h +1 -2
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_dutch.c +217 -237
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_dutch.h +1 -1
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_english.c +377 -432
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_english.h +1 -1
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_finnish.c +298 -342
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_finnish.h +1 -2
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_french.c +530 -524
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_french.h +1 -1
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_german.c +201 -214
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_german.h +1 -1
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_hungarian.c +1 -1
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_indonesian.c +394 -0
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_indonesian.h +6 -0
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_irish.c +457 -0
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_irish.h +6 -0
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_italian.c +396 -439
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_italian.h +1 -1
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_norwegian.c +104 -128
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_norwegian.h +1 -1
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_porter.c +242 -273
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_porter.h +1 -1
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_portuguese.c +406 -461
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_portuguese.h +1 -2
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_spanish.c +405 -456
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_spanish.h +1 -1
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_swedish.c +108 -126
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_swedish.h +1 -1
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_2_hungarian.c +849 -0
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_2_hungarian.h +6 -0
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_2_romanian.c +373 -405
- data/ext/isomorfeus_ferret_ext/stem_ISO_8859_2_romanian.h +1 -1
- data/ext/isomorfeus_ferret_ext/stem_KOI8_R_russian.c +288 -305
- data/ext/isomorfeus_ferret_ext/stem_KOI8_R_russian.h +1 -1
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_arabic.c +1651 -0
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_arabic.h +6 -0
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_armenian.c +546 -0
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_armenian.h +6 -0
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_basque.c +1171 -0
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_basque.h +6 -0
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_catalan.c +1436 -0
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_catalan.h +6 -0
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_danish.c +121 -141
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_danish.h +1 -1
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_dutch.c +221 -241
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_dutch.h +1 -1
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_english.c +381 -431
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_english.h +1 -1
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_finnish.c +300 -345
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_finnish.h +1 -1
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_french.c +518 -511
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_french.h +1 -1
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_german.c +201 -209
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_german.h +1 -1
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_greek.c +3660 -0
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_greek.h +6 -0
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_hindi.c +309 -0
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_hindi.h +6 -0
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_hungarian.c +306 -671
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_hungarian.h +1 -1
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_indonesian.c +394 -0
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_indonesian.h +6 -0
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_irish.c +457 -0
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_irish.h +6 -0
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_italian.c +400 -442
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_italian.h +1 -1
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_lithuanian.c +824 -0
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_lithuanian.h +6 -0
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_nepali.c +408 -0
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_nepali.h +6 -0
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_norwegian.c +105 -127
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_norwegian.h +1 -1
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_porter.c +245 -276
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_porter.h +1 -1
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_portuguese.c +409 -464
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_portuguese.h +1 -1
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_romanian.c +376 -408
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_romanian.h +1 -1
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_russian.c +272 -287
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_russian.h +1 -1
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_serbian.c +6530 -0
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_serbian.h +6 -0
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_spanish.c +407 -458
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_spanish.h +1 -1
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_swedish.c +110 -125
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_swedish.h +1 -1
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_tamil.c +1865 -0
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_tamil.h +6 -0
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_turkish.c +698 -806
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_turkish.h +1 -1
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_yiddish.c +1220 -0
- data/ext/isomorfeus_ferret_ext/stem_UTF_8_yiddish.h +6 -0
- data/ext/isomorfeus_ferret_ext/stem_api.c +1 -9
- data/ext/isomorfeus_ferret_ext/stem_api.h +1 -3
- data/ext/isomorfeus_ferret_ext/stem_header.h +30 -26
- data/ext/isomorfeus_ferret_ext/stem_modules.h +113 -26
- data/ext/isomorfeus_ferret_ext/stem_modules.txt +18 -5
- data/ext/isomorfeus_ferret_ext/stem_utilities.c +167 -132
- data/ext/isomorfeus_ferret_ext/test.c +7 -1
- data/ext/isomorfeus_ferret_ext/test_search.c +0 -1
- data/lib/isomorfeus/ferret/index/index.rb +1 -1
- data/lib/isomorfeus/ferret/version.rb +1 -1
- metadata +43 -7
- data/ext/isomorfeus_ferret_ext/q_parser.y +0 -1366
@@ -0,0 +1,1651 @@
|
|
1
|
+
/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
|
2
|
+
|
3
|
+
#include "stem_header.h"
|
4
|
+
|
5
|
+
extern int arabic_UTF_8_stem(struct SN_env * z);
|
6
|
+
|
7
|
+
static int r_Checks1(struct SN_env * z);
|
8
|
+
static int r_Normalize_pre(struct SN_env * z);
|
9
|
+
static int r_Normalize_post(struct SN_env * z);
|
10
|
+
static int r_Suffix_Verb_Step2c(struct SN_env * z);
|
11
|
+
static int r_Suffix_Verb_Step2b(struct SN_env * z);
|
12
|
+
static int r_Suffix_Verb_Step2a(struct SN_env * z);
|
13
|
+
static int r_Suffix_Verb_Step1(struct SN_env * z);
|
14
|
+
static int r_Suffix_Noun_Step3(struct SN_env * z);
|
15
|
+
static int r_Suffix_Noun_Step2c2(struct SN_env * z);
|
16
|
+
static int r_Suffix_Noun_Step2c1(struct SN_env * z);
|
17
|
+
static int r_Suffix_Noun_Step2b(struct SN_env * z);
|
18
|
+
static int r_Suffix_Noun_Step2a(struct SN_env * z);
|
19
|
+
static int r_Suffix_Noun_Step1b(struct SN_env * z);
|
20
|
+
static int r_Suffix_Noun_Step1a(struct SN_env * z);
|
21
|
+
static int r_Suffix_All_alef_maqsura(struct SN_env * z);
|
22
|
+
static int r_Prefix_Step4_Verb(struct SN_env * z);
|
23
|
+
static int r_Prefix_Step3_Verb(struct SN_env * z);
|
24
|
+
static int r_Prefix_Step3b_Noun(struct SN_env * z);
|
25
|
+
static int r_Prefix_Step3a_Noun(struct SN_env * z);
|
26
|
+
static int r_Prefix_Step2(struct SN_env * z);
|
27
|
+
static int r_Prefix_Step1(struct SN_env * z);
|
28
|
+
|
29
|
+
extern struct SN_env * arabic_UTF_8_create_env(void);
|
30
|
+
extern void arabic_UTF_8_close_env(struct SN_env * z);
|
31
|
+
|
32
|
+
static const symbol s_0_0[2] = { 0xD9, 0x80 };
|
33
|
+
static const symbol s_0_1[2] = { 0xD9, 0x8B };
|
34
|
+
static const symbol s_0_2[2] = { 0xD9, 0x8C };
|
35
|
+
static const symbol s_0_3[2] = { 0xD9, 0x8D };
|
36
|
+
static const symbol s_0_4[2] = { 0xD9, 0x8E };
|
37
|
+
static const symbol s_0_5[2] = { 0xD9, 0x8F };
|
38
|
+
static const symbol s_0_6[2] = { 0xD9, 0x90 };
|
39
|
+
static const symbol s_0_7[2] = { 0xD9, 0x91 };
|
40
|
+
static const symbol s_0_8[2] = { 0xD9, 0x92 };
|
41
|
+
static const symbol s_0_9[2] = { 0xD9, 0xA0 };
|
42
|
+
static const symbol s_0_10[2] = { 0xD9, 0xA1 };
|
43
|
+
static const symbol s_0_11[2] = { 0xD9, 0xA2 };
|
44
|
+
static const symbol s_0_12[2] = { 0xD9, 0xA3 };
|
45
|
+
static const symbol s_0_13[2] = { 0xD9, 0xA4 };
|
46
|
+
static const symbol s_0_14[2] = { 0xD9, 0xA5 };
|
47
|
+
static const symbol s_0_15[2] = { 0xD9, 0xA6 };
|
48
|
+
static const symbol s_0_16[2] = { 0xD9, 0xA7 };
|
49
|
+
static const symbol s_0_17[2] = { 0xD9, 0xA8 };
|
50
|
+
static const symbol s_0_18[2] = { 0xD9, 0xA9 };
|
51
|
+
static const symbol s_0_19[3] = { 0xEF, 0xBA, 0x80 };
|
52
|
+
static const symbol s_0_20[3] = { 0xEF, 0xBA, 0x81 };
|
53
|
+
static const symbol s_0_21[3] = { 0xEF, 0xBA, 0x82 };
|
54
|
+
static const symbol s_0_22[3] = { 0xEF, 0xBA, 0x83 };
|
55
|
+
static const symbol s_0_23[3] = { 0xEF, 0xBA, 0x84 };
|
56
|
+
static const symbol s_0_24[3] = { 0xEF, 0xBA, 0x85 };
|
57
|
+
static const symbol s_0_25[3] = { 0xEF, 0xBA, 0x86 };
|
58
|
+
static const symbol s_0_26[3] = { 0xEF, 0xBA, 0x87 };
|
59
|
+
static const symbol s_0_27[3] = { 0xEF, 0xBA, 0x88 };
|
60
|
+
static const symbol s_0_28[3] = { 0xEF, 0xBA, 0x89 };
|
61
|
+
static const symbol s_0_29[3] = { 0xEF, 0xBA, 0x8A };
|
62
|
+
static const symbol s_0_30[3] = { 0xEF, 0xBA, 0x8B };
|
63
|
+
static const symbol s_0_31[3] = { 0xEF, 0xBA, 0x8C };
|
64
|
+
static const symbol s_0_32[3] = { 0xEF, 0xBA, 0x8D };
|
65
|
+
static const symbol s_0_33[3] = { 0xEF, 0xBA, 0x8E };
|
66
|
+
static const symbol s_0_34[3] = { 0xEF, 0xBA, 0x8F };
|
67
|
+
static const symbol s_0_35[3] = { 0xEF, 0xBA, 0x90 };
|
68
|
+
static const symbol s_0_36[3] = { 0xEF, 0xBA, 0x91 };
|
69
|
+
static const symbol s_0_37[3] = { 0xEF, 0xBA, 0x92 };
|
70
|
+
static const symbol s_0_38[3] = { 0xEF, 0xBA, 0x93 };
|
71
|
+
static const symbol s_0_39[3] = { 0xEF, 0xBA, 0x94 };
|
72
|
+
static const symbol s_0_40[3] = { 0xEF, 0xBA, 0x95 };
|
73
|
+
static const symbol s_0_41[3] = { 0xEF, 0xBA, 0x96 };
|
74
|
+
static const symbol s_0_42[3] = { 0xEF, 0xBA, 0x97 };
|
75
|
+
static const symbol s_0_43[3] = { 0xEF, 0xBA, 0x98 };
|
76
|
+
static const symbol s_0_44[3] = { 0xEF, 0xBA, 0x99 };
|
77
|
+
static const symbol s_0_45[3] = { 0xEF, 0xBA, 0x9A };
|
78
|
+
static const symbol s_0_46[3] = { 0xEF, 0xBA, 0x9B };
|
79
|
+
static const symbol s_0_47[3] = { 0xEF, 0xBA, 0x9C };
|
80
|
+
static const symbol s_0_48[3] = { 0xEF, 0xBA, 0x9D };
|
81
|
+
static const symbol s_0_49[3] = { 0xEF, 0xBA, 0x9E };
|
82
|
+
static const symbol s_0_50[3] = { 0xEF, 0xBA, 0x9F };
|
83
|
+
static const symbol s_0_51[3] = { 0xEF, 0xBA, 0xA0 };
|
84
|
+
static const symbol s_0_52[3] = { 0xEF, 0xBA, 0xA1 };
|
85
|
+
static const symbol s_0_53[3] = { 0xEF, 0xBA, 0xA2 };
|
86
|
+
static const symbol s_0_54[3] = { 0xEF, 0xBA, 0xA3 };
|
87
|
+
static const symbol s_0_55[3] = { 0xEF, 0xBA, 0xA4 };
|
88
|
+
static const symbol s_0_56[3] = { 0xEF, 0xBA, 0xA5 };
|
89
|
+
static const symbol s_0_57[3] = { 0xEF, 0xBA, 0xA6 };
|
90
|
+
static const symbol s_0_58[3] = { 0xEF, 0xBA, 0xA7 };
|
91
|
+
static const symbol s_0_59[3] = { 0xEF, 0xBA, 0xA8 };
|
92
|
+
static const symbol s_0_60[3] = { 0xEF, 0xBA, 0xA9 };
|
93
|
+
static const symbol s_0_61[3] = { 0xEF, 0xBA, 0xAA };
|
94
|
+
static const symbol s_0_62[3] = { 0xEF, 0xBA, 0xAB };
|
95
|
+
static const symbol s_0_63[3] = { 0xEF, 0xBA, 0xAC };
|
96
|
+
static const symbol s_0_64[3] = { 0xEF, 0xBA, 0xAD };
|
97
|
+
static const symbol s_0_65[3] = { 0xEF, 0xBA, 0xAE };
|
98
|
+
static const symbol s_0_66[3] = { 0xEF, 0xBA, 0xAF };
|
99
|
+
static const symbol s_0_67[3] = { 0xEF, 0xBA, 0xB0 };
|
100
|
+
static const symbol s_0_68[3] = { 0xEF, 0xBA, 0xB1 };
|
101
|
+
static const symbol s_0_69[3] = { 0xEF, 0xBA, 0xB2 };
|
102
|
+
static const symbol s_0_70[3] = { 0xEF, 0xBA, 0xB3 };
|
103
|
+
static const symbol s_0_71[3] = { 0xEF, 0xBA, 0xB4 };
|
104
|
+
static const symbol s_0_72[3] = { 0xEF, 0xBA, 0xB5 };
|
105
|
+
static const symbol s_0_73[3] = { 0xEF, 0xBA, 0xB6 };
|
106
|
+
static const symbol s_0_74[3] = { 0xEF, 0xBA, 0xB7 };
|
107
|
+
static const symbol s_0_75[3] = { 0xEF, 0xBA, 0xB8 };
|
108
|
+
static const symbol s_0_76[3] = { 0xEF, 0xBA, 0xB9 };
|
109
|
+
static const symbol s_0_77[3] = { 0xEF, 0xBA, 0xBA };
|
110
|
+
static const symbol s_0_78[3] = { 0xEF, 0xBA, 0xBB };
|
111
|
+
static const symbol s_0_79[3] = { 0xEF, 0xBA, 0xBC };
|
112
|
+
static const symbol s_0_80[3] = { 0xEF, 0xBA, 0xBD };
|
113
|
+
static const symbol s_0_81[3] = { 0xEF, 0xBA, 0xBE };
|
114
|
+
static const symbol s_0_82[3] = { 0xEF, 0xBA, 0xBF };
|
115
|
+
static const symbol s_0_83[3] = { 0xEF, 0xBB, 0x80 };
|
116
|
+
static const symbol s_0_84[3] = { 0xEF, 0xBB, 0x81 };
|
117
|
+
static const symbol s_0_85[3] = { 0xEF, 0xBB, 0x82 };
|
118
|
+
static const symbol s_0_86[3] = { 0xEF, 0xBB, 0x83 };
|
119
|
+
static const symbol s_0_87[3] = { 0xEF, 0xBB, 0x84 };
|
120
|
+
static const symbol s_0_88[3] = { 0xEF, 0xBB, 0x85 };
|
121
|
+
static const symbol s_0_89[3] = { 0xEF, 0xBB, 0x86 };
|
122
|
+
static const symbol s_0_90[3] = { 0xEF, 0xBB, 0x87 };
|
123
|
+
static const symbol s_0_91[3] = { 0xEF, 0xBB, 0x88 };
|
124
|
+
static const symbol s_0_92[3] = { 0xEF, 0xBB, 0x89 };
|
125
|
+
static const symbol s_0_93[3] = { 0xEF, 0xBB, 0x8A };
|
126
|
+
static const symbol s_0_94[3] = { 0xEF, 0xBB, 0x8B };
|
127
|
+
static const symbol s_0_95[3] = { 0xEF, 0xBB, 0x8C };
|
128
|
+
static const symbol s_0_96[3] = { 0xEF, 0xBB, 0x8D };
|
129
|
+
static const symbol s_0_97[3] = { 0xEF, 0xBB, 0x8E };
|
130
|
+
static const symbol s_0_98[3] = { 0xEF, 0xBB, 0x8F };
|
131
|
+
static const symbol s_0_99[3] = { 0xEF, 0xBB, 0x90 };
|
132
|
+
static const symbol s_0_100[3] = { 0xEF, 0xBB, 0x91 };
|
133
|
+
static const symbol s_0_101[3] = { 0xEF, 0xBB, 0x92 };
|
134
|
+
static const symbol s_0_102[3] = { 0xEF, 0xBB, 0x93 };
|
135
|
+
static const symbol s_0_103[3] = { 0xEF, 0xBB, 0x94 };
|
136
|
+
static const symbol s_0_104[3] = { 0xEF, 0xBB, 0x95 };
|
137
|
+
static const symbol s_0_105[3] = { 0xEF, 0xBB, 0x96 };
|
138
|
+
static const symbol s_0_106[3] = { 0xEF, 0xBB, 0x97 };
|
139
|
+
static const symbol s_0_107[3] = { 0xEF, 0xBB, 0x98 };
|
140
|
+
static const symbol s_0_108[3] = { 0xEF, 0xBB, 0x99 };
|
141
|
+
static const symbol s_0_109[3] = { 0xEF, 0xBB, 0x9A };
|
142
|
+
static const symbol s_0_110[3] = { 0xEF, 0xBB, 0x9B };
|
143
|
+
static const symbol s_0_111[3] = { 0xEF, 0xBB, 0x9C };
|
144
|
+
static const symbol s_0_112[3] = { 0xEF, 0xBB, 0x9D };
|
145
|
+
static const symbol s_0_113[3] = { 0xEF, 0xBB, 0x9E };
|
146
|
+
static const symbol s_0_114[3] = { 0xEF, 0xBB, 0x9F };
|
147
|
+
static const symbol s_0_115[3] = { 0xEF, 0xBB, 0xA0 };
|
148
|
+
static const symbol s_0_116[3] = { 0xEF, 0xBB, 0xA1 };
|
149
|
+
static const symbol s_0_117[3] = { 0xEF, 0xBB, 0xA2 };
|
150
|
+
static const symbol s_0_118[3] = { 0xEF, 0xBB, 0xA3 };
|
151
|
+
static const symbol s_0_119[3] = { 0xEF, 0xBB, 0xA4 };
|
152
|
+
static const symbol s_0_120[3] = { 0xEF, 0xBB, 0xA5 };
|
153
|
+
static const symbol s_0_121[3] = { 0xEF, 0xBB, 0xA6 };
|
154
|
+
static const symbol s_0_122[3] = { 0xEF, 0xBB, 0xA7 };
|
155
|
+
static const symbol s_0_123[3] = { 0xEF, 0xBB, 0xA8 };
|
156
|
+
static const symbol s_0_124[3] = { 0xEF, 0xBB, 0xA9 };
|
157
|
+
static const symbol s_0_125[3] = { 0xEF, 0xBB, 0xAA };
|
158
|
+
static const symbol s_0_126[3] = { 0xEF, 0xBB, 0xAB };
|
159
|
+
static const symbol s_0_127[3] = { 0xEF, 0xBB, 0xAC };
|
160
|
+
static const symbol s_0_128[3] = { 0xEF, 0xBB, 0xAD };
|
161
|
+
static const symbol s_0_129[3] = { 0xEF, 0xBB, 0xAE };
|
162
|
+
static const symbol s_0_130[3] = { 0xEF, 0xBB, 0xAF };
|
163
|
+
static const symbol s_0_131[3] = { 0xEF, 0xBB, 0xB0 };
|
164
|
+
static const symbol s_0_132[3] = { 0xEF, 0xBB, 0xB1 };
|
165
|
+
static const symbol s_0_133[3] = { 0xEF, 0xBB, 0xB2 };
|
166
|
+
static const symbol s_0_134[3] = { 0xEF, 0xBB, 0xB3 };
|
167
|
+
static const symbol s_0_135[3] = { 0xEF, 0xBB, 0xB4 };
|
168
|
+
static const symbol s_0_136[3] = { 0xEF, 0xBB, 0xB5 };
|
169
|
+
static const symbol s_0_137[3] = { 0xEF, 0xBB, 0xB6 };
|
170
|
+
static const symbol s_0_138[3] = { 0xEF, 0xBB, 0xB7 };
|
171
|
+
static const symbol s_0_139[3] = { 0xEF, 0xBB, 0xB8 };
|
172
|
+
static const symbol s_0_140[3] = { 0xEF, 0xBB, 0xB9 };
|
173
|
+
static const symbol s_0_141[3] = { 0xEF, 0xBB, 0xBA };
|
174
|
+
static const symbol s_0_142[3] = { 0xEF, 0xBB, 0xBB };
|
175
|
+
static const symbol s_0_143[3] = { 0xEF, 0xBB, 0xBC };
|
176
|
+
|
177
|
+
static const struct among a_0[144] =
|
178
|
+
{
|
179
|
+
{ 2, s_0_0, -1, 1, 0},
|
180
|
+
{ 2, s_0_1, -1, 1, 0},
|
181
|
+
{ 2, s_0_2, -1, 1, 0},
|
182
|
+
{ 2, s_0_3, -1, 1, 0},
|
183
|
+
{ 2, s_0_4, -1, 1, 0},
|
184
|
+
{ 2, s_0_5, -1, 1, 0},
|
185
|
+
{ 2, s_0_6, -1, 1, 0},
|
186
|
+
{ 2, s_0_7, -1, 1, 0},
|
187
|
+
{ 2, s_0_8, -1, 1, 0},
|
188
|
+
{ 2, s_0_9, -1, 2, 0},
|
189
|
+
{ 2, s_0_10, -1, 3, 0},
|
190
|
+
{ 2, s_0_11, -1, 4, 0},
|
191
|
+
{ 2, s_0_12, -1, 5, 0},
|
192
|
+
{ 2, s_0_13, -1, 6, 0},
|
193
|
+
{ 2, s_0_14, -1, 7, 0},
|
194
|
+
{ 2, s_0_15, -1, 8, 0},
|
195
|
+
{ 2, s_0_16, -1, 9, 0},
|
196
|
+
{ 2, s_0_17, -1, 10, 0},
|
197
|
+
{ 2, s_0_18, -1, 11, 0},
|
198
|
+
{ 3, s_0_19, -1, 12, 0},
|
199
|
+
{ 3, s_0_20, -1, 16, 0},
|
200
|
+
{ 3, s_0_21, -1, 16, 0},
|
201
|
+
{ 3, s_0_22, -1, 13, 0},
|
202
|
+
{ 3, s_0_23, -1, 13, 0},
|
203
|
+
{ 3, s_0_24, -1, 17, 0},
|
204
|
+
{ 3, s_0_25, -1, 17, 0},
|
205
|
+
{ 3, s_0_26, -1, 14, 0},
|
206
|
+
{ 3, s_0_27, -1, 14, 0},
|
207
|
+
{ 3, s_0_28, -1, 15, 0},
|
208
|
+
{ 3, s_0_29, -1, 15, 0},
|
209
|
+
{ 3, s_0_30, -1, 15, 0},
|
210
|
+
{ 3, s_0_31, -1, 15, 0},
|
211
|
+
{ 3, s_0_32, -1, 18, 0},
|
212
|
+
{ 3, s_0_33, -1, 18, 0},
|
213
|
+
{ 3, s_0_34, -1, 19, 0},
|
214
|
+
{ 3, s_0_35, -1, 19, 0},
|
215
|
+
{ 3, s_0_36, -1, 19, 0},
|
216
|
+
{ 3, s_0_37, -1, 19, 0},
|
217
|
+
{ 3, s_0_38, -1, 20, 0},
|
218
|
+
{ 3, s_0_39, -1, 20, 0},
|
219
|
+
{ 3, s_0_40, -1, 21, 0},
|
220
|
+
{ 3, s_0_41, -1, 21, 0},
|
221
|
+
{ 3, s_0_42, -1, 21, 0},
|
222
|
+
{ 3, s_0_43, -1, 21, 0},
|
223
|
+
{ 3, s_0_44, -1, 22, 0},
|
224
|
+
{ 3, s_0_45, -1, 22, 0},
|
225
|
+
{ 3, s_0_46, -1, 22, 0},
|
226
|
+
{ 3, s_0_47, -1, 22, 0},
|
227
|
+
{ 3, s_0_48, -1, 23, 0},
|
228
|
+
{ 3, s_0_49, -1, 23, 0},
|
229
|
+
{ 3, s_0_50, -1, 23, 0},
|
230
|
+
{ 3, s_0_51, -1, 23, 0},
|
231
|
+
{ 3, s_0_52, -1, 24, 0},
|
232
|
+
{ 3, s_0_53, -1, 24, 0},
|
233
|
+
{ 3, s_0_54, -1, 24, 0},
|
234
|
+
{ 3, s_0_55, -1, 24, 0},
|
235
|
+
{ 3, s_0_56, -1, 25, 0},
|
236
|
+
{ 3, s_0_57, -1, 25, 0},
|
237
|
+
{ 3, s_0_58, -1, 25, 0},
|
238
|
+
{ 3, s_0_59, -1, 25, 0},
|
239
|
+
{ 3, s_0_60, -1, 26, 0},
|
240
|
+
{ 3, s_0_61, -1, 26, 0},
|
241
|
+
{ 3, s_0_62, -1, 27, 0},
|
242
|
+
{ 3, s_0_63, -1, 27, 0},
|
243
|
+
{ 3, s_0_64, -1, 28, 0},
|
244
|
+
{ 3, s_0_65, -1, 28, 0},
|
245
|
+
{ 3, s_0_66, -1, 29, 0},
|
246
|
+
{ 3, s_0_67, -1, 29, 0},
|
247
|
+
{ 3, s_0_68, -1, 30, 0},
|
248
|
+
{ 3, s_0_69, -1, 30, 0},
|
249
|
+
{ 3, s_0_70, -1, 30, 0},
|
250
|
+
{ 3, s_0_71, -1, 30, 0},
|
251
|
+
{ 3, s_0_72, -1, 31, 0},
|
252
|
+
{ 3, s_0_73, -1, 31, 0},
|
253
|
+
{ 3, s_0_74, -1, 31, 0},
|
254
|
+
{ 3, s_0_75, -1, 31, 0},
|
255
|
+
{ 3, s_0_76, -1, 32, 0},
|
256
|
+
{ 3, s_0_77, -1, 32, 0},
|
257
|
+
{ 3, s_0_78, -1, 32, 0},
|
258
|
+
{ 3, s_0_79, -1, 32, 0},
|
259
|
+
{ 3, s_0_80, -1, 33, 0},
|
260
|
+
{ 3, s_0_81, -1, 33, 0},
|
261
|
+
{ 3, s_0_82, -1, 33, 0},
|
262
|
+
{ 3, s_0_83, -1, 33, 0},
|
263
|
+
{ 3, s_0_84, -1, 34, 0},
|
264
|
+
{ 3, s_0_85, -1, 34, 0},
|
265
|
+
{ 3, s_0_86, -1, 34, 0},
|
266
|
+
{ 3, s_0_87, -1, 34, 0},
|
267
|
+
{ 3, s_0_88, -1, 35, 0},
|
268
|
+
{ 3, s_0_89, -1, 35, 0},
|
269
|
+
{ 3, s_0_90, -1, 35, 0},
|
270
|
+
{ 3, s_0_91, -1, 35, 0},
|
271
|
+
{ 3, s_0_92, -1, 36, 0},
|
272
|
+
{ 3, s_0_93, -1, 36, 0},
|
273
|
+
{ 3, s_0_94, -1, 36, 0},
|
274
|
+
{ 3, s_0_95, -1, 36, 0},
|
275
|
+
{ 3, s_0_96, -1, 37, 0},
|
276
|
+
{ 3, s_0_97, -1, 37, 0},
|
277
|
+
{ 3, s_0_98, -1, 37, 0},
|
278
|
+
{ 3, s_0_99, -1, 37, 0},
|
279
|
+
{ 3, s_0_100, -1, 38, 0},
|
280
|
+
{ 3, s_0_101, -1, 38, 0},
|
281
|
+
{ 3, s_0_102, -1, 38, 0},
|
282
|
+
{ 3, s_0_103, -1, 38, 0},
|
283
|
+
{ 3, s_0_104, -1, 39, 0},
|
284
|
+
{ 3, s_0_105, -1, 39, 0},
|
285
|
+
{ 3, s_0_106, -1, 39, 0},
|
286
|
+
{ 3, s_0_107, -1, 39, 0},
|
287
|
+
{ 3, s_0_108, -1, 40, 0},
|
288
|
+
{ 3, s_0_109, -1, 40, 0},
|
289
|
+
{ 3, s_0_110, -1, 40, 0},
|
290
|
+
{ 3, s_0_111, -1, 40, 0},
|
291
|
+
{ 3, s_0_112, -1, 41, 0},
|
292
|
+
{ 3, s_0_113, -1, 41, 0},
|
293
|
+
{ 3, s_0_114, -1, 41, 0},
|
294
|
+
{ 3, s_0_115, -1, 41, 0},
|
295
|
+
{ 3, s_0_116, -1, 42, 0},
|
296
|
+
{ 3, s_0_117, -1, 42, 0},
|
297
|
+
{ 3, s_0_118, -1, 42, 0},
|
298
|
+
{ 3, s_0_119, -1, 42, 0},
|
299
|
+
{ 3, s_0_120, -1, 43, 0},
|
300
|
+
{ 3, s_0_121, -1, 43, 0},
|
301
|
+
{ 3, s_0_122, -1, 43, 0},
|
302
|
+
{ 3, s_0_123, -1, 43, 0},
|
303
|
+
{ 3, s_0_124, -1, 44, 0},
|
304
|
+
{ 3, s_0_125, -1, 44, 0},
|
305
|
+
{ 3, s_0_126, -1, 44, 0},
|
306
|
+
{ 3, s_0_127, -1, 44, 0},
|
307
|
+
{ 3, s_0_128, -1, 45, 0},
|
308
|
+
{ 3, s_0_129, -1, 45, 0},
|
309
|
+
{ 3, s_0_130, -1, 46, 0},
|
310
|
+
{ 3, s_0_131, -1, 46, 0},
|
311
|
+
{ 3, s_0_132, -1, 47, 0},
|
312
|
+
{ 3, s_0_133, -1, 47, 0},
|
313
|
+
{ 3, s_0_134, -1, 47, 0},
|
314
|
+
{ 3, s_0_135, -1, 47, 0},
|
315
|
+
{ 3, s_0_136, -1, 51, 0},
|
316
|
+
{ 3, s_0_137, -1, 51, 0},
|
317
|
+
{ 3, s_0_138, -1, 49, 0},
|
318
|
+
{ 3, s_0_139, -1, 49, 0},
|
319
|
+
{ 3, s_0_140, -1, 50, 0},
|
320
|
+
{ 3, s_0_141, -1, 50, 0},
|
321
|
+
{ 3, s_0_142, -1, 48, 0},
|
322
|
+
{ 3, s_0_143, -1, 48, 0}
|
323
|
+
};
|
324
|
+
|
325
|
+
static const symbol s_1_0[2] = { 0xD8, 0xA2 };
|
326
|
+
static const symbol s_1_1[2] = { 0xD8, 0xA3 };
|
327
|
+
static const symbol s_1_2[2] = { 0xD8, 0xA4 };
|
328
|
+
static const symbol s_1_3[2] = { 0xD8, 0xA5 };
|
329
|
+
static const symbol s_1_4[2] = { 0xD8, 0xA6 };
|
330
|
+
|
331
|
+
static const struct among a_1[5] =
|
332
|
+
{
|
333
|
+
{ 2, s_1_0, -1, 1, 0},
|
334
|
+
{ 2, s_1_1, -1, 1, 0},
|
335
|
+
{ 2, s_1_2, -1, 1, 0},
|
336
|
+
{ 2, s_1_3, -1, 1, 0},
|
337
|
+
{ 2, s_1_4, -1, 1, 0}
|
338
|
+
};
|
339
|
+
|
340
|
+
static const symbol s_2_0[2] = { 0xD8, 0xA2 };
|
341
|
+
static const symbol s_2_1[2] = { 0xD8, 0xA3 };
|
342
|
+
static const symbol s_2_2[2] = { 0xD8, 0xA4 };
|
343
|
+
static const symbol s_2_3[2] = { 0xD8, 0xA5 };
|
344
|
+
static const symbol s_2_4[2] = { 0xD8, 0xA6 };
|
345
|
+
|
346
|
+
static const struct among a_2[5] =
|
347
|
+
{
|
348
|
+
{ 2, s_2_0, -1, 1, 0},
|
349
|
+
{ 2, s_2_1, -1, 1, 0},
|
350
|
+
{ 2, s_2_2, -1, 2, 0},
|
351
|
+
{ 2, s_2_3, -1, 1, 0},
|
352
|
+
{ 2, s_2_4, -1, 3, 0}
|
353
|
+
};
|
354
|
+
|
355
|
+
static const symbol s_3_0[4] = { 0xD8, 0xA7, 0xD9, 0x84 };
|
356
|
+
static const symbol s_3_1[6] = { 0xD8, 0xA8, 0xD8, 0xA7, 0xD9, 0x84 };
|
357
|
+
static const symbol s_3_2[6] = { 0xD9, 0x83, 0xD8, 0xA7, 0xD9, 0x84 };
|
358
|
+
static const symbol s_3_3[4] = { 0xD9, 0x84, 0xD9, 0x84 };
|
359
|
+
|
360
|
+
static const struct among a_3[4] =
|
361
|
+
{
|
362
|
+
{ 4, s_3_0, -1, 2, 0},
|
363
|
+
{ 6, s_3_1, -1, 1, 0},
|
364
|
+
{ 6, s_3_2, -1, 1, 0},
|
365
|
+
{ 4, s_3_3, -1, 2, 0}
|
366
|
+
};
|
367
|
+
|
368
|
+
static const symbol s_4_0[4] = { 0xD8, 0xA3, 0xD8, 0xA2 };
|
369
|
+
static const symbol s_4_1[4] = { 0xD8, 0xA3, 0xD8, 0xA3 };
|
370
|
+
static const symbol s_4_2[4] = { 0xD8, 0xA3, 0xD8, 0xA4 };
|
371
|
+
static const symbol s_4_3[4] = { 0xD8, 0xA3, 0xD8, 0xA5 };
|
372
|
+
static const symbol s_4_4[4] = { 0xD8, 0xA3, 0xD8, 0xA7 };
|
373
|
+
|
374
|
+
static const struct among a_4[5] =
|
375
|
+
{
|
376
|
+
{ 4, s_4_0, -1, 2, 0},
|
377
|
+
{ 4, s_4_1, -1, 1, 0},
|
378
|
+
{ 4, s_4_2, -1, 1, 0},
|
379
|
+
{ 4, s_4_3, -1, 4, 0},
|
380
|
+
{ 4, s_4_4, -1, 3, 0}
|
381
|
+
};
|
382
|
+
|
383
|
+
static const symbol s_5_0[2] = { 0xD9, 0x81 };
|
384
|
+
static const symbol s_5_1[2] = { 0xD9, 0x88 };
|
385
|
+
|
386
|
+
static const struct among a_5[2] =
|
387
|
+
{
|
388
|
+
{ 2, s_5_0, -1, 1, 0},
|
389
|
+
{ 2, s_5_1, -1, 1, 0}
|
390
|
+
};
|
391
|
+
|
392
|
+
static const symbol s_6_0[4] = { 0xD8, 0xA7, 0xD9, 0x84 };
|
393
|
+
static const symbol s_6_1[6] = { 0xD8, 0xA8, 0xD8, 0xA7, 0xD9, 0x84 };
|
394
|
+
static const symbol s_6_2[6] = { 0xD9, 0x83, 0xD8, 0xA7, 0xD9, 0x84 };
|
395
|
+
static const symbol s_6_3[4] = { 0xD9, 0x84, 0xD9, 0x84 };
|
396
|
+
|
397
|
+
static const struct among a_6[4] =
|
398
|
+
{
|
399
|
+
{ 4, s_6_0, -1, 2, 0},
|
400
|
+
{ 6, s_6_1, -1, 1, 0},
|
401
|
+
{ 6, s_6_2, -1, 1, 0},
|
402
|
+
{ 4, s_6_3, -1, 2, 0}
|
403
|
+
};
|
404
|
+
|
405
|
+
static const symbol s_7_0[2] = { 0xD8, 0xA8 };
|
406
|
+
static const symbol s_7_1[4] = { 0xD8, 0xA8, 0xD8, 0xA7 };
|
407
|
+
static const symbol s_7_2[4] = { 0xD8, 0xA8, 0xD8, 0xA8 };
|
408
|
+
static const symbol s_7_3[4] = { 0xD9, 0x83, 0xD9, 0x83 };
|
409
|
+
|
410
|
+
static const struct among a_7[4] =
|
411
|
+
{
|
412
|
+
{ 2, s_7_0, -1, 1, 0},
|
413
|
+
{ 4, s_7_1, 0, -1, 0},
|
414
|
+
{ 4, s_7_2, 0, 2, 0},
|
415
|
+
{ 4, s_7_3, -1, 3, 0}
|
416
|
+
};
|
417
|
+
|
418
|
+
static const symbol s_8_0[4] = { 0xD8, 0xB3, 0xD8, 0xA3 };
|
419
|
+
static const symbol s_8_1[4] = { 0xD8, 0xB3, 0xD8, 0xAA };
|
420
|
+
static const symbol s_8_2[4] = { 0xD8, 0xB3, 0xD9, 0x86 };
|
421
|
+
static const symbol s_8_3[4] = { 0xD8, 0xB3, 0xD9, 0x8A };
|
422
|
+
|
423
|
+
static const struct among a_8[4] =
|
424
|
+
{
|
425
|
+
{ 4, s_8_0, -1, 4, 0},
|
426
|
+
{ 4, s_8_1, -1, 2, 0},
|
427
|
+
{ 4, s_8_2, -1, 3, 0},
|
428
|
+
{ 4, s_8_3, -1, 1, 0}
|
429
|
+
};
|
430
|
+
|
431
|
+
static const symbol s_9_0[6] = { 0xD8, 0xAA, 0xD8, 0xB3, 0xD8, 0xAA };
|
432
|
+
static const symbol s_9_1[6] = { 0xD9, 0x86, 0xD8, 0xB3, 0xD8, 0xAA };
|
433
|
+
static const symbol s_9_2[6] = { 0xD9, 0x8A, 0xD8, 0xB3, 0xD8, 0xAA };
|
434
|
+
|
435
|
+
static const struct among a_9[3] =
|
436
|
+
{
|
437
|
+
{ 6, s_9_0, -1, 1, 0},
|
438
|
+
{ 6, s_9_1, -1, 1, 0},
|
439
|
+
{ 6, s_9_2, -1, 1, 0}
|
440
|
+
};
|
441
|
+
|
442
|
+
static const symbol s_10_0[2] = { 0xD9, 0x83 };
|
443
|
+
static const symbol s_10_1[4] = { 0xD9, 0x83, 0xD9, 0x85 };
|
444
|
+
static const symbol s_10_2[4] = { 0xD9, 0x87, 0xD9, 0x85 };
|
445
|
+
static const symbol s_10_3[4] = { 0xD9, 0x87, 0xD9, 0x86 };
|
446
|
+
static const symbol s_10_4[2] = { 0xD9, 0x87 };
|
447
|
+
static const symbol s_10_5[2] = { 0xD9, 0x8A };
|
448
|
+
static const symbol s_10_6[6] = { 0xD9, 0x83, 0xD9, 0x85, 0xD8, 0xA7 };
|
449
|
+
static const symbol s_10_7[6] = { 0xD9, 0x87, 0xD9, 0x85, 0xD8, 0xA7 };
|
450
|
+
static const symbol s_10_8[4] = { 0xD9, 0x86, 0xD8, 0xA7 };
|
451
|
+
static const symbol s_10_9[4] = { 0xD9, 0x87, 0xD8, 0xA7 };
|
452
|
+
|
453
|
+
static const struct among a_10[10] =
|
454
|
+
{
|
455
|
+
{ 2, s_10_0, -1, 1, 0},
|
456
|
+
{ 4, s_10_1, -1, 2, 0},
|
457
|
+
{ 4, s_10_2, -1, 2, 0},
|
458
|
+
{ 4, s_10_3, -1, 2, 0},
|
459
|
+
{ 2, s_10_4, -1, 1, 0},
|
460
|
+
{ 2, s_10_5, -1, 1, 0},
|
461
|
+
{ 6, s_10_6, -1, 3, 0},
|
462
|
+
{ 6, s_10_7, -1, 3, 0},
|
463
|
+
{ 4, s_10_8, -1, 2, 0},
|
464
|
+
{ 4, s_10_9, -1, 2, 0}
|
465
|
+
};
|
466
|
+
|
467
|
+
static const symbol s_11_0[2] = { 0xD9, 0x86 };
|
468
|
+
|
469
|
+
static const struct among a_11[1] =
|
470
|
+
{
|
471
|
+
{ 2, s_11_0, -1, 1, 0}
|
472
|
+
};
|
473
|
+
|
474
|
+
static const symbol s_12_0[2] = { 0xD9, 0x88 };
|
475
|
+
static const symbol s_12_1[2] = { 0xD9, 0x8A };
|
476
|
+
static const symbol s_12_2[2] = { 0xD8, 0xA7 };
|
477
|
+
|
478
|
+
static const struct among a_12[3] =
|
479
|
+
{
|
480
|
+
{ 2, s_12_0, -1, 1, 0},
|
481
|
+
{ 2, s_12_1, -1, 1, 0},
|
482
|
+
{ 2, s_12_2, -1, 1, 0}
|
483
|
+
};
|
484
|
+
|
485
|
+
static const symbol s_13_0[4] = { 0xD8, 0xA7, 0xD8, 0xAA };
|
486
|
+
|
487
|
+
static const struct among a_13[1] =
|
488
|
+
{
|
489
|
+
{ 4, s_13_0, -1, 1, 0}
|
490
|
+
};
|
491
|
+
|
492
|
+
static const symbol s_14_0[2] = { 0xD8, 0xAA };
|
493
|
+
|
494
|
+
static const struct among a_14[1] =
|
495
|
+
{
|
496
|
+
{ 2, s_14_0, -1, 1, 0}
|
497
|
+
};
|
498
|
+
|
499
|
+
static const symbol s_15_0[2] = { 0xD8, 0xA9 };
|
500
|
+
|
501
|
+
static const struct among a_15[1] =
|
502
|
+
{
|
503
|
+
{ 2, s_15_0, -1, 1, 0}
|
504
|
+
};
|
505
|
+
|
506
|
+
static const symbol s_16_0[2] = { 0xD9, 0x8A };
|
507
|
+
|
508
|
+
static const struct among a_16[1] =
|
509
|
+
{
|
510
|
+
{ 2, s_16_0, -1, 1, 0}
|
511
|
+
};
|
512
|
+
|
513
|
+
static const symbol s_17_0[2] = { 0xD9, 0x83 };
|
514
|
+
static const symbol s_17_1[4] = { 0xD9, 0x83, 0xD9, 0x85 };
|
515
|
+
static const symbol s_17_2[4] = { 0xD9, 0x87, 0xD9, 0x85 };
|
516
|
+
static const symbol s_17_3[4] = { 0xD9, 0x83, 0xD9, 0x86 };
|
517
|
+
static const symbol s_17_4[4] = { 0xD9, 0x87, 0xD9, 0x86 };
|
518
|
+
static const symbol s_17_5[2] = { 0xD9, 0x87 };
|
519
|
+
static const symbol s_17_6[6] = { 0xD9, 0x83, 0xD9, 0x85, 0xD9, 0x88 };
|
520
|
+
static const symbol s_17_7[4] = { 0xD9, 0x86, 0xD9, 0x8A };
|
521
|
+
static const symbol s_17_8[6] = { 0xD9, 0x83, 0xD9, 0x85, 0xD8, 0xA7 };
|
522
|
+
static const symbol s_17_9[6] = { 0xD9, 0x87, 0xD9, 0x85, 0xD8, 0xA7 };
|
523
|
+
static const symbol s_17_10[4] = { 0xD9, 0x86, 0xD8, 0xA7 };
|
524
|
+
static const symbol s_17_11[4] = { 0xD9, 0x87, 0xD8, 0xA7 };
|
525
|
+
|
526
|
+
static const struct among a_17[12] =
|
527
|
+
{
|
528
|
+
{ 2, s_17_0, -1, 1, 0},
|
529
|
+
{ 4, s_17_1, -1, 2, 0},
|
530
|
+
{ 4, s_17_2, -1, 2, 0},
|
531
|
+
{ 4, s_17_3, -1, 2, 0},
|
532
|
+
{ 4, s_17_4, -1, 2, 0},
|
533
|
+
{ 2, s_17_5, -1, 1, 0},
|
534
|
+
{ 6, s_17_6, -1, 3, 0},
|
535
|
+
{ 4, s_17_7, -1, 2, 0},
|
536
|
+
{ 6, s_17_8, -1, 3, 0},
|
537
|
+
{ 6, s_17_9, -1, 3, 0},
|
538
|
+
{ 4, s_17_10, -1, 2, 0},
|
539
|
+
{ 4, s_17_11, -1, 2, 0}
|
540
|
+
};
|
541
|
+
|
542
|
+
static const symbol s_18_0[2] = { 0xD9, 0x86 };
|
543
|
+
static const symbol s_18_1[4] = { 0xD9, 0x88, 0xD9, 0x86 };
|
544
|
+
static const symbol s_18_2[4] = { 0xD9, 0x8A, 0xD9, 0x86 };
|
545
|
+
static const symbol s_18_3[4] = { 0xD8, 0xA7, 0xD9, 0x86 };
|
546
|
+
static const symbol s_18_4[4] = { 0xD8, 0xAA, 0xD9, 0x86 };
|
547
|
+
static const symbol s_18_5[2] = { 0xD9, 0x8A };
|
548
|
+
static const symbol s_18_6[2] = { 0xD8, 0xA7 };
|
549
|
+
static const symbol s_18_7[6] = { 0xD8, 0xAA, 0xD9, 0x85, 0xD8, 0xA7 };
|
550
|
+
static const symbol s_18_8[4] = { 0xD9, 0x86, 0xD8, 0xA7 };
|
551
|
+
static const symbol s_18_9[4] = { 0xD8, 0xAA, 0xD8, 0xA7 };
|
552
|
+
static const symbol s_18_10[2] = { 0xD8, 0xAA };
|
553
|
+
|
554
|
+
static const struct among a_18[11] =
|
555
|
+
{
|
556
|
+
{ 2, s_18_0, -1, 1, 0},
|
557
|
+
{ 4, s_18_1, 0, 3, 0},
|
558
|
+
{ 4, s_18_2, 0, 3, 0},
|
559
|
+
{ 4, s_18_3, 0, 3, 0},
|
560
|
+
{ 4, s_18_4, 0, 2, 0},
|
561
|
+
{ 2, s_18_5, -1, 1, 0},
|
562
|
+
{ 2, s_18_6, -1, 1, 0},
|
563
|
+
{ 6, s_18_7, 6, 4, 0},
|
564
|
+
{ 4, s_18_8, 6, 2, 0},
|
565
|
+
{ 4, s_18_9, 6, 2, 0},
|
566
|
+
{ 2, s_18_10, -1, 1, 0}
|
567
|
+
};
|
568
|
+
|
569
|
+
static const symbol s_19_0[4] = { 0xD8, 0xAA, 0xD9, 0x85 };
|
570
|
+
static const symbol s_19_1[4] = { 0xD9, 0x88, 0xD8, 0xA7 };
|
571
|
+
|
572
|
+
static const struct among a_19[2] =
|
573
|
+
{
|
574
|
+
{ 4, s_19_0, -1, 1, 0},
|
575
|
+
{ 4, s_19_1, -1, 1, 0}
|
576
|
+
};
|
577
|
+
|
578
|
+
static const symbol s_20_0[2] = { 0xD9, 0x88 };
|
579
|
+
static const symbol s_20_1[6] = { 0xD8, 0xAA, 0xD9, 0x85, 0xD9, 0x88 };
|
580
|
+
|
581
|
+
static const struct among a_20[2] =
|
582
|
+
{
|
583
|
+
{ 2, s_20_0, -1, 1, 0},
|
584
|
+
{ 6, s_20_1, 0, 2, 0}
|
585
|
+
};
|
586
|
+
|
587
|
+
static const symbol s_21_0[2] = { 0xD9, 0x89 };
|
588
|
+
|
589
|
+
static const struct among a_21[1] =
|
590
|
+
{
|
591
|
+
{ 2, s_21_0, -1, 1, 0}
|
592
|
+
};
|
593
|
+
|
594
|
+
static const symbol s_0[] = { '0' };
|
595
|
+
static const symbol s_1[] = { '1' };
|
596
|
+
static const symbol s_2[] = { '2' };
|
597
|
+
static const symbol s_3[] = { '3' };
|
598
|
+
static const symbol s_4[] = { '4' };
|
599
|
+
static const symbol s_5[] = { '5' };
|
600
|
+
static const symbol s_6[] = { '6' };
|
601
|
+
static const symbol s_7[] = { '7' };
|
602
|
+
static const symbol s_8[] = { '8' };
|
603
|
+
static const symbol s_9[] = { '9' };
|
604
|
+
static const symbol s_10[] = { 0xD8, 0xA1 };
|
605
|
+
static const symbol s_11[] = { 0xD8, 0xA3 };
|
606
|
+
static const symbol s_12[] = { 0xD8, 0xA5 };
|
607
|
+
static const symbol s_13[] = { 0xD8, 0xA6 };
|
608
|
+
static const symbol s_14[] = { 0xD8, 0xA2 };
|
609
|
+
static const symbol s_15[] = { 0xD8, 0xA4 };
|
610
|
+
static const symbol s_16[] = { 0xD8, 0xA7 };
|
611
|
+
static const symbol s_17[] = { 0xD8, 0xA8 };
|
612
|
+
static const symbol s_18[] = { 0xD8, 0xA9 };
|
613
|
+
static const symbol s_19[] = { 0xD8, 0xAA };
|
614
|
+
static const symbol s_20[] = { 0xD8, 0xAB };
|
615
|
+
static const symbol s_21[] = { 0xD8, 0xAC };
|
616
|
+
static const symbol s_22[] = { 0xD8, 0xAD };
|
617
|
+
static const symbol s_23[] = { 0xD8, 0xAE };
|
618
|
+
static const symbol s_24[] = { 0xD8, 0xAF };
|
619
|
+
static const symbol s_25[] = { 0xD8, 0xB0 };
|
620
|
+
static const symbol s_26[] = { 0xD8, 0xB1 };
|
621
|
+
static const symbol s_27[] = { 0xD8, 0xB2 };
|
622
|
+
static const symbol s_28[] = { 0xD8, 0xB3 };
|
623
|
+
static const symbol s_29[] = { 0xD8, 0xB4 };
|
624
|
+
static const symbol s_30[] = { 0xD8, 0xB5 };
|
625
|
+
static const symbol s_31[] = { 0xD8, 0xB6 };
|
626
|
+
static const symbol s_32[] = { 0xD8, 0xB7 };
|
627
|
+
static const symbol s_33[] = { 0xD8, 0xB8 };
|
628
|
+
static const symbol s_34[] = { 0xD8, 0xB9 };
|
629
|
+
static const symbol s_35[] = { 0xD8, 0xBA };
|
630
|
+
static const symbol s_36[] = { 0xD9, 0x81 };
|
631
|
+
static const symbol s_37[] = { 0xD9, 0x82 };
|
632
|
+
static const symbol s_38[] = { 0xD9, 0x83 };
|
633
|
+
static const symbol s_39[] = { 0xD9, 0x84 };
|
634
|
+
static const symbol s_40[] = { 0xD9, 0x85 };
|
635
|
+
static const symbol s_41[] = { 0xD9, 0x86 };
|
636
|
+
static const symbol s_42[] = { 0xD9, 0x87 };
|
637
|
+
static const symbol s_43[] = { 0xD9, 0x88 };
|
638
|
+
static const symbol s_44[] = { 0xD9, 0x89 };
|
639
|
+
static const symbol s_45[] = { 0xD9, 0x8A };
|
640
|
+
static const symbol s_46[] = { 0xD9, 0x84, 0xD8, 0xA7 };
|
641
|
+
static const symbol s_47[] = { 0xD9, 0x84, 0xD8, 0xA3 };
|
642
|
+
static const symbol s_48[] = { 0xD9, 0x84, 0xD8, 0xA5 };
|
643
|
+
static const symbol s_49[] = { 0xD9, 0x84, 0xD8, 0xA2 };
|
644
|
+
static const symbol s_50[] = { 0xD8, 0xA1 };
|
645
|
+
static const symbol s_51[] = { 0xD8, 0xA7 };
|
646
|
+
static const symbol s_52[] = { 0xD9, 0x88 };
|
647
|
+
static const symbol s_53[] = { 0xD9, 0x8A };
|
648
|
+
static const symbol s_54[] = { 0xD8, 0xA3 };
|
649
|
+
static const symbol s_55[] = { 0xD8, 0xA2 };
|
650
|
+
static const symbol s_56[] = { 0xD8, 0xA7 };
|
651
|
+
static const symbol s_57[] = { 0xD8, 0xA5 };
|
652
|
+
static const symbol s_58[] = { 0xD8, 0xA7 };
|
653
|
+
static const symbol s_59[] = { 0xD8, 0xA8 };
|
654
|
+
static const symbol s_60[] = { 0xD9, 0x83 };
|
655
|
+
static const symbol s_61[] = { 0xD9, 0x8A };
|
656
|
+
static const symbol s_62[] = { 0xD8, 0xAA };
|
657
|
+
static const symbol s_63[] = { 0xD9, 0x86 };
|
658
|
+
static const symbol s_64[] = { 0xD8, 0xA3 };
|
659
|
+
static const symbol s_65[] = { 0xD8, 0xA7, 0xD8, 0xB3, 0xD8, 0xAA };
|
660
|
+
static const symbol s_66[] = { 0xD9, 0x8A };
|
661
|
+
|
662
|
+
static int r_Normalize_pre(struct SN_env * z) {
|
663
|
+
int among_var;
|
664
|
+
{ int c1 = z->c;
|
665
|
+
while(1) {
|
666
|
+
int c2 = z->c;
|
667
|
+
{ int c3 = z->c;
|
668
|
+
z->bra = z->c;
|
669
|
+
among_var = find_among(z, a_0, 144);
|
670
|
+
if (!(among_var)) goto lab3;
|
671
|
+
z->ket = z->c;
|
672
|
+
switch (among_var) {
|
673
|
+
case 1:
|
674
|
+
{ int ret = slice_del(z);
|
675
|
+
if (ret < 0) return ret;
|
676
|
+
}
|
677
|
+
break;
|
678
|
+
case 2:
|
679
|
+
{ int ret = slice_from_s(z, 1, s_0);
|
680
|
+
if (ret < 0) return ret;
|
681
|
+
}
|
682
|
+
break;
|
683
|
+
case 3:
|
684
|
+
{ int ret = slice_from_s(z, 1, s_1);
|
685
|
+
if (ret < 0) return ret;
|
686
|
+
}
|
687
|
+
break;
|
688
|
+
case 4:
|
689
|
+
{ int ret = slice_from_s(z, 1, s_2);
|
690
|
+
if (ret < 0) return ret;
|
691
|
+
}
|
692
|
+
break;
|
693
|
+
case 5:
|
694
|
+
{ int ret = slice_from_s(z, 1, s_3);
|
695
|
+
if (ret < 0) return ret;
|
696
|
+
}
|
697
|
+
break;
|
698
|
+
case 6:
|
699
|
+
{ int ret = slice_from_s(z, 1, s_4);
|
700
|
+
if (ret < 0) return ret;
|
701
|
+
}
|
702
|
+
break;
|
703
|
+
case 7:
|
704
|
+
{ int ret = slice_from_s(z, 1, s_5);
|
705
|
+
if (ret < 0) return ret;
|
706
|
+
}
|
707
|
+
break;
|
708
|
+
case 8:
|
709
|
+
{ int ret = slice_from_s(z, 1, s_6);
|
710
|
+
if (ret < 0) return ret;
|
711
|
+
}
|
712
|
+
break;
|
713
|
+
case 9:
|
714
|
+
{ int ret = slice_from_s(z, 1, s_7);
|
715
|
+
if (ret < 0) return ret;
|
716
|
+
}
|
717
|
+
break;
|
718
|
+
case 10:
|
719
|
+
{ int ret = slice_from_s(z, 1, s_8);
|
720
|
+
if (ret < 0) return ret;
|
721
|
+
}
|
722
|
+
break;
|
723
|
+
case 11:
|
724
|
+
{ int ret = slice_from_s(z, 1, s_9);
|
725
|
+
if (ret < 0) return ret;
|
726
|
+
}
|
727
|
+
break;
|
728
|
+
case 12:
|
729
|
+
{ int ret = slice_from_s(z, 2, s_10);
|
730
|
+
if (ret < 0) return ret;
|
731
|
+
}
|
732
|
+
break;
|
733
|
+
case 13:
|
734
|
+
{ int ret = slice_from_s(z, 2, s_11);
|
735
|
+
if (ret < 0) return ret;
|
736
|
+
}
|
737
|
+
break;
|
738
|
+
case 14:
|
739
|
+
{ int ret = slice_from_s(z, 2, s_12);
|
740
|
+
if (ret < 0) return ret;
|
741
|
+
}
|
742
|
+
break;
|
743
|
+
case 15:
|
744
|
+
{ int ret = slice_from_s(z, 2, s_13);
|
745
|
+
if (ret < 0) return ret;
|
746
|
+
}
|
747
|
+
break;
|
748
|
+
case 16:
|
749
|
+
{ int ret = slice_from_s(z, 2, s_14);
|
750
|
+
if (ret < 0) return ret;
|
751
|
+
}
|
752
|
+
break;
|
753
|
+
case 17:
|
754
|
+
{ int ret = slice_from_s(z, 2, s_15);
|
755
|
+
if (ret < 0) return ret;
|
756
|
+
}
|
757
|
+
break;
|
758
|
+
case 18:
|
759
|
+
{ int ret = slice_from_s(z, 2, s_16);
|
760
|
+
if (ret < 0) return ret;
|
761
|
+
}
|
762
|
+
break;
|
763
|
+
case 19:
|
764
|
+
{ int ret = slice_from_s(z, 2, s_17);
|
765
|
+
if (ret < 0) return ret;
|
766
|
+
}
|
767
|
+
break;
|
768
|
+
case 20:
|
769
|
+
{ int ret = slice_from_s(z, 2, s_18);
|
770
|
+
if (ret < 0) return ret;
|
771
|
+
}
|
772
|
+
break;
|
773
|
+
case 21:
|
774
|
+
{ int ret = slice_from_s(z, 2, s_19);
|
775
|
+
if (ret < 0) return ret;
|
776
|
+
}
|
777
|
+
break;
|
778
|
+
case 22:
|
779
|
+
{ int ret = slice_from_s(z, 2, s_20);
|
780
|
+
if (ret < 0) return ret;
|
781
|
+
}
|
782
|
+
break;
|
783
|
+
case 23:
|
784
|
+
{ int ret = slice_from_s(z, 2, s_21);
|
785
|
+
if (ret < 0) return ret;
|
786
|
+
}
|
787
|
+
break;
|
788
|
+
case 24:
|
789
|
+
{ int ret = slice_from_s(z, 2, s_22);
|
790
|
+
if (ret < 0) return ret;
|
791
|
+
}
|
792
|
+
break;
|
793
|
+
case 25:
|
794
|
+
{ int ret = slice_from_s(z, 2, s_23);
|
795
|
+
if (ret < 0) return ret;
|
796
|
+
}
|
797
|
+
break;
|
798
|
+
case 26:
|
799
|
+
{ int ret = slice_from_s(z, 2, s_24);
|
800
|
+
if (ret < 0) return ret;
|
801
|
+
}
|
802
|
+
break;
|
803
|
+
case 27:
|
804
|
+
{ int ret = slice_from_s(z, 2, s_25);
|
805
|
+
if (ret < 0) return ret;
|
806
|
+
}
|
807
|
+
break;
|
808
|
+
case 28:
|
809
|
+
{ int ret = slice_from_s(z, 2, s_26);
|
810
|
+
if (ret < 0) return ret;
|
811
|
+
}
|
812
|
+
break;
|
813
|
+
case 29:
|
814
|
+
{ int ret = slice_from_s(z, 2, s_27);
|
815
|
+
if (ret < 0) return ret;
|
816
|
+
}
|
817
|
+
break;
|
818
|
+
case 30:
|
819
|
+
{ int ret = slice_from_s(z, 2, s_28);
|
820
|
+
if (ret < 0) return ret;
|
821
|
+
}
|
822
|
+
break;
|
823
|
+
case 31:
|
824
|
+
{ int ret = slice_from_s(z, 2, s_29);
|
825
|
+
if (ret < 0) return ret;
|
826
|
+
}
|
827
|
+
break;
|
828
|
+
case 32:
|
829
|
+
{ int ret = slice_from_s(z, 2, s_30);
|
830
|
+
if (ret < 0) return ret;
|
831
|
+
}
|
832
|
+
break;
|
833
|
+
case 33:
|
834
|
+
{ int ret = slice_from_s(z, 2, s_31);
|
835
|
+
if (ret < 0) return ret;
|
836
|
+
}
|
837
|
+
break;
|
838
|
+
case 34:
|
839
|
+
{ int ret = slice_from_s(z, 2, s_32);
|
840
|
+
if (ret < 0) return ret;
|
841
|
+
}
|
842
|
+
break;
|
843
|
+
case 35:
|
844
|
+
{ int ret = slice_from_s(z, 2, s_33);
|
845
|
+
if (ret < 0) return ret;
|
846
|
+
}
|
847
|
+
break;
|
848
|
+
case 36:
|
849
|
+
{ int ret = slice_from_s(z, 2, s_34);
|
850
|
+
if (ret < 0) return ret;
|
851
|
+
}
|
852
|
+
break;
|
853
|
+
case 37:
|
854
|
+
{ int ret = slice_from_s(z, 2, s_35);
|
855
|
+
if (ret < 0) return ret;
|
856
|
+
}
|
857
|
+
break;
|
858
|
+
case 38:
|
859
|
+
{ int ret = slice_from_s(z, 2, s_36);
|
860
|
+
if (ret < 0) return ret;
|
861
|
+
}
|
862
|
+
break;
|
863
|
+
case 39:
|
864
|
+
{ int ret = slice_from_s(z, 2, s_37);
|
865
|
+
if (ret < 0) return ret;
|
866
|
+
}
|
867
|
+
break;
|
868
|
+
case 40:
|
869
|
+
{ int ret = slice_from_s(z, 2, s_38);
|
870
|
+
if (ret < 0) return ret;
|
871
|
+
}
|
872
|
+
break;
|
873
|
+
case 41:
|
874
|
+
{ int ret = slice_from_s(z, 2, s_39);
|
875
|
+
if (ret < 0) return ret;
|
876
|
+
}
|
877
|
+
break;
|
878
|
+
case 42:
|
879
|
+
{ int ret = slice_from_s(z, 2, s_40);
|
880
|
+
if (ret < 0) return ret;
|
881
|
+
}
|
882
|
+
break;
|
883
|
+
case 43:
|
884
|
+
{ int ret = slice_from_s(z, 2, s_41);
|
885
|
+
if (ret < 0) return ret;
|
886
|
+
}
|
887
|
+
break;
|
888
|
+
case 44:
|
889
|
+
{ int ret = slice_from_s(z, 2, s_42);
|
890
|
+
if (ret < 0) return ret;
|
891
|
+
}
|
892
|
+
break;
|
893
|
+
case 45:
|
894
|
+
{ int ret = slice_from_s(z, 2, s_43);
|
895
|
+
if (ret < 0) return ret;
|
896
|
+
}
|
897
|
+
break;
|
898
|
+
case 46:
|
899
|
+
{ int ret = slice_from_s(z, 2, s_44);
|
900
|
+
if (ret < 0) return ret;
|
901
|
+
}
|
902
|
+
break;
|
903
|
+
case 47:
|
904
|
+
{ int ret = slice_from_s(z, 2, s_45);
|
905
|
+
if (ret < 0) return ret;
|
906
|
+
}
|
907
|
+
break;
|
908
|
+
case 48:
|
909
|
+
{ int ret = slice_from_s(z, 4, s_46);
|
910
|
+
if (ret < 0) return ret;
|
911
|
+
}
|
912
|
+
break;
|
913
|
+
case 49:
|
914
|
+
{ int ret = slice_from_s(z, 4, s_47);
|
915
|
+
if (ret < 0) return ret;
|
916
|
+
}
|
917
|
+
break;
|
918
|
+
case 50:
|
919
|
+
{ int ret = slice_from_s(z, 4, s_48);
|
920
|
+
if (ret < 0) return ret;
|
921
|
+
}
|
922
|
+
break;
|
923
|
+
case 51:
|
924
|
+
{ int ret = slice_from_s(z, 4, s_49);
|
925
|
+
if (ret < 0) return ret;
|
926
|
+
}
|
927
|
+
break;
|
928
|
+
}
|
929
|
+
goto lab2;
|
930
|
+
lab3:
|
931
|
+
z->c = c3;
|
932
|
+
{ int ret = skip_utf8(z->p, z->c, z->l, 1);
|
933
|
+
if (ret < 0) goto lab1;
|
934
|
+
z->c = ret;
|
935
|
+
}
|
936
|
+
}
|
937
|
+
lab2:
|
938
|
+
continue;
|
939
|
+
lab1:
|
940
|
+
z->c = c2;
|
941
|
+
break;
|
942
|
+
}
|
943
|
+
z->c = c1;
|
944
|
+
}
|
945
|
+
return 1;
|
946
|
+
}
|
947
|
+
|
948
|
+
static int r_Normalize_post(struct SN_env * z) {
|
949
|
+
int among_var;
|
950
|
+
{ int c1 = z->c;
|
951
|
+
z->lb = z->c; z->c = z->l;
|
952
|
+
|
953
|
+
z->ket = z->c;
|
954
|
+
if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 5 || !((124 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab0;
|
955
|
+
if (!(find_among_b(z, a_1, 5))) goto lab0;
|
956
|
+
z->bra = z->c;
|
957
|
+
{ int ret = slice_from_s(z, 2, s_50);
|
958
|
+
if (ret < 0) return ret;
|
959
|
+
}
|
960
|
+
z->c = z->lb;
|
961
|
+
lab0:
|
962
|
+
z->c = c1;
|
963
|
+
}
|
964
|
+
{ int c2 = z->c;
|
965
|
+
while(1) {
|
966
|
+
int c3 = z->c;
|
967
|
+
{ int c4 = z->c;
|
968
|
+
z->bra = z->c;
|
969
|
+
if (z->c + 1 >= z->l || z->p[z->c + 1] >> 5 != 5 || !((124 >> (z->p[z->c + 1] & 0x1f)) & 1)) goto lab4;
|
970
|
+
among_var = find_among(z, a_2, 5);
|
971
|
+
if (!(among_var)) goto lab4;
|
972
|
+
z->ket = z->c;
|
973
|
+
switch (among_var) {
|
974
|
+
case 1:
|
975
|
+
{ int ret = slice_from_s(z, 2, s_51);
|
976
|
+
if (ret < 0) return ret;
|
977
|
+
}
|
978
|
+
break;
|
979
|
+
case 2:
|
980
|
+
{ int ret = slice_from_s(z, 2, s_52);
|
981
|
+
if (ret < 0) return ret;
|
982
|
+
}
|
983
|
+
break;
|
984
|
+
case 3:
|
985
|
+
{ int ret = slice_from_s(z, 2, s_53);
|
986
|
+
if (ret < 0) return ret;
|
987
|
+
}
|
988
|
+
break;
|
989
|
+
}
|
990
|
+
goto lab3;
|
991
|
+
lab4:
|
992
|
+
z->c = c4;
|
993
|
+
{ int ret = skip_utf8(z->p, z->c, z->l, 1);
|
994
|
+
if (ret < 0) goto lab2;
|
995
|
+
z->c = ret;
|
996
|
+
}
|
997
|
+
}
|
998
|
+
lab3:
|
999
|
+
continue;
|
1000
|
+
lab2:
|
1001
|
+
z->c = c3;
|
1002
|
+
break;
|
1003
|
+
}
|
1004
|
+
z->c = c2;
|
1005
|
+
}
|
1006
|
+
return 1;
|
1007
|
+
}
|
1008
|
+
|
1009
|
+
static int r_Checks1(struct SN_env * z) {
|
1010
|
+
int among_var;
|
1011
|
+
z->bra = z->c;
|
1012
|
+
if (z->c + 3 >= z->l || (z->p[z->c + 3] != 132 && z->p[z->c + 3] != 167)) return 0;
|
1013
|
+
among_var = find_among(z, a_3, 4);
|
1014
|
+
if (!(among_var)) return 0;
|
1015
|
+
z->ket = z->c;
|
1016
|
+
switch (among_var) {
|
1017
|
+
case 1:
|
1018
|
+
if (!(len_utf8(z->p) > 4)) return 0;
|
1019
|
+
z->I[2] = 1;
|
1020
|
+
z->I[1] = 0;
|
1021
|
+
z->I[0] = 1;
|
1022
|
+
break;
|
1023
|
+
case 2:
|
1024
|
+
if (!(len_utf8(z->p) > 3)) return 0;
|
1025
|
+
z->I[2] = 1;
|
1026
|
+
z->I[1] = 0;
|
1027
|
+
z->I[0] = 1;
|
1028
|
+
break;
|
1029
|
+
}
|
1030
|
+
return 1;
|
1031
|
+
}
|
1032
|
+
|
1033
|
+
static int r_Prefix_Step1(struct SN_env * z) {
|
1034
|
+
int among_var;
|
1035
|
+
z->bra = z->c;
|
1036
|
+
if (z->c + 3 >= z->l || z->p[z->c + 3] >> 5 != 5 || !((188 >> (z->p[z->c + 3] & 0x1f)) & 1)) return 0;
|
1037
|
+
among_var = find_among(z, a_4, 5);
|
1038
|
+
if (!(among_var)) return 0;
|
1039
|
+
z->ket = z->c;
|
1040
|
+
switch (among_var) {
|
1041
|
+
case 1:
|
1042
|
+
if (!(len_utf8(z->p) > 3)) return 0;
|
1043
|
+
{ int ret = slice_from_s(z, 2, s_54);
|
1044
|
+
if (ret < 0) return ret;
|
1045
|
+
}
|
1046
|
+
break;
|
1047
|
+
case 2:
|
1048
|
+
if (!(len_utf8(z->p) > 3)) return 0;
|
1049
|
+
{ int ret = slice_from_s(z, 2, s_55);
|
1050
|
+
if (ret < 0) return ret;
|
1051
|
+
}
|
1052
|
+
break;
|
1053
|
+
case 3:
|
1054
|
+
if (!(len_utf8(z->p) > 3)) return 0;
|
1055
|
+
{ int ret = slice_from_s(z, 2, s_56);
|
1056
|
+
if (ret < 0) return ret;
|
1057
|
+
}
|
1058
|
+
break;
|
1059
|
+
case 4:
|
1060
|
+
if (!(len_utf8(z->p) > 3)) return 0;
|
1061
|
+
{ int ret = slice_from_s(z, 2, s_57);
|
1062
|
+
if (ret < 0) return ret;
|
1063
|
+
}
|
1064
|
+
break;
|
1065
|
+
}
|
1066
|
+
return 1;
|
1067
|
+
}
|
1068
|
+
|
1069
|
+
static int r_Prefix_Step2(struct SN_env * z) {
|
1070
|
+
z->bra = z->c;
|
1071
|
+
if (z->c + 1 >= z->l || (z->p[z->c + 1] != 129 && z->p[z->c + 1] != 136)) return 0;
|
1072
|
+
if (!(find_among(z, a_5, 2))) return 0;
|
1073
|
+
z->ket = z->c;
|
1074
|
+
if (!(len_utf8(z->p) > 3)) return 0;
|
1075
|
+
{ int c1 = z->c;
|
1076
|
+
if (!(eq_s(z, 2, s_58))) goto lab0;
|
1077
|
+
return 0;
|
1078
|
+
lab0:
|
1079
|
+
z->c = c1;
|
1080
|
+
}
|
1081
|
+
{ int ret = slice_del(z);
|
1082
|
+
if (ret < 0) return ret;
|
1083
|
+
}
|
1084
|
+
return 1;
|
1085
|
+
}
|
1086
|
+
|
1087
|
+
static int r_Prefix_Step3a_Noun(struct SN_env * z) {
|
1088
|
+
int among_var;
|
1089
|
+
z->bra = z->c;
|
1090
|
+
if (z->c + 3 >= z->l || (z->p[z->c + 3] != 132 && z->p[z->c + 3] != 167)) return 0;
|
1091
|
+
among_var = find_among(z, a_6, 4);
|
1092
|
+
if (!(among_var)) return 0;
|
1093
|
+
z->ket = z->c;
|
1094
|
+
switch (among_var) {
|
1095
|
+
case 1:
|
1096
|
+
if (!(len_utf8(z->p) > 5)) return 0;
|
1097
|
+
{ int ret = slice_del(z);
|
1098
|
+
if (ret < 0) return ret;
|
1099
|
+
}
|
1100
|
+
break;
|
1101
|
+
case 2:
|
1102
|
+
if (!(len_utf8(z->p) > 4)) return 0;
|
1103
|
+
{ int ret = slice_del(z);
|
1104
|
+
if (ret < 0) return ret;
|
1105
|
+
}
|
1106
|
+
break;
|
1107
|
+
}
|
1108
|
+
return 1;
|
1109
|
+
}
|
1110
|
+
|
1111
|
+
static int r_Prefix_Step3b_Noun(struct SN_env * z) {
|
1112
|
+
int among_var;
|
1113
|
+
z->bra = z->c;
|
1114
|
+
if (z->c + 1 >= z->l || (z->p[z->c + 1] != 168 && z->p[z->c + 1] != 131)) return 0;
|
1115
|
+
among_var = find_among(z, a_7, 4);
|
1116
|
+
if (!(among_var)) return 0;
|
1117
|
+
z->ket = z->c;
|
1118
|
+
switch (among_var) {
|
1119
|
+
case 1:
|
1120
|
+
if (!(len_utf8(z->p) > 3)) return 0;
|
1121
|
+
{ int ret = slice_del(z);
|
1122
|
+
if (ret < 0) return ret;
|
1123
|
+
}
|
1124
|
+
break;
|
1125
|
+
case 2:
|
1126
|
+
if (!(len_utf8(z->p) > 3)) return 0;
|
1127
|
+
{ int ret = slice_from_s(z, 2, s_59);
|
1128
|
+
if (ret < 0) return ret;
|
1129
|
+
}
|
1130
|
+
break;
|
1131
|
+
case 3:
|
1132
|
+
if (!(len_utf8(z->p) > 3)) return 0;
|
1133
|
+
{ int ret = slice_from_s(z, 2, s_60);
|
1134
|
+
if (ret < 0) return ret;
|
1135
|
+
}
|
1136
|
+
break;
|
1137
|
+
}
|
1138
|
+
return 1;
|
1139
|
+
}
|
1140
|
+
|
1141
|
+
static int r_Prefix_Step3_Verb(struct SN_env * z) {
|
1142
|
+
int among_var;
|
1143
|
+
z->bra = z->c;
|
1144
|
+
among_var = find_among(z, a_8, 4);
|
1145
|
+
if (!(among_var)) return 0;
|
1146
|
+
z->ket = z->c;
|
1147
|
+
switch (among_var) {
|
1148
|
+
case 1:
|
1149
|
+
if (!(len_utf8(z->p) > 4)) return 0;
|
1150
|
+
{ int ret = slice_from_s(z, 2, s_61);
|
1151
|
+
if (ret < 0) return ret;
|
1152
|
+
}
|
1153
|
+
break;
|
1154
|
+
case 2:
|
1155
|
+
if (!(len_utf8(z->p) > 4)) return 0;
|
1156
|
+
{ int ret = slice_from_s(z, 2, s_62);
|
1157
|
+
if (ret < 0) return ret;
|
1158
|
+
}
|
1159
|
+
break;
|
1160
|
+
case 3:
|
1161
|
+
if (!(len_utf8(z->p) > 4)) return 0;
|
1162
|
+
{ int ret = slice_from_s(z, 2, s_63);
|
1163
|
+
if (ret < 0) return ret;
|
1164
|
+
}
|
1165
|
+
break;
|
1166
|
+
case 4:
|
1167
|
+
if (!(len_utf8(z->p) > 4)) return 0;
|
1168
|
+
{ int ret = slice_from_s(z, 2, s_64);
|
1169
|
+
if (ret < 0) return ret;
|
1170
|
+
}
|
1171
|
+
break;
|
1172
|
+
}
|
1173
|
+
return 1;
|
1174
|
+
}
|
1175
|
+
|
1176
|
+
static int r_Prefix_Step4_Verb(struct SN_env * z) {
|
1177
|
+
z->bra = z->c;
|
1178
|
+
if (z->c + 5 >= z->l || z->p[z->c + 5] != 170) return 0;
|
1179
|
+
if (!(find_among(z, a_9, 3))) return 0;
|
1180
|
+
z->ket = z->c;
|
1181
|
+
if (!(len_utf8(z->p) > 4)) return 0;
|
1182
|
+
z->I[1] = 1;
|
1183
|
+
z->I[2] = 0;
|
1184
|
+
{ int ret = slice_from_s(z, 6, s_65);
|
1185
|
+
if (ret < 0) return ret;
|
1186
|
+
}
|
1187
|
+
return 1;
|
1188
|
+
}
|
1189
|
+
|
1190
|
+
static int r_Suffix_Noun_Step1a(struct SN_env * z) {
|
1191
|
+
int among_var;
|
1192
|
+
z->ket = z->c;
|
1193
|
+
among_var = find_among_b(z, a_10, 10);
|
1194
|
+
if (!(among_var)) return 0;
|
1195
|
+
z->bra = z->c;
|
1196
|
+
switch (among_var) {
|
1197
|
+
case 1:
|
1198
|
+
if (!(len_utf8(z->p) >= 4)) return 0;
|
1199
|
+
{ int ret = slice_del(z);
|
1200
|
+
if (ret < 0) return ret;
|
1201
|
+
}
|
1202
|
+
break;
|
1203
|
+
case 2:
|
1204
|
+
if (!(len_utf8(z->p) >= 5)) return 0;
|
1205
|
+
{ int ret = slice_del(z);
|
1206
|
+
if (ret < 0) return ret;
|
1207
|
+
}
|
1208
|
+
break;
|
1209
|
+
case 3:
|
1210
|
+
if (!(len_utf8(z->p) >= 6)) return 0;
|
1211
|
+
{ int ret = slice_del(z);
|
1212
|
+
if (ret < 0) return ret;
|
1213
|
+
}
|
1214
|
+
break;
|
1215
|
+
}
|
1216
|
+
return 1;
|
1217
|
+
}
|
1218
|
+
|
1219
|
+
static int r_Suffix_Noun_Step1b(struct SN_env * z) {
|
1220
|
+
z->ket = z->c;
|
1221
|
+
if (z->c - 1 <= z->lb || z->p[z->c - 1] != 134) return 0;
|
1222
|
+
if (!(find_among_b(z, a_11, 1))) return 0;
|
1223
|
+
z->bra = z->c;
|
1224
|
+
if (!(len_utf8(z->p) > 5)) return 0;
|
1225
|
+
{ int ret = slice_del(z);
|
1226
|
+
if (ret < 0) return ret;
|
1227
|
+
}
|
1228
|
+
return 1;
|
1229
|
+
}
|
1230
|
+
|
1231
|
+
static int r_Suffix_Noun_Step2a(struct SN_env * z) {
|
1232
|
+
z->ket = z->c;
|
1233
|
+
if (!(find_among_b(z, a_12, 3))) return 0;
|
1234
|
+
z->bra = z->c;
|
1235
|
+
if (!(len_utf8(z->p) > 4)) return 0;
|
1236
|
+
{ int ret = slice_del(z);
|
1237
|
+
if (ret < 0) return ret;
|
1238
|
+
}
|
1239
|
+
return 1;
|
1240
|
+
}
|
1241
|
+
|
1242
|
+
static int r_Suffix_Noun_Step2b(struct SN_env * z) {
|
1243
|
+
z->ket = z->c;
|
1244
|
+
if (z->c - 3 <= z->lb || z->p[z->c - 1] != 170) return 0;
|
1245
|
+
if (!(find_among_b(z, a_13, 1))) return 0;
|
1246
|
+
z->bra = z->c;
|
1247
|
+
if (!(len_utf8(z->p) >= 5)) return 0;
|
1248
|
+
{ int ret = slice_del(z);
|
1249
|
+
if (ret < 0) return ret;
|
1250
|
+
}
|
1251
|
+
return 1;
|
1252
|
+
}
|
1253
|
+
|
1254
|
+
static int r_Suffix_Noun_Step2c1(struct SN_env * z) {
|
1255
|
+
z->ket = z->c;
|
1256
|
+
if (z->c - 1 <= z->lb || z->p[z->c - 1] != 170) return 0;
|
1257
|
+
if (!(find_among_b(z, a_14, 1))) return 0;
|
1258
|
+
z->bra = z->c;
|
1259
|
+
if (!(len_utf8(z->p) >= 4)) return 0;
|
1260
|
+
{ int ret = slice_del(z);
|
1261
|
+
if (ret < 0) return ret;
|
1262
|
+
}
|
1263
|
+
return 1;
|
1264
|
+
}
|
1265
|
+
|
1266
|
+
static int r_Suffix_Noun_Step2c2(struct SN_env * z) {
|
1267
|
+
z->ket = z->c;
|
1268
|
+
if (z->c - 1 <= z->lb || z->p[z->c - 1] != 169) return 0;
|
1269
|
+
if (!(find_among_b(z, a_15, 1))) return 0;
|
1270
|
+
z->bra = z->c;
|
1271
|
+
if (!(len_utf8(z->p) >= 4)) return 0;
|
1272
|
+
{ int ret = slice_del(z);
|
1273
|
+
if (ret < 0) return ret;
|
1274
|
+
}
|
1275
|
+
return 1;
|
1276
|
+
}
|
1277
|
+
|
1278
|
+
static int r_Suffix_Noun_Step3(struct SN_env * z) {
|
1279
|
+
z->ket = z->c;
|
1280
|
+
if (z->c - 1 <= z->lb || z->p[z->c - 1] != 138) return 0;
|
1281
|
+
if (!(find_among_b(z, a_16, 1))) return 0;
|
1282
|
+
z->bra = z->c;
|
1283
|
+
if (!(len_utf8(z->p) >= 3)) return 0;
|
1284
|
+
{ int ret = slice_del(z);
|
1285
|
+
if (ret < 0) return ret;
|
1286
|
+
}
|
1287
|
+
return 1;
|
1288
|
+
}
|
1289
|
+
|
1290
|
+
static int r_Suffix_Verb_Step1(struct SN_env * z) {
|
1291
|
+
int among_var;
|
1292
|
+
z->ket = z->c;
|
1293
|
+
among_var = find_among_b(z, a_17, 12);
|
1294
|
+
if (!(among_var)) return 0;
|
1295
|
+
z->bra = z->c;
|
1296
|
+
switch (among_var) {
|
1297
|
+
case 1:
|
1298
|
+
if (!(len_utf8(z->p) >= 4)) return 0;
|
1299
|
+
{ int ret = slice_del(z);
|
1300
|
+
if (ret < 0) return ret;
|
1301
|
+
}
|
1302
|
+
break;
|
1303
|
+
case 2:
|
1304
|
+
if (!(len_utf8(z->p) >= 5)) return 0;
|
1305
|
+
{ int ret = slice_del(z);
|
1306
|
+
if (ret < 0) return ret;
|
1307
|
+
}
|
1308
|
+
break;
|
1309
|
+
case 3:
|
1310
|
+
if (!(len_utf8(z->p) >= 6)) return 0;
|
1311
|
+
{ int ret = slice_del(z);
|
1312
|
+
if (ret < 0) return ret;
|
1313
|
+
}
|
1314
|
+
break;
|
1315
|
+
}
|
1316
|
+
return 1;
|
1317
|
+
}
|
1318
|
+
|
1319
|
+
static int r_Suffix_Verb_Step2a(struct SN_env * z) {
|
1320
|
+
int among_var;
|
1321
|
+
z->ket = z->c;
|
1322
|
+
among_var = find_among_b(z, a_18, 11);
|
1323
|
+
if (!(among_var)) return 0;
|
1324
|
+
z->bra = z->c;
|
1325
|
+
switch (among_var) {
|
1326
|
+
case 1:
|
1327
|
+
if (!(len_utf8(z->p) >= 4)) return 0;
|
1328
|
+
{ int ret = slice_del(z);
|
1329
|
+
if (ret < 0) return ret;
|
1330
|
+
}
|
1331
|
+
break;
|
1332
|
+
case 2:
|
1333
|
+
if (!(len_utf8(z->p) >= 5)) return 0;
|
1334
|
+
{ int ret = slice_del(z);
|
1335
|
+
if (ret < 0) return ret;
|
1336
|
+
}
|
1337
|
+
break;
|
1338
|
+
case 3:
|
1339
|
+
if (!(len_utf8(z->p) > 5)) return 0;
|
1340
|
+
{ int ret = slice_del(z);
|
1341
|
+
if (ret < 0) return ret;
|
1342
|
+
}
|
1343
|
+
break;
|
1344
|
+
case 4:
|
1345
|
+
if (!(len_utf8(z->p) >= 6)) return 0;
|
1346
|
+
{ int ret = slice_del(z);
|
1347
|
+
if (ret < 0) return ret;
|
1348
|
+
}
|
1349
|
+
break;
|
1350
|
+
}
|
1351
|
+
return 1;
|
1352
|
+
}
|
1353
|
+
|
1354
|
+
static int r_Suffix_Verb_Step2b(struct SN_env * z) {
|
1355
|
+
z->ket = z->c;
|
1356
|
+
if (z->c - 3 <= z->lb || (z->p[z->c - 1] != 133 && z->p[z->c - 1] != 167)) return 0;
|
1357
|
+
if (!(find_among_b(z, a_19, 2))) return 0;
|
1358
|
+
z->bra = z->c;
|
1359
|
+
if (!(len_utf8(z->p) >= 5)) return 0;
|
1360
|
+
{ int ret = slice_del(z);
|
1361
|
+
if (ret < 0) return ret;
|
1362
|
+
}
|
1363
|
+
return 1;
|
1364
|
+
}
|
1365
|
+
|
1366
|
+
static int r_Suffix_Verb_Step2c(struct SN_env * z) {
|
1367
|
+
int among_var;
|
1368
|
+
z->ket = z->c;
|
1369
|
+
if (z->c - 1 <= z->lb || z->p[z->c - 1] != 136) return 0;
|
1370
|
+
among_var = find_among_b(z, a_20, 2);
|
1371
|
+
if (!(among_var)) return 0;
|
1372
|
+
z->bra = z->c;
|
1373
|
+
switch (among_var) {
|
1374
|
+
case 1:
|
1375
|
+
if (!(len_utf8(z->p) >= 4)) return 0;
|
1376
|
+
{ int ret = slice_del(z);
|
1377
|
+
if (ret < 0) return ret;
|
1378
|
+
}
|
1379
|
+
break;
|
1380
|
+
case 2:
|
1381
|
+
if (!(len_utf8(z->p) >= 6)) return 0;
|
1382
|
+
{ int ret = slice_del(z);
|
1383
|
+
if (ret < 0) return ret;
|
1384
|
+
}
|
1385
|
+
break;
|
1386
|
+
}
|
1387
|
+
return 1;
|
1388
|
+
}
|
1389
|
+
|
1390
|
+
static int r_Suffix_All_alef_maqsura(struct SN_env * z) {
|
1391
|
+
z->ket = z->c;
|
1392
|
+
if (z->c - 1 <= z->lb || z->p[z->c - 1] != 137) return 0;
|
1393
|
+
if (!(find_among_b(z, a_21, 1))) return 0;
|
1394
|
+
z->bra = z->c;
|
1395
|
+
{ int ret = slice_from_s(z, 2, s_66);
|
1396
|
+
if (ret < 0) return ret;
|
1397
|
+
}
|
1398
|
+
return 1;
|
1399
|
+
}
|
1400
|
+
|
1401
|
+
extern int arabic_UTF_8_stem(struct SN_env * z) {
|
1402
|
+
z->I[2] = 1;
|
1403
|
+
z->I[1] = 1;
|
1404
|
+
z->I[0] = 0;
|
1405
|
+
{ int c1 = z->c;
|
1406
|
+
{ int ret = r_Checks1(z);
|
1407
|
+
if (ret < 0) return ret;
|
1408
|
+
}
|
1409
|
+
z->c = c1;
|
1410
|
+
}
|
1411
|
+
|
1412
|
+
{ int ret = r_Normalize_pre(z);
|
1413
|
+
if (ret < 0) return ret;
|
1414
|
+
}
|
1415
|
+
z->lb = z->c; z->c = z->l;
|
1416
|
+
|
1417
|
+
{ int m2 = z->l - z->c; (void)m2;
|
1418
|
+
{ int m3 = z->l - z->c; (void)m3;
|
1419
|
+
if (!(z->I[1])) goto lab2;
|
1420
|
+
{ int m4 = z->l - z->c; (void)m4;
|
1421
|
+
{ int i = 1;
|
1422
|
+
while(1) {
|
1423
|
+
int m5 = z->l - z->c; (void)m5;
|
1424
|
+
{ int ret = r_Suffix_Verb_Step1(z);
|
1425
|
+
if (ret == 0) goto lab5;
|
1426
|
+
if (ret < 0) return ret;
|
1427
|
+
}
|
1428
|
+
i--;
|
1429
|
+
continue;
|
1430
|
+
lab5:
|
1431
|
+
z->c = z->l - m5;
|
1432
|
+
break;
|
1433
|
+
}
|
1434
|
+
if (i > 0) goto lab4;
|
1435
|
+
}
|
1436
|
+
{ int m6 = z->l - z->c; (void)m6;
|
1437
|
+
{ int ret = r_Suffix_Verb_Step2a(z);
|
1438
|
+
if (ret == 0) goto lab7;
|
1439
|
+
if (ret < 0) return ret;
|
1440
|
+
}
|
1441
|
+
goto lab6;
|
1442
|
+
lab7:
|
1443
|
+
z->c = z->l - m6;
|
1444
|
+
{ int ret = r_Suffix_Verb_Step2c(z);
|
1445
|
+
if (ret == 0) goto lab8;
|
1446
|
+
if (ret < 0) return ret;
|
1447
|
+
}
|
1448
|
+
goto lab6;
|
1449
|
+
lab8:
|
1450
|
+
z->c = z->l - m6;
|
1451
|
+
{ int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
|
1452
|
+
if (ret < 0) goto lab4;
|
1453
|
+
z->c = ret;
|
1454
|
+
}
|
1455
|
+
}
|
1456
|
+
lab6:
|
1457
|
+
goto lab3;
|
1458
|
+
lab4:
|
1459
|
+
z->c = z->l - m4;
|
1460
|
+
{ int ret = r_Suffix_Verb_Step2b(z);
|
1461
|
+
if (ret == 0) goto lab9;
|
1462
|
+
if (ret < 0) return ret;
|
1463
|
+
}
|
1464
|
+
goto lab3;
|
1465
|
+
lab9:
|
1466
|
+
z->c = z->l - m4;
|
1467
|
+
{ int ret = r_Suffix_Verb_Step2a(z);
|
1468
|
+
if (ret == 0) goto lab2;
|
1469
|
+
if (ret < 0) return ret;
|
1470
|
+
}
|
1471
|
+
}
|
1472
|
+
lab3:
|
1473
|
+
goto lab1;
|
1474
|
+
lab2:
|
1475
|
+
z->c = z->l - m3;
|
1476
|
+
if (!(z->I[2])) goto lab10;
|
1477
|
+
{ int m7 = z->l - z->c; (void)m7;
|
1478
|
+
{ int m8 = z->l - z->c; (void)m8;
|
1479
|
+
{ int ret = r_Suffix_Noun_Step2c2(z);
|
1480
|
+
if (ret == 0) goto lab13;
|
1481
|
+
if (ret < 0) return ret;
|
1482
|
+
}
|
1483
|
+
goto lab12;
|
1484
|
+
lab13:
|
1485
|
+
z->c = z->l - m8;
|
1486
|
+
|
1487
|
+
if (!(z->I[0])) goto lab15;
|
1488
|
+
goto lab14;
|
1489
|
+
lab15:
|
1490
|
+
{ int ret = r_Suffix_Noun_Step1a(z);
|
1491
|
+
if (ret == 0) goto lab14;
|
1492
|
+
if (ret < 0) return ret;
|
1493
|
+
}
|
1494
|
+
{ int m9 = z->l - z->c; (void)m9;
|
1495
|
+
{ int ret = r_Suffix_Noun_Step2a(z);
|
1496
|
+
if (ret == 0) goto lab17;
|
1497
|
+
if (ret < 0) return ret;
|
1498
|
+
}
|
1499
|
+
goto lab16;
|
1500
|
+
lab17:
|
1501
|
+
z->c = z->l - m9;
|
1502
|
+
{ int ret = r_Suffix_Noun_Step2b(z);
|
1503
|
+
if (ret == 0) goto lab18;
|
1504
|
+
if (ret < 0) return ret;
|
1505
|
+
}
|
1506
|
+
goto lab16;
|
1507
|
+
lab18:
|
1508
|
+
z->c = z->l - m9;
|
1509
|
+
{ int ret = r_Suffix_Noun_Step2c1(z);
|
1510
|
+
if (ret == 0) goto lab19;
|
1511
|
+
if (ret < 0) return ret;
|
1512
|
+
}
|
1513
|
+
goto lab16;
|
1514
|
+
lab19:
|
1515
|
+
z->c = z->l - m9;
|
1516
|
+
{ int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
|
1517
|
+
if (ret < 0) goto lab14;
|
1518
|
+
z->c = ret;
|
1519
|
+
}
|
1520
|
+
}
|
1521
|
+
lab16:
|
1522
|
+
goto lab12;
|
1523
|
+
lab14:
|
1524
|
+
z->c = z->l - m8;
|
1525
|
+
{ int ret = r_Suffix_Noun_Step1b(z);
|
1526
|
+
if (ret == 0) goto lab20;
|
1527
|
+
if (ret < 0) return ret;
|
1528
|
+
}
|
1529
|
+
{ int m10 = z->l - z->c; (void)m10;
|
1530
|
+
{ int ret = r_Suffix_Noun_Step2a(z);
|
1531
|
+
if (ret == 0) goto lab22;
|
1532
|
+
if (ret < 0) return ret;
|
1533
|
+
}
|
1534
|
+
goto lab21;
|
1535
|
+
lab22:
|
1536
|
+
z->c = z->l - m10;
|
1537
|
+
{ int ret = r_Suffix_Noun_Step2b(z);
|
1538
|
+
if (ret == 0) goto lab23;
|
1539
|
+
if (ret < 0) return ret;
|
1540
|
+
}
|
1541
|
+
goto lab21;
|
1542
|
+
lab23:
|
1543
|
+
z->c = z->l - m10;
|
1544
|
+
{ int ret = r_Suffix_Noun_Step2c1(z);
|
1545
|
+
if (ret == 0) goto lab20;
|
1546
|
+
if (ret < 0) return ret;
|
1547
|
+
}
|
1548
|
+
}
|
1549
|
+
lab21:
|
1550
|
+
goto lab12;
|
1551
|
+
lab20:
|
1552
|
+
z->c = z->l - m8;
|
1553
|
+
|
1554
|
+
if (!(z->I[0])) goto lab25;
|
1555
|
+
goto lab24;
|
1556
|
+
lab25:
|
1557
|
+
{ int ret = r_Suffix_Noun_Step2a(z);
|
1558
|
+
if (ret == 0) goto lab24;
|
1559
|
+
if (ret < 0) return ret;
|
1560
|
+
}
|
1561
|
+
goto lab12;
|
1562
|
+
lab24:
|
1563
|
+
z->c = z->l - m8;
|
1564
|
+
{ int ret = r_Suffix_Noun_Step2b(z);
|
1565
|
+
if (ret == 0) { z->c = z->l - m7; goto lab11; }
|
1566
|
+
if (ret < 0) return ret;
|
1567
|
+
}
|
1568
|
+
}
|
1569
|
+
lab12:
|
1570
|
+
lab11:
|
1571
|
+
;
|
1572
|
+
}
|
1573
|
+
{ int ret = r_Suffix_Noun_Step3(z);
|
1574
|
+
if (ret == 0) goto lab10;
|
1575
|
+
if (ret < 0) return ret;
|
1576
|
+
}
|
1577
|
+
goto lab1;
|
1578
|
+
lab10:
|
1579
|
+
z->c = z->l - m3;
|
1580
|
+
{ int ret = r_Suffix_All_alef_maqsura(z);
|
1581
|
+
if (ret == 0) goto lab0;
|
1582
|
+
if (ret < 0) return ret;
|
1583
|
+
}
|
1584
|
+
}
|
1585
|
+
lab1:
|
1586
|
+
lab0:
|
1587
|
+
z->c = z->l - m2;
|
1588
|
+
}
|
1589
|
+
z->c = z->lb;
|
1590
|
+
{ int c11 = z->c;
|
1591
|
+
{ int c12 = z->c;
|
1592
|
+
{ int ret = r_Prefix_Step1(z);
|
1593
|
+
if (ret == 0) { z->c = c12; goto lab27; }
|
1594
|
+
if (ret < 0) return ret;
|
1595
|
+
}
|
1596
|
+
lab27:
|
1597
|
+
;
|
1598
|
+
}
|
1599
|
+
{ int c13 = z->c;
|
1600
|
+
{ int ret = r_Prefix_Step2(z);
|
1601
|
+
if (ret == 0) { z->c = c13; goto lab28; }
|
1602
|
+
if (ret < 0) return ret;
|
1603
|
+
}
|
1604
|
+
lab28:
|
1605
|
+
;
|
1606
|
+
}
|
1607
|
+
{ int c14 = z->c;
|
1608
|
+
{ int ret = r_Prefix_Step3a_Noun(z);
|
1609
|
+
if (ret == 0) goto lab30;
|
1610
|
+
if (ret < 0) return ret;
|
1611
|
+
}
|
1612
|
+
goto lab29;
|
1613
|
+
lab30:
|
1614
|
+
z->c = c14;
|
1615
|
+
if (!(z->I[2])) goto lab31;
|
1616
|
+
{ int ret = r_Prefix_Step3b_Noun(z);
|
1617
|
+
if (ret == 0) goto lab31;
|
1618
|
+
if (ret < 0) return ret;
|
1619
|
+
}
|
1620
|
+
goto lab29;
|
1621
|
+
lab31:
|
1622
|
+
z->c = c14;
|
1623
|
+
if (!(z->I[1])) goto lab26;
|
1624
|
+
{ int c15 = z->c;
|
1625
|
+
{ int ret = r_Prefix_Step3_Verb(z);
|
1626
|
+
if (ret == 0) { z->c = c15; goto lab32; }
|
1627
|
+
if (ret < 0) return ret;
|
1628
|
+
}
|
1629
|
+
lab32:
|
1630
|
+
;
|
1631
|
+
}
|
1632
|
+
{ int ret = r_Prefix_Step4_Verb(z);
|
1633
|
+
if (ret == 0) goto lab26;
|
1634
|
+
if (ret < 0) return ret;
|
1635
|
+
}
|
1636
|
+
}
|
1637
|
+
lab29:
|
1638
|
+
lab26:
|
1639
|
+
z->c = c11;
|
1640
|
+
}
|
1641
|
+
|
1642
|
+
{ int ret = r_Normalize_post(z);
|
1643
|
+
if (ret < 0) return ret;
|
1644
|
+
}
|
1645
|
+
return 1;
|
1646
|
+
}
|
1647
|
+
|
1648
|
+
extern struct SN_env * arabic_UTF_8_create_env(void) { return SN_create_env(0, 3); }
|
1649
|
+
|
1650
|
+
extern void arabic_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); }
|
1651
|
+
|