@@ -124,6 +124,8 @@ static const struct among a_2[5] =
124
124
/* 4 */ {4 ,s_2_4 ,-1 ,2 ,0 }
125
125
};
126
126
127
+ static const unsignedchar g_c []= {119 ,223 ,119 ,1 };
128
+
127
129
static const unsignedchar g_v []= {17 ,65 ,16 ,1 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,48 ,0 ,128 };
128
130
129
131
static 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' };
133
135
static const symbol s_2 []= {'l' ,0xF8 ,'s' };
134
136
135
137
static 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 */
139
141
if (0 > ret || ret > z -> l )return 0 ;
140
142
z -> c = ret ;
141
143
}
142
- z -> I [1 ]= z -> c ;/* setmark x, line33 */
144
+ z -> I [1 ]= z -> c ;/* setmark x, line35 */
143
145
z -> c = c_test1 ;
144
146
}
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 */
147
149
int ret = in_grouping (z ,g_v ,97 ,248 ,1 );
148
150
if (ret < 0 )return 0 ;
149
151
z -> c += ret ;
150
152
}
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 */
155
157
lab0 :
156
158
return 1 ;
157
159
}
158
160
159
161
static int r_main_suffix (struct SN_env * z ) {/* backwardmode */
160
162
int among_var ;
161
163
162
- {int mlimit1 ;/* setlimit, line41 */
164
+ {int mlimit1 ;/* setlimit, line43 */
163
165
if (z -> c < z -> I [0 ])return 0 ;
164
166
mlimit1 = 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 */
167
169
among_var = find_among_b (z ,a_0 ,32 );
168
170
if (!(among_var )) {z -> lb = mlimit1 ;return 0 ; }
169
- z -> bra = z -> c ;/* ], line41 */
171
+ z -> bra = z -> c ;/* ], line43 */
170
172
z -> lb = mlimit1 ;
171
173
}
172
- switch (among_var ) {/* among, line42 */
174
+ switch (among_var ) {/* among, line44 */
173
175
case 1 :
174
- {int ret = slice_del (z );/* delete, line48 */
176
+ {int ret = slice_del (z );/* delete, line50 */
175
177
if (ret < 0 )return ret ;
176
178
}
177
179
break ;
178
180
case 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 */
181
183
if (ret < 0 )return ret ;
182
184
}
183
185
break ;
@@ -186,59 +188,59 @@ static int r_main_suffix(struct SN_env * z) { /* backwardmode */
186
188
}
187
189
188
190
static 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 */
190
192
191
- {int mlimit2 ;/* setlimit, line56 */
193
+ {int mlimit2 ;/* setlimit, line58 */
192
194
if (z -> c < z -> I [0 ])return 0 ;
193
195
mlimit2 = 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 */
196
198
if (!(find_among_b (z ,a_1 ,4 ))) {z -> lb = mlimit2 ;return 0 ; }
197
- z -> bra = z -> c ;/* ], line56 */
199
+ z -> bra = z -> c ;/* ], line58 */
198
200
z -> lb = mlimit2 ;
199
201
}
200
202
z -> c = z -> l - m_test1 ;
201
203
}
202
204
if (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 */
206
208
if (ret < 0 )return ret ;
207
209
}
208
210
return 1 ;
209
211
}
210
212
211
213
static int r_other_suffix (struct SN_env * z ) {/* backwardmode */
212
214
int 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 */
219
221
if (ret < 0 )return ret ;
220
222
}
221
223
lab0 :
222
224
z -> c = z -> l - m1 ;
223
225
}
224
226
225
- {int mlimit2 ;/* setlimit, line67 */
227
+ {int mlimit2 ;/* setlimit, line69 */
226
228
if (z -> c < z -> I [0 ])return 0 ;
227
229
mlimit2 = 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 */
230
232
among_var = find_among_b (z ,a_2 ,5 );
231
233
if (!(among_var )) {z -> lb = mlimit2 ;return 0 ; }
232
- z -> bra = z -> c ;/* ], line67 */
234
+ z -> bra = z -> c ;/* ], line69 */
233
235
z -> lb = mlimit2 ;
234
236
}
235
- switch (among_var ) {/* among, line68 */
237
+ switch (among_var ) {/* among, line70 */
236
238
case 1 :
237
- {int ret = slice_del (z );/* delete, line70 */
239
+ {int ret = slice_del (z );/* delete, line72 */
238
240
if (ret < 0 )return ret ;
239
241
}
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 */
242
244
if (ret == 0 ) gotolab1 ;
243
245
if (ret < 0 )return ret ;
244
246
}
@@ -247,7 +249,7 @@ static int r_other_suffix(struct SN_env * z) { /* backwardmode */
247
249
}
248
250
break ;
249
251
case 2 :
250
- {int ret = slice_from_s (z ,3 ,s_2 );/* <-, line72 */
252
+ {int ret = slice_from_s (z ,3 ,s_2 );/* <-, line74 */
251
253
if (ret < 0 )return ret ;
252
254
}
253
255
break ;
@@ -257,60 +259,60 @@ static int r_other_suffix(struct SN_env * z) { /* backwardmode */
257
259
258
260
static int r_undouble (struct SN_env * z ) {/* backwardmode */
259
261
260
- {int mlimit1 ;/* setlimit, line76 */
262
+ {int mlimit1 ;/* setlimit, line78 */
261
263
if (z -> c < z -> I [0 ])return 0 ;
262
264
mlimit1 = 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 */
268
270
z -> lb = mlimit1 ;
269
271
}
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 */
272
274
if (ret < 0 )return ret ;
273
275
}
274
276
return 1 ;
275
277
}
276
278
277
279
extern 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 */
280
282
if (ret == 0 ) gotolab0 ;
281
283
if (ret < 0 )return ret ;
282
284
}
283
285
lab0 :
284
286
z -> c = c1 ;
285
287
}
286
- z -> lb = z -> c ;z -> c = z -> l ;/* backwards, line85 */
288
+ z -> lb = z -> c ;z -> c = z -> l ;/* backwards, line87 */
287
289
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 */
290
292
if (ret == 0 ) gotolab1 ;
291
293
if (ret < 0 )return ret ;
292
294
}
293
295
lab1 :
294
296
z -> c = z -> l - m2 ;
295
297
}
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 */
298
300
if (ret == 0 ) gotolab2 ;
299
301
if (ret < 0 )return ret ;
300
302
}
301
303
lab2 :
302
304
z -> c = z -> l - m3 ;
303
305
}
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 */
306
308
if (ret == 0 ) gotolab3 ;
307
309
if (ret < 0 )return ret ;
308
310
}
309
311
lab3 :
310
312
z -> c = z -> l - m4 ;
311
313
}
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 */
314
316
if (ret == 0 ) gotolab4 ;
315
317
if (ret < 0 )return ret ;
316
318
}