PostgreSQL Source Code git master
stem_ISO_8859_1_french.c File Reference
#include "stem_ISO_8859_1_french.h"
#include <stddef.h>
#include "snowball_runtime.h"
Include dependency graph for stem_ISO_8859_1_french.c:

Go to the source code of this file.

Data Structures

struct  SN_local
 

Typedefs

typedef struct SN_local SN_local
 

Functions

int french_ISO_8859_1_stem (struct SN_env *z)
 
static int r_un_accent (struct SN_env *z)
 
static int r_un_double (struct SN_env *z)
 
static int r_residual_suffix (struct SN_env *z)
 
static int r_verb_suffix (struct SN_env *z)
 
static int r_i_verb_suffix (struct SN_env *z)
 
static int r_standard_suffix (struct SN_env *z)
 
static int r_R2 (struct SN_env *z)
 
static int r_R1 (struct SN_env *z)
 
static int r_RV (struct SN_env *z)
 
static int r_mark_regions (struct SN_env *z)
 
static int r_postlude (struct SN_env *z)
 
static int r_prelude (struct SN_env *z)
 
static int r_elisions (struct SN_env *z)
 
struct SN_envfrench_ISO_8859_1_create_env (void)
 
void french_ISO_8859_1_close_env (struct SN_env *z)
 

Variables

static const symbol s_0 [] = { 'q', 'u' }
 
static const symbol s_1 [] = { 'U' }
 
static const symbol s_2 [] = { 'I' }
 
static const symbol s_3 [] = { 'Y' }
 
static const symbol s_4 [] = { 'H', 'e' }
 
static const symbol s_5 [] = { 'H', 'i' }
 
static const symbol s_6 [] = { 'Y' }
 
static const symbol s_7 [] = { 'U' }
 
static const symbol s_8 [] = { 'i' }
 
static const symbol s_9 [] = { 'u' }
 
static const symbol s_10 [] = { 'y' }
 
static const symbol s_11 [] = { 0xEB }
 
static const symbol s_12 [] = { 0xEF }
 
static const symbol s_13 [] = { 'i', 'c' }
 
static const symbol s_14 [] = { 'i', 'q', 'U' }
 
static const symbol s_15 [] = { 'l', 'o', 'g' }
 
static const symbol s_16 [] = { 'u' }
 
static const symbol s_17 [] = { 'e', 'n', 't' }
 
static const symbol s_18 [] = { 'a', 't' }
 
static const symbol s_19 [] = { 'e', 'u', 'x' }
 
static const symbol s_20 [] = { 'i' }
 
static const symbol s_21 [] = { 'a', 'b', 'l' }
 
static const symbol s_22 [] = { 'i', 'q', 'U' }
 
static const symbol s_23 [] = { 'a', 't' }
 
static const symbol s_24 [] = { 'i', 'c' }
 
static const symbol s_25 [] = { 'i', 'q', 'U' }
 
static const symbol s_26 [] = { 'e', 'a', 'u' }
 
static const symbol s_27 [] = { 'a', 'l' }
 
static const symbol s_28 [] = { 'o', 'u' }
 
static const symbol s_29 [] = { 'e', 'u', 'x' }
 
static const symbol s_30 [] = { 'a', 'n', 't' }
 
static const symbol s_31 [] = { 'e', 'n', 't' }
 
static const symbol s_32 [] = { 'H', 'i' }
 
static const symbol s_33 [] = { 'i' }
 
static const symbol s_34 [] = { 'e' }
 
static const symbol s_35 [] = { 'i' }
 
static const symbol s_36 [] = { 'c' }
 
static const symbol s_0_0 [3] = { 'c', 'o', 'l' }
 
static const symbol s_0_1 [2] = { 'n', 'i' }
 
static const symbol s_0_2 [3] = { 'p', 'a', 'r' }
 
static const symbol s_0_3 [3] = { 't', 'a', 'p' }
 
static const struct among a_0 [4]
 
static const symbol s_1_1 [1] = { 'H' }
 
static const symbol s_1_2 [2] = { 'H', 'e' }
 
static const symbol s_1_3 [2] = { 'H', 'i' }
 
static const symbol s_1_4 [1] = { 'I' }
 
static const symbol s_1_5 [1] = { 'U' }
 
static const symbol s_1_6 [1] = { 'Y' }
 
static const struct among a_1 [7]
 
static const symbol s_2_0 [3] = { 'i', 'q', 'U' }
 
static const symbol s_2_1 [3] = { 'a', 'b', 'l' }
 
static const symbol s_2_2 [3] = { 'I', 0xE8, 'r' }
 
static const symbol s_2_3 [3] = { 'i', 0xE8, 'r' }
 
static const symbol s_2_4 [3] = { 'e', 'u', 's' }
 
static const symbol s_2_5 [2] = { 'i', 'v' }
 
static const struct among a_2 [6]
 
static const symbol s_3_0 [2] = { 'i', 'c' }
 
static const symbol s_3_1 [4] = { 'a', 'b', 'i', 'l' }
 
static const symbol s_3_2 [2] = { 'i', 'v' }
 
static const struct among a_3 [3]
 
static const symbol s_4_0 [4] = { 'i', 'q', 'U', 'e' }
 
static const symbol s_4_1 [6] = { 'a', 't', 'r', 'i', 'c', 'e' }
 
static const symbol s_4_2 [4] = { 'a', 'n', 'c', 'e' }
 
static const symbol s_4_3 [4] = { 'e', 'n', 'c', 'e' }
 
static const symbol s_4_4 [5] = { 'l', 'o', 'g', 'i', 'e' }
 
static const symbol s_4_5 [4] = { 'a', 'b', 'l', 'e' }
 
static const symbol s_4_6 [4] = { 'i', 's', 'm', 'e' }
 
static const symbol s_4_7 [4] = { 'e', 'u', 's', 'e' }
 
static const symbol s_4_8 [4] = { 'i', 's', 't', 'e' }
 
static const symbol s_4_9 [3] = { 'i', 'v', 'e' }
 
static const symbol s_4_10 [2] = { 'i', 'f' }
 
static const symbol s_4_11 [5] = { 'u', 's', 'i', 'o', 'n' }
 
static const symbol s_4_12 [5] = { 'a', 't', 'i', 'o', 'n' }
 
static const symbol s_4_13 [5] = { 'u', 't', 'i', 'o', 'n' }
 
static const symbol s_4_14 [5] = { 'a', 't', 'e', 'u', 'r' }
 
static const symbol s_4_15 [5] = { 'i', 'q', 'U', 'e', 's' }
 
static const symbol s_4_16 [7] = { 'a', 't', 'r', 'i', 'c', 'e', 's' }
 
static const symbol s_4_17 [5] = { 'a', 'n', 'c', 'e', 's' }
 
static const symbol s_4_18 [5] = { 'e', 'n', 'c', 'e', 's' }
 
static const symbol s_4_19 [6] = { 'l', 'o', 'g', 'i', 'e', 's' }
 
static const symbol s_4_20 [5] = { 'a', 'b', 'l', 'e', 's' }
 
static const symbol s_4_21 [5] = { 'i', 's', 'm', 'e', 's' }
 
static const symbol s_4_22 [5] = { 'e', 'u', 's', 'e', 's' }
 
static const symbol s_4_23 [5] = { 'i', 's', 't', 'e', 's' }
 
static const symbol s_4_24 [4] = { 'i', 'v', 'e', 's' }
 
static const symbol s_4_25 [3] = { 'i', 'f', 's' }
 
static const symbol s_4_26 [6] = { 'u', 's', 'i', 'o', 'n', 's' }
 
static const symbol s_4_27 [6] = { 'a', 't', 'i', 'o', 'n', 's' }
 
static const symbol s_4_28 [6] = { 'u', 't', 'i', 'o', 'n', 's' }
 
static const symbol s_4_29 [6] = { 'a', 't', 'e', 'u', 'r', 's' }
 
static const symbol s_4_30 [5] = { 'm', 'e', 'n', 't', 's' }
 
static const symbol s_4_31 [6] = { 'e', 'm', 'e', 'n', 't', 's' }
 
static const symbol s_4_32 [9] = { 'i', 's', 's', 'e', 'm', 'e', 'n', 't', 's' }
 
static const symbol s_4_33 [4] = { 'i', 't', 0xE9, 's' }
 
static const symbol s_4_34 [4] = { 'm', 'e', 'n', 't' }
 
static const symbol s_4_35 [5] = { 'e', 'm', 'e', 'n', 't' }
 
static const symbol s_4_36 [8] = { 'i', 's', 's', 'e', 'm', 'e', 'n', 't' }
 
static const symbol s_4_37 [6] = { 'a', 'm', 'm', 'e', 'n', 't' }
 
static const symbol s_4_38 [6] = { 'e', 'm', 'm', 'e', 'n', 't' }
 
static const symbol s_4_39 [3] = { 'a', 'u', 'x' }
 
static const symbol s_4_40 [4] = { 'e', 'a', 'u', 'x' }
 
static const symbol s_4_41 [3] = { 'e', 'u', 'x' }
 
static const symbol s_4_42 [3] = { 'o', 'u', 'x' }
 
static const symbol s_4_43 [3] = { 'i', 't', 0xE9 }
 
static const struct among a_4 [44]
 
static const symbol s_5_0 [3] = { 'i', 'r', 'a' }
 
static const symbol s_5_1 [2] = { 'i', 'e' }
 
static const symbol s_5_2 [4] = { 'i', 's', 's', 'e' }
 
static const symbol s_5_3 [7] = { 'i', 's', 's', 'a', 'n', 't', 'e' }
 
static const symbol s_5_4 [1] = { 'i' }
 
static const symbol s_5_5 [4] = { 'i', 'r', 'a', 'i' }
 
static const symbol s_5_6 [2] = { 'i', 'r' }
 
static const symbol s_5_7 [4] = { 'i', 'r', 'a', 's' }
 
static const symbol s_5_8 [3] = { 'i', 'e', 's' }
 
static const symbol s_5_9 [4] = { 0xEE, 'm', 'e', 's' }
 
static const symbol s_5_10 [5] = { 'i', 's', 's', 'e', 's' }
 
static const symbol s_5_11 [8] = { 'i', 's', 's', 'a', 'n', 't', 'e', 's' }
 
static const symbol s_5_12 [4] = { 0xEE, 't', 'e', 's' }
 
static const symbol s_5_13 [2] = { 'i', 's' }
 
static const symbol s_5_14 [5] = { 'i', 'r', 'a', 'i', 's' }
 
static const symbol s_5_15 [6] = { 'i', 's', 's', 'a', 'i', 's' }
 
static const symbol s_5_16 [6] = { 'i', 'r', 'i', 'o', 'n', 's' }
 
static const symbol s_5_17 [7] = { 'i', 's', 's', 'i', 'o', 'n', 's' }
 
static const symbol s_5_18 [5] = { 'i', 'r', 'o', 'n', 's' }
 
static const symbol s_5_19 [6] = { 'i', 's', 's', 'o', 'n', 's' }
 
static const symbol s_5_20 [7] = { 'i', 's', 's', 'a', 'n', 't', 's' }
 
static const symbol s_5_21 [2] = { 'i', 't' }
 
static const symbol s_5_22 [5] = { 'i', 'r', 'a', 'i', 't' }
 
static const symbol s_5_23 [6] = { 'i', 's', 's', 'a', 'i', 't' }
 
static const symbol s_5_24 [6] = { 'i', 's', 's', 'a', 'n', 't' }
 
static const symbol s_5_25 [7] = { 'i', 'r', 'a', 'I', 'e', 'n', 't' }
 
static const symbol s_5_26 [8] = { 'i', 's', 's', 'a', 'I', 'e', 'n', 't' }
 
static const symbol s_5_27 [5] = { 'i', 'r', 'e', 'n', 't' }
 
static const symbol s_5_28 [6] = { 'i', 's', 's', 'e', 'n', 't' }
 
static const symbol s_5_29 [5] = { 'i', 'r', 'o', 'n', 't' }
 
static const symbol s_5_30 [2] = { 0xEE, 't' }
 
static const symbol s_5_31 [5] = { 'i', 'r', 'i', 'e', 'z' }
 
static const symbol s_5_32 [6] = { 'i', 's', 's', 'i', 'e', 'z' }
 
static const symbol s_5_33 [4] = { 'i', 'r', 'e', 'z' }
 
static const symbol s_5_34 [5] = { 'i', 's', 's', 'e', 'z' }
 
static const struct among a_5 [35]
 
static const symbol s_6_0 [2] = { 'a', 'l' }
 
static const symbol s_6_1 [3] = { 0xE9, 'p', 'l' }
 
static const symbol s_6_2 [3] = { 'a', 'u', 'v' }
 
static const struct among a_6 [3]
 
static const symbol s_7_0 [1] = { 'a' }
 
static const symbol s_7_1 [3] = { 'e', 'r', 'a' }
 
static const symbol s_7_2 [4] = { 'a', 'i', 's', 'e' }
 
static const symbol s_7_3 [4] = { 'a', 's', 's', 'e' }
 
static const symbol s_7_4 [4] = { 'a', 'n', 't', 'e' }
 
static const symbol s_7_5 [2] = { 0xE9, 'e' }
 
static const symbol s_7_6 [2] = { 'a', 'i' }
 
static const symbol s_7_7 [4] = { 'e', 'r', 'a', 'i' }
 
static const symbol s_7_8 [2] = { 'e', 'r' }
 
static const symbol s_7_9 [2] = { 'a', 's' }
 
static const symbol s_7_10 [4] = { 'e', 'r', 'a', 's' }
 
static const symbol s_7_11 [4] = { 0xE2, 'm', 'e', 's' }
 
static const symbol s_7_12 [5] = { 'a', 'i', 's', 'e', 's' }
 
static const symbol s_7_13 [5] = { 'a', 's', 's', 'e', 's' }
 
static const symbol s_7_14 [5] = { 'a', 'n', 't', 'e', 's' }
 
static const symbol s_7_15 [4] = { 0xE2, 't', 'e', 's' }
 
static const symbol s_7_16 [3] = { 0xE9, 'e', 's' }
 
static const symbol s_7_17 [3] = { 'a', 'i', 's' }
 
static const symbol s_7_18 [4] = { 'e', 'a', 'i', 's' }
 
static const symbol s_7_19 [5] = { 'e', 'r', 'a', 'i', 's' }
 
static const symbol s_7_20 [4] = { 'i', 'o', 'n', 's' }
 
static const symbol s_7_21 [6] = { 'e', 'r', 'i', 'o', 'n', 's' }
 
static const symbol s_7_22 [7] = { 'a', 's', 's', 'i', 'o', 'n', 's' }
 
static const symbol s_7_23 [5] = { 'e', 'r', 'o', 'n', 's' }
 
static const symbol s_7_24 [4] = { 'a', 'n', 't', 's' }
 
static const symbol s_7_25 [2] = { 0xE9, 's' }
 
static const symbol s_7_26 [3] = { 'a', 'i', 't' }
 
static const symbol s_7_27 [5] = { 'e', 'r', 'a', 'i', 't' }
 
static const symbol s_7_28 [3] = { 'a', 'n', 't' }
 
static const symbol s_7_29 [5] = { 'a', 'I', 'e', 'n', 't' }
 
static const symbol s_7_30 [7] = { 'e', 'r', 'a', 'I', 'e', 'n', 't' }
 
static const symbol s_7_31 [5] = { 0xE8, 'r', 'e', 'n', 't' }
 
static const symbol s_7_32 [6] = { 'a', 's', 's', 'e', 'n', 't' }
 
static const symbol s_7_33 [5] = { 'e', 'r', 'o', 'n', 't' }
 
static const symbol s_7_34 [2] = { 0xE2, 't' }
 
static const symbol s_7_35 [2] = { 'e', 'z' }
 
static const symbol s_7_36 [3] = { 'i', 'e', 'z' }
 
static const symbol s_7_37 [5] = { 'e', 'r', 'i', 'e', 'z' }
 
static const symbol s_7_38 [6] = { 'a', 's', 's', 'i', 'e', 'z' }
 
static const symbol s_7_39 [4] = { 'e', 'r', 'e', 'z' }
 
static const symbol s_7_40 [1] = { 0xE9 }
 
static const struct among a_7 [41]
 
static const symbol s_8_0 [1] = { 'e' }
 
static const symbol s_8_1 [4] = { 'I', 0xE8, 'r', 'e' }
 
static const symbol s_8_2 [4] = { 'i', 0xE8, 'r', 'e' }
 
static const symbol s_8_3 [3] = { 'i', 'o', 'n' }
 
static const symbol s_8_4 [3] = { 'I', 'e', 'r' }
 
static const symbol s_8_5 [3] = { 'i', 'e', 'r' }
 
static const struct among a_8 [6]
 
static const symbol s_9_0 [3] = { 'e', 'l', 'l' }
 
static const symbol s_9_1 [4] = { 'e', 'i', 'l', 'l' }
 
static const symbol s_9_2 [3] = { 'e', 'n', 'n' }
 
static const symbol s_9_3 [3] = { 'o', 'n', 'n' }
 
static const symbol s_9_4 [3] = { 'e', 't', 't' }
 
static const struct among a_9 [5]
 
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 }
 
static const unsigned char g_oux_ending [] = { 65, 85 }
 
static const unsigned char g_elision_char [] = { 131, 14, 3 }
 
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 }
 

Typedef Documentation

◆ SN_local

typedef struct SN_local SN_local

Definition at line 16 of file stem_ISO_8859_1_french.c.

Function Documentation

◆ french_ISO_8859_1_close_env()

void french_ISO_8859_1_close_env ( struct SN_env z)

Definition at line 1446 of file stem_ISO_8859_1_french.c.

1446 {
1447 SN_delete_env(z);
1448}
void SN_delete_env(struct SN_env *z)
Definition: api.c:18

References SN_delete_env().

◆ french_ISO_8859_1_create_env()

struct SN_env * french_ISO_8859_1_create_env ( void  )

Definition at line 1436 of file stem_ISO_8859_1_french.c.

1436 {
1437 struct SN_env * z = SN_new_env(sizeof(SN_local));
1438 if (z) {
1439 ((SN_local *)z)->i_p2 = 0;
1440 ((SN_local *)z)->i_p1 = 0;
1441 ((SN_local *)z)->i_pV = 0;
1442 }
1443 return z;
1444}
struct SN_env * SN_new_env(int alloc_size)
Definition: api.c:5
Definition: api.h:15

References SN_new_env().

◆ french_ISO_8859_1_stem()

int french_ISO_8859_1_stem ( struct SN_env z)

Definition at line 1316 of file stem_ISO_8859_1_french.c.

1316 {
1317 {
1318 int v_1 = z->c;
1319 {
1320 int ret = r_elisions(z);
1321 if (ret < 0) return ret;
1322 }
1323 z->c = v_1;
1324 }
1325 {
1326 int v_2 = z->c;
1327 {
1328 int ret = r_prelude(z);
1329 if (ret < 0) return ret;
1330 }
1331 z->c = v_2;
1332 }
1333 {
1334 int ret = r_mark_regions(z);
1335 if (ret < 0) return ret;
1336 }
1337 z->lb = z->c; z->c = z->l;
1338 {
1339 int v_3 = z->l - z->c;
1340 do {
1341 int v_4 = z->l - z->c;
1342 {
1343 int v_5 = z->l - z->c;
1344 do {
1345 int v_6 = z->l - z->c;
1346 {
1347 int ret = r_standard_suffix(z);
1348 if (ret == 0) goto lab2;
1349 if (ret < 0) return ret;
1350 }
1351 break;
1352 lab2:
1353 z->c = z->l - v_6;
1354 {
1355 int ret = r_i_verb_suffix(z);
1356 if (ret == 0) goto lab3;
1357 if (ret < 0) return ret;
1358 }
1359 break;
1360 lab3:
1361 z->c = z->l - v_6;
1362 {
1363 int ret = r_verb_suffix(z);
1364 if (ret == 0) goto lab1;
1365 if (ret < 0) return ret;
1366 }
1367 } while (0);
1368 z->c = z->l - v_5;
1369 {
1370 int v_7 = z->l - z->c;
1371 z->ket = z->c;
1372 do {
1373 int v_8 = z->l - z->c;
1374 if (z->c <= z->lb || z->p[z->c - 1] != 'Y') goto lab5;
1375 z->c--;
1376 z->bra = z->c;
1377 {
1378 int ret = slice_from_s(z, 1, s_35);
1379 if (ret < 0) return ret;
1380 }
1381 break;
1382 lab5:
1383 z->c = z->l - v_8;
1384 if (z->c <= z->lb || z->p[z->c - 1] != 0xE7) { z->c = z->l - v_7; goto lab4; }
1385 z->c--;
1386 z->bra = z->c;
1387 {
1388 int ret = slice_from_s(z, 1, s_36);
1389 if (ret < 0) return ret;
1390 }
1391 } while (0);
1392 lab4:
1393 ;
1394 }
1395 }
1396 break;
1397 lab1:
1398 z->c = z->l - v_4;
1399 {
1400 int ret = r_residual_suffix(z);
1401 if (ret == 0) goto lab0;
1402 if (ret < 0) return ret;
1403 }
1404 } while (0);
1405 lab0:
1406 z->c = z->l - v_3;
1407 }
1408 {
1409 int v_9 = z->l - z->c;
1410 {
1411 int ret = r_un_double(z);
1412 if (ret < 0) return ret;
1413 }
1414 z->c = z->l - v_9;
1415 }
1416 {
1417 int v_10 = z->l - z->c;
1418 {
1419 int ret = r_un_accent(z);
1420 if (ret < 0) return ret;
1421 }
1422 z->c = z->l - v_10;
1423 }
1424 z->c = z->lb;
1425 {
1426 int v_11 = z->c;
1427 {
1428 int ret = r_postlude(z);
1429 if (ret < 0) return ret;
1430 }
1431 z->c = v_11;
1432 }
1433 return 1;
1434}
static int r_un_accent(struct SN_env *z)
static int r_elisions(struct SN_env *z)
static int r_standard_suffix(struct SN_env *z)
static int r_un_double(struct SN_env *z)
static int r_verb_suffix(struct SN_env *z)
static int r_i_verb_suffix(struct SN_env *z)
static const symbol s_35[]
static int r_postlude(struct SN_env *z)
static int r_prelude(struct SN_env *z)
static int r_mark_regions(struct SN_env *z)
static const symbol s_36[]
static int r_residual_suffix(struct SN_env *z)
int lb
Definition: api.h:17
symbol * p
Definition: api.h:16
int ket
Definition: api.h:17
int c
Definition: api.h:17
int bra
Definition: api.h:17
int l
Definition: api.h:17
SNOWBALL_ERR slice_from_s(struct SN_env *z, int s_size, const symbol *s)
Definition: utilities.c:432

References SN_env::bra, SN_env::c, SN_env::ket, SN_env::l, SN_env::lb, SN_env::p, r_elisions(), r_i_verb_suffix(), r_mark_regions(), r_postlude(), r_prelude(), r_residual_suffix(), r_standard_suffix(), r_un_accent(), r_un_double(), r_verb_suffix(), s_35, s_36, and slice_from_s().

◆ r_elisions()

static int r_elisions ( struct SN_env z)
static

Definition at line 423 of file stem_ISO_8859_1_french.c.

423 {
424 z->bra = z->c;
425 do {
426 int v_1 = z->c;
427 if (in_grouping(z, g_elision_char, 99, 116, 0)) goto lab0;
428 break;
429 lab0:
430 z->c = v_1;
431 if (!(eq_s(z, 2, s_0))) return 0;
432 } while (0);
433 if (z->c == z->l || z->p[z->c] != '\'') return 0;
434 z->c++;
435 z->ket = z->c;
436 if (z->c < z->l) goto lab1;
437 return 0;
438lab1:
439 {
440 int ret = slice_del(z);
441 if (ret < 0) return ret;
442 }
443 return 1;
444}
static const unsigned char g_elision_char[]
static const symbol s_0[]
int in_grouping(struct SN_env *z, const unsigned char *s, int min, int max, int repeat)
Definition: utilities.c:183
int eq_s(struct SN_env *z, int s_size, const symbol *s)
Definition: utilities.c:231
SNOWBALL_ERR slice_del(struct SN_env *z)
Definition: utilities.c:443

References SN_env::bra, SN_env::c, eq_s(), g_elision_char, in_grouping(), SN_env::ket, SN_env::l, SN_env::p, s_0, and slice_del().

Referenced by french_ISO_8859_1_stem().

◆ r_i_verb_suffix()

static int r_i_verb_suffix ( struct SN_env z)
static

Definition at line 1090 of file stem_ISO_8859_1_french.c.

1090 {
1091 {
1092 int v_1;
1093 if (z->c < ((SN_local *)z)->i_pV) return 0;
1094 v_1 = z->lb; z->lb = ((SN_local *)z)->i_pV;
1095 z->ket = z->c;
1096 if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((68944418 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = v_1; return 0; }
1097 if (!find_among_b(z, a_5, 35, 0)) { z->lb = v_1; return 0; }
1098 z->bra = z->c;
1099 {
1100 int v_2 = z->l - z->c;
1101 if (z->c <= z->lb || z->p[z->c - 1] != 'H') goto lab0;
1102 z->c--;
1103 { z->lb = v_1; return 0; }
1104 lab0:
1105 z->c = z->l - v_2;
1106 }
1107 if (out_grouping_b(z, g_v, 97, 251, 0)) { z->lb = v_1; return 0; }
1108 {
1109 int ret = slice_del(z);
1110 if (ret < 0) return ret;
1111 }
1112 z->lb = v_1;
1113 }
1114 return 1;
1115}
static const struct among a_5[35]
static const unsigned char g_v[]
int out_grouping_b(struct SN_env *z, const unsigned char *s, int min, int max, int repeat)
Definition: utilities.c:219
int find_among_b(struct SN_env *z, const struct among *v, int v_size, int(*call_among_func)(struct SN_env *))
Definition: utilities.c:315

References a_5, SN_env::c, find_among_b(), g_v, SN_local::i_pV, out_grouping_b(), and slice_del().

Referenced by french_ISO_8859_1_stem().

◆ r_mark_regions()

static int r_mark_regions ( struct SN_env z)
static

Definition at line 550 of file stem_ISO_8859_1_french.c.

550 {
551 int among_var;
552 ((SN_local *)z)->i_pV = z->l;
553 ((SN_local *)z)->i_p1 = z->l;
554 ((SN_local *)z)->i_p2 = z->l;
555 {
556 int v_1 = z->c;
557 do {
558 int v_2 = z->c;
559 if (in_grouping(z, g_v, 97, 251, 0)) goto lab1;
560 if (in_grouping(z, g_v, 97, 251, 0)) goto lab1;
561 if (z->c >= z->l) goto lab1;
562 z->c++;
563 break;
564 lab1:
565 z->c = v_2;
566 if (z->c + 1 >= z->l || z->p[z->c + 1] >> 5 != 3 || !((33282 >> (z->p[z->c + 1] & 0x1f)) & 1)) goto lab2;
567 among_var = find_among(z, a_0, 4, 0);
568 if (!among_var) goto lab2;
569 switch (among_var) {
570 case 1:
571 if (in_grouping(z, g_v, 97, 251, 0)) goto lab2;
572 break;
573 }
574 break;
575 lab2:
576 z->c = v_2;
577 if (z->c >= z->l) goto lab0;
578 z->c++;
579 {
580 int ret = out_grouping(z, g_v, 97, 251, 1);
581 if (ret < 0) goto lab0;
582 z->c += ret;
583 }
584 } while (0);
585 ((SN_local *)z)->i_pV = z->c;
586 lab0:
587 z->c = v_1;
588 }
589 {
590 int v_3 = z->c;
591 {
592 int ret = out_grouping(z, g_v, 97, 251, 1);
593 if (ret < 0) goto lab3;
594 z->c += ret;
595 }
596 {
597 int ret = in_grouping(z, g_v, 97, 251, 1);
598 if (ret < 0) goto lab3;
599 z->c += ret;
600 }
601 ((SN_local *)z)->i_p1 = z->c;
602 {
603 int ret = out_grouping(z, g_v, 97, 251, 1);
604 if (ret < 0) goto lab3;
605 z->c += ret;
606 }
607 {
608 int ret = in_grouping(z, g_v, 97, 251, 1);
609 if (ret < 0) goto lab3;
610 z->c += ret;
611 }
612 ((SN_local *)z)->i_p2 = z->c;
613 lab3:
614 z->c = v_3;
615 }
616 return 1;
617}
static const struct among a_0[4]
int out_grouping(struct SN_env *z, const unsigned char *s, int min, int max, int repeat)
Definition: utilities.c:207
int find_among(struct SN_env *z, const struct among *v, int v_size, int(*call_among_func)(struct SN_env *))
Definition: utilities.c:249

References a_0, SN_env::c, find_among(), g_v, in_grouping(), SN_env::l, out_grouping(), and SN_env::p.

Referenced by french_ISO_8859_1_stem().

◆ r_postlude()

static int r_postlude ( struct SN_env z)
static

Definition at line 619 of file stem_ISO_8859_1_french.c.

619 {
620 int among_var;
621 while (1) {
622 int v_1 = z->c;
623 z->bra = z->c;
624 if (z->c >= z->l || z->p[z->c + 0] >> 5 != 2 || !((35652352 >> (z->p[z->c + 0] & 0x1f)) & 1)) among_var = 7; else
625 among_var = find_among(z, a_1, 7, 0);
626 z->ket = z->c;
627 switch (among_var) {
628 case 1:
629 {
630 int ret = slice_from_s(z, 1, s_8);
631 if (ret < 0) return ret;
632 }
633 break;
634 case 2:
635 {
636 int ret = slice_from_s(z, 1, s_9);
637 if (ret < 0) return ret;
638 }
639 break;
640 case 3:
641 {
642 int ret = slice_from_s(z, 1, s_10);
643 if (ret < 0) return ret;
644 }
645 break;
646 case 4:
647 {
648 int ret = slice_from_s(z, 1, s_11);
649 if (ret < 0) return ret;
650 }
651 break;
652 case 5:
653 {
654 int ret = slice_from_s(z, 1, s_12);
655 if (ret < 0) return ret;
656 }
657 break;
658 case 6:
659 {
660 int ret = slice_del(z);
661 if (ret < 0) return ret;
662 }
663 break;
664 case 7:
665 if (z->c >= z->l) goto lab0;
666 z->c++;
667 break;
668 }
669 continue;
670 lab0:
671 z->c = v_1;
672 break;
673 }
674 return 1;
675}
static const struct among a_1[7]
static const symbol s_10[]
static const symbol s_11[]
static const symbol s_12[]
static const symbol s_8[]
static const symbol s_9[]

References a_1, SN_env::bra, SN_env::c, find_among(), SN_env::ket, SN_env::l, SN_env::p, s_10, s_11, s_12, s_8, s_9, slice_del(), and slice_from_s().

Referenced by french_ISO_8859_1_stem().

◆ r_prelude()

static int r_prelude ( struct SN_env z)
static

Definition at line 446 of file stem_ISO_8859_1_french.c.

446 {
447 while (1) {
448 int v_1 = z->c;
449 while (1) {
450 int v_2 = z->c;
451 do {
452 int v_3 = z->c;
453 if (in_grouping(z, g_v, 97, 251, 0)) goto lab2;
454 z->bra = z->c;
455 do {
456 int v_4 = z->c;
457 if (z->c == z->l || z->p[z->c] != 'u') goto lab3;
458 z->c++;
459 z->ket = z->c;
460 if (in_grouping(z, g_v, 97, 251, 0)) goto lab3;
461 {
462 int ret = slice_from_s(z, 1, s_1);
463 if (ret < 0) return ret;
464 }
465 break;
466 lab3:
467 z->c = v_4;
468 if (z->c == z->l || z->p[z->c] != 'i') goto lab4;
469 z->c++;
470 z->ket = z->c;
471 if (in_grouping(z, g_v, 97, 251, 0)) goto lab4;
472 {
473 int ret = slice_from_s(z, 1, s_2);
474 if (ret < 0) return ret;
475 }
476 break;
477 lab4:
478 z->c = v_4;
479 if (z->c == z->l || z->p[z->c] != 'y') goto lab2;
480 z->c++;
481 z->ket = z->c;
482 {
483 int ret = slice_from_s(z, 1, s_3);
484 if (ret < 0) return ret;
485 }
486 } while (0);
487 break;
488 lab2:
489 z->c = v_3;
490 z->bra = z->c;
491 if (z->c == z->l || z->p[z->c] != 0xEB) goto lab5;
492 z->c++;
493 z->ket = z->c;
494 {
495 int ret = slice_from_s(z, 2, s_4);
496 if (ret < 0) return ret;
497 }
498 break;
499 lab5:
500 z->c = v_3;
501 z->bra = z->c;
502 if (z->c == z->l || z->p[z->c] != 0xEF) goto lab6;
503 z->c++;
504 z->ket = z->c;
505 {
506 int ret = slice_from_s(z, 2, s_5);
507 if (ret < 0) return ret;
508 }
509 break;
510 lab6:
511 z->c = v_3;
512 z->bra = z->c;
513 if (z->c == z->l || z->p[z->c] != 'y') goto lab7;
514 z->c++;
515 z->ket = z->c;
516 if (in_grouping(z, g_v, 97, 251, 0)) goto lab7;
517 {
518 int ret = slice_from_s(z, 1, s_6);
519 if (ret < 0) return ret;
520 }
521 break;
522 lab7:
523 z->c = v_3;
524 if (z->c == z->l || z->p[z->c] != 'q') goto lab1;
525 z->c++;
526 z->bra = z->c;
527 if (z->c == z->l || z->p[z->c] != 'u') goto lab1;
528 z->c++;
529 z->ket = z->c;
530 {
531 int ret = slice_from_s(z, 1, s_7);
532 if (ret < 0) return ret;
533 }
534 } while (0);
535 z->c = v_2;
536 break;
537 lab1:
538 z->c = v_2;
539 if (z->c >= z->l) goto lab0;
540 z->c++;
541 }
542 continue;
543 lab0:
544 z->c = v_1;
545 break;
546 }
547 return 1;
548}
static const symbol s_2[]
static const symbol s_4[]
static const symbol s_6[]
static const symbol s_3[]
static const symbol s_7[]
static const symbol s_1[]
static const symbol s_5[]

References SN_env::bra, SN_env::c, g_v, in_grouping(), SN_env::ket, SN_env::l, SN_env::p, s_1, s_2, s_3, s_4, s_5, s_6, s_7, and slice_from_s().

Referenced by french_ISO_8859_1_stem().

◆ r_R1()

static int r_R1 ( struct SN_env z)
static

Definition at line 681 of file stem_ISO_8859_1_french.c.

681 {
682 return ((SN_local *)z)->i_p1 <= z->c;
683}

References SN_env::c.

Referenced by r_standard_suffix().

◆ r_R2()

static int r_R2 ( struct SN_env z)
static

Definition at line 685 of file stem_ISO_8859_1_french.c.

685 {
686 return ((SN_local *)z)->i_p2 <= z->c;
687}

References SN_env::c.

Referenced by r_residual_suffix(), r_standard_suffix(), and r_verb_suffix().

◆ r_residual_suffix()

static int r_residual_suffix ( struct SN_env z)
static

Definition at line 1191 of file stem_ISO_8859_1_french.c.

1191 {
1192 int among_var;
1193 {
1194 int v_1 = z->l - z->c;
1195 z->ket = z->c;
1196 if (z->c <= z->lb || z->p[z->c - 1] != 's') { z->c = z->l - v_1; goto lab0; }
1197 z->c--;
1198 z->bra = z->c;
1199 {
1200 int v_2 = z->l - z->c;
1201 do {
1202 int v_3 = z->l - z->c;
1203 if (!(eq_s_b(z, 2, s_32))) goto lab1;
1204 break;
1205 lab1:
1206 z->c = z->l - v_3;
1207 if (out_grouping_b(z, g_keep_with_s, 97, 232, 0)) { z->c = z->l - v_1; goto lab0; }
1208 } while (0);
1209 z->c = z->l - v_2;
1210 }
1211 {
1212 int ret = slice_del(z);
1213 if (ret < 0) return ret;
1214 }
1215 lab0:
1216 ;
1217 }
1218 {
1219 int v_4;
1220 if (z->c < ((SN_local *)z)->i_pV) return 0;
1221 v_4 = z->lb; z->lb = ((SN_local *)z)->i_pV;
1222 z->ket = z->c;
1223 if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((278560 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = v_4; return 0; }
1224 among_var = find_among_b(z, a_8, 6, 0);
1225 if (!among_var) { z->lb = v_4; return 0; }
1226 z->bra = z->c;
1227 switch (among_var) {
1228 case 1:
1229 {
1230 int ret = r_R2(z);
1231 if (ret == 0) { z->lb = v_4; return 0; }
1232 if (ret < 0) return ret;
1233 }
1234 do {
1235 int v_5 = z->l - z->c;
1236 if (z->c <= z->lb || z->p[z->c - 1] != 's') goto lab2;
1237 z->c--;
1238 break;
1239 lab2:
1240 z->c = z->l - v_5;
1241 if (z->c <= z->lb || z->p[z->c - 1] != 't') { z->lb = v_4; return 0; }
1242 z->c--;
1243 } while (0);
1244 {
1245 int ret = slice_del(z);
1246 if (ret < 0) return ret;
1247 }
1248 break;
1249 case 2:
1250 {
1251 int ret = slice_from_s(z, 1, s_33);
1252 if (ret < 0) return ret;
1253 }
1254 break;
1255 case 3:
1256 {
1257 int ret = slice_del(z);
1258 if (ret < 0) return ret;
1259 }
1260 break;
1261 }
1262 z->lb = v_4;
1263 }
1264 return 1;
1265}
static const struct among a_8[6]
static int r_R2(struct SN_env *z)
static const symbol s_32[]
static const unsigned char g_keep_with_s[]
static const symbol s_33[]
int eq_s_b(struct SN_env *z, int s_size, const symbol *s)
Definition: utilities.c:236

References a_8, SN_env::bra, SN_env::c, eq_s_b(), find_among_b(), g_keep_with_s, SN_local::i_pV, SN_env::ket, SN_env::l, SN_env::lb, out_grouping_b(), SN_env::p, r_R2(), s_32, s_33, slice_del(), and slice_from_s().

Referenced by french_ISO_8859_1_stem().

◆ r_RV()

static int r_RV ( struct SN_env z)
static

Definition at line 677 of file stem_ISO_8859_1_french.c.

677 {
678 return ((SN_local *)z)->i_pV <= z->c;
679}

References SN_env::c.

Referenced by r_standard_suffix(), and r_verb_suffix().

◆ r_standard_suffix()

static int r_standard_suffix ( struct SN_env z)
static

Definition at line 689 of file stem_ISO_8859_1_french.c.

689 {
690 int among_var;
691 z->ket = z->c;
692 among_var = find_among_b(z, a_4, 44, 0);
693 if (!among_var) return 0;
694 z->bra = z->c;
695 switch (among_var) {
696 case 1:
697 {
698 int ret = r_R2(z);
699 if (ret <= 0) return ret;
700 }
701 {
702 int ret = slice_del(z);
703 if (ret < 0) return ret;
704 }
705 break;
706 case 2:
707 {
708 int ret = r_R2(z);
709 if (ret <= 0) return ret;
710 }
711 {
712 int ret = slice_del(z);
713 if (ret < 0) return ret;
714 }
715 {
716 int v_1 = z->l - z->c;
717 z->ket = z->c;
718 if (!(eq_s_b(z, 2, s_13))) { z->c = z->l - v_1; goto lab0; }
719 z->bra = z->c;
720 do {
721 int v_2 = z->l - z->c;
722 {
723 int ret = r_R2(z);
724 if (ret == 0) goto lab1;
725 if (ret < 0) return ret;
726 }
727 {
728 int ret = slice_del(z);
729 if (ret < 0) return ret;
730 }
731 break;
732 lab1:
733 z->c = z->l - v_2;
734 {
735 int ret = slice_from_s(z, 3, s_14);
736 if (ret < 0) return ret;
737 }
738 } while (0);
739 lab0:
740 ;
741 }
742 break;
743 case 3:
744 {
745 int ret = r_R2(z);
746 if (ret <= 0) return ret;
747 }
748 {
749 int ret = slice_from_s(z, 3, s_15);
750 if (ret < 0) return ret;
751 }
752 break;
753 case 4:
754 {
755 int ret = r_R2(z);
756 if (ret <= 0) return ret;
757 }
758 {
759 int ret = slice_from_s(z, 1, s_16);
760 if (ret < 0) return ret;
761 }
762 break;
763 case 5:
764 {
765 int ret = r_R2(z);
766 if (ret <= 0) return ret;
767 }
768 {
769 int ret = slice_from_s(z, 3, s_17);
770 if (ret < 0) return ret;
771 }
772 break;
773 case 6:
774 {
775 int ret = r_RV(z);
776 if (ret <= 0) return ret;
777 }
778 {
779 int ret = slice_del(z);
780 if (ret < 0) return ret;
781 }
782 {
783 int v_3 = z->l - z->c;
784 z->ket = z->c;
785 among_var = find_among_b(z, a_2, 6, 0);
786 if (!among_var) { z->c = z->l - v_3; goto lab2; }
787 z->bra = z->c;
788 switch (among_var) {
789 case 1:
790 {
791 int ret = r_R2(z);
792 if (ret == 0) { z->c = z->l - v_3; goto lab2; }
793 if (ret < 0) return ret;
794 }
795 {
796 int ret = slice_del(z);
797 if (ret < 0) return ret;
798 }
799 z->ket = z->c;
800 if (!(eq_s_b(z, 2, s_18))) { z->c = z->l - v_3; goto lab2; }
801 z->bra = z->c;
802 {
803 int ret = r_R2(z);
804 if (ret == 0) { z->c = z->l - v_3; goto lab2; }
805 if (ret < 0) return ret;
806 }
807 {
808 int ret = slice_del(z);
809 if (ret < 0) return ret;
810 }
811 break;
812 case 2:
813 do {
814 int v_4 = z->l - z->c;
815 {
816 int ret = r_R2(z);
817 if (ret == 0) goto lab3;
818 if (ret < 0) return ret;
819 }
820 {
821 int ret = slice_del(z);
822 if (ret < 0) return ret;
823 }
824 break;
825 lab3:
826 z->c = z->l - v_4;
827 {
828 int ret = r_R1(z);
829 if (ret == 0) { z->c = z->l - v_3; goto lab2; }
830 if (ret < 0) return ret;
831 }
832 {
833 int ret = slice_from_s(z, 3, s_19);
834 if (ret < 0) return ret;
835 }
836 } while (0);
837 break;
838 case 3:
839 {
840 int ret = r_R2(z);
841 if (ret == 0) { z->c = z->l - v_3; goto lab2; }
842 if (ret < 0) return ret;
843 }
844 {
845 int ret = slice_del(z);
846 if (ret < 0) return ret;
847 }
848 break;
849 case 4:
850 {
851 int ret = r_RV(z);
852 if (ret == 0) { z->c = z->l - v_3; goto lab2; }
853 if (ret < 0) return ret;
854 }
855 {
856 int ret = slice_from_s(z, 1, s_20);
857 if (ret < 0) return ret;
858 }
859 break;
860 }
861 lab2:
862 ;
863 }
864 break;
865 case 7:
866 {
867 int ret = r_R2(z);
868 if (ret <= 0) return ret;
869 }
870 {
871 int ret = slice_del(z);
872 if (ret < 0) return ret;
873 }
874 {
875 int v_5 = z->l - z->c;
876 z->ket = z->c;
877 if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4198408 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l - v_5; goto lab4; }
878 among_var = find_among_b(z, a_3, 3, 0);
879 if (!among_var) { z->c = z->l - v_5; goto lab4; }
880 z->bra = z->c;
881 switch (among_var) {
882 case 1:
883 do {
884 int v_6 = z->l - z->c;
885 {
886 int ret = r_R2(z);
887 if (ret == 0) goto lab5;
888 if (ret < 0) return ret;
889 }
890 {
891 int ret = slice_del(z);
892 if (ret < 0) return ret;
893 }
894 break;
895 lab5:
896 z->c = z->l - v_6;
897 {
898 int ret = slice_from_s(z, 3, s_21);
899 if (ret < 0) return ret;
900 }
901 } while (0);
902 break;
903 case 2:
904 do {
905 int v_7 = z->l - z->c;
906 {
907 int ret = r_R2(z);
908 if (ret == 0) goto lab6;
909 if (ret < 0) return ret;
910 }
911 {
912 int ret = slice_del(z);
913 if (ret < 0) return ret;
914 }
915 break;
916 lab6:
917 z->c = z->l - v_7;
918 {
919 int ret = slice_from_s(z, 3, s_22);
920 if (ret < 0) return ret;
921 }
922 } while (0);
923 break;
924 case 3:
925 {
926 int ret = r_R2(z);
927 if (ret == 0) { z->c = z->l - v_5; goto lab4; }
928 if (ret < 0) return ret;
929 }
930 {
931 int ret = slice_del(z);
932 if (ret < 0) return ret;
933 }
934 break;
935 }
936 lab4:
937 ;
938 }
939 break;
940 case 8:
941 {
942 int ret = r_R2(z);
943 if (ret <= 0) return ret;
944 }
945 {
946 int ret = slice_del(z);
947 if (ret < 0) return ret;
948 }
949 {
950 int v_8 = z->l - z->c;
951 z->ket = z->c;
952 if (!(eq_s_b(z, 2, s_23))) { z->c = z->l - v_8; goto lab7; }
953 z->bra = z->c;
954 {
955 int ret = r_R2(z);
956 if (ret == 0) { z->c = z->l - v_8; goto lab7; }
957 if (ret < 0) return ret;
958 }
959 {
960 int ret = slice_del(z);
961 if (ret < 0) return ret;
962 }
963 z->ket = z->c;
964 if (!(eq_s_b(z, 2, s_24))) { z->c = z->l - v_8; goto lab7; }
965 z->bra = z->c;
966 do {
967 int v_9 = z->l - z->c;
968 {
969 int ret = r_R2(z);
970 if (ret == 0) goto lab8;
971 if (ret < 0) return ret;
972 }
973 {
974 int ret = slice_del(z);
975 if (ret < 0) return ret;
976 }
977 break;
978 lab8:
979 z->c = z->l - v_9;
980 {
981 int ret = slice_from_s(z, 3, s_25);
982 if (ret < 0) return ret;
983 }
984 } while (0);
985 lab7:
986 ;
987 }
988 break;
989 case 9:
990 {
991 int ret = slice_from_s(z, 3, s_26);
992 if (ret < 0) return ret;
993 }
994 break;
995 case 10:
996 {
997 int ret = r_R1(z);
998 if (ret <= 0) return ret;
999 }
1000 {
1001 int ret = slice_from_s(z, 2, s_27);
1002 if (ret < 0) return ret;
1003 }
1004 break;
1005 case 11:
1006 if (in_grouping_b(z, g_oux_ending, 98, 112, 0)) return 0;
1007 {
1008 int ret = slice_from_s(z, 2, s_28);
1009 if (ret < 0) return ret;
1010 }
1011 break;
1012 case 12:
1013 do {
1014 int v_10 = z->l - z->c;
1015 {
1016 int ret = r_R2(z);
1017 if (ret == 0) goto lab9;
1018 if (ret < 0) return ret;
1019 }
1020 {
1021 int ret = slice_del(z);
1022 if (ret < 0) return ret;
1023 }
1024 break;
1025 lab9:
1026 z->c = z->l - v_10;
1027 {
1028 int ret = r_R1(z);
1029 if (ret <= 0) return ret;
1030 }
1031 {
1032 int ret = slice_from_s(z, 3, s_29);
1033 if (ret < 0) return ret;
1034 }
1035 } while (0);
1036 break;
1037 case 13:
1038 {
1039 int ret = r_R1(z);
1040 if (ret <= 0) return ret;
1041 }
1042 if (out_grouping_b(z, g_v, 97, 251, 0)) return 0;
1043 {
1044 int ret = slice_del(z);
1045 if (ret < 0) return ret;
1046 }
1047 break;
1048 case 14:
1049 {
1050 int ret = r_RV(z);
1051 if (ret <= 0) return ret;
1052 }
1053 {
1054 int ret = slice_from_s(z, 3, s_30);
1055 if (ret < 0) return ret;
1056 }
1057 return 0;
1058 break;
1059 case 15:
1060 {
1061 int ret = r_RV(z);
1062 if (ret <= 0) return ret;
1063 }
1064 {
1065 int ret = slice_from_s(z, 3, s_31);
1066 if (ret < 0) return ret;
1067 }
1068 return 0;
1069 break;
1070 case 16:
1071 {
1072 int v_11 = z->l - z->c;
1073 if (in_grouping_b(z, g_v, 97, 251, 0)) return 0;
1074 {
1075 int ret = r_RV(z);
1076 if (ret <= 0) return ret;
1077 }
1078 z->c = z->l - v_11;
1079 }
1080 {
1081 int ret = slice_del(z);
1082 if (ret < 0) return ret;
1083 }
1084 return 0;
1085 break;
1086 }
1087 return 1;
1088}
static const symbol s_25[]
static const struct among a_4[44]
static const symbol s_30[]
static const symbol s_29[]
static const struct among a_2[6]
static const symbol s_27[]
static const symbol s_21[]
static const struct among a_3[3]
static const symbol s_13[]
static const symbol s_20[]
static int r_RV(struct SN_env *z)
static const symbol s_19[]
static const symbol s_23[]
static const symbol s_24[]
static int r_R1(struct SN_env *z)
static const symbol s_16[]
static const symbol s_14[]
static const symbol s_22[]
static const symbol s_31[]
static const unsigned char g_oux_ending[]
static const symbol s_18[]
static const symbol s_17[]
static const symbol s_28[]
static const symbol s_15[]
static const symbol s_26[]
int in_grouping_b(struct SN_env *z, const unsigned char *s, int min, int max, int repeat)
Definition: utilities.c:195

References a_2, a_3, a_4, SN_env::bra, SN_env::c, eq_s_b(), find_among_b(), g_oux_ending, g_v, in_grouping_b(), SN_env::ket, SN_env::l, SN_env::lb, out_grouping_b(), SN_env::p, r_R1(), r_R2(), r_RV(), s_13, s_14, s_15, s_16, s_17, s_18, s_19, s_20, s_21, s_22, s_23, s_24, s_25, s_26, s_27, s_28, s_29, s_30, s_31, slice_del(), and slice_from_s().

Referenced by french_ISO_8859_1_stem().

◆ r_un_accent()

static int r_un_accent ( struct SN_env z)
static

Definition at line 1285 of file stem_ISO_8859_1_french.c.

1285 {
1286 {
1287 int v_1 = 1;
1288 while (1) {
1289 if (out_grouping_b(z, g_v, 97, 251, 0)) goto lab0;
1290 v_1--;
1291 continue;
1292 lab0:
1293 break;
1294 }
1295 if (v_1 > 0) return 0;
1296 }
1297 z->ket = z->c;
1298 do {
1299 int v_2 = z->l - z->c;
1300 if (z->c <= z->lb || z->p[z->c - 1] != 0xE9) goto lab1;
1301 z->c--;
1302 break;
1303 lab1:
1304 z->c = z->l - v_2;
1305 if (z->c <= z->lb || z->p[z->c - 1] != 0xE8) return 0;
1306 z->c--;
1307 } while (0);
1308 z->bra = z->c;
1309 {
1310 int ret = slice_from_s(z, 1, s_34);
1311 if (ret < 0) return ret;
1312 }
1313 return 1;
1314}
static const symbol s_34[]

References SN_env::bra, SN_env::c, g_v, SN_env::ket, SN_env::l, SN_env::lb, out_grouping_b(), SN_env::p, s_34, and slice_from_s().

Referenced by french_ISO_8859_1_stem().

◆ r_un_double()

static int r_un_double ( struct SN_env z)
static

Definition at line 1267 of file stem_ISO_8859_1_french.c.

1267 {
1268 {
1269 int v_1 = z->l - z->c;
1270 if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1069056 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
1271 if (!find_among_b(z, a_9, 5, 0)) return 0;
1272 z->c = z->l - v_1;
1273 }
1274 z->ket = z->c;
1275 if (z->c <= z->lb) return 0;
1276 z->c--;
1277 z->bra = z->c;
1278 {
1279 int ret = slice_del(z);
1280 if (ret < 0) return ret;
1281 }
1282 return 1;
1283}
static const struct among a_9[5]

References a_9, SN_env::bra, SN_env::c, find_among_b(), SN_env::ket, SN_env::l, SN_env::lb, SN_env::p, and slice_del().

Referenced by french_ISO_8859_1_stem().

◆ r_verb_suffix()

static int r_verb_suffix ( struct SN_env z)
static

Definition at line 1117 of file stem_ISO_8859_1_french.c.

1117 {
1118 int among_var;
1119 {
1120 int v_1;
1121 if (z->c < ((SN_local *)z)->i_pV) return 0;
1122 v_1 = z->lb; z->lb = ((SN_local *)z)->i_pV;
1123 z->ket = z->c;
1124 among_var = find_among_b(z, a_7, 41, 0);
1125 if (!among_var) { z->lb = v_1; return 0; }
1126 z->bra = z->c;
1127 z->lb = v_1;
1128 }
1129 switch (among_var) {
1130 case 1:
1131 {
1132 int ret = r_R2(z);
1133 if (ret <= 0) return ret;
1134 }
1135 {
1136 int ret = slice_del(z);
1137 if (ret < 0) return ret;
1138 }
1139 break;
1140 case 2:
1141 {
1142 int ret = slice_del(z);
1143 if (ret < 0) return ret;
1144 }
1145 break;
1146 case 3:
1147 {
1148 int v_2 = z->l - z->c;
1149 if (z->c <= z->lb || z->p[z->c - 1] != 'e') { z->c = z->l - v_2; goto lab0; }
1150 z->c--;
1151 {
1152 int ret = r_RV(z);
1153 if (ret == 0) { z->c = z->l - v_2; goto lab0; }
1154 if (ret < 0) return ret;
1155 }
1156 z->bra = z->c;
1157 lab0:
1158 ;
1159 }
1160 {
1161 int ret = slice_del(z);
1162 if (ret < 0) return ret;
1163 }
1164 break;
1165 case 4:
1166 {
1167 int v_3 = z->l - z->c;
1168 if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 108 && z->p[z->c - 1] != 118)) goto lab1;
1169 among_var = find_among_b(z, a_6, 3, 0);
1170 if (!among_var) goto lab1;
1171 switch (among_var) {
1172 case 1:
1173 if (z->c <= z->lb) goto lab1;
1174 z->c--;
1175 if (z->c > z->lb) goto lab1;
1176 break;
1177 }
1178 return 0;
1179 lab1:
1180 z->c = z->l - v_3;
1181 }
1182 {
1183 int ret = slice_del(z);
1184 if (ret < 0) return ret;
1185 }
1186 break;
1187 }
1188 return 1;
1189}
static const struct among a_6[3]
static const struct among a_7[41]

References a_6, a_7, SN_env::bra, SN_env::c, find_among_b(), SN_local::i_pV, SN_env::l, SN_env::lb, SN_env::p, r_R2(), r_RV(), and slice_del().

Referenced by french_ISO_8859_1_stem().

Variable Documentation

◆ a_0

const struct among a_0[4]
static
Initial value:
= {
{ 3, s_0_0, 0, -1, 0},
{ 2, s_0_1, 0, 1, 0},
{ 3, s_0_2, 0, -1, 0},
{ 3, s_0_3, 0, -1, 0}
}
static const symbol s_0_2[3]
static const symbol s_0_3[3]
static const symbol s_0_1[2]
static const symbol s_0_0[3]

Definition at line 82 of file stem_ISO_8859_1_french.c.

Referenced by r_mark_regions().

◆ a_1

const struct among a_1[7]
static
Initial value:
= {
{ 0, 0, 0, 7, 0},
{ 1, s_1_1, -1, 6, 0},
{ 2, s_1_2, -1, 4, 0},
{ 2, s_1_3, -2, 5, 0},
{ 1, s_1_4, -4, 1, 0},
{ 1, s_1_5, -5, 2, 0},
{ 1, s_1_6, -6, 3, 0}
}
static const symbol s_1_2[2]
static const symbol s_1_3[2]
static const symbol s_1_4[1]
static const symbol s_1_5[1]
static const symbol s_1_6[1]
static const symbol s_1_1[1]

Definition at line 95 of file stem_ISO_8859_1_french.c.

Referenced by r_postlude().

◆ a_2

const struct among a_2[6]
static
Initial value:
= {
{ 3, s_2_0, 0, 3, 0},
{ 3, s_2_1, 0, 3, 0},
{ 3, s_2_2, 0, 4, 0},
{ 3, s_2_3, 0, 4, 0},
{ 3, s_2_4, 0, 2, 0},
{ 2, s_2_5, 0, 1, 0}
}
static const symbol s_2_5[2]
static const symbol s_2_3[3]
static const symbol s_2_1[3]
static const symbol s_2_0[3]
static const symbol s_2_4[3]
static const symbol s_2_2[3]

Definition at line 111 of file stem_ISO_8859_1_french.c.

Referenced by r_standard_suffix().

◆ a_3

const struct among a_3[3]
static
Initial value:
= {
{ 2, s_3_0, 0, 2, 0},
{ 4, s_3_1, 0, 1, 0},
{ 2, s_3_2, 0, 3, 0}
}
static const symbol s_3_0[2]
static const symbol s_3_1[4]
static const symbol s_3_2[2]

Definition at line 123 of file stem_ISO_8859_1_french.c.

Referenced by r_standard_suffix().

◆ a_4

const struct among a_4[44]
static

Definition at line 173 of file stem_ISO_8859_1_french.c.

Referenced by r_standard_suffix().

◆ a_5

const struct among a_5[35]
static

Definition at line 255 of file stem_ISO_8859_1_french.c.

Referenced by r_i_verb_suffix().

◆ a_6

const struct among a_6[3]
static
Initial value:
= {
{ 2, s_6_0, 0, 1, 0},
{ 3, s_6_1, 0, -1, 0},
{ 3, s_6_2, 0, -1, 0}
}
static const symbol s_6_1[3]
static const symbol s_6_2[3]
static const symbol s_6_0[2]

Definition at line 296 of file stem_ISO_8859_1_french.c.

Referenced by r_verb_suffix().

◆ a_7

const struct among a_7[41]
static

Definition at line 343 of file stem_ISO_8859_1_french.c.

Referenced by r_verb_suffix().

◆ a_8

const struct among a_8[6]
static
Initial value:
= {
{ 1, s_8_0, 0, 3, 0},
{ 4, s_8_1, -1, 2, 0},
{ 4, s_8_2, -2, 2, 0},
{ 3, s_8_3, 0, 1, 0},
{ 3, s_8_4, 0, 2, 0},
{ 3, s_8_5, 0, 2, 0}
}
static const symbol s_8_2[4]
static const symbol s_8_5[3]
static const symbol s_8_4[3]
static const symbol s_8_1[4]
static const symbol s_8_0[1]
static const symbol s_8_3[3]

Definition at line 393 of file stem_ISO_8859_1_french.c.

Referenced by r_residual_suffix().

◆ a_9

const struct among a_9[5]
static
Initial value:
= {
{ 3, s_9_0, 0, -1, 0},
{ 4, s_9_1, 0, -1, 0},
{ 3, s_9_2, 0, -1, 0},
{ 3, s_9_3, 0, -1, 0},
{ 3, s_9_4, 0, -1, 0}
}
static const symbol s_9_0[3]
static const symbol s_9_3[3]
static const symbol s_9_2[3]
static const symbol s_9_1[4]
static const symbol s_9_4[3]

Definition at line 407 of file stem_ISO_8859_1_french.c.

Referenced by r_un_double().

◆ g_elision_char

const unsigned char g_elision_char[] = { 131, 14, 3 }
static

Definition at line 419 of file stem_ISO_8859_1_french.c.

Referenced by r_elisions().

◆ g_keep_with_s

const unsigned char g_keep_with_s[] = { 1, 65, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 }
static

Definition at line 421 of file stem_ISO_8859_1_french.c.

Referenced by r_residual_suffix().

◆ g_oux_ending

const unsigned char g_oux_ending[] = { 65, 85 }
static

Definition at line 417 of file stem_ISO_8859_1_french.c.

Referenced by r_standard_suffix().

◆ g_v

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 }
static

◆ s_0

const symbol s_0[] = { 'q', 'u' }
static

Definition at line 40 of file stem_ISO_8859_1_french.c.

Referenced by r_elisions().

◆ s_0_0

const symbol s_0_0[3] = { 'c', 'o', 'l' }
static

Definition at line 78 of file stem_ISO_8859_1_french.c.

◆ s_0_1

const symbol s_0_1[2] = { 'n', 'i' }
static

Definition at line 79 of file stem_ISO_8859_1_french.c.

◆ s_0_2

const symbol s_0_2[3] = { 'p', 'a', 'r' }
static

Definition at line 80 of file stem_ISO_8859_1_french.c.

◆ s_0_3

const symbol s_0_3[3] = { 't', 'a', 'p' }
static

Definition at line 81 of file stem_ISO_8859_1_french.c.

◆ s_1

const symbol s_1[] = { 'U' }
static

Definition at line 41 of file stem_ISO_8859_1_french.c.

Referenced by r_prelude().

◆ s_10

const symbol s_10[] = { 'y' }
static

Definition at line 50 of file stem_ISO_8859_1_french.c.

Referenced by r_postlude().

◆ s_11

const symbol s_11[] = { 0xEB }
static

Definition at line 51 of file stem_ISO_8859_1_french.c.

Referenced by r_postlude().

◆ s_12

const symbol s_12[] = { 0xEF }
static

Definition at line 52 of file stem_ISO_8859_1_french.c.

Referenced by r_postlude().

◆ s_13

const symbol s_13[] = { 'i', 'c' }
static

Definition at line 53 of file stem_ISO_8859_1_french.c.

Referenced by r_standard_suffix().

◆ s_14

const symbol s_14[] = { 'i', 'q', 'U' }
static

Definition at line 54 of file stem_ISO_8859_1_french.c.

Referenced by r_standard_suffix().

◆ s_15

const symbol s_15[] = { 'l', 'o', 'g' }
static

Definition at line 55 of file stem_ISO_8859_1_french.c.

Referenced by r_standard_suffix().

◆ s_16

const symbol s_16[] = { 'u' }
static

Definition at line 56 of file stem_ISO_8859_1_french.c.

Referenced by r_standard_suffix().

◆ s_17

const symbol s_17[] = { 'e', 'n', 't' }
static

Definition at line 57 of file stem_ISO_8859_1_french.c.

Referenced by r_standard_suffix().

◆ s_18

const symbol s_18[] = { 'a', 't' }
static

Definition at line 58 of file stem_ISO_8859_1_french.c.

Referenced by r_standard_suffix().

◆ s_19

const symbol s_19[] = { 'e', 'u', 'x' }
static

Definition at line 59 of file stem_ISO_8859_1_french.c.

Referenced by r_standard_suffix().

◆ s_1_1

const symbol s_1_1[1] = { 'H' }
static

Definition at line 89 of file stem_ISO_8859_1_french.c.

◆ s_1_2

const symbol s_1_2[2] = { 'H', 'e' }
static

Definition at line 90 of file stem_ISO_8859_1_french.c.

◆ s_1_3

const symbol s_1_3[2] = { 'H', 'i' }
static

Definition at line 91 of file stem_ISO_8859_1_french.c.

◆ s_1_4

const symbol s_1_4[1] = { 'I' }
static

Definition at line 92 of file stem_ISO_8859_1_french.c.

◆ s_1_5

const symbol s_1_5[1] = { 'U' }
static

Definition at line 93 of file stem_ISO_8859_1_french.c.

◆ s_1_6

const symbol s_1_6[1] = { 'Y' }
static

Definition at line 94 of file stem_ISO_8859_1_french.c.

◆ s_2

const symbol s_2[] = { 'I' }
static

Definition at line 42 of file stem_ISO_8859_1_french.c.

Referenced by r_prelude().

◆ s_20

const symbol s_20[] = { 'i' }
static

Definition at line 60 of file stem_ISO_8859_1_french.c.

Referenced by r_standard_suffix().

◆ s_21

const symbol s_21[] = { 'a', 'b', 'l' }
static

Definition at line 61 of file stem_ISO_8859_1_french.c.

Referenced by r_standard_suffix().

◆ s_22

const symbol s_22[] = { 'i', 'q', 'U' }
static

Definition at line 62 of file stem_ISO_8859_1_french.c.

Referenced by r_standard_suffix().

◆ s_23

const symbol s_23[] = { 'a', 't' }
static

Definition at line 63 of file stem_ISO_8859_1_french.c.

Referenced by r_standard_suffix().

◆ s_24

const symbol s_24[] = { 'i', 'c' }
static

Definition at line 64 of file stem_ISO_8859_1_french.c.

Referenced by r_standard_suffix().

◆ s_25

const symbol s_25[] = { 'i', 'q', 'U' }
static

Definition at line 65 of file stem_ISO_8859_1_french.c.

Referenced by r_standard_suffix().

◆ s_26

const symbol s_26[] = { 'e', 'a', 'u' }
static

Definition at line 66 of file stem_ISO_8859_1_french.c.

Referenced by r_standard_suffix().

◆ s_27

const symbol s_27[] = { 'a', 'l' }
static

Definition at line 67 of file stem_ISO_8859_1_french.c.

Referenced by r_standard_suffix().

◆ s_28

const symbol s_28[] = { 'o', 'u' }
static

Definition at line 68 of file stem_ISO_8859_1_french.c.

Referenced by r_standard_suffix().

◆ s_29

const symbol s_29[] = { 'e', 'u', 'x' }
static

Definition at line 69 of file stem_ISO_8859_1_french.c.

Referenced by r_standard_suffix().

◆ s_2_0

const symbol s_2_0[3] = { 'i', 'q', 'U' }
static

Definition at line 105 of file stem_ISO_8859_1_french.c.

◆ s_2_1

const symbol s_2_1[3] = { 'a', 'b', 'l' }
static

Definition at line 106 of file stem_ISO_8859_1_french.c.

◆ s_2_2

const symbol s_2_2[3] = { 'I', 0xE8, 'r' }
static

Definition at line 107 of file stem_ISO_8859_1_french.c.

◆ s_2_3

const symbol s_2_3[3] = { 'i', 0xE8, 'r' }
static

Definition at line 108 of file stem_ISO_8859_1_french.c.

◆ s_2_4

const symbol s_2_4[3] = { 'e', 'u', 's' }
static

Definition at line 109 of file stem_ISO_8859_1_french.c.

◆ s_2_5

const symbol s_2_5[2] = { 'i', 'v' }
static

Definition at line 110 of file stem_ISO_8859_1_french.c.

◆ s_3

const symbol s_3[] = { 'Y' }
static

Definition at line 43 of file stem_ISO_8859_1_french.c.

Referenced by r_prelude().

◆ s_30

const symbol s_30[] = { 'a', 'n', 't' }
static

Definition at line 70 of file stem_ISO_8859_1_french.c.

Referenced by r_standard_suffix().

◆ s_31

const symbol s_31[] = { 'e', 'n', 't' }
static

Definition at line 71 of file stem_ISO_8859_1_french.c.

Referenced by r_standard_suffix().

◆ s_32

const symbol s_32[] = { 'H', 'i' }
static

Definition at line 72 of file stem_ISO_8859_1_french.c.

Referenced by r_residual_suffix().

◆ s_33

const symbol s_33[] = { 'i' }
static

Definition at line 73 of file stem_ISO_8859_1_french.c.

Referenced by r_residual_suffix().

◆ s_34

const symbol s_34[] = { 'e' }
static

Definition at line 74 of file stem_ISO_8859_1_french.c.

Referenced by r_un_accent().

◆ s_35

const symbol s_35[] = { 'i' }
static

Definition at line 75 of file stem_ISO_8859_1_french.c.

Referenced by french_ISO_8859_1_stem().

◆ s_36

const symbol s_36[] = { 'c' }
static

Definition at line 76 of file stem_ISO_8859_1_french.c.

Referenced by french_ISO_8859_1_stem().

◆ s_3_0

const symbol s_3_0[2] = { 'i', 'c' }
static

Definition at line 120 of file stem_ISO_8859_1_french.c.

◆ s_3_1

const symbol s_3_1[4] = { 'a', 'b', 'i', 'l' }
static

Definition at line 121 of file stem_ISO_8859_1_french.c.

◆ s_3_2

const symbol s_3_2[2] = { 'i', 'v' }
static

Definition at line 122 of file stem_ISO_8859_1_french.c.

◆ s_4

const symbol s_4[] = { 'H', 'e' }
static

Definition at line 44 of file stem_ISO_8859_1_french.c.

Referenced by r_prelude().

◆ s_4_0

const symbol s_4_0[4] = { 'i', 'q', 'U', 'e' }
static

Definition at line 129 of file stem_ISO_8859_1_french.c.

◆ s_4_1

const symbol s_4_1[6] = { 'a', 't', 'r', 'i', 'c', 'e' }
static

Definition at line 130 of file stem_ISO_8859_1_french.c.

◆ s_4_10

const symbol s_4_10[2] = { 'i', 'f' }
static

Definition at line 139 of file stem_ISO_8859_1_french.c.

◆ s_4_11

const symbol s_4_11[5] = { 'u', 's', 'i', 'o', 'n' }
static

Definition at line 140 of file stem_ISO_8859_1_french.c.

◆ s_4_12

const symbol s_4_12[5] = { 'a', 't', 'i', 'o', 'n' }
static

Definition at line 141 of file stem_ISO_8859_1_french.c.

◆ s_4_13

const symbol s_4_13[5] = { 'u', 't', 'i', 'o', 'n' }
static

Definition at line 142 of file stem_ISO_8859_1_french.c.

◆ s_4_14

const symbol s_4_14[5] = { 'a', 't', 'e', 'u', 'r' }
static

Definition at line 143 of file stem_ISO_8859_1_french.c.

◆ s_4_15

const symbol s_4_15[5] = { 'i', 'q', 'U', 'e', 's' }
static

Definition at line 144 of file stem_ISO_8859_1_french.c.

◆ s_4_16

const symbol s_4_16[7] = { 'a', 't', 'r', 'i', 'c', 'e', 's' }
static

Definition at line 145 of file stem_ISO_8859_1_french.c.

◆ s_4_17

const symbol s_4_17[5] = { 'a', 'n', 'c', 'e', 's' }
static

Definition at line 146 of file stem_ISO_8859_1_french.c.

◆ s_4_18

const symbol s_4_18[5] = { 'e', 'n', 'c', 'e', 's' }
static

Definition at line 147 of file stem_ISO_8859_1_french.c.

◆ s_4_19

const symbol s_4_19[6] = { 'l', 'o', 'g', 'i', 'e', 's' }
static

Definition at line 148 of file stem_ISO_8859_1_french.c.

◆ s_4_2

const symbol s_4_2[4] = { 'a', 'n', 'c', 'e' }
static

Definition at line 131 of file stem_ISO_8859_1_french.c.

◆ s_4_20

const symbol s_4_20[5] = { 'a', 'b', 'l', 'e', 's' }
static

Definition at line 149 of file stem_ISO_8859_1_french.c.

◆ s_4_21

const symbol s_4_21[5] = { 'i', 's', 'm', 'e', 's' }
static

Definition at line 150 of file stem_ISO_8859_1_french.c.

◆ s_4_22

const symbol s_4_22[5] = { 'e', 'u', 's', 'e', 's' }
static

Definition at line 151 of file stem_ISO_8859_1_french.c.

◆ s_4_23

const symbol s_4_23[5] = { 'i', 's', 't', 'e', 's' }
static

Definition at line 152 of file stem_ISO_8859_1_french.c.

◆ s_4_24

const symbol s_4_24[4] = { 'i', 'v', 'e', 's' }
static

Definition at line 153 of file stem_ISO_8859_1_french.c.

◆ s_4_25

const symbol s_4_25[3] = { 'i', 'f', 's' }
static

Definition at line 154 of file stem_ISO_8859_1_french.c.

◆ s_4_26

const symbol s_4_26[6] = { 'u', 's', 'i', 'o', 'n', 's' }
static

Definition at line 155 of file stem_ISO_8859_1_french.c.

◆ s_4_27

const symbol s_4_27[6] = { 'a', 't', 'i', 'o', 'n', 's' }
static

Definition at line 156 of file stem_ISO_8859_1_french.c.

◆ s_4_28

const symbol s_4_28[6] = { 'u', 't', 'i', 'o', 'n', 's' }
static

Definition at line 157 of file stem_ISO_8859_1_french.c.

◆ s_4_29

const symbol s_4_29[6] = { 'a', 't', 'e', 'u', 'r', 's' }
static

Definition at line 158 of file stem_ISO_8859_1_french.c.

◆ s_4_3

const symbol s_4_3[4] = { 'e', 'n', 'c', 'e' }
static

Definition at line 132 of file stem_ISO_8859_1_french.c.

◆ s_4_30

const symbol s_4_30[5] = { 'm', 'e', 'n', 't', 's' }
static

Definition at line 159 of file stem_ISO_8859_1_french.c.

◆ s_4_31

const symbol s_4_31[6] = { 'e', 'm', 'e', 'n', 't', 's' }
static

Definition at line 160 of file stem_ISO_8859_1_french.c.

◆ s_4_32

const symbol s_4_32[9] = { 'i', 's', 's', 'e', 'm', 'e', 'n', 't', 's' }
static

Definition at line 161 of file stem_ISO_8859_1_french.c.

◆ s_4_33

const symbol s_4_33[4] = { 'i', 't', 0xE9, 's' }
static

Definition at line 162 of file stem_ISO_8859_1_french.c.

◆ s_4_34

const symbol s_4_34[4] = { 'm', 'e', 'n', 't' }
static

Definition at line 163 of file stem_ISO_8859_1_french.c.

◆ s_4_35

const symbol s_4_35[5] = { 'e', 'm', 'e', 'n', 't' }
static

Definition at line 164 of file stem_ISO_8859_1_french.c.

◆ s_4_36

const symbol s_4_36[8] = { 'i', 's', 's', 'e', 'm', 'e', 'n', 't' }
static

Definition at line 165 of file stem_ISO_8859_1_french.c.

◆ s_4_37

const symbol s_4_37[6] = { 'a', 'm', 'm', 'e', 'n', 't' }
static

Definition at line 166 of file stem_ISO_8859_1_french.c.

◆ s_4_38

const symbol s_4_38[6] = { 'e', 'm', 'm', 'e', 'n', 't' }
static

Definition at line 167 of file stem_ISO_8859_1_french.c.

◆ s_4_39

const symbol s_4_39[3] = { 'a', 'u', 'x' }
static

Definition at line 168 of file stem_ISO_8859_1_french.c.

◆ s_4_4

const symbol s_4_4[5] = { 'l', 'o', 'g', 'i', 'e' }
static

Definition at line 133 of file stem_ISO_8859_1_french.c.

◆ s_4_40

const symbol s_4_40[4] = { 'e', 'a', 'u', 'x' }
static

Definition at line 169 of file stem_ISO_8859_1_french.c.

◆ s_4_41

const symbol s_4_41[3] = { 'e', 'u', 'x' }
static

Definition at line 170 of file stem_ISO_8859_1_french.c.

◆ s_4_42

const symbol s_4_42[3] = { 'o', 'u', 'x' }
static

Definition at line 171 of file stem_ISO_8859_1_french.c.

◆ s_4_43

const symbol s_4_43[3] = { 'i', 't', 0xE9 }
static

Definition at line 172 of file stem_ISO_8859_1_french.c.

◆ s_4_5

const symbol s_4_5[4] = { 'a', 'b', 'l', 'e' }
static

Definition at line 134 of file stem_ISO_8859_1_french.c.

◆ s_4_6

const symbol s_4_6[4] = { 'i', 's', 'm', 'e' }
static

Definition at line 135 of file stem_ISO_8859_1_french.c.

◆ s_4_7

const symbol s_4_7[4] = { 'e', 'u', 's', 'e' }
static

Definition at line 136 of file stem_ISO_8859_1_french.c.

◆ s_4_8

const symbol s_4_8[4] = { 'i', 's', 't', 'e' }
static

Definition at line 137 of file stem_ISO_8859_1_french.c.

◆ s_4_9

const symbol s_4_9[3] = { 'i', 'v', 'e' }
static

Definition at line 138 of file stem_ISO_8859_1_french.c.

◆ s_5

const symbol s_5[] = { 'H', 'i' }
static

Definition at line 45 of file stem_ISO_8859_1_french.c.

Referenced by r_prelude().

◆ s_5_0

const symbol s_5_0[3] = { 'i', 'r', 'a' }
static

Definition at line 220 of file stem_ISO_8859_1_french.c.

◆ s_5_1

const symbol s_5_1[2] = { 'i', 'e' }
static

Definition at line 221 of file stem_ISO_8859_1_french.c.

◆ s_5_10

const symbol s_5_10[5] = { 'i', 's', 's', 'e', 's' }
static

Definition at line 230 of file stem_ISO_8859_1_french.c.

◆ s_5_11

const symbol s_5_11[8] = { 'i', 's', 's', 'a', 'n', 't', 'e', 's' }
static

Definition at line 231 of file stem_ISO_8859_1_french.c.

◆ s_5_12

const symbol s_5_12[4] = { 0xEE, 't', 'e', 's' }
static

Definition at line 232 of file stem_ISO_8859_1_french.c.

◆ s_5_13

const symbol s_5_13[2] = { 'i', 's' }
static

Definition at line 233 of file stem_ISO_8859_1_french.c.

◆ s_5_14

const symbol s_5_14[5] = { 'i', 'r', 'a', 'i', 's' }
static

Definition at line 234 of file stem_ISO_8859_1_french.c.

◆ s_5_15

const symbol s_5_15[6] = { 'i', 's', 's', 'a', 'i', 's' }
static

Definition at line 235 of file stem_ISO_8859_1_french.c.

◆ s_5_16

const symbol s_5_16[6] = { 'i', 'r', 'i', 'o', 'n', 's' }
static

Definition at line 236 of file stem_ISO_8859_1_french.c.

◆ s_5_17

const symbol s_5_17[7] = { 'i', 's', 's', 'i', 'o', 'n', 's' }
static

Definition at line 237 of file stem_ISO_8859_1_french.c.

◆ s_5_18

const symbol s_5_18[5] = { 'i', 'r', 'o', 'n', 's' }
static

Definition at line 238 of file stem_ISO_8859_1_french.c.

◆ s_5_19

const symbol s_5_19[6] = { 'i', 's', 's', 'o', 'n', 's' }
static

Definition at line 239 of file stem_ISO_8859_1_french.c.

◆ s_5_2

const symbol s_5_2[4] = { 'i', 's', 's', 'e' }
static

Definition at line 222 of file stem_ISO_8859_1_french.c.

◆ s_5_20

const symbol s_5_20[7] = { 'i', 's', 's', 'a', 'n', 't', 's' }
static

Definition at line 240 of file stem_ISO_8859_1_french.c.

◆ s_5_21

const symbol s_5_21[2] = { 'i', 't' }
static

Definition at line 241 of file stem_ISO_8859_1_french.c.

◆ s_5_22

const symbol s_5_22[5] = { 'i', 'r', 'a', 'i', 't' }
static

Definition at line 242 of file stem_ISO_8859_1_french.c.

◆ s_5_23

const symbol s_5_23[6] = { 'i', 's', 's', 'a', 'i', 't' }
static

Definition at line 243 of file stem_ISO_8859_1_french.c.

◆ s_5_24

const symbol s_5_24[6] = { 'i', 's', 's', 'a', 'n', 't' }
static

Definition at line 244 of file stem_ISO_8859_1_french.c.

◆ s_5_25

const symbol s_5_25[7] = { 'i', 'r', 'a', 'I', 'e', 'n', 't' }
static

Definition at line 245 of file stem_ISO_8859_1_french.c.

◆ s_5_26

const symbol s_5_26[8] = { 'i', 's', 's', 'a', 'I', 'e', 'n', 't' }
static

Definition at line 246 of file stem_ISO_8859_1_french.c.

◆ s_5_27

const symbol s_5_27[5] = { 'i', 'r', 'e', 'n', 't' }
static

Definition at line 247 of file stem_ISO_8859_1_french.c.

◆ s_5_28

const symbol s_5_28[6] = { 'i', 's', 's', 'e', 'n', 't' }
static

Definition at line 248 of file stem_ISO_8859_1_french.c.

◆ s_5_29

const symbol s_5_29[5] = { 'i', 'r', 'o', 'n', 't' }
static

Definition at line 249 of file stem_ISO_8859_1_french.c.

◆ s_5_3

const symbol s_5_3[7] = { 'i', 's', 's', 'a', 'n', 't', 'e' }
static

Definition at line 223 of file stem_ISO_8859_1_french.c.

◆ s_5_30

const symbol s_5_30[2] = { 0xEE, 't' }
static

Definition at line 250 of file stem_ISO_8859_1_french.c.

◆ s_5_31

const symbol s_5_31[5] = { 'i', 'r', 'i', 'e', 'z' }
static

Definition at line 251 of file stem_ISO_8859_1_french.c.

◆ s_5_32

const symbol s_5_32[6] = { 'i', 's', 's', 'i', 'e', 'z' }
static

Definition at line 252 of file stem_ISO_8859_1_french.c.

◆ s_5_33

const symbol s_5_33[4] = { 'i', 'r', 'e', 'z' }
static

Definition at line 253 of file stem_ISO_8859_1_french.c.

◆ s_5_34

const symbol s_5_34[5] = { 'i', 's', 's', 'e', 'z' }
static

Definition at line 254 of file stem_ISO_8859_1_french.c.

◆ s_5_4

const symbol s_5_4[1] = { 'i' }
static

Definition at line 224 of file stem_ISO_8859_1_french.c.

◆ s_5_5

const symbol s_5_5[4] = { 'i', 'r', 'a', 'i' }
static

Definition at line 225 of file stem_ISO_8859_1_french.c.

◆ s_5_6

const symbol s_5_6[2] = { 'i', 'r' }
static

Definition at line 226 of file stem_ISO_8859_1_french.c.

◆ s_5_7

const symbol s_5_7[4] = { 'i', 'r', 'a', 's' }
static

Definition at line 227 of file stem_ISO_8859_1_french.c.

◆ s_5_8

const symbol s_5_8[3] = { 'i', 'e', 's' }
static

Definition at line 228 of file stem_ISO_8859_1_french.c.

◆ s_5_9

const symbol s_5_9[4] = { 0xEE, 'm', 'e', 's' }
static

Definition at line 229 of file stem_ISO_8859_1_french.c.

◆ s_6

const symbol s_6[] = { 'Y' }
static

Definition at line 46 of file stem_ISO_8859_1_french.c.

Referenced by r_prelude().

◆ s_6_0

const symbol s_6_0[2] = { 'a', 'l' }
static

Definition at line 293 of file stem_ISO_8859_1_french.c.

◆ s_6_1

const symbol s_6_1[3] = { 0xE9, 'p', 'l' }
static

Definition at line 294 of file stem_ISO_8859_1_french.c.

◆ s_6_2

const symbol s_6_2[3] = { 'a', 'u', 'v' }
static

Definition at line 295 of file stem_ISO_8859_1_french.c.

◆ s_7

const symbol s_7[] = { 'U' }
static

Definition at line 47 of file stem_ISO_8859_1_french.c.

Referenced by r_prelude().

◆ s_7_0

const symbol s_7_0[1] = { 'a' }
static

Definition at line 302 of file stem_ISO_8859_1_french.c.

◆ s_7_1

const symbol s_7_1[3] = { 'e', 'r', 'a' }
static

Definition at line 303 of file stem_ISO_8859_1_french.c.

◆ s_7_10

const symbol s_7_10[4] = { 'e', 'r', 'a', 's' }
static

Definition at line 312 of file stem_ISO_8859_1_french.c.

◆ s_7_11

const symbol s_7_11[4] = { 0xE2, 'm', 'e', 's' }
static

Definition at line 313 of file stem_ISO_8859_1_french.c.

◆ s_7_12

const symbol s_7_12[5] = { 'a', 'i', 's', 'e', 's' }
static

Definition at line 314 of file stem_ISO_8859_1_french.c.

◆ s_7_13

const symbol s_7_13[5] = { 'a', 's', 's', 'e', 's' }
static

Definition at line 315 of file stem_ISO_8859_1_french.c.

◆ s_7_14

const symbol s_7_14[5] = { 'a', 'n', 't', 'e', 's' }
static

Definition at line 316 of file stem_ISO_8859_1_french.c.

◆ s_7_15

const symbol s_7_15[4] = { 0xE2, 't', 'e', 's' }
static

Definition at line 317 of file stem_ISO_8859_1_french.c.

◆ s_7_16

const symbol s_7_16[3] = { 0xE9, 'e', 's' }
static

Definition at line 318 of file stem_ISO_8859_1_french.c.

◆ s_7_17

const symbol s_7_17[3] = { 'a', 'i', 's' }
static

Definition at line 319 of file stem_ISO_8859_1_french.c.

◆ s_7_18

const symbol s_7_18[4] = { 'e', 'a', 'i', 's' }
static

Definition at line 320 of file stem_ISO_8859_1_french.c.

◆ s_7_19

const symbol s_7_19[5] = { 'e', 'r', 'a', 'i', 's' }
static

Definition at line 321 of file stem_ISO_8859_1_french.c.

◆ s_7_2

const symbol s_7_2[4] = { 'a', 'i', 's', 'e' }
static

Definition at line 304 of file stem_ISO_8859_1_french.c.

◆ s_7_20

const symbol s_7_20[4] = { 'i', 'o', 'n', 's' }
static

Definition at line 322 of file stem_ISO_8859_1_french.c.

◆ s_7_21

const symbol s_7_21[6] = { 'e', 'r', 'i', 'o', 'n', 's' }
static

Definition at line 323 of file stem_ISO_8859_1_french.c.

◆ s_7_22

const symbol s_7_22[7] = { 'a', 's', 's', 'i', 'o', 'n', 's' }
static

Definition at line 324 of file stem_ISO_8859_1_french.c.

◆ s_7_23

const symbol s_7_23[5] = { 'e', 'r', 'o', 'n', 's' }
static

Definition at line 325 of file stem_ISO_8859_1_french.c.

◆ s_7_24

const symbol s_7_24[4] = { 'a', 'n', 't', 's' }
static

Definition at line 326 of file stem_ISO_8859_1_french.c.

◆ s_7_25

const symbol s_7_25[2] = { 0xE9, 's' }
static

Definition at line 327 of file stem_ISO_8859_1_french.c.

◆ s_7_26

const symbol s_7_26[3] = { 'a', 'i', 't' }
static

Definition at line 328 of file stem_ISO_8859_1_french.c.

◆ s_7_27

const symbol s_7_27[5] = { 'e', 'r', 'a', 'i', 't' }
static

Definition at line 329 of file stem_ISO_8859_1_french.c.

◆ s_7_28

const symbol s_7_28[3] = { 'a', 'n', 't' }
static

Definition at line 330 of file stem_ISO_8859_1_french.c.

◆ s_7_29

const symbol s_7_29[5] = { 'a', 'I', 'e', 'n', 't' }
static

Definition at line 331 of file stem_ISO_8859_1_french.c.

◆ s_7_3

const symbol s_7_3[4] = { 'a', 's', 's', 'e' }
static

Definition at line 305 of file stem_ISO_8859_1_french.c.

◆ s_7_30

const symbol s_7_30[7] = { 'e', 'r', 'a', 'I', 'e', 'n', 't' }
static

Definition at line 332 of file stem_ISO_8859_1_french.c.

◆ s_7_31

const symbol s_7_31[5] = { 0xE8, 'r', 'e', 'n', 't' }
static

Definition at line 333 of file stem_ISO_8859_1_french.c.

◆ s_7_32

const symbol s_7_32[6] = { 'a', 's', 's', 'e', 'n', 't' }
static

Definition at line 334 of file stem_ISO_8859_1_french.c.

◆ s_7_33

const symbol s_7_33[5] = { 'e', 'r', 'o', 'n', 't' }
static

Definition at line 335 of file stem_ISO_8859_1_french.c.

◆ s_7_34

const symbol s_7_34[2] = { 0xE2, 't' }
static

Definition at line 336 of file stem_ISO_8859_1_french.c.

◆ s_7_35

const symbol s_7_35[2] = { 'e', 'z' }
static

Definition at line 337 of file stem_ISO_8859_1_french.c.

◆ s_7_36

const symbol s_7_36[3] = { 'i', 'e', 'z' }
static

Definition at line 338 of file stem_ISO_8859_1_french.c.

◆ s_7_37

const symbol s_7_37[5] = { 'e', 'r', 'i', 'e', 'z' }
static

Definition at line 339 of file stem_ISO_8859_1_french.c.

◆ s_7_38

const symbol s_7_38[6] = { 'a', 's', 's', 'i', 'e', 'z' }
static

Definition at line 340 of file stem_ISO_8859_1_french.c.

◆ s_7_39

const symbol s_7_39[4] = { 'e', 'r', 'e', 'z' }
static

Definition at line 341 of file stem_ISO_8859_1_french.c.

◆ s_7_4

const symbol s_7_4[4] = { 'a', 'n', 't', 'e' }
static

Definition at line 306 of file stem_ISO_8859_1_french.c.

◆ s_7_40

const symbol s_7_40[1] = { 0xE9 }
static

Definition at line 342 of file stem_ISO_8859_1_french.c.

◆ s_7_5

const symbol s_7_5[2] = { 0xE9, 'e' }
static

Definition at line 307 of file stem_ISO_8859_1_french.c.

◆ s_7_6

const symbol s_7_6[2] = { 'a', 'i' }
static

Definition at line 308 of file stem_ISO_8859_1_french.c.

◆ s_7_7

const symbol s_7_7[4] = { 'e', 'r', 'a', 'i' }
static

Definition at line 309 of file stem_ISO_8859_1_french.c.

◆ s_7_8

const symbol s_7_8[2] = { 'e', 'r' }
static

Definition at line 310 of file stem_ISO_8859_1_french.c.

◆ s_7_9

const symbol s_7_9[2] = { 'a', 's' }
static

Definition at line 311 of file stem_ISO_8859_1_french.c.

◆ s_8

const symbol s_8[] = { 'i' }
static

Definition at line 48 of file stem_ISO_8859_1_french.c.

Referenced by r_postlude().

◆ s_8_0

const symbol s_8_0[1] = { 'e' }
static

Definition at line 387 of file stem_ISO_8859_1_french.c.

◆ s_8_1

const symbol s_8_1[4] = { 'I', 0xE8, 'r', 'e' }
static

Definition at line 388 of file stem_ISO_8859_1_french.c.

◆ s_8_2

const symbol s_8_2[4] = { 'i', 0xE8, 'r', 'e' }
static

Definition at line 389 of file stem_ISO_8859_1_french.c.

◆ s_8_3

const symbol s_8_3[3] = { 'i', 'o', 'n' }
static

Definition at line 390 of file stem_ISO_8859_1_french.c.

◆ s_8_4

const symbol s_8_4[3] = { 'I', 'e', 'r' }
static

Definition at line 391 of file stem_ISO_8859_1_french.c.

◆ s_8_5

const symbol s_8_5[3] = { 'i', 'e', 'r' }
static

Definition at line 392 of file stem_ISO_8859_1_french.c.

◆ s_9

const symbol s_9[] = { 'u' }
static

Definition at line 49 of file stem_ISO_8859_1_french.c.

Referenced by r_postlude().

◆ s_9_0

const symbol s_9_0[3] = { 'e', 'l', 'l' }
static

Definition at line 402 of file stem_ISO_8859_1_french.c.

◆ s_9_1

const symbol s_9_1[4] = { 'e', 'i', 'l', 'l' }
static

Definition at line 403 of file stem_ISO_8859_1_french.c.

◆ s_9_2

const symbol s_9_2[3] = { 'e', 'n', 'n' }
static

Definition at line 404 of file stem_ISO_8859_1_french.c.

◆ s_9_3

const symbol s_9_3[3] = { 'o', 'n', 'n' }
static

Definition at line 405 of file stem_ISO_8859_1_french.c.

◆ s_9_4

const symbol s_9_4[3] = { 'e', 't', 't' }
static

Definition at line 406 of file stem_ISO_8859_1_french.c.