⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stem_utf_8_spanish.c

📁 firtext搜索引擎源码
💻 C
📖 第 1 页 / 共 3 页
字号:
            {   int ret;                ret = slice_del(z); /* delete, line 99 */                if (ret < 0) return ret;            }            break;        case 2:            {   int ret = r_R2(z);                if (ret == 0) return 0; /* call R2, line 105 */                if (ret < 0) return ret;            }            {   int ret;                ret = slice_del(z); /* delete, line 105 */                if (ret < 0) return ret;            }            {   int m = z->l - z->c; (void) m; /* try, line 106 */                z->ket = z->c; /* [, line 106 */                if (!(eq_s_b(z, 2, s_11))) { z->c = z->l - m; goto lab0; }                z->bra = z->c; /* ], line 106 */                {   int ret = r_R2(z);                    if (ret == 0) { z->c = z->l - m; goto lab0; } /* call R2, line 106 */                    if (ret < 0) return ret;                }                {   int ret;                    ret = slice_del(z); /* delete, line 106 */                    if (ret < 0) return ret;                }            lab0:                ;            }            break;        case 3:            {   int ret = r_R2(z);                if (ret == 0) return 0; /* call R2, line 111 */                if (ret < 0) return ret;            }            {   int ret;                ret = slice_from_s(z, 3, s_12); /* <-, line 111 */                if (ret < 0) return ret;            }            break;        case 4:            {   int ret = r_R2(z);                if (ret == 0) return 0; /* call R2, line 115 */                if (ret < 0) return ret;            }            {   int ret;                ret = slice_from_s(z, 1, s_13); /* <-, line 115 */                if (ret < 0) return ret;            }            break;        case 5:            {   int ret = r_R2(z);                if (ret == 0) return 0; /* call R2, line 119 */                if (ret < 0) return ret;            }            {   int ret;                ret = slice_from_s(z, 4, s_14); /* <-, line 119 */                if (ret < 0) return ret;            }            break;        case 6:            {   int ret = r_R1(z);                if (ret == 0) return 0; /* call R1, line 123 */                if (ret < 0) return ret;            }            {   int ret;                ret = slice_del(z); /* delete, line 123 */                if (ret < 0) return ret;            }            {   int m = z->l - z->c; (void) m; /* try, line 124 */                z->ket = z->c; /* [, line 125 */                if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4718616 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l - m; goto lab1; }                among_var = find_among_b(z, a_3, 4); /* substring, line 125 */                if (!(among_var)) { z->c = z->l - m; goto lab1; }                z->bra = z->c; /* ], line 125 */                {   int ret = r_R2(z);                    if (ret == 0) { z->c = z->l - m; goto lab1; } /* call R2, line 125 */                    if (ret < 0) return ret;                }                {   int ret;                    ret = slice_del(z); /* delete, line 125 */                    if (ret < 0) return ret;                }                switch(among_var) {                    case 0: { z->c = z->l - m; goto lab1; }                    case 1:                        z->ket = z->c; /* [, line 126 */                        if (!(eq_s_b(z, 2, s_15))) { z->c = z->l - m; goto lab1; }                        z->bra = z->c; /* ], line 126 */                        {   int ret = r_R2(z);                            if (ret == 0) { z->c = z->l - m; goto lab1; } /* call R2, line 126 */                            if (ret < 0) return ret;                        }                        {   int ret;                            ret = slice_del(z); /* delete, line 126 */                            if (ret < 0) return ret;                        }                        break;                }            lab1:                ;            }            break;        case 7:            {   int ret = r_R2(z);                if (ret == 0) return 0; /* call R2, line 135 */                if (ret < 0) return ret;            }            {   int ret;                ret = slice_del(z); /* delete, line 135 */                if (ret < 0) return ret;            }            {   int m = z->l - z->c; (void) m; /* try, line 136 */                z->ket = z->c; /* [, line 137 */                if (z->c <= z->lb || z->p[z->c - 1] != 101) { z->c = z->l - m; goto lab2; }                among_var = find_among_b(z, a_4, 3); /* substring, line 137 */                if (!(among_var)) { z->c = z->l - m; goto lab2; }                z->bra = z->c; /* ], line 137 */                switch(among_var) {                    case 0: { z->c = z->l - m; goto lab2; }                    case 1:                        {   int ret = r_R2(z);                            if (ret == 0) { z->c = z->l - m; goto lab2; } /* call R2, line 140 */                            if (ret < 0) return ret;                        }                        {   int ret;                            ret = slice_del(z); /* delete, line 140 */                            if (ret < 0) return ret;                        }                        break;                }            lab2:                ;            }            break;        case 8:            {   int ret = r_R2(z);                if (ret == 0) return 0; /* call R2, line 147 */                if (ret < 0) return ret;            }            {   int ret;                ret = slice_del(z); /* delete, line 147 */                if (ret < 0) return ret;            }            {   int m = z->l - z->c; (void) m; /* try, line 148 */                z->ket = z->c; /* [, line 149 */                if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4198408 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l - m; goto lab3; }                among_var = find_among_b(z, a_5, 3); /* substring, line 149 */                if (!(among_var)) { z->c = z->l - m; goto lab3; }                z->bra = z->c; /* ], line 149 */                switch(among_var) {                    case 0: { z->c = z->l - m; goto lab3; }                    case 1:                        {   int ret = r_R2(z);                            if (ret == 0) { z->c = z->l - m; goto lab3; } /* call R2, line 152 */                            if (ret < 0) return ret;                        }                        {   int ret;                            ret = slice_del(z); /* delete, line 152 */                            if (ret < 0) return ret;                        }                        break;                }            lab3:                ;            }            break;        case 9:            {   int ret = r_R2(z);                if (ret == 0) return 0; /* call R2, line 159 */                if (ret < 0) return ret;            }            {   int ret;                ret = slice_del(z); /* delete, line 159 */                if (ret < 0) return ret;            }            {   int m = z->l - z->c; (void) m; /* try, line 160 */                z->ket = z->c; /* [, line 161 */                if (!(eq_s_b(z, 2, s_16))) { z->c = z->l - m; goto lab4; }                z->bra = z->c; /* ], line 161 */                {   int ret = r_R2(z);                    if (ret == 0) { z->c = z->l - m; goto lab4; } /* call R2, line 161 */                    if (ret < 0) return ret;                }                {   int ret;                    ret = slice_del(z); /* delete, line 161 */                    if (ret < 0) return ret;                }            lab4:                ;            }            break;    }    return 1;}static int r_y_verb_suffix(struct SN_env * z) {    int among_var;    {   int m3; /* setlimit, line 168 */        int m = z->l - z->c; (void) m;        if (z->c < z->I[0]) return 0;        z->c = z->I[0]; /* tomark, line 168 */        m3 = z->lb; z->lb = z->c;        z->c = z->l - m;        z->ket = z->c; /* [, line 168 */        among_var = find_among_b(z, a_7, 12); /* substring, line 168 */        if (!(among_var)) { z->lb = m3; return 0; }        z->bra = z->c; /* ], line 168 */        z->lb = m3;    }    switch(among_var) {        case 0: return 0;        case 1:            if (!(eq_s_b(z, 1, s_17))) return 0;            {   int ret;                ret = slice_del(z); /* delete, line 171 */                if (ret < 0) return ret;            }            break;    }    return 1;}static int r_verb_suffix(struct SN_env * z) {    int among_var;    {   int m3; /* setlimit, line 176 */        int m = z->l - z->c; (void) m;        if (z->c < z->I[0]) return 0;        z->c = z->I[0]; /* tomark, line 176 */        m3 = z->lb; z->lb = z->c;        z->c = z->l - m;        z->ket = z->c; /* [, line 176 */        among_var = find_among_b(z, a_8, 96); /* substring, line 176 */        if (!(among_var)) { z->lb = m3; return 0; }        z->bra = z->c; /* ], line 176 */        z->lb = m3;    }    switch(among_var) {        case 0: return 0;        case 1:            {   int m = z->l - z->c; (void) m; /* try, line 179 */                if (!(eq_s_b(z, 1, s_18))) { z->c = z->l - m; goto lab0; }                {   int m_test = z->l - z->c; /* test, line 179 */                    if (!(eq_s_b(z, 1, s_19))) { z->c = z->l - m; goto lab0; }                    z->c = z->l - m_test;                }            lab0:                ;            }            z->bra = z->c; /* ], line 179 */            {   int ret;                ret = slice_del(z); /* delete, line 179 */                if (ret < 0) return ret;            }            break;        case 2:            {   int ret;                ret = slice_del(z); /* delete, line 200 */                if (ret < 0) return ret;            }            break;    }    return 1;}static int r_residual_suffix(struct SN_env * z) {    int among_var;    z->ket = z->c; /* [, line 205 */    among_var = find_among_b(z, a_9, 8); /* substring, line 205 */    if (!(among_var)) return 0;    z->bra = z->c; /* ], line 205 */    switch(among_var) {        case 0: return 0;        case 1:            {   int ret = r_RV(z);                if (ret == 0) return 0; /* call RV, line 208 */                if (ret < 0) return ret;            }            {   int ret;                ret = slice_del(z); /* delete, line 208 */                if (ret < 0) return ret;            }            break;        case 2:            {   int ret = r_RV(z);                if (ret == 0) return 0; /* call RV, line 210 */                if (ret < 0) return ret;            }            {   int ret;                ret = slice_del(z); /* delete, line 210 */                if (ret < 0) return ret;            }            {   int m = z->l - z->c; (void) m; /* try, line 210 */                z->ket = z->c; /* [, line 210 */                if (!(eq_s_b(z, 1, s_20))) { z->c = z->l - m; goto lab0; }                z->bra = z->c; /* ], line 210 */                {   int m_test = z->l - z->c; /* test, line 210 */                    if (!(eq_s_b(z, 1, s_21))) { z->c = z->l - m; goto lab0; }                    z->c = z->l - m_test;                }                {   int ret = r_RV(z);                    if (ret == 0) { z->c = z->l - m; goto lab0; } /* call RV, line 210 */                    if (ret < 0) return ret;                }                {   int ret;                    ret = slice_del(z); /* delete, line 210 */                    if (ret < 0) return ret;                }            lab0:                ;            }            break;    }    return 1;}extern int spanish_UTF_8_stem(struct SN_env * z) {    {   int c = z->c; /* do, line 216 */        {   int ret = r_mark_regions(z);            if (ret == 0) goto lab0; /* call mark_regions, line 216 */            if (ret < 0) return ret;        }    lab0:        z->c = c;    }    z->lb = z->c; z->c = z->l; /* backwards, line 217 */    {   int m = z->l - z->c; (void) m; /* do, line 218 */        {   int ret = r_attached_pronoun(z);            if (ret == 0) goto lab1; /* call attached_pronoun, line 218 */            if (ret < 0) return ret;        }    lab1:        z->c = z->l - m;    }    {   int m = z->l - z->c; (void) m; /* do, line 219 */        {   int m = z->l - z->c; (void) m; /* or, line 219 */            {   int ret = r_standard_suffix(z);                if (ret == 0) goto lab4; /* call standard_suffix, line 219 */                if (ret < 0) return ret;            }            goto lab3;        lab4:            z->c = z->l - m;            {   int ret = r_y_verb_suffix(z);                if (ret == 0) goto lab5; /* call y_verb_suffix, line 220 */                if (ret < 0) return ret;            }            goto lab3;        lab5:            z->c = z->l - m;            {   int ret = r_verb_suffix(z);                if (ret == 0) goto lab2; /* call verb_suffix, line 221 */                if (ret < 0) return ret;            }        }    lab3:    lab2:        z->c = z->l - m;    }    {   int m = z->l - z->c; (void) m; /* do, line 223 */        {   int ret = r_residual_suffix(z);            if (ret == 0) goto lab6; /* call residual_suffix, line 223 */            if (ret < 0) return ret;        }    lab6:        z->c = z->l - m;    }    z->c = z->lb;    {   int c = z->c; /* do, line 225 */        {   int ret = r_postlude(z);            if (ret == 0) goto lab7; /* call postlude, line 225 */            if (ret < 0) return ret;        }    lab7:        z->c = c;    }    return 1;}extern struct SN_env * spanish_UTF_8_create_env(void) { return SN_create_env(0, 3, 0); }extern void spanish_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -