isomorfeus-ferret 0.12.2 → 0.12.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (125) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +612 -612
  3. data/README.md +80 -44
  4. data/ext/isomorfeus_ferret_ext/bm_hash.c +9 -6
  5. data/ext/isomorfeus_ferret_ext/bm_micro_string.c +4 -2
  6. data/ext/isomorfeus_ferret_ext/frb_search.c +14 -2
  7. data/ext/isomorfeus_ferret_ext/frb_store.c +34 -5
  8. data/ext/isomorfeus_ferret_ext/frt_posh.h +11 -19
  9. data/ext/isomorfeus_ferret_ext/frt_q_parser.c +1844 -1911
  10. data/ext/isomorfeus_ferret_ext/frt_q_phrase.c +12 -15
  11. data/ext/isomorfeus_ferret_ext/frt_scanner.c +1 -0
  12. data/ext/isomorfeus_ferret_ext/frt_scanner_mb.c +1 -0
  13. data/ext/isomorfeus_ferret_ext/frt_scanner_utf8.c +1 -0
  14. data/ext/isomorfeus_ferret_ext/frt_search.h +1 -1
  15. data/ext/isomorfeus_ferret_ext/libstemmer.c +14 -11
  16. data/ext/isomorfeus_ferret_ext/libstemmer.h +4 -9
  17. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_basque.c +1167 -0
  18. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_basque.h +6 -0
  19. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_catalan.c +1433 -0
  20. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_catalan.h +6 -0
  21. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_danish.c +120 -143
  22. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_danish.h +1 -2
  23. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_dutch.c +217 -237
  24. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_dutch.h +1 -1
  25. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_english.c +377 -432
  26. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_english.h +1 -1
  27. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_finnish.c +298 -342
  28. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_finnish.h +1 -2
  29. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_french.c +530 -524
  30. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_french.h +1 -1
  31. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_german.c +201 -214
  32. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_german.h +1 -1
  33. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_hungarian.c +1 -1
  34. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_indonesian.c +394 -0
  35. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_indonesian.h +6 -0
  36. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_irish.c +457 -0
  37. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_irish.h +6 -0
  38. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_italian.c +396 -439
  39. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_italian.h +1 -1
  40. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_norwegian.c +104 -128
  41. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_norwegian.h +1 -1
  42. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_porter.c +242 -273
  43. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_porter.h +1 -1
  44. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_portuguese.c +406 -461
  45. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_portuguese.h +1 -2
  46. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_spanish.c +405 -456
  47. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_spanish.h +1 -1
  48. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_swedish.c +108 -126
  49. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_swedish.h +1 -1
  50. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_2_hungarian.c +849 -0
  51. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_2_hungarian.h +6 -0
  52. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_2_romanian.c +373 -405
  53. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_2_romanian.h +1 -1
  54. data/ext/isomorfeus_ferret_ext/stem_KOI8_R_russian.c +288 -305
  55. data/ext/isomorfeus_ferret_ext/stem_KOI8_R_russian.h +1 -1
  56. data/ext/isomorfeus_ferret_ext/stem_UTF_8_arabic.c +1651 -0
  57. data/ext/isomorfeus_ferret_ext/stem_UTF_8_arabic.h +6 -0
  58. data/ext/isomorfeus_ferret_ext/stem_UTF_8_armenian.c +546 -0
  59. data/ext/isomorfeus_ferret_ext/stem_UTF_8_armenian.h +6 -0
  60. data/ext/isomorfeus_ferret_ext/stem_UTF_8_basque.c +1171 -0
  61. data/ext/isomorfeus_ferret_ext/stem_UTF_8_basque.h +6 -0
  62. data/ext/isomorfeus_ferret_ext/stem_UTF_8_catalan.c +1436 -0
  63. data/ext/isomorfeus_ferret_ext/stem_UTF_8_catalan.h +6 -0
  64. data/ext/isomorfeus_ferret_ext/stem_UTF_8_danish.c +121 -141
  65. data/ext/isomorfeus_ferret_ext/stem_UTF_8_danish.h +1 -1
  66. data/ext/isomorfeus_ferret_ext/stem_UTF_8_dutch.c +221 -241
  67. data/ext/isomorfeus_ferret_ext/stem_UTF_8_dutch.h +1 -1
  68. data/ext/isomorfeus_ferret_ext/stem_UTF_8_english.c +381 -431
  69. data/ext/isomorfeus_ferret_ext/stem_UTF_8_english.h +1 -1
  70. data/ext/isomorfeus_ferret_ext/stem_UTF_8_finnish.c +300 -345
  71. data/ext/isomorfeus_ferret_ext/stem_UTF_8_finnish.h +1 -1
  72. data/ext/isomorfeus_ferret_ext/stem_UTF_8_french.c +518 -511
  73. data/ext/isomorfeus_ferret_ext/stem_UTF_8_french.h +1 -1
  74. data/ext/isomorfeus_ferret_ext/stem_UTF_8_german.c +201 -209
  75. data/ext/isomorfeus_ferret_ext/stem_UTF_8_german.h +1 -1
  76. data/ext/isomorfeus_ferret_ext/stem_UTF_8_greek.c +3660 -0
  77. data/ext/isomorfeus_ferret_ext/stem_UTF_8_greek.h +6 -0
  78. data/ext/isomorfeus_ferret_ext/stem_UTF_8_hindi.c +309 -0
  79. data/ext/isomorfeus_ferret_ext/stem_UTF_8_hindi.h +6 -0
  80. data/ext/isomorfeus_ferret_ext/stem_UTF_8_hungarian.c +306 -671
  81. data/ext/isomorfeus_ferret_ext/stem_UTF_8_hungarian.h +1 -1
  82. data/ext/isomorfeus_ferret_ext/stem_UTF_8_indonesian.c +394 -0
  83. data/ext/isomorfeus_ferret_ext/stem_UTF_8_indonesian.h +6 -0
  84. data/ext/isomorfeus_ferret_ext/stem_UTF_8_irish.c +457 -0
  85. data/ext/isomorfeus_ferret_ext/stem_UTF_8_irish.h +6 -0
  86. data/ext/isomorfeus_ferret_ext/stem_UTF_8_italian.c +400 -442
  87. data/ext/isomorfeus_ferret_ext/stem_UTF_8_italian.h +1 -1
  88. data/ext/isomorfeus_ferret_ext/stem_UTF_8_lithuanian.c +824 -0
  89. data/ext/isomorfeus_ferret_ext/stem_UTF_8_lithuanian.h +6 -0
  90. data/ext/isomorfeus_ferret_ext/stem_UTF_8_nepali.c +408 -0
  91. data/ext/isomorfeus_ferret_ext/stem_UTF_8_nepali.h +6 -0
  92. data/ext/isomorfeus_ferret_ext/stem_UTF_8_norwegian.c +105 -127
  93. data/ext/isomorfeus_ferret_ext/stem_UTF_8_norwegian.h +1 -1
  94. data/ext/isomorfeus_ferret_ext/stem_UTF_8_porter.c +245 -276
  95. data/ext/isomorfeus_ferret_ext/stem_UTF_8_porter.h +1 -1
  96. data/ext/isomorfeus_ferret_ext/stem_UTF_8_portuguese.c +409 -464
  97. data/ext/isomorfeus_ferret_ext/stem_UTF_8_portuguese.h +1 -1
  98. data/ext/isomorfeus_ferret_ext/stem_UTF_8_romanian.c +376 -408
  99. data/ext/isomorfeus_ferret_ext/stem_UTF_8_romanian.h +1 -1
  100. data/ext/isomorfeus_ferret_ext/stem_UTF_8_russian.c +272 -287
  101. data/ext/isomorfeus_ferret_ext/stem_UTF_8_russian.h +1 -1
  102. data/ext/isomorfeus_ferret_ext/stem_UTF_8_serbian.c +6530 -0
  103. data/ext/isomorfeus_ferret_ext/stem_UTF_8_serbian.h +6 -0
  104. data/ext/isomorfeus_ferret_ext/stem_UTF_8_spanish.c +407 -458
  105. data/ext/isomorfeus_ferret_ext/stem_UTF_8_spanish.h +1 -1
  106. data/ext/isomorfeus_ferret_ext/stem_UTF_8_swedish.c +110 -125
  107. data/ext/isomorfeus_ferret_ext/stem_UTF_8_swedish.h +1 -1
  108. data/ext/isomorfeus_ferret_ext/stem_UTF_8_tamil.c +1865 -0
  109. data/ext/isomorfeus_ferret_ext/stem_UTF_8_tamil.h +6 -0
  110. data/ext/isomorfeus_ferret_ext/stem_UTF_8_turkish.c +698 -806
  111. data/ext/isomorfeus_ferret_ext/stem_UTF_8_turkish.h +1 -1
  112. data/ext/isomorfeus_ferret_ext/stem_UTF_8_yiddish.c +1220 -0
  113. data/ext/isomorfeus_ferret_ext/stem_UTF_8_yiddish.h +6 -0
  114. data/ext/isomorfeus_ferret_ext/stem_api.c +1 -9
  115. data/ext/isomorfeus_ferret_ext/stem_api.h +1 -3
  116. data/ext/isomorfeus_ferret_ext/stem_header.h +30 -26
  117. data/ext/isomorfeus_ferret_ext/stem_modules.h +113 -26
  118. data/ext/isomorfeus_ferret_ext/stem_modules.txt +18 -5
  119. data/ext/isomorfeus_ferret_ext/stem_utilities.c +167 -132
  120. data/ext/isomorfeus_ferret_ext/test.c +7 -1
  121. data/ext/isomorfeus_ferret_ext/test_search.c +0 -1
  122. data/lib/isomorfeus/ferret/index/index.rb +1 -1
  123. data/lib/isomorfeus/ferret/version.rb +1 -1
  124. metadata +43 -7
  125. data/ext/isomorfeus_ferret_ext/q_parser.y +0 -1366
@@ -0,0 +1,1220 @@
1
+ /* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
2
+
3
+ #include "stem_header.h"
4
+
5
+ extern int yiddish_UTF_8_stem(struct SN_env * z);
6
+
7
+ static int r_standard_suffix(struct SN_env * z);
8
+ static int r_R1plus3(struct SN_env * z);
9
+ static int r_R1(struct SN_env * z);
10
+ static int r_mark_regions(struct SN_env * z);
11
+ static int r_prelude(struct SN_env * z);
12
+
13
+ extern struct SN_env * yiddish_UTF_8_create_env(void);
14
+ extern void yiddish_UTF_8_close_env(struct SN_env * z);
15
+
16
+ static const symbol s_0_0[4] = { 0xD7, 0x95, 0xD7, 0x95 };
17
+ static const symbol s_0_1[4] = { 0xD7, 0x95, 0xD7, 0x99 };
18
+ static const symbol s_0_2[4] = { 0xD7, 0x99, 0xD7, 0x99 };
19
+ static const symbol s_0_3[2] = { 0xD7, 0x9A };
20
+ static const symbol s_0_4[2] = { 0xD7, 0x9D };
21
+ static const symbol s_0_5[2] = { 0xD7, 0x9F };
22
+ static const symbol s_0_6[2] = { 0xD7, 0xA3 };
23
+ static const symbol s_0_7[2] = { 0xD7, 0xA5 };
24
+
25
+ static const struct among a_0[8] =
26
+ {
27
+ { 4, s_0_0, -1, 1, 0},
28
+ { 4, s_0_1, -1, 2, 0},
29
+ { 4, s_0_2, -1, 3, 0},
30
+ { 2, s_0_3, -1, 4, 0},
31
+ { 2, s_0_4, -1, 5, 0},
32
+ { 2, s_0_5, -1, 6, 0},
33
+ { 2, s_0_6, -1, 7, 0},
34
+ { 2, s_0_7, -1, 8, 0}
35
+ };
36
+
37
+ static const symbol s_1_0[10] = { 0xD7, 0x90, 0xD7, 0x93, 0xD7, 0x95, 0xD7, 0xA8, 0xD7, 0x9B };
38
+ static const symbol s_1_1[8] = { 0xD7, 0x90, 0xD7, 0x94, 0xD7, 0x99, 0xD7, 0xA0 };
39
+ static const symbol s_1_2[8] = { 0xD7, 0x90, 0xD7, 0x94, 0xD7, 0xA2, 0xD7, 0xA8 };
40
+ static const symbol s_1_3[8] = { 0xD7, 0x90, 0xD7, 0x94, 0xD7, 0xB2, 0xD7, 0x9E };
41
+ static const symbol s_1_4[6] = { 0xD7, 0x90, 0xD7, 0x95, 0xD7, 0x9E };
42
+ static const symbol s_1_5[12] = { 0xD7, 0x90, 0xD7, 0x95, 0xD7, 0xA0, 0xD7, 0x98, 0xD7, 0xA2, 0xD7, 0xA8 };
43
+ static const symbol s_1_6[10] = { 0xD7, 0x90, 0xD7, 0x99, 0xD7, 0x91, 0xD7, 0xA2, 0xD7, 0xA8 };
44
+ static const symbol s_1_7[4] = { 0xD7, 0x90, 0xD7, 0xA0 };
45
+ static const symbol s_1_8[6] = { 0xD7, 0x90, 0xD7, 0xA0, 0xD7, 0x98 };
46
+ static const symbol s_1_9[14] = { 0xD7, 0x90, 0xD7, 0xA0, 0xD7, 0x98, 0xD7, 0xA7, 0xD7, 0xA2, 0xD7, 0x92, 0xD7, 0xA0 };
47
+ static const symbol s_1_10[12] = { 0xD7, 0x90, 0xD7, 0xA0, 0xD7, 0x99, 0xD7, 0x93, 0xD7, 0xA2, 0xD7, 0xA8 };
48
+ static const symbol s_1_11[4] = { 0xD7, 0x90, 0xD7, 0xA4 };
49
+ static const symbol s_1_12[8] = { 0xD7, 0x90, 0xD7, 0xA4, 0xD7, 0x99, 0xD7, 0xA8 };
50
+ static const symbol s_1_13[10] = { 0xD7, 0x90, 0xD7, 0xA7, 0xD7, 0xA2, 0xD7, 0x92, 0xD7, 0xA0 };
51
+ static const symbol s_1_14[8] = { 0xD7, 0x90, 0xD7, 0xA8, 0xD7, 0x90, 0xD7, 0xA4 };
52
+ static const symbol s_1_15[8] = { 0xD7, 0x90, 0xD7, 0xA8, 0xD7, 0x95, 0xD7, 0x9E };
53
+ static const symbol s_1_16[14] = { 0xD7, 0x90, 0xD7, 0xA8, 0xD7, 0x95, 0xD7, 0xA0, 0xD7, 0x98, 0xD7, 0xA2, 0xD7, 0xA8 };
54
+ static const symbol s_1_17[12] = { 0xD7, 0x90, 0xD7, 0xA8, 0xD7, 0x99, 0xD7, 0x91, 0xD7, 0xA2, 0xD7, 0xA8 };
55
+ static const symbol s_1_18[8] = { 0xD7, 0x90, 0xD7, 0xA8, 0xD7, 0xB1, 0xD7, 0xA1 };
56
+ static const symbol s_1_19[8] = { 0xD7, 0x90, 0xD7, 0xA8, 0xD7, 0xB1, 0xD7, 0xA4 };
57
+ static const symbol s_1_20[8] = { 0xD7, 0x90, 0xD7, 0xA8, 0xD7, 0xB2, 0xD7, 0xA0 };
58
+ static const symbol s_1_21[8] = { 0xD7, 0x90, 0xD7, 0xB0, 0xD7, 0xA2, 0xD7, 0xA7 };
59
+ static const symbol s_1_22[6] = { 0xD7, 0x90, 0xD7, 0xB1, 0xD7, 0xA1 };
60
+ static const symbol s_1_23[6] = { 0xD7, 0x90, 0xD7, 0xB1, 0xD7, 0xA4 };
61
+ static const symbol s_1_24[6] = { 0xD7, 0x90, 0xD7, 0xB2, 0xD7, 0xA0 };
62
+ static const symbol s_1_25[4] = { 0xD7, 0x91, 0xD7, 0x90 };
63
+ static const symbol s_1_26[4] = { 0xD7, 0x91, 0xD7, 0xB2 };
64
+ static const symbol s_1_27[8] = { 0xD7, 0x93, 0xD7, 0x95, 0xD7, 0xA8, 0xD7, 0x9B };
65
+ static const symbol s_1_28[6] = { 0xD7, 0x93, 0xD7, 0xA2, 0xD7, 0xA8 };
66
+ static const symbol s_1_29[6] = { 0xD7, 0x9E, 0xD7, 0x99, 0xD7, 0x98 };
67
+ static const symbol s_1_30[6] = { 0xD7, 0xA0, 0xD7, 0x90, 0xD7, 0x9B };
68
+ static const symbol s_1_31[6] = { 0xD7, 0xA4, 0xD7, 0x90, 0xD7, 0xA8 };
69
+ static const symbol s_1_32[10] = { 0xD7, 0xA4, 0xD7, 0x90, 0xD7, 0xA8, 0xD7, 0x91, 0xD7, 0xB2 };
70
+ static const symbol s_1_33[10] = { 0xD7, 0xA4, 0xD7, 0x90, 0xD7, 0xA8, 0xD7, 0xB1, 0xD7, 0xA1 };
71
+ static const symbol s_1_34[16] = { 0xD7, 0xA4, 0xD7, 0x95, 0xD7, 0xA0, 0xD7, 0x90, 0xD7, 0xA0, 0xD7, 0x93, 0xD7, 0xA2, 0xD7, 0xA8 };
72
+ static const symbol s_1_35[4] = { 0xD7, 0xA6, 0xD7, 0x95 };
73
+ static const symbol s_1_36[14] = { 0xD7, 0xA6, 0xD7, 0x95, 0xD7, 0x96, 0xD7, 0x90, 0xD7, 0x9E, 0xD7, 0xA2, 0xD7, 0xA0 };
74
+ static const symbol s_1_37[10] = { 0xD7, 0xA6, 0xD7, 0x95, 0xD7, 0xA0, 0xD7, 0xB1, 0xD7, 0xA4 };
75
+ static const symbol s_1_38[10] = { 0xD7, 0xA6, 0xD7, 0x95, 0xD7, 0xA8, 0xD7, 0x99, 0xD7, 0xA7 };
76
+ static const symbol s_1_39[4] = { 0xD7, 0xA6, 0xD7, 0xA2 };
77
+
78
+ static const struct among a_1[40] =
79
+ {
80
+ { 10, s_1_0, -1, 1, 0},
81
+ { 8, s_1_1, -1, 1, 0},
82
+ { 8, s_1_2, -1, 1, 0},
83
+ { 8, s_1_3, -1, 1, 0},
84
+ { 6, s_1_4, -1, 1, 0},
85
+ { 12, s_1_5, -1, 1, 0},
86
+ { 10, s_1_6, -1, 1, 0},
87
+ { 4, s_1_7, -1, 1, 0},
88
+ { 6, s_1_8, 7, 1, 0},
89
+ { 14, s_1_9, 8, 1, 0},
90
+ { 12, s_1_10, 7, 1, 0},
91
+ { 4, s_1_11, -1, 1, 0},
92
+ { 8, s_1_12, 11, 1, 0},
93
+ { 10, s_1_13, -1, 1, 0},
94
+ { 8, s_1_14, -1, 1, 0},
95
+ { 8, s_1_15, -1, 1, 0},
96
+ { 14, s_1_16, -1, 1, 0},
97
+ { 12, s_1_17, -1, 1, 0},
98
+ { 8, s_1_18, -1, 1, 0},
99
+ { 8, s_1_19, -1, 1, 0},
100
+ { 8, s_1_20, -1, 1, 0},
101
+ { 8, s_1_21, -1, 1, 0},
102
+ { 6, s_1_22, -1, 1, 0},
103
+ { 6, s_1_23, -1, 1, 0},
104
+ { 6, s_1_24, -1, 1, 0},
105
+ { 4, s_1_25, -1, 1, 0},
106
+ { 4, s_1_26, -1, 1, 0},
107
+ { 8, s_1_27, -1, 1, 0},
108
+ { 6, s_1_28, -1, 1, 0},
109
+ { 6, s_1_29, -1, 1, 0},
110
+ { 6, s_1_30, -1, 1, 0},
111
+ { 6, s_1_31, -1, 1, 0},
112
+ { 10, s_1_32, 31, 1, 0},
113
+ { 10, s_1_33, 31, 1, 0},
114
+ { 16, s_1_34, -1, 1, 0},
115
+ { 4, s_1_35, -1, 1, 0},
116
+ { 14, s_1_36, 35, 1, 0},
117
+ { 10, s_1_37, 35, 1, 0},
118
+ { 10, s_1_38, 35, 1, 0},
119
+ { 4, s_1_39, -1, 1, 0}
120
+ };
121
+
122
+ static const symbol s_2_0[6] = { 0xD7, 0x93, 0xD7, 0x96, 0xD7, 0xA9 };
123
+ static const symbol s_2_1[6] = { 0xD7, 0xA9, 0xD7, 0x98, 0xD7, 0xA8 };
124
+ static const symbol s_2_2[6] = { 0xD7, 0xA9, 0xD7, 0x98, 0xD7, 0xA9 };
125
+ static const symbol s_2_3[6] = { 0xD7, 0xA9, 0xD7, 0xA4, 0xD7, 0xA8 };
126
+
127
+ static const struct among a_2[4] =
128
+ {
129
+ { 6, s_2_0, -1, -1, 0},
130
+ { 6, s_2_1, -1, -1, 0},
131
+ { 6, s_2_2, -1, -1, 0},
132
+ { 6, s_2_3, -1, -1, 0}
133
+ };
134
+
135
+ static const symbol s_3_0[8] = { 0xD7, 0xA7, 0xD7, 0x9C, 0xD7, 0x99, 0xD7, 0x91 };
136
+ static const symbol s_3_1[6] = { 0xD7, 0xA8, 0xD7, 0x99, 0xD7, 0x91 };
137
+ static const symbol s_3_2[8] = { 0xD7, 0x98, 0xD7, 0xA8, 0xD7, 0x99, 0xD7, 0x91 };
138
+ static const symbol s_3_3[8] = { 0xD7, 0xA9, 0xD7, 0xA8, 0xD7, 0x99, 0xD7, 0x91 };
139
+ static const symbol s_3_4[6] = { 0xD7, 0x94, 0xD7, 0xB1, 0xD7, 0x91 };
140
+ static const symbol s_3_5[8] = { 0xD7, 0xA9, 0xD7, 0xB0, 0xD7, 0x99, 0xD7, 0x92 };
141
+ static const symbol s_3_6[8] = { 0xD7, 0x92, 0xD7, 0x90, 0xD7, 0xA0, 0xD7, 0x92 };
142
+ static const symbol s_3_7[8] = { 0xD7, 0x96, 0xD7, 0x95, 0xD7, 0xA0, 0xD7, 0x92 };
143
+ static const symbol s_3_8[10] = { 0xD7, 0xA9, 0xD7, 0x9C, 0xD7, 0x95, 0xD7, 0xA0, 0xD7, 0x92 };
144
+ static const symbol s_3_9[10] = { 0xD7, 0xA6, 0xD7, 0xB0, 0xD7, 0x95, 0xD7, 0xA0, 0xD7, 0x92 };
145
+ static const symbol s_3_10[6] = { 0xD7, 0x91, 0xD7, 0xB1, 0xD7, 0x92 };
146
+ static const symbol s_3_11[8] = { 0xD7, 0x91, 0xD7, 0x95, 0xD7, 0xA0, 0xD7, 0x93 };
147
+ static const symbol s_3_12[6] = { 0xD7, 0xB0, 0xD7, 0x99, 0xD7, 0x96 };
148
+ static const symbol s_3_13[6] = { 0xD7, 0x91, 0xD7, 0x99, 0xD7, 0x98 };
149
+ static const symbol s_3_14[6] = { 0xD7, 0x9C, 0xD7, 0x99, 0xD7, 0x98 };
150
+ static const symbol s_3_15[6] = { 0xD7, 0x9E, 0xD7, 0x99, 0xD7, 0x98 };
151
+ static const symbol s_3_16[8] = { 0xD7, 0xA9, 0xD7, 0xA0, 0xD7, 0x99, 0xD7, 0x98 };
152
+ static const symbol s_3_17[6] = { 0xD7, 0xA0, 0xD7, 0x95, 0xD7, 0x9E };
153
+ static const symbol s_3_18[8] = { 0xD7, 0xA9, 0xD7, 0x98, 0xD7, 0x90, 0xD7, 0xA0 };
154
+ static const symbol s_3_19[6] = { 0xD7, 0x91, 0xD7, 0x99, 0xD7, 0xA1 };
155
+ static const symbol s_3_20[8] = { 0xD7, 0xA9, 0xD7, 0x9E, 0xD7, 0x99, 0xD7, 0xA1 };
156
+ static const symbol s_3_21[6] = { 0xD7, 0xA8, 0xD7, 0x99, 0xD7, 0xA1 };
157
+ static const symbol s_3_22[10] = { 0xD7, 0x98, 0xD7, 0xA8, 0xD7, 0x95, 0xD7, 0xA0, 0xD7, 0xA7 };
158
+ static const symbol s_3_23[12] = { 0xD7, 0xA4, 0xD7, 0x90, 0xD7, 0xA8, 0xD7, 0x9C, 0xD7, 0xB1, 0xD7, 0xA8 };
159
+ static const symbol s_3_24[8] = { 0xD7, 0xA9, 0xD7, 0xB0, 0xD7, 0xB1, 0xD7, 0xA8 };
160
+ static const symbol s_3_25[8] = { 0xD7, 0xB0, 0xD7, 0x95, 0xD7, 0x98, 0xD7, 0xA9 };
161
+
162
+ static const struct among a_3[26] =
163
+ {
164
+ { 8, s_3_0, -1, 9, 0},
165
+ { 6, s_3_1, -1, 10, 0},
166
+ { 8, s_3_2, 1, 7, 0},
167
+ { 8, s_3_3, 1, 15, 0},
168
+ { 6, s_3_4, -1, 23, 0},
169
+ { 8, s_3_5, -1, 12, 0},
170
+ { 8, s_3_6, -1, 1, 0},
171
+ { 8, s_3_7, -1, 18, 0},
172
+ { 10, s_3_8, -1, 21, 0},
173
+ { 10, s_3_9, -1, 20, 0},
174
+ { 6, s_3_10, -1, 22, 0},
175
+ { 8, s_3_11, -1, 16, 0},
176
+ { 6, s_3_12, -1, 6, 0},
177
+ { 6, s_3_13, -1, 4, 0},
178
+ { 6, s_3_14, -1, 8, 0},
179
+ { 6, s_3_15, -1, 3, 0},
180
+ { 8, s_3_16, -1, 14, 0},
181
+ { 6, s_3_17, -1, 2, 0},
182
+ { 8, s_3_18, -1, 25, 0},
183
+ { 6, s_3_19, -1, 5, 0},
184
+ { 8, s_3_20, -1, 13, 0},
185
+ { 6, s_3_21, -1, 11, 0},
186
+ { 10, s_3_22, -1, 19, 0},
187
+ { 12, s_3_23, -1, 24, 0},
188
+ { 8, s_3_24, -1, 26, 0},
189
+ { 8, s_3_25, -1, 17, 0}
190
+ };
191
+
192
+ static const symbol s_4_0[6] = { 0xD7, 0x95, 0xD7, 0xA0, 0xD7, 0x92 };
193
+ static const symbol s_4_1[6] = { 0xD7, 0xA1, 0xD7, 0x98, 0xD7, 0x95 };
194
+ static const symbol s_4_2[2] = { 0xD7, 0x98 };
195
+ static const symbol s_4_3[10] = { 0xD7, 0x91, 0xD7, 0xA8, 0xD7, 0x90, 0xD7, 0x9B, 0xD7, 0x98 };
196
+ static const symbol s_4_4[4] = { 0xD7, 0xA1, 0xD7, 0x98 };
197
+ static const symbol s_4_5[6] = { 0xD7, 0x99, 0xD7, 0xA1, 0xD7, 0x98 };
198
+ static const symbol s_4_6[4] = { 0xD7, 0xA2, 0xD7, 0x98 };
199
+ static const symbol s_4_7[8] = { 0xD7, 0xA9, 0xD7, 0x90, 0xD7, 0xA4, 0xD7, 0x98 };
200
+ static const symbol s_4_8[6] = { 0xD7, 0x94, 0xD7, 0xB2, 0xD7, 0x98 };
201
+ static const symbol s_4_9[6] = { 0xD7, 0xA7, 0xD7, 0xB2, 0xD7, 0x98 };
202
+ static const symbol s_4_10[8] = { 0xD7, 0x99, 0xD7, 0xA7, 0xD7, 0xB2, 0xD7, 0x98 };
203
+ static const symbol s_4_11[6] = { 0xD7, 0x9C, 0xD7, 0xA2, 0xD7, 0x9B };
204
+ static const symbol s_4_12[8] = { 0xD7, 0xA2, 0xD7, 0x9C, 0xD7, 0xA2, 0xD7, 0x9B };
205
+ static const symbol s_4_13[6] = { 0xD7, 0x99, 0xD7, 0x96, 0xD7, 0x9E };
206
+ static const symbol s_4_14[4] = { 0xD7, 0x99, 0xD7, 0x9E };
207
+ static const symbol s_4_15[4] = { 0xD7, 0xA2, 0xD7, 0x9E };
208
+ static const symbol s_4_16[8] = { 0xD7, 0xA2, 0xD7, 0xA0, 0xD7, 0xA2, 0xD7, 0x9E };
209
+ static const symbol s_4_17[10] = { 0xD7, 0x98, 0xD7, 0xA2, 0xD7, 0xA0, 0xD7, 0xA2, 0xD7, 0x9E };
210
+ static const symbol s_4_18[2] = { 0xD7, 0xA0 };
211
+ static const symbol s_4_19[10] = { 0xD7, 0xA7, 0xD7, 0x9C, 0xD7, 0x99, 0xD7, 0x91, 0xD7, 0xA0 };
212
+ static const symbol s_4_20[8] = { 0xD7, 0xA8, 0xD7, 0x99, 0xD7, 0x91, 0xD7, 0xA0 };
213
+ static const symbol s_4_21[10] = { 0xD7, 0x98, 0xD7, 0xA8, 0xD7, 0x99, 0xD7, 0x91, 0xD7, 0xA0 };
214
+ static const symbol s_4_22[10] = { 0xD7, 0xA9, 0xD7, 0xA8, 0xD7, 0x99, 0xD7, 0x91, 0xD7, 0xA0 };
215
+ static const symbol s_4_23[8] = { 0xD7, 0x94, 0xD7, 0xB1, 0xD7, 0x91, 0xD7, 0xA0 };
216
+ static const symbol s_4_24[10] = { 0xD7, 0xA9, 0xD7, 0xB0, 0xD7, 0x99, 0xD7, 0x92, 0xD7, 0xA0 };
217
+ static const symbol s_4_25[10] = { 0xD7, 0x96, 0xD7, 0x95, 0xD7, 0xA0, 0xD7, 0x92, 0xD7, 0xA0 };
218
+ static const symbol s_4_26[12] = { 0xD7, 0xA9, 0xD7, 0x9C, 0xD7, 0x95, 0xD7, 0xA0, 0xD7, 0x92, 0xD7, 0xA0 };
219
+ static const symbol s_4_27[12] = { 0xD7, 0xA6, 0xD7, 0xB0, 0xD7, 0x95, 0xD7, 0xA0, 0xD7, 0x92, 0xD7, 0xA0 };
220
+ static const symbol s_4_28[8] = { 0xD7, 0x91, 0xD7, 0xB1, 0xD7, 0x92, 0xD7, 0xA0 };
221
+ static const symbol s_4_29[10] = { 0xD7, 0x91, 0xD7, 0x95, 0xD7, 0xA0, 0xD7, 0x93, 0xD7, 0xA0 };
222
+ static const symbol s_4_30[8] = { 0xD7, 0xB0, 0xD7, 0x99, 0xD7, 0x96, 0xD7, 0xA0 };
223
+ static const symbol s_4_31[4] = { 0xD7, 0x98, 0xD7, 0xA0 };
224
+ static const symbol s_4_32[10] = { 'G', 'E', 0xD7, 0x91, 0xD7, 0x99, 0xD7, 0x98, 0xD7, 0xA0 };
225
+ static const symbol s_4_33[10] = { 'G', 'E', 0xD7, 0x9C, 0xD7, 0x99, 0xD7, 0x98, 0xD7, 0xA0 };
226
+ static const symbol s_4_34[10] = { 'G', 'E', 0xD7, 0x9E, 0xD7, 0x99, 0xD7, 0x98, 0xD7, 0xA0 };
227
+ static const symbol s_4_35[10] = { 0xD7, 0xA9, 0xD7, 0xA0, 0xD7, 0x99, 0xD7, 0x98, 0xD7, 0xA0 };
228
+ static const symbol s_4_36[6] = { 0xD7, 0xA1, 0xD7, 0x98, 0xD7, 0xA0 };
229
+ static const symbol s_4_37[8] = { 0xD7, 0x99, 0xD7, 0xA1, 0xD7, 0x98, 0xD7, 0xA0 };
230
+ static const symbol s_4_38[6] = { 0xD7, 0xA2, 0xD7, 0x98, 0xD7, 0xA0 };
231
+ static const symbol s_4_39[10] = { 'G', 'E', 0xD7, 0x91, 0xD7, 0x99, 0xD7, 0xA1, 0xD7, 0xA0 };
232
+ static const symbol s_4_40[10] = { 0xD7, 0xA9, 0xD7, 0x9E, 0xD7, 0x99, 0xD7, 0xA1, 0xD7, 0xA0 };
233
+ static const symbol s_4_41[10] = { 'G', 'E', 0xD7, 0xA8, 0xD7, 0x99, 0xD7, 0xA1, 0xD7, 0xA0 };
234
+ static const symbol s_4_42[4] = { 0xD7, 0xA2, 0xD7, 0xA0 };
235
+ static const symbol s_4_43[12] = { 0xD7, 0x92, 0xD7, 0x90, 0xD7, 0xA0, 0xD7, 0x92, 0xD7, 0xA2, 0xD7, 0xA0 };
236
+ static const symbol s_4_44[8] = { 0xD7, 0xA2, 0xD7, 0x9C, 0xD7, 0xA2, 0xD7, 0xA0 };
237
+ static const symbol s_4_45[10] = { 0xD7, 0xA0, 0xD7, 0x95, 0xD7, 0x9E, 0xD7, 0xA2, 0xD7, 0xA0 };
238
+ static const symbol s_4_46[10] = { 0xD7, 0x99, 0xD7, 0x96, 0xD7, 0x9E, 0xD7, 0xA2, 0xD7, 0xA0 };
239
+ static const symbol s_4_47[12] = { 0xD7, 0xA9, 0xD7, 0x98, 0xD7, 0x90, 0xD7, 0xA0, 0xD7, 0xA2, 0xD7, 0xA0 };
240
+ static const symbol s_4_48[12] = { 0xD7, 0x98, 0xD7, 0xA8, 0xD7, 0x95, 0xD7, 0xA0, 0xD7, 0xA7, 0xD7, 0xA0 };
241
+ static const symbol s_4_49[14] = { 0xD7, 0xA4, 0xD7, 0x90, 0xD7, 0xA8, 0xD7, 0x9C, 0xD7, 0xB1, 0xD7, 0xA8, 0xD7, 0xA0 };
242
+ static const symbol s_4_50[10] = { 0xD7, 0xA9, 0xD7, 0xB0, 0xD7, 0xB1, 0xD7, 0xA8, 0xD7, 0xA0 };
243
+ static const symbol s_4_51[10] = { 0xD7, 0xB0, 0xD7, 0x95, 0xD7, 0x98, 0xD7, 0xA9, 0xD7, 0xA0 };
244
+ static const symbol s_4_52[6] = { 0xD7, 0x92, 0xD7, 0xB2, 0xD7, 0xA0 };
245
+ static const symbol s_4_53[2] = { 0xD7, 0xA1 };
246
+ static const symbol s_4_54[4] = { 0xD7, 0x98, 0xD7, 0xA1 };
247
+ static const symbol s_4_55[6] = { 0xD7, 0xA2, 0xD7, 0x98, 0xD7, 0xA1 };
248
+ static const symbol s_4_56[4] = { 0xD7, 0xA0, 0xD7, 0xA1 };
249
+ static const symbol s_4_57[6] = { 0xD7, 0x98, 0xD7, 0xA0, 0xD7, 0xA1 };
250
+ static const symbol s_4_58[6] = { 0xD7, 0xA2, 0xD7, 0xA0, 0xD7, 0xA1 };
251
+ static const symbol s_4_59[4] = { 0xD7, 0xA2, 0xD7, 0xA1 };
252
+ static const symbol s_4_60[6] = { 0xD7, 0x99, 0xD7, 0xA2, 0xD7, 0xA1 };
253
+ static const symbol s_4_61[8] = { 0xD7, 0xA2, 0xD7, 0x9C, 0xD7, 0xA2, 0xD7, 0xA1 };
254
+ static const symbol s_4_62[6] = { 0xD7, 0xA2, 0xD7, 0xA8, 0xD7, 0xA1 };
255
+ static const symbol s_4_63[10] = { 0xD7, 0xA2, 0xD7, 0xA0, 0xD7, 0xA2, 0xD7, 0xA8, 0xD7, 0xA1 };
256
+ static const symbol s_4_64[2] = { 0xD7, 0xA2 };
257
+ static const symbol s_4_65[4] = { 0xD7, 0x98, 0xD7, 0xA2 };
258
+ static const symbol s_4_66[6] = { 0xD7, 0xA1, 0xD7, 0x98, 0xD7, 0xA2 };
259
+ static const symbol s_4_67[6] = { 0xD7, 0xA2, 0xD7, 0x98, 0xD7, 0xA2 };
260
+ static const symbol s_4_68[4] = { 0xD7, 0x99, 0xD7, 0xA2 };
261
+ static const symbol s_4_69[6] = { 0xD7, 0xA2, 0xD7, 0x9C, 0xD7, 0xA2 };
262
+ static const symbol s_4_70[6] = { 0xD7, 0xA2, 0xD7, 0xA0, 0xD7, 0xA2 };
263
+ static const symbol s_4_71[8] = { 0xD7, 0x98, 0xD7, 0xA2, 0xD7, 0xA0, 0xD7, 0xA2 };
264
+ static const symbol s_4_72[4] = { 0xD7, 0xA2, 0xD7, 0xA8 };
265
+ static const symbol s_4_73[6] = { 0xD7, 0x98, 0xD7, 0xA2, 0xD7, 0xA8 };
266
+ static const symbol s_4_74[8] = { 0xD7, 0xA1, 0xD7, 0x98, 0xD7, 0xA2, 0xD7, 0xA8 };
267
+ static const symbol s_4_75[8] = { 0xD7, 0xA2, 0xD7, 0x98, 0xD7, 0xA2, 0xD7, 0xA8 };
268
+ static const symbol s_4_76[8] = { 0xD7, 0xA2, 0xD7, 0xA0, 0xD7, 0xA2, 0xD7, 0xA8 };
269
+ static const symbol s_4_77[10] = { 0xD7, 0x98, 0xD7, 0xA2, 0xD7, 0xA0, 0xD7, 0xA2, 0xD7, 0xA8 };
270
+ static const symbol s_4_78[4] = { 0xD7, 0x95, 0xD7, 0xAA };
271
+
272
+ static const struct among a_4[79] =
273
+ {
274
+ { 6, s_4_0, -1, 1, 0},
275
+ { 6, s_4_1, -1, 1, 0},
276
+ { 2, s_4_2, -1, 1, 0},
277
+ { 10, s_4_3, 2, 31, 0},
278
+ { 4, s_4_4, 2, 1, 0},
279
+ { 6, s_4_5, 4, 33, 0},
280
+ { 4, s_4_6, 2, 1, 0},
281
+ { 8, s_4_7, 2, 1, 0},
282
+ { 6, s_4_8, 2, 1, 0},
283
+ { 6, s_4_9, 2, 1, 0},
284
+ { 8, s_4_10, 9, 1, 0},
285
+ { 6, s_4_11, -1, 1, 0},
286
+ { 8, s_4_12, 11, 1, 0},
287
+ { 6, s_4_13, -1, 1, 0},
288
+ { 4, s_4_14, -1, 1, 0},
289
+ { 4, s_4_15, -1, 1, 0},
290
+ { 8, s_4_16, 15, 3, 0},
291
+ { 10, s_4_17, 16, 4, 0},
292
+ { 2, s_4_18, -1, 1, 0},
293
+ { 10, s_4_19, 18, 14, 0},
294
+ { 8, s_4_20, 18, 15, 0},
295
+ { 10, s_4_21, 20, 12, 0},
296
+ { 10, s_4_22, 20, 7, 0},
297
+ { 8, s_4_23, 18, 27, 0},
298
+ { 10, s_4_24, 18, 17, 0},
299
+ { 10, s_4_25, 18, 22, 0},
300
+ { 12, s_4_26, 18, 25, 0},
301
+ { 12, s_4_27, 18, 24, 0},
302
+ { 8, s_4_28, 18, 26, 0},
303
+ { 10, s_4_29, 18, 20, 0},
304
+ { 8, s_4_30, 18, 11, 0},
305
+ { 4, s_4_31, 18, 4, 0},
306
+ { 10, s_4_32, 31, 9, 0},
307
+ { 10, s_4_33, 31, 13, 0},
308
+ { 10, s_4_34, 31, 8, 0},
309
+ { 10, s_4_35, 31, 19, 0},
310
+ { 6, s_4_36, 31, 1, 0},
311
+ { 8, s_4_37, 36, 1, 0},
312
+ { 6, s_4_38, 31, 1, 0},
313
+ { 10, s_4_39, 18, 10, 0},
314
+ { 10, s_4_40, 18, 18, 0},
315
+ { 10, s_4_41, 18, 16, 0},
316
+ { 4, s_4_42, 18, 1, 0},
317
+ { 12, s_4_43, 42, 5, 0},
318
+ { 8, s_4_44, 42, 1, 0},
319
+ { 10, s_4_45, 42, 6, 0},
320
+ { 10, s_4_46, 42, 1, 0},
321
+ { 12, s_4_47, 42, 29, 0},
322
+ { 12, s_4_48, 18, 23, 0},
323
+ { 14, s_4_49, 18, 28, 0},
324
+ { 10, s_4_50, 18, 30, 0},
325
+ { 10, s_4_51, 18, 21, 0},
326
+ { 6, s_4_52, 18, 5, 0},
327
+ { 2, s_4_53, -1, 1, 0},
328
+ { 4, s_4_54, 53, 4, 0},
329
+ { 6, s_4_55, 54, 1, 0},
330
+ { 4, s_4_56, 53, 1, 0},
331
+ { 6, s_4_57, 56, 4, 0},
332
+ { 6, s_4_58, 56, 3, 0},
333
+ { 4, s_4_59, 53, 1, 0},
334
+ { 6, s_4_60, 59, 2, 0},
335
+ { 8, s_4_61, 59, 1, 0},
336
+ { 6, s_4_62, 53, 1, 0},
337
+ { 10, s_4_63, 62, 1, 0},
338
+ { 2, s_4_64, -1, 1, 0},
339
+ { 4, s_4_65, 64, 4, 0},
340
+ { 6, s_4_66, 65, 1, 0},
341
+ { 6, s_4_67, 65, 1, 0},
342
+ { 4, s_4_68, 64, -1, 0},
343
+ { 6, s_4_69, 64, 1, 0},
344
+ { 6, s_4_70, 64, 3, 0},
345
+ { 8, s_4_71, 70, 4, 0},
346
+ { 4, s_4_72, -1, 1, 0},
347
+ { 6, s_4_73, 72, 4, 0},
348
+ { 8, s_4_74, 73, 1, 0},
349
+ { 8, s_4_75, 73, 1, 0},
350
+ { 8, s_4_76, 72, 3, 0},
351
+ { 10, s_4_77, 76, 4, 0},
352
+ { 4, s_4_78, -1, 32, 0}
353
+ };
354
+
355
+ static const symbol s_5_0[6] = { 0xD7, 0x95, 0xD7, 0xA0, 0xD7, 0x92 };
356
+ static const symbol s_5_1[8] = { 0xD7, 0xA9, 0xD7, 0x90, 0xD7, 0xA4, 0xD7, 0x98 };
357
+ static const symbol s_5_2[6] = { 0xD7, 0x94, 0xD7, 0xB2, 0xD7, 0x98 };
358
+ static const symbol s_5_3[6] = { 0xD7, 0xA7, 0xD7, 0xB2, 0xD7, 0x98 };
359
+ static const symbol s_5_4[8] = { 0xD7, 0x99, 0xD7, 0xA7, 0xD7, 0xB2, 0xD7, 0x98 };
360
+ static const symbol s_5_5[2] = { 0xD7, 0x9C };
361
+
362
+ static const struct among a_5[6] =
363
+ {
364
+ { 6, s_5_0, -1, 1, 0},
365
+ { 8, s_5_1, -1, 1, 0},
366
+ { 6, s_5_2, -1, 1, 0},
367
+ { 6, s_5_3, -1, 1, 0},
368
+ { 8, s_5_4, 3, 1, 0},
369
+ { 2, s_5_5, -1, 2, 0}
370
+ };
371
+
372
+ static const symbol s_6_0[4] = { 0xD7, 0x99, 0xD7, 0x92 };
373
+ static const symbol s_6_1[4] = { 0xD7, 0x99, 0xD7, 0xA7 };
374
+ static const symbol s_6_2[6] = { 0xD7, 0x93, 0xD7, 0x99, 0xD7, 0xA7 };
375
+ static const symbol s_6_3[8] = { 0xD7, 0xA0, 0xD7, 0x93, 0xD7, 0x99, 0xD7, 0xA7 };
376
+ static const symbol s_6_4[10] = { 0xD7, 0xA2, 0xD7, 0xA0, 0xD7, 0x93, 0xD7, 0x99, 0xD7, 0xA7 };
377
+ static const symbol s_6_5[8] = { 0xD7, 0x91, 0xD7, 0x9C, 0xD7, 0x99, 0xD7, 0xA7 };
378
+ static const symbol s_6_6[8] = { 0xD7, 0x92, 0xD7, 0x9C, 0xD7, 0x99, 0xD7, 0xA7 };
379
+ static const symbol s_6_7[6] = { 0xD7, 0xA0, 0xD7, 0x99, 0xD7, 0xA7 };
380
+ static const symbol s_6_8[4] = { 0xD7, 0x99, 0xD7, 0xA9 };
381
+
382
+ static const struct among a_6[9] =
383
+ {
384
+ { 4, s_6_0, -1, 1, 0},
385
+ { 4, s_6_1, -1, 1, 0},
386
+ { 6, s_6_2, 1, 1, 0},
387
+ { 8, s_6_3, 2, 1, 0},
388
+ { 10, s_6_4, 3, 1, 0},
389
+ { 8, s_6_5, 1, -1, 0},
390
+ { 8, s_6_6, 1, -1, 0},
391
+ { 6, s_6_7, 1, 1, 0},
392
+ { 4, s_6_8, -1, 1, 0}
393
+ };
394
+
395
+ static const unsigned char g_niked[] = { 255, 155, 6 };
396
+
397
+ static const unsigned char g_vowel[] = { 33, 2, 4, 0, 6 };
398
+
399
+ static const unsigned char g_consonant[] = { 239, 254, 253, 131 };
400
+
401
+ static const symbol s_0[] = { 0xD6, 0xBC };
402
+ static const symbol s_1[] = { 0xD7, 0xB0 };
403
+ static const symbol s_2[] = { 0xD6, 0xB4 };
404
+ static const symbol s_3[] = { 0xD7, 0xB1 };
405
+ static const symbol s_4[] = { 0xD6, 0xB4 };
406
+ static const symbol s_5[] = { 0xD7, 0xB2 };
407
+ static const symbol s_6[] = { 0xD7, 0x9B };
408
+ static const symbol s_7[] = { 0xD7, 0x9E };
409
+ static const symbol s_8[] = { 0xD7, 0xA0 };
410
+ static const symbol s_9[] = { 0xD7, 0xA4 };
411
+ static const symbol s_10[] = { 0xD7, 0xA6 };
412
+ static const symbol s_11[] = { 0xD7, 0x92, 0xD7, 0xA2 };
413
+ static const symbol s_12[] = { 0xD7, 0x9C, 0xD7, 0x98 };
414
+ static const symbol s_13[] = { 0xD7, 0x91, 0xD7, 0xA0 };
415
+ static const symbol s_14[] = { 'G', 'E' };
416
+ static const symbol s_15[] = { 0xD7, 0xA6, 0xD7, 0x95, 0xD7, 0x92, 0xD7, 0xA0 };
417
+ static const symbol s_16[] = { 0xD7, 0xA6, 0xD7, 0x95, 0xD7, 0xA7, 0xD7, 0x98 };
418
+ static const symbol s_17[] = { 0xD7, 0xA6, 0xD7, 0x95, 0xD7, 0xA7, 0xD7, 0xA0 };
419
+ static const symbol s_18[] = { 0xD7, 0x92, 0xD7, 0xA2, 0xD7, 0x91, 0xD7, 0xA0 };
420
+ static const symbol s_19[] = { 0xD7, 0x92, 0xD7, 0xA2 };
421
+ static const symbol s_20[] = { 'G', 'E' };
422
+ static const symbol s_21[] = { 0xD7, 0xA6, 0xD7, 0x95 };
423
+ static const symbol s_22[] = { 'T', 'S', 'U' };
424
+ static const symbol s_23[] = { 0xD7, 0x99, 0xD7, 0xA2 };
425
+ static const symbol s_24[] = { 0xD7, 0x92, 0xD7, 0xB2 };
426
+ static const symbol s_25[] = { 0xD7, 0xA0, 0xD7, 0xA2, 0xD7, 0x9E };
427
+ static const symbol s_26[] = { 0xD7, 0x9E, 0xD7, 0xB2, 0xD7, 0x93 };
428
+ static const symbol s_27[] = { 0xD7, 0x91, 0xD7, 0xB2, 0xD7, 0x98 };
429
+ static const symbol s_28[] = { 0xD7, 0x91, 0xD7, 0xB2, 0xD7, 0xA1 };
430
+ static const symbol s_29[] = { 0xD7, 0xB0, 0xD7, 0xB2, 0xD7, 0x96 };
431
+ static const symbol s_30[] = { 0xD7, 0x98, 0xD7, 0xA8, 0xD7, 0xB2, 0xD7, 0x91 };
432
+ static const symbol s_31[] = { 0xD7, 0x9C, 0xD7, 0xB2, 0xD7, 0x98 };
433
+ static const symbol s_32[] = { 0xD7, 0xA7, 0xD7, 0x9C, 0xD7, 0xB2, 0xD7, 0x91 };
434
+ static const symbol s_33[] = { 0xD7, 0xA8, 0xD7, 0xB2, 0xD7, 0x91 };
435
+ static const symbol s_34[] = { 0xD7, 0xA8, 0xD7, 0xB2, 0xD7, 0xA1 };
436
+ static const symbol s_35[] = { 0xD7, 0xA9, 0xD7, 0xB0, 0xD7, 0xB2, 0xD7, 0x92 };
437
+ static const symbol s_36[] = { 0xD7, 0xA9, 0xD7, 0x9E, 0xD7, 0xB2, 0xD7, 0xA1 };
438
+ static const symbol s_37[] = { 0xD7, 0xA9, 0xD7, 0xA0, 0xD7, 0xB2, 0xD7, 0x93 };
439
+ static const symbol s_38[] = { 0xD7, 0xA9, 0xD7, 0xA8, 0xD7, 0xB2, 0xD7, 0x91 };
440
+ static const symbol s_39[] = { 0xD7, 0x91, 0xD7, 0x99, 0xD7, 0xA0, 0xD7, 0x93 };
441
+ static const symbol s_40[] = { 0xD7, 0xB0, 0xD7, 0x99, 0xD7, 0x98, 0xD7, 0xA9 };
442
+ static const symbol s_41[] = { 0xD7, 0x96, 0xD7, 0x99, 0xD7, 0xA0, 0xD7, 0x92 };
443
+ static const symbol s_42[] = { 0xD7, 0x98, 0xD7, 0xA8, 0xD7, 0x99, 0xD7, 0xA0, 0xD7, 0xA7 };
444
+ static const symbol s_43[] = { 0xD7, 0xA6, 0xD7, 0xB0, 0xD7, 0x99, 0xD7, 0xA0, 0xD7, 0x92 };
445
+ static const symbol s_44[] = { 0xD7, 0xA9, 0xD7, 0x9C, 0xD7, 0x99, 0xD7, 0xA0, 0xD7, 0x92 };
446
+ static const symbol s_45[] = { 0xD7, 0x91, 0xD7, 0xB2, 0xD7, 0x92 };
447
+ static const symbol s_46[] = { 0xD7, 0x94, 0xD7, 0xB2, 0xD7, 0x91 };
448
+ static const symbol s_47[] = { 0xD7, 0xA4, 0xD7, 0x90, 0xD7, 0xA8, 0xD7, 0x9C, 0xD7, 0x99, 0xD7, 0xA8 };
449
+ static const symbol s_48[] = { 0xD7, 0xA9, 0xD7, 0x98, 0xD7, 0xB2 };
450
+ static const symbol s_49[] = { 0xD7, 0xA9, 0xD7, 0xB0, 0xD7, 0xA2, 0xD7, 0xA8 };
451
+ static const symbol s_50[] = { 0xD7, 0x98 };
452
+ static const symbol s_51[] = { 0xD7, 0x91, 0xD7, 0xA8, 0xD7, 0x90, 0xD7, 0x9B };
453
+ static const symbol s_52[] = { 0xD7, 0x92, 0xD7, 0xA2 };
454
+ static const symbol s_53[] = { 0xD7, 0x91, 0xD7, 0xA8, 0xD7, 0xA2, 0xD7, 0xA0, 0xD7, 0x92 };
455
+ static const symbol s_54[] = { 0xD7, 0x92, 0xD7, 0xB2 };
456
+ static const symbol s_55[] = { 0xD7, 0xA0, 0xD7, 0xA2, 0xD7, 0x9E };
457
+ static const symbol s_56[] = { 0xD7, 0xA9, 0xD7, 0xA8, 0xD7, 0xB2, 0xD7, 0x91 };
458
+ static const symbol s_57[] = { 0xD7, 0x9E, 0xD7, 0xB2, 0xD7, 0x93 };
459
+ static const symbol s_58[] = { 0xD7, 0x91, 0xD7, 0xB2, 0xD7, 0x98 };
460
+ static const symbol s_59[] = { 0xD7, 0x91, 0xD7, 0xB2, 0xD7, 0xA1 };
461
+ static const symbol s_60[] = { 0xD7, 0xB0, 0xD7, 0xB2, 0xD7, 0x96 };
462
+ static const symbol s_61[] = { 0xD7, 0x98, 0xD7, 0xA8, 0xD7, 0xB2, 0xD7, 0x91 };
463
+ static const symbol s_62[] = { 0xD7, 0x9C, 0xD7, 0xB2, 0xD7, 0x98 };
464
+ static const symbol s_63[] = { 0xD7, 0xA7, 0xD7, 0x9C, 0xD7, 0xB2, 0xD7, 0x91 };
465
+ static const symbol s_64[] = { 0xD7, 0xA8, 0xD7, 0xB2, 0xD7, 0x91 };
466
+ static const symbol s_65[] = { 0xD7, 0xA8, 0xD7, 0xB2, 0xD7, 0xA1 };
467
+ static const symbol s_66[] = { 0xD7, 0xA9, 0xD7, 0xB0, 0xD7, 0xB2, 0xD7, 0x92 };
468
+ static const symbol s_67[] = { 0xD7, 0xA9, 0xD7, 0x9E, 0xD7, 0xB2, 0xD7, 0xA1 };
469
+ static const symbol s_68[] = { 0xD7, 0xA9, 0xD7, 0xA0, 0xD7, 0xB2, 0xD7, 0x93 };
470
+ static const symbol s_69[] = { 0xD7, 0x91, 0xD7, 0x99, 0xD7, 0xA0, 0xD7, 0x93 };
471
+ static const symbol s_70[] = { 0xD7, 0xB0, 0xD7, 0x99, 0xD7, 0x98, 0xD7, 0xA9 };
472
+ static const symbol s_71[] = { 0xD7, 0x96, 0xD7, 0x99, 0xD7, 0xA0, 0xD7, 0x92 };
473
+ static const symbol s_72[] = { 0xD7, 0x98, 0xD7, 0xA8, 0xD7, 0x99, 0xD7, 0xA0, 0xD7, 0xA7 };
474
+ static const symbol s_73[] = { 0xD7, 0xA6, 0xD7, 0xB0, 0xD7, 0x99, 0xD7, 0xA0, 0xD7, 0x92 };
475
+ static const symbol s_74[] = { 0xD7, 0xA9, 0xD7, 0x9C, 0xD7, 0x99, 0xD7, 0xA0, 0xD7, 0x92 };
476
+ static const symbol s_75[] = { 0xD7, 0x91, 0xD7, 0xB2, 0xD7, 0x92 };
477
+ static const symbol s_76[] = { 0xD7, 0x94, 0xD7, 0xB2, 0xD7, 0x91 };
478
+ static const symbol s_77[] = { 0xD7, 0xA4, 0xD7, 0x90, 0xD7, 0xA8, 0xD7, 0x9C, 0xD7, 0x99, 0xD7, 0xA8 };
479
+ static const symbol s_78[] = { 0xD7, 0xA9, 0xD7, 0x98, 0xD7, 0xB2 };
480
+ static const symbol s_79[] = { 0xD7, 0xA9, 0xD7, 0xB0, 0xD7, 0xA2, 0xD7, 0xA8 };
481
+ static const symbol s_80[] = { 0xD7, 0x91, 0xD7, 0xA8, 0xD7, 0xA2, 0xD7, 0xA0, 0xD7, 0x92 };
482
+ static const symbol s_81[] = { 0xD7, 0x94 };
483
+ static const symbol s_82[] = { 0xD7, 0x92 };
484
+ static const symbol s_83[] = { 0xD7, 0xA9 };
485
+ static const symbol s_84[] = { 0xD7, 0x99, 0xD7, 0xA1 };
486
+ static const symbol s_85[] = { 'G', 'E' };
487
+ static const symbol s_86[] = { 'T', 'S', 'U' };
488
+
489
+ static int r_prelude(struct SN_env * z) {
490
+ int among_var;
491
+ { int c1 = z->c;
492
+ while(1) {
493
+ int c2 = z->c;
494
+ while(1) {
495
+ int c3 = z->c;
496
+ z->bra = z->c;
497
+ among_var = find_among(z, a_0, 8);
498
+ if (!(among_var)) goto lab2;
499
+ z->ket = z->c;
500
+ switch (among_var) {
501
+ case 1:
502
+ { int c4 = z->c;
503
+ if (!(eq_s(z, 2, s_0))) goto lab3;
504
+ goto lab2;
505
+ lab3:
506
+ z->c = c4;
507
+ }
508
+ { int ret = slice_from_s(z, 2, s_1);
509
+ if (ret < 0) return ret;
510
+ }
511
+ break;
512
+ case 2:
513
+ { int c5 = z->c;
514
+ if (!(eq_s(z, 2, s_2))) goto lab4;
515
+ goto lab2;
516
+ lab4:
517
+ z->c = c5;
518
+ }
519
+ { int ret = slice_from_s(z, 2, s_3);
520
+ if (ret < 0) return ret;
521
+ }
522
+ break;
523
+ case 3:
524
+ { int c6 = z->c;
525
+ if (!(eq_s(z, 2, s_4))) goto lab5;
526
+ goto lab2;
527
+ lab5:
528
+ z->c = c6;
529
+ }
530
+ { int ret = slice_from_s(z, 2, s_5);
531
+ if (ret < 0) return ret;
532
+ }
533
+ break;
534
+ case 4:
535
+ { int ret = slice_from_s(z, 2, s_6);
536
+ if (ret < 0) return ret;
537
+ }
538
+ break;
539
+ case 5:
540
+ { int ret = slice_from_s(z, 2, s_7);
541
+ if (ret < 0) return ret;
542
+ }
543
+ break;
544
+ case 6:
545
+ { int ret = slice_from_s(z, 2, s_8);
546
+ if (ret < 0) return ret;
547
+ }
548
+ break;
549
+ case 7:
550
+ { int ret = slice_from_s(z, 2, s_9);
551
+ if (ret < 0) return ret;
552
+ }
553
+ break;
554
+ case 8:
555
+ { int ret = slice_from_s(z, 2, s_10);
556
+ if (ret < 0) return ret;
557
+ }
558
+ break;
559
+ }
560
+ z->c = c3;
561
+ break;
562
+ lab2:
563
+ z->c = c3;
564
+ { int ret = skip_utf8(z->p, z->c, z->l, 1);
565
+ if (ret < 0) goto lab1;
566
+ z->c = ret;
567
+ }
568
+ }
569
+ continue;
570
+ lab1:
571
+ z->c = c2;
572
+ break;
573
+ }
574
+ z->c = c1;
575
+ }
576
+ { int c7 = z->c;
577
+ while(1) {
578
+ int c8 = z->c;
579
+ while(1) {
580
+ int c9 = z->c;
581
+ z->bra = z->c;
582
+ if (in_grouping_U(z, g_niked, 1456, 1474, 0)) goto lab8;
583
+ z->ket = z->c;
584
+ { int ret = slice_del(z);
585
+ if (ret < 0) return ret;
586
+ }
587
+ z->c = c9;
588
+ break;
589
+ lab8:
590
+ z->c = c9;
591
+ { int ret = skip_utf8(z->p, z->c, z->l, 1);
592
+ if (ret < 0) goto lab7;
593
+ z->c = ret;
594
+ }
595
+ }
596
+ continue;
597
+ lab7:
598
+ z->c = c8;
599
+ break;
600
+ }
601
+ z->c = c7;
602
+ }
603
+ return 1;
604
+ }
605
+
606
+ static int r_mark_regions(struct SN_env * z) {
607
+ z->I[1] = z->l;
608
+ { int c1 = z->c;
609
+ z->bra = z->c;
610
+ if (!(eq_s(z, 4, s_11))) { z->c = c1; goto lab0; }
611
+ z->ket = z->c;
612
+ { int c2 = z->c;
613
+ { int c3 = z->c;
614
+ if (!(eq_s(z, 4, s_12))) goto lab3;
615
+ goto lab2;
616
+ lab3:
617
+ z->c = c3;
618
+ if (!(eq_s(z, 4, s_13))) goto lab1;
619
+ }
620
+ lab2:
621
+ { z->c = c1; goto lab0; }
622
+ lab1:
623
+ z->c = c2;
624
+ }
625
+ { int ret = slice_from_s(z, 2, s_14);
626
+ if (ret < 0) return ret;
627
+ }
628
+ lab0:
629
+ ;
630
+ }
631
+ { int c4 = z->c;
632
+ if (!(find_among(z, a_1, 40))) { z->c = c4; goto lab4; }
633
+ { int c5 = z->c;
634
+ { int c_test6 = z->c;
635
+ { int c7 = z->c;
636
+ if (!(eq_s(z, 8, s_15))) goto lab8;
637
+ goto lab7;
638
+ lab8:
639
+ z->c = c7;
640
+ if (!(eq_s(z, 8, s_16))) goto lab9;
641
+ goto lab7;
642
+ lab9:
643
+ z->c = c7;
644
+ if (!(eq_s(z, 8, s_17))) goto lab6;
645
+ }
646
+ lab7:
647
+ if (z->c < z->l) goto lab6;
648
+ z->c = c_test6;
649
+ }
650
+ goto lab5;
651
+ lab6:
652
+ z->c = c5;
653
+ { int c_test8 = z->c;
654
+ if (!(eq_s(z, 8, s_18))) goto lab10;
655
+ z->c = c_test8;
656
+ }
657
+ goto lab5;
658
+ lab10:
659
+ z->c = c5;
660
+ z->bra = z->c;
661
+ if (!(eq_s(z, 4, s_19))) goto lab11;
662
+ z->ket = z->c;
663
+ { int ret = slice_from_s(z, 2, s_20);
664
+ if (ret < 0) return ret;
665
+ }
666
+ goto lab5;
667
+ lab11:
668
+ z->c = c5;
669
+ z->bra = z->c;
670
+ if (!(eq_s(z, 4, s_21))) { z->c = c4; goto lab4; }
671
+ z->ket = z->c;
672
+ { int ret = slice_from_s(z, 3, s_22);
673
+ if (ret < 0) return ret;
674
+ }
675
+ }
676
+ lab5:
677
+ lab4:
678
+ ;
679
+ }
680
+ { int c_test9 = z->c;
681
+ { int ret = skip_utf8(z->p, z->c, z->l, 3);
682
+ if (ret < 0) return 0;
683
+ z->c = ret;
684
+ }
685
+ z->I[0] = z->c;
686
+ z->c = c_test9;
687
+ }
688
+ { int c10 = z->c;
689
+ if (z->c + 5 >= z->l || (z->p[z->c + 5] != 169 && z->p[z->c + 5] != 168)) { z->c = c10; goto lab12; }
690
+ if (!(find_among(z, a_2, 4))) { z->c = c10; goto lab12; }
691
+ lab12:
692
+ ;
693
+ }
694
+ { int c11 = z->c;
695
+ if (in_grouping_U(z, g_consonant, 1489, 1520, 0)) goto lab13;
696
+ if (in_grouping_U(z, g_consonant, 1489, 1520, 0)) goto lab13;
697
+ if (in_grouping_U(z, g_consonant, 1489, 1520, 0)) goto lab13;
698
+ z->I[1] = z->c;
699
+ return 0;
700
+ lab13:
701
+ z->c = c11;
702
+ }
703
+ if (out_grouping_U(z, g_vowel, 1488, 1522, 1) < 0) return 0;
704
+ while(1) {
705
+ if (in_grouping_U(z, g_vowel, 1488, 1522, 0)) goto lab14;
706
+ continue;
707
+ lab14:
708
+ break;
709
+ }
710
+ z->I[1] = z->c;
711
+
712
+ if (!(z->I[1] < z->I[0])) goto lab15;
713
+ z->I[1] = z->I[0];
714
+ lab15:
715
+ return 1;
716
+ }
717
+
718
+ static int r_R1(struct SN_env * z) {
719
+ if (!(z->I[1] <= z->c)) return 0;
720
+ return 1;
721
+ }
722
+
723
+ static int r_R1plus3(struct SN_env * z) {
724
+ if (!(z->I[1] <= (z->c + 6))) return 0;
725
+ return 1;
726
+ }
727
+
728
+ static int r_standard_suffix(struct SN_env * z) {
729
+ int among_var;
730
+ { int m1 = z->l - z->c; (void)m1;
731
+ z->ket = z->c;
732
+ among_var = find_among_b(z, a_4, 79);
733
+ if (!(among_var)) goto lab0;
734
+ z->bra = z->c;
735
+ switch (among_var) {
736
+ case 1:
737
+ { int ret = r_R1(z);
738
+ if (ret == 0) goto lab0;
739
+ if (ret < 0) return ret;
740
+ }
741
+ { int ret = slice_del(z);
742
+ if (ret < 0) return ret;
743
+ }
744
+ break;
745
+ case 2:
746
+ { int ret = r_R1(z);
747
+ if (ret == 0) goto lab0;
748
+ if (ret < 0) return ret;
749
+ }
750
+ { int ret = slice_from_s(z, 4, s_23);
751
+ if (ret < 0) return ret;
752
+ }
753
+ break;
754
+ case 3:
755
+ { int ret = r_R1(z);
756
+ if (ret == 0) goto lab0;
757
+ if (ret < 0) return ret;
758
+ }
759
+ { int ret = slice_del(z);
760
+ if (ret < 0) return ret;
761
+ }
762
+ z->ket = z->c;
763
+ among_var = find_among_b(z, a_3, 26);
764
+ if (!(among_var)) goto lab0;
765
+ z->bra = z->c;
766
+ switch (among_var) {
767
+ case 1:
768
+ { int ret = slice_from_s(z, 4, s_24);
769
+ if (ret < 0) return ret;
770
+ }
771
+ break;
772
+ case 2:
773
+ { int ret = slice_from_s(z, 6, s_25);
774
+ if (ret < 0) return ret;
775
+ }
776
+ break;
777
+ case 3:
778
+ { int ret = slice_from_s(z, 6, s_26);
779
+ if (ret < 0) return ret;
780
+ }
781
+ break;
782
+ case 4:
783
+ { int ret = slice_from_s(z, 6, s_27);
784
+ if (ret < 0) return ret;
785
+ }
786
+ break;
787
+ case 5:
788
+ { int ret = slice_from_s(z, 6, s_28);
789
+ if (ret < 0) return ret;
790
+ }
791
+ break;
792
+ case 6:
793
+ { int ret = slice_from_s(z, 6, s_29);
794
+ if (ret < 0) return ret;
795
+ }
796
+ break;
797
+ case 7:
798
+ { int ret = slice_from_s(z, 8, s_30);
799
+ if (ret < 0) return ret;
800
+ }
801
+ break;
802
+ case 8:
803
+ { int ret = slice_from_s(z, 6, s_31);
804
+ if (ret < 0) return ret;
805
+ }
806
+ break;
807
+ case 9:
808
+ { int ret = slice_from_s(z, 8, s_32);
809
+ if (ret < 0) return ret;
810
+ }
811
+ break;
812
+ case 10:
813
+ { int ret = slice_from_s(z, 6, s_33);
814
+ if (ret < 0) return ret;
815
+ }
816
+ break;
817
+ case 11:
818
+ { int ret = slice_from_s(z, 6, s_34);
819
+ if (ret < 0) return ret;
820
+ }
821
+ break;
822
+ case 12:
823
+ { int ret = slice_from_s(z, 8, s_35);
824
+ if (ret < 0) return ret;
825
+ }
826
+ break;
827
+ case 13:
828
+ { int ret = slice_from_s(z, 8, s_36);
829
+ if (ret < 0) return ret;
830
+ }
831
+ break;
832
+ case 14:
833
+ { int ret = slice_from_s(z, 8, s_37);
834
+ if (ret < 0) return ret;
835
+ }
836
+ break;
837
+ case 15:
838
+ { int ret = slice_from_s(z, 8, s_38);
839
+ if (ret < 0) return ret;
840
+ }
841
+ break;
842
+ case 16:
843
+ { int ret = slice_from_s(z, 8, s_39);
844
+ if (ret < 0) return ret;
845
+ }
846
+ break;
847
+ case 17:
848
+ { int ret = slice_from_s(z, 8, s_40);
849
+ if (ret < 0) return ret;
850
+ }
851
+ break;
852
+ case 18:
853
+ { int ret = slice_from_s(z, 8, s_41);
854
+ if (ret < 0) return ret;
855
+ }
856
+ break;
857
+ case 19:
858
+ { int ret = slice_from_s(z, 10, s_42);
859
+ if (ret < 0) return ret;
860
+ }
861
+ break;
862
+ case 20:
863
+ { int ret = slice_from_s(z, 10, s_43);
864
+ if (ret < 0) return ret;
865
+ }
866
+ break;
867
+ case 21:
868
+ { int ret = slice_from_s(z, 10, s_44);
869
+ if (ret < 0) return ret;
870
+ }
871
+ break;
872
+ case 22:
873
+ { int ret = slice_from_s(z, 6, s_45);
874
+ if (ret < 0) return ret;
875
+ }
876
+ break;
877
+ case 23:
878
+ { int ret = slice_from_s(z, 6, s_46);
879
+ if (ret < 0) return ret;
880
+ }
881
+ break;
882
+ case 24:
883
+ { int ret = slice_from_s(z, 12, s_47);
884
+ if (ret < 0) return ret;
885
+ }
886
+ break;
887
+ case 25:
888
+ { int ret = slice_from_s(z, 6, s_48);
889
+ if (ret < 0) return ret;
890
+ }
891
+ break;
892
+ case 26:
893
+ { int ret = slice_from_s(z, 8, s_49);
894
+ if (ret < 0) return ret;
895
+ }
896
+ break;
897
+ }
898
+ break;
899
+ case 4:
900
+ { int m2 = z->l - z->c; (void)m2;
901
+ { int ret = r_R1(z);
902
+ if (ret == 0) goto lab2;
903
+ if (ret < 0) return ret;
904
+ }
905
+ { int ret = slice_del(z);
906
+ if (ret < 0) return ret;
907
+ }
908
+ goto lab1;
909
+ lab2:
910
+ z->c = z->l - m2;
911
+ { int ret = slice_from_s(z, 2, s_50);
912
+ if (ret < 0) return ret;
913
+ }
914
+ }
915
+ lab1:
916
+ z->ket = z->c;
917
+ if (!(eq_s_b(z, 8, s_51))) goto lab0;
918
+ { int m3 = z->l - z->c; (void)m3;
919
+ if (!(eq_s_b(z, 4, s_52))) { z->c = z->l - m3; goto lab3; }
920
+ lab3:
921
+ ;
922
+ }
923
+ z->bra = z->c;
924
+ { int ret = slice_from_s(z, 10, s_53);
925
+ if (ret < 0) return ret;
926
+ }
927
+ break;
928
+ case 5:
929
+ { int ret = slice_from_s(z, 4, s_54);
930
+ if (ret < 0) return ret;
931
+ }
932
+ break;
933
+ case 6:
934
+ { int ret = slice_from_s(z, 6, s_55);
935
+ if (ret < 0) return ret;
936
+ }
937
+ break;
938
+ case 7:
939
+ { int ret = slice_from_s(z, 8, s_56);
940
+ if (ret < 0) return ret;
941
+ }
942
+ break;
943
+ case 8:
944
+ { int ret = slice_from_s(z, 6, s_57);
945
+ if (ret < 0) return ret;
946
+ }
947
+ break;
948
+ case 9:
949
+ { int ret = slice_from_s(z, 6, s_58);
950
+ if (ret < 0) return ret;
951
+ }
952
+ break;
953
+ case 10:
954
+ { int ret = slice_from_s(z, 6, s_59);
955
+ if (ret < 0) return ret;
956
+ }
957
+ break;
958
+ case 11:
959
+ { int ret = slice_from_s(z, 6, s_60);
960
+ if (ret < 0) return ret;
961
+ }
962
+ break;
963
+ case 12:
964
+ { int ret = slice_from_s(z, 8, s_61);
965
+ if (ret < 0) return ret;
966
+ }
967
+ break;
968
+ case 13:
969
+ { int ret = slice_from_s(z, 6, s_62);
970
+ if (ret < 0) return ret;
971
+ }
972
+ break;
973
+ case 14:
974
+ { int ret = slice_from_s(z, 8, s_63);
975
+ if (ret < 0) return ret;
976
+ }
977
+ break;
978
+ case 15:
979
+ { int ret = slice_from_s(z, 6, s_64);
980
+ if (ret < 0) return ret;
981
+ }
982
+ break;
983
+ case 16:
984
+ { int ret = slice_from_s(z, 6, s_65);
985
+ if (ret < 0) return ret;
986
+ }
987
+ break;
988
+ case 17:
989
+ { int ret = slice_from_s(z, 8, s_66);
990
+ if (ret < 0) return ret;
991
+ }
992
+ break;
993
+ case 18:
994
+ { int ret = slice_from_s(z, 8, s_67);
995
+ if (ret < 0) return ret;
996
+ }
997
+ break;
998
+ case 19:
999
+ { int ret = slice_from_s(z, 8, s_68);
1000
+ if (ret < 0) return ret;
1001
+ }
1002
+ break;
1003
+ case 20:
1004
+ { int ret = slice_from_s(z, 8, s_69);
1005
+ if (ret < 0) return ret;
1006
+ }
1007
+ break;
1008
+ case 21:
1009
+ { int ret = slice_from_s(z, 8, s_70);
1010
+ if (ret < 0) return ret;
1011
+ }
1012
+ break;
1013
+ case 22:
1014
+ { int ret = slice_from_s(z, 8, s_71);
1015
+ if (ret < 0) return ret;
1016
+ }
1017
+ break;
1018
+ case 23:
1019
+ { int ret = slice_from_s(z, 10, s_72);
1020
+ if (ret < 0) return ret;
1021
+ }
1022
+ break;
1023
+ case 24:
1024
+ { int ret = slice_from_s(z, 10, s_73);
1025
+ if (ret < 0) return ret;
1026
+ }
1027
+ break;
1028
+ case 25:
1029
+ { int ret = slice_from_s(z, 10, s_74);
1030
+ if (ret < 0) return ret;
1031
+ }
1032
+ break;
1033
+ case 26:
1034
+ { int ret = slice_from_s(z, 6, s_75);
1035
+ if (ret < 0) return ret;
1036
+ }
1037
+ break;
1038
+ case 27:
1039
+ { int ret = slice_from_s(z, 6, s_76);
1040
+ if (ret < 0) return ret;
1041
+ }
1042
+ break;
1043
+ case 28:
1044
+ { int ret = slice_from_s(z, 12, s_77);
1045
+ if (ret < 0) return ret;
1046
+ }
1047
+ break;
1048
+ case 29:
1049
+ { int ret = slice_from_s(z, 6, s_78);
1050
+ if (ret < 0) return ret;
1051
+ }
1052
+ break;
1053
+ case 30:
1054
+ { int ret = slice_from_s(z, 8, s_79);
1055
+ if (ret < 0) return ret;
1056
+ }
1057
+ break;
1058
+ case 31:
1059
+ { int ret = slice_from_s(z, 10, s_80);
1060
+ if (ret < 0) return ret;
1061
+ }
1062
+ break;
1063
+ case 32:
1064
+ { int ret = r_R1(z);
1065
+ if (ret == 0) goto lab0;
1066
+ if (ret < 0) return ret;
1067
+ }
1068
+ { int ret = slice_from_s(z, 2, s_81);
1069
+ if (ret < 0) return ret;
1070
+ }
1071
+ break;
1072
+ case 33:
1073
+ { int m4 = z->l - z->c; (void)m4;
1074
+ { int m5 = z->l - z->c; (void)m5;
1075
+ if (!(eq_s_b(z, 2, s_82))) goto lab7;
1076
+ goto lab6;
1077
+ lab7:
1078
+ z->c = z->l - m5;
1079
+ if (!(eq_s_b(z, 2, s_83))) goto lab5;
1080
+ }
1081
+ lab6:
1082
+ { int m6 = z->l - z->c; (void)m6;
1083
+ { int ret = r_R1plus3(z);
1084
+ if (ret == 0) { z->c = z->l - m6; goto lab8; }
1085
+ if (ret < 0) return ret;
1086
+ }
1087
+ { int ret = slice_from_s(z, 4, s_84);
1088
+ if (ret < 0) return ret;
1089
+ }
1090
+ lab8:
1091
+ ;
1092
+ }
1093
+ goto lab4;
1094
+ lab5:
1095
+ z->c = z->l - m4;
1096
+ { int ret = r_R1(z);
1097
+ if (ret == 0) goto lab0;
1098
+ if (ret < 0) return ret;
1099
+ }
1100
+ { int ret = slice_del(z);
1101
+ if (ret < 0) return ret;
1102
+ }
1103
+ }
1104
+ lab4:
1105
+ break;
1106
+ }
1107
+ lab0:
1108
+ z->c = z->l - m1;
1109
+ }
1110
+ { int m7 = z->l - z->c; (void)m7;
1111
+ z->ket = z->c;
1112
+ if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 4 || !((285474816 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab9;
1113
+ among_var = find_among_b(z, a_5, 6);
1114
+ if (!(among_var)) goto lab9;
1115
+ z->bra = z->c;
1116
+ switch (among_var) {
1117
+ case 1:
1118
+ { int ret = r_R1(z);
1119
+ if (ret == 0) goto lab9;
1120
+ if (ret < 0) return ret;
1121
+ }
1122
+ { int ret = slice_del(z);
1123
+ if (ret < 0) return ret;
1124
+ }
1125
+ break;
1126
+ case 2:
1127
+ { int ret = r_R1(z);
1128
+ if (ret == 0) goto lab9;
1129
+ if (ret < 0) return ret;
1130
+ }
1131
+ if (in_grouping_b_U(z, g_consonant, 1489, 1520, 0)) goto lab9;
1132
+ { int ret = slice_del(z);
1133
+ if (ret < 0) return ret;
1134
+ }
1135
+ break;
1136
+ }
1137
+ lab9:
1138
+ z->c = z->l - m7;
1139
+ }
1140
+ { int m8 = z->l - z->c; (void)m8;
1141
+ z->ket = z->c;
1142
+ among_var = find_among_b(z, a_6, 9);
1143
+ if (!(among_var)) goto lab10;
1144
+ z->bra = z->c;
1145
+ switch (among_var) {
1146
+ case 1:
1147
+ { int ret = r_R1(z);
1148
+ if (ret == 0) goto lab10;
1149
+ if (ret < 0) return ret;
1150
+ }
1151
+ { int ret = slice_del(z);
1152
+ if (ret < 0) return ret;
1153
+ }
1154
+ break;
1155
+ }
1156
+ lab10:
1157
+ z->c = z->l - m8;
1158
+ }
1159
+ { int m9 = z->l - z->c; (void)m9;
1160
+ while(1) {
1161
+ int m10 = z->l - z->c; (void)m10;
1162
+ while(1) {
1163
+ int m11 = z->l - z->c; (void)m11;
1164
+ z->ket = z->c;
1165
+ { int m12 = z->l - z->c; (void)m12;
1166
+ if (!(eq_s_b(z, 2, s_85))) goto lab15;
1167
+ goto lab14;
1168
+ lab15:
1169
+ z->c = z->l - m12;
1170
+ if (!(eq_s_b(z, 3, s_86))) goto lab13;
1171
+ }
1172
+ lab14:
1173
+ z->bra = z->c;
1174
+ { int ret = slice_del(z);
1175
+ if (ret < 0) return ret;
1176
+ }
1177
+ z->c = z->l - m11;
1178
+ break;
1179
+ lab13:
1180
+ z->c = z->l - m11;
1181
+ { int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
1182
+ if (ret < 0) goto lab12;
1183
+ z->c = ret;
1184
+ }
1185
+ }
1186
+ continue;
1187
+ lab12:
1188
+ z->c = z->l - m10;
1189
+ break;
1190
+ }
1191
+ z->c = z->l - m9;
1192
+ }
1193
+ return 1;
1194
+ }
1195
+
1196
+ extern int yiddish_UTF_8_stem(struct SN_env * z) {
1197
+
1198
+ { int ret = r_prelude(z);
1199
+ if (ret < 0) return ret;
1200
+ }
1201
+ { int c1 = z->c;
1202
+ { int ret = r_mark_regions(z);
1203
+ if (ret < 0) return ret;
1204
+ }
1205
+ z->c = c1;
1206
+ }
1207
+ z->lb = z->c; z->c = z->l;
1208
+
1209
+
1210
+ { int ret = r_standard_suffix(z);
1211
+ if (ret < 0) return ret;
1212
+ }
1213
+ z->c = z->lb;
1214
+ return 1;
1215
+ }
1216
+
1217
+ extern struct SN_env * yiddish_UTF_8_create_env(void) { return SN_create_env(0, 2); }
1218
+
1219
+ extern void yiddish_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); }
1220
+