PostgreSQL Source Code  git master
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
stem_UTF_8_italian.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_envitalian_UTF_8_create_env (void)
 
void italian_UTF_8_close_env (struct SN_env *z)
 
int italian_UTF_8_stem (struct SN_env *z)
 

Function Documentation

void italian_UTF_8_close_env ( struct SN_env z)

Definition at line 1072 of file stem_UTF_8_italian.c.

References SN_close_env().

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

Definition at line 1070 of file stem_UTF_8_italian.c.

References SN_create_env().

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

Definition at line 1005 of file stem_UTF_8_italian.c.

References SN_env::c, SN_env::l, SN_env::lb, r_attached_pronoun(), r_mark_regions(), r_postlude(), r_prelude(), r_standard_suffix(), r_verb_suffix(), and r_vowel_suffix().

1005  {
1006  { int c1 = z->c; /* do, line 182 */
1007  { int ret = r_prelude(z);
1008  if (ret == 0) goto lab0; /* call prelude, line 182 */
1009  if (ret < 0) return ret;
1010  }
1011  lab0:
1012  z->c = c1;
1013  }
1014  { int c2 = z->c; /* do, line 183 */
1015  { int ret = r_mark_regions(z);
1016  if (ret == 0) goto lab1; /* call mark_regions, line 183 */
1017  if (ret < 0) return ret;
1018  }
1019  lab1:
1020  z->c = c2;
1021  }
1022  z->lb = z->c; z->c = z->l; /* backwards, line 184 */
1023 
1024  { int m3 = z->l - z->c; (void)m3; /* do, line 185 */
1025  { int ret = r_attached_pronoun(z);
1026  if (ret == 0) goto lab2; /* call attached_pronoun, line 185 */
1027  if (ret < 0) return ret;
1028  }
1029  lab2:
1030  z->c = z->l - m3;
1031  }
1032  { int m4 = z->l - z->c; (void)m4; /* do, line 186 */
1033  { int m5 = z->l - z->c; (void)m5; /* or, line 186 */
1034  { int ret = r_standard_suffix(z);
1035  if (ret == 0) goto lab5; /* call standard_suffix, line 186 */
1036  if (ret < 0) return ret;
1037  }
1038  goto lab4;
1039  lab5:
1040  z->c = z->l - m5;
1041  { int ret = r_verb_suffix(z);
1042  if (ret == 0) goto lab3; /* call verb_suffix, line 186 */
1043  if (ret < 0) return ret;
1044  }
1045  }
1046  lab4:
1047  lab3:
1048  z->c = z->l - m4;
1049  }
1050  { int m6 = z->l - z->c; (void)m6; /* do, line 187 */
1051  { int ret = r_vowel_suffix(z);
1052  if (ret == 0) goto lab6; /* call vowel_suffix, line 187 */
1053  if (ret < 0) return ret;
1054  }
1055  lab6:
1056  z->c = z->l - m6;
1057  }
1058  z->c = z->lb;
1059  { int c7 = z->c; /* do, line 189 */
1060  { int ret = r_postlude(z);
1061  if (ret == 0) goto lab7; /* call postlude, line 189 */
1062  if (ret < 0) return ret;
1063  }
1064  lab7:
1065  z->c = c7;
1066  }
1067  return 1;
1068 }
static int r_postlude(struct SN_env *z)
static int r_prelude(struct SN_env *z)
static int r_verb_suffix(struct SN_env *z)
static int r_vowel_suffix(struct SN_env *z)
int c
Definition: api.h:16
static int r_standard_suffix(struct SN_env *z)
int lb
Definition: api.h:16
static int r_mark_regions(struct SN_env *z)
static int r_attached_pronoun(struct SN_env *z)
int l
Definition: api.h:16