Header And Logo

PostgreSQL
| The world's most advanced open source database.

Functions

stem_UTF_8_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_UTF_8_create_env (void)
void danish_UTF_8_close_env (struct SN_env *z)
int danish_UTF_8_stem (struct SN_env *z)

Function Documentation

void danish_UTF_8_close_env ( struct SN_env z  ) 

Definition at line 338 of file stem_UTF_8_danish.c.

References SN_close_env().

{ SN_close_env(z, 1); }

struct SN_env* danish_UTF_8_create_env ( void   )  [read]

Definition at line 336 of file stem_UTF_8_danish.c.

References SN_create_env().

{ return SN_create_env(1, 2, 0); }

int danish_UTF_8_stem ( struct SN_env z  ) 

Definition at line 289 of file stem_UTF_8_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().

                                                {
    {   int c1 = z->c; /* do, line 84 */
        {   int ret = r_mark_regions(z);
            if (ret == 0) goto lab0; /* call mark_regions, line 84 */
            if (ret < 0) return ret;
        }
    lab0:
        z->c = c1;
    }
    z->lb = z->c; z->c = z->l; /* backwards, line 85 */

    {   int m2 = z->l - z->c; (void)m2; /* do, line 86 */
        {   int ret = r_main_suffix(z);
            if (ret == 0) goto lab1; /* call main_suffix, line 86 */
            if (ret < 0) return ret;
        }
    lab1:
        z->c = z->l - m2;
    }
    {   int m3 = z->l - z->c; (void)m3; /* do, line 87 */
        {   int ret = r_consonant_pair(z);
            if (ret == 0) goto lab2; /* call consonant_pair, line 87 */
            if (ret < 0) return ret;
        }
    lab2:
        z->c = z->l - m3;
    }
    {   int m4 = z->l - z->c; (void)m4; /* do, line 88 */
        {   int ret = r_other_suffix(z);
            if (ret == 0) goto lab3; /* call other_suffix, line 88 */
            if (ret < 0) return ret;
        }
    lab3:
        z->c = z->l - m4;
    }
    {   int m5 = z->l - z->c; (void)m5; /* do, line 89 */
        {   int ret = r_undouble(z);
            if (ret == 0) goto lab4; /* call undouble, line 89 */
            if (ret < 0) return ret;
        }
    lab4:
        z->c = z->l - m5;
    }
    z->c = z->lb;
    return 1;
}