コード例 #1
0
extern int swedish_stem(struct SN_env * z) {
    {   int c = z->c; /* do, line 66 */
        if (!r_mark_regions(z)) goto lab0; /* call mark_regions, line 66 */
    lab0:
        z->c = c;
    }
    z->lb = z->c; z->c = z->l; /* backwards, line 67 */

    {   int m = z->l - z->c; /* do, line 68 */
        if (!r_main_suffix(z)) goto lab1; /* call main_suffix, line 68 */
    lab1:
        z->c = z->l - m;
    }
    {   int m = z->l - z->c; /* do, line 69 */
        if (!r_consonant_pair(z)) goto lab2; /* call consonant_pair, line 69 */
    lab2:
        z->c = z->l - m;
    }
    {   int m = z->l - z->c; /* do, line 70 */
        if (!r_other_suffix(z)) goto lab3; /* call other_suffix, line 70 */
    lab3:
        z->c = z->l - m;
    }
    z->c = z->lb;
    return 1;
}
コード例 #2
0
static int r_other_suffix(struct SN_env * z) {
    int among_var;
    {   int m = z->l - z->c; (void) m; /* do, line 66 */
        z->ket = z->c; /* [, line 66 */
        if (!(eq_s_b(z, 2, s_0))) goto lab0;
        z->bra = z->c; /* ], line 66 */
        if (!(eq_s_b(z, 2, s_1))) goto lab0;
        {   int ret;
            ret = slice_del(z); /* delete, line 66 */
            if (ret < 0) return ret;
        }
    lab0:
        z->c = z->l - m;
    }
    {   int m3; /* setlimit, line 67 */
        int m = z->l - z->c; (void) m;
        if (z->c < z->I[0]) return 0;
        z->c = z->I[0]; /* tomark, line 67 */
        m3 = z->lb; z->lb = z->c;
        z->c = z->l - m;
        z->ket = z->c; /* [, line 67 */
        among_var = find_among_b(z, a_2, 5); /* substring, line 67 */
        if (!(among_var)) { z->lb = m3; return 0; }
        z->bra = z->c; /* ], line 67 */
        z->lb = m3;
    }
    switch(among_var) {
        case 0: return 0;
        case 1:
            {   int ret;
                ret = slice_del(z); /* delete, line 70 */
                if (ret < 0) return ret;
            }
            {   int m = z->l - z->c; (void) m; /* do, line 70 */
                {   int ret = r_consonant_pair(z);
                    if (ret == 0) goto lab1; /* call consonant_pair, line 70 */
                    if (ret < 0) return ret;
                }
            lab1:
                z->c = z->l - m;
            }
            break;
        case 2:
            {   int ret;
                ret = slice_from_s(z, 4, s_2); /* <-, line 72 */
                if (ret < 0) return ret;
            }
            break;
    }
    return 1;
}
コード例 #3
0
extern int danish_UTF_8_stem(struct SN_env * z) {
    {   int c = 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 = c;
    }
    z->lb = z->c; z->c = z->l; /* backwards, line 85 */

    {   int m = z->l - z->c; (void) m; /* 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 - m;
    }
    {   int m = z->l - z->c; (void) m; /* 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 - m;
    }
    {   int m = z->l - z->c; (void) m; /* 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 - m;
    }
    {   int m = z->l - z->c; (void) m; /* 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 - m;
    }
    z->c = z->lb;
    return 1;
}
コード例 #4
0
extern int swedish_ISO_8859_1_stem(struct SN_env * z) {
    {   int c = z->c; /* do, line 66 */
        {   int ret = r_mark_regions(z);
            if (ret == 0) goto lab0; /* call mark_regions, line 66 */
            if (ret < 0) return ret;
        }
lab0:
        z->c = c;
    }
    z->lb = z->c;
    z->c = z->l; /* backwards, line 67 */

    {   int m = z->l - z->c;
        (void) m; /* do, line 68 */
        {   int ret = r_main_suffix(z);
            if (ret == 0) goto lab1; /* call main_suffix, line 68 */
            if (ret < 0) return ret;
        }
lab1:
        z->c = z->l - m;
    }
    {   int m = z->l - z->c;
        (void) m; /* do, line 69 */
        {   int ret = r_consonant_pair(z);
            if (ret == 0) goto lab2; /* call consonant_pair, line 69 */
            if (ret < 0) return ret;
        }
lab2:
        z->c = z->l - m;
    }
    {   int m = z->l - z->c;
        (void) m; /* do, line 70 */
        {   int ret = r_other_suffix(z);
            if (ret == 0) goto lab3; /* call other_suffix, line 70 */
            if (ret < 0) return ret;
        }
lab3:
        z->c = z->l - m;
    }
    z->c = z->lb;
    return 1;
}
コード例 #5
0
extern int norwegian_UTF_8_stem(struct SN_env * z) {
    {   int c = z->c; /* do, line 74 */
        {   int ret = r_mark_regions(z);
            if (ret == 0) goto lab0; /* call mark_regions, line 74 */
            if (ret < 0) return ret;
        }
    lab0:
        z->c = c;
    }
    z->lb = z->c; z->c = z->l; /* backwards, line 75 */

    {   int m = z->l - z->c; (void) m; /* do, line 76 */
        {   int ret = r_main_suffix(z);
            if (ret == 0) goto lab1; /* call main_suffix, line 76 */
            if (ret < 0) return ret;
        }
    lab1:
        z->c = z->l - m;
    }
    {   int m = z->l - z->c; (void) m; /* do, line 77 */
        {   int ret = r_consonant_pair(z);
            if (ret == 0) goto lab2; /* call consonant_pair, line 77 */
            if (ret < 0) return ret;
        }
    lab2:
        z->c = z->l - m;
    }
    {   int m = z->l - z->c; (void) m; /* do, line 78 */
        {   int ret = r_other_suffix(z);
            if (ret == 0) goto lab3; /* call other_suffix, line 78 */
            if (ret < 0) return ret;
        }
    lab3:
        z->c = z->l - m;
    }
    z->c = z->lb;
    return 1;
}