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

📄 stem_iso_8859_1_english.c

📁 firtext搜索引擎源码
💻 C
📖 第 1 页 / 共 3 页
字号:
    {   int c = z->c; /* do, line 29 */        while(1) { /* repeat, line 29 */            int c = z->c;            while(1) { /* goto, line 29 */                int c = z->c;                if (!(in_grouping(z, g_v, 97, 121))) goto lab4;                z->bra = z->c; /* [, line 29 */                if (!(eq_s(z, 1, s_3))) goto lab4;                z->ket = z->c; /* ], line 29 */                z->c = c;                break;            lab4:                z->c = c;                if (z->c >= z->l) goto lab3;                z->c++; /* goto, line 29 */            }            {   int ret;                ret = slice_from_s(z, 1, s_4); /* <-, line 29 */                if (ret < 0) return ret;            }            z->B[0] = 1; /* set Y_found, line 29 */            continue;        lab3:            z->c = c;            break;        }        z->c = c;    }    return 1;}static int r_mark_regions(struct SN_env * z) {    z->I[0] = z->l;    z->I[1] = z->l;    {   int c = z->c; /* do, line 35 */        {   int c = z->c; /* or, line 41 */            if (z->c + 4 >= z->l || z->p[z->c + 4] >> 5 != 3 || !((2375680 >> (z->p[z->c + 4] & 0x1f)) & 1)) goto lab2;            if (!(find_among(z, a_0, 3))) goto lab2; /* among, line 36 */            goto lab1;        lab2:            z->c = c;            while(1) { /* gopast, line 41 */                if (!(in_grouping(z, g_v, 97, 121))) goto lab3;                break;            lab3:                if (z->c >= z->l) goto lab0;                z->c++; /* gopast, line 41 */            }            while(1) { /* gopast, line 41 */                if (!(out_grouping(z, g_v, 97, 121))) goto lab4;                break;            lab4:                if (z->c >= z->l) goto lab0;                z->c++; /* gopast, line 41 */            }        }    lab1:        z->I[0] = z->c; /* setmark p1, line 42 */        while(1) { /* gopast, line 43 */            if (!(in_grouping(z, g_v, 97, 121))) goto lab5;            break;        lab5:            if (z->c >= z->l) goto lab0;            z->c++; /* gopast, line 43 */        }        while(1) { /* gopast, line 43 */            if (!(out_grouping(z, g_v, 97, 121))) goto lab6;            break;        lab6:            if (z->c >= z->l) goto lab0;            z->c++; /* gopast, line 43 */        }        z->I[1] = z->c; /* setmark p2, line 43 */    lab0:        z->c = c;    }    return 1;}static int r_shortv(struct SN_env * z) {    {   int m = z->l - z->c; (void) m; /* or, line 51 */        if (!(out_grouping_b(z, g_v_WXY, 89, 121))) goto lab1;        if (!(in_grouping_b(z, g_v, 97, 121))) goto lab1;        if (!(out_grouping_b(z, g_v, 97, 121))) goto lab1;        goto lab0;    lab1:        z->c = z->l - m;        if (!(out_grouping_b(z, g_v, 97, 121))) return 0;        if (!(in_grouping_b(z, g_v, 97, 121))) return 0;        if (z->c > z->lb) return 0; /* atlimit, line 52 */    }lab0:    return 1;}static int r_R1(struct SN_env * z) {    if (!(z->I[0] <= z->c)) return 0;    return 1;}static int r_R2(struct SN_env * z) {    if (!(z->I[1] <= z->c)) return 0;    return 1;}static int r_Step_1a(struct SN_env * z) {    int among_var;    {   int m = z->l - z->c; (void) m; /* try, line 59 */        z->ket = z->c; /* [, line 60 */        if (z->c <= z->lb || (z->p[z->c - 1] != 39 && z->p[z->c - 1] != 115)) { z->c = z->l - m; goto lab0; }        among_var = find_among_b(z, a_1, 3); /* substring, line 60 */        if (!(among_var)) { z->c = z->l - m; goto lab0; }        z->bra = z->c; /* ], line 60 */        switch(among_var) {            case 0: { z->c = z->l - m; goto lab0; }            case 1:                {   int ret;                    ret = slice_del(z); /* delete, line 62 */                    if (ret < 0) return ret;                }                break;        }    lab0:        ;    }    z->ket = z->c; /* [, line 65 */    if (z->c <= z->lb || (z->p[z->c - 1] != 100 && z->p[z->c - 1] != 115)) return 0;    among_var = find_among_b(z, a_2, 6); /* substring, line 65 */    if (!(among_var)) return 0;    z->bra = z->c; /* ], line 65 */    switch(among_var) {        case 0: return 0;        case 1:            {   int ret;                ret = slice_from_s(z, 2, s_5); /* <-, line 66 */                if (ret < 0) return ret;            }            break;        case 2:            {   int m = z->l - z->c; (void) m; /* or, line 68 */                {   int c = z->c - 2;                    if (z->lb > c || c > z->l) goto lab2;                    z->c = c; /* hop, line 68 */                }                {   int ret;                    ret = slice_from_s(z, 1, s_6); /* <-, line 68 */                    if (ret < 0) return ret;                }                goto lab1;            lab2:                z->c = z->l - m;                {   int ret;                    ret = slice_from_s(z, 2, s_7); /* <-, line 68 */                    if (ret < 0) return ret;                }            }        lab1:            break;        case 3:            if (z->c <= z->lb) return 0;            z->c--; /* next, line 69 */            while(1) { /* gopast, line 69 */                if (!(in_grouping_b(z, g_v, 97, 121))) goto lab3;                break;            lab3:                if (z->c <= z->lb) return 0;                z->c--; /* gopast, line 69 */            }            {   int ret;                ret = slice_del(z); /* delete, line 69 */                if (ret < 0) return ret;            }            break;    }    return 1;}static int r_Step_1b(struct SN_env * z) {    int among_var;    z->ket = z->c; /* [, line 75 */    if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((33554576 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;    among_var = find_among_b(z, a_4, 6); /* substring, line 75 */    if (!(among_var)) return 0;    z->bra = z->c; /* ], line 75 */    switch(among_var) {        case 0: return 0;        case 1:            {   int ret = r_R1(z);                if (ret == 0) return 0; /* call R1, line 77 */                if (ret < 0) return ret;            }            {   int ret;                ret = slice_from_s(z, 2, s_8); /* <-, line 77 */                if (ret < 0) return ret;            }            break;        case 2:            {   int m_test = z->l - z->c; /* test, line 80 */                while(1) { /* gopast, line 80 */                    if (!(in_grouping_b(z, g_v, 97, 121))) goto lab0;                    break;                lab0:                    if (z->c <= z->lb) return 0;                    z->c--; /* gopast, line 80 */                }                z->c = z->l - m_test;            }            {   int ret;                ret = slice_del(z); /* delete, line 80 */                if (ret < 0) return ret;            }            {   int m_test = z->l - z->c; /* test, line 81 */                if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((68514004 >> (z->p[z->c - 1] & 0x1f)) & 1)) among_var = 3; else                among_var = find_among_b(z, a_3, 13); /* substring, line 81 */                if (!(among_var)) return 0;                z->c = z->l - m_test;            }            switch(among_var) {                case 0: return 0;                case 1:                    {   int ret;                        {   int c = z->c;                            ret = insert_s(z, z->c, z->c, 1, s_9); /* <+, line 83 */                            z->c = c;                        }                        if (ret < 0) return ret;                    }                    break;                case 2:                    z->ket = z->c; /* [, line 86 */                    if (z->c <= z->lb) return 0;                    z->c--; /* next, line 86 */                    z->bra = z->c; /* ], line 86 */                    {   int ret;                        ret = slice_del(z); /* delete, line 86 */                        if (ret < 0) return ret;                    }                    break;                case 3:                    if (z->c != z->I[0]) return 0; /* atmark, line 87 */                    {   int m_test = z->l - z->c; /* test, line 87 */                        {   int ret = r_shortv(z);                            if (ret == 0) return 0; /* call shortv, line 87 */                            if (ret < 0) return ret;                        }                        z->c = z->l - m_test;                    }                    {   int ret;                        {   int c = z->c;                            ret = insert_s(z, z->c, z->c, 1, s_10); /* <+, line 87 */                            z->c = c;                        }                        if (ret < 0) return ret;                    }                    break;            }            break;    }    return 1;}static int r_Step_1c(struct SN_env * z) {    z->ket = z->c; /* [, line 94 */    {   int m = z->l - z->c; (void) m; /* or, line 94 */        if (!(eq_s_b(z, 1, s_11))) goto lab1;        goto lab0;    lab1:        z->c = z->l - m;        if (!(eq_s_b(z, 1, s_12))) return 0;    }lab0:    z->bra = z->c; /* ], line 94 */    if (!(out_grouping_b(z, g_v, 97, 121))) return 0;    {   int m = z->l - z->c; (void) m; /* not, line 95 */        if (z->c > z->lb) goto lab2; /* atlimit, line 95 */        return 0;    lab2:        z->c = z->l - m;    }    {   int ret;        ret = slice_from_s(z, 1, s_13); /* <-, line 96 */        if (ret < 0) return ret;    }    return 1;}static int r_Step_2(struct SN_env * z) {    int among_var;    z->ket = z->c; /* [, line 100 */    if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((815616 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;    among_var = find_among_b(z, a_5, 24); /* substring, line 100 */    if (!(among_var)) return 0;    z->bra = z->c; /* ], line 100 */    {   int ret = r_R1(z);        if (ret == 0) return 0; /* call R1, line 100 */        if (ret < 0) return ret;    }    switch(among_var) {        case 0: return 0;        case 1:            {   int ret;                ret = slice_from_s(z, 4, s_14); /* <-, line 101 */                if (ret < 0) return ret;            }            break;        case 2:            {   int ret;                ret = slice_from_s(z, 4, s_15); /* <-, line 102 */                if (ret < 0) return ret;            }            break;        case 3:            {   int ret;                ret = slice_from_s(z, 4, s_16); /* <-, line 103 */                if (ret < 0) return ret;            }            break;        case 4:            {   int ret;                ret = slice_from_s(z, 4, s_17); /* <-, line 104 */                if (ret < 0) return ret;            }            break;        case 5:            {   int ret;                ret = slice_from_s(z, 3, s_18); /* <-, line 105 */                if (ret < 0) return ret;            }            break;        case 6:            {   int ret;                ret = slice_from_s(z, 3, s_19); /* <-, line 107 */                if (ret < 0) return ret;            }            break;        case 7:            {   int ret;                ret = slice_from_s(z, 3, s_20); /* <-, line 109 */                if (ret < 0) return ret;            }            break;        case 8:            {   int ret;                ret = slice_from_s(z, 2, s_21); /* <-, line 111 */                if (ret < 0) return ret;            }            break;        case 9:            {   int ret;                ret = slice_from_s(z, 3, s_22); /* <-, line 112 */                if (ret < 0) return ret;            }            break;        case 10:            {   int ret;                ret = slice_from_s(z, 3, s_23); /* <-, line 114 */                if (ret < 0) return ret;            }            break;        case 11:            {   int ret;                ret = slice_from_s(z, 3, s_24); /* <-, line 116 */                if (ret < 0) return ret;            }            break;        case 12:            {   int ret;                ret = slice_from_s(z, 3, s_25); /* <-, line 118 */                if (ret < 0) return ret;            }            break;        case 13:            if (!(eq_s_b(z, 1, s_26))) return 0;            {   int ret;                ret = slice_from_s(z, 2, s_27); /* <-, line 119 */                if (ret < 0) return ret;            }            break;        case 14:            {   int ret;                ret = slice_from_s(z, 3, s_28); /* <-, line 120 */                if (ret < 0) return ret;            }            break;        case 15:            {   int ret;                ret = slice_from_s(z, 4, s_29); /* <-, line 121 */                if (ret < 0) return ret;            }            break;        case 16:            if (!(in_grouping_b(z, g_valid_LI, 99, 116))) return 0;            {   int ret;                ret = slice_del(z); /* delete, line 122 */                if (ret < 0) return ret;

⌨️ 快捷键说明

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