@@ -124,6 +124,8 @@ static const struct among a_2[5] =
124124/* 4 */ { 4 , s_2_4 , -1 , 2 , 0 }
125125};
126126
127+ static const unsigned char g_c [] = { 119 , 223 , 119 , 1 };
128+
127129static const unsigned char g_v [] = { 17 , 65 , 16 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 48 , 0 , 128 };
128130
129131static const unsigned char g_s_ending [] = { 239 , 254 , 42 , 3 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 16 };
@@ -133,51 +135,51 @@ static const symbol s_1[] = { 'i', 'g' };
133135static const symbol s_2 [] = { 'l' , 0xF8 , 's' };
134136
135137static int r_mark_regions (struct SN_env * z ) { /* forwardmode */
136- z -> I [0 ] = z -> l ; /* $p1 = <integer expression>, line 31 */
137- { int c_test1 = z -> c ; /* test, line 33 */
138- { int ret = z -> c + 3 ; /* hop, line 33 */
138+ z -> I [0 ] = z -> l ; /* $p1 = <integer expression>, line 33 */
139+ { int c_test1 = z -> c ; /* test, line 35 */
140+ { int ret = z -> c + 3 ; /* hop, line 35 */
139141 if (0 > ret || ret > z -> l ) return 0 ;
140142 z -> c = ret ;
141143 }
142- z -> I [1 ] = z -> c ; /* setmark x, line 33 */
144+ z -> I [1 ] = z -> c ; /* setmark x, line 35 */
143145 z -> c = c_test1 ;
144146 }
145- if (out_grouping (z , g_v , 97 , 248 , 1 ) < 0 ) return 0 ; /* goto */ /* grouping v, line 34 */
146- { /* gopast */ /* non v, line 34 */
147+ if (out_grouping (z , g_v , 97 , 248 , 1 ) < 0 ) return 0 ; /* goto */ /* grouping v, line 36 */
148+ { /* gopast */ /* non v, line 36 */
147149 int ret = in_grouping (z , g_v , 97 , 248 , 1 );
148150 if (ret < 0 ) return 0 ;
149151 z -> c += ret ;
150152 }
151- z -> I [0 ] = z -> c ; /* setmark p1, line 34 */
152- /* try, line 35 */
153- if (!(z -> I [0 ] < z -> I [1 ])) goto lab0 ; /* $(<integer expression> < <integer expression>), line 35 */
154- z -> I [0 ] = z -> I [1 ]; /* $p1 = <integer expression>, line 35 */
153+ z -> I [0 ] = z -> c ; /* setmark p1, line 36 */
154+ /* try, line 37 */
155+ if (!(z -> I [0 ] < z -> I [1 ])) goto lab0 ; /* $(<integer expression> < <integer expression>), line 37 */
156+ z -> I [0 ] = z -> I [1 ]; /* $p1 = <integer expression>, line 37 */
155157lab0 :
156158 return 1 ;
157159}
158160
159161static int r_main_suffix (struct SN_env * z ) { /* backwardmode */
160162 int among_var ;
161163
162- { int mlimit1 ; /* setlimit, line 41 */
164+ { int mlimit1 ; /* setlimit, line 43 */
163165 if (z -> c < z -> I [0 ]) return 0 ;
164166 mlimit1 = z -> lb ; z -> lb = z -> I [0 ];
165- z -> ket = z -> c ; /* [, line 41 */
166- if (z -> c <= z -> lb || z -> p [z -> c - 1 ] >> 5 != 3 || !((1851440 >> (z -> p [z -> c - 1 ] & 0x1f )) & 1 )) { z -> lb = mlimit1 ; return 0 ; } /* substring, line 41 */
167+ z -> ket = z -> c ; /* [, line 43 */
168+ if (z -> c <= z -> lb || z -> p [z -> c - 1 ] >> 5 != 3 || !((1851440 >> (z -> p [z -> c - 1 ] & 0x1f )) & 1 )) { z -> lb = mlimit1 ; return 0 ; } /* substring, line 43 */
167169 among_var = find_among_b (z , a_0 , 32 );
168170 if (!(among_var )) { z -> lb = mlimit1 ; return 0 ; }
169- z -> bra = z -> c ; /* ], line 41 */
171+ z -> bra = z -> c ; /* ], line 43 */
170172 z -> lb = mlimit1 ;
171173 }
172- switch (among_var ) { /* among, line 42 */
174+ switch (among_var ) { /* among, line 44 */
173175 case 1 :
174- { int ret = slice_del (z ); /* delete, line 48 */
176+ { int ret = slice_del (z ); /* delete, line 50 */
175177 if (ret < 0 ) return ret ;
176178 }
177179 break ;
178180 case 2 :
179- if (in_grouping_b (z , g_s_ending , 97 , 229 , 0 )) return 0 ; /* grouping s_ending, line 50 */
180- { int ret = slice_del (z ); /* delete, line 50 */
181+ if (in_grouping_b (z , g_s_ending , 97 , 229 , 0 )) return 0 ; /* grouping s_ending, line 52 */
182+ { int ret = slice_del (z ); /* delete, line 52 */
181183 if (ret < 0 ) return ret ;
182184 }
183185 break ;
@@ -186,59 +188,59 @@ static int r_main_suffix(struct SN_env * z) { /* backwardmode */
186188}
187189
188190static int r_consonant_pair (struct SN_env * z ) { /* backwardmode */
189- { int m_test1 = z -> l - z -> c ; /* test, line 55 */
191+ { int m_test1 = z -> l - z -> c ; /* test, line 57 */
190192
191- { int mlimit2 ; /* setlimit, line 56 */
193+ { int mlimit2 ; /* setlimit, line 58 */
192194 if (z -> c < z -> I [0 ]) return 0 ;
193195 mlimit2 = z -> lb ; z -> lb = z -> I [0 ];
194- z -> ket = z -> c ; /* [, line 56 */
195- if (z -> c - 1 <= z -> lb || (z -> p [z -> c - 1 ] != 100 && z -> p [z -> c - 1 ] != 116 )) { z -> lb = mlimit2 ; return 0 ; } /* substring, line 56 */
196+ z -> ket = z -> c ; /* [, line 58 */
197+ if (z -> c - 1 <= z -> lb || (z -> p [z -> c - 1 ] != 100 && z -> p [z -> c - 1 ] != 116 )) { z -> lb = mlimit2 ; return 0 ; } /* substring, line 58 */
196198 if (!(find_among_b (z , a_1 , 4 ))) { z -> lb = mlimit2 ; return 0 ; }
197- z -> bra = z -> c ; /* ], line 56 */
199+ z -> bra = z -> c ; /* ], line 58 */
198200 z -> lb = mlimit2 ;
199201 }
200202 z -> c = z -> l - m_test1 ;
201203 }
202204 if (z -> c <= z -> lb ) return 0 ;
203- z -> c -- ; /* next, line 62 */
204- z -> bra = z -> c ; /* ], line 62 */
205- { int ret = slice_del (z ); /* delete, line 62 */
205+ z -> c -- ; /* next, line 64 */
206+ z -> bra = z -> c ; /* ], line 64 */
207+ { int ret = slice_del (z ); /* delete, line 64 */
206208 if (ret < 0 ) return ret ;
207209 }
208210 return 1 ;
209211}
210212
211213static int r_other_suffix (struct SN_env * z ) { /* backwardmode */
212214 int among_var ;
213- { int m1 = z -> l - z -> c ; (void )m1 ; /* do, line 66 */
214- z -> ket = z -> c ; /* [, line 66 */
215- if (!(eq_s_b (z , 2 , s_0 ))) goto lab0 ; /* literal, line 66 */
216- z -> bra = z -> c ; /* ], line 66 */
217- if (!(eq_s_b (z , 2 , s_1 ))) goto lab0 ; /* literal, line 66 */
218- { int ret = slice_del (z ); /* delete, line 66 */
215+ { int m1 = z -> l - z -> c ; (void )m1 ; /* do, line 68 */
216+ z -> ket = z -> c ; /* [, line 68 */
217+ if (!(eq_s_b (z , 2 , s_0 ))) goto lab0 ; /* literal, line 68 */
218+ z -> bra = z -> c ; /* ], line 68 */
219+ if (!(eq_s_b (z , 2 , s_1 ))) goto lab0 ; /* literal, line 68 */
220+ { int ret = slice_del (z ); /* delete, line 68 */
219221 if (ret < 0 ) return ret ;
220222 }
221223 lab0 :
222224 z -> c = z -> l - m1 ;
223225 }
224226
225- { int mlimit2 ; /* setlimit, line 67 */
227+ { int mlimit2 ; /* setlimit, line 69 */
226228 if (z -> c < z -> I [0 ]) return 0 ;
227229 mlimit2 = z -> lb ; z -> lb = z -> I [0 ];
228- z -> ket = z -> c ; /* [, line 67 */
229- if (z -> c - 1 <= z -> lb || z -> p [z -> c - 1 ] >> 5 != 3 || !((1572992 >> (z -> p [z -> c - 1 ] & 0x1f )) & 1 )) { z -> lb = mlimit2 ; return 0 ; } /* substring, line 67 */
230+ z -> ket = z -> c ; /* [, line 69 */
231+ if (z -> c - 1 <= z -> lb || z -> p [z -> c - 1 ] >> 5 != 3 || !((1572992 >> (z -> p [z -> c - 1 ] & 0x1f )) & 1 )) { z -> lb = mlimit2 ; return 0 ; } /* substring, line 69 */
230232 among_var = find_among_b (z , a_2 , 5 );
231233 if (!(among_var )) { z -> lb = mlimit2 ; return 0 ; }
232- z -> bra = z -> c ; /* ], line 67 */
234+ z -> bra = z -> c ; /* ], line 69 */
233235 z -> lb = mlimit2 ;
234236 }
235- switch (among_var ) { /* among, line 68 */
237+ switch (among_var ) { /* among, line 70 */
236238 case 1 :
237- { int ret = slice_del (z ); /* delete, line 70 */
239+ { int ret = slice_del (z ); /* delete, line 72 */
238240 if (ret < 0 ) return ret ;
239241 }
240- { int m3 = z -> l - z -> c ; (void )m3 ; /* do, line 70 */
241- { int ret = r_consonant_pair (z ); /* call consonant_pair, line 70 */
242+ { int m3 = z -> l - z -> c ; (void )m3 ; /* do, line 72 */
243+ { int ret = r_consonant_pair (z ); /* call consonant_pair, line 72 */
242244 if (ret == 0 ) goto lab1 ;
243245 if (ret < 0 ) return ret ;
244246 }
@@ -247,7 +249,7 @@ static int r_other_suffix(struct SN_env * z) { /* backwardmode */
247249 }
248250 break ;
249251 case 2 :
250- { int ret = slice_from_s (z , 3 , s_2 ); /* <-, line 72 */
252+ { int ret = slice_from_s (z , 3 , s_2 ); /* <-, line 74 */
251253 if (ret < 0 ) return ret ;
252254 }
253255 break ;
@@ -257,60 +259,60 @@ static int r_other_suffix(struct SN_env * z) { /* backwardmode */
257259
258260static int r_undouble (struct SN_env * z ) { /* backwardmode */
259261
260- { int mlimit1 ; /* setlimit, line 76 */
262+ { int mlimit1 ; /* setlimit, line 78 */
261263 if (z -> c < z -> I [0 ]) return 0 ;
262264 mlimit1 = z -> lb ; z -> lb = z -> I [0 ];
263- z -> ket = z -> c ; /* [, line 76 */
264- if (out_grouping_b (z , g_v , 97 , 248 , 0 )) { z -> lb = mlimit1 ; return 0 ; } /* non v , line 76 */
265- z -> bra = z -> c ; /* ], line 76 */
266- z -> S [0 ] = slice_to (z , z -> S [0 ]); /* -> ch, line 76 */
267- if (z -> S [0 ] == 0 ) return -1 ; /* -> ch, line 76 */
265+ z -> ket = z -> c ; /* [, line 78 */
266+ if (in_grouping_b (z , g_c , 98 , 122 , 0 )) { z -> lb = mlimit1 ; return 0 ; } /* grouping c , line 78 */
267+ z -> bra = z -> c ; /* ], line 78 */
268+ z -> S [0 ] = slice_to (z , z -> S [0 ]); /* -> ch, line 78 */
269+ if (z -> S [0 ] == 0 ) return -1 ; /* -> ch, line 78 */
268270 z -> lb = mlimit1 ;
269271 }
270- if (!(eq_v_b (z , z -> S [0 ]))) return 0 ; /* name ch, line 77 */
271- { int ret = slice_del (z ); /* delete, line 78 */
272+ if (!(eq_v_b (z , z -> S [0 ]))) return 0 ; /* name ch, line 79 */
273+ { int ret = slice_del (z ); /* delete, line 80 */
272274 if (ret < 0 ) return ret ;
273275 }
274276 return 1 ;
275277}
276278
277279extern int danish_ISO_8859_1_stem (struct SN_env * z ) { /* forwardmode */
278- { int c1 = z -> c ; /* do, line 84 */
279- { int ret = r_mark_regions (z ); /* call mark_regions, line 84 */
280+ { int c1 = z -> c ; /* do, line 86 */
281+ { int ret = r_mark_regions (z ); /* call mark_regions, line 86 */
280282 if (ret == 0 ) goto lab0 ;
281283 if (ret < 0 ) return ret ;
282284 }
283285 lab0 :
284286 z -> c = c1 ;
285287 }
286- z -> lb = z -> c ; z -> c = z -> l ; /* backwards, line 85 */
288+ z -> lb = z -> c ; z -> c = z -> l ; /* backwards, line 87 */
287289
288- { int m2 = z -> l - z -> c ; (void )m2 ; /* do, line 86 */
289- { int ret = r_main_suffix (z ); /* call main_suffix, line 86 */
290+ { int m2 = z -> l - z -> c ; (void )m2 ; /* do, line 88 */
291+ { int ret = r_main_suffix (z ); /* call main_suffix, line 88 */
290292 if (ret == 0 ) goto lab1 ;
291293 if (ret < 0 ) return ret ;
292294 }
293295 lab1 :
294296 z -> c = z -> l - m2 ;
295297 }
296- { int m3 = z -> l - z -> c ; (void )m3 ; /* do, line 87 */
297- { int ret = r_consonant_pair (z ); /* call consonant_pair, line 87 */
298+ { int m3 = z -> l - z -> c ; (void )m3 ; /* do, line 89 */
299+ { int ret = r_consonant_pair (z ); /* call consonant_pair, line 89 */
298300 if (ret == 0 ) goto lab2 ;
299301 if (ret < 0 ) return ret ;
300302 }
301303 lab2 :
302304 z -> c = z -> l - m3 ;
303305 }
304- { int m4 = z -> l - z -> c ; (void )m4 ; /* do, line 88 */
305- { int ret = r_other_suffix (z ); /* call other_suffix, line 88 */
306+ { int m4 = z -> l - z -> c ; (void )m4 ; /* do, line 90 */
307+ { int ret = r_other_suffix (z ); /* call other_suffix, line 90 */
306308 if (ret == 0 ) goto lab3 ;
307309 if (ret < 0 ) return ret ;
308310 }
309311 lab3 :
310312 z -> c = z -> l - m4 ;
311313 }
312- { int m5 = z -> l - z -> c ; (void )m5 ; /* do, line 89 */
313- { int ret = r_undouble (z ); /* call undouble, line 89 */
314+ { int m5 = z -> l - z -> c ; (void )m5 ; /* do, line 91 */
315+ { int ret = r_undouble (z ); /* call undouble, line 91 */
314316 if (ret == 0 ) goto lab4 ;
315317 if (ret < 0 ) return ret ;
316318 }
0 commit comments