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