@@ -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 unsignedchar g_c []= {119 ,223 ,119 ,1 };
128+
127129static const unsignedchar g_v []= {17 ,65 ,16 ,1 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,48 ,0 ,128 };
128130
129131static const unsignedchar 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>, line31 */
137- {int c_test1 = z -> c ;/* test, line33 */
138- {int ret = z -> c + 3 ;/* hop, line33 */
138+ z -> I [0 ]= z -> l ;/* $p1 = <integer expression>, line33 */
139+ {int c_test1 = z -> c ;/* test, line35 */
140+ {int ret = z -> c + 3 ;/* hop, line35 */
139141if (0 > ret || ret > z -> l )return 0 ;
140142z -> c = ret ;
141143 }
142- z -> I [1 ]= z -> c ;/* setmark x, line33 */
144+ z -> I [1 ]= z -> c ;/* setmark x, line35 */
143145z -> c = c_test1 ;
144146 }
145- if (out_grouping (z ,g_v ,97 ,248 ,1 )< 0 )return 0 ;/* goto */ /* grouping v, line34 */
146- {/* gopast */ /* non v, line34 */
147+ if (out_grouping (z ,g_v ,97 ,248 ,1 )< 0 )return 0 ;/* goto */ /* grouping v, line36 */
148+ {/* gopast */ /* non v, line36 */
147149int ret = in_grouping (z ,g_v ,97 ,248 ,1 );
148150if (ret < 0 )return 0 ;
149151z -> c += ret ;
150152 }
151- z -> I [0 ]= z -> c ;/* setmark p1, line34 */
152- /* try, line35 */
153- if (!(z -> I [0 ]< z -> I [1 ])) gotolab0 ;/* $(<integer expression> < <integer expression>), line35 */
154- z -> I [0 ]= z -> I [1 ];/* $p1 = <integer expression>, line35 */
153+ z -> I [0 ]= z -> c ;/* setmark p1, line36 */
154+ /* try, line37 */
155+ if (!(z -> I [0 ]< z -> I [1 ])) gotolab0 ;/* $(<integer expression> < <integer expression>), line37 */
156+ z -> I [0 ]= z -> I [1 ];/* $p1 = <integer expression>, line37 */
155157lab0 :
156158return 1 ;
157159}
158160
159161static int r_main_suffix (struct SN_env * z ) {/* backwardmode */
160162int among_var ;
161163
162- {int mlimit1 ;/* setlimit, line41 */
164+ {int mlimit1 ;/* setlimit, line43 */
163165if (z -> c < z -> I [0 ])return 0 ;
164166mlimit1 = z -> lb ;z -> lb = z -> I [0 ];
165- z -> ket = z -> c ;/* [, line41 */
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, line41 */
167+ z -> ket = z -> c ;/* [, line43 */
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, line43 */
167169among_var = find_among_b (z ,a_0 ,32 );
168170if (!(among_var )) {z -> lb = mlimit1 ;return 0 ; }
169- z -> bra = z -> c ;/* ], line41 */
171+ z -> bra = z -> c ;/* ], line43 */
170172z -> lb = mlimit1 ;
171173 }
172- switch (among_var ) {/* among, line42 */
174+ switch (among_var ) {/* among, line44 */
173175case 1 :
174- {int ret = slice_del (z );/* delete, line48 */
176+ {int ret = slice_del (z );/* delete, line50 */
175177if (ret < 0 )return ret ;
176178 }
177179break ;
178180case 2 :
179- if (in_grouping_b (z ,g_s_ending ,97 ,229 ,0 ))return 0 ;/* grouping s_ending, line50 */
180- {int ret = slice_del (z );/* delete, line50 */
181+ if (in_grouping_b (z ,g_s_ending ,97 ,229 ,0 ))return 0 ;/* grouping s_ending, line52 */
182+ {int ret = slice_del (z );/* delete, line52 */
181183if (ret < 0 )return ret ;
182184 }
183185break ;
@@ -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, line55 */
191+ {int m_test1 = z -> l - z -> c ;/* test, line57 */
190192
191- {int mlimit2 ;/* setlimit, line56 */
193+ {int mlimit2 ;/* setlimit, line58 */
192194if (z -> c < z -> I [0 ])return 0 ;
193195mlimit2 = z -> lb ;z -> lb = z -> I [0 ];
194- z -> ket = z -> c ;/* [, line56 */
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, line56 */
196+ z -> ket = z -> c ;/* [, line58 */
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, line58 */
196198if (!(find_among_b (z ,a_1 ,4 ))) {z -> lb = mlimit2 ;return 0 ; }
197- z -> bra = z -> c ;/* ], line56 */
199+ z -> bra = z -> c ;/* ], line58 */
198200z -> lb = mlimit2 ;
199201 }
200202z -> c = z -> l - m_test1 ;
201203 }
202204if (z -> c <=z -> lb )return 0 ;
203- z -> c -- ;/* next, line62 */
204- z -> bra = z -> c ;/* ], line62 */
205- {int ret = slice_del (z );/* delete, line62 */
205+ z -> c -- ;/* next, line64 */
206+ z -> bra = z -> c ;/* ], line64 */
207+ {int ret = slice_del (z );/* delete, line64 */
206208if (ret < 0 )return ret ;
207209 }
208210return 1 ;
209211}
210212
211213static int r_other_suffix (struct SN_env * z ) {/* backwardmode */
212214int among_var ;
213- {int m1 = z -> l - z -> c ; (void )m1 ;/* do, line66 */
214- z -> ket = z -> c ;/* [, line66 */
215- if (!(eq_s_b (z ,2 ,s_0 ))) gotolab0 ;/* literal, line66 */
216- z -> bra = z -> c ;/* ], line66 */
217- if (!(eq_s_b (z ,2 ,s_1 ))) gotolab0 ;/* literal, line66 */
218- {int ret = slice_del (z );/* delete, line66 */
215+ {int m1 = z -> l - z -> c ; (void )m1 ;/* do, line68 */
216+ z -> ket = z -> c ;/* [, line68 */
217+ if (!(eq_s_b (z ,2 ,s_0 ))) gotolab0 ;/* literal, line68 */
218+ z -> bra = z -> c ;/* ], line68 */
219+ if (!(eq_s_b (z ,2 ,s_1 ))) gotolab0 ;/* literal, line68 */
220+ {int ret = slice_del (z );/* delete, line68 */
219221if (ret < 0 )return ret ;
220222 }
221223lab0 :
222224z -> c = z -> l - m1 ;
223225 }
224226
225- {int mlimit2 ;/* setlimit, line67 */
227+ {int mlimit2 ;/* setlimit, line69 */
226228if (z -> c < z -> I [0 ])return 0 ;
227229mlimit2 = z -> lb ;z -> lb = z -> I [0 ];
228- z -> ket = z -> c ;/* [, line67 */
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, line67 */
230+ z -> ket = z -> c ;/* [, line69 */
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, line69 */
230232among_var = find_among_b (z ,a_2 ,5 );
231233if (!(among_var )) {z -> lb = mlimit2 ;return 0 ; }
232- z -> bra = z -> c ;/* ], line67 */
234+ z -> bra = z -> c ;/* ], line69 */
233235z -> lb = mlimit2 ;
234236 }
235- switch (among_var ) {/* among, line68 */
237+ switch (among_var ) {/* among, line70 */
236238case 1 :
237- {int ret = slice_del (z );/* delete, line70 */
239+ {int ret = slice_del (z );/* delete, line72 */
238240if (ret < 0 )return ret ;
239241 }
240- {int m3 = z -> l - z -> c ; (void )m3 ;/* do, line70 */
241- {int ret = r_consonant_pair (z );/* call consonant_pair, line70 */
242+ {int m3 = z -> l - z -> c ; (void )m3 ;/* do, line72 */
243+ {int ret = r_consonant_pair (z );/* call consonant_pair, line72 */
242244if (ret == 0 ) gotolab1 ;
243245if (ret < 0 )return ret ;
244246 }
@@ -247,7 +249,7 @@ static int r_other_suffix(struct SN_env * z) { /* backwardmode */
247249 }
248250break ;
249251case 2 :
250- {int ret = slice_from_s (z ,3 ,s_2 );/* <-, line72 */
252+ {int ret = slice_from_s (z ,3 ,s_2 );/* <-, line74 */
251253if (ret < 0 )return ret ;
252254 }
253255break ;
@@ -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, line76 */
262+ {int mlimit1 ;/* setlimit, line78 */
261263if (z -> c < z -> I [0 ])return 0 ;
262264mlimit1 = z -> lb ;z -> lb = z -> I [0 ];
263- z -> ket = z -> c ;/* [, line76 */
264- if (out_grouping_b (z ,g_v , 97 , 248 ,0 )) {z -> lb = mlimit1 ;return 0 ; }/*non v , line76 */
265- z -> bra = z -> c ;/* ], line76 */
266- z -> S [0 ]= slice_to (z ,z -> S [0 ]);/* -> ch, line76 */
267- if (z -> S [0 ]== 0 )return -1 ;/* -> ch, line76 */
265+ z -> ket = z -> c ;/* [, line78 */
266+ if (in_grouping_b (z ,g_c , 98 , 122 ,0 )) {z -> lb = mlimit1 ;return 0 ; }/*grouping c , line78 */
267+ z -> bra = z -> c ;/* ], line78 */
268+ z -> S [0 ]= slice_to (z ,z -> S [0 ]);/* -> ch, line78 */
269+ if (z -> S [0 ]== 0 )return -1 ;/* -> ch, line78 */
268270z -> lb = mlimit1 ;
269271 }
270- if (!(eq_v_b (z ,z -> S [0 ])))return 0 ;/* name ch, line77 */
271- {int ret = slice_del (z );/* delete, line78 */
272+ if (!(eq_v_b (z ,z -> S [0 ])))return 0 ;/* name ch, line79 */
273+ {int ret = slice_del (z );/* delete, line80 */
272274if (ret < 0 )return ret ;
273275 }
274276return 1 ;
275277}
276278
277279extern int danish_ISO_8859_1_stem (struct SN_env * z ) {/* forwardmode */
278- {int c1 = z -> c ;/* do, line84 */
279- {int ret = r_mark_regions (z );/* call mark_regions, line84 */
280+ {int c1 = z -> c ;/* do, line86 */
281+ {int ret = r_mark_regions (z );/* call mark_regions, line86 */
280282if (ret == 0 ) gotolab0 ;
281283if (ret < 0 )return ret ;
282284 }
283285lab0 :
284286z -> c = c1 ;
285287 }
286- z -> lb = z -> c ;z -> c = z -> l ;/* backwards, line85 */
288+ z -> lb = z -> c ;z -> c = z -> l ;/* backwards, line87 */
287289
288- {int m2 = z -> l - z -> c ; (void )m2 ;/* do, line86 */
289- {int ret = r_main_suffix (z );/* call main_suffix, line86 */
290+ {int m2 = z -> l - z -> c ; (void )m2 ;/* do, line88 */
291+ {int ret = r_main_suffix (z );/* call main_suffix, line88 */
290292if (ret == 0 ) gotolab1 ;
291293if (ret < 0 )return ret ;
292294 }
293295lab1 :
294296z -> c = z -> l - m2 ;
295297 }
296- {int m3 = z -> l - z -> c ; (void )m3 ;/* do, line87 */
297- {int ret = r_consonant_pair (z );/* call consonant_pair, line87 */
298+ {int m3 = z -> l - z -> c ; (void )m3 ;/* do, line89 */
299+ {int ret = r_consonant_pair (z );/* call consonant_pair, line89 */
298300if (ret == 0 ) gotolab2 ;
299301if (ret < 0 )return ret ;
300302 }
301303lab2 :
302304z -> c = z -> l - m3 ;
303305 }
304- {int m4 = z -> l - z -> c ; (void )m4 ;/* do, line88 */
305- {int ret = r_other_suffix (z );/* call other_suffix, line88 */
306+ {int m4 = z -> l - z -> c ; (void )m4 ;/* do, line90 */
307+ {int ret = r_other_suffix (z );/* call other_suffix, line90 */
306308if (ret == 0 ) gotolab3 ;
307309if (ret < 0 )return ret ;
308310 }
309311lab3 :
310312z -> c = z -> l - m4 ;
311313 }
312- {int m5 = z -> l - z -> c ; (void )m5 ;/* do, line89 */
313- {int ret = r_undouble (z );/* call undouble, line89 */
314+ {int m5 = z -> l - z -> c ; (void )m5 ;/* do, line91 */
315+ {int ret = r_undouble (z );/* call undouble, line91 */
314316if (ret == 0 ) gotolab4 ;
315317if (ret < 0 )return ret ;
316318 }