1 /* Generated by Snowball 2.1.0 - https://snowballstem.org/ */
2
3 #include "header.h"
4
5 #ifdef __cplusplus
6 extern "C" {
7 #endif
8 extern int yiddish_UTF_8_stem(struct SN_env * z);
9 #ifdef __cplusplus
10 }
11 #endif
12 static int r_standard_suffix(struct SN_env * z);
13 static int r_R1plus3(struct SN_env * z);
14 static int r_R1(struct SN_env * z);
15 static int r_mark_regions(struct SN_env * z);
16 static int r_prelude(struct SN_env * z);
17 #ifdef __cplusplus
18 extern "C" {
19 #endif
20
21
22 extern struct SN_env * yiddish_UTF_8_create_env(void);
23 extern void yiddish_UTF_8_close_env(struct SN_env * z);
24
25
26 #ifdef __cplusplus
27 }
28 #endif
29 static const symbol s_0_0[10] = { 0xD7, 0x90, 0xD7, 0x93, 0xD7, 0x95, 0xD7, 0xA8, 0xD7, 0x9B };
30 static const symbol s_0_1[8] = { 0xD7, 0x90, 0xD7, 0x94, 0xD7, 0x99, 0xD7, 0xA0 };
31 static const symbol s_0_2[8] = { 0xD7, 0x90, 0xD7, 0x94, 0xD7, 0xA2, 0xD7, 0xA8 };
32 static const symbol s_0_3[8] = { 0xD7, 0x90, 0xD7, 0x94, 0xD7, 0xB2, 0xD7, 0x9E };
33 static const symbol s_0_4[6] = { 0xD7, 0x90, 0xD7, 0x95, 0xD7, 0x9E };
34 static const symbol s_0_5[12] = { 0xD7, 0x90, 0xD7, 0x95, 0xD7, 0xA0, 0xD7, 0x98, 0xD7, 0xA2, 0xD7, 0xA8 };
35 static const symbol s_0_6[10] = { 0xD7, 0x90, 0xD7, 0x99, 0xD7, 0x91, 0xD7, 0xA2, 0xD7, 0xA8 };
36 static const symbol s_0_7[4] = { 0xD7, 0x90, 0xD7, 0xA0 };
37 static const symbol s_0_8[6] = { 0xD7, 0x90, 0xD7, 0xA0, 0xD7, 0x98 };
38 static const symbol s_0_9[14] = { 0xD7, 0x90, 0xD7, 0xA0, 0xD7, 0x98, 0xD7, 0xA7, 0xD7, 0xA2, 0xD7, 0x92, 0xD7, 0xA0 };
39 static const symbol s_0_10[12] = { 0xD7, 0x90, 0xD7, 0xA0, 0xD7, 0x99, 0xD7, 0x93, 0xD7, 0xA2, 0xD7, 0xA8 };
40 static const symbol s_0_11[4] = { 0xD7, 0x90, 0xD7, 0xA4 };
41 static const symbol s_0_12[8] = { 0xD7, 0x90, 0xD7, 0xA4, 0xD7, 0x99, 0xD7, 0xA8 };
42 static const symbol s_0_13[10] = { 0xD7, 0x90, 0xD7, 0xA7, 0xD7, 0xA2, 0xD7, 0x92, 0xD7, 0xA0 };
43 static const symbol s_0_14[8] = { 0xD7, 0x90, 0xD7, 0xA8, 0xD7, 0x90, 0xD7, 0xA4 };
44 static const symbol s_0_15[8] = { 0xD7, 0x90, 0xD7, 0xA8, 0xD7, 0x95, 0xD7, 0x9E };
45 static const symbol s_0_16[14] = { 0xD7, 0x90, 0xD7, 0xA8, 0xD7, 0x95, 0xD7, 0xA0, 0xD7, 0x98, 0xD7, 0xA2, 0xD7, 0xA8 };
46 static const symbol s_0_17[12] = { 0xD7, 0x90, 0xD7, 0xA8, 0xD7, 0x99, 0xD7, 0x91, 0xD7, 0xA2, 0xD7, 0xA8 };
47 static const symbol s_0_18[8] = { 0xD7, 0x90, 0xD7, 0xA8, 0xD7, 0xB1, 0xD7, 0xA1 };
48 static const symbol s_0_19[8] = { 0xD7, 0x90, 0xD7, 0xA8, 0xD7, 0xB1, 0xD7, 0xA4 };
49 static const symbol s_0_20[8] = { 0xD7, 0x90, 0xD7, 0xA8, 0xD7, 0xB2, 0xD7, 0xA0 };
50 static const symbol s_0_21[8] = { 0xD7, 0x90, 0xD7, 0xB0, 0xD7, 0xA2, 0xD7, 0xA7 };
51 static const symbol s_0_22[6] = { 0xD7, 0x90, 0xD7, 0xB1, 0xD7, 0xA1 };
52 static const symbol s_0_23[6] = { 0xD7, 0x90, 0xD7, 0xB1, 0xD7, 0xA4 };
53 static const symbol s_0_24[6] = { 0xD7, 0x90, 0xD7, 0xB2, 0xD7, 0xA0 };
54 static const symbol s_0_25[4] = { 0xD7, 0x91, 0xD7, 0x90 };
55 static const symbol s_0_26[4] = { 0xD7, 0x91, 0xD7, 0xB2 };
56 static const symbol s_0_27[8] = { 0xD7, 0x93, 0xD7, 0x95, 0xD7, 0xA8, 0xD7, 0x9B };
57 static const symbol s_0_28[6] = { 0xD7, 0x93, 0xD7, 0xA2, 0xD7, 0xA8 };
58 static const symbol s_0_29[6] = { 0xD7, 0x9E, 0xD7, 0x99, 0xD7, 0x98 };
59 static const symbol s_0_30[6] = { 0xD7, 0xA0, 0xD7, 0x90, 0xD7, 0x9B };
60 static const symbol s_0_31[6] = { 0xD7, 0xA4, 0xD7, 0x90, 0xD7, 0xA8 };
61 static const symbol s_0_32[10] = { 0xD7, 0xA4, 0xD7, 0x90, 0xD7, 0xA8, 0xD7, 0x91, 0xD7, 0xB2 };
62 static const symbol s_0_33[10] = { 0xD7, 0xA4, 0xD7, 0x90, 0xD7, 0xA8, 0xD7, 0xB1, 0xD7, 0xA1 };
63 static const symbol s_0_34[16] = { 0xD7, 0xA4, 0xD7, 0x95, 0xD7, 0xA0, 0xD7, 0x90, 0xD7, 0xA0, 0xD7, 0x93, 0xD7, 0xA2, 0xD7, 0xA8 };
64 static const symbol s_0_35[4] = { 0xD7, 0xA6, 0xD7, 0x95 };
65 static const symbol s_0_36[14] = { 0xD7, 0xA6, 0xD7, 0x95, 0xD7, 0x96, 0xD7, 0x90, 0xD7, 0x9E, 0xD7, 0xA2, 0xD7, 0xA0 };
66 static const symbol s_0_37[10] = { 0xD7, 0xA6, 0xD7, 0x95, 0xD7, 0xA0, 0xD7, 0xB1, 0xD7, 0xA4 };
67 static const symbol s_0_38[10] = { 0xD7, 0xA6, 0xD7, 0x95, 0xD7, 0xA8, 0xD7, 0x99, 0xD7, 0xA7 };
68 static const symbol s_0_39[4] = { 0xD7, 0xA6, 0xD7, 0xA2 };
69
70 static const struct among a_0[40] =
71 {
72 { 10, s_0_0, -1, 1, 0},
73 { 8, s_0_1, -1, 1, 0},
74 { 8, s_0_2, -1, 1, 0},
75 { 8, s_0_3, -1, 1, 0},
76 { 6, s_0_4, -1, 1, 0},
77 { 12, s_0_5, -1, 1, 0},
78 { 10, s_0_6, -1, 1, 0},
79 { 4, s_0_7, -1, 1, 0},
80 { 6, s_0_8, 7, 1, 0},
81 { 14, s_0_9, 8, 1, 0},
82 { 12, s_0_10, 7, 1, 0},
83 { 4, s_0_11, -1, 1, 0},
84 { 8, s_0_12, 11, 1, 0},
85 { 10, s_0_13, -1, 1, 0},
86 { 8, s_0_14, -1, 1, 0},
87 { 8, s_0_15, -1, 1, 0},
88 { 14, s_0_16, -1, 1, 0},
89 { 12, s_0_17, -1, 1, 0},
90 { 8, s_0_18, -1, 1, 0},
91 { 8, s_0_19, -1, 1, 0},
92 { 8, s_0_20, -1, 1, 0},
93 { 8, s_0_21, -1, 1, 0},
94 { 6, s_0_22, -1, 1, 0},
95 { 6, s_0_23, -1, 1, 0},
96 { 6, s_0_24, -1, 1, 0},
97 { 4, s_0_25, -1, 1, 0},
98 { 4, s_0_26, -1, 1, 0},
99 { 8, s_0_27, -1, 1, 0},
100 { 6, s_0_28, -1, 1, 0},
101 { 6, s_0_29, -1, 1, 0},
102 { 6, s_0_30, -1, 1, 0},
103 { 6, s_0_31, -1, 1, 0},
104 { 10, s_0_32, 31, 1, 0},
105 { 10, s_0_33, 31, 1, 0},
106 { 16, s_0_34, -1, 1, 0},
107 { 4, s_0_35, -1, 1, 0},
108 { 14, s_0_36, 35, 1, 0},
109 { 10, s_0_37, 35, 1, 0},
110 { 10, s_0_38, 35, 1, 0},
111 { 4, s_0_39, -1, 1, 0}
112 };
113
114 static const symbol s_1_0[6] = { 0xD7, 0x93, 0xD7, 0x96, 0xD7, 0xA9 };
115 static const symbol s_1_1[6] = { 0xD7, 0xA9, 0xD7, 0x98, 0xD7, 0xA8 };
116 static const symbol s_1_2[6] = { 0xD7, 0xA9, 0xD7, 0x98, 0xD7, 0xA9 };
117 static const symbol s_1_3[6] = { 0xD7, 0xA9, 0xD7, 0xA4, 0xD7, 0xA8 };
118
119 static const struct among a_1[4] =
120 {
121 { 6, s_1_0, -1, -1, 0},
122 { 6, s_1_1, -1, -1, 0},
123 { 6, s_1_2, -1, -1, 0},
124 { 6, s_1_3, -1, -1, 0}
125 };
126
127 static const symbol s_2_0[6] = { 0xD7, 0x95, 0xD7, 0xA0, 0xD7, 0x92 };
128 static const symbol s_2_1[6] = { 0xD7, 0xA1, 0xD7, 0x98, 0xD7, 0x95 };
129 static const symbol s_2_2[2] = { 0xD7, 0x98 };
130 static const symbol s_2_3[10] = { 0xD7, 0x91, 0xD7, 0xA8, 0xD7, 0x90, 0xD7, 0x9B, 0xD7, 0x98 };
131 static const symbol s_2_4[4] = { 0xD7, 0xA1, 0xD7, 0x98 };
132 static const symbol s_2_5[6] = { 0xD7, 0x99, 0xD7, 0xA1, 0xD7, 0x98 };
133 static const symbol s_2_6[4] = { 0xD7, 0xA2, 0xD7, 0x98 };
134 static const symbol s_2_7[8] = { 0xD7, 0xA9, 0xD7, 0x90, 0xD7, 0xA4, 0xD7, 0x98 };
135 static const symbol s_2_8[6] = { 0xD7, 0x94, 0xD7, 0xB2, 0xD7, 0x98 };
136 static const symbol s_2_9[6] = { 0xD7, 0xA7, 0xD7, 0xB2, 0xD7, 0x98 };
137 static const symbol s_2_10[8] = { 0xD7, 0x99, 0xD7, 0xA7, 0xD7, 0xB2, 0xD7, 0x98 };
138 static const symbol s_2_11[6] = { 0xD7, 0x9C, 0xD7, 0xA2, 0xD7, 0x9B };
139 static const symbol s_2_12[8] = { 0xD7, 0xA2, 0xD7, 0x9C, 0xD7, 0xA2, 0xD7, 0x9B };
140 static const symbol s_2_13[6] = { 0xD7, 0x99, 0xD7, 0x96, 0xD7, 0x9E };
141 static const symbol s_2_14[4] = { 0xD7, 0x99, 0xD7, 0x9E };
142 static const symbol s_2_15[4] = { 0xD7, 0xA2, 0xD7, 0x9E };
143 static const symbol s_2_16[8] = { 0xD7, 0xA2, 0xD7, 0xA0, 0xD7, 0xA2, 0xD7, 0x9E };
144 static const symbol s_2_17[10] = { 0xD7, 0x98, 0xD7, 0xA2, 0xD7, 0xA0, 0xD7, 0xA2, 0xD7, 0x9E };
145 static const symbol s_2_18[2] = { 0xD7, 0xA0 };
146 static const symbol s_2_19[10] = { 0xD7, 0xA7, 0xD7, 0x9C, 0xD7, 0x99, 0xD7, 0x91, 0xD7, 0xA0 };
147 static const symbol s_2_20[8] = { 0xD7, 0xA8, 0xD7, 0x99, 0xD7, 0x91, 0xD7, 0xA0 };
148 static const symbol s_2_21[10] = { 0xD7, 0x98, 0xD7, 0xA8, 0xD7, 0x99, 0xD7, 0x91, 0xD7, 0xA0 };
149 static const symbol s_2_22[10] = { 0xD7, 0xA9, 0xD7, 0xA8, 0xD7, 0x99, 0xD7, 0x91, 0xD7, 0xA0 };
150 static const symbol s_2_23[8] = { 0xD7, 0x94, 0xD7, 0xB1, 0xD7, 0x91, 0xD7, 0xA0 };
151 static const symbol s_2_24[10] = { 0xD7, 0xA9, 0xD7, 0xB0, 0xD7, 0x99, 0xD7, 0x92, 0xD7, 0xA0 };
152 static const symbol s_2_25[10] = { 0xD7, 0x96, 0xD7, 0x95, 0xD7, 0xA0, 0xD7, 0x92, 0xD7, 0xA0 };
153 static const symbol s_2_26[12] = { 0xD7, 0xA9, 0xD7, 0x9C, 0xD7, 0x95, 0xD7, 0xA0, 0xD7, 0x92, 0xD7, 0xA0 };
154 static const symbol s_2_27[12] = { 0xD7, 0xA6, 0xD7, 0xB0, 0xD7, 0x95, 0xD7, 0xA0, 0xD7, 0x92, 0xD7, 0xA0 };
155 static const symbol s_2_28[8] = { 0xD7, 0x91, 0xD7, 0xB1, 0xD7, 0x92, 0xD7, 0xA0 };
156 static const symbol s_2_29[10] = { 0xD7, 0x91, 0xD7, 0x95, 0xD7, 0xA0, 0xD7, 0x93, 0xD7, 0xA0 };
157 static const symbol s_2_30[8] = { 0xD7, 0xB0, 0xD7, 0x99, 0xD7, 0x96, 0xD7, 0xA0 };
158 static const symbol s_2_31[4] = { 0xD7, 0x98, 0xD7, 0xA0 };
159 static const symbol s_2_32[10] = { 'G', 'E', 0xD7, 0x91, 0xD7, 0x99, 0xD7, 0x98, 0xD7, 0xA0 };
160 static const symbol s_2_33[10] = { 'G', 'E', 0xD7, 0x9C, 0xD7, 0x99, 0xD7, 0x98, 0xD7, 0xA0 };
161 static const symbol s_2_34[10] = { 'G', 'E', 0xD7, 0x9E, 0xD7, 0x99, 0xD7, 0x98, 0xD7, 0xA0 };
162 static const symbol s_2_35[10] = { 0xD7, 0xA9, 0xD7, 0xA0, 0xD7, 0x99, 0xD7, 0x98, 0xD7, 0xA0 };
163 static const symbol s_2_36[6] = { 0xD7, 0xA1, 0xD7, 0x98, 0xD7, 0xA0 };
164 static const symbol s_2_37[8] = { 0xD7, 0x99, 0xD7, 0xA1, 0xD7, 0x98, 0xD7, 0xA0 };
165 static const symbol s_2_38[6] = { 0xD7, 0xA2, 0xD7, 0x98, 0xD7, 0xA0 };
166 static const symbol s_2_39[10] = { 'G', 'E', 0xD7, 0x91, 0xD7, 0x99, 0xD7, 0xA1, 0xD7, 0xA0 };
167 static const symbol s_2_40[10] = { 0xD7, 0xA9, 0xD7, 0x9E, 0xD7, 0x99, 0xD7, 0xA1, 0xD7, 0xA0 };
168 static const symbol s_2_41[10] = { 'G', 'E', 0xD7, 0xA8, 0xD7, 0x99, 0xD7, 0xA1, 0xD7, 0xA0 };
169 static const symbol s_2_42[4] = { 0xD7, 0xA2, 0xD7, 0xA0 };
170 static const symbol s_2_43[12] = { 0xD7, 0x92, 0xD7, 0x90, 0xD7, 0xA0, 0xD7, 0x92, 0xD7, 0xA2, 0xD7, 0xA0 };
171 static const symbol s_2_44[8] = { 0xD7, 0xA2, 0xD7, 0x9C, 0xD7, 0xA2, 0xD7, 0xA0 };
172 static const symbol s_2_45[10] = { 0xD7, 0xA0, 0xD7, 0x95, 0xD7, 0x9E, 0xD7, 0xA2, 0xD7, 0xA0 };
173 static const symbol s_2_46[10] = { 0xD7, 0x99, 0xD7, 0x96, 0xD7, 0x9E, 0xD7, 0xA2, 0xD7, 0xA0 };
174 static const symbol s_2_47[12] = { 0xD7, 0xA9, 0xD7, 0x98, 0xD7, 0x90, 0xD7, 0xA0, 0xD7, 0xA2, 0xD7, 0xA0 };
175 static const symbol s_2_48[12] = { 0xD7, 0x98, 0xD7, 0xA8, 0xD7, 0x95, 0xD7, 0xA0, 0xD7, 0xA7, 0xD7, 0xA0 };
176 static const symbol s_2_49[14] = { 0xD7, 0xA4, 0xD7, 0x90, 0xD7, 0xA8, 0xD7, 0x9C, 0xD7, 0xB1, 0xD7, 0xA8, 0xD7, 0xA0 };
177 static const symbol s_2_50[10] = { 0xD7, 0xA9, 0xD7, 0xB0, 0xD7, 0xB1, 0xD7, 0xA8, 0xD7, 0xA0 };
178 static const symbol s_2_51[10] = { 0xD7, 0xB0, 0xD7, 0x95, 0xD7, 0x98, 0xD7, 0xA9, 0xD7, 0xA0 };
179 static const symbol s_2_52[6] = { 0xD7, 0x92, 0xD7, 0xB2, 0xD7, 0xA0 };
180 static const symbol s_2_53[2] = { 0xD7, 0xA1 };
181 static const symbol s_2_54[4] = { 0xD7, 0x98, 0xD7, 0xA1 };
182 static const symbol s_2_55[6] = { 0xD7, 0xA2, 0xD7, 0x98, 0xD7, 0xA1 };
183 static const symbol s_2_56[4] = { 0xD7, 0xA0, 0xD7, 0xA1 };
184 static const symbol s_2_57[6] = { 0xD7, 0x98, 0xD7, 0xA0, 0xD7, 0xA1 };
185 static const symbol s_2_58[6] = { 0xD7, 0xA2, 0xD7, 0xA0, 0xD7, 0xA1 };
186 static const symbol s_2_59[4] = { 0xD7, 0xA2, 0xD7, 0xA1 };
187 static const symbol s_2_60[6] = { 0xD7, 0x99, 0xD7, 0xA2, 0xD7, 0xA1 };
188 static const symbol s_2_61[8] = { 0xD7, 0xA2, 0xD7, 0x9C, 0xD7, 0xA2, 0xD7, 0xA1 };
189 static const symbol s_2_62[6] = { 0xD7, 0xA2, 0xD7, 0xA8, 0xD7, 0xA1 };
190 static const symbol s_2_63[10] = { 0xD7, 0xA2, 0xD7, 0xA0, 0xD7, 0xA2, 0xD7, 0xA8, 0xD7, 0xA1 };
191 static const symbol s_2_64[2] = { 0xD7, 0xA2 };
192 static const symbol s_2_65[4] = { 0xD7, 0x98, 0xD7, 0xA2 };
193 static const symbol s_2_66[6] = { 0xD7, 0xA1, 0xD7, 0x98, 0xD7, 0xA2 };
194 static const symbol s_2_67[6] = { 0xD7, 0xA2, 0xD7, 0x98, 0xD7, 0xA2 };
195 static const symbol s_2_68[4] = { 0xD7, 0x99, 0xD7, 0xA2 };
196 static const symbol s_2_69[6] = { 0xD7, 0xA2, 0xD7, 0x9C, 0xD7, 0xA2 };
197 static const symbol s_2_70[6] = { 0xD7, 0xA2, 0xD7, 0xA0, 0xD7, 0xA2 };
198 static const symbol s_2_71[8] = { 0xD7, 0x98, 0xD7, 0xA2, 0xD7, 0xA0, 0xD7, 0xA2 };
199 static const symbol s_2_72[4] = { 0xD7, 0xA2, 0xD7, 0xA8 };
200 static const symbol s_2_73[6] = { 0xD7, 0x98, 0xD7, 0xA2, 0xD7, 0xA8 };
201 static const symbol s_2_74[8] = { 0xD7, 0xA1, 0xD7, 0x98, 0xD7, 0xA2, 0xD7, 0xA8 };
202 static const symbol s_2_75[8] = { 0xD7, 0xA2, 0xD7, 0x98, 0xD7, 0xA2, 0xD7, 0xA8 };
203 static const symbol s_2_76[8] = { 0xD7, 0xA2, 0xD7, 0xA0, 0xD7, 0xA2, 0xD7, 0xA8 };
204 static const symbol s_2_77[10] = { 0xD7, 0x98, 0xD7, 0xA2, 0xD7, 0xA0, 0xD7, 0xA2, 0xD7, 0xA8 };
205 static const symbol s_2_78[4] = { 0xD7, 0x95, 0xD7, 0xAA };
206
207 static const struct among a_2[79] =
208 {
209 { 6, s_2_0, -1, 1, 0},
210 { 6, s_2_1, -1, 1, 0},
211 { 2, s_2_2, -1, 1, 0},
212 { 10, s_2_3, 2, 31, 0},
213 { 4, s_2_4, 2, 1, 0},
214 { 6, s_2_5, 4, 33, 0},
215 { 4, s_2_6, 2, 1, 0},
216 { 8, s_2_7, 2, 1, 0},
217 { 6, s_2_8, 2, 1, 0},
218 { 6, s_2_9, 2, 1, 0},
219 { 8, s_2_10, 9, 1, 0},
220 { 6, s_2_11, -1, 1, 0},
221 { 8, s_2_12, 11, 1, 0},
222 { 6, s_2_13, -1, 1, 0},
223 { 4, s_2_14, -1, 1, 0},
224 { 4, s_2_15, -1, 1, 0},
225 { 8, s_2_16, 15, 3, 0},
226 { 10, s_2_17, 16, 4, 0},
227 { 2, s_2_18, -1, 1, 0},
228 { 10, s_2_19, 18, 14, 0},
229 { 8, s_2_20, 18, 15, 0},
230 { 10, s_2_21, 20, 12, 0},
231 { 10, s_2_22, 20, 7, 0},
232 { 8, s_2_23, 18, 27, 0},
233 { 10, s_2_24, 18, 17, 0},
234 { 10, s_2_25, 18, 22, 0},
235 { 12, s_2_26, 18, 25, 0},
236 { 12, s_2_27, 18, 24, 0},
237 { 8, s_2_28, 18, 26, 0},
238 { 10, s_2_29, 18, 20, 0},
239 { 8, s_2_30, 18, 11, 0},
240 { 4, s_2_31, 18, 4, 0},
241 { 10, s_2_32, 31, 9, 0},
242 { 10, s_2_33, 31, 13, 0},
243 { 10, s_2_34, 31, 8, 0},
244 { 10, s_2_35, 31, 19, 0},
245 { 6, s_2_36, 31, 1, 0},
246 { 8, s_2_37, 36, 1, 0},
247 { 6, s_2_38, 31, 1, 0},
248 { 10, s_2_39, 18, 10, 0},
249 { 10, s_2_40, 18, 18, 0},
250 { 10, s_2_41, 18, 16, 0},
251 { 4, s_2_42, 18, 1, 0},
252 { 12, s_2_43, 42, 5, 0},
253 { 8, s_2_44, 42, 1, 0},
254 { 10, s_2_45, 42, 6, 0},
255 { 10, s_2_46, 42, 1, 0},
256 { 12, s_2_47, 42, 29, 0},
257 { 12, s_2_48, 18, 23, 0},
258 { 14, s_2_49, 18, 28, 0},
259 { 10, s_2_50, 18, 30, 0},
260 { 10, s_2_51, 18, 21, 0},
261 { 6, s_2_52, 18, 5, 0},
262 { 2, s_2_53, -1, 1, 0},
263 { 4, s_2_54, 53, 4, 0},
264 { 6, s_2_55, 54, 1, 0},
265 { 4, s_2_56, 53, 1, 0},
266 { 6, s_2_57, 56, 4, 0},
267 { 6, s_2_58, 56, 3, 0},
268 { 4, s_2_59, 53, 1, 0},
269 { 6, s_2_60, 59, 2, 0},
270 { 8, s_2_61, 59, 1, 0},
271 { 6, s_2_62, 53, 1, 0},
272 { 10, s_2_63, 62, 1, 0},
273 { 2, s_2_64, -1, 1, 0},
274 { 4, s_2_65, 64, 4, 0},
275 { 6, s_2_66, 65, 1, 0},
276 { 6, s_2_67, 65, 1, 0},
277 { 4, s_2_68, 64, -1, 0},
278 { 6, s_2_69, 64, 1, 0},
279 { 6, s_2_70, 64, 3, 0},
280 { 8, s_2_71, 70, 4, 0},
281 { 4, s_2_72, -1, 1, 0},
282 { 6, s_2_73, 72, 4, 0},
283 { 8, s_2_74, 73, 1, 0},
284 { 8, s_2_75, 73, 1, 0},
285 { 8, s_2_76, 72, 3, 0},
286 { 10, s_2_77, 76, 4, 0},
287 { 4, s_2_78, -1, 32, 0}
288 };
289
290 static const symbol s_3_0[6] = { 0xD7, 0x95, 0xD7, 0xA0, 0xD7, 0x92 };
291 static const symbol s_3_1[8] = { 0xD7, 0xA9, 0xD7, 0x90, 0xD7, 0xA4, 0xD7, 0x98 };
292 static const symbol s_3_2[6] = { 0xD7, 0x94, 0xD7, 0xB2, 0xD7, 0x98 };
293 static const symbol s_3_3[6] = { 0xD7, 0xA7, 0xD7, 0xB2, 0xD7, 0x98 };
294 static const symbol s_3_4[8] = { 0xD7, 0x99, 0xD7, 0xA7, 0xD7, 0xB2, 0xD7, 0x98 };
295 static const symbol s_3_5[2] = { 0xD7, 0x9C };
296
297 static const struct among a_3[6] =
298 {
299 { 6, s_3_0, -1, 1, 0},
300 { 8, s_3_1, -1, 1, 0},
301 { 6, s_3_2, -1, 1, 0},
302 { 6, s_3_3, -1, 1, 0},
303 { 8, s_3_4, 3, 1, 0},
304 { 2, s_3_5, -1, 2, 0}
305 };
306
307 static const symbol s_4_0[4] = { 0xD7, 0x99, 0xD7, 0x92 };
308 static const symbol s_4_1[4] = { 0xD7, 0x99, 0xD7, 0xA7 };
309 static const symbol s_4_2[6] = { 0xD7, 0x93, 0xD7, 0x99, 0xD7, 0xA7 };
310 static const symbol s_4_3[8] = { 0xD7, 0xA0, 0xD7, 0x93, 0xD7, 0x99, 0xD7, 0xA7 };
311 static const symbol s_4_4[10] = { 0xD7, 0xA2, 0xD7, 0xA0, 0xD7, 0x93, 0xD7, 0x99, 0xD7, 0xA7 };
312 static const symbol s_4_5[8] = { 0xD7, 0x91, 0xD7, 0x9C, 0xD7, 0x99, 0xD7, 0xA7 };
313 static const symbol s_4_6[8] = { 0xD7, 0x92, 0xD7, 0x9C, 0xD7, 0x99, 0xD7, 0xA7 };
314 static const symbol s_4_7[6] = { 0xD7, 0xA0, 0xD7, 0x99, 0xD7, 0xA7 };
315 static const symbol s_4_8[4] = { 0xD7, 0x99, 0xD7, 0xA9 };
316
317 static const struct among a_4[9] =
318 {
319 { 4, s_4_0, -1, 1, 0},
320 { 4, s_4_1, -1, 1, 0},
321 { 6, s_4_2, 1, 1, 0},
322 { 8, s_4_3, 2, 1, 0},
323 { 10, s_4_4, 3, 1, 0},
324 { 8, s_4_5, 1, -1, 0},
325 { 8, s_4_6, 1, -1, 0},
326 { 6, s_4_7, 1, 1, 0},
327 { 4, s_4_8, -1, 1, 0}
328 };
329
330 static const unsigned char g_niked[] = { 255, 155, 6 };
331
332 static const unsigned char g_vowel[] = { 33, 2, 4, 0, 6 };
333
334 static const unsigned char g_consonant[] = { 239, 254, 253, 131 };
335
336 static const symbol s_0[] = { 0xD7, 0x95, 0xD7, 0x95 };
337 static const symbol s_1[] = { 0xD6, 0xBC };
338 static const symbol s_2[] = { 0xD7, 0xB0 };
339 static const symbol s_3[] = { 0xD7, 0x95, 0xD7, 0x99 };
340 static const symbol s_4[] = { 0xD6, 0xB4 };
341 static const symbol s_5[] = { 0xD7, 0xB1 };
342 static const symbol s_6[] = { 0xD7, 0x99, 0xD7, 0x99 };
343 static const symbol s_7[] = { 0xD6, 0xB4 };
344 static const symbol s_8[] = { 0xD7, 0xB2 };
345 static const symbol s_9[] = { 0xD7, 0x9A };
346 static const symbol s_10[] = { 0xD7, 0x9B };
347 static const symbol s_11[] = { 0xD7, 0x9D };
348 static const symbol s_12[] = { 0xD7, 0x9E };
349 static const symbol s_13[] = { 0xD7, 0x9F };
350 static const symbol s_14[] = { 0xD7, 0xA0 };
351 static const symbol s_15[] = { 0xD7, 0xA3 };
352 static const symbol s_16[] = { 0xD7, 0xA4 };
353 static const symbol s_17[] = { 0xD7, 0xA5 };
354 static const symbol s_18[] = { 0xD7, 0xA6 };
355 static const symbol s_19[] = { 0xD7, 0x92, 0xD7, 0xA2, 0xD7, 0x9C, 0xD7, 0x98 };
356 static const symbol s_20[] = { 0xD7, 0x92, 0xD7, 0xA2, 0xD7, 0x91, 0xD7, 0xA0 };
357 static const symbol s_21[] = { 0xD7, 0x92, 0xD7, 0xA2 };
358 static const symbol s_22[] = { 'G', 'E' };
359 static const symbol s_23[] = { 0xD7, 0xA6, 0xD7, 0x95, 0xD7, 0x92, 0xD7, 0xA0 };
360 static const symbol s_24[] = { 0xD7, 0xA6, 0xD7, 0x95, 0xD7, 0xA7, 0xD7, 0x98 };
361 static const symbol s_25[] = { 0xD7, 0xA6, 0xD7, 0x95, 0xD7, 0xA7, 0xD7, 0xA0 };
362 static const symbol s_26[] = { 0xD7, 0x92, 0xD7, 0xA2, 0xD7, 0x91, 0xD7, 0xA0 };
363 static const symbol s_27[] = { 0xD7, 0x92, 0xD7, 0xA2 };
364 static const symbol s_28[] = { 'G', 'E' };
365 static const symbol s_29[] = { 0xD7, 0xA6, 0xD7, 0x95 };
366 static const symbol s_30[] = { 'T', 'S', 'U' };
367 static const symbol s_31[] = { 0xD7, 0x99, 0xD7, 0xA2 };
368 static const symbol s_32[] = { 0xD7, 0x92, 0xD7, 0x90, 0xD7, 0xA0, 0xD7, 0x92 };
369 static const symbol s_33[] = { 0xD7, 0x92, 0xD7, 0xB2 };
370 static const symbol s_34[] = { 0xD7, 0xA0, 0xD7, 0x95, 0xD7, 0x9E };
371 static const symbol s_35[] = { 0xD7, 0xA0, 0xD7, 0xA2, 0xD7, 0x9E };
372 static const symbol s_36[] = { 0xD7, 0x9E, 0xD7, 0x99, 0xD7, 0x98 };
373 static const symbol s_37[] = { 0xD7, 0x9E, 0xD7, 0xB2, 0xD7, 0x93 };
374 static const symbol s_38[] = { 0xD7, 0x91, 0xD7, 0x99, 0xD7, 0x98 };
375 static const symbol s_39[] = { 0xD7, 0x91, 0xD7, 0xB2, 0xD7, 0x98 };
376 static const symbol s_40[] = { 0xD7, 0x91, 0xD7, 0x99, 0xD7, 0xA1 };
377 static const symbol s_41[] = { 0xD7, 0x91, 0xD7, 0xB2, 0xD7, 0xA1 };
378 static const symbol s_42[] = { 0xD7, 0xB0, 0xD7, 0x99, 0xD7, 0x96 };
379 static const symbol s_43[] = { 0xD7, 0xB0, 0xD7, 0xB2, 0xD7, 0x96 };
380 static const symbol s_44[] = { 0xD7, 0x98, 0xD7, 0xA8, 0xD7, 0x99, 0xD7, 0x91 };
381 static const symbol s_45[] = { 0xD7, 0x98, 0xD7, 0xA8, 0xD7, 0xB2, 0xD7, 0x91 };
382 static const symbol s_46[] = { 0xD7, 0x9C, 0xD7, 0x99, 0xD7, 0x98 };
383 static const symbol s_47[] = { 0xD7, 0x9C, 0xD7, 0xB2, 0xD7, 0x98 };
384 static const symbol s_48[] = { 0xD7, 0xA7, 0xD7, 0x9C, 0xD7, 0x99, 0xD7, 0x91 };
385 static const symbol s_49[] = { 0xD7, 0xA7, 0xD7, 0x9C, 0xD7, 0xB2, 0xD7, 0x91 };
386 static const symbol s_50[] = { 0xD7, 0xA8, 0xD7, 0x99, 0xD7, 0x91 };
387 static const symbol s_51[] = { 0xD7, 0xA8, 0xD7, 0xB2, 0xD7, 0x91 };
388 static const symbol s_52[] = { 0xD7, 0xA8, 0xD7, 0x99, 0xD7, 0xA1 };
389 static const symbol s_53[] = { 0xD7, 0xA8, 0xD7, 0xB2, 0xD7, 0xA1 };
390 static const symbol s_54[] = { 0xD7, 0xA9, 0xD7, 0xB0, 0xD7, 0x99, 0xD7, 0x92 };
391 static const symbol s_55[] = { 0xD7, 0xA9, 0xD7, 0xB0, 0xD7, 0xB2, 0xD7, 0x92 };
392 static const symbol s_56[] = { 0xD7, 0xA9, 0xD7, 0x9E, 0xD7, 0x99, 0xD7, 0xA1 };
393 static const symbol s_57[] = { 0xD7, 0xA9, 0xD7, 0x9E, 0xD7, 0xB2, 0xD7, 0xA1 };
394 static const symbol s_58[] = { 0xD7, 0xA9, 0xD7, 0xA0, 0xD7, 0x99, 0xD7, 0x98 };
395 static const symbol s_59[] = { 0xD7, 0xA9, 0xD7, 0xA0, 0xD7, 0xB2, 0xD7, 0x93 };
396 static const symbol s_60[] = { 0xD7, 0xA9, 0xD7, 0xA8, 0xD7, 0x99, 0xD7, 0x91 };
397 static const symbol s_61[] = { 0xD7, 0xA9, 0xD7, 0xA8, 0xD7, 0xB2, 0xD7, 0x91 };
398 static const symbol s_62[] = { 0xD7, 0x91, 0xD7, 0x95, 0xD7, 0xA0, 0xD7, 0x93 };
399 static const symbol s_63[] = { 0xD7, 0x91, 0xD7, 0x99, 0xD7, 0xA0, 0xD7, 0x93 };
400 static const symbol s_64[] = { 0xD7, 0xB0, 0xD7, 0x95, 0xD7, 0x98, 0xD7, 0xA9 };
401 static const symbol s_65[] = { 0xD7, 0xB0, 0xD7, 0x99, 0xD7, 0x98, 0xD7, 0xA9 };
402 static const symbol s_66[] = { 0xD7, 0x96, 0xD7, 0x95, 0xD7, 0xA0, 0xD7, 0x92 };
403 static const symbol s_67[] = { 0xD7, 0x96, 0xD7, 0x99, 0xD7, 0xA0, 0xD7, 0x92 };
404 static const symbol s_68[] = { 0xD7, 0x98, 0xD7, 0xA8, 0xD7, 0x95, 0xD7, 0xA0, 0xD7, 0xA7 };
405 static const symbol s_69[] = { 0xD7, 0x98, 0xD7, 0xA8, 0xD7, 0x99, 0xD7, 0xA0, 0xD7, 0xA7 };
406 static const symbol s_70[] = { 0xD7, 0xA6, 0xD7, 0xB0, 0xD7, 0x95, 0xD7, 0xA0, 0xD7, 0x92 };
407 static const symbol s_71[] = { 0xD7, 0xA6, 0xD7, 0xB0, 0xD7, 0x99, 0xD7, 0xA0, 0xD7, 0x92 };
408 static const symbol s_72[] = { 0xD7, 0xA9, 0xD7, 0x9C, 0xD7, 0x95, 0xD7, 0xA0, 0xD7, 0x92 };
409 static const symbol s_73[] = { 0xD7, 0xA9, 0xD7, 0x9C, 0xD7, 0x99, 0xD7, 0xA0, 0xD7, 0x92 };
410 static const symbol s_74[] = { 0xD7, 0x91, 0xD7, 0xB1, 0xD7, 0x92 };
411 static const symbol s_75[] = { 0xD7, 0x91, 0xD7, 0xB2, 0xD7, 0x92 };
412 static const symbol s_76[] = { 0xD7, 0x94, 0xD7, 0xB1, 0xD7, 0x91 };
413 static const symbol s_77[] = { 0xD7, 0x94, 0xD7, 0xB2, 0xD7, 0x91 };
414 static const symbol s_78[] = { 0xD7, 0xA4, 0xD7, 0x90, 0xD7, 0xA8, 0xD7, 0x9C, 0xD7, 0xB1, 0xD7, 0xA8 };
415 static const symbol s_79[] = { 0xD7, 0xA4, 0xD7, 0x90, 0xD7, 0xA8, 0xD7, 0x9C, 0xD7, 0x99, 0xD7, 0xA8 };
416 static const symbol s_80[] = { 0xD7, 0xA9, 0xD7, 0x98, 0xD7, 0x90, 0xD7, 0xA0 };
417 static const symbol s_81[] = { 0xD7, 0xA9, 0xD7, 0x98, 0xD7, 0xB2 };
418 static const symbol s_82[] = { 0xD7, 0xA9, 0xD7, 0xB0, 0xD7, 0xB1, 0xD7, 0xA8 };
419 static const symbol s_83[] = { 0xD7, 0xA9, 0xD7, 0xB0, 0xD7, 0xA2, 0xD7, 0xA8 };
420 static const symbol s_84[] = { 0xD7, 0x98 };
421 static const symbol s_85[] = { 0xD7, 0x91, 0xD7, 0xA8, 0xD7, 0x90, 0xD7, 0x9B };
422 static const symbol s_86[] = { 0xD7, 0x92, 0xD7, 0xA2 };
423 static const symbol s_87[] = { 0xD7, 0x91, 0xD7, 0xA8, 0xD7, 0xA2, 0xD7, 0xA0, 0xD7, 0x92 };
424 static const symbol s_88[] = { 0xD7, 0x92, 0xD7, 0xB2 };
425 static const symbol s_89[] = { 0xD7, 0xA0, 0xD7, 0xA2, 0xD7, 0x9E };
426 static const symbol s_90[] = { 0xD7, 0xA9, 0xD7, 0xA8, 0xD7, 0xB2, 0xD7, 0x91 };
427 static const symbol s_91[] = { 0xD7, 0x9E, 0xD7, 0xB2, 0xD7, 0x93 };
428 static const symbol s_92[] = { 0xD7, 0x91, 0xD7, 0xB2, 0xD7, 0x98 };
429 static const symbol s_93[] = { 0xD7, 0x91, 0xD7, 0xB2, 0xD7, 0xA1 };
430 static const symbol s_94[] = { 0xD7, 0xB0, 0xD7, 0xB2, 0xD7, 0x96 };
431 static const symbol s_95[] = { 0xD7, 0x98, 0xD7, 0xA8, 0xD7, 0xB2, 0xD7, 0x91 };
432 static const symbol s_96[] = { 0xD7, 0x9C, 0xD7, 0xB2, 0xD7, 0x98 };
433 static const symbol s_97[] = { 0xD7, 0xA7, 0xD7, 0x9C, 0xD7, 0xB2, 0xD7, 0x91 };
434 static const symbol s_98[] = { 0xD7, 0xA8, 0xD7, 0xB2, 0xD7, 0x91 };
435 static const symbol s_99[] = { 0xD7, 0xA8, 0xD7, 0xB2, 0xD7, 0xA1 };
436 static const symbol s_100[] = { 0xD7, 0xA9, 0xD7, 0xB0, 0xD7, 0xB2, 0xD7, 0x92 };
437 static const symbol s_101[] = { 0xD7, 0xA9, 0xD7, 0x9E, 0xD7, 0xB2, 0xD7, 0xA1 };
438 static const symbol s_102[] = { 0xD7, 0xA9, 0xD7, 0xA0, 0xD7, 0xB2, 0xD7, 0x93 };
439 static const symbol s_103[] = { 0xD7, 0x91, 0xD7, 0x99, 0xD7, 0xA0, 0xD7, 0x93 };
440 static const symbol s_104[] = { 0xD7, 0xB0, 0xD7, 0x99, 0xD7, 0x98, 0xD7, 0xA9 };
441 static const symbol s_105[] = { 0xD7, 0x96, 0xD7, 0x99, 0xD7, 0xA0, 0xD7, 0x92 };
442 static const symbol s_106[] = { 0xD7, 0x98, 0xD7, 0xA8, 0xD7, 0x99, 0xD7, 0xA0, 0xD7, 0xA7 };
443 static const symbol s_107[] = { 0xD7, 0xA6, 0xD7, 0xB0, 0xD7, 0x99, 0xD7, 0xA0, 0xD7, 0x92 };
444 static const symbol s_108[] = { 0xD7, 0xA9, 0xD7, 0x9C, 0xD7, 0x99, 0xD7, 0xA0, 0xD7, 0x92 };
445 static const symbol s_109[] = { 0xD7, 0x91, 0xD7, 0xB2, 0xD7, 0x92 };
446 static const symbol s_110[] = { 0xD7, 0x94, 0xD7, 0xB2, 0xD7, 0x91 };
447 static const symbol s_111[] = { 0xD7, 0xA4, 0xD7, 0x90, 0xD7, 0xA8, 0xD7, 0x9C, 0xD7, 0x99, 0xD7, 0xA8 };
448 static const symbol s_112[] = { 0xD7, 0xA9, 0xD7, 0x98, 0xD7, 0xB2 };
449 static const symbol s_113[] = { 0xD7, 0xA9, 0xD7, 0xB0, 0xD7, 0xA2, 0xD7, 0xA8 };
450 static const symbol s_114[] = { 0xD7, 0x91, 0xD7, 0xA8, 0xD7, 0xA2, 0xD7, 0xA0, 0xD7, 0x92 };
451 static const symbol s_115[] = { 0xD7, 0x94 };
452 static const symbol s_116[] = { 0xD7, 0x92 };
453 static const symbol s_117[] = { 0xD7, 0xA9 };
454 static const symbol s_118[] = { 0xD7, 0x99, 0xD7, 0xA1 };
455 static const symbol s_119[] = { 'G', 'E' };
456 static const symbol s_120[] = { 'T', 'S', 'U' };
457
r_prelude(struct SN_env * z)458 static int r_prelude(struct SN_env * z) {
459 { int c1 = z->c;
460 while(1) {
461 int c2 = z->c;
462 while(1) {
463 int c3 = z->c;
464 { int c4 = z->c;
465 z->bra = z->c;
466 if (!(eq_s(z, 4, s_0))) goto lab4;
467 z->ket = z->c;
468 { int c5 = z->c;
469 if (!(eq_s(z, 2, s_1))) goto lab5;
470 goto lab4;
471 lab5:
472 z->c = c5;
473 }
474 { int ret = slice_from_s(z, 2, s_2);
475 if (ret < 0) return ret;
476 }
477 goto lab3;
478 lab4:
479 z->c = c4;
480 z->bra = z->c;
481 if (!(eq_s(z, 4, s_3))) goto lab6;
482 z->ket = z->c;
483 { int c6 = z->c;
484 if (!(eq_s(z, 2, s_4))) goto lab7;
485 goto lab6;
486 lab7:
487 z->c = c6;
488 }
489 { int ret = slice_from_s(z, 2, s_5);
490 if (ret < 0) return ret;
491 }
492 goto lab3;
493 lab6:
494 z->c = c4;
495 z->bra = z->c;
496 if (!(eq_s(z, 4, s_6))) goto lab8;
497 z->ket = z->c;
498 { int c7 = z->c;
499 if (!(eq_s(z, 2, s_7))) goto lab9;
500 goto lab8;
501 lab9:
502 z->c = c7;
503 }
504 { int ret = slice_from_s(z, 2, s_8);
505 if (ret < 0) return ret;
506 }
507 goto lab3;
508 lab8:
509 z->c = c4;
510 z->bra = z->c;
511 if (!(eq_s(z, 2, s_9))) goto lab10;
512 z->ket = z->c;
513 { int ret = slice_from_s(z, 2, s_10);
514 if (ret < 0) return ret;
515 }
516 goto lab3;
517 lab10:
518 z->c = c4;
519 z->bra = z->c;
520 if (!(eq_s(z, 2, s_11))) goto lab11;
521 z->ket = z->c;
522 { int ret = slice_from_s(z, 2, s_12);
523 if (ret < 0) return ret;
524 }
525 goto lab3;
526 lab11:
527 z->c = c4;
528 z->bra = z->c;
529 if (!(eq_s(z, 2, s_13))) goto lab12;
530 z->ket = z->c;
531 { int ret = slice_from_s(z, 2, s_14);
532 if (ret < 0) return ret;
533 }
534 goto lab3;
535 lab12:
536 z->c = c4;
537 z->bra = z->c;
538 if (!(eq_s(z, 2, s_15))) goto lab13;
539 z->ket = z->c;
540 { int ret = slice_from_s(z, 2, s_16);
541 if (ret < 0) return ret;
542 }
543 goto lab3;
544 lab13:
545 z->c = c4;
546 z->bra = z->c;
547 if (!(eq_s(z, 2, s_17))) goto lab2;
548 z->ket = z->c;
549 { int ret = slice_from_s(z, 2, s_18);
550 if (ret < 0) return ret;
551 }
552 }
553 lab3:
554 z->c = c3;
555 break;
556 lab2:
557 z->c = c3;
558 { int ret = skip_utf8(z->p, z->c, z->l, 1);
559 if (ret < 0) goto lab1;
560 z->c = ret;
561 }
562 }
563 continue;
564 lab1:
565 z->c = c2;
566 break;
567 }
568 z->c = c1;
569 }
570 { int c8 = z->c;
571 while(1) {
572 int c9 = z->c;
573 while(1) {
574 int c10 = z->c;
575 z->bra = z->c;
576 if (in_grouping_U(z, g_niked, 1456, 1474, 0)) goto lab16;
577 z->ket = z->c;
578 { int ret = slice_del(z);
579 if (ret < 0) return ret;
580 }
581 z->c = c10;
582 break;
583 lab16:
584 z->c = c10;
585 { int ret = skip_utf8(z->p, z->c, z->l, 1);
586 if (ret < 0) goto lab15;
587 z->c = ret;
588 }
589 }
590 continue;
591 lab15:
592 z->c = c9;
593 break;
594 }
595 z->c = c8;
596 }
597 return 1;
598 }
599
r_mark_regions(struct SN_env * z)600 static int r_mark_regions(struct SN_env * z) {
601 z->I[1] = z->l;
602 { int c1 = z->c;
603 { int c2 = z->c;
604 { int c_test3 = z->c;
605 { int c4 = z->c;
606 if (!(eq_s(z, 8, s_19))) goto lab4;
607 goto lab3;
608 lab4:
609 z->c = c4;
610 if (!(eq_s(z, 8, s_20))) goto lab2;
611 }
612 lab3:
613 z->c = c_test3;
614 }
615 goto lab1;
616 lab2:
617 z->c = c2;
618 z->bra = z->c;
619 if (!(eq_s(z, 4, s_21))) { z->c = c1; goto lab0; }
620 z->ket = z->c;
621 { int ret = slice_from_s(z, 2, s_22);
622 if (ret < 0) return ret;
623 }
624 }
625 lab1:
626 lab0:
627 ;
628 }
629 { int c5 = z->c;
630 if (!(find_among(z, a_0, 40))) { z->c = c5; goto lab5; }
631 { int c6 = z->c;
632 { int c_test7 = z->c;
633 { int c8 = z->c;
634 if (!(eq_s(z, 8, s_23))) goto lab9;
635 goto lab8;
636 lab9:
637 z->c = c8;
638 if (!(eq_s(z, 8, s_24))) goto lab10;
639 goto lab8;
640 lab10:
641 z->c = c8;
642 if (!(eq_s(z, 8, s_25))) goto lab7;
643 }
644 lab8:
645 if (z->c < z->l) goto lab7;
646 z->c = c_test7;
647 }
648 goto lab6;
649 lab7:
650 z->c = c6;
651 { int c_test9 = z->c;
652 if (!(eq_s(z, 8, s_26))) goto lab11;
653 z->c = c_test9;
654 }
655 goto lab6;
656 lab11:
657 z->c = c6;
658 z->bra = z->c;
659 if (!(eq_s(z, 4, s_27))) goto lab12;
660 z->ket = z->c;
661 { int ret = slice_from_s(z, 2, s_28);
662 if (ret < 0) return ret;
663 }
664 goto lab6;
665 lab12:
666 z->c = c6;
667 z->bra = z->c;
668 if (!(eq_s(z, 4, s_29))) { z->c = c5; goto lab5; }
669 z->ket = z->c;
670 { int ret = slice_from_s(z, 3, s_30);
671 if (ret < 0) return ret;
672 }
673 }
674 lab6:
675 lab5:
676 ;
677 }
678 { int c_test10 = z->c;
679 { int ret = skip_utf8(z->p, z->c, z->l, 3);
680 if (ret < 0) return 0;
681 z->c = ret;
682 }
683 z->I[0] = z->c;
684 z->c = c_test10;
685 }
686 { int c11 = z->c;
687 if (z->c + 5 >= z->l || (z->p[z->c + 5] != 169 && z->p[z->c + 5] != 168)) { z->c = c11; goto lab13; }
688 if (!(find_among(z, a_1, 4))) { z->c = c11; goto lab13; }
689 lab13:
690 ;
691 }
692 { int c12 = z->c;
693 if (in_grouping_U(z, g_consonant, 1489, 1520, 0)) goto lab14;
694 if (in_grouping_U(z, g_consonant, 1489, 1520, 0)) goto lab14;
695 if (in_grouping_U(z, g_consonant, 1489, 1520, 0)) goto lab14;
696 z->I[1] = z->c;
697 return 0;
698 lab14:
699 z->c = c12;
700 }
701 if (out_grouping_U(z, g_vowel, 1488, 1522, 1) < 0) return 0;
702 while(1) {
703 if (in_grouping_U(z, g_vowel, 1488, 1522, 0)) goto lab15;
704 continue;
705 lab15:
706 break;
707 }
708 z->I[1] = z->c;
709
710 if (!(z->I[1] < z->I[0])) goto lab16;
711 z->I[1] = z->I[0];
712 lab16:
713 return 1;
714 }
715
r_R1(struct SN_env * z)716 static int r_R1(struct SN_env * z) {
717 if (!(z->I[1] <= z->c)) return 0;
718 return 1;
719 }
720
r_R1plus3(struct SN_env * z)721 static int r_R1plus3(struct SN_env * z) {
722 if (!(z->I[1] <= (z->c + 6))) return 0;
723 return 1;
724 }
725
r_standard_suffix(struct SN_env * z)726 static int r_standard_suffix(struct SN_env * z) {
727 int among_var;
728 { int m1 = z->l - z->c; (void)m1;
729 z->ket = z->c;
730 among_var = find_among_b(z, a_2, 79);
731 if (!(among_var)) goto lab0;
732 z->bra = z->c;
733 switch (among_var) {
734 case 1:
735 { int ret = r_R1(z);
736 if (ret == 0) goto lab0;
737 if (ret < 0) return ret;
738 }
739 { int ret = slice_del(z);
740 if (ret < 0) return ret;
741 }
742 break;
743 case 2:
744 { int ret = r_R1(z);
745 if (ret == 0) goto lab0;
746 if (ret < 0) return ret;
747 }
748 { int ret = slice_from_s(z, 4, s_31);
749 if (ret < 0) return ret;
750 }
751 break;
752 case 3:
753 { int ret = r_R1(z);
754 if (ret == 0) goto lab0;
755 if (ret < 0) return ret;
756 }
757 { int ret = slice_del(z);
758 if (ret < 0) return ret;
759 }
760 { int m2 = z->l - z->c; (void)m2;
761 z->ket = z->c;
762 if (!(eq_s_b(z, 8, s_32))) goto lab1;
763 z->bra = z->c;
764 { int ret = slice_from_s(z, 4, s_33);
765 if (ret < 0) return ret;
766 }
767 goto lab0;
768 lab1:
769 z->c = z->l - m2;
770 }
771 { int m3 = z->l - z->c; (void)m3;
772 z->ket = z->c;
773 if (!(eq_s_b(z, 6, s_34))) goto lab2;
774 z->bra = z->c;
775 { int ret = slice_from_s(z, 6, s_35);
776 if (ret < 0) return ret;
777 }
778 goto lab0;
779 lab2:
780 z->c = z->l - m3;
781 }
782 { int m4 = z->l - z->c; (void)m4;
783 z->ket = z->c;
784 if (!(eq_s_b(z, 6, s_36))) goto lab3;
785 z->bra = z->c;
786 { int ret = slice_from_s(z, 6, s_37);
787 if (ret < 0) return ret;
788 }
789 goto lab0;
790 lab3:
791 z->c = z->l - m4;
792 }
793 { int m5 = z->l - z->c; (void)m5;
794 z->ket = z->c;
795 if (!(eq_s_b(z, 6, s_38))) goto lab4;
796 z->bra = z->c;
797 { int ret = slice_from_s(z, 6, s_39);
798 if (ret < 0) return ret;
799 }
800 goto lab0;
801 lab4:
802 z->c = z->l - m5;
803 }
804 { int m6 = z->l - z->c; (void)m6;
805 z->ket = z->c;
806 if (!(eq_s_b(z, 6, s_40))) goto lab5;
807 z->bra = z->c;
808 { int ret = slice_from_s(z, 6, s_41);
809 if (ret < 0) return ret;
810 }
811 goto lab0;
812 lab5:
813 z->c = z->l - m6;
814 }
815 { int m7 = z->l - z->c; (void)m7;
816 z->ket = z->c;
817 if (!(eq_s_b(z, 6, s_42))) goto lab6;
818 z->bra = z->c;
819 { int ret = slice_from_s(z, 6, s_43);
820 if (ret < 0) return ret;
821 }
822 goto lab0;
823 lab6:
824 z->c = z->l - m7;
825 }
826 { int m8 = z->l - z->c; (void)m8;
827 z->ket = z->c;
828 if (!(eq_s_b(z, 8, s_44))) goto lab7;
829 z->bra = z->c;
830 { int ret = slice_from_s(z, 8, s_45);
831 if (ret < 0) return ret;
832 }
833 goto lab0;
834 lab7:
835 z->c = z->l - m8;
836 }
837 { int m9 = z->l - z->c; (void)m9;
838 z->ket = z->c;
839 if (!(eq_s_b(z, 6, s_46))) goto lab8;
840 z->bra = z->c;
841 { int ret = slice_from_s(z, 6, s_47);
842 if (ret < 0) return ret;
843 }
844 goto lab0;
845 lab8:
846 z->c = z->l - m9;
847 }
848 { int m10 = z->l - z->c; (void)m10;
849 z->ket = z->c;
850 if (!(eq_s_b(z, 8, s_48))) goto lab9;
851 z->bra = z->c;
852 { int ret = slice_from_s(z, 8, s_49);
853 if (ret < 0) return ret;
854 }
855 goto lab0;
856 lab9:
857 z->c = z->l - m10;
858 }
859 { int m11 = z->l - z->c; (void)m11;
860 z->ket = z->c;
861 if (!(eq_s_b(z, 6, s_50))) goto lab10;
862 z->bra = z->c;
863 { int ret = slice_from_s(z, 6, s_51);
864 if (ret < 0) return ret;
865 }
866 goto lab0;
867 lab10:
868 z->c = z->l - m11;
869 }
870 { int m12 = z->l - z->c; (void)m12;
871 z->ket = z->c;
872 if (!(eq_s_b(z, 6, s_52))) goto lab11;
873 z->bra = z->c;
874 { int ret = slice_from_s(z, 6, s_53);
875 if (ret < 0) return ret;
876 }
877 goto lab0;
878 lab11:
879 z->c = z->l - m12;
880 }
881 { int m13 = z->l - z->c; (void)m13;
882 z->ket = z->c;
883 if (!(eq_s_b(z, 8, s_54))) goto lab12;
884 z->bra = z->c;
885 { int ret = slice_from_s(z, 8, s_55);
886 if (ret < 0) return ret;
887 }
888 goto lab0;
889 lab12:
890 z->c = z->l - m13;
891 }
892 { int m14 = z->l - z->c; (void)m14;
893 z->ket = z->c;
894 if (!(eq_s_b(z, 8, s_56))) goto lab13;
895 z->bra = z->c;
896 { int ret = slice_from_s(z, 8, s_57);
897 if (ret < 0) return ret;
898 }
899 goto lab0;
900 lab13:
901 z->c = z->l - m14;
902 }
903 { int m15 = z->l - z->c; (void)m15;
904 z->ket = z->c;
905 if (!(eq_s_b(z, 8, s_58))) goto lab14;
906 z->bra = z->c;
907 { int ret = slice_from_s(z, 8, s_59);
908 if (ret < 0) return ret;
909 }
910 goto lab0;
911 lab14:
912 z->c = z->l - m15;
913 }
914 { int m16 = z->l - z->c; (void)m16;
915 z->ket = z->c;
916 if (!(eq_s_b(z, 8, s_60))) goto lab15;
917 z->bra = z->c;
918 { int ret = slice_from_s(z, 8, s_61);
919 if (ret < 0) return ret;
920 }
921 goto lab0;
922 lab15:
923 z->c = z->l - m16;
924 }
925 { int m17 = z->l - z->c; (void)m17;
926 z->ket = z->c;
927 if (!(eq_s_b(z, 8, s_62))) goto lab16;
928 z->bra = z->c;
929 { int ret = slice_from_s(z, 8, s_63);
930 if (ret < 0) return ret;
931 }
932 goto lab0;
933 lab16:
934 z->c = z->l - m17;
935 }
936 { int m18 = z->l - z->c; (void)m18;
937 z->ket = z->c;
938 if (!(eq_s_b(z, 8, s_64))) goto lab17;
939 z->bra = z->c;
940 { int ret = slice_from_s(z, 8, s_65);
941 if (ret < 0) return ret;
942 }
943 goto lab0;
944 lab17:
945 z->c = z->l - m18;
946 }
947 { int m19 = z->l - z->c; (void)m19;
948 z->ket = z->c;
949 if (!(eq_s_b(z, 8, s_66))) goto lab18;
950 z->bra = z->c;
951 { int ret = slice_from_s(z, 8, s_67);
952 if (ret < 0) return ret;
953 }
954 goto lab0;
955 lab18:
956 z->c = z->l - m19;
957 }
958 { int m20 = z->l - z->c; (void)m20;
959 z->ket = z->c;
960 if (!(eq_s_b(z, 10, s_68))) goto lab19;
961 z->bra = z->c;
962 { int ret = slice_from_s(z, 10, s_69);
963 if (ret < 0) return ret;
964 }
965 goto lab0;
966 lab19:
967 z->c = z->l - m20;
968 }
969 { int m21 = z->l - z->c; (void)m21;
970 z->ket = z->c;
971 if (!(eq_s_b(z, 10, s_70))) goto lab20;
972 z->bra = z->c;
973 { int ret = slice_from_s(z, 10, s_71);
974 if (ret < 0) return ret;
975 }
976 goto lab0;
977 lab20:
978 z->c = z->l - m21;
979 }
980 { int m22 = z->l - z->c; (void)m22;
981 z->ket = z->c;
982 if (!(eq_s_b(z, 10, s_72))) goto lab21;
983 z->bra = z->c;
984 { int ret = slice_from_s(z, 10, s_73);
985 if (ret < 0) return ret;
986 }
987 goto lab0;
988 lab21:
989 z->c = z->l - m22;
990 }
991 { int m23 = z->l - z->c; (void)m23;
992 z->ket = z->c;
993 if (!(eq_s_b(z, 6, s_74))) goto lab22;
994 z->bra = z->c;
995 { int ret = slice_from_s(z, 6, s_75);
996 if (ret < 0) return ret;
997 }
998 goto lab0;
999 lab22:
1000 z->c = z->l - m23;
1001 }
1002 { int m24 = z->l - z->c; (void)m24;
1003 z->ket = z->c;
1004 if (!(eq_s_b(z, 6, s_76))) goto lab23;
1005 z->bra = z->c;
1006 { int ret = slice_from_s(z, 6, s_77);
1007 if (ret < 0) return ret;
1008 }
1009 goto lab0;
1010 lab23:
1011 z->c = z->l - m24;
1012 }
1013 { int m25 = z->l - z->c; (void)m25;
1014 z->ket = z->c;
1015 if (!(eq_s_b(z, 12, s_78))) goto lab24;
1016 z->bra = z->c;
1017 { int ret = slice_from_s(z, 12, s_79);
1018 if (ret < 0) return ret;
1019 }
1020 goto lab0;
1021 lab24:
1022 z->c = z->l - m25;
1023 }
1024 { int m26 = z->l - z->c; (void)m26;
1025 z->ket = z->c;
1026 if (!(eq_s_b(z, 8, s_80))) goto lab25;
1027 z->bra = z->c;
1028 { int ret = slice_from_s(z, 6, s_81);
1029 if (ret < 0) return ret;
1030 }
1031 goto lab0;
1032 lab25:
1033 z->c = z->l - m26;
1034 }
1035 { int m27 = z->l - z->c; (void)m27;
1036 z->ket = z->c;
1037 if (!(eq_s_b(z, 8, s_82))) goto lab26;
1038 z->bra = z->c;
1039 { int ret = slice_from_s(z, 8, s_83);
1040 if (ret < 0) return ret;
1041 }
1042 goto lab0;
1043 lab26:
1044 z->c = z->l - m27;
1045 }
1046 break;
1047 case 4:
1048 { int m28 = z->l - z->c; (void)m28;
1049 { int ret = r_R1(z);
1050 if (ret == 0) goto lab28;
1051 if (ret < 0) return ret;
1052 }
1053 { int ret = slice_del(z);
1054 if (ret < 0) return ret;
1055 }
1056 goto lab27;
1057 lab28:
1058 z->c = z->l - m28;
1059 { int ret = slice_from_s(z, 2, s_84);
1060 if (ret < 0) return ret;
1061 }
1062 }
1063 lab27:
1064 z->ket = z->c;
1065 if (!(eq_s_b(z, 8, s_85))) goto lab0;
1066 { int m29 = z->l - z->c; (void)m29;
1067 if (!(eq_s_b(z, 4, s_86))) { z->c = z->l - m29; goto lab29; }
1068 lab29:
1069 ;
1070 }
1071 z->bra = z->c;
1072 { int ret = slice_from_s(z, 10, s_87);
1073 if (ret < 0) return ret;
1074 }
1075 break;
1076 case 5:
1077 { int ret = slice_from_s(z, 4, s_88);
1078 if (ret < 0) return ret;
1079 }
1080 break;
1081 case 6:
1082 { int ret = slice_from_s(z, 6, s_89);
1083 if (ret < 0) return ret;
1084 }
1085 break;
1086 case 7:
1087 { int ret = slice_from_s(z, 8, s_90);
1088 if (ret < 0) return ret;
1089 }
1090 break;
1091 case 8:
1092 { int ret = slice_from_s(z, 6, s_91);
1093 if (ret < 0) return ret;
1094 }
1095 break;
1096 case 9:
1097 { int ret = slice_from_s(z, 6, s_92);
1098 if (ret < 0) return ret;
1099 }
1100 break;
1101 case 10:
1102 { int ret = slice_from_s(z, 6, s_93);
1103 if (ret < 0) return ret;
1104 }
1105 break;
1106 case 11:
1107 { int ret = slice_from_s(z, 6, s_94);
1108 if (ret < 0) return ret;
1109 }
1110 break;
1111 case 12:
1112 { int ret = slice_from_s(z, 8, s_95);
1113 if (ret < 0) return ret;
1114 }
1115 break;
1116 case 13:
1117 { int ret = slice_from_s(z, 6, s_96);
1118 if (ret < 0) return ret;
1119 }
1120 break;
1121 case 14:
1122 { int ret = slice_from_s(z, 8, s_97);
1123 if (ret < 0) return ret;
1124 }
1125 break;
1126 case 15:
1127 { int ret = slice_from_s(z, 6, s_98);
1128 if (ret < 0) return ret;
1129 }
1130 break;
1131 case 16:
1132 { int ret = slice_from_s(z, 6, s_99);
1133 if (ret < 0) return ret;
1134 }
1135 break;
1136 case 17:
1137 { int ret = slice_from_s(z, 8, s_100);
1138 if (ret < 0) return ret;
1139 }
1140 break;
1141 case 18:
1142 { int ret = slice_from_s(z, 8, s_101);
1143 if (ret < 0) return ret;
1144 }
1145 break;
1146 case 19:
1147 { int ret = slice_from_s(z, 8, s_102);
1148 if (ret < 0) return ret;
1149 }
1150 break;
1151 case 20:
1152 { int ret = slice_from_s(z, 8, s_103);
1153 if (ret < 0) return ret;
1154 }
1155 break;
1156 case 21:
1157 { int ret = slice_from_s(z, 8, s_104);
1158 if (ret < 0) return ret;
1159 }
1160 break;
1161 case 22:
1162 { int ret = slice_from_s(z, 8, s_105);
1163 if (ret < 0) return ret;
1164 }
1165 break;
1166 case 23:
1167 { int ret = slice_from_s(z, 10, s_106);
1168 if (ret < 0) return ret;
1169 }
1170 break;
1171 case 24:
1172 { int ret = slice_from_s(z, 10, s_107);
1173 if (ret < 0) return ret;
1174 }
1175 break;
1176 case 25:
1177 { int ret = slice_from_s(z, 10, s_108);
1178 if (ret < 0) return ret;
1179 }
1180 break;
1181 case 26:
1182 { int ret = slice_from_s(z, 6, s_109);
1183 if (ret < 0) return ret;
1184 }
1185 break;
1186 case 27:
1187 { int ret = slice_from_s(z, 6, s_110);
1188 if (ret < 0) return ret;
1189 }
1190 break;
1191 case 28:
1192 { int ret = slice_from_s(z, 12, s_111);
1193 if (ret < 0) return ret;
1194 }
1195 break;
1196 case 29:
1197 { int ret = slice_from_s(z, 6, s_112);
1198 if (ret < 0) return ret;
1199 }
1200 break;
1201 case 30:
1202 { int ret = slice_from_s(z, 8, s_113);
1203 if (ret < 0) return ret;
1204 }
1205 break;
1206 case 31:
1207 { int ret = slice_from_s(z, 10, s_114);
1208 if (ret < 0) return ret;
1209 }
1210 break;
1211 case 32:
1212 { int ret = r_R1(z);
1213 if (ret == 0) goto lab0;
1214 if (ret < 0) return ret;
1215 }
1216 { int ret = slice_from_s(z, 2, s_115);
1217 if (ret < 0) return ret;
1218 }
1219 break;
1220 case 33:
1221 { int m30 = z->l - z->c; (void)m30;
1222 { int m31 = z->l - z->c; (void)m31;
1223 if (!(eq_s_b(z, 2, s_116))) goto lab33;
1224 goto lab32;
1225 lab33:
1226 z->c = z->l - m31;
1227 if (!(eq_s_b(z, 2, s_117))) goto lab31;
1228 }
1229 lab32:
1230 { int m32 = z->l - z->c; (void)m32;
1231 { int ret = r_R1plus3(z);
1232 if (ret == 0) { z->c = z->l - m32; goto lab34; }
1233 if (ret < 0) return ret;
1234 }
1235 { int ret = slice_from_s(z, 4, s_118);
1236 if (ret < 0) return ret;
1237 }
1238 lab34:
1239 ;
1240 }
1241 goto lab30;
1242 lab31:
1243 z->c = z->l - m30;
1244 { int ret = r_R1(z);
1245 if (ret == 0) goto lab0;
1246 if (ret < 0) return ret;
1247 }
1248 { int ret = slice_del(z);
1249 if (ret < 0) return ret;
1250 }
1251 }
1252 lab30:
1253 break;
1254 }
1255 lab0:
1256 z->c = z->l - m1;
1257 }
1258 { int m33 = z->l - z->c; (void)m33;
1259 z->ket = z->c;
1260 if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 4 || !((285474816 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab35;
1261 among_var = find_among_b(z, a_3, 6);
1262 if (!(among_var)) goto lab35;
1263 z->bra = z->c;
1264 switch (among_var) {
1265 case 1:
1266 { int ret = r_R1(z);
1267 if (ret == 0) goto lab35;
1268 if (ret < 0) return ret;
1269 }
1270 { int ret = slice_del(z);
1271 if (ret < 0) return ret;
1272 }
1273 break;
1274 case 2:
1275 { int ret = r_R1(z);
1276 if (ret == 0) goto lab35;
1277 if (ret < 0) return ret;
1278 }
1279 if (in_grouping_b_U(z, g_consonant, 1489, 1520, 0)) goto lab35;
1280 { int ret = slice_del(z);
1281 if (ret < 0) return ret;
1282 }
1283 break;
1284 }
1285 lab35:
1286 z->c = z->l - m33;
1287 }
1288 { int m34 = z->l - z->c; (void)m34;
1289 z->ket = z->c;
1290 among_var = find_among_b(z, a_4, 9);
1291 if (!(among_var)) goto lab36;
1292 z->bra = z->c;
1293 switch (among_var) {
1294 case 1:
1295 { int ret = r_R1(z);
1296 if (ret == 0) goto lab36;
1297 if (ret < 0) return ret;
1298 }
1299 { int ret = slice_del(z);
1300 if (ret < 0) return ret;
1301 }
1302 break;
1303 }
1304 lab36:
1305 z->c = z->l - m34;
1306 }
1307 { int m35 = z->l - z->c; (void)m35;
1308 while(1) {
1309 int m36 = z->l - z->c; (void)m36;
1310 while(1) {
1311 int m37 = z->l - z->c; (void)m37;
1312 z->ket = z->c;
1313 { int m38 = z->l - z->c; (void)m38;
1314 if (!(eq_s_b(z, 2, s_119))) goto lab41;
1315 goto lab40;
1316 lab41:
1317 z->c = z->l - m38;
1318 if (!(eq_s_b(z, 3, s_120))) goto lab39;
1319 }
1320 lab40:
1321 z->bra = z->c;
1322 { int ret = slice_del(z);
1323 if (ret < 0) return ret;
1324 }
1325 z->c = z->l - m37;
1326 break;
1327 lab39:
1328 z->c = z->l - m37;
1329 { int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
1330 if (ret < 0) goto lab38;
1331 z->c = ret;
1332 }
1333 }
1334 continue;
1335 lab38:
1336 z->c = z->l - m36;
1337 break;
1338 }
1339 z->c = z->l - m35;
1340 }
1341 return 1;
1342 }
1343
yiddish_UTF_8_stem(struct SN_env * z)1344 extern int yiddish_UTF_8_stem(struct SN_env * z) {
1345
1346 { int ret = r_prelude(z);
1347 if (ret < 0) return ret;
1348 }
1349 { int c1 = z->c;
1350 { int ret = r_mark_regions(z);
1351 if (ret < 0) return ret;
1352 }
1353 z->c = c1;
1354 }
1355 z->lb = z->c; z->c = z->l;
1356
1357
1358 { int ret = r_standard_suffix(z);
1359 if (ret < 0) return ret;
1360 }
1361 z->c = z->lb;
1362 return 1;
1363 }
1364
yiddish_UTF_8_create_env(void)1365 extern struct SN_env * yiddish_UTF_8_create_env(void) { return SN_create_env(0, 2); }
1366
yiddish_UTF_8_close_env(struct SN_env * z)1367 extern void yiddish_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); }
1368
1369