PostgreSQL Source Code  git master
stem_ISO_8859_1_danish.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_envdanish_ISO_8859_1_create_env (void)
 
void danish_ISO_8859_1_close_env (struct SN_env *z)
 
int danish_ISO_8859_1_stem (struct SN_env *z)
 

Function Documentation

◆ danish_ISO_8859_1_close_env()

void danish_ISO_8859_1_close_env ( struct SN_env z)

Definition at line 336 of file stem_ISO_8859_1_danish.c.

References SN_close_env().

336 { SN_close_env(z, 1); }
void SN_close_env(struct SN_env *z, int S_size)
Definition: api.c:40

◆ danish_ISO_8859_1_create_env()

struct SN_env* danish_ISO_8859_1_create_env ( void  )

Definition at line 334 of file stem_ISO_8859_1_danish.c.

References SN_create_env().

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

◆ danish_ISO_8859_1_stem()

int danish_ISO_8859_1_stem ( struct SN_env z)

Definition at line 287 of file stem_ISO_8859_1_danish.c.

References SN_env::c, SN_env::l, SN_env::lb, r_consonant_pair(), r_main_suffix(), r_mark_regions(), r_other_suffix(), and r_undouble().

287  {
288  { int c1 = z->c; /* do, line 84 */
289  { int ret = r_mark_regions(z);
290  if (ret == 0) goto lab0; /* call mark_regions, line 84 */
291  if (ret < 0) return ret;
292  }
293  lab0:
294  z->c = c1;
295  }
296  z->lb = z->c; z->c = z->l; /* backwards, line 85 */
297 
298  { int m2 = z->l - z->c; (void)m2; /* do, line 86 */
299  { int ret = r_main_suffix(z);
300  if (ret == 0) goto lab1; /* call main_suffix, line 86 */
301  if (ret < 0) return ret;
302  }
303  lab1:
304  z->c = z->l - m2;
305  }
306  { int m3 = z->l - z->c; (void)m3; /* do, line 87 */
307  { int ret = r_consonant_pair(z);
308  if (ret == 0) goto lab2; /* call consonant_pair, line 87 */
309  if (ret < 0) return ret;
310  }
311  lab2:
312  z->c = z->l - m3;
313  }
314  { int m4 = z->l - z->c; (void)m4; /* do, line 88 */
315  { int ret = r_other_suffix(z);
316  if (ret == 0) goto lab3; /* call other_suffix, line 88 */
317  if (ret < 0) return ret;
318  }
319  lab3:
320  z->c = z->l - m4;
321  }
322  { int m5 = z->l - z->c; (void)m5; /* do, line 89 */
323  { int ret = r_undouble(z);
324  if (ret == 0) goto lab4; /* call undouble, line 89 */
325  if (ret < 0) return ret;
326  }
327  lab4:
328  z->c = z->l - m5;
329  }
330  z->c = z->lb;
331  return 1;
332 }
static int r_other_suffix(struct SN_env *z)
int c
Definition: api.h:16
int lb
Definition: api.h:16
static int r_main_suffix(struct SN_env *z)
static int r_consonant_pair(struct SN_env *z)
static int r_mark_regions(struct SN_env *z)
int l
Definition: api.h:16
static int r_undouble(struct SN_env *z)