PostgreSQL Source Code git master
stem_ISO_8859_1_portuguese.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_envportuguese_ISO_8859_1_create_env (void)
 
void portuguese_ISO_8859_1_close_env (struct SN_env *z)
 
int portuguese_ISO_8859_1_stem (struct SN_env *z)
 

Function Documentation

◆ portuguese_ISO_8859_1_close_env()

void portuguese_ISO_8859_1_close_env ( struct SN_env z)

Definition at line 1009 of file stem_ISO_8859_1_portuguese.c.

1009 {
1010 SN_delete_env(z);
1011}
void SN_delete_env(struct SN_env *z)
Definition: api.c:18

References SN_delete_env().

◆ portuguese_ISO_8859_1_create_env()

struct SN_env * portuguese_ISO_8859_1_create_env ( void  )

Definition at line 999 of file stem_ISO_8859_1_portuguese.c.

999 {
1000 struct SN_env * z = SN_new_env(sizeof(SN_local));
1001 if (z) {
1002 ((SN_local *)z)->i_p2 = 0;
1003 ((SN_local *)z)->i_p1 = 0;
1004 ((SN_local *)z)->i_pV = 0;
1005 }
1006 return z;
1007}
struct SN_env * SN_new_env(int alloc_size)
Definition: api.c:5
Definition: api.h:15

References SN_new_env().

◆ portuguese_ISO_8859_1_stem()

int portuguese_ISO_8859_1_stem ( struct SN_env z)

Definition at line 905 of file stem_ISO_8859_1_portuguese.c.

905 {
906 {
907 int v_1 = z->c;
908 {
909 int ret = r_prelude(z);
910 if (ret < 0) return ret;
911 }
912 z->c = v_1;
913 }
914 {
915 int ret = r_mark_regions(z);
916 if (ret < 0) return ret;
917 }
918 z->lb = z->c; z->c = z->l;
919 {
920 int v_2 = z->l - z->c;
921 do {
922 int v_3 = z->l - z->c;
923 {
924 int v_4 = z->l - z->c;
925 do {
926 int v_5 = z->l - z->c;
927 {
928 int ret = r_standard_suffix(z);
929 if (ret == 0) goto lab2;
930 if (ret < 0) return ret;
931 }
932 break;
933 lab2:
934 z->c = z->l - v_5;
935 {
936 int ret = r_verb_suffix(z);
937 if (ret == 0) goto lab1;
938 if (ret < 0) return ret;
939 }
940 } while (0);
941 z->c = z->l - v_4;
942 {
943 int v_6 = z->l - z->c;
944 z->ket = z->c;
945 if (z->c <= z->lb || z->p[z->c - 1] != 'i') goto lab3;
946 z->c--;
947 z->bra = z->c;
948 {
949 int v_7 = z->l - z->c;
950 if (z->c <= z->lb || z->p[z->c - 1] != 'c') goto lab3;
951 z->c--;
952 z->c = z->l - v_7;
953 }
954 {
955 int ret = r_RV(z);
956 if (ret == 0) goto lab3;
957 if (ret < 0) return ret;
958 }
959 {
960 int ret = slice_del(z);
961 if (ret < 0) return ret;
962 }
963 lab3:
964 z->c = z->l - v_6;
965 }
966 }
967 break;
968 lab1:
969 z->c = z->l - v_3;
970 {
971 int ret = r_residual_suffix(z);
972 if (ret == 0) goto lab0;
973 if (ret < 0) return ret;
974 }
975 } while (0);
976 lab0:
977 z->c = z->l - v_2;
978 }
979 {
980 int v_8 = z->l - z->c;
981 {
982 int ret = r_residual_form(z);
983 if (ret < 0) return ret;
984 }
985 z->c = z->l - v_8;
986 }
987 z->c = z->lb;
988 {
989 int v_9 = z->c;
990 {
991 int ret = r_postlude(z);
992 if (ret < 0) return ret;
993 }
994 z->c = v_9;
995 }
996 return 1;
997}
static int r_standard_suffix(struct SN_env *z)
static int r_verb_suffix(struct SN_env *z)
static int r_RV(struct SN_env *z)
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_form(struct SN_env *z)
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_del(struct SN_env *z)
Definition: utilities.c:443

References SN_env::bra, SN_env::c, SN_env::ket, SN_env::l, SN_env::lb, SN_env::p, r_mark_regions(), r_postlude(), r_prelude(), r_residual_form(), r_residual_suffix(), r_RV(), r_standard_suffix(), r_verb_suffix(), and slice_del().