PostgreSQL Source Code git master
stem_UTF_8_romanian.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_envromanian_UTF_8_create_env (void)
 
void romanian_UTF_8_close_env (struct SN_env *z)
 
int romanian_UTF_8_stem (struct SN_env *z)
 

Function Documentation

◆ romanian_UTF_8_close_env()

void romanian_UTF_8_close_env ( struct SN_env z)

Definition at line 1073 of file stem_UTF_8_romanian.c.

1073 {
1074 SN_delete_env(z);
1075}
void SN_delete_env(struct SN_env *z)
Definition: api.c:18

References SN_delete_env().

◆ romanian_UTF_8_create_env()

struct SN_env * romanian_UTF_8_create_env ( void  )

Definition at line 1062 of file stem_UTF_8_romanian.c.

1062 {
1063 struct SN_env * z = SN_new_env(sizeof(SN_local));
1064 if (z) {
1065 ((SN_local *)z)->b_standard_suffix_removed = 0;
1066 ((SN_local *)z)->i_p2 = 0;
1067 ((SN_local *)z)->i_p1 = 0;
1068 ((SN_local *)z)->i_pV = 0;
1069 }
1070 return z;
1071}
struct SN_env * SN_new_env(int alloc_size)
Definition: api.c:5
Definition: api.h:15

References SN_new_env().

◆ romanian_UTF_8_stem()

int romanian_UTF_8_stem ( struct SN_env z)

Definition at line 991 of file stem_UTF_8_romanian.c.

991 {
992 {
993 int ret = r_norm(z);
994 if (ret < 0) return ret;
995 }
996 {
997 int v_1 = z->c;
998 {
999 int ret = r_prelude(z);
1000 if (ret < 0) return ret;
1001 }
1002 z->c = v_1;
1003 }
1004 {
1005 int ret = r_mark_regions(z);
1006 if (ret < 0) return ret;
1007 }
1008 z->lb = z->c; z->c = z->l;
1009 {
1010 int v_2 = z->l - z->c;
1011 {
1012 int ret = r_step_0(z);
1013 if (ret < 0) return ret;
1014 }
1015 z->c = z->l - v_2;
1016 }
1017 {
1018 int v_3 = z->l - z->c;
1019 {
1020 int ret = r_standard_suffix(z);
1021 if (ret < 0) return ret;
1022 }
1023 z->c = z->l - v_3;
1024 }
1025 {
1026 int v_4 = z->l - z->c;
1027 do {
1028 int v_5 = z->l - z->c;
1029 if (!((SN_local *)z)->b_standard_suffix_removed) goto lab1;
1030 break;
1031 lab1:
1032 z->c = z->l - v_5;
1033 {
1034 int ret = r_verb_suffix(z);
1035 if (ret == 0) goto lab0;
1036 if (ret < 0) return ret;
1037 }
1038 } while (0);
1039 lab0:
1040 z->c = z->l - v_4;
1041 }
1042 {
1043 int v_6 = z->l - z->c;
1044 {
1045 int ret = r_vowel_suffix(z);
1046 if (ret < 0) return ret;
1047 }
1048 z->c = z->l - v_6;
1049 }
1050 z->c = z->lb;
1051 {
1052 int v_7 = z->c;
1053 {
1054 int ret = r_postlude(z);
1055 if (ret < 0) return ret;
1056 }
1057 z->c = v_7;
1058 }
1059 return 1;
1060}
static int r_norm(struct SN_env *z)
static int r_standard_suffix(struct SN_env *z)
static int r_verb_suffix(struct SN_env *z)
static int r_postlude(struct SN_env *z)
static int r_prelude(struct SN_env *z)
static int r_vowel_suffix(struct SN_env *z)
static int r_mark_regions(struct SN_env *z)
static int r_step_0(struct SN_env *z)
int lb
Definition: api.h:17
int c
Definition: api.h:17
int l
Definition: api.h:17

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