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