PostgreSQL Source Code git master
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
stem_ISO_8859_1_french.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

struct SN_envfrench_ISO_8859_1_create_env (void)
 
void french_ISO_8859_1_close_env (struct SN_env *z)
 
int french_ISO_8859_1_stem (struct SN_env *z)
 

Function Documentation

◆ french_ISO_8859_1_close_env()

void french_ISO_8859_1_close_env ( struct SN_env z)

Definition at line 1285 of file stem_ISO_8859_1_french.c.

1285{ SN_close_env(z, 0); }
void SN_close_env(struct SN_env *z, int S_size)
Definition: api.c:34

References SN_close_env().

◆ french_ISO_8859_1_create_env()

struct SN_env * french_ISO_8859_1_create_env ( void  )

Definition at line 1283 of file stem_ISO_8859_1_french.c.

1283{ return SN_create_env(0, 3); }
struct SN_env * SN_create_env(int S_size, int I_size)
Definition: api.c:3

References SN_create_env().

◆ french_ISO_8859_1_stem()

int french_ISO_8859_1_stem ( struct SN_env z)

Definition at line 1181 of file stem_ISO_8859_1_french.c.

1181 {
1182 { int c1 = z->c;
1183 { int ret = r_elisions(z);
1184 if (ret < 0) return ret;
1185 }
1186 z->c = c1;
1187 }
1188 { int c2 = z->c;
1189 { int ret = r_prelude(z);
1190 if (ret < 0) return ret;
1191 }
1192 z->c = c2;
1193 }
1194
1195 { int ret = r_mark_regions(z);
1196 if (ret < 0) return ret;
1197 }
1198 z->lb = z->c; z->c = z->l;
1199
1200 { int m3 = z->l - z->c; (void)m3;
1201 { int m4 = z->l - z->c; (void)m4;
1202 { int m5 = z->l - z->c; (void)m5;
1203 { int m6 = z->l - z->c; (void)m6;
1204 { int ret = r_standard_suffix(z);
1205 if (ret == 0) goto lab4;
1206 if (ret < 0) return ret;
1207 }
1208 goto lab3;
1209 lab4:
1210 z->c = z->l - m6;
1211 { int ret = r_i_verb_suffix(z);
1212 if (ret == 0) goto lab5;
1213 if (ret < 0) return ret;
1214 }
1215 goto lab3;
1216 lab5:
1217 z->c = z->l - m6;
1218 { int ret = r_verb_suffix(z);
1219 if (ret == 0) goto lab2;
1220 if (ret < 0) return ret;
1221 }
1222 }
1223 lab3:
1224 z->c = z->l - m5;
1225 { int m7 = z->l - z->c; (void)m7;
1226 z->ket = z->c;
1227 { int m8 = z->l - z->c; (void)m8;
1228 if (z->c <= z->lb || z->p[z->c - 1] != 'Y') goto lab8;
1229 z->c--;
1230 z->bra = z->c;
1231 { int ret = slice_from_s(z, 1, s_34);
1232 if (ret < 0) return ret;
1233 }
1234 goto lab7;
1235 lab8:
1236 z->c = z->l - m8;
1237 if (z->c <= z->lb || z->p[z->c - 1] != 0xE7) { z->c = z->l - m7; goto lab6; }
1238 z->c--;
1239 z->bra = z->c;
1240 { int ret = slice_from_s(z, 1, s_35);
1241 if (ret < 0) return ret;
1242 }
1243 }
1244 lab7:
1245 lab6:
1246 ;
1247 }
1248 }
1249 goto lab1;
1250 lab2:
1251 z->c = z->l - m4;
1252 { int ret = r_residual_suffix(z);
1253 if (ret == 0) goto lab0;
1254 if (ret < 0) return ret;
1255 }
1256 }
1257 lab1:
1258 lab0:
1259 z->c = z->l - m3;
1260 }
1261 { int m9 = z->l - z->c; (void)m9;
1262 { int ret = r_un_double(z);
1263 if (ret < 0) return ret;
1264 }
1265 z->c = z->l - m9;
1266 }
1267 { int m10 = z->l - z->c; (void)m10;
1268 { int ret = r_un_accent(z);
1269 if (ret < 0) return ret;
1270 }
1271 z->c = z->l - m10;
1272 }
1273 z->c = z->lb;
1274 { int c11 = z->c;
1275 { int ret = r_postlude(z);
1276 if (ret < 0) return ret;
1277 }
1278 z->c = c11;
1279 }
1280 return 1;
1281}
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 int r_residual_suffix(struct SN_env *z)
static const symbol s_34[]
int lb
Definition: api.h:16
symbol * p
Definition: api.h:15
int ket
Definition: api.h:16
int c
Definition: api.h:16
int bra
Definition: api.h:16
int l
Definition: api.h:16
int slice_from_s(struct SN_env *z, int s_size, const symbol *s)
Definition: utilities.c:422

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_34, s_35, and slice_from_s().