#include "header.h"
Go to the source code of this file.
Functions | |
| int | russian_UTF_8_stem (struct SN_env *z) |
| static int | r_tidy_up (struct SN_env *z) |
| static int | r_derivational (struct SN_env *z) |
| static int | r_noun (struct SN_env *z) |
| static int | r_verb (struct SN_env *z) |
| static int | r_reflexive (struct SN_env *z) |
| static int | r_adjectival (struct SN_env *z) |
| static int | r_adjective (struct SN_env *z) |
| static int | r_perfective_gerund (struct SN_env *z) |
| static int | r_R2 (struct SN_env *z) |
| static int | r_mark_regions (struct SN_env *z) |
| struct SN_env * | russian_UTF_8_create_env (void) |
| void | russian_UTF_8_close_env (struct SN_env *z) |
Variables | |
| static const symbol | s_0_0 [10] = { 0xD0, 0xB2, 0xD1, 0x88, 0xD0, 0xB8, 0xD1, 0x81, 0xD1, 0x8C } |
| static const symbol | s_0_1 [12] = { 0xD1, 0x8B, 0xD0, 0xB2, 0xD1, 0x88, 0xD0, 0xB8, 0xD1, 0x81, 0xD1, 0x8C } |
| static const symbol | s_0_2 [12] = { 0xD0, 0xB8, 0xD0, 0xB2, 0xD1, 0x88, 0xD0, 0xB8, 0xD1, 0x81, 0xD1, 0x8C } |
| static const symbol | s_0_3 [2] = { 0xD0, 0xB2 } |
| static const symbol | s_0_4 [4] = { 0xD1, 0x8B, 0xD0, 0xB2 } |
| static const symbol | s_0_5 [4] = { 0xD0, 0xB8, 0xD0, 0xB2 } |
| static const symbol | s_0_6 [6] = { 0xD0, 0xB2, 0xD1, 0x88, 0xD0, 0xB8 } |
| static const symbol | s_0_7 [8] = { 0xD1, 0x8B, 0xD0, 0xB2, 0xD1, 0x88, 0xD0, 0xB8 } |
| static const symbol | s_0_8 [8] = { 0xD0, 0xB8, 0xD0, 0xB2, 0xD1, 0x88, 0xD0, 0xB8 } |
| static struct among | a_0 [9] |
| static const symbol | s_1_0 [6] = { 0xD0, 0xB5, 0xD0, 0xBC, 0xD1, 0x83 } |
| static const symbol | s_1_1 [6] = { 0xD0, 0xBE, 0xD0, 0xBC, 0xD1, 0x83 } |
| static const symbol | s_1_2 [4] = { 0xD1, 0x8B, 0xD1, 0x85 } |
| static const symbol | s_1_3 [4] = { 0xD0, 0xB8, 0xD1, 0x85 } |
| static const symbol | s_1_4 [4] = { 0xD1, 0x83, 0xD1, 0x8E } |
| static const symbol | s_1_5 [4] = { 0xD1, 0x8E, 0xD1, 0x8E } |
| static const symbol | s_1_6 [4] = { 0xD0, 0xB5, 0xD1, 0x8E } |
| static const symbol | s_1_7 [4] = { 0xD0, 0xBE, 0xD1, 0x8E } |
| static const symbol | s_1_8 [4] = { 0xD1, 0x8F, 0xD1, 0x8F } |
| static const symbol | s_1_9 [4] = { 0xD0, 0xB0, 0xD1, 0x8F } |
| static const symbol | s_1_10 [4] = { 0xD1, 0x8B, 0xD0, 0xB5 } |
| static const symbol | s_1_11 [4] = { 0xD0, 0xB5, 0xD0, 0xB5 } |
| static const symbol | s_1_12 [4] = { 0xD0, 0xB8, 0xD0, 0xB5 } |
| static const symbol | s_1_13 [4] = { 0xD0, 0xBE, 0xD0, 0xB5 } |
| static const symbol | s_1_14 [6] = { 0xD1, 0x8B, 0xD0, 0xBC, 0xD0, 0xB8 } |
| static const symbol | s_1_15 [6] = { 0xD0, 0xB8, 0xD0, 0xBC, 0xD0, 0xB8 } |
| static const symbol | s_1_16 [4] = { 0xD1, 0x8B, 0xD0, 0xB9 } |
| static const symbol | s_1_17 [4] = { 0xD0, 0xB5, 0xD0, 0xB9 } |
| static const symbol | s_1_18 [4] = { 0xD0, 0xB8, 0xD0, 0xB9 } |
| static const symbol | s_1_19 [4] = { 0xD0, 0xBE, 0xD0, 0xB9 } |
| static const symbol | s_1_20 [4] = { 0xD1, 0x8B, 0xD0, 0xBC } |
| static const symbol | s_1_21 [4] = { 0xD0, 0xB5, 0xD0, 0xBC } |
| static const symbol | s_1_22 [4] = { 0xD0, 0xB8, 0xD0, 0xBC } |
| static const symbol | s_1_23 [4] = { 0xD0, 0xBE, 0xD0, 0xBC } |
| static const symbol | s_1_24 [6] = { 0xD0, 0xB5, 0xD0, 0xB3, 0xD0, 0xBE } |
| static const symbol | s_1_25 [6] = { 0xD0, 0xBE, 0xD0, 0xB3, 0xD0, 0xBE } |
| static struct among | a_1 [26] |
| static const symbol | s_2_0 [4] = { 0xD0, 0xB2, 0xD1, 0x88 } |
| static const symbol | s_2_1 [6] = { 0xD1, 0x8B, 0xD0, 0xB2, 0xD1, 0x88 } |
| static const symbol | s_2_2 [6] = { 0xD0, 0xB8, 0xD0, 0xB2, 0xD1, 0x88 } |
| static const symbol | s_2_3 [2] = { 0xD1, 0x89 } |
| static const symbol | s_2_4 [4] = { 0xD1, 0x8E, 0xD1, 0x89 } |
| static const symbol | s_2_5 [6] = { 0xD1, 0x83, 0xD1, 0x8E, 0xD1, 0x89 } |
| static const symbol | s_2_6 [4] = { 0xD0, 0xB5, 0xD0, 0xBC } |
| static const symbol | s_2_7 [4] = { 0xD0, 0xBD, 0xD0, 0xBD } |
| static struct among | a_2 [8] |
| static const symbol | s_3_0 [4] = { 0xD1, 0x81, 0xD1, 0x8C } |
| static const symbol | s_3_1 [4] = { 0xD1, 0x81, 0xD1, 0x8F } |
| static struct among | a_3 [2] |
| static const symbol | s_4_0 [4] = { 0xD1, 0x8B, 0xD1, 0x82 } |
| static const symbol | s_4_1 [4] = { 0xD1, 0x8E, 0xD1, 0x82 } |
| static const symbol | s_4_2 [6] = { 0xD1, 0x83, 0xD1, 0x8E, 0xD1, 0x82 } |
| static const symbol | s_4_3 [4] = { 0xD1, 0x8F, 0xD1, 0x82 } |
| static const symbol | s_4_4 [4] = { 0xD0, 0xB5, 0xD1, 0x82 } |
| static const symbol | s_4_5 [6] = { 0xD1, 0x83, 0xD0, 0xB5, 0xD1, 0x82 } |
| static const symbol | s_4_6 [4] = { 0xD0, 0xB8, 0xD1, 0x82 } |
| static const symbol | s_4_7 [4] = { 0xD0, 0xBD, 0xD1, 0x8B } |
| static const symbol | s_4_8 [6] = { 0xD0, 0xB5, 0xD0, 0xBD, 0xD1, 0x8B } |
| static const symbol | s_4_9 [4] = { 0xD1, 0x82, 0xD1, 0x8C } |
| static const symbol | s_4_10 [6] = { 0xD1, 0x8B, 0xD1, 0x82, 0xD1, 0x8C } |
| static const symbol | s_4_11 [6] = { 0xD0, 0xB8, 0xD1, 0x82, 0xD1, 0x8C } |
| static const symbol | s_4_12 [6] = { 0xD0, 0xB5, 0xD1, 0x88, 0xD1, 0x8C } |
| static const symbol | s_4_13 [6] = { 0xD0, 0xB8, 0xD1, 0x88, 0xD1, 0x8C } |
| static const symbol | s_4_14 [2] = { 0xD1, 0x8E } |
| static const symbol | s_4_15 [4] = { 0xD1, 0x83, 0xD1, 0x8E } |
| static const symbol | s_4_16 [4] = { 0xD0, 0xBB, 0xD0, 0xB0 } |
| static const symbol | s_4_17 [6] = { 0xD1, 0x8B, 0xD0, 0xBB, 0xD0, 0xB0 } |
| static const symbol | s_4_18 [6] = { 0xD0, 0xB8, 0xD0, 0xBB, 0xD0, 0xB0 } |
| static const symbol | s_4_19 [4] = { 0xD0, 0xBD, 0xD0, 0xB0 } |
| static const symbol | s_4_20 [6] = { 0xD0, 0xB5, 0xD0, 0xBD, 0xD0, 0xB0 } |
| static const symbol | s_4_21 [6] = { 0xD0, 0xB5, 0xD1, 0x82, 0xD0, 0xB5 } |
| static const symbol | s_4_22 [6] = { 0xD0, 0xB8, 0xD1, 0x82, 0xD0, 0xB5 } |
| static const symbol | s_4_23 [6] = { 0xD0, 0xB9, 0xD1, 0x82, 0xD0, 0xB5 } |
| static const symbol | s_4_24 [8] = { 0xD1, 0x83, 0xD0, 0xB9, 0xD1, 0x82, 0xD0, 0xB5 } |
| static const symbol | s_4_25 [8] = { 0xD0, 0xB5, 0xD0, 0xB9, 0xD1, 0x82, 0xD0, 0xB5 } |
| static const symbol | s_4_26 [4] = { 0xD0, 0xBB, 0xD0, 0xB8 } |
| static const symbol | s_4_27 [6] = { 0xD1, 0x8B, 0xD0, 0xBB, 0xD0, 0xB8 } |
| static const symbol | s_4_28 [6] = { 0xD0, 0xB8, 0xD0, 0xBB, 0xD0, 0xB8 } |
| static const symbol | s_4_29 [2] = { 0xD0, 0xB9 } |
| static const symbol | s_4_30 [4] = { 0xD1, 0x83, 0xD0, 0xB9 } |
| static const symbol | s_4_31 [4] = { 0xD0, 0xB5, 0xD0, 0xB9 } |
| static const symbol | s_4_32 [2] = { 0xD0, 0xBB } |
| static const symbol | s_4_33 [4] = { 0xD1, 0x8B, 0xD0, 0xBB } |
| static const symbol | s_4_34 [4] = { 0xD0, 0xB8, 0xD0, 0xBB } |
| static const symbol | s_4_35 [4] = { 0xD1, 0x8B, 0xD0, 0xBC } |
| static const symbol | s_4_36 [4] = { 0xD0, 0xB5, 0xD0, 0xBC } |
| static const symbol | s_4_37 [4] = { 0xD0, 0xB8, 0xD0, 0xBC } |
| static const symbol | s_4_38 [2] = { 0xD0, 0xBD } |
| static const symbol | s_4_39 [4] = { 0xD0, 0xB5, 0xD0, 0xBD } |
| static const symbol | s_4_40 [4] = { 0xD0, 0xBB, 0xD0, 0xBE } |
| static const symbol | s_4_41 [6] = { 0xD1, 0x8B, 0xD0, 0xBB, 0xD0, 0xBE } |
| static const symbol | s_4_42 [6] = { 0xD0, 0xB8, 0xD0, 0xBB, 0xD0, 0xBE } |
| static const symbol | s_4_43 [4] = { 0xD0, 0xBD, 0xD0, 0xBE } |
| static const symbol | s_4_44 [6] = { 0xD0, 0xB5, 0xD0, 0xBD, 0xD0, 0xBE } |
| static const symbol | s_4_45 [6] = { 0xD0, 0xBD, 0xD0, 0xBD, 0xD0, 0xBE } |
| static struct among | a_4 [46] |
| static const symbol | s_5_0 [2] = { 0xD1, 0x83 } |
| static const symbol | s_5_1 [4] = { 0xD1, 0x8F, 0xD1, 0x85 } |
| static const symbol | s_5_2 [6] = { 0xD0, 0xB8, 0xD1, 0x8F, 0xD1, 0x85 } |
| static const symbol | s_5_3 [4] = { 0xD0, 0xB0, 0xD1, 0x85 } |
| static const symbol | s_5_4 [2] = { 0xD1, 0x8B } |
| static const symbol | s_5_5 [2] = { 0xD1, 0x8C } |
| static const symbol | s_5_6 [2] = { 0xD1, 0x8E } |
| static const symbol | s_5_7 [4] = { 0xD1, 0x8C, 0xD1, 0x8E } |
| static const symbol | s_5_8 [4] = { 0xD0, 0xB8, 0xD1, 0x8E } |
| static const symbol | s_5_9 [2] = { 0xD1, 0x8F } |
| static const symbol | s_5_10 [4] = { 0xD1, 0x8C, 0xD1, 0x8F } |
| static const symbol | s_5_11 [4] = { 0xD0, 0xB8, 0xD1, 0x8F } |
| static const symbol | s_5_12 [2] = { 0xD0, 0xB0 } |
| static const symbol | s_5_13 [4] = { 0xD0, 0xB5, 0xD0, 0xB2 } |
| static const symbol | s_5_14 [4] = { 0xD0, 0xBE, 0xD0, 0xB2 } |
| static const symbol | s_5_15 [2] = { 0xD0, 0xB5 } |
| static const symbol | s_5_16 [4] = { 0xD1, 0x8C, 0xD0, 0xB5 } |
| static const symbol | s_5_17 [4] = { 0xD0, 0xB8, 0xD0, 0xB5 } |
| static const symbol | s_5_18 [2] = { 0xD0, 0xB8 } |
| static const symbol | s_5_19 [4] = { 0xD0, 0xB5, 0xD0, 0xB8 } |
| static const symbol | s_5_20 [4] = { 0xD0, 0xB8, 0xD0, 0xB8 } |
| static const symbol | s_5_21 [6] = { 0xD1, 0x8F, 0xD0, 0xBC, 0xD0, 0xB8 } |
| static const symbol | s_5_22 [8] = { 0xD0, 0xB8, 0xD1, 0x8F, 0xD0, 0xBC, 0xD0, 0xB8 } |
| static const symbol | s_5_23 [6] = { 0xD0, 0xB0, 0xD0, 0xBC, 0xD0, 0xB8 } |
| static const symbol | s_5_24 [2] = { 0xD0, 0xB9 } |
| static const symbol | s_5_25 [4] = { 0xD0, 0xB5, 0xD0, 0xB9 } |
| static const symbol | s_5_26 [6] = { 0xD0, 0xB8, 0xD0, 0xB5, 0xD0, 0xB9 } |
| static const symbol | s_5_27 [4] = { 0xD0, 0xB8, 0xD0, 0xB9 } |
| static const symbol | s_5_28 [4] = { 0xD0, 0xBE, 0xD0, 0xB9 } |
| static const symbol | s_5_29 [4] = { 0xD1, 0x8F, 0xD0, 0xBC } |
| static const symbol | s_5_30 [6] = { 0xD0, 0xB8, 0xD1, 0x8F, 0xD0, 0xBC } |
| static const symbol | s_5_31 [4] = { 0xD0, 0xB0, 0xD0, 0xBC } |
| static const symbol | s_5_32 [4] = { 0xD0, 0xB5, 0xD0, 0xBC } |
| static const symbol | s_5_33 [6] = { 0xD0, 0xB8, 0xD0, 0xB5, 0xD0, 0xBC } |
| static const symbol | s_5_34 [4] = { 0xD0, 0xBE, 0xD0, 0xBC } |
| static const symbol | s_5_35 [2] = { 0xD0, 0xBE } |
| static struct among | a_5 [36] |
| static const symbol | s_6_0 [6] = { 0xD0, 0xBE, 0xD1, 0x81, 0xD1, 0x82 } |
| static const symbol | s_6_1 [8] = { 0xD0, 0xBE, 0xD1, 0x81, 0xD1, 0x82, 0xD1, 0x8C } |
| static struct among | a_6 [2] |
| static const symbol | s_7_0 [6] = { 0xD0, 0xB5, 0xD0, 0xB9, 0xD1, 0x88 } |
| static const symbol | s_7_1 [2] = { 0xD1, 0x8C } |
| static const symbol | s_7_2 [8] = { 0xD0, 0xB5, 0xD0, 0xB9, 0xD1, 0x88, 0xD0, 0xB5 } |
| static const symbol | s_7_3 [2] = { 0xD0, 0xBD } |
| static struct among | a_7 [4] |
| static const unsigned char | g_v [] = { 33, 65, 8, 232 } |
| static const symbol | s_0 [] = { 0xD0, 0xB0 } |
| static const symbol | s_1 [] = { 0xD1, 0x8F } |
| static const symbol | s_2 [] = { 0xD0, 0xB0 } |
| static const symbol | s_3 [] = { 0xD1, 0x8F } |
| static const symbol | s_4 [] = { 0xD0, 0xB0 } |
| static const symbol | s_5 [] = { 0xD1, 0x8F } |
| static const symbol | s_6 [] = { 0xD0, 0xBD } |
| static const symbol | s_7 [] = { 0xD0, 0xBD } |
| static const symbol | s_8 [] = { 0xD0, 0xBD } |
| static const symbol | s_9 [] = { 0xD0, 0xB8 } |
| static int r_adjectival | ( | struct SN_env * | z | ) | [static] |
Definition at line 438 of file stem_UTF_8_russian.c.
References SN_env::bra, SN_env::c, eq_s_b(), find_among_b(), SN_env::ket, SN_env::l, r_adjective(), s_2, s_3, and slice_del().
Referenced by russian_UTF_8_stem().
{
int among_var;
{ int ret = r_adjective(z);
if (ret == 0) return 0; /* call adjective, line 102 */
if (ret < 0) return ret;
}
{ int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 109 */
z->ket = z->c; /* [, line 110 */
among_var = find_among_b(z, a_2, 8); /* substring, line 110 */
if (!(among_var)) { z->c = z->l - m_keep; goto lab0; }
z->bra = z->c; /* ], line 110 */
switch(among_var) {
case 0: { z->c = z->l - m_keep; goto lab0; }
case 1:
{ int m1 = z->l - z->c; (void)m1; /* or, line 115 */
if (!(eq_s_b(z, 2, s_2))) goto lab2;
goto lab1;
lab2:
z->c = z->l - m1;
if (!(eq_s_b(z, 2, s_3))) { z->c = z->l - m_keep; goto lab0; }
}
lab1:
{ int ret = slice_del(z); /* delete, line 115 */
if (ret < 0) return ret;
}
break;
case 2:
{ int ret = slice_del(z); /* delete, line 122 */
if (ret < 0) return ret;
}
break;
}
lab0:
;
}
return 1;
}
| static int r_adjective | ( | struct SN_env * | z | ) | [static] |
Definition at line 421 of file stem_UTF_8_russian.c.
References SN_env::bra, SN_env::c, find_among_b(), SN_env::ket, and slice_del().
Referenced by r_adjectival().
{
int among_var;
z->ket = z->c; /* [, line 88 */
among_var = find_among_b(z, a_1, 26); /* substring, line 88 */
if (!(among_var)) return 0;
z->bra = z->c; /* ], line 88 */
switch(among_var) {
case 0: return 0;
case 1:
{ int ret = slice_del(z); /* delete, line 97 */
if (ret < 0) return ret;
}
break;
}
return 1;
}
| static int r_derivational | ( | struct SN_env * | z | ) | [static] |
Definition at line 541 of file stem_UTF_8_russian.c.
References SN_env::bra, SN_env::c, find_among_b(), SN_env::ket, SN_env::lb, SN_env::p, r_R2(), and slice_del().
Referenced by russian_UTF_8_stem().
{
int among_var;
z->ket = z->c; /* [, line 176 */
if (z->c - 5 <= z->lb || (z->p[z->c - 1] != 130 && z->p[z->c - 1] != 140)) return 0;
among_var = find_among_b(z, a_6, 2); /* substring, line 176 */
if (!(among_var)) return 0;
z->bra = z->c; /* ], line 176 */
{ int ret = r_R2(z);
if (ret == 0) return 0; /* call R2, line 176 */
if (ret < 0) return ret;
}
switch(among_var) {
case 0: return 0;
case 1:
{ int ret = slice_del(z); /* delete, line 179 */
if (ret < 0) return ret;
}
break;
}
return 1;
}
| static int r_mark_regions | ( | struct SN_env * | z | ) | [static] |
Definition at line 354 of file stem_UTF_8_russian.c.
References SN_env::c, g_v, SN_env::I, in_grouping_U(), SN_env::l, and out_grouping_U().
Referenced by russian_UTF_8_stem().
{
z->I[0] = z->l;
z->I[1] = z->l;
{ int c1 = z->c; /* do, line 61 */
{ /* gopast */ /* grouping v, line 62 */
int ret = out_grouping_U(z, g_v, 1072, 1103, 1);
if (ret < 0) goto lab0;
z->c += ret;
}
z->I[0] = z->c; /* setmark pV, line 62 */
{ /* gopast */ /* non v, line 62 */
int ret = in_grouping_U(z, g_v, 1072, 1103, 1);
if (ret < 0) goto lab0;
z->c += ret;
}
{ /* gopast */ /* grouping v, line 63 */
int ret = out_grouping_U(z, g_v, 1072, 1103, 1);
if (ret < 0) goto lab0;
z->c += ret;
}
{ /* gopast */ /* non v, line 63 */
int ret = in_grouping_U(z, g_v, 1072, 1103, 1);
if (ret < 0) goto lab0;
z->c += ret;
}
z->I[1] = z->c; /* setmark p2, line 63 */
lab0:
z->c = c1;
}
return 1;
}
| static int r_noun | ( | struct SN_env * | z | ) | [static] |
Definition at line 524 of file stem_UTF_8_russian.c.
References SN_env::bra, SN_env::c, find_among_b(), SN_env::ket, and slice_del().
Referenced by russian_UTF_8_stem().
{
int among_var;
z->ket = z->c; /* [, line 160 */
among_var = find_among_b(z, a_5, 36); /* substring, line 160 */
if (!(among_var)) return 0;
z->bra = z->c; /* ], line 160 */
switch(among_var) {
case 0: return 0;
case 1:
{ int ret = slice_del(z); /* delete, line 167 */
if (ret < 0) return ret;
}
break;
}
return 1;
}
| static int r_perfective_gerund | ( | struct SN_env * | z | ) | [static] |
Definition at line 391 of file stem_UTF_8_russian.c.
References SN_env::bra, SN_env::c, eq_s_b(), find_among_b(), SN_env::ket, SN_env::l, s_0, s_1, and slice_del().
Referenced by russian_UTF_8_stem().
{
int among_var;
z->ket = z->c; /* [, line 72 */
among_var = find_among_b(z, a_0, 9); /* substring, line 72 */
if (!(among_var)) return 0;
z->bra = z->c; /* ], line 72 */
switch(among_var) {
case 0: return 0;
case 1:
{ int m1 = z->l - z->c; (void)m1; /* or, line 76 */
if (!(eq_s_b(z, 2, s_0))) goto lab1;
goto lab0;
lab1:
z->c = z->l - m1;
if (!(eq_s_b(z, 2, s_1))) return 0;
}
lab0:
{ int ret = slice_del(z); /* delete, line 76 */
if (ret < 0) return ret;
}
break;
case 2:
{ int ret = slice_del(z); /* delete, line 83 */
if (ret < 0) return ret;
}
break;
}
return 1;
}
| static int r_R2 | ( | struct SN_env * | z | ) | [static] |
Definition at line 386 of file stem_UTF_8_russian.c.
References SN_env::c, and SN_env::I.
Referenced by r_derivational().
| static int r_reflexive | ( | struct SN_env * | z | ) | [static] |
Definition at line 476 of file stem_UTF_8_russian.c.
References SN_env::bra, SN_env::c, find_among_b(), SN_env::ket, SN_env::lb, SN_env::p, and slice_del().
Referenced by russian_UTF_8_stem().
{
int among_var;
z->ket = z->c; /* [, line 129 */
if (z->c - 3 <= z->lb || (z->p[z->c - 1] != 140 && z->p[z->c - 1] != 143)) return 0;
among_var = find_among_b(z, a_3, 2); /* substring, line 129 */
if (!(among_var)) return 0;
z->bra = z->c; /* ], line 129 */
switch(among_var) {
case 0: return 0;
case 1:
{ int ret = slice_del(z); /* delete, line 132 */
if (ret < 0) return ret;
}
break;
}
return 1;
}
| static int r_tidy_up | ( | struct SN_env * | z | ) | [static] |
Definition at line 563 of file stem_UTF_8_russian.c.
References SN_env::bra, SN_env::c, eq_s_b(), find_among_b(), SN_env::ket, s_6, s_7, s_8, and slice_del().
Referenced by russian_UTF_8_stem().
{
int among_var;
z->ket = z->c; /* [, line 184 */
among_var = find_among_b(z, a_7, 4); /* substring, line 184 */
if (!(among_var)) return 0;
z->bra = z->c; /* ], line 184 */
switch(among_var) {
case 0: return 0;
case 1:
{ int ret = slice_del(z); /* delete, line 188 */
if (ret < 0) return ret;
}
z->ket = z->c; /* [, line 189 */
if (!(eq_s_b(z, 2, s_6))) return 0;
z->bra = z->c; /* ], line 189 */
if (!(eq_s_b(z, 2, s_7))) return 0;
{ int ret = slice_del(z); /* delete, line 189 */
if (ret < 0) return ret;
}
break;
case 2:
if (!(eq_s_b(z, 2, s_8))) return 0;
{ int ret = slice_del(z); /* delete, line 192 */
if (ret < 0) return ret;
}
break;
case 3:
{ int ret = slice_del(z); /* delete, line 194 */
if (ret < 0) return ret;
}
break;
}
return 1;
}
| static int r_verb | ( | struct SN_env * | z | ) | [static] |
Definition at line 494 of file stem_UTF_8_russian.c.
References SN_env::bra, SN_env::c, eq_s_b(), find_among_b(), SN_env::ket, SN_env::l, s_4, s_5, and slice_del().
Referenced by russian_UTF_8_stem().
{
int among_var;
z->ket = z->c; /* [, line 137 */
among_var = find_among_b(z, a_4, 46); /* substring, line 137 */
if (!(among_var)) return 0;
z->bra = z->c; /* ], line 137 */
switch(among_var) {
case 0: return 0;
case 1:
{ int m1 = z->l - z->c; (void)m1; /* or, line 143 */
if (!(eq_s_b(z, 2, s_4))) goto lab1;
goto lab0;
lab1:
z->c = z->l - m1;
if (!(eq_s_b(z, 2, s_5))) return 0;
}
lab0:
{ int ret = slice_del(z); /* delete, line 143 */
if (ret < 0) return ret;
}
break;
case 2:
{ int ret = slice_del(z); /* delete, line 151 */
if (ret < 0) return ret;
}
break;
}
return 1;
}
| void russian_UTF_8_close_env | ( | struct SN_env * | z | ) |
Definition at line 693 of file stem_UTF_8_russian.c.
References SN_close_env().
{ SN_close_env(z, 0); }
| struct SN_env * russian_UTF_8_create_env | ( | void | ) | [read] |
Definition at line 691 of file stem_UTF_8_russian.c.
References SN_create_env().
{ return SN_create_env(0, 2, 0); }
| int russian_UTF_8_stem | ( | struct SN_env * | z | ) |
Definition at line 598 of file stem_UTF_8_russian.c.
References SN_env::bra, SN_env::c, eq_s_b(), SN_env::I, SN_env::ket, SN_env::l, SN_env::lb, r_adjectival(), r_derivational(), r_mark_regions(), r_noun(), r_perfective_gerund(), r_reflexive(), r_tidy_up(), r_verb(), s_9, and slice_del().
{
{ int c1 = z->c; /* do, line 201 */
{ int ret = r_mark_regions(z);
if (ret == 0) goto lab0; /* call mark_regions, line 201 */
if (ret < 0) return ret;
}
lab0:
z->c = c1;
}
z->lb = z->c; z->c = z->l; /* backwards, line 202 */
{ int mlimit; /* setlimit, line 202 */
int m2 = z->l - z->c; (void)m2;
if (z->c < z->I[0]) return 0;
z->c = z->I[0]; /* tomark, line 202 */
mlimit = z->lb; z->lb = z->c;
z->c = z->l - m2;
{ int m3 = z->l - z->c; (void)m3; /* do, line 203 */
{ int m4 = z->l - z->c; (void)m4; /* or, line 204 */
{ int ret = r_perfective_gerund(z);
if (ret == 0) goto lab3; /* call perfective_gerund, line 204 */
if (ret < 0) return ret;
}
goto lab2;
lab3:
z->c = z->l - m4;
{ int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 205 */
{ int ret = r_reflexive(z);
if (ret == 0) { z->c = z->l - m_keep; goto lab4; } /* call reflexive, line 205 */
if (ret < 0) return ret;
}
lab4:
;
}
{ int m5 = z->l - z->c; (void)m5; /* or, line 206 */
{ int ret = r_adjectival(z);
if (ret == 0) goto lab6; /* call adjectival, line 206 */
if (ret < 0) return ret;
}
goto lab5;
lab6:
z->c = z->l - m5;
{ int ret = r_verb(z);
if (ret == 0) goto lab7; /* call verb, line 206 */
if (ret < 0) return ret;
}
goto lab5;
lab7:
z->c = z->l - m5;
{ int ret = r_noun(z);
if (ret == 0) goto lab1; /* call noun, line 206 */
if (ret < 0) return ret;
}
}
lab5:
;
}
lab2:
lab1:
z->c = z->l - m3;
}
{ int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 209 */
z->ket = z->c; /* [, line 209 */
if (!(eq_s_b(z, 2, s_9))) { z->c = z->l - m_keep; goto lab8; }
z->bra = z->c; /* ], line 209 */
{ int ret = slice_del(z); /* delete, line 209 */
if (ret < 0) return ret;
}
lab8:
;
}
{ int m6 = z->l - z->c; (void)m6; /* do, line 212 */
{ int ret = r_derivational(z);
if (ret == 0) goto lab9; /* call derivational, line 212 */
if (ret < 0) return ret;
}
lab9:
z->c = z->l - m6;
}
{ int m7 = z->l - z->c; (void)m7; /* do, line 213 */
{ int ret = r_tidy_up(z);
if (ret == 0) goto lab10; /* call tidy_up, line 213 */
if (ret < 0) return ret;
}
lab10:
z->c = z->l - m7;
}
z->lb = mlimit;
}
z->c = z->lb;
return 1;
}
{
{ 6, s_1_0, -1, 1, 0},
{ 6, s_1_1, -1, 1, 0},
{ 4, s_1_2, -1, 1, 0},
{ 4, s_1_3, -1, 1, 0},
{ 4, s_1_4, -1, 1, 0},
{ 4, s_1_5, -1, 1, 0},
{ 4, s_1_6, -1, 1, 0},
{ 4, s_1_7, -1, 1, 0},
{ 4, s_1_8, -1, 1, 0},
{ 4, s_1_9, -1, 1, 0},
{ 4, s_1_10, -1, 1, 0},
{ 4, s_1_11, -1, 1, 0},
{ 4, s_1_12, -1, 1, 0},
{ 4, s_1_13, -1, 1, 0},
{ 6, s_1_14, -1, 1, 0},
{ 6, s_1_15, -1, 1, 0},
{ 4, s_1_16, -1, 1, 0},
{ 4, s_1_17, -1, 1, 0},
{ 4, s_1_18, -1, 1, 0},
{ 4, s_1_19, -1, 1, 0},
{ 4, s_1_20, -1, 1, 0},
{ 4, s_1_21, -1, 1, 0},
{ 4, s_1_22, -1, 1, 0},
{ 4, s_1_23, -1, 1, 0},
{ 6, s_1_24, -1, 1, 0},
{ 6, s_1_25, -1, 1, 0}
}
Definition at line 85 of file stem_UTF_8_russian.c.
Definition at line 139 of file stem_UTF_8_russian.c.
Definition at line 192 of file stem_UTF_8_russian.c.
Definition at line 279 of file stem_UTF_8_russian.c.
Definition at line 322 of file stem_UTF_8_russian.c.
const unsigned char g_v[] = { 33, 65, 8, 232 } [static] |
Definition at line 341 of file stem_UTF_8_russian.c.
Referenced by r_mark_regions().
Definition at line 343 of file stem_UTF_8_russian.c.
Referenced by r_perfective_gerund().
Definition at line 35 of file stem_UTF_8_russian.c.
const symbol s_0_1[12] = { 0xD1, 0x8B, 0xD0, 0xB2, 0xD1, 0x88, 0xD0, 0xB8, 0xD1, 0x81, 0xD1, 0x8C } [static] |
Definition at line 36 of file stem_UTF_8_russian.c.
const symbol s_0_2[12] = { 0xD0, 0xB8, 0xD0, 0xB2, 0xD1, 0x88, 0xD0, 0xB8, 0xD1, 0x81, 0xD1, 0x8C } [static] |
Definition at line 37 of file stem_UTF_8_russian.c.
Definition at line 38 of file stem_UTF_8_russian.c.
Definition at line 39 of file stem_UTF_8_russian.c.
Definition at line 40 of file stem_UTF_8_russian.c.
Definition at line 41 of file stem_UTF_8_russian.c.
Definition at line 42 of file stem_UTF_8_russian.c.
Definition at line 43 of file stem_UTF_8_russian.c.
Definition at line 344 of file stem_UTF_8_russian.c.
Referenced by r_perfective_gerund().
Definition at line 58 of file stem_UTF_8_russian.c.
Definition at line 59 of file stem_UTF_8_russian.c.
Definition at line 68 of file stem_UTF_8_russian.c.
Definition at line 69 of file stem_UTF_8_russian.c.
Definition at line 70 of file stem_UTF_8_russian.c.
Definition at line 71 of file stem_UTF_8_russian.c.
Definition at line 72 of file stem_UTF_8_russian.c.
Definition at line 73 of file stem_UTF_8_russian.c.
Definition at line 74 of file stem_UTF_8_russian.c.
Definition at line 75 of file stem_UTF_8_russian.c.
Definition at line 76 of file stem_UTF_8_russian.c.
Definition at line 77 of file stem_UTF_8_russian.c.
Definition at line 60 of file stem_UTF_8_russian.c.
Definition at line 78 of file stem_UTF_8_russian.c.
Definition at line 79 of file stem_UTF_8_russian.c.
Definition at line 80 of file stem_UTF_8_russian.c.
Definition at line 81 of file stem_UTF_8_russian.c.
Definition at line 82 of file stem_UTF_8_russian.c.
Definition at line 83 of file stem_UTF_8_russian.c.
Definition at line 61 of file stem_UTF_8_russian.c.
Definition at line 62 of file stem_UTF_8_russian.c.
Definition at line 63 of file stem_UTF_8_russian.c.
Definition at line 64 of file stem_UTF_8_russian.c.
Definition at line 65 of file stem_UTF_8_russian.c.
Definition at line 66 of file stem_UTF_8_russian.c.
Definition at line 67 of file stem_UTF_8_russian.c.
Definition at line 345 of file stem_UTF_8_russian.c.
Referenced by r_adjectival().
Definition at line 115 of file stem_UTF_8_russian.c.
Definition at line 116 of file stem_UTF_8_russian.c.
Definition at line 117 of file stem_UTF_8_russian.c.
Definition at line 118 of file stem_UTF_8_russian.c.
Definition at line 119 of file stem_UTF_8_russian.c.
Definition at line 120 of file stem_UTF_8_russian.c.
Definition at line 121 of file stem_UTF_8_russian.c.
Definition at line 122 of file stem_UTF_8_russian.c.
Definition at line 346 of file stem_UTF_8_russian.c.
Referenced by r_adjectival().
Definition at line 136 of file stem_UTF_8_russian.c.
Definition at line 137 of file stem_UTF_8_russian.c.
Definition at line 347 of file stem_UTF_8_russian.c.
Referenced by r_verb().
Definition at line 145 of file stem_UTF_8_russian.c.
Definition at line 146 of file stem_UTF_8_russian.c.
Definition at line 155 of file stem_UTF_8_russian.c.
Definition at line 156 of file stem_UTF_8_russian.c.
Definition at line 157 of file stem_UTF_8_russian.c.
Definition at line 158 of file stem_UTF_8_russian.c.
Definition at line 159 of file stem_UTF_8_russian.c.
Definition at line 160 of file stem_UTF_8_russian.c.
Definition at line 161 of file stem_UTF_8_russian.c.
Definition at line 162 of file stem_UTF_8_russian.c.
Definition at line 163 of file stem_UTF_8_russian.c.
Definition at line 164 of file stem_UTF_8_russian.c.
Definition at line 147 of file stem_UTF_8_russian.c.
Definition at line 165 of file stem_UTF_8_russian.c.
Definition at line 166 of file stem_UTF_8_russian.c.
Definition at line 167 of file stem_UTF_8_russian.c.
Definition at line 168 of file stem_UTF_8_russian.c.
Definition at line 169 of file stem_UTF_8_russian.c.
Definition at line 170 of file stem_UTF_8_russian.c.
Definition at line 171 of file stem_UTF_8_russian.c.
Definition at line 172 of file stem_UTF_8_russian.c.
Definition at line 173 of file stem_UTF_8_russian.c.
Definition at line 174 of file stem_UTF_8_russian.c.
Definition at line 148 of file stem_UTF_8_russian.c.
Definition at line 175 of file stem_UTF_8_russian.c.
Definition at line 176 of file stem_UTF_8_russian.c.
Definition at line 177 of file stem_UTF_8_russian.c.
Definition at line 178 of file stem_UTF_8_russian.c.
Definition at line 179 of file stem_UTF_8_russian.c.
Definition at line 180 of file stem_UTF_8_russian.c.
Definition at line 181 of file stem_UTF_8_russian.c.
Definition at line 182 of file stem_UTF_8_russian.c.
Definition at line 183 of file stem_UTF_8_russian.c.
Definition at line 184 of file stem_UTF_8_russian.c.
Definition at line 149 of file stem_UTF_8_russian.c.
Definition at line 185 of file stem_UTF_8_russian.c.
Definition at line 186 of file stem_UTF_8_russian.c.
Definition at line 187 of file stem_UTF_8_russian.c.
Definition at line 188 of file stem_UTF_8_russian.c.
Definition at line 189 of file stem_UTF_8_russian.c.
Definition at line 190 of file stem_UTF_8_russian.c.
Definition at line 150 of file stem_UTF_8_russian.c.
Definition at line 151 of file stem_UTF_8_russian.c.
Definition at line 152 of file stem_UTF_8_russian.c.
Definition at line 153 of file stem_UTF_8_russian.c.
Definition at line 154 of file stem_UTF_8_russian.c.
Definition at line 348 of file stem_UTF_8_russian.c.
Referenced by r_verb().
Definition at line 242 of file stem_UTF_8_russian.c.
Definition at line 243 of file stem_UTF_8_russian.c.
Definition at line 252 of file stem_UTF_8_russian.c.
Definition at line 253 of file stem_UTF_8_russian.c.
Definition at line 254 of file stem_UTF_8_russian.c.
Definition at line 255 of file stem_UTF_8_russian.c.
Definition at line 256 of file stem_UTF_8_russian.c.
Definition at line 257 of file stem_UTF_8_russian.c.
Definition at line 258 of file stem_UTF_8_russian.c.
Definition at line 259 of file stem_UTF_8_russian.c.
Definition at line 260 of file stem_UTF_8_russian.c.
Definition at line 261 of file stem_UTF_8_russian.c.
Definition at line 244 of file stem_UTF_8_russian.c.
Definition at line 262 of file stem_UTF_8_russian.c.
Definition at line 263 of file stem_UTF_8_russian.c.
Definition at line 264 of file stem_UTF_8_russian.c.
Definition at line 265 of file stem_UTF_8_russian.c.
Definition at line 266 of file stem_UTF_8_russian.c.
Definition at line 267 of file stem_UTF_8_russian.c.
Definition at line 268 of file stem_UTF_8_russian.c.
Definition at line 269 of file stem_UTF_8_russian.c.
Definition at line 270 of file stem_UTF_8_russian.c.
Definition at line 271 of file stem_UTF_8_russian.c.
Definition at line 245 of file stem_UTF_8_russian.c.
Definition at line 272 of file stem_UTF_8_russian.c.
Definition at line 273 of file stem_UTF_8_russian.c.
Definition at line 274 of file stem_UTF_8_russian.c.
Definition at line 275 of file stem_UTF_8_russian.c.
Definition at line 276 of file stem_UTF_8_russian.c.
Definition at line 277 of file stem_UTF_8_russian.c.
Definition at line 246 of file stem_UTF_8_russian.c.
Definition at line 247 of file stem_UTF_8_russian.c.
Definition at line 248 of file stem_UTF_8_russian.c.
Definition at line 249 of file stem_UTF_8_russian.c.
Definition at line 250 of file stem_UTF_8_russian.c.
Definition at line 251 of file stem_UTF_8_russian.c.
Definition at line 349 of file stem_UTF_8_russian.c.
Referenced by r_tidy_up().
Definition at line 319 of file stem_UTF_8_russian.c.
Definition at line 320 of file stem_UTF_8_russian.c.
Definition at line 350 of file stem_UTF_8_russian.c.
Referenced by r_tidy_up().
Definition at line 328 of file stem_UTF_8_russian.c.
Definition at line 329 of file stem_UTF_8_russian.c.
Definition at line 330 of file stem_UTF_8_russian.c.
Definition at line 331 of file stem_UTF_8_russian.c.
Definition at line 351 of file stem_UTF_8_russian.c.
Referenced by r_tidy_up().
Definition at line 352 of file stem_UTF_8_russian.c.
Referenced by russian_UTF_8_stem().
1.7.1