blob: ef73f51e58e836d7811b811dce1795c004adb66c [file] [log] [blame]
//! This file was generated automatically by the Snowball to Rust compiler
//! http://snowballstem.org/
#![allow(non_upper_case_globals)]
#![allow(non_snake_case)]
#![allow(unused_variables)]
#![allow(unused_mut)]
use snowball::SnowballEnv;
use snowball::Among;
static A_0: &'static [Among<Context>; 10] = &[
Among("m", -1, -1, None),
Among("n", -1, -1, None),
Among("miz", -1, -1, None),
Among("niz", -1, -1, None),
Among("muz", -1, -1, None),
Among("nuz", -1, -1, None),
Among("m\u{0131}z", -1, -1, None),
Among("n\u{0131}z", -1, -1, None),
Among("m\u{00FC}z", -1, -1, None),
Among("n\u{00FC}z", -1, -1, None),
];
static A_1: &'static [Among<Context>; 2] = &[
Among("leri", -1, -1, None),
Among("lar\u{0131}", -1, -1, None),
];
static A_2: &'static [Among<Context>; 4] = &[
Among("ni", -1, -1, None),
Among("nu", -1, -1, None),
Among("n\u{0131}", -1, -1, None),
Among("n\u{00FC}", -1, -1, None),
];
static A_3: &'static [Among<Context>; 4] = &[
Among("in", -1, -1, None),
Among("un", -1, -1, None),
Among("\u{0131}n", -1, -1, None),
Among("\u{00FC}n", -1, -1, None),
];
static A_4: &'static [Among<Context>; 2] = &[
Among("a", -1, -1, None),
Among("e", -1, -1, None),
];
static A_5: &'static [Among<Context>; 2] = &[
Among("na", -1, -1, None),
Among("ne", -1, -1, None),
];
static A_6: &'static [Among<Context>; 4] = &[
Among("da", -1, -1, None),
Among("ta", -1, -1, None),
Among("de", -1, -1, None),
Among("te", -1, -1, None),
];
static A_7: &'static [Among<Context>; 2] = &[
Among("nda", -1, -1, None),
Among("nde", -1, -1, None),
];
static A_8: &'static [Among<Context>; 4] = &[
Among("dan", -1, -1, None),
Among("tan", -1, -1, None),
Among("den", -1, -1, None),
Among("ten", -1, -1, None),
];
static A_9: &'static [Among<Context>; 2] = &[
Among("ndan", -1, -1, None),
Among("nden", -1, -1, None),
];
static A_10: &'static [Among<Context>; 2] = &[
Among("la", -1, -1, None),
Among("le", -1, -1, None),
];
static A_11: &'static [Among<Context>; 2] = &[
Among("ca", -1, -1, None),
Among("ce", -1, -1, None),
];
static A_12: &'static [Among<Context>; 4] = &[
Among("im", -1, -1, None),
Among("um", -1, -1, None),
Among("\u{0131}m", -1, -1, None),
Among("\u{00FC}m", -1, -1, None),
];
static A_13: &'static [Among<Context>; 4] = &[
Among("sin", -1, -1, None),
Among("sun", -1, -1, None),
Among("s\u{0131}n", -1, -1, None),
Among("s\u{00FC}n", -1, -1, None),
];
static A_14: &'static [Among<Context>; 4] = &[
Among("iz", -1, -1, None),
Among("uz", -1, -1, None),
Among("\u{0131}z", -1, -1, None),
Among("\u{00FC}z", -1, -1, None),
];
static A_15: &'static [Among<Context>; 4] = &[
Among("siniz", -1, -1, None),
Among("sunuz", -1, -1, None),
Among("s\u{0131}n\u{0131}z", -1, -1, None),
Among("s\u{00FC}n\u{00FC}z", -1, -1, None),
];
static A_16: &'static [Among<Context>; 2] = &[
Among("lar", -1, -1, None),
Among("ler", -1, -1, None),
];
static A_17: &'static [Among<Context>; 4] = &[
Among("niz", -1, -1, None),
Among("nuz", -1, -1, None),
Among("n\u{0131}z", -1, -1, None),
Among("n\u{00FC}z", -1, -1, None),
];
static A_18: &'static [Among<Context>; 8] = &[
Among("dir", -1, -1, None),
Among("tir", -1, -1, None),
Among("dur", -1, -1, None),
Among("tur", -1, -1, None),
Among("d\u{0131}r", -1, -1, None),
Among("t\u{0131}r", -1, -1, None),
Among("d\u{00FC}r", -1, -1, None),
Among("t\u{00FC}r", -1, -1, None),
];
static A_19: &'static [Among<Context>; 2] = &[
Among("cas\u{0131}na", -1, -1, None),
Among("cesine", -1, -1, None),
];
static A_20: &'static [Among<Context>; 32] = &[
Among("di", -1, -1, None),
Among("ti", -1, -1, None),
Among("dik", -1, -1, None),
Among("tik", -1, -1, None),
Among("duk", -1, -1, None),
Among("tuk", -1, -1, None),
Among("d\u{0131}k", -1, -1, None),
Among("t\u{0131}k", -1, -1, None),
Among("d\u{00FC}k", -1, -1, None),
Among("t\u{00FC}k", -1, -1, None),
Among("dim", -1, -1, None),
Among("tim", -1, -1, None),
Among("dum", -1, -1, None),
Among("tum", -1, -1, None),
Among("d\u{0131}m", -1, -1, None),
Among("t\u{0131}m", -1, -1, None),
Among("d\u{00FC}m", -1, -1, None),
Among("t\u{00FC}m", -1, -1, None),
Among("din", -1, -1, None),
Among("tin", -1, -1, None),
Among("dun", -1, -1, None),
Among("tun", -1, -1, None),
Among("d\u{0131}n", -1, -1, None),
Among("t\u{0131}n", -1, -1, None),
Among("d\u{00FC}n", -1, -1, None),
Among("t\u{00FC}n", -1, -1, None),
Among("du", -1, -1, None),
Among("tu", -1, -1, None),
Among("d\u{0131}", -1, -1, None),
Among("t\u{0131}", -1, -1, None),
Among("d\u{00FC}", -1, -1, None),
Among("t\u{00FC}", -1, -1, None),
];
static A_21: &'static [Among<Context>; 8] = &[
Among("sa", -1, -1, None),
Among("se", -1, -1, None),
Among("sak", -1, -1, None),
Among("sek", -1, -1, None),
Among("sam", -1, -1, None),
Among("sem", -1, -1, None),
Among("san", -1, -1, None),
Among("sen", -1, -1, None),
];
static A_22: &'static [Among<Context>; 4] = &[
Among("mi\u{015F}", -1, -1, None),
Among("mu\u{015F}", -1, -1, None),
Among("m\u{0131}\u{015F}", -1, -1, None),
Among("m\u{00FC}\u{015F}", -1, -1, None),
];
static A_23: &'static [Among<Context>; 4] = &[
Among("b", -1, 1, None),
Among("c", -1, 2, None),
Among("d", -1, 3, None),
Among("\u{011F}", -1, 4, None),
];
static G_vowel: &'static [u8; 27] = &[17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 8, 0, 0, 0, 0, 0, 0, 1];
static G_U: &'static [u8; 26] = &[1, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 1];
static G_vowel1: &'static [u8; 27] = &[1, 64, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1];
static G_vowel2: &'static [u8; 19] = &[17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 130];
static G_vowel3: &'static [u8; 27] = &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1];
static G_vowel4: &'static [u8; 1] = &[17];
static G_vowel5: &'static [u8; 1] = &[65];
static G_vowel6: &'static [u8; 1] = &[65];
#[derive(Clone)]
struct Context {
b_continue_stemming_noun_suffixes: bool,
i_strlen: usize,
}
fn r_check_vowel_harmony(env: &mut SnowballEnv, context: &mut Context) -> bool {
// (, line 111
// test, line 112
let v_1 = env.limit - env.cursor;
// (, line 113
// (, line 114
// goto, line 114
'golab0: loop {
let v_2 = env.limit - env.cursor;
'lab1: loop {
if !env.in_grouping_b(G_vowel, 97, 305) {
break 'lab1;
}
env.cursor = env.limit - v_2;
break 'golab0;
}
env.cursor = env.limit - v_2;
if env.cursor <= env.limit_backward {
return false;
}
env.previous_char();
}
// (, line 115
// or, line 116
'lab2: loop {
let v_3 = env.limit - env.cursor;
'lab3: loop {
// (, line 116
// literal, line 116
if !env.eq_s_b(&"a") {
break 'lab3;
}
// goto, line 116
'golab4: loop {
let v_4 = env.limit - env.cursor;
'lab5: loop {
if !env.in_grouping_b(G_vowel1, 97, 305) {
break 'lab5;
}
env.cursor = env.limit - v_4;
break 'golab4;
}
env.cursor = env.limit - v_4;
if env.cursor <= env.limit_backward {
break 'lab3;
}
env.previous_char();
}
break 'lab2;
}
env.cursor = env.limit - v_3;
'lab6: loop {
// (, line 117
// literal, line 117
if !env.eq_s_b(&"e") {
break 'lab6;
}
// goto, line 117
'golab7: loop {
let v_5 = env.limit - env.cursor;
'lab8: loop {
if !env.in_grouping_b(G_vowel2, 101, 252) {
break 'lab8;
}
env.cursor = env.limit - v_5;
break 'golab7;
}
env.cursor = env.limit - v_5;
if env.cursor <= env.limit_backward {
break 'lab6;
}
env.previous_char();
}
break 'lab2;
}
env.cursor = env.limit - v_3;
'lab9: loop {
// (, line 118
// literal, line 118
if !env.eq_s_b(&"\u{0131}") {
break 'lab9;
}
// goto, line 118
'golab10: loop {
let v_6 = env.limit - env.cursor;
'lab11: loop {
if !env.in_grouping_b(G_vowel3, 97, 305) {
break 'lab11;
}
env.cursor = env.limit - v_6;
break 'golab10;
}
env.cursor = env.limit - v_6;
if env.cursor <= env.limit_backward {
break 'lab9;
}
env.previous_char();
}
break 'lab2;
}
env.cursor = env.limit - v_3;
'lab12: loop {
// (, line 119
// literal, line 119
if !env.eq_s_b(&"i") {
break 'lab12;
}
// goto, line 119
'golab13: loop {
let v_7 = env.limit - env.cursor;
'lab14: loop {
if !env.in_grouping_b(G_vowel4, 101, 105) {
break 'lab14;
}
env.cursor = env.limit - v_7;
break 'golab13;
}
env.cursor = env.limit - v_7;
if env.cursor <= env.limit_backward {
break 'lab12;
}
env.previous_char();
}
break 'lab2;
}
env.cursor = env.limit - v_3;
'lab15: loop {
// (, line 120
// literal, line 120
if !env.eq_s_b(&"o") {
break 'lab15;
}
// goto, line 120
'golab16: loop {
let v_8 = env.limit - env.cursor;
'lab17: loop {
if !env.in_grouping_b(G_vowel5, 111, 117) {
break 'lab17;
}
env.cursor = env.limit - v_8;
break 'golab16;
}
env.cursor = env.limit - v_8;
if env.cursor <= env.limit_backward {
break 'lab15;
}
env.previous_char();
}
break 'lab2;
}
env.cursor = env.limit - v_3;
'lab18: loop {
// (, line 121
// literal, line 121
if !env.eq_s_b(&"\u{00F6}") {
break 'lab18;
}
// goto, line 121
'golab19: loop {
let v_9 = env.limit - env.cursor;
'lab20: loop {
if !env.in_grouping_b(G_vowel6, 246, 252) {
break 'lab20;
}
env.cursor = env.limit - v_9;
break 'golab19;
}
env.cursor = env.limit - v_9;
if env.cursor <= env.limit_backward {
break 'lab18;
}
env.previous_char();
}
break 'lab2;
}
env.cursor = env.limit - v_3;
'lab21: loop {
// (, line 122
// literal, line 122
if !env.eq_s_b(&"u") {
break 'lab21;
}
// goto, line 122
'golab22: loop {
let v_10 = env.limit - env.cursor;
'lab23: loop {
if !env.in_grouping_b(G_vowel5, 111, 117) {
break 'lab23;
}
env.cursor = env.limit - v_10;
break 'golab22;
}
env.cursor = env.limit - v_10;
if env.cursor <= env.limit_backward {
break 'lab21;
}
env.previous_char();
}
break 'lab2;
}
env.cursor = env.limit - v_3;
// (, line 123
// literal, line 123
if !env.eq_s_b(&"\u{00FC}") {
return false;
}
// goto, line 123
'golab24: loop {
let v_11 = env.limit - env.cursor;
'lab25: loop {
if !env.in_grouping_b(G_vowel6, 246, 252) {
break 'lab25;
}
env.cursor = env.limit - v_11;
break 'golab24;
}
env.cursor = env.limit - v_11;
if env.cursor <= env.limit_backward {
return false;
}
env.previous_char();
}
break 'lab2;
}
env.cursor = env.limit - v_1;
return true;
}
fn r_mark_suffix_with_optional_n_consonant(env: &mut SnowballEnv, context: &mut Context) -> bool {
// (, line 132
// or, line 134
'lab0: loop {
let v_1 = env.limit - env.cursor;
'lab1: loop {
// (, line 133
// literal, line 133
if !env.eq_s_b(&"n") {
break 'lab1;
}
// (, line 133
// test, line 133
let v_2 = env.limit - env.cursor;
if !env.in_grouping_b(G_vowel, 97, 305) {
break 'lab1;
}
env.cursor = env.limit - v_2;
break 'lab0;
}
env.cursor = env.limit - v_1;
// (, line 135
// (, line 135
// not, line 135
let v_3 = env.limit - env.cursor;
'lab2: loop {
// (, line 135
// test, line 135
let v_4 = env.limit - env.cursor;
// literal, line 135
if !env.eq_s_b(&"n") {
break 'lab2;
}
env.cursor = env.limit - v_4;
return false;
}
env.cursor = env.limit - v_3;
// test, line 135
let v_5 = env.limit - env.cursor;
// (, line 135
// next, line 135
if env.cursor <= env.limit_backward {
return false;
}
env.previous_char();
if !env.in_grouping_b(G_vowel, 97, 305) {
return false;
}
env.cursor = env.limit - v_5;
break 'lab0;
}
return true;
}
fn r_mark_suffix_with_optional_s_consonant(env: &mut SnowballEnv, context: &mut Context) -> bool {
// (, line 143
// or, line 145
'lab0: loop {
let v_1 = env.limit - env.cursor;
'lab1: loop {
// (, line 144
// literal, line 144
if !env.eq_s_b(&"s") {
break 'lab1;
}
// (, line 144
// test, line 144
let v_2 = env.limit - env.cursor;
if !env.in_grouping_b(G_vowel, 97, 305) {
break 'lab1;
}
env.cursor = env.limit - v_2;
break 'lab0;
}
env.cursor = env.limit - v_1;
// (, line 146
// (, line 146
// not, line 146
let v_3 = env.limit - env.cursor;
'lab2: loop {
// (, line 146
// test, line 146
let v_4 = env.limit - env.cursor;
// literal, line 146
if !env.eq_s_b(&"s") {
break 'lab2;
}
env.cursor = env.limit - v_4;
return false;
}
env.cursor = env.limit - v_3;
// test, line 146
let v_5 = env.limit - env.cursor;
// (, line 146
// next, line 146
if env.cursor <= env.limit_backward {
return false;
}
env.previous_char();
if !env.in_grouping_b(G_vowel, 97, 305) {
return false;
}
env.cursor = env.limit - v_5;
break 'lab0;
}
return true;
}
fn r_mark_suffix_with_optional_y_consonant(env: &mut SnowballEnv, context: &mut Context) -> bool {
// (, line 153
// or, line 155
'lab0: loop {
let v_1 = env.limit - env.cursor;
'lab1: loop {
// (, line 154
// literal, line 154
if !env.eq_s_b(&"y") {
break 'lab1;
}
// (, line 154
// test, line 154
let v_2 = env.limit - env.cursor;
if !env.in_grouping_b(G_vowel, 97, 305) {
break 'lab1;
}
env.cursor = env.limit - v_2;
break 'lab0;
}
env.cursor = env.limit - v_1;
// (, line 156
// (, line 156
// not, line 156
let v_3 = env.limit - env.cursor;
'lab2: loop {
// (, line 156
// test, line 156
let v_4 = env.limit - env.cursor;
// literal, line 156
if !env.eq_s_b(&"y") {
break 'lab2;
}
env.cursor = env.limit - v_4;
return false;
}
env.cursor = env.limit - v_3;
// test, line 156
let v_5 = env.limit - env.cursor;
// (, line 156
// next, line 156
if env.cursor <= env.limit_backward {
return false;
}
env.previous_char();
if !env.in_grouping_b(G_vowel, 97, 305) {
return false;
}
env.cursor = env.limit - v_5;
break 'lab0;
}
return true;
}
fn r_mark_suffix_with_optional_U_vowel(env: &mut SnowballEnv, context: &mut Context) -> bool {
// (, line 159
// or, line 161
'lab0: loop {
let v_1 = env.limit - env.cursor;
'lab1: loop {
// (, line 160
if !env.in_grouping_b(G_U, 105, 305) {
break 'lab1;
}
// (, line 160
// test, line 160
let v_2 = env.limit - env.cursor;
if !env.out_grouping_b(G_vowel, 97, 305) {
break 'lab1;
}
env.cursor = env.limit - v_2;
break 'lab0;
}
env.cursor = env.limit - v_1;
// (, line 162
// (, line 162
// not, line 162
let v_3 = env.limit - env.cursor;
'lab2: loop {
// (, line 162
// test, line 162
let v_4 = env.limit - env.cursor;
if !env.in_grouping_b(G_U, 105, 305) {
break 'lab2;
}
env.cursor = env.limit - v_4;
return false;
}
env.cursor = env.limit - v_3;
// test, line 162
let v_5 = env.limit - env.cursor;
// (, line 162
// next, line 162
if env.cursor <= env.limit_backward {
return false;
}
env.previous_char();
if !env.out_grouping_b(G_vowel, 97, 305) {
return false;
}
env.cursor = env.limit - v_5;
break 'lab0;
}
return true;
}
fn r_mark_possessives(env: &mut SnowballEnv, context: &mut Context) -> bool {
// (, line 166
// among, line 167
if env.find_among_b(A_0, context) == 0 {
return false;
}
// (, line 169
// call mark_suffix_with_optional_U_vowel, line 169
if !r_mark_suffix_with_optional_U_vowel(env, context) {
return false;
}
return true;
}
fn r_mark_sU(env: &mut SnowballEnv, context: &mut Context) -> bool {
// (, line 172
// call check_vowel_harmony, line 173
if !r_check_vowel_harmony(env, context) {
return false;
}
if !env.in_grouping_b(G_U, 105, 305) {
return false;
}
// (, line 175
// call mark_suffix_with_optional_s_consonant, line 175
if !r_mark_suffix_with_optional_s_consonant(env, context) {
return false;
}
return true;
}
fn r_mark_lArI(env: &mut SnowballEnv, context: &mut Context) -> bool {
// (, line 178
// among, line 179
if env.find_among_b(A_1, context) == 0 {
return false;
}
return true;
}
fn r_mark_yU(env: &mut SnowballEnv, context: &mut Context) -> bool {
// (, line 182
// call check_vowel_harmony, line 183
if !r_check_vowel_harmony(env, context) {
return false;
}
if !env.in_grouping_b(G_U, 105, 305) {
return false;
}
// (, line 185
// call mark_suffix_with_optional_y_consonant, line 185
if !r_mark_suffix_with_optional_y_consonant(env, context) {
return false;
}
return true;
}
fn r_mark_nU(env: &mut SnowballEnv, context: &mut Context) -> bool {
// (, line 188
// call check_vowel_harmony, line 189
if !r_check_vowel_harmony(env, context) {
return false;
}
// among, line 190
if env.find_among_b(A_2, context) == 0 {
return false;
}
return true;
}
fn r_mark_nUn(env: &mut SnowballEnv, context: &mut Context) -> bool {
// (, line 193
// call check_vowel_harmony, line 194
if !r_check_vowel_harmony(env, context) {
return false;
}
// among, line 195
if env.find_among_b(A_3, context) == 0 {
return false;
}
// (, line 196
// call mark_suffix_with_optional_n_consonant, line 196
if !r_mark_suffix_with_optional_n_consonant(env, context) {
return false;
}
return true;
}
fn r_mark_yA(env: &mut SnowballEnv, context: &mut Context) -> bool {
// (, line 199
// call check_vowel_harmony, line 200
if !r_check_vowel_harmony(env, context) {
return false;
}
// among, line 201
if env.find_among_b(A_4, context) == 0 {
return false;
}
// (, line 202
// call mark_suffix_with_optional_y_consonant, line 202
if !r_mark_suffix_with_optional_y_consonant(env, context) {
return false;
}
return true;
}
fn r_mark_nA(env: &mut SnowballEnv, context: &mut Context) -> bool {
// (, line 205
// call check_vowel_harmony, line 206
if !r_check_vowel_harmony(env, context) {
return false;
}
// among, line 207
if env.find_among_b(A_5, context) == 0 {
return false;
}
return true;
}
fn r_mark_DA(env: &mut SnowballEnv, context: &mut Context) -> bool {
// (, line 210
// call check_vowel_harmony, line 211
if !r_check_vowel_harmony(env, context) {
return false;
}
// among, line 212
if env.find_among_b(A_6, context) == 0 {
return false;
}
return true;
}
fn r_mark_ndA(env: &mut SnowballEnv, context: &mut Context) -> bool {
// (, line 215
// call check_vowel_harmony, line 216
if !r_check_vowel_harmony(env, context) {
return false;
}
// among, line 217
if env.find_among_b(A_7, context) == 0 {
return false;
}
return true;
}
fn r_mark_DAn(env: &mut SnowballEnv, context: &mut Context) -> bool {
// (, line 220
// call check_vowel_harmony, line 221
if !r_check_vowel_harmony(env, context) {
return false;
}
// among, line 222
if env.find_among_b(A_8, context) == 0 {
return false;
}
return true;
}
fn r_mark_ndAn(env: &mut SnowballEnv, context: &mut Context) -> bool {
// (, line 225
// call check_vowel_harmony, line 226
if !r_check_vowel_harmony(env, context) {
return false;
}
// among, line 227
if env.find_among_b(A_9, context) == 0 {
return false;
}
return true;
}
fn r_mark_ylA(env: &mut SnowballEnv, context: &mut Context) -> bool {
// (, line 230
// call check_vowel_harmony, line 231
if !r_check_vowel_harmony(env, context) {
return false;
}
// among, line 232
if env.find_among_b(A_10, context) == 0 {
return false;
}
// (, line 233
// call mark_suffix_with_optional_y_consonant, line 233
if !r_mark_suffix_with_optional_y_consonant(env, context) {
return false;
}
return true;
}
fn r_mark_ki(env: &mut SnowballEnv, context: &mut Context) -> bool {
// (, line 236
// literal, line 237
if !env.eq_s_b(&"ki") {
return false;
}
return true;
}
fn r_mark_ncA(env: &mut SnowballEnv, context: &mut Context) -> bool {
// (, line 240
// call check_vowel_harmony, line 241
if !r_check_vowel_harmony(env, context) {
return false;
}
// among, line 242
if env.find_among_b(A_11, context) == 0 {
return false;
}
// (, line 243
// call mark_suffix_with_optional_n_consonant, line 243
if !r_mark_suffix_with_optional_n_consonant(env, context) {
return false;
}
return true;
}
fn r_mark_yUm(env: &mut SnowballEnv, context: &mut Context) -> bool {
// (, line 246
// call check_vowel_harmony, line 247
if !r_check_vowel_harmony(env, context) {
return false;
}
// among, line 248
if env.find_among_b(A_12, context) == 0 {
return false;
}
// (, line 249
// call mark_suffix_with_optional_y_consonant, line 249
if !r_mark_suffix_with_optional_y_consonant(env, context) {
return false;
}
return true;
}
fn r_mark_sUn(env: &mut SnowballEnv, context: &mut Context) -> bool {
// (, line 252
// call check_vowel_harmony, line 253
if !r_check_vowel_harmony(env, context) {
return false;
}
// among, line 254
if env.find_among_b(A_13, context) == 0 {
return false;
}
return true;
}
fn r_mark_yUz(env: &mut SnowballEnv, context: &mut Context) -> bool {
// (, line 257
// call check_vowel_harmony, line 258
if !r_check_vowel_harmony(env, context) {
return false;
}
// among, line 259
if env.find_among_b(A_14, context) == 0 {
return false;
}
// (, line 260
// call mark_suffix_with_optional_y_consonant, line 260
if !r_mark_suffix_with_optional_y_consonant(env, context) {
return false;
}
return true;
}
fn r_mark_sUnUz(env: &mut SnowballEnv, context: &mut Context) -> bool {
// (, line 263
// among, line 264
if env.find_among_b(A_15, context) == 0 {
return false;
}
return true;
}
fn r_mark_lAr(env: &mut SnowballEnv, context: &mut Context) -> bool {
// (, line 267
// call check_vowel_harmony, line 268
if !r_check_vowel_harmony(env, context) {
return false;
}
// among, line 269
if env.find_among_b(A_16, context) == 0 {
return false;
}
return true;
}
fn r_mark_nUz(env: &mut SnowballEnv, context: &mut Context) -> bool {
// (, line 272
// call check_vowel_harmony, line 273
if !r_check_vowel_harmony(env, context) {
return false;
}
// among, line 274
if env.find_among_b(A_17, context) == 0 {
return false;
}
return true;
}
fn r_mark_DUr(env: &mut SnowballEnv, context: &mut Context) -> bool {
// (, line 277
// call check_vowel_harmony, line 278
if !r_check_vowel_harmony(env, context) {
return false;
}
// among, line 279
if env.find_among_b(A_18, context) == 0 {
return false;
}
return true;
}
fn r_mark_cAsInA(env: &mut SnowballEnv, context: &mut Context) -> bool {
// (, line 282
// among, line 283
if env.find_among_b(A_19, context) == 0 {
return false;
}
return true;
}
fn r_mark_yDU(env: &mut SnowballEnv, context: &mut Context) -> bool {
// (, line 286
// call check_vowel_harmony, line 287
if !r_check_vowel_harmony(env, context) {
return false;
}
// among, line 288
if env.find_among_b(A_20, context) == 0 {
return false;
}
// (, line 292
// call mark_suffix_with_optional_y_consonant, line 292
if !r_mark_suffix_with_optional_y_consonant(env, context) {
return false;
}
return true;
}
fn r_mark_ysA(env: &mut SnowballEnv, context: &mut Context) -> bool {
// (, line 296
// among, line 297
if env.find_among_b(A_21, context) == 0 {
return false;
}
// (, line 298
// call mark_suffix_with_optional_y_consonant, line 298
if !r_mark_suffix_with_optional_y_consonant(env, context) {
return false;
}
return true;
}
fn r_mark_ymUs_(env: &mut SnowballEnv, context: &mut Context) -> bool {
// (, line 301
// call check_vowel_harmony, line 302
if !r_check_vowel_harmony(env, context) {
return false;
}
// among, line 303
if env.find_among_b(A_22, context) == 0 {
return false;
}
// (, line 304
// call mark_suffix_with_optional_y_consonant, line 304
if !r_mark_suffix_with_optional_y_consonant(env, context) {
return false;
}
return true;
}
fn r_mark_yken(env: &mut SnowballEnv, context: &mut Context) -> bool {
// (, line 307
// literal, line 308
if !env.eq_s_b(&"ken") {
return false;
}
// (, line 308
// call mark_suffix_with_optional_y_consonant, line 308
if !r_mark_suffix_with_optional_y_consonant(env, context) {
return false;
}
return true;
}
fn r_stem_nominal_verb_suffixes(env: &mut SnowballEnv, context: &mut Context) -> bool {
// (, line 311
// [, line 312
env.ket = env.cursor;
// set continue_stemming_noun_suffixes, line 313
context.b_continue_stemming_noun_suffixes = true;
// or, line 315
'lab0: loop {
let v_1 = env.limit - env.cursor;
'lab1: loop {
// (, line 314
// or, line 314
'lab2: loop {
let v_2 = env.limit - env.cursor;
'lab3: loop {
// call mark_ymUs_, line 314
if !r_mark_ymUs_(env, context) {
break 'lab3;
}
break 'lab2;
}
env.cursor = env.limit - v_2;
'lab4: loop {
// call mark_yDU, line 314
if !r_mark_yDU(env, context) {
break 'lab4;
}
break 'lab2;
}
env.cursor = env.limit - v_2;
'lab5: loop {
// call mark_ysA, line 314
if !r_mark_ysA(env, context) {
break 'lab5;
}
break 'lab2;
}
env.cursor = env.limit - v_2;
// call mark_yken, line 314
if !r_mark_yken(env, context) {
break 'lab1;
}
break 'lab2;
}
break 'lab0;
}
env.cursor = env.limit - v_1;
'lab6: loop {
// (, line 316
// call mark_cAsInA, line 316
if !r_mark_cAsInA(env, context) {
break 'lab6;
}
// (, line 316
// or, line 316
'lab7: loop {
let v_3 = env.limit - env.cursor;
'lab8: loop {
// call mark_sUnUz, line 316
if !r_mark_sUnUz(env, context) {
break 'lab8;
}
break 'lab7;
}
env.cursor = env.limit - v_3;
'lab9: loop {
// call mark_lAr, line 316
if !r_mark_lAr(env, context) {
break 'lab9;
}
break 'lab7;
}
env.cursor = env.limit - v_3;
'lab10: loop {
// call mark_yUm, line 316
if !r_mark_yUm(env, context) {
break 'lab10;
}
break 'lab7;
}
env.cursor = env.limit - v_3;
'lab11: loop {
// call mark_sUn, line 316
if !r_mark_sUn(env, context) {
break 'lab11;
}
break 'lab7;
}
env.cursor = env.limit - v_3;
'lab12: loop {
// call mark_yUz, line 316
if !r_mark_yUz(env, context) {
break 'lab12;
}
break 'lab7;
}
env.cursor = env.limit - v_3;
break 'lab7;
}
// call mark_ymUs_, line 316
if !r_mark_ymUs_(env, context) {
break 'lab6;
}
break 'lab0;
}
env.cursor = env.limit - v_1;
'lab13: loop {
// (, line 318
// call mark_lAr, line 319
if !r_mark_lAr(env, context) {
break 'lab13;
}
// ], line 319
env.bra = env.cursor;
// delete, line 319
if !env.slice_del() {
return false;
}
// try, line 319
let v_4 = env.limit - env.cursor;
'lab14: loop {
// (, line 319
// [, line 319
env.ket = env.cursor;
// (, line 319
// or, line 319
'lab15: loop {
let v_5 = env.limit - env.cursor;
'lab16: loop {
// call mark_DUr, line 319
if !r_mark_DUr(env, context) {
break 'lab16;
}
break 'lab15;
}
env.cursor = env.limit - v_5;
'lab17: loop {
// call mark_yDU, line 319
if !r_mark_yDU(env, context) {
break 'lab17;
}
break 'lab15;
}
env.cursor = env.limit - v_5;
'lab18: loop {
// call mark_ysA, line 319
if !r_mark_ysA(env, context) {
break 'lab18;
}
break 'lab15;
}
env.cursor = env.limit - v_5;
// call mark_ymUs_, line 319
if !r_mark_ymUs_(env, context) {
env.cursor = env.limit - v_4;
break 'lab14;
}
break 'lab15;
}
break 'lab14;
}
// unset continue_stemming_noun_suffixes, line 320
context.b_continue_stemming_noun_suffixes = false;
break 'lab0;
}
env.cursor = env.limit - v_1;
'lab19: loop {
// (, line 323
// call mark_nUz, line 323
if !r_mark_nUz(env, context) {
break 'lab19;
}
// (, line 323
// or, line 323
'lab20: loop {
let v_6 = env.limit - env.cursor;
'lab21: loop {
// call mark_yDU, line 323
if !r_mark_yDU(env, context) {
break 'lab21;
}
break 'lab20;
}
env.cursor = env.limit - v_6;
// call mark_ysA, line 323
if !r_mark_ysA(env, context) {
break 'lab19;
}
break 'lab20;
}
break 'lab0;
}
env.cursor = env.limit - v_1;
'lab22: loop {
// (, line 325
// (, line 325
// or, line 325
'lab23: loop {
let v_7 = env.limit - env.cursor;
'lab24: loop {
// call mark_sUnUz, line 325
if !r_mark_sUnUz(env, context) {
break 'lab24;
}
break 'lab23;
}
env.cursor = env.limit - v_7;
'lab25: loop {
// call mark_yUz, line 325
if !r_mark_yUz(env, context) {
break 'lab25;
}
break 'lab23;
}
env.cursor = env.limit - v_7;
'lab26: loop {
// call mark_sUn, line 325
if !r_mark_sUn(env, context) {
break 'lab26;
}
break 'lab23;
}
env.cursor = env.limit - v_7;
// call mark_yUm, line 325
if !r_mark_yUm(env, context) {
break 'lab22;
}
break 'lab23;
}
// ], line 325
env.bra = env.cursor;
// delete, line 325
if !env.slice_del() {
return false;
}
// try, line 325
let v_8 = env.limit - env.cursor;
'lab27: loop {
// (, line 325
// [, line 325
env.ket = env.cursor;
// call mark_ymUs_, line 325
if !r_mark_ymUs_(env, context) {
env.cursor = env.limit - v_8;
break 'lab27;
}
break 'lab27;
}
break 'lab0;
}
env.cursor = env.limit - v_1;
// (, line 327
// call mark_DUr, line 327
if !r_mark_DUr(env, context) {
return false;
}
// ], line 327
env.bra = env.cursor;
// delete, line 327
if !env.slice_del() {
return false;
}
// try, line 327
let v_9 = env.limit - env.cursor;
'lab28: loop {
// (, line 327
// [, line 327
env.ket = env.cursor;
// (, line 327
// or, line 327
'lab29: loop {
let v_10 = env.limit - env.cursor;
'lab30: loop {
// call mark_sUnUz, line 327
if !r_mark_sUnUz(env, context) {
break 'lab30;
}
break 'lab29;
}
env.cursor = env.limit - v_10;
'lab31: loop {
// call mark_lAr, line 327
if !r_mark_lAr(env, context) {
break 'lab31;
}
break 'lab29;
}
env.cursor = env.limit - v_10;
'lab32: loop {
// call mark_yUm, line 327
if !r_mark_yUm(env, context) {
break 'lab32;
}
break 'lab29;
}
env.cursor = env.limit - v_10;
'lab33: loop {
// call mark_sUn, line 327
if !r_mark_sUn(env, context) {
break 'lab33;
}
break 'lab29;
}
env.cursor = env.limit - v_10;
'lab34: loop {
// call mark_yUz, line 327
if !r_mark_yUz(env, context) {
break 'lab34;
}
break 'lab29;
}
env.cursor = env.limit - v_10;
break 'lab29;
}
// call mark_ymUs_, line 327
if !r_mark_ymUs_(env, context) {
env.cursor = env.limit - v_9;
break 'lab28;
}
break 'lab28;
}
break 'lab0;
}
// ], line 328
env.bra = env.cursor;
// delete, line 328
if !env.slice_del() {
return false;
}
return true;
}
fn r_stem_suffix_chain_before_ki(env: &mut SnowballEnv, context: &mut Context) -> bool {
// (, line 332
// [, line 333
env.ket = env.cursor;
// call mark_ki, line 334
if !r_mark_ki(env, context) {
return false;
}
// (, line 335
// or, line 342
'lab0: loop {
let v_1 = env.limit - env.cursor;
'lab1: loop {
// (, line 336
// call mark_DA, line 336
if !r_mark_DA(env, context) {
break 'lab1;
}
// ], line 336
env.bra = env.cursor;
// delete, line 336
if !env.slice_del() {
return false;
}
// try, line 336
let v_2 = env.limit - env.cursor;
'lab2: loop {
// (, line 336
// [, line 336
env.ket = env.cursor;
// or, line 338
'lab3: loop {
let v_3 = env.limit - env.cursor;
'lab4: loop {
// (, line 337
// call mark_lAr, line 337
if !r_mark_lAr(env, context) {
break 'lab4;
}
// ], line 337
env.bra = env.cursor;
// delete, line 337
if !env.slice_del() {
return false;
}
// try, line 337
let v_4 = env.limit - env.cursor;
'lab5: loop {
// (, line 337
// call stem_suffix_chain_before_ki, line 337
if !r_stem_suffix_chain_before_ki(env, context) {
env.cursor = env.limit - v_4;
break 'lab5;
}
break 'lab5;
}
break 'lab3;
}
env.cursor = env.limit - v_3;
// (, line 339
// call mark_possessives, line 339
if !r_mark_possessives(env, context) {
env.cursor = env.limit - v_2;
break 'lab2;
}
// ], line 339
env.bra = env.cursor;
// delete, line 339
if !env.slice_del() {
return false;
}
// try, line 339
let v_5 = env.limit - env.cursor;
'lab6: loop {
// (, line 339
// [, line 339
env.ket = env.cursor;
// call mark_lAr, line 339
if !r_mark_lAr(env, context) {
env.cursor = env.limit - v_5;
break 'lab6;
}
// ], line 339
env.bra = env.cursor;
// delete, line 339
if !env.slice_del() {
return false;
}
// call stem_suffix_chain_before_ki, line 339
if !r_stem_suffix_chain_before_ki(env, context) {
env.cursor = env.limit - v_5;
break 'lab6;
}
break 'lab6;
}
break 'lab3;
}
break 'lab2;
}
break 'lab0;
}
env.cursor = env.limit - v_1;
'lab7: loop {
// (, line 343
// call mark_nUn, line 343
if !r_mark_nUn(env, context) {
break 'lab7;
}
// ], line 343
env.bra = env.cursor;
// delete, line 343
if !env.slice_del() {
return false;
}
// try, line 343
let v_6 = env.limit - env.cursor;
'lab8: loop {
// (, line 343
// [, line 343
env.ket = env.cursor;
// or, line 345
'lab9: loop {
let v_7 = env.limit - env.cursor;
'lab10: loop {
// (, line 344
// call mark_lArI, line 344
if !r_mark_lArI(env, context) {
break 'lab10;
}
// ], line 344
env.bra = env.cursor;
// delete, line 344
if !env.slice_del() {
return false;
}
break 'lab9;
}
env.cursor = env.limit - v_7;
'lab11: loop {
// (, line 346
// [, line 346
env.ket = env.cursor;
// or, line 346
'lab12: loop {
let v_8 = env.limit - env.cursor;
'lab13: loop {
// call mark_possessives, line 346
if !r_mark_possessives(env, context) {
break 'lab13;
}
break 'lab12;
}
env.cursor = env.limit - v_8;
// call mark_sU, line 346
if !r_mark_sU(env, context) {
break 'lab11;
}
break 'lab12;
}
// ], line 346
env.bra = env.cursor;
// delete, line 346
if !env.slice_del() {
return false;
}
// try, line 346
let v_9 = env.limit - env.cursor;
'lab14: loop {
// (, line 346
// [, line 346
env.ket = env.cursor;
// call mark_lAr, line 346
if !r_mark_lAr(env, context) {
env.cursor = env.limit - v_9;
break 'lab14;
}
// ], line 346
env.bra = env.cursor;
// delete, line 346
if !env.slice_del() {
return false;
}
// call stem_suffix_chain_before_ki, line 346
if !r_stem_suffix_chain_before_ki(env, context) {
env.cursor = env.limit - v_9;
break 'lab14;
}
break 'lab14;
}
break 'lab9;
}
env.cursor = env.limit - v_7;
// (, line 348
// call stem_suffix_chain_before_ki, line 348
if !r_stem_suffix_chain_before_ki(env, context) {
env.cursor = env.limit - v_6;
break 'lab8;
}
break 'lab9;
}
break 'lab8;
}
break 'lab0;
}
env.cursor = env.limit - v_1;
// (, line 351
// call mark_ndA, line 351
if !r_mark_ndA(env, context) {
return false;
}
// (, line 351
// or, line 353
'lab15: loop {
let v_10 = env.limit - env.cursor;
'lab16: loop {
// (, line 352
// call mark_lArI, line 352
if !r_mark_lArI(env, context) {
break 'lab16;
}
// ], line 352
env.bra = env.cursor;
// delete, line 352
if !env.slice_del() {
return false;
}
break 'lab15;
}
env.cursor = env.limit - v_10;
'lab17: loop {
// (, line 354
// (, line 354
// call mark_sU, line 354
if !r_mark_sU(env, context) {
break 'lab17;
}
// ], line 354
env.bra = env.cursor;
// delete, line 354
if !env.slice_del() {
return false;
}
// try, line 354
let v_11 = env.limit - env.cursor;
'lab18: loop {
// (, line 354
// [, line 354
env.ket = env.cursor;
// call mark_lAr, line 354
if !r_mark_lAr(env, context) {
env.cursor = env.limit - v_11;
break 'lab18;
}
// ], line 354
env.bra = env.cursor;
// delete, line 354
if !env.slice_del() {
return false;
}
// call stem_suffix_chain_before_ki, line 354
if !r_stem_suffix_chain_before_ki(env, context) {
env.cursor = env.limit - v_11;
break 'lab18;
}
break 'lab18;
}
break 'lab15;
}
env.cursor = env.limit - v_10;
// (, line 356
// call stem_suffix_chain_before_ki, line 356
if !r_stem_suffix_chain_before_ki(env, context) {
return false;
}
break 'lab15;
}
break 'lab0;
}
return true;
}
fn r_stem_noun_suffixes(env: &mut SnowballEnv, context: &mut Context) -> bool {
// (, line 361
// or, line 363
'lab0: loop {
let v_1 = env.limit - env.cursor;
'lab1: loop {
// (, line 362
// [, line 362
env.ket = env.cursor;
// call mark_lAr, line 362
if !r_mark_lAr(env, context) {
break 'lab1;
}
// ], line 362
env.bra = env.cursor;
// delete, line 362
if !env.slice_del() {
return false;
}
// try, line 362
let v_2 = env.limit - env.cursor;
'lab2: loop {
// (, line 362
// call stem_suffix_chain_before_ki, line 362
if !r_stem_suffix_chain_before_ki(env, context) {
env.cursor = env.limit - v_2;
break 'lab2;
}
break 'lab2;
}
break 'lab0;
}
env.cursor = env.limit - v_1;
'lab3: loop {
// (, line 364
// [, line 364
env.ket = env.cursor;
// call mark_ncA, line 364
if !r_mark_ncA(env, context) {
break 'lab3;
}
// ], line 364
env.bra = env.cursor;
// delete, line 364
if !env.slice_del() {
return false;
}
// try, line 365
let v_3 = env.limit - env.cursor;
'lab4: loop {
// (, line 365
// or, line 367
'lab5: loop {
let v_4 = env.limit - env.cursor;
'lab6: loop {
// (, line 366
// [, line 366
env.ket = env.cursor;
// call mark_lArI, line 366
if !r_mark_lArI(env, context) {
break 'lab6;
}
// ], line 366
env.bra = env.cursor;
// delete, line 366
if !env.slice_del() {
return false;
}
break 'lab5;
}
env.cursor = env.limit - v_4;
'lab7: loop {
// (, line 368
// [, line 368
env.ket = env.cursor;
// or, line 368
'lab8: loop {
let v_5 = env.limit - env.cursor;
'lab9: loop {
// call mark_possessives, line 368
if !r_mark_possessives(env, context) {
break 'lab9;
}
break 'lab8;
}
env.cursor = env.limit - v_5;
// call mark_sU, line 368
if !r_mark_sU(env, context) {
break 'lab7;
}
break 'lab8;
}
// ], line 368
env.bra = env.cursor;
// delete, line 368
if !env.slice_del() {
return false;
}
// try, line 368
let v_6 = env.limit - env.cursor;
'lab10: loop {
// (, line 368
// [, line 368
env.ket = env.cursor;
// call mark_lAr, line 368
if !r_mark_lAr(env, context) {
env.cursor = env.limit - v_6;
break 'lab10;
}
// ], line 368
env.bra = env.cursor;
// delete, line 368
if !env.slice_del() {
return false;
}
// call stem_suffix_chain_before_ki, line 368
if !r_stem_suffix_chain_before_ki(env, context) {
env.cursor = env.limit - v_6;
break 'lab10;
}
break 'lab10;
}
break 'lab5;
}
env.cursor = env.limit - v_4;
// (, line 370
// [, line 370
env.ket = env.cursor;
// call mark_lAr, line 370
if !r_mark_lAr(env, context) {
env.cursor = env.limit - v_3;
break 'lab4;
}
// ], line 370
env.bra = env.cursor;
// delete, line 370
if !env.slice_del() {
return false;
}
// call stem_suffix_chain_before_ki, line 370
if !r_stem_suffix_chain_before_ki(env, context) {
env.cursor = env.limit - v_3;
break 'lab4;
}
break 'lab5;
}
break 'lab4;
}
break 'lab0;
}
env.cursor = env.limit - v_1;
'lab11: loop {
// (, line 374
// [, line 374
env.ket = env.cursor;
// (, line 374
// or, line 374
'lab12: loop {
let v_7 = env.limit - env.cursor;
'lab13: loop {
// call mark_ndA, line 374
if !r_mark_ndA(env, context) {
break 'lab13;
}
break 'lab12;
}
env.cursor = env.limit - v_7;
// call mark_nA, line 374
if !r_mark_nA(env, context) {
break 'lab11;
}
break 'lab12;
}
// (, line 375
// or, line 377
'lab14: loop {
let v_8 = env.limit - env.cursor;
'lab15: loop {
// (, line 376
// call mark_lArI, line 376
if !r_mark_lArI(env, context) {
break 'lab15;
}
// ], line 376
env.bra = env.cursor;
// delete, line 376
if !env.slice_del() {
return false;
}
break 'lab14;
}
env.cursor = env.limit - v_8;
'lab16: loop {
// (, line 378
// call mark_sU, line 378
if !r_mark_sU(env, context) {
break 'lab16;
}
// ], line 378
env.bra = env.cursor;
// delete, line 378
if !env.slice_del() {
return false;
}
// try, line 378
let v_9 = env.limit - env.cursor;
'lab17: loop {
// (, line 378
// [, line 378
env.ket = env.cursor;
// call mark_lAr, line 378
if !r_mark_lAr(env, context) {
env.cursor = env.limit - v_9;
break 'lab17;
}
// ], line 378
env.bra = env.cursor;
// delete, line 378
if !env.slice_del() {
return false;
}
// call stem_suffix_chain_before_ki, line 378
if !r_stem_suffix_chain_before_ki(env, context) {
env.cursor = env.limit - v_9;
break 'lab17;
}
break 'lab17;
}
break 'lab14;
}
env.cursor = env.limit - v_8;
// (, line 380
// call stem_suffix_chain_before_ki, line 380
if !r_stem_suffix_chain_before_ki(env, context) {
break 'lab11;
}
break 'lab14;
}
break 'lab0;
}
env.cursor = env.limit - v_1;
'lab18: loop {
// (, line 384
// [, line 384
env.ket = env.cursor;
// (, line 384
// or, line 384
'lab19: loop {
let v_10 = env.limit - env.cursor;
'lab20: loop {
// call mark_ndAn, line 384
if !r_mark_ndAn(env, context) {
break 'lab20;
}
break 'lab19;
}
env.cursor = env.limit - v_10;
// call mark_nU, line 384
if !r_mark_nU(env, context) {
break 'lab18;
}
break 'lab19;
}
// (, line 384
// or, line 384
'lab21: loop {
let v_11 = env.limit - env.cursor;
'lab22: loop {
// (, line 384
// call mark_sU, line 384
if !r_mark_sU(env, context) {
break 'lab22;
}
// ], line 384
env.bra = env.cursor;
// delete, line 384
if !env.slice_del() {
return false;
}
// try, line 384
let v_12 = env.limit - env.cursor;
'lab23: loop {
// (, line 384
// [, line 384
env.ket = env.cursor;
// call mark_lAr, line 384
if !r_mark_lAr(env, context) {
env.cursor = env.limit - v_12;
break 'lab23;
}
// ], line 384
env.bra = env.cursor;
// delete, line 384
if !env.slice_del() {
return false;
}
// call stem_suffix_chain_before_ki, line 384
if !r_stem_suffix_chain_before_ki(env, context) {
env.cursor = env.limit - v_12;
break 'lab23;
}
break 'lab23;
}
break 'lab21;
}
env.cursor = env.limit - v_11;
// (, line 384
// call mark_lArI, line 384
if !r_mark_lArI(env, context) {
break 'lab18;
}
break 'lab21;
}
break 'lab0;
}
env.cursor = env.limit - v_1;
'lab24: loop {
// (, line 386
// [, line 386
env.ket = env.cursor;
// call mark_DAn, line 386
if !r_mark_DAn(env, context) {
break 'lab24;
}
// ], line 386
env.bra = env.cursor;
// delete, line 386
if !env.slice_del() {
return false;
}
// try, line 386
let v_13 = env.limit - env.cursor;
'lab25: loop {
// (, line 386
// [, line 386
env.ket = env.cursor;
// (, line 387
// or, line 389
'lab26: loop {
let v_14 = env.limit - env.cursor;
'lab27: loop {
// (, line 388
// call mark_possessives, line 388
if !r_mark_possessives(env, context) {
break 'lab27;
}
// ], line 388
env.bra = env.cursor;
// delete, line 388
if !env.slice_del() {
return false;
}
// try, line 388
let v_15 = env.limit - env.cursor;
'lab28: loop {
// (, line 388
// [, line 388
env.ket = env.cursor;
// call mark_lAr, line 388
if !r_mark_lAr(env, context) {
env.cursor = env.limit - v_15;
break 'lab28;
}
// ], line 388
env.bra = env.cursor;
// delete, line 388
if !env.slice_del() {
return false;
}
// call stem_suffix_chain_before_ki, line 388
if !r_stem_suffix_chain_before_ki(env, context) {
env.cursor = env.limit - v_15;
break 'lab28;
}
break 'lab28;
}
break 'lab26;
}
env.cursor = env.limit - v_14;
'lab29: loop {
// (, line 390
// call mark_lAr, line 390
if !r_mark_lAr(env, context) {
break 'lab29;
}
// ], line 390
env.bra = env.cursor;
// delete, line 390
if !env.slice_del() {
return false;
}
// try, line 390
let v_16 = env.limit - env.cursor;
'lab30: loop {
// (, line 390
// call stem_suffix_chain_before_ki, line 390
if !r_stem_suffix_chain_before_ki(env, context) {
env.cursor = env.limit - v_16;
break 'lab30;
}
break 'lab30;
}
break 'lab26;
}
env.cursor = env.limit - v_14;
// (, line 392
// call stem_suffix_chain_before_ki, line 392
if !r_stem_suffix_chain_before_ki(env, context) {
env.cursor = env.limit - v_13;
break 'lab25;
}
break 'lab26;
}
break 'lab25;
}
break 'lab0;
}
env.cursor = env.limit - v_1;
'lab31: loop {
// (, line 396
// [, line 396
env.ket = env.cursor;
// or, line 396
'lab32: loop {
let v_17 = env.limit - env.cursor;
'lab33: loop {
// call mark_nUn, line 396
if !r_mark_nUn(env, context) {
break 'lab33;
}
break 'lab32;
}
env.cursor = env.limit - v_17;
// call mark_ylA, line 396
if !r_mark_ylA(env, context) {
break 'lab31;
}
break 'lab32;
}
// ], line 396
env.bra = env.cursor;
// delete, line 396
if !env.slice_del() {
return false;
}
// try, line 397
let v_18 = env.limit - env.cursor;
'lab34: loop {
// (, line 397
// or, line 399
'lab35: loop {
let v_19 = env.limit - env.cursor;
'lab36: loop {
// (, line 398
// [, line 398
env.ket = env.cursor;
// call mark_lAr, line 398
if !r_mark_lAr(env, context) {
break 'lab36;
}
// ], line 398
env.bra = env.cursor;
// delete, line 398
if !env.slice_del() {
return false;
}
// call stem_suffix_chain_before_ki, line 398
if !r_stem_suffix_chain_before_ki(env, context) {
break 'lab36;
}
break 'lab35;
}
env.cursor = env.limit - v_19;
'lab37: loop {
// (, line 400
// [, line 400
env.ket = env.cursor;
// or, line 400
'lab38: loop {
let v_20 = env.limit - env.cursor;
'lab39: loop {
// call mark_possessives, line 400
if !r_mark_possessives(env, context) {
break 'lab39;
}
break 'lab38;
}
env.cursor = env.limit - v_20;
// call mark_sU, line 400
if !r_mark_sU(env, context) {
break 'lab37;
}
break 'lab38;
}
// ], line 400
env.bra = env.cursor;
// delete, line 400
if !env.slice_del() {
return false;
}
// try, line 400
let v_21 = env.limit - env.cursor;
'lab40: loop {
// (, line 400
// [, line 400
env.ket = env.cursor;
// call mark_lAr, line 400
if !r_mark_lAr(env, context) {
env.cursor = env.limit - v_21;
break 'lab40;
}
// ], line 400
env.bra = env.cursor;
// delete, line 400
if !env.slice_del() {
return false;
}
// call stem_suffix_chain_before_ki, line 400
if !r_stem_suffix_chain_before_ki(env, context) {
env.cursor = env.limit - v_21;
break 'lab40;
}
break 'lab40;
}
break 'lab35;
}
env.cursor = env.limit - v_19;
// call stem_suffix_chain_before_ki, line 402
if !r_stem_suffix_chain_before_ki(env, context) {
env.cursor = env.limit - v_18;
break 'lab34;
}
break 'lab35;
}
break 'lab34;
}
break 'lab0;
}
env.cursor = env.limit - v_1;
'lab41: loop {
// (, line 406
// [, line 406
env.ket = env.cursor;
// call mark_lArI, line 406
if !r_mark_lArI(env, context) {
break 'lab41;
}
// ], line 406
env.bra = env.cursor;
// delete, line 406
if !env.slice_del() {
return false;
}
break 'lab0;
}
env.cursor = env.limit - v_1;
'lab42: loop {
// (, line 408
// call stem_suffix_chain_before_ki, line 408
if !r_stem_suffix_chain_before_ki(env, context) {
break 'lab42;
}
break 'lab0;
}
env.cursor = env.limit - v_1;
'lab43: loop {
// (, line 410
// [, line 410
env.ket = env.cursor;
// or, line 410
'lab44: loop {
let v_22 = env.limit - env.cursor;
'lab45: loop {
// call mark_DA, line 410
if !r_mark_DA(env, context) {
break 'lab45;
}
break 'lab44;
}
env.cursor = env.limit - v_22;
'lab46: loop {
// call mark_yU, line 410
if !r_mark_yU(env, context) {
break 'lab46;
}
break 'lab44;
}
env.cursor = env.limit - v_22;
// call mark_yA, line 410
if !r_mark_yA(env, context) {
break 'lab43;
}
break 'lab44;
}
// ], line 410
env.bra = env.cursor;
// delete, line 410
if !env.slice_del() {
return false;
}
// try, line 410
let v_23 = env.limit - env.cursor;
'lab47: loop {
// (, line 410
// [, line 410
env.ket = env.cursor;
// (, line 410
// or, line 410
'lab48: loop {
let v_24 = env.limit - env.cursor;
'lab49: loop {
// (, line 410
// call mark_possessives, line 410
if !r_mark_possessives(env, context) {
break 'lab49;
}
// ], line 410
env.bra = env.cursor;
// delete, line 410
if !env.slice_del() {
return false;
}
// try, line 410
let v_25 = env.limit - env.cursor;
'lab50: loop {
// (, line 410
// [, line 410
env.ket = env.cursor;
// call mark_lAr, line 410
if !r_mark_lAr(env, context) {
env.cursor = env.limit - v_25;
break 'lab50;
}
break 'lab50;
}
break 'lab48;
}
env.cursor = env.limit - v_24;
// call mark_lAr, line 410
if !r_mark_lAr(env, context) {
env.cursor = env.limit - v_23;
break 'lab47;
}
break 'lab48;
}
// ], line 410
env.bra = env.cursor;
// delete, line 410
if !env.slice_del() {
return false;
}
// [, line 410
env.ket = env.cursor;
// call stem_suffix_chain_before_ki, line 410
if !r_stem_suffix_chain_before_ki(env, context) {
env.cursor = env.limit - v_23;
break 'lab47;
}
break 'lab47;
}
break 'lab0;
}
env.cursor = env.limit - v_1;
// (, line 412
// [, line 412
env.ket = env.cursor;
// or, line 412
'lab51: loop {
let v_26 = env.limit - env.cursor;
'lab52: loop {
// call mark_possessives, line 412
if !r_mark_possessives(env, context) {
break 'lab52;
}
break 'lab51;
}
env.cursor = env.limit - v_26;
// call mark_sU, line 412
if !r_mark_sU(env, context) {
return false;
}
break 'lab51;
}
// ], line 412
env.bra = env.cursor;
// delete, line 412
if !env.slice_del() {
return false;
}
// try, line 412
let v_27 = env.limit - env.cursor;
'lab53: loop {
// (, line 412
// [, line 412
env.ket = env.cursor;
// call mark_lAr, line 412
if !r_mark_lAr(env, context) {
env.cursor = env.limit - v_27;
break 'lab53;
}
// ], line 412
env.bra = env.cursor;
// delete, line 412
if !env.slice_del() {
return false;
}
// call stem_suffix_chain_before_ki, line 412
if !r_stem_suffix_chain_before_ki(env, context) {
env.cursor = env.limit - v_27;
break 'lab53;
}
break 'lab53;
}
break 'lab0;
}
return true;
}
fn r_post_process_last_consonants(env: &mut SnowballEnv, context: &mut Context) -> bool {
let mut among_var;
// (, line 415
// [, line 416
env.ket = env.cursor;
// substring, line 416
among_var = env.find_among_b(A_23, context);
if among_var == 0 {
return false;
}
// ], line 416
env.bra = env.cursor;
if among_var == 0 {
return false;
} else if among_var == 1 {
// (, line 417
// <-, line 417
if !env.slice_from("p") {
return false;
}
} else if among_var == 2 {
// (, line 418
// <-, line 418
if !env.slice_from("\u{00E7}") {
return false;
}
} else if among_var == 3 {
// (, line 419
// <-, line 419
if !env.slice_from("t") {
return false;
}
} else if among_var == 4 {
// (, line 420
// <-, line 420
if !env.slice_from("k") {
return false;
}
}
return true;
}
fn r_append_U_to_stems_ending_with_d_or_g(env: &mut SnowballEnv, context: &mut Context) -> bool {
// (, line 430
// test, line 431
let v_1 = env.limit - env.cursor;
// (, line 431
// or, line 431
'lab0: loop {
let v_2 = env.limit - env.cursor;
'lab1: loop {
// literal, line 431
if !env.eq_s_b(&"d") {
break 'lab1;
}
break 'lab0;
}
env.cursor = env.limit - v_2;
// literal, line 431
if !env.eq_s_b(&"g") {
return false;
}
break 'lab0;
}
env.cursor = env.limit - v_1;
// or, line 433
'lab2: loop {
let v_3 = env.limit - env.cursor;
'lab3: loop {
// (, line 432
// test, line 432
let v_4 = env.limit - env.cursor;
// (, line 432
// (, line 432
// goto, line 432
'golab4: loop {
let v_5 = env.limit - env.cursor;
'lab5: loop {
if !env.in_grouping_b(G_vowel, 97, 305) {
break 'lab5;
}
env.cursor = env.limit - v_5;
break 'golab4;
}
env.cursor = env.limit - v_5;
if env.cursor <= env.limit_backward {
break 'lab3;
}
env.previous_char();
}
// or, line 432
'lab6: loop {
let v_6 = env.limit - env.cursor;
'lab7: loop {
// literal, line 432
if !env.eq_s_b(&"a") {
break 'lab7;
}
break 'lab6;
}
env.cursor = env.limit - v_6;
// literal, line 432
if !env.eq_s_b(&"\u{0131}") {
break 'lab3;
}
break 'lab6;
}
env.cursor = env.limit - v_4;
// <+, line 432
let c = env.cursor;
let (bra, ket) = (env.cursor, env.cursor);
env.insert(bra, ket, "\u{0131}");
env.cursor = c;
break 'lab2;
}
env.cursor = env.limit - v_3;
'lab8: loop {
// (, line 434
// test, line 434
let v_7 = env.limit - env.cursor;
// (, line 434
// (, line 434
// goto, line 434
'golab9: loop {
let v_8 = env.limit - env.cursor;
'lab10: loop {
if !env.in_grouping_b(G_vowel, 97, 305) {
break 'lab10;
}
env.cursor = env.limit - v_8;
break 'golab9;
}
env.cursor = env.limit - v_8;
if env.cursor <= env.limit_backward {
break 'lab8;
}
env.previous_char();
}
// or, line 434
'lab11: loop {
let v_9 = env.limit - env.cursor;
'lab12: loop {
// literal, line 434
if !env.eq_s_b(&"e") {
break 'lab12;
}
break 'lab11;
}
env.cursor = env.limit - v_9;
// literal, line 434
if !env.eq_s_b(&"i") {
break 'lab8;
}
break 'lab11;
}
env.cursor = env.limit - v_7;
// <+, line 434
let c = env.cursor;
let (bra, ket) = (env.cursor, env.cursor);
env.insert(bra, ket, "i");
env.cursor = c;
break 'lab2;
}
env.cursor = env.limit - v_3;
'lab13: loop {
// (, line 436
// test, line 436
let v_10 = env.limit - env.cursor;
// (, line 436
// (, line 436
// goto, line 436
'golab14: loop {
let v_11 = env.limit - env.cursor;
'lab15: loop {
if !env.in_grouping_b(G_vowel, 97, 305) {
break 'lab15;
}
env.cursor = env.limit - v_11;
break 'golab14;
}
env.cursor = env.limit - v_11;
if env.cursor <= env.limit_backward {
break 'lab13;
}
env.previous_char();
}
// or, line 436
'lab16: loop {
let v_12 = env.limit - env.cursor;
'lab17: loop {
// literal, line 436
if !env.eq_s_b(&"o") {
break 'lab17;
}
break 'lab16;
}
env.cursor = env.limit - v_12;
// literal, line 436
if !env.eq_s_b(&"u") {
break 'lab13;
}
break 'lab16;
}
env.cursor = env.limit - v_10;
// <+, line 436
let c = env.cursor;
let (bra, ket) = (env.cursor, env.cursor);
env.insert(bra, ket, "u");
env.cursor = c;
break 'lab2;
}
env.cursor = env.limit - v_3;
// (, line 438
// test, line 438
let v_13 = env.limit - env.cursor;
// (, line 438
// (, line 438
// goto, line 438
'golab18: loop {
let v_14 = env.limit - env.cursor;
'lab19: loop {
if !env.in_grouping_b(G_vowel, 97, 305) {
break 'lab19;
}
env.cursor = env.limit - v_14;
break 'golab18;
}
env.cursor = env.limit - v_14;
if env.cursor <= env.limit_backward {
return false;
}
env.previous_char();
}
// or, line 438
'lab20: loop {
let v_15 = env.limit - env.cursor;
'lab21: loop {
// literal, line 438
if !env.eq_s_b(&"\u{00F6}") {
break 'lab21;
}
break 'lab20;
}
env.cursor = env.limit - v_15;
// literal, line 438
if !env.eq_s_b(&"\u{00FC}") {
return false;
}
break 'lab20;
}
env.cursor = env.limit - v_13;
// <+, line 438
let c = env.cursor;
let (bra, ket) = (env.cursor, env.cursor);
env.insert(bra, ket, "\u{00FC}");
env.cursor = c;
break 'lab2;
}
return true;
}
fn r_more_than_one_syllable_word(env: &mut SnowballEnv, context: &mut Context) -> bool {
// (, line 445
// test, line 446
let v_1 = env.cursor;
// (, line 446
// atleast, line 446
let mut v_2 = 2;
// atleast, line 446
'replab0: loop{
let v_3 = env.cursor;
'lab1: for _ in 0..1 {
// (, line 446
// gopast, line 446
'golab2: loop {
'lab3: loop {
if !env.in_grouping(G_vowel, 97, 305) {
break 'lab3;
}
break 'golab2;
}
if env.cursor >= env.limit {
break 'lab1;
}
env.next_char();
}
v_2 -= 1;
continue 'replab0;
}
env.cursor = v_3;
break 'replab0;
}
if v_2 > 0 {
return false;
}
env.cursor = v_1;
return true;
}
fn r_is_reserved_word(env: &mut SnowballEnv, context: &mut Context) -> bool {
// (, line 449
// or, line 451
'lab0: loop {
let v_1 = env.cursor;
'lab1: loop {
// test, line 450
let v_2 = env.cursor;
// (, line 450
// gopast, line 450
'golab2: loop {
'lab3: loop {
// literal, line 450
if !env.eq_s(&"ad") {
break 'lab3;
}
break 'golab2;
}
if env.cursor >= env.limit {
break 'lab1;
}
env.next_char();
}
// (, line 450
context.i_strlen = 2;
// (, line 450
if !(context.i_strlen == env.limit){
break 'lab1;
}
env.cursor = v_2;
break 'lab0;
}
env.cursor = v_1;
// test, line 452
let v_4 = env.cursor;
// (, line 452
// gopast, line 452
'golab4: loop {
'lab5: loop {
// literal, line 452
if !env.eq_s(&"soyad") {
break 'lab5;
}
break 'golab4;
}
if env.cursor >= env.limit {
return false;
}
env.next_char();
}
// (, line 452
context.i_strlen = 5;
// (, line 452
if !(context.i_strlen == env.limit){
return false;
}
env.cursor = v_4;
break 'lab0;
}
return true;
}
fn r_postlude(env: &mut SnowballEnv, context: &mut Context) -> bool {
// (, line 455
// not, line 456
let v_1 = env.cursor;
'lab0: loop {
// (, line 456
// call is_reserved_word, line 456
if !r_is_reserved_word(env, context) {
break 'lab0;
}
return false;
}
env.cursor = v_1;
// backwards, line 457
env.limit_backward = env.cursor;
env.cursor = env.limit;
// (, line 457
// do, line 458
let v_2 = env.limit - env.cursor;
'lab1: loop {
// call append_U_to_stems_ending_with_d_or_g, line 458
if !r_append_U_to_stems_ending_with_d_or_g(env, context) {
break 'lab1;
}
break 'lab1;
}
env.cursor = env.limit - v_2;
// do, line 459
let v_3 = env.limit - env.cursor;
'lab2: loop {
// call post_process_last_consonants, line 459
if !r_post_process_last_consonants(env, context) {
break 'lab2;
}
break 'lab2;
}
env.cursor = env.limit - v_3;
env.cursor = env.limit_backward;
return true;
}
pub fn stem(env: &mut SnowballEnv) -> bool {
let mut context = &mut Context {
b_continue_stemming_noun_suffixes: false,
i_strlen: 0,
};
// (, line 464
// (, line 465
// call more_than_one_syllable_word, line 465
if !r_more_than_one_syllable_word(env, context) {
return false;
}
// (, line 466
// backwards, line 467
env.limit_backward = env.cursor;
env.cursor = env.limit;
// (, line 467
// do, line 468
let v_1 = env.limit - env.cursor;
'lab0: loop {
// call stem_nominal_verb_suffixes, line 468
if !r_stem_nominal_verb_suffixes(env, context) {
break 'lab0;
}
break 'lab0;
}
env.cursor = env.limit - v_1;
// Boolean test continue_stemming_noun_suffixes, line 469
if !context.b_continue_stemming_noun_suffixes {
return false;
}
// do, line 470
let v_2 = env.limit - env.cursor;
'lab1: loop {
// call stem_noun_suffixes, line 470
if !r_stem_noun_suffixes(env, context) {
break 'lab1;
}
break 'lab1;
}
env.cursor = env.limit - v_2;
env.cursor = env.limit_backward;
// call postlude, line 473
if !r_postlude(env, context) {
return false;
}
return true;
}