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