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

📄 stem_utf_8_hungarian.c

📁 firtext搜索引擎源码
💻 C
📖 第 1 页 / 共 3 页
字号:
/* 25 */ { 3, s_11_25, -1, 20, 0},/* 26 */ { 4, s_11_26, 25, 17, 0},/* 27 */ { 5, s_11_27, 26, 16, 0},/* 28 */ { 4, s_11_28, 25, 17, 0},/* 29 */ { 5, s_11_29, 28, 16, 0},/* 30 */ { 5, s_11_30, 25, 18, 0},/* 31 */ { 5, s_11_31, 25, 19, 0},/* 32 */ { 5, s_11_32, -1, 21, 0},/* 33 */ { 6, s_11_33, 32, 20, 0},/* 34 */ { 6, s_11_34, -1, 22, 0},/* 35 */ { 2, s_11_35, -1, 5, 0},/* 36 */ { 3, s_11_36, 35, 4, 0},/* 37 */ { 4, s_11_37, 36, 1, 0},/* 38 */ { 3, s_11_38, 35, 4, 0},/* 39 */ { 4, s_11_39, 38, 1, 0},/* 40 */ { 4, s_11_40, 35, 2, 0},/* 41 */ { 4, s_11_41, 35, 3, 0}};static const unsigned char g_v[] = { 17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 17, 52, 14 };static const symbol s_0[] = { 'a' };static const symbol s_1[] = { 'e' };static const symbol s_2[] = { 'e' };static const symbol s_3[] = { 'a' };static const symbol s_4[] = { 'a' };static const symbol s_5[] = { 'a' };static const symbol s_6[] = { 'e' };static const symbol s_7[] = { 'a' };static const symbol s_8[] = { 'e' };static const symbol s_9[] = { 'e' };static const symbol s_10[] = { 'a' };static const symbol s_11[] = { 'e' };static const symbol s_12[] = { 'a' };static const symbol s_13[] = { 'e' };static const symbol s_14[] = { 'a' };static const symbol s_15[] = { 'e' };static const symbol s_16[] = { 'a' };static const symbol s_17[] = { 'e' };static const symbol s_18[] = { 'a' };static const symbol s_19[] = { 'e' };static const symbol s_20[] = { 'a' };static const symbol s_21[] = { 'e' };static const symbol s_22[] = { 'a' };static const symbol s_23[] = { 'e' };static const symbol s_24[] = { 'a' };static const symbol s_25[] = { 'e' };static const symbol s_26[] = { 'a' };static const symbol s_27[] = { 'e' };static const symbol s_28[] = { 'a' };static const symbol s_29[] = { 'e' };static const symbol s_30[] = { 'a' };static const symbol s_31[] = { 'e' };static const symbol s_32[] = { 'a' };static const symbol s_33[] = { 'e' };static const symbol s_34[] = { 'a' };static const symbol s_35[] = { 'e' };static int r_mark_regions(struct SN_env * z) {    z->I[0] = z->l;    {   int c = z->c; /* or, line 51 */        if (!(in_grouping_U(z, g_v, 97, 252))) goto lab1;        while(1) { /* goto, line 48 */            int c = z->c;            if (!(out_grouping_U(z, g_v, 97, 252))) goto lab2;            z->c = c;            break;        lab2:            z->c = c;            {   int c = skip_utf8(z->p, z->c, 0, z->l, 1);                if (c < 0) goto lab1;                z->c = c; /* goto, line 48 */            }        }        {   int c = z->c; /* or, line 49 */            if (z->c + 1 >= z->l || z->p[z->c + 1] >> 5 != 3 || !((101187584 >> (z->p[z->c + 1] & 0x1f)) & 1)) goto lab4;            if (!(find_among(z, a_0, 8))) goto lab4; /* among, line 49 */            goto lab3;        lab4:            z->c = c;            {   int c = skip_utf8(z->p, z->c, 0, z->l, 1);                if (c < 0) goto lab1;                z->c = c; /* next, line 49 */            }        }    lab3:        z->I[0] = z->c; /* setmark p1, line 50 */        goto lab0;    lab1:        z->c = c;        if (!(out_grouping_U(z, g_v, 97, 252))) return 0;        while(1) { /* gopast, line 53 */            if (!(in_grouping_U(z, g_v, 97, 252))) goto lab5;            break;        lab5:            {   int c = skip_utf8(z->p, z->c, 0, z->l, 1);                if (c < 0) return 0;                z->c = c; /* gopast, line 53 */            }        }        z->I[0] = z->c; /* setmark p1, line 53 */    }lab0:    return 1;}static int r_R1(struct SN_env * z) {    if (!(z->I[0] <= z->c)) return 0;    return 1;}static int r_v_ending(struct SN_env * z) {    int among_var;    z->ket = z->c; /* [, line 61 */    if (z->c <= z->lb || (z->p[z->c - 1] != 161 && z->p[z->c - 1] != 169)) return 0;    among_var = find_among_b(z, a_1, 2); /* substring, line 61 */    if (!(among_var)) return 0;    z->bra = z->c; /* ], line 61 */    {   int ret = r_R1(z);        if (ret == 0) return 0; /* call R1, line 61 */        if (ret < 0) return ret;    }    switch(among_var) {        case 0: return 0;        case 1:            {   int ret;                ret = slice_from_s(z, 1, s_0); /* <-, line 62 */                if (ret < 0) return ret;            }            break;        case 2:            {   int ret;                ret = slice_from_s(z, 1, s_1); /* <-, line 63 */                if (ret < 0) return ret;            }            break;    }    return 1;}static int r_double(struct SN_env * z) {    {   int m_test = z->l - z->c; /* test, line 68 */        if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((106790108 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;        if (!(find_among_b(z, a_2, 23))) return 0; /* among, line 68 */        z->c = z->l - m_test;    }    return 1;}static int r_undouble(struct SN_env * z) {    {   int c = skip_utf8(z->p, z->c, z->lb, 0, -1);        if (c < 0) return 0;        z->c = c; /* next, line 73 */    }    z->ket = z->c; /* [, line 73 */    {   int c = skip_utf8(z->p, z->c, z->lb, z->l, - 1);        if (c < 0) return 0;        z->c = c; /* hop, line 73 */    }    z->bra = z->c; /* ], line 73 */    {   int ret;        ret = slice_del(z); /* delete, line 73 */        if (ret < 0) return ret;    }    return 1;}static int r_instrum(struct SN_env * z) {    int among_var;    z->ket = z->c; /* [, line 77 */    if (z->c <= z->lb || z->p[z->c - 1] != 108) return 0;    among_var = find_among_b(z, a_3, 2); /* substring, line 77 */    if (!(among_var)) return 0;    z->bra = z->c; /* ], line 77 */    {   int ret = r_R1(z);        if (ret == 0) return 0; /* call R1, line 77 */        if (ret < 0) return ret;    }    switch(among_var) {        case 0: return 0;        case 1:            {   int ret = r_double(z);                if (ret == 0) return 0; /* call double, line 78 */                if (ret < 0) return ret;            }            break;        case 2:            {   int ret = r_double(z);                if (ret == 0) return 0; /* call double, line 79 */                if (ret < 0) return ret;            }            break;    }    {   int ret;        ret = slice_del(z); /* delete, line 81 */        if (ret < 0) return ret;    }    {   int ret = r_undouble(z);        if (ret == 0) return 0; /* call undouble, line 82 */        if (ret < 0) return ret;    }    return 1;}static int r_case(struct SN_env * z) {    z->ket = z->c; /* [, line 87 */    if (!(find_among_b(z, a_4, 44))) return 0; /* substring, line 87 */    z->bra = z->c; /* ], line 87 */    {   int ret = r_R1(z);        if (ret == 0) return 0; /* call R1, line 87 */        if (ret < 0) return ret;    }    {   int ret;        ret = slice_del(z); /* delete, line 111 */        if (ret < 0) return ret;    }    {   int ret = r_v_ending(z);        if (ret == 0) return 0; /* call v_ending, line 112 */        if (ret < 0) return ret;    }    return 1;}static int r_case_special(struct SN_env * z) {    int among_var;    z->ket = z->c; /* [, line 116 */    if (z->c <= z->lb || (z->p[z->c - 1] != 110 && z->p[z->c - 1] != 116)) return 0;    among_var = find_among_b(z, a_5, 3); /* substring, line 116 */    if (!(among_var)) return 0;    z->bra = z->c; /* ], line 116 */    {   int ret = r_R1(z);        if (ret == 0) return 0; /* call R1, line 116 */        if (ret < 0) return ret;    }    switch(among_var) {        case 0: return 0;        case 1:            {   int ret;                ret = slice_from_s(z, 1, s_2); /* <-, line 117 */                if (ret < 0) return ret;            }            break;        case 2:            {   int ret;                ret = slice_from_s(z, 1, s_3); /* <-, line 118 */                if (ret < 0) return ret;            }            break;        case 3:            {   int ret;                ret = slice_from_s(z, 1, s_4); /* <-, line 119 */                if (ret < 0) return ret;            }            break;    }    return 1;}static int r_case_other(struct SN_env * z) {    int among_var;    z->ket = z->c; /* [, line 124 */    if (z->c <= z->lb || z->p[z->c - 1] != 108) return 0;    among_var = find_among_b(z, a_6, 6); /* substring, line 124 */    if (!(among_var)) return 0;    z->bra = z->c; /* ], line 124 */    {   int ret = r_R1(z);        if (ret == 0) return 0; /* call R1, line 124 */        if (ret < 0) return ret;    }    switch(among_var) {        case 0: return 0;        case 1:            {   int ret;                ret = slice_del(z); /* delete, line 125 */                if (ret < 0) return ret;            }            break;        case 2:            {   int ret;                ret = slice_del(z); /* delete, line 126 */                if (ret < 0) return ret;            }            break;        case 3:            {   int ret;                ret = slice_from_s(z, 1, s_5); /* <-, line 127 */                if (ret < 0) return ret;            }            break;        case 4:            {   int ret;                ret = slice_from_s(z, 1, s_6); /* <-, line 128 */                if (ret < 0) return ret;            }            break;    }    return 1;}static int r_factive(struct SN_env * z) {    int among_var;    z->ket = z->c; /* [, line 133 */    if (z->c <= z->lb || (z->p[z->c - 1] != 161 && z->p[z->c - 1] != 169)) return 0;    among_var = find_among_b(z, a_7, 2); /* substring, line 133 */    if (!(among_var)) return 0;    z->bra = z->c; /* ], line 133 */    {   int ret = r_R1(z);        if (ret == 0) return 0; /* call R1, line 133 */        if (ret < 0) return ret;    }    switch(among_var) {        case 0: return 0;        case 1:            {   int ret = r_double(z);                if (ret == 0) return 0; /* call double, line 134 */                if (ret < 0) return ret;            }            break;        case 2:            {   int ret = r_double(z);                if (ret == 0) return 0; /* call double, line 135 */                if (ret < 0) return ret;            }            break;    }    {   int ret;        ret = slice_del(z); /* delete, line 137 */        if (ret < 0) return ret;    }    {   int ret = r_undouble(z);        if (ret == 0) return 0; /* call undouble, line 138 */        if (ret < 0) return ret;    }    return 1;}static int r_plural(struct SN_env * z) {    int among_var;    z->ket = z->c; /* [, line 142 */    if (z->c <= z->lb || z->p[z->c - 1] != 107) return 0;    among_var = find_among_b(z, a_8, 7); /* substring, line 142 */    if (!(among_var)) return 0;    z->bra = z->c; /* ], line 142 */    {   int ret = r_R1(z);        if (ret == 0) return 0; /* call R1, line 142 */        if (ret < 0) return ret;    }    switch(among_var) {        case 0: return 0;        case 1:            {   int ret;                ret = slice_from_s(z, 1, s_7); /* <-, line 143 */                if (ret < 0) return ret;            }            break;        case 2:            {   int ret;                ret = slice_from_s(z, 1, s_8); /* <-, line 144 */                if (ret < 0) return ret;            }            break;        case 3:            {   int ret;                ret = slice_del(z); /* delete, line 145 */                if (ret < 0) return ret;            }            break;        case 4:            {   int ret;                ret = slice_del(z); /* delete, line 146 */                if (ret < 0) return ret;            }            break;        case 5:            {   int ret;                ret = slice_del(z); /* delete, line 147 */                if (ret < 0) return ret;            }            break;        case 6:            {   int ret;                ret = slice_del(z); /* delete, line 148 */                if (ret < 0) return ret;            }            break;        case 7:            {   int ret;                ret = slice_del(z); /* delete, line 149 */                if (ret < 0) return ret;            }            break;    }    return 1;}static int r_owned(struct SN_env * z) {    int among_var;    z->ket = z->c; /* [, line 154 */    if (z->c <= z->lb || (z->p[z->c - 1] != 105 && z->p[z->c - 1] != 169)) return 0;    among_var = find_among_b(z, a_9, 12); /* substring, line 154 */    if (!(among_var)) return 0;    z->bra = z->c; /* ], line 154 */    {   int ret = r_R1(z);        if (ret == 0) return 0; /* call R1, line 154 */        if (ret < 0) return ret;    }    switch(among_var) {        case 0: return 0;        case 1:            {   int ret;                ret = slice_del(z); /* delete, line 155 */                if (ret < 0) return ret;            }            break;        case 2:            {   int ret;                ret = slice_from_s(z, 1, s_9); /* <-, line 156 */                if (ret < 0) return ret;            }            break;        case 3:            {   int ret;                ret = slice_from_s(z, 1, s_10); /* <-, line 157 */                if (ret < 0) return ret;            }            break;        case 4:            {   int ret;                ret = slice_del(z); /* delete, line 158 */                if (ret < 0) return ret;            }            break;        case 5:            {   int ret;                ret = slice_from_s(z, 1, s_11); /* <-, line 159 */                if (ret < 0) return ret;            }            break;        case 6:            {   int ret;                ret = slice_from_s(z, 1, s_12); /* <-, line 160 */                if (ret < 0) return ret;            }

⌨️ 快捷键说明

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