xapian-core  1.4.20
french.cc
Go to the documentation of this file.
1 /* Generated by Snowball 2.0.0 - https://snowballstem.org/ */
2 
3 
4 #include <config.h>
5 #include <limits.h>
6 #include "french.h"
7 
8 static const symbol s_pool[] = {
9 #define s_0_0 0
10 'c', 'o', 'l',
11 #define s_0_1 3
12 'p', 'a', 'r',
13 #define s_0_2 6
14 't', 'a', 'p',
15 #define s_1_1 9
16 'I',
17 #define s_1_2 10
18 'U',
19 #define s_1_3 11
20 'Y',
21 #define s_2_0 12
22 'i', 'q', 'U',
23 #define s_2_1 15
24 'a', 'b', 'l',
25 #define s_2_2 18
26 'I', 0xC3, 0xA8, 'r',
27 #define s_2_3 22
28 'i', 0xC3, 0xA8, 'r',
29 #define s_2_4 26
30 'e', 'u', 's',
31 #define s_2_5 29
32 'i', 'v',
33 #define s_3_0 31
34 'i', 'c',
35 #define s_3_1 33
36 'a', 'b', 'i', 'l',
37 #define s_3_2 37
38 'i', 'v',
39 #define s_4_0 s_4_15
40 #define s_4_1 s_4_16
41 #define s_4_2 s_4_17
42 #define s_4_3 s_4_18
43 #define s_4_4 s_4_19
44 #define s_4_5 s_4_20
45 #define s_4_6 s_4_21
46 #define s_4_7 s_4_22
47 #define s_4_8 s_4_23
48 #define s_4_9 s_4_24
49 #define s_4_10 s_4_25
50 #define s_4_11 s_4_26
51 #define s_4_12 s_4_27
52 #define s_4_13 s_4_28
53 #define s_4_14 s_4_29
54 #define s_4_15 39
55 'i', 'q', 'U', 'e', 's',
56 #define s_4_16 44
57 'a', 't', 'r', 'i', 'c', 'e', 's',
58 #define s_4_17 51
59 'a', 'n', 'c', 'e', 's',
60 #define s_4_18 56
61 'e', 'n', 'c', 'e', 's',
62 #define s_4_19 61
63 'l', 'o', 'g', 'i', 'e', 's',
64 #define s_4_20 67
65 'a', 'b', 'l', 'e', 's',
66 #define s_4_21 72
67 'i', 's', 'm', 'e', 's',
68 #define s_4_22 77
69 'e', 'u', 's', 'e', 's',
70 #define s_4_23 82
71 'i', 's', 't', 'e', 's',
72 #define s_4_24 87
73 'i', 'v', 'e', 's',
74 #define s_4_25 91
75 'i', 'f', 's',
76 #define s_4_26 94
77 'u', 's', 'i', 'o', 'n', 's',
78 #define s_4_27 100
79 'a', 't', 'i', 'o', 'n', 's',
80 #define s_4_28 106
81 'u', 't', 'i', 'o', 'n', 's',
82 #define s_4_29 112
83 'a', 't', 'e', 'u', 'r', 's',
84 #define s_4_30 (s_4_31 + 1)
85 #define s_4_31 (s_4_32 + 3)
86 #define s_4_32 118
87 'i', 's', 's', 'e', 'm', 'e', 'n', 't', 's',
88 #define s_4_33 127
89 'i', 't', 0xC3, 0xA9, 's',
90 #define s_4_34 s_4_30
91 #define s_4_35 s_4_31
92 #define s_4_36 s_4_32
93 #define s_4_37 132
94 'a', 'm', 'm', 'e', 'n', 't',
95 #define s_4_38 138
96 'e', 'm', 'm', 'e', 'n', 't',
97 #define s_4_39 (s_4_40 + 1)
98 #define s_4_40 144
99 'e', 'a', 'u', 'x',
100 #define s_4_41 148
101 'e', 'u', 'x',
102 #define s_4_42 s_4_33
103 #define s_5_0 s_5_5
104 #define s_5_1 s_5_8
105 #define s_5_2 s_5_10
106 #define s_5_3 s_5_11
107 #define s_5_4 s_5_0
108 #define s_5_5 s_5_14
109 #define s_5_6 s_5_0
110 #define s_5_7 151
111 'i', 'r', 'a', 's',
112 #define s_5_8 155
113 'i', 'e', 's',
114 #define s_5_9 158
115 0xC3, 0xAE, 'm', 'e', 's',
116 #define s_5_10 163
117 'i', 's', 's', 'e', 's',
118 #define s_5_11 168
119 'i', 's', 's', 'a', 'n', 't', 'e', 's',
120 #define s_5_12 176
121 0xC3, 0xAE, 't', 'e', 's',
122 #define s_5_13 s_5_2
123 #define s_5_14 181
124 'i', 'r', 'a', 'i', 's',
125 #define s_5_15 186
126 'i', 's', 's', 'a', 'i', 's',
127 #define s_5_16 192
128 'i', 'r', 'i', 'o', 'n', 's',
129 #define s_5_17 198
130 'i', 's', 's', 'i', 'o', 'n', 's',
131 #define s_5_18 205
132 'i', 'r', 'o', 'n', 's',
133 #define s_5_19 210
134 'i', 's', 's', 'o', 'n', 's',
135 #define s_5_20 216
136 'i', 's', 's', 'a', 'n', 't', 's',
137 #define s_5_21 (s_5_22 + 3)
138 #define s_5_22 223
139 'i', 'r', 'a', 'i', 't',
140 #define s_5_23 228
141 'i', 's', 's', 'a', 'i', 't',
142 #define s_5_24 s_5_3
143 #define s_5_25 234
144 'i', 'r', 'a', 'I', 'e', 'n', 't',
145 #define s_5_26 241
146 'i', 's', 's', 'a', 'I', 'e', 'n', 't',
147 #define s_5_27 249
148 'i', 'r', 'e', 'n', 't',
149 #define s_5_28 254
150 'i', 's', 's', 'e', 'n', 't',
151 #define s_5_29 260
152 'i', 'r', 'o', 'n', 't',
153 #define s_5_30 s_5_12
154 #define s_5_31 265
155 'i', 'r', 'i', 'e', 'z',
156 #define s_5_32 270
157 'i', 's', 's', 'i', 'e', 'z',
158 #define s_5_33 276
159 'i', 'r', 'e', 'z',
160 #define s_5_34 280
161 'i', 's', 's', 'e', 'z',
162 #define s_6_0 (s_6_1 + 2)
163 #define s_6_1 s_6_6
164 #define s_6_2 s_6_11
165 #define s_6_3 s_6_12
166 #define s_6_4 s_6_14
167 #define s_6_5 (s_6_6 + 2)
168 #define s_6_6 s_6_16
169 #define s_6_7 s_6_1
170 #define s_6_8 s_6_2
171 #define s_6_9 285
172 'e', 'r', 'a', 's',
173 #define s_6_10 289
174 0xC3, 0xA2, 'm', 'e', 's',
175 #define s_6_11 294
176 'a', 's', 's', 'e', 's',
177 #define s_6_12 299
178 'a', 'n', 't', 'e', 's',
179 #define s_6_13 304
180 0xC3, 0xA2, 't', 'e', 's',
181 #define s_6_14 309
182 0xC3, 0xA9, 'e', 's',
183 #define s_6_15 (s_6_16 + 2)
184 #define s_6_16 313
185 'e', 'r', 'a', 'i', 's',
186 #define s_6_17 (s_6_18 + 2)
187 #define s_6_18 318
188 'e', 'r', 'i', 'o', 'n', 's',
189 #define s_6_19 324
190 'a', 's', 's', 'i', 'o', 'n', 's',
191 #define s_6_20 331
192 'e', 'r', 'o', 'n', 's',
193 #define s_6_21 336
194 'a', 'n', 't', 's',
195 #define s_6_22 340
196 0xC3, 0xA9, 's',
197 #define s_6_23 (s_6_24 + 2)
198 #define s_6_24 343
199 'e', 'r', 'a', 'i', 't',
200 #define s_6_25 s_6_3
201 #define s_6_26 (s_6_27 + 2)
202 #define s_6_27 348
203 'e', 'r', 'a', 'I', 'e', 'n', 't',
204 #define s_6_28 355
205 0xC3, 0xA8, 'r', 'e', 'n', 't',
206 #define s_6_29 361
207 'a', 's', 's', 'e', 'n', 't',
208 #define s_6_30 367
209 'e', 'r', 'o', 'n', 't',
210 #define s_6_31 s_6_13
211 #define s_6_32 (s_6_33 + 1)
212 #define s_6_33 (s_6_34 + 2)
213 #define s_6_34 372
214 'e', 'r', 'i', 'e', 'z',
215 #define s_6_35 377
216 'a', 's', 's', 'i', 'e', 'z',
217 #define s_6_36 383
218 'e', 'r', 'e', 'z',
219 #define s_6_37 s_6_4
220 #define s_7_0 (s_7_1 + 4)
221 #define s_7_1 387
222 'I', 0xC3, 0xA8, 'r', 'e',
223 #define s_7_2 392
224 'i', 0xC3, 0xA8, 'r', 'e',
225 #define s_7_3 397
226 'i', 'o', 'n',
227 #define s_7_4 400
228 'I', 'e', 'r',
229 #define s_7_5 403
230 'i', 'e', 'r',
231 #define s_7_6 406
232 0xC3, 0xAB,
233 #define s_8_0 408
234 'e', 'l', 'l',
235 #define s_8_1 411
236 'e', 'i', 'l', 'l',
237 #define s_8_2 415
238 'e', 'n', 'n',
239 #define s_8_3 418
240 'o', 'n', 'n',
241 #define s_8_4 421
242 'e', 't', 't',
243 };
244 
245 
246 static const struct among a_0[3] =
247 {
248 /* 0 */ { 3, s_0_0, -1, -1},
249 /* 1 */ { 3, s_0_1, -1, -1},
250 /* 2 */ { 3, s_0_2, -1, -1}
251 };
252 
253 
254 static const struct among a_1[4] =
255 {
256 /* 0 */ { 0, 0, -1, 4},
257 /* 1 */ { 1, s_1_1, 0, 1},
258 /* 2 */ { 1, s_1_2, 0, 2},
259 /* 3 */ { 1, s_1_3, 0, 3}
260 };
261 
262 
263 static const struct among a_2[6] =
264 {
265 /* 0 */ { 3, s_2_0, -1, 3},
266 /* 1 */ { 3, s_2_1, -1, 3},
267 /* 2 */ { 4, s_2_2, -1, 4},
268 /* 3 */ { 4, s_2_3, -1, 4},
269 /* 4 */ { 3, s_2_4, -1, 2},
270 /* 5 */ { 2, s_2_5, -1, 1}
271 };
272 
273 
274 static const struct among a_3[3] =
275 {
276 /* 0 */ { 2, s_3_0, -1, 2},
277 /* 1 */ { 4, s_3_1, -1, 1},
278 /* 2 */ { 2, s_3_2, -1, 3}
279 };
280 
281 
282 static const struct among a_4[43] =
283 {
284 /* 0 */ { 4, s_4_0, -1, 1},
285 /* 1 */ { 6, s_4_1, -1, 2},
286 /* 2 */ { 4, s_4_2, -1, 1},
287 /* 3 */ { 4, s_4_3, -1, 5},
288 /* 4 */ { 5, s_4_4, -1, 3},
289 /* 5 */ { 4, s_4_5, -1, 1},
290 /* 6 */ { 4, s_4_6, -1, 1},
291 /* 7 */ { 4, s_4_7, -1, 11},
292 /* 8 */ { 4, s_4_8, -1, 1},
293 /* 9 */ { 3, s_4_9, -1, 8},
294 /* 10 */ { 2, s_4_10, -1, 8},
295 /* 11 */ { 5, s_4_11, -1, 4},
296 /* 12 */ { 5, s_4_12, -1, 2},
297 /* 13 */ { 5, s_4_13, -1, 4},
298 /* 14 */ { 5, s_4_14, -1, 2},
299 /* 15 */ { 5, s_4_15, -1, 1},
300 /* 16 */ { 7, s_4_16, -1, 2},
301 /* 17 */ { 5, s_4_17, -1, 1},
302 /* 18 */ { 5, s_4_18, -1, 5},
303 /* 19 */ { 6, s_4_19, -1, 3},
304 /* 20 */ { 5, s_4_20, -1, 1},
305 /* 21 */ { 5, s_4_21, -1, 1},
306 /* 22 */ { 5, s_4_22, -1, 11},
307 /* 23 */ { 5, s_4_23, -1, 1},
308 /* 24 */ { 4, s_4_24, -1, 8},
309 /* 25 */ { 3, s_4_25, -1, 8},
310 /* 26 */ { 6, s_4_26, -1, 4},
311 /* 27 */ { 6, s_4_27, -1, 2},
312 /* 28 */ { 6, s_4_28, -1, 4},
313 /* 29 */ { 6, s_4_29, -1, 2},
314 /* 30 */ { 5, s_4_30, -1, 15},
315 /* 31 */ { 6, s_4_31, 30, 6},
316 /* 32 */ { 9, s_4_32, 31, 12},
317 /* 33 */ { 5, s_4_33, -1, 7},
318 /* 34 */ { 4, s_4_34, -1, 15},
319 /* 35 */ { 5, s_4_35, 34, 6},
320 /* 36 */ { 8, s_4_36, 35, 12},
321 /* 37 */ { 6, s_4_37, 34, 13},
322 /* 38 */ { 6, s_4_38, 34, 14},
323 /* 39 */ { 3, s_4_39, -1, 10},
324 /* 40 */ { 4, s_4_40, 39, 9},
325 /* 41 */ { 3, s_4_41, -1, 1},
326 /* 42 */ { 4, s_4_42, -1, 7}
327 };
328 
329 
330 static const struct among a_5[35] =
331 {
332 /* 0 */ { 3, s_5_0, -1, 1},
333 /* 1 */ { 2, s_5_1, -1, 1},
334 /* 2 */ { 4, s_5_2, -1, 1},
335 /* 3 */ { 7, s_5_3, -1, 1},
336 /* 4 */ { 1, s_5_4, -1, 1},
337 /* 5 */ { 4, s_5_5, 4, 1},
338 /* 6 */ { 2, s_5_6, -1, 1},
339 /* 7 */ { 4, s_5_7, -1, 1},
340 /* 8 */ { 3, s_5_8, -1, 1},
341 /* 9 */ { 5, s_5_9, -1, 1},
342 /* 10 */ { 5, s_5_10, -1, 1},
343 /* 11 */ { 8, s_5_11, -1, 1},
344 /* 12 */ { 5, s_5_12, -1, 1},
345 /* 13 */ { 2, s_5_13, -1, 1},
346 /* 14 */ { 5, s_5_14, 13, 1},
347 /* 15 */ { 6, s_5_15, 13, 1},
348 /* 16 */ { 6, s_5_16, -1, 1},
349 /* 17 */ { 7, s_5_17, -1, 1},
350 /* 18 */ { 5, s_5_18, -1, 1},
351 /* 19 */ { 6, s_5_19, -1, 1},
352 /* 20 */ { 7, s_5_20, -1, 1},
353 /* 21 */ { 2, s_5_21, -1, 1},
354 /* 22 */ { 5, s_5_22, 21, 1},
355 /* 23 */ { 6, s_5_23, 21, 1},
356 /* 24 */ { 6, s_5_24, -1, 1},
357 /* 25 */ { 7, s_5_25, -1, 1},
358 /* 26 */ { 8, s_5_26, -1, 1},
359 /* 27 */ { 5, s_5_27, -1, 1},
360 /* 28 */ { 6, s_5_28, -1, 1},
361 /* 29 */ { 5, s_5_29, -1, 1},
362 /* 30 */ { 3, s_5_30, -1, 1},
363 /* 31 */ { 5, s_5_31, -1, 1},
364 /* 32 */ { 6, s_5_32, -1, 1},
365 /* 33 */ { 4, s_5_33, -1, 1},
366 /* 34 */ { 5, s_5_34, -1, 1}
367 };
368 
369 
370 static const struct among a_6[38] =
371 {
372 /* 0 */ { 1, s_6_0, -1, 3},
373 /* 1 */ { 3, s_6_1, 0, 2},
374 /* 2 */ { 4, s_6_2, -1, 3},
375 /* 3 */ { 4, s_6_3, -1, 3},
376 /* 4 */ { 3, s_6_4, -1, 2},
377 /* 5 */ { 2, s_6_5, -1, 3},
378 /* 6 */ { 4, s_6_6, 5, 2},
379 /* 7 */ { 2, s_6_7, -1, 2},
380 /* 8 */ { 2, s_6_8, -1, 3},
381 /* 9 */ { 4, s_6_9, 8, 2},
382 /* 10 */ { 5, s_6_10, -1, 3},
383 /* 11 */ { 5, s_6_11, -1, 3},
384 /* 12 */ { 5, s_6_12, -1, 3},
385 /* 13 */ { 5, s_6_13, -1, 3},
386 /* 14 */ { 4, s_6_14, -1, 2},
387 /* 15 */ { 3, s_6_15, -1, 3},
388 /* 16 */ { 5, s_6_16, 15, 2},
389 /* 17 */ { 4, s_6_17, -1, 1},
390 /* 18 */ { 6, s_6_18, 17, 2},
391 /* 19 */ { 7, s_6_19, 17, 3},
392 /* 20 */ { 5, s_6_20, -1, 2},
393 /* 21 */ { 4, s_6_21, -1, 3},
394 /* 22 */ { 3, s_6_22, -1, 2},
395 /* 23 */ { 3, s_6_23, -1, 3},
396 /* 24 */ { 5, s_6_24, 23, 2},
397 /* 25 */ { 3, s_6_25, -1, 3},
398 /* 26 */ { 5, s_6_26, -1, 3},
399 /* 27 */ { 7, s_6_27, 26, 2},
400 /* 28 */ { 6, s_6_28, -1, 2},
401 /* 29 */ { 6, s_6_29, -1, 3},
402 /* 30 */ { 5, s_6_30, -1, 2},
403 /* 31 */ { 3, s_6_31, -1, 3},
404 /* 32 */ { 2, s_6_32, -1, 2},
405 /* 33 */ { 3, s_6_33, 32, 2},
406 /* 34 */ { 5, s_6_34, 33, 2},
407 /* 35 */ { 6, s_6_35, 33, 3},
408 /* 36 */ { 4, s_6_36, 32, 2},
409 /* 37 */ { 2, s_6_37, -1, 2}
410 };
411 
412 
413 static const struct among a_7[7] =
414 {
415 /* 0 */ { 1, s_7_0, -1, 3},
416 /* 1 */ { 5, s_7_1, 0, 2},
417 /* 2 */ { 5, s_7_2, 0, 2},
418 /* 3 */ { 3, s_7_3, -1, 1},
419 /* 4 */ { 3, s_7_4, -1, 2},
420 /* 5 */ { 3, s_7_5, -1, 2},
421 /* 6 */ { 2, s_7_6, -1, 4}
422 };
423 
424 
425 static const struct among a_8[5] =
426 {
427 /* 0 */ { 3, s_8_0, -1, -1},
428 /* 1 */ { 4, s_8_1, -1, -1},
429 /* 2 */ { 3, s_8_2, -1, -1},
430 /* 3 */ { 3, s_8_3, -1, -1},
431 /* 4 */ { 3, s_8_4, -1, -1}
432 };
433 
434 static const unsigned char g_v[] = { 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 130, 103, 8, 5 };
435 
436 static const unsigned char g_keep_with_s[] = { 1, 65, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 };
437 
438 static const symbol s_0[] = { 'U' };
439 static const symbol s_1[] = { 'I' };
440 static const symbol s_2[] = { 'Y' };
441 static const symbol s_3[] = { 'Y' };
442 static const symbol s_4[] = { 'U' };
443 static const symbol s_5[] = { 'i' };
444 static const symbol s_6[] = { 'u' };
445 static const symbol s_7[] = { 'y' };
446 static const symbol s_8[] = { 'i', 'c' };
447 static const symbol s_9[] = { 'i', 'q', 'U' };
448 static const symbol s_10[] = { 'l', 'o', 'g' };
449 static const symbol s_11[] = { 'u' };
450 static const symbol s_12[] = { 'e', 'n', 't' };
451 static const symbol s_13[] = { 'a', 't' };
452 static const symbol s_14[] = { 'e', 'u', 'x' };
453 static const symbol s_15[] = { 'i' };
454 static const symbol s_16[] = { 'a', 'b', 'l' };
455 static const symbol s_17[] = { 'i', 'q', 'U' };
456 static const symbol s_18[] = { 'a', 't' };
457 static const symbol s_19[] = { 'i', 'c' };
458 static const symbol s_20[] = { 'i', 'q', 'U' };
459 static const symbol s_21[] = { 'e', 'a', 'u' };
460 static const symbol s_22[] = { 'a', 'l' };
461 static const symbol s_23[] = { 'e', 'u', 'x' };
462 static const symbol s_24[] = { 'a', 'n', 't' };
463 static const symbol s_25[] = { 'e', 'n', 't' };
464 static const symbol s_26[] = { 'i' };
465 static const symbol s_27[] = { 'g', 'u' };
466 static const symbol s_28[] = { 0xC3, 0xA9 };
467 static const symbol s_29[] = { 0xC3, 0xA8 };
468 static const symbol s_30[] = { 'e' };
469 static const symbol s_31[] = { 'i' };
470 static const symbol s_32[] = { 0xC3, 0xA7 };
471 static const symbol s_33[] = { 'c' };
472 
474  while(1) {
475  int c1 = c;
476  while(1) {
477  int c2 = c;
478  { int c3 = c;
479  if (in_grouping_U(g_v, 97, 251, 0)) goto lab3;
480  bra = c;
481  { int c4 = c;
482  if (c == l || p[c] != 'u') goto lab5;
483  c++;
484  ket = c;
485  if (in_grouping_U(g_v, 97, 251, 0)) goto lab5;
486  { int ret = slice_from_s(1, s_0);
487  if (ret < 0) return ret;
488  }
489  goto lab4;
490  lab5:
491  c = c4;
492  if (c == l || p[c] != 'i') goto lab6;
493  c++;
494  ket = c;
495  if (in_grouping_U(g_v, 97, 251, 0)) goto lab6;
496  { int ret = slice_from_s(1, s_1);
497  if (ret < 0) return ret;
498  }
499  goto lab4;
500  lab6:
501  c = c4;
502  if (c == l || p[c] != 'y') goto lab3;
503  c++;
504  ket = c;
505  { int ret = slice_from_s(1, s_2);
506  if (ret < 0) return ret;
507  }
508  }
509  lab4:
510  goto lab2;
511  lab3:
512  c = c3;
513  bra = c;
514  if (c == l || p[c] != 'y') goto lab7;
515  c++;
516  ket = c;
517  if (in_grouping_U(g_v, 97, 251, 0)) goto lab7;
518  { int ret = slice_from_s(1, s_3);
519  if (ret < 0) return ret;
520  }
521  goto lab2;
522  lab7:
523  c = c3;
524  if (c == l || p[c] != 'q') goto lab1;
525  c++;
526  bra = c;
527  if (c == l || p[c] != 'u') goto lab1;
528  c++;
529  ket = c;
530  { int ret = slice_from_s(1, s_4);
531  if (ret < 0) return ret;
532  }
533  }
534  lab2:
535  c = c2;
536  break;
537  lab1:
538  c = c2;
539  { int ret = skip_utf8(p, c, 0, l, 1);
540  if (ret < 0) goto lab0;
541  c = ret;
542  }
543  }
544  continue;
545  lab0:
546  c = c1;
547  break;
548  }
549  return 1;
550 }
551 
553  I_pV = l;
554  I_p1 = l;
555  I_p2 = l;
556  { int c1 = c;
557  { int c2 = c;
558  if (in_grouping_U(g_v, 97, 251, 0)) goto lab2;
559  if (in_grouping_U(g_v, 97, 251, 0)) goto lab2;
560  { int ret = skip_utf8(p, c, 0, l, 1);
561  if (ret < 0) goto lab2;
562  c = ret;
563  }
564  goto lab1;
565  lab2:
566  c = c2;
567  if (c + 2 >= l || p[c + 2] >> 5 != 3 || !((331776 >> (p[c + 2] & 0x1f)) & 1)) goto lab3;
568  if (!(find_among(s_pool, a_0, 3, 0, 0))) goto lab3;
569  goto lab1;
570  lab3:
571  c = c2;
572  { int ret = skip_utf8(p, c, 0, l, 1);
573  if (ret < 0) goto lab0;
574  c = ret;
575  }
576  {
577  int ret = out_grouping_U(g_v, 97, 251, 1);
578  if (ret < 0) goto lab0;
579  c += ret;
580  }
581  }
582  lab1:
583  I_pV = c;
584  lab0:
585  c = c1;
586  }
587  { int c3 = c;
588  {
589  int ret = out_grouping_U(g_v, 97, 251, 1);
590  if (ret < 0) goto lab4;
591  c += ret;
592  }
593  {
594  int ret = in_grouping_U(g_v, 97, 251, 1);
595  if (ret < 0) goto lab4;
596  c += ret;
597  }
598  I_p1 = c;
599  {
600  int ret = out_grouping_U(g_v, 97, 251, 1);
601  if (ret < 0) goto lab4;
602  c += ret;
603  }
604  {
605  int ret = in_grouping_U(g_v, 97, 251, 1);
606  if (ret < 0) goto lab4;
607  c += ret;
608  }
609  I_p2 = c;
610  lab4:
611  c = c3;
612  }
613  return 1;
614 }
615 
617  int among_var;
618  while(1) {
619  int c1 = c;
620  bra = c;
621  if (c >= l || p[c + 0] >> 5 != 2 || !((35652096 >> (p[c + 0] & 0x1f)) & 1)) among_var = 4; else
622  among_var = find_among(s_pool, a_1, 4, 0, 0);
623  if (!(among_var)) goto lab0;
624  ket = c;
625  switch (among_var) {
626  case 1:
627  { int ret = slice_from_s(1, s_5);
628  if (ret < 0) return ret;
629  }
630  break;
631  case 2:
632  { int ret = slice_from_s(1, s_6);
633  if (ret < 0) return ret;
634  }
635  break;
636  case 3:
637  { int ret = slice_from_s(1, s_7);
638  if (ret < 0) return ret;
639  }
640  break;
641  case 4:
642  { int ret = skip_utf8(p, c, 0, l, 1);
643  if (ret < 0) goto lab0;
644  c = ret;
645  }
646  break;
647  }
648  continue;
649  lab0:
650  c = c1;
651  break;
652  }
653  return 1;
654 }
655 
657  if (!(I_pV <= c)) return 0;
658  return 1;
659 }
660 
662  if (!(I_p1 <= c)) return 0;
663  return 1;
664 }
665 
667  if (!(I_p2 <= c)) return 0;
668  return 1;
669 }
670 
672  int among_var;
673  ket = c;
674  among_var = find_among_b(s_pool, a_4, 43, 0, 0);
675  if (!(among_var)) return 0;
676  bra = c;
677  switch (among_var) {
678  case 1:
679  { int ret = r_R2();
680  if (ret <= 0) return ret;
681  }
682  { int ret = slice_del();
683  if (ret < 0) return ret;
684  }
685  break;
686  case 2:
687  { int ret = r_R2();
688  if (ret <= 0) return ret;
689  }
690  { int ret = slice_del();
691  if (ret < 0) return ret;
692  }
693  { int m1 = l - c; (void)m1;
694  ket = c;
695  if (!(eq_s_b(2, s_8))) { c = l - m1; goto lab0; }
696  bra = c;
697  { int m2 = l - c; (void)m2;
698  { int ret = r_R2();
699  if (ret == 0) goto lab2;
700  if (ret < 0) return ret;
701  }
702  { int ret = slice_del();
703  if (ret < 0) return ret;
704  }
705  goto lab1;
706  lab2:
707  c = l - m2;
708  { int ret = slice_from_s(3, s_9);
709  if (ret < 0) return ret;
710  }
711  }
712  lab1:
713  lab0:
714  ;
715  }
716  break;
717  case 3:
718  { int ret = r_R2();
719  if (ret <= 0) return ret;
720  }
721  { int ret = slice_from_s(3, s_10);
722  if (ret < 0) return ret;
723  }
724  break;
725  case 4:
726  { int ret = r_R2();
727  if (ret <= 0) return ret;
728  }
729  { int ret = slice_from_s(1, s_11);
730  if (ret < 0) return ret;
731  }
732  break;
733  case 5:
734  { int ret = r_R2();
735  if (ret <= 0) return ret;
736  }
737  { int ret = slice_from_s(3, s_12);
738  if (ret < 0) return ret;
739  }
740  break;
741  case 6:
742  { int ret = r_RV();
743  if (ret <= 0) return ret;
744  }
745  { int ret = slice_del();
746  if (ret < 0) return ret;
747  }
748  { int m3 = l - c; (void)m3;
749  ket = c;
750  among_var = find_among_b(s_pool, a_2, 6, 0, 0);
751  if (!(among_var)) { c = l - m3; goto lab3; }
752  bra = c;
753  switch (among_var) {
754  case 1:
755  { int ret = r_R2();
756  if (ret == 0) { c = l - m3; goto lab3; }
757  if (ret < 0) return ret;
758  }
759  { int ret = slice_del();
760  if (ret < 0) return ret;
761  }
762  ket = c;
763  if (!(eq_s_b(2, s_13))) { c = l - m3; goto lab3; }
764  bra = c;
765  { int ret = r_R2();
766  if (ret == 0) { c = l - m3; goto lab3; }
767  if (ret < 0) return ret;
768  }
769  { int ret = slice_del();
770  if (ret < 0) return ret;
771  }
772  break;
773  case 2:
774  { int m4 = l - c; (void)m4;
775  { int ret = r_R2();
776  if (ret == 0) goto lab5;
777  if (ret < 0) return ret;
778  }
779  { int ret = slice_del();
780  if (ret < 0) return ret;
781  }
782  goto lab4;
783  lab5:
784  c = l - m4;
785  { int ret = r_R1();
786  if (ret == 0) { c = l - m3; goto lab3; }
787  if (ret < 0) return ret;
788  }
789  { int ret = slice_from_s(3, s_14);
790  if (ret < 0) return ret;
791  }
792  }
793  lab4:
794  break;
795  case 3:
796  { int ret = r_R2();
797  if (ret == 0) { c = l - m3; goto lab3; }
798  if (ret < 0) return ret;
799  }
800  { int ret = slice_del();
801  if (ret < 0) return ret;
802  }
803  break;
804  case 4:
805  { int ret = r_RV();
806  if (ret == 0) { c = l - m3; goto lab3; }
807  if (ret < 0) return ret;
808  }
809  { int ret = slice_from_s(1, s_15);
810  if (ret < 0) return ret;
811  }
812  break;
813  }
814  lab3:
815  ;
816  }
817  break;
818  case 7:
819  { int ret = r_R2();
820  if (ret <= 0) return ret;
821  }
822  { int ret = slice_del();
823  if (ret < 0) return ret;
824  }
825  { int m5 = l - c; (void)m5;
826  ket = c;
827  if (c - 1 <= lb || p[c - 1] >> 5 != 3 || !((4198408 >> (p[c - 1] & 0x1f)) & 1)) { c = l - m5; goto lab6; }
828  among_var = find_among_b(s_pool, a_3, 3, 0, 0);
829  if (!(among_var)) { c = l - m5; goto lab6; }
830  bra = c;
831  switch (among_var) {
832  case 1:
833  { int m6 = l - c; (void)m6;
834  { int ret = r_R2();
835  if (ret == 0) goto lab8;
836  if (ret < 0) return ret;
837  }
838  { int ret = slice_del();
839  if (ret < 0) return ret;
840  }
841  goto lab7;
842  lab8:
843  c = l - m6;
844  { int ret = slice_from_s(3, s_16);
845  if (ret < 0) return ret;
846  }
847  }
848  lab7:
849  break;
850  case 2:
851  { int m7 = l - c; (void)m7;
852  { int ret = r_R2();
853  if (ret == 0) goto lab10;
854  if (ret < 0) return ret;
855  }
856  { int ret = slice_del();
857  if (ret < 0) return ret;
858  }
859  goto lab9;
860  lab10:
861  c = l - m7;
862  { int ret = slice_from_s(3, s_17);
863  if (ret < 0) return ret;
864  }
865  }
866  lab9:
867  break;
868  case 3:
869  { int ret = r_R2();
870  if (ret == 0) { c = l - m5; goto lab6; }
871  if (ret < 0) return ret;
872  }
873  { int ret = slice_del();
874  if (ret < 0) return ret;
875  }
876  break;
877  }
878  lab6:
879  ;
880  }
881  break;
882  case 8:
883  { int ret = r_R2();
884  if (ret <= 0) return ret;
885  }
886  { int ret = slice_del();
887  if (ret < 0) return ret;
888  }
889  { int m8 = l - c; (void)m8;
890  ket = c;
891  if (!(eq_s_b(2, s_18))) { c = l - m8; goto lab11; }
892  bra = c;
893  { int ret = r_R2();
894  if (ret == 0) { c = l - m8; goto lab11; }
895  if (ret < 0) return ret;
896  }
897  { int ret = slice_del();
898  if (ret < 0) return ret;
899  }
900  ket = c;
901  if (!(eq_s_b(2, s_19))) { c = l - m8; goto lab11; }
902  bra = c;
903  { int m9 = l - c; (void)m9;
904  { int ret = r_R2();
905  if (ret == 0) goto lab13;
906  if (ret < 0) return ret;
907  }
908  { int ret = slice_del();
909  if (ret < 0) return ret;
910  }
911  goto lab12;
912  lab13:
913  c = l - m9;
914  { int ret = slice_from_s(3, s_20);
915  if (ret < 0) return ret;
916  }
917  }
918  lab12:
919  lab11:
920  ;
921  }
922  break;
923  case 9:
924  { int ret = slice_from_s(3, s_21);
925  if (ret < 0) return ret;
926  }
927  break;
928  case 10:
929  { int ret = r_R1();
930  if (ret <= 0) return ret;
931  }
932  { int ret = slice_from_s(2, s_22);
933  if (ret < 0) return ret;
934  }
935  break;
936  case 11:
937  { int m10 = l - c; (void)m10;
938  { int ret = r_R2();
939  if (ret == 0) goto lab15;
940  if (ret < 0) return ret;
941  }
942  { int ret = slice_del();
943  if (ret < 0) return ret;
944  }
945  goto lab14;
946  lab15:
947  c = l - m10;
948  { int ret = r_R1();
949  if (ret <= 0) return ret;
950  }
951  { int ret = slice_from_s(3, s_23);
952  if (ret < 0) return ret;
953  }
954  }
955  lab14:
956  break;
957  case 12:
958  { int ret = r_R1();
959  if (ret <= 0) return ret;
960  }
961  if (out_grouping_b_U(g_v, 97, 251, 0)) return 0;
962  { int ret = slice_del();
963  if (ret < 0) return ret;
964  }
965  break;
966  case 13:
967  { int ret = r_RV();
968  if (ret <= 0) return ret;
969  }
970  { int ret = slice_from_s(3, s_24);
971  if (ret < 0) return ret;
972  }
973  return 0;
974  break;
975  case 14:
976  { int ret = r_RV();
977  if (ret <= 0) return ret;
978  }
979  { int ret = slice_from_s(3, s_25);
980  if (ret < 0) return ret;
981  }
982  return 0;
983  break;
984  case 15:
985  { int m_test11 = l - c;
986  if (in_grouping_b_U(g_v, 97, 251, 0)) return 0;
987  { int ret = r_RV();
988  if (ret <= 0) return ret;
989  }
990  c = l - m_test11;
991  }
992  { int ret = slice_del();
993  if (ret < 0) return ret;
994  }
995  return 0;
996  break;
997  }
998  return 1;
999 }
1000 
1002 
1003  { int mlimit1;
1004  if (c < I_pV) return 0;
1005  mlimit1 = lb; lb = I_pV;
1006  ket = c;
1007  if (c <= lb || p[c - 1] >> 5 != 3 || !((68944418 >> (p[c - 1] & 0x1f)) & 1)) { lb = mlimit1; return 0; }
1008  if (!(find_among_b(s_pool, a_5, 35, 0, 0))) { lb = mlimit1; return 0; }
1009  bra = c;
1010  if (out_grouping_b_U(g_v, 97, 251, 0)) { lb = mlimit1; return 0; }
1011  { int ret = slice_del();
1012  if (ret < 0) return ret;
1013  }
1014  lb = mlimit1;
1015  }
1016  return 1;
1017 }
1018 
1020  int among_var;
1021 
1022  { int mlimit1;
1023  if (c < I_pV) return 0;
1024  mlimit1 = lb; lb = I_pV;
1025  ket = c;
1026  among_var = find_among_b(s_pool, a_6, 38, 0, 0);
1027  if (!(among_var)) { lb = mlimit1; return 0; }
1028  bra = c;
1029  switch (among_var) {
1030  case 1:
1031  { int ret = r_R2();
1032  if (ret == 0) { lb = mlimit1; return 0; }
1033  if (ret < 0) return ret;
1034  }
1035  { int ret = slice_del();
1036  if (ret < 0) return ret;
1037  }
1038  break;
1039  case 2:
1040  { int ret = slice_del();
1041  if (ret < 0) return ret;
1042  }
1043  break;
1044  case 3:
1045  { int ret = slice_del();
1046  if (ret < 0) return ret;
1047  }
1048  { int m2 = l - c; (void)m2;
1049  ket = c;
1050  if (c <= lb || p[c - 1] != 'e') { c = l - m2; goto lab0; }
1051  c--;
1052  bra = c;
1053  { int ret = slice_del();
1054  if (ret < 0) return ret;
1055  }
1056  lab0:
1057  ;
1058  }
1059  break;
1060  }
1061  lb = mlimit1;
1062  }
1063  return 1;
1064 }
1065 
1067  int among_var;
1068  { int m1 = l - c; (void)m1;
1069  ket = c;
1070  if (c <= lb || p[c - 1] != 's') { c = l - m1; goto lab0; }
1071  c--;
1072  bra = c;
1073  { int m_test2 = l - c;
1074  if (out_grouping_b_U(g_keep_with_s, 97, 232, 0)) { c = l - m1; goto lab0; }
1075  c = l - m_test2;
1076  }
1077  { int ret = slice_del();
1078  if (ret < 0) return ret;
1079  }
1080  lab0:
1081  ;
1082  }
1083 
1084  { int mlimit3;
1085  if (c < I_pV) return 0;
1086  mlimit3 = lb; lb = I_pV;
1087  ket = c;
1088  among_var = find_among_b(s_pool, a_7, 7, 0, 0);
1089  if (!(among_var)) { lb = mlimit3; return 0; }
1090  bra = c;
1091  switch (among_var) {
1092  case 1:
1093  { int ret = r_R2();
1094  if (ret == 0) { lb = mlimit3; return 0; }
1095  if (ret < 0) return ret;
1096  }
1097  { int m4 = l - c; (void)m4;
1098  if (c <= lb || p[c - 1] != 's') goto lab2;
1099  c--;
1100  goto lab1;
1101  lab2:
1102  c = l - m4;
1103  if (c <= lb || p[c - 1] != 't') { lb = mlimit3; return 0; }
1104  c--;
1105  }
1106  lab1:
1107  { int ret = slice_del();
1108  if (ret < 0) return ret;
1109  }
1110  break;
1111  case 2:
1112  { int ret = slice_from_s(1, s_26);
1113  if (ret < 0) return ret;
1114  }
1115  break;
1116  case 3:
1117  { int ret = slice_del();
1118  if (ret < 0) return ret;
1119  }
1120  break;
1121  case 4:
1122  if (!(eq_s_b(2, s_27))) { lb = mlimit3; return 0; }
1123  { int ret = slice_del();
1124  if (ret < 0) return ret;
1125  }
1126  break;
1127  }
1128  lb = mlimit3;
1129  }
1130  return 1;
1131 }
1132 
1134  { int m_test1 = l - c;
1135  if (c - 2 <= lb || p[c - 1] >> 5 != 3 || !((1069056 >> (p[c - 1] & 0x1f)) & 1)) return 0;
1136  if (!(find_among_b(s_pool, a_8, 5, 0, 0))) return 0;
1137  c = l - m_test1;
1138  }
1139  ket = c;
1140  { int ret = skip_utf8(p, c, lb, 0, -1);
1141  if (ret < 0) return 0;
1142  c = ret;
1143  }
1144  bra = c;
1145  { int ret = slice_del();
1146  if (ret < 0) return ret;
1147  }
1148  return 1;
1149 }
1150 
1152  { int i = 1;
1153  while(1) {
1154  if (out_grouping_b_U(g_v, 97, 251, 0)) goto lab0;
1155  i--;
1156  continue;
1157  lab0:
1158  break;
1159  }
1160  if (i > 0) return 0;
1161  }
1162  ket = c;
1163  { int m1 = l - c; (void)m1;
1164  if (!(eq_s_b(2, s_28))) goto lab2;
1165  goto lab1;
1166  lab2:
1167  c = l - m1;
1168  if (!(eq_s_b(2, s_29))) return 0;
1169  }
1170 lab1:
1171  bra = c;
1172  { int ret = slice_from_s(1, s_30);
1173  if (ret < 0) return ret;
1174  }
1175  return 1;
1176 }
1177 
1179  { int c1 = c;
1180  { int ret = r_prelude();
1181  if (ret < 0) return ret;
1182  }
1183  c = c1;
1184  }
1185 
1186  { int ret = r_mark_regions();
1187  if (ret < 0) return ret;
1188  }
1189  lb = c; c = l;
1190 
1191  { int m2 = l - c; (void)m2;
1192  { int m3 = l - c; (void)m3;
1193  { int m4 = l - c; (void)m4;
1194  { int m5 = l - c; (void)m5;
1195  { int ret = r_standard_suffix();
1196  if (ret == 0) goto lab4;
1197  if (ret < 0) return ret;
1198  }
1199  goto lab3;
1200  lab4:
1201  c = l - m5;
1202  { int ret = r_i_verb_suffix();
1203  if (ret == 0) goto lab5;
1204  if (ret < 0) return ret;
1205  }
1206  goto lab3;
1207  lab5:
1208  c = l - m5;
1209  { int ret = r_verb_suffix();
1210  if (ret == 0) goto lab2;
1211  if (ret < 0) return ret;
1212  }
1213  }
1214  lab3:
1215  c = l - m4;
1216  { int m6 = l - c; (void)m6;
1217  ket = c;
1218  { int m7 = l - c; (void)m7;
1219  if (c <= lb || p[c - 1] != 'Y') goto lab8;
1220  c--;
1221  bra = c;
1222  { int ret = slice_from_s(1, s_31);
1223  if (ret < 0) return ret;
1224  }
1225  goto lab7;
1226  lab8:
1227  c = l - m7;
1228  if (!(eq_s_b(2, s_32))) { c = l - m6; goto lab6; }
1229  bra = c;
1230  { int ret = slice_from_s(1, s_33);
1231  if (ret < 0) return ret;
1232  }
1233  }
1234  lab7:
1235  lab6:
1236  ;
1237  }
1238  }
1239  goto lab1;
1240  lab2:
1241  c = l - m3;
1242  { int ret = r_residual_suffix();
1243  if (ret == 0) goto lab0;
1244  if (ret < 0) return ret;
1245  }
1246  }
1247  lab1:
1248  lab0:
1249  c = l - m2;
1250  }
1251  { int m8 = l - c; (void)m8;
1252  { int ret = r_un_double();
1253  if (ret < 0) return ret;
1254  }
1255  c = l - m8;
1256  }
1257  { int m9 = l - c; (void)m9;
1258  { int ret = r_un_accent();
1259  if (ret < 0) return ret;
1260  }
1261  c = l - m9;
1262  }
1263  c = lb;
1264  { int c10 = c;
1265  { int ret = r_postlude();
1266  if (ret < 0) return ret;
1267  }
1268  c = c10;
1269  }
1270  return 1;
1271 }
1272 
1274  : I_p2(0), I_p1(0), I_pV(0)
1275 {
1276 }
1277 
1279 {
1280 }
1281 
1282 std::string
1284 {
1285  return "french";
1286 }
#define s_5_34
#define s_0_0
#define s_4_27
#define s_4_31
#define s_4_38
static const symbol s_29[]
Definition: french.cc:467
static const symbol s_17[]
Definition: french.cc:455
#define s_4_39
#define s_6_30
static const struct among a_5[35]
Definition: french.cc:330
#define s_4_11
#define s_6_25
#define s_6_10
#define s_2_1
int find_among_b(const symbol *pool, const struct among *v, int v_size, const unsigned char *fnum, const among_function *f)
#define s_4_21
#define s_5_29
#define s_5_9
#define s_5_15
#define s_4_26
#define s_4_7
static const struct among a_1[4]
Definition: french.cc:254
static const symbol s_7[]
Definition: french.cc:445
#define s_5_25
#define s_5_19
#define s_4_1
#define s_6_15
int eq_s_b(int s_size, const symbol *s)
#define s_6_24
#define s_6_22
static const symbol s_5[]
Definition: french.cc:443
#define s_4_19
#define s_6_31
#define s_2_3
#define s_1_3
static const symbol s_14[]
Definition: french.cc:452
#define s_6_26
#define s_5_17
#define s_5_26
#define s_5_1
static const unsigned char g_v[]
Definition: french.cc:434
#define s_4_22
#define s_2_0
static const symbol s_31[]
Definition: french.cc:469
static const symbol s_10[]
Definition: french.cc:448
static const symbol s_0[]
Definition: french.cc:438
#define s_4_28
#define s_4_40
#define s_4_18
#define s_5_22
#define s_6_14
#define s_4_33
static const symbol s_27[]
Definition: french.cc:465
#define s_5_6
#define s_6_21
#define s_4_25
static const symbol s_25[]
Definition: french.cc:463
static const symbol s_pool[]
Definition: french.cc:8
#define s_5_10
#define s_0_2
static const symbol s_2[]
Definition: french.cc:440
#define s_6_13
static const symbol s_18[]
Definition: french.cc:456
#define s_5_4
#define s_5_33
static const symbol s_20[]
Definition: french.cc:458
#define s_8_3
#define s_6_9
#define s_5_8
#define s_2_5
#define s_6_12
#define s_6_35
int slice_from_s(int s_size, const symbol *s)
#define s_6_29
static const symbol s_30[]
Definition: french.cc:468
static const symbol s_23[]
Definition: french.cc:461
#define s_8_4
#define s_7_1
#define s_5_7
#define s_6_32
#define s_4_36
#define s_4_35
static const symbol s_4[]
Definition: french.cc:442
static const symbol s_12[]
Definition: french.cc:450
static const symbol s_8[]
Definition: french.cc:446
#define s_7_2
#define s_5_28
static const symbol s_13[]
Definition: french.cc:451
#define s_6_20
#define s_4_23
#define s_8_1
static const symbol s_6[]
Definition: french.cc:444
#define s_6_2
#define s_4_24
#define s_5_12
#define s_5_0
#define s_4_34
int stem()
Virtual method implemented by the subclass to actually do the work.
Definition: french.cc:1178
#define s_0_1
unsigned short symbol
Definition: header.h:6
#define s_4_6
static const symbol s_19[]
Definition: french.cc:457
#define s_4_15
#define s_4_12
static const symbol s_21[]
Definition: french.cc:459
#define s_6_5
#define s_7_5
#define s_6_37
#define s_5_14
static const struct among a_3[3]
Definition: french.cc:274
#define s_5_2
#define s_7_0
static const struct among a_0[3]
Definition: french.cc:246
#define s_5_31
#define s_8_2
static const symbol s_28[]
Definition: french.cc:466
#define s_3_1
#define s_6_19
#define s_5_18
static const struct among a_8[5]
Definition: french.cc:425
static const symbol s_26[]
Definition: french.cc:464
#define s_6_3
static const symbol s_15[]
Definition: french.cc:453
#define s_6_6
#define s_3_2
Definition: header.h:191
#define s_6_4
#define s_4_42
static const unsigned char g_keep_with_s[]
Definition: french.cc:436
#define s_5_24
static const struct among a_6[38]
Definition: french.cc:370
#define s_1_1
#define s_6_17
static int skip_utf8(const symbol *p, int c, int lb, int l, int n)
Definition: steminternal.cc:94
static const struct among a_2[6]
Definition: french.cc:263
#define s_6_0
#define s_6_28
#define s_6_27
#define s_7_6
#define s_6_18
#define s_4_37
static const symbol s_33[]
Definition: french.cc:471
#define s_8_0
int in_grouping_b_U(const unsigned char *s, int min, int max, int repeat)
static const symbol s_24[]
Definition: french.cc:462
#define s_1_2
static const symbol s_3[]
Definition: french.cc:441
#define s_6_7
#define s_4_5
#define s_5_27
#define s_4_20
#define s_4_17
static const struct among a_4[43]
Definition: french.cc:282
static const symbol s_22[]
Definition: french.cc:460
#define s_4_0
#define s_5_16
#define s_4_3
#define s_2_4
static const symbol s_9[]
Definition: french.cc:447
#define s_4_8
#define s_6_16
#define s_5_11
#define s_4_30
#define s_2_2
int out_grouping_b_U(const unsigned char *s, int min, int max, int repeat)
#define s_5_30
#define s_4_13
#define s_6_1
#define s_5_20
#define s_6_8
std::string get_description() const
Return a string describing this object.
Definition: french.cc:1283
#define s_5_23
#define s_4_29
#define s_4_41
#define s_4_9
#define s_7_3
int find_among(const symbol *pool, const struct among *v, int v_size, const unsigned char *fnum, const among_function *f)
int out_grouping_U(const unsigned char *s, int min, int max, int repeat)
#define s_6_34
#define s_7_4
#define s_5_5
#define s_6_33
#define s_5_32
#define s_6_11
static const symbol s_11[]
Definition: french.cc:449
#define s_6_36
#define s_5_3
#define s_3_0
#define s_4_4
#define s_6_23
#define s_4_2
#define s_5_21
#define s_4_14
static const symbol s_16[]
Definition: french.cc:454
#define s_4_16
#define s_4_32
static const struct among a_7[7]
Definition: french.cc:413
static const symbol s_1[]
Definition: french.cc:439
#define s_4_10
int in_grouping_U(const unsigned char *s, int min, int max, int repeat)
static const symbol s_32[]
Definition: french.cc:470
#define s_5_13