blob: bcbfe30a61199778be10459dc3d907e9e6efa6b4 [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>; 7] = &[
Among("", -1, 7, None),
Among("qu", 0, 6, None),
Among("\u{00E1}", 0, 1, None),
Among("\u{00E9}", 0, 2, None),
Among("\u{00ED}", 0, 3, None),
Among("\u{00F3}", 0, 4, None),
Among("\u{00FA}", 0, 5, None),
];
static A_1: &'static [Among<Context>; 3] = &[
Among("", -1, 3, None),
Among("I", 0, 1, None),
Among("U", 0, 2, None),
];
static A_2: &'static [Among<Context>; 37] = &[
Among("la", -1, -1, None),
Among("cela", 0, -1, None),
Among("gliela", 0, -1, None),
Among("mela", 0, -1, None),
Among("tela", 0, -1, None),
Among("vela", 0, -1, None),
Among("le", -1, -1, None),
Among("cele", 6, -1, None),
Among("gliele", 6, -1, None),
Among("mele", 6, -1, None),
Among("tele", 6, -1, None),
Among("vele", 6, -1, None),
Among("ne", -1, -1, None),
Among("cene", 12, -1, None),
Among("gliene", 12, -1, None),
Among("mene", 12, -1, None),
Among("sene", 12, -1, None),
Among("tene", 12, -1, None),
Among("vene", 12, -1, None),
Among("ci", -1, -1, None),
Among("li", -1, -1, None),
Among("celi", 20, -1, None),
Among("glieli", 20, -1, None),
Among("meli", 20, -1, None),
Among("teli", 20, -1, None),
Among("veli", 20, -1, None),
Among("gli", 20, -1, None),
Among("mi", -1, -1, None),
Among("si", -1, -1, None),
Among("ti", -1, -1, None),
Among("vi", -1, -1, None),
Among("lo", -1, -1, None),
Among("celo", 31, -1, None),
Among("glielo", 31, -1, None),
Among("melo", 31, -1, None),
Among("telo", 31, -1, None),
Among("velo", 31, -1, None),
];
static A_3: &'static [Among<Context>; 5] = &[
Among("ando", -1, 1, None),
Among("endo", -1, 1, None),
Among("ar", -1, 2, None),
Among("er", -1, 2, None),
Among("ir", -1, 2, None),
];
static A_4: &'static [Among<Context>; 4] = &[
Among("ic", -1, -1, None),
Among("abil", -1, -1, None),
Among("os", -1, -1, None),
Among("iv", -1, 1, None),
];
static A_5: &'static [Among<Context>; 3] = &[
Among("ic", -1, 1, None),
Among("abil", -1, 1, None),
Among("iv", -1, 1, None),
];
static A_6: &'static [Among<Context>; 51] = &[
Among("ica", -1, 1, None),
Among("logia", -1, 3, None),
Among("osa", -1, 1, None),
Among("ista", -1, 1, None),
Among("iva", -1, 9, None),
Among("anza", -1, 1, None),
Among("enza", -1, 5, None),
Among("ice", -1, 1, None),
Among("atrice", 7, 1, None),
Among("iche", -1, 1, None),
Among("logie", -1, 3, None),
Among("abile", -1, 1, None),
Among("ibile", -1, 1, None),
Among("usione", -1, 4, None),
Among("azione", -1, 2, None),
Among("uzione", -1, 4, None),
Among("atore", -1, 2, None),
Among("ose", -1, 1, None),
Among("ante", -1, 1, None),
Among("mente", -1, 1, None),
Among("amente", 19, 7, None),
Among("iste", -1, 1, None),
Among("ive", -1, 9, None),
Among("anze", -1, 1, None),
Among("enze", -1, 5, None),
Among("ici", -1, 1, None),
Among("atrici", 25, 1, None),
Among("ichi", -1, 1, None),
Among("abili", -1, 1, None),
Among("ibili", -1, 1, None),
Among("ismi", -1, 1, None),
Among("usioni", -1, 4, None),
Among("azioni", -1, 2, None),
Among("uzioni", -1, 4, None),
Among("atori", -1, 2, None),
Among("osi", -1, 1, None),
Among("anti", -1, 1, None),
Among("amenti", -1, 6, None),
Among("imenti", -1, 6, None),
Among("isti", -1, 1, None),
Among("ivi", -1, 9, None),
Among("ico", -1, 1, None),
Among("ismo", -1, 1, None),
Among("oso", -1, 1, None),
Among("amento", -1, 6, None),
Among("imento", -1, 6, None),
Among("ivo", -1, 9, None),
Among("it\u{00E0}", -1, 8, None),
Among("ist\u{00E0}", -1, 1, None),
Among("ist\u{00E8}", -1, 1, None),
Among("ist\u{00EC}", -1, 1, None),
];
static A_7: &'static [Among<Context>; 87] = &[
Among("isca", -1, 1, None),
Among("enda", -1, 1, None),
Among("ata", -1, 1, None),
Among("ita", -1, 1, None),
Among("uta", -1, 1, None),
Among("ava", -1, 1, None),
Among("eva", -1, 1, None),
Among("iva", -1, 1, None),
Among("erebbe", -1, 1, None),
Among("irebbe", -1, 1, None),
Among("isce", -1, 1, None),
Among("ende", -1, 1, None),
Among("are", -1, 1, None),
Among("ere", -1, 1, None),
Among("ire", -1, 1, None),
Among("asse", -1, 1, None),
Among("ate", -1, 1, None),
Among("avate", 16, 1, None),
Among("evate", 16, 1, None),
Among("ivate", 16, 1, None),
Among("ete", -1, 1, None),
Among("erete", 20, 1, None),
Among("irete", 20, 1, None),
Among("ite", -1, 1, None),
Among("ereste", -1, 1, None),
Among("ireste", -1, 1, None),
Among("ute", -1, 1, None),
Among("erai", -1, 1, None),
Among("irai", -1, 1, None),
Among("isci", -1, 1, None),
Among("endi", -1, 1, None),
Among("erei", -1, 1, None),
Among("irei", -1, 1, None),
Among("assi", -1, 1, None),
Among("ati", -1, 1, None),
Among("iti", -1, 1, None),
Among("eresti", -1, 1, None),
Among("iresti", -1, 1, None),
Among("uti", -1, 1, None),
Among("avi", -1, 1, None),
Among("evi", -1, 1, None),
Among("ivi", -1, 1, None),
Among("isco", -1, 1, None),
Among("ando", -1, 1, None),
Among("endo", -1, 1, None),
Among("Yamo", -1, 1, None),
Among("iamo", -1, 1, None),
Among("avamo", -1, 1, None),
Among("evamo", -1, 1, None),
Among("ivamo", -1, 1, None),
Among("eremo", -1, 1, None),
Among("iremo", -1, 1, None),
Among("assimo", -1, 1, None),
Among("ammo", -1, 1, None),
Among("emmo", -1, 1, None),
Among("eremmo", 54, 1, None),
Among("iremmo", 54, 1, None),
Among("immo", -1, 1, None),
Among("ano", -1, 1, None),
Among("iscano", 58, 1, None),
Among("avano", 58, 1, None),
Among("evano", 58, 1, None),
Among("ivano", 58, 1, None),
Among("eranno", -1, 1, None),
Among("iranno", -1, 1, None),
Among("ono", -1, 1, None),
Among("iscono", 65, 1, None),
Among("arono", 65, 1, None),
Among("erono", 65, 1, None),
Among("irono", 65, 1, None),
Among("erebbero", -1, 1, None),
Among("irebbero", -1, 1, None),
Among("assero", -1, 1, None),
Among("essero", -1, 1, None),
Among("issero", -1, 1, None),
Among("ato", -1, 1, None),
Among("ito", -1, 1, None),
Among("uto", -1, 1, None),
Among("avo", -1, 1, None),
Among("evo", -1, 1, None),
Among("ivo", -1, 1, None),
Among("ar", -1, 1, None),
Among("ir", -1, 1, None),
Among("er\u{00E0}", -1, 1, None),
Among("ir\u{00E0}", -1, 1, None),
Among("er\u{00F2}", -1, 1, None),
Among("ir\u{00F2}", -1, 1, None),
];
static G_v: &'static [u8; 20] = &[17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 8, 2, 1];
static G_AEIO: &'static [u8; 19] = &[17, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 8, 2];
static G_CG: &'static [u8; 1] = &[17];
#[derive(Clone)]
struct Context {
i_p2: usize,
i_p1: usize,
i_pV: usize,
}
fn r_prelude(env: &mut SnowballEnv, context: &mut Context) -> bool {
let mut among_var;
// (, line 33
// test, line 34
let v_1 = env.cursor;
// repeat, line 34
'replab0: loop{
let v_2 = env.cursor;
'lab1: for _ in 0..1 {
// (, line 34
// [, line 35
env.bra = env.cursor;
// substring, line 35
among_var = env.find_among(A_0, context);
if among_var == 0 {
break 'lab1;
}
// ], line 35
env.ket = env.cursor;
if among_var == 0 {
break 'lab1;
} else if among_var == 1 {
// (, line 36
// <-, line 36
if !env.slice_from("\u{00E0}") {
return false;
}
} else if among_var == 2 {
// (, line 37
// <-, line 37
if !env.slice_from("\u{00E8}") {
return false;
}
} else if among_var == 3 {
// (, line 38
// <-, line 38
if !env.slice_from("\u{00EC}") {
return false;
}
} else if among_var == 4 {
// (, line 39
// <-, line 39
if !env.slice_from("\u{00F2}") {
return false;
}
} else if among_var == 5 {
// (, line 40
// <-, line 40
if !env.slice_from("\u{00F9}") {
return false;
}
} else if among_var == 6 {
// (, line 41
// <-, line 41
if !env.slice_from("qU") {
return false;
}
} else if among_var == 7 {
// (, line 42
// next, line 42
if env.cursor >= env.limit {
break 'lab1;
}
env.next_char();
}
continue 'replab0;
}
env.cursor = v_2;
break 'replab0;
}
env.cursor = v_1;
// repeat, line 45
'replab2: loop{
let v_3 = env.cursor;
'lab3: for _ in 0..1 {
// goto, line 45
'golab4: loop {
let v_4 = env.cursor;
'lab5: loop {
// (, line 45
if !env.in_grouping(G_v, 97, 249) {
break 'lab5;
}
// [, line 46
env.bra = env.cursor;
// or, line 46
'lab6: loop {
let v_5 = env.cursor;
'lab7: loop {
// (, line 46
// literal, line 46
if !env.eq_s(&"u") {
break 'lab7;
}
// ], line 46
env.ket = env.cursor;
if !env.in_grouping(G_v, 97, 249) {
break 'lab7;
}
// <-, line 46
if !env.slice_from("U") {
return false;
}
break 'lab6;
}
env.cursor = v_5;
// (, line 47
// literal, line 47
if !env.eq_s(&"i") {
break 'lab5;
}
// ], line 47
env.ket = env.cursor;
if !env.in_grouping(G_v, 97, 249) {
break 'lab5;
}
// <-, line 47
if !env.slice_from("I") {
return false;
}
break 'lab6;
}
env.cursor = v_4;
break 'golab4;
}
env.cursor = v_4;
if env.cursor >= env.limit {
break 'lab3;
}
env.next_char();
}
continue 'replab2;
}
env.cursor = v_3;
break 'replab2;
}
return true;
}
fn r_mark_regions(env: &mut SnowballEnv, context: &mut Context) -> bool {
// (, line 51
context.i_pV = env.limit;
context.i_p1 = env.limit;
context.i_p2 = env.limit;
// do, line 57
let v_1 = env.cursor;
'lab0: loop {
// (, line 57
// or, line 59
'lab1: loop {
let v_2 = env.cursor;
'lab2: loop {
// (, line 58
if !env.in_grouping(G_v, 97, 249) {
break 'lab2;
}
// or, line 58
'lab3: loop {
let v_3 = env.cursor;
'lab4: loop {
// (, line 58
if !env.out_grouping(G_v, 97, 249) {
break 'lab4;
}
// gopast, line 58
'golab5: loop {
'lab6: loop {
if !env.in_grouping(G_v, 97, 249) {
break 'lab6;
}
break 'golab5;
}
if env.cursor >= env.limit {
break 'lab4;
}
env.next_char();
}
break 'lab3;
}
env.cursor = v_3;
// (, line 58
if !env.in_grouping(G_v, 97, 249) {
break 'lab2;
}
// gopast, line 58
'golab7: loop {
'lab8: loop {
if !env.out_grouping(G_v, 97, 249) {
break 'lab8;
}
break 'golab7;
}
if env.cursor >= env.limit {
break 'lab2;
}
env.next_char();
}
break 'lab3;
}
break 'lab1;
}
env.cursor = v_2;
// (, line 60
if !env.out_grouping(G_v, 97, 249) {
break 'lab0;
}
// or, line 60
'lab9: loop {
let v_6 = env.cursor;
'lab10: loop {
// (, line 60
if !env.out_grouping(G_v, 97, 249) {
break 'lab10;
}
// gopast, line 60
'golab11: loop {
'lab12: loop {
if !env.in_grouping(G_v, 97, 249) {
break 'lab12;
}
break 'golab11;
}
if env.cursor >= env.limit {
break 'lab10;
}
env.next_char();
}
break 'lab9;
}
env.cursor = v_6;
// (, line 60
if !env.in_grouping(G_v, 97, 249) {
break 'lab0;
}
// next, line 60
if env.cursor >= env.limit {
break 'lab0;
}
env.next_char();
break 'lab9;
}
break 'lab1;
}
// setmark pV, line 61
context.i_pV = env.cursor;
break 'lab0;
}
env.cursor = v_1;
// do, line 63
let v_8 = env.cursor;
'lab13: loop {
// (, line 63
// gopast, line 64
'golab14: loop {
'lab15: loop {
if !env.in_grouping(G_v, 97, 249) {
break 'lab15;
}
break 'golab14;
}
if env.cursor >= env.limit {
break 'lab13;
}
env.next_char();
}
// gopast, line 64
'golab16: loop {
'lab17: loop {
if !env.out_grouping(G_v, 97, 249) {
break 'lab17;
}
break 'golab16;
}
if env.cursor >= env.limit {
break 'lab13;
}
env.next_char();
}
// setmark p1, line 64
context.i_p1 = env.cursor;
// gopast, line 65
'golab18: loop {
'lab19: loop {
if !env.in_grouping(G_v, 97, 249) {
break 'lab19;
}
break 'golab18;
}
if env.cursor >= env.limit {
break 'lab13;
}
env.next_char();
}
// gopast, line 65
'golab20: loop {
'lab21: loop {
if !env.out_grouping(G_v, 97, 249) {
break 'lab21;
}
break 'golab20;
}
if env.cursor >= env.limit {
break 'lab13;
}
env.next_char();
}
// setmark p2, line 65
context.i_p2 = env.cursor;
break 'lab13;
}
env.cursor = v_8;
return true;
}
fn r_postlude(env: &mut SnowballEnv, context: &mut Context) -> bool {
let mut among_var;
// repeat, line 69
'replab0: loop{
let v_1 = env.cursor;
'lab1: for _ in 0..1 {
// (, line 69
// [, line 71
env.bra = env.cursor;
// substring, line 71
among_var = env.find_among(A_1, context);
if among_var == 0 {
break 'lab1;
}
// ], line 71
env.ket = env.cursor;
if among_var == 0 {
break 'lab1;
} else if among_var == 1 {
// (, line 72
// <-, line 72
if !env.slice_from("i") {
return false;
}
} else if among_var == 2 {
// (, line 73
// <-, line 73
if !env.slice_from("u") {
return false;
}
} else if among_var == 3 {
// (, line 74
// next, line 74
if env.cursor >= env.limit {
break 'lab1;
}
env.next_char();
}
continue 'replab0;
}
env.cursor = v_1;
break 'replab0;
}
return true;
}
fn r_RV(env: &mut SnowballEnv, context: &mut Context) -> bool {
if !(context.i_pV <= env.cursor){
return false;
}
return true;
}
fn r_R1(env: &mut SnowballEnv, context: &mut Context) -> bool {
if !(context.i_p1 <= env.cursor){
return false;
}
return true;
}
fn r_R2(env: &mut SnowballEnv, context: &mut Context) -> bool {
if !(context.i_p2 <= env.cursor){
return false;
}
return true;
}
fn r_attached_pronoun(env: &mut SnowballEnv, context: &mut Context) -> bool {
let mut among_var;
// (, line 85
// [, line 86
env.ket = env.cursor;
// substring, line 86
if env.find_among_b(A_2, context) == 0 {
return false;
}
// ], line 86
env.bra = env.cursor;
// among, line 96
among_var = env.find_among_b(A_3, context);
if among_var == 0 {
return false;
}
// (, line 96
// call RV, line 96
if !r_RV(env, context) {
return false;
}
if among_var == 0 {
return false;
} else if among_var == 1 {
// (, line 97
// delete, line 97
if !env.slice_del() {
return false;
}
} else if among_var == 2 {
// (, line 98
// <-, line 98
if !env.slice_from("e") {
return false;
}
}
return true;
}
fn r_standard_suffix(env: &mut SnowballEnv, context: &mut Context) -> bool {
let mut among_var;
// (, line 102
// [, line 103
env.ket = env.cursor;
// substring, line 103
among_var = env.find_among_b(A_6, context);
if among_var == 0 {
return false;
}
// ], line 103
env.bra = env.cursor;
if among_var == 0 {
return false;
} else if among_var == 1 {
// (, line 110
// call R2, line 110
if !r_R2(env, context) {
return false;
}
// delete, line 110
if !env.slice_del() {
return false;
}
} else if among_var == 2 {
// (, line 112
// call R2, line 112
if !r_R2(env, context) {
return false;
}
// delete, line 112
if !env.slice_del() {
return false;
}
// try, line 113
let v_1 = env.limit - env.cursor;
'lab0: loop {
// (, line 113
// [, line 113
env.ket = env.cursor;
// literal, line 113
if !env.eq_s_b(&"ic") {
env.cursor = env.limit - v_1;
break 'lab0;
}
// ], line 113
env.bra = env.cursor;
// call R2, line 113
if !r_R2(env, context) {
env.cursor = env.limit - v_1;
break 'lab0;
}
// delete, line 113
if !env.slice_del() {
return false;
}
break 'lab0;
}
} else if among_var == 3 {
// (, line 116
// call R2, line 116
if !r_R2(env, context) {
return false;
}
// <-, line 116
if !env.slice_from("log") {
return false;
}
} else if among_var == 4 {
// (, line 118
// call R2, line 118
if !r_R2(env, context) {
return false;
}
// <-, line 118
if !env.slice_from("u") {
return false;
}
} else if among_var == 5 {
// (, line 120
// call R2, line 120
if !r_R2(env, context) {
return false;
}
// <-, line 120
if !env.slice_from("ente") {
return false;
}
} else if among_var == 6 {
// (, line 122
// call RV, line 122
if !r_RV(env, context) {
return false;
}
// delete, line 122
if !env.slice_del() {
return false;
}
} else if among_var == 7 {
// (, line 123
// call R1, line 124
if !r_R1(env, context) {
return false;
}
// delete, line 124
if !env.slice_del() {
return false;
}
// try, line 125
let v_2 = env.limit - env.cursor;
'lab1: loop {
// (, line 125
// [, line 126
env.ket = env.cursor;
// substring, line 126
among_var = env.find_among_b(A_4, context);
if among_var == 0 {
env.cursor = env.limit - v_2;
break 'lab1;
}
// ], line 126
env.bra = env.cursor;
// call R2, line 126
if !r_R2(env, context) {
env.cursor = env.limit - v_2;
break 'lab1;
}
// delete, line 126
if !env.slice_del() {
return false;
}
if among_var == 0 {
env.cursor = env.limit - v_2;
break 'lab1;
} else if among_var == 1 {
// (, line 127
// [, line 127
env.ket = env.cursor;
// literal, line 127
if !env.eq_s_b(&"at") {
env.cursor = env.limit - v_2;
break 'lab1;
}
// ], line 127
env.bra = env.cursor;
// call R2, line 127
if !r_R2(env, context) {
env.cursor = env.limit - v_2;
break 'lab1;
}
// delete, line 127
if !env.slice_del() {
return false;
}
}
break 'lab1;
}
} else if among_var == 8 {
// (, line 132
// call R2, line 133
if !r_R2(env, context) {
return false;
}
// delete, line 133
if !env.slice_del() {
return false;
}
// try, line 134
let v_3 = env.limit - env.cursor;
'lab2: loop {
// (, line 134
// [, line 135
env.ket = env.cursor;
// substring, line 135
among_var = env.find_among_b(A_5, context);
if among_var == 0 {
env.cursor = env.limit - v_3;
break 'lab2;
}
// ], line 135
env.bra = env.cursor;
if among_var == 0 {
env.cursor = env.limit - v_3;
break 'lab2;
} else if among_var == 1 {
// (, line 136
// call R2, line 136
if !r_R2(env, context) {
env.cursor = env.limit - v_3;
break 'lab2;
}
// delete, line 136
if !env.slice_del() {
return false;
}
}
break 'lab2;
}
} else if among_var == 9 {
// (, line 140
// call R2, line 141
if !r_R2(env, context) {
return false;
}
// delete, line 141
if !env.slice_del() {
return false;
}
// try, line 142
let v_4 = env.limit - env.cursor;
'lab3: loop {
// (, line 142
// [, line 142
env.ket = env.cursor;
// literal, line 142
if !env.eq_s_b(&"at") {
env.cursor = env.limit - v_4;
break 'lab3;
}
// ], line 142
env.bra = env.cursor;
// call R2, line 142
if !r_R2(env, context) {
env.cursor = env.limit - v_4;
break 'lab3;
}
// delete, line 142
if !env.slice_del() {
return false;
}
// [, line 142
env.ket = env.cursor;
// literal, line 142
if !env.eq_s_b(&"ic") {
env.cursor = env.limit - v_4;
break 'lab3;
}
// ], line 142
env.bra = env.cursor;
// call R2, line 142
if !r_R2(env, context) {
env.cursor = env.limit - v_4;
break 'lab3;
}
// delete, line 142
if !env.slice_del() {
return false;
}
break 'lab3;
}
}
return true;
}
fn r_verb_suffix(env: &mut SnowballEnv, context: &mut Context) -> bool {
let mut among_var;
// setlimit, line 147
let v_1 = env.limit - env.cursor;
// tomark, line 147
if env.cursor < context.i_pV {
return false;
}
env.cursor = context.i_pV;
let v_2 = env.limit_backward;
env.limit_backward = env.cursor;
env.cursor = env.limit - v_1;
// (, line 147
// [, line 148
env.ket = env.cursor;
// substring, line 148
among_var = env.find_among_b(A_7, context);
if among_var == 0 {
env.limit_backward = v_2;
return false;
}
// ], line 148
env.bra = env.cursor;
if among_var == 0 {
env.limit_backward = v_2;
return false;
} else if among_var == 1 {
// (, line 162
// delete, line 162
if !env.slice_del() {
return false;
}
}
env.limit_backward = v_2;
return true;
}
fn r_vowel_suffix(env: &mut SnowballEnv, context: &mut Context) -> bool {
// (, line 169
// try, line 170
let v_1 = env.limit - env.cursor;
'lab0: loop {
// (, line 170
// [, line 171
env.ket = env.cursor;
if !env.in_grouping_b(G_AEIO, 97, 242) {
env.cursor = env.limit - v_1;
break 'lab0;
}
// ], line 171
env.bra = env.cursor;
// call RV, line 171
if !r_RV(env, context) {
env.cursor = env.limit - v_1;
break 'lab0;
}
// delete, line 171
if !env.slice_del() {
return false;
}
// [, line 172
env.ket = env.cursor;
// literal, line 172
if !env.eq_s_b(&"i") {
env.cursor = env.limit - v_1;
break 'lab0;
}
// ], line 172
env.bra = env.cursor;
// call RV, line 172
if !r_RV(env, context) {
env.cursor = env.limit - v_1;
break 'lab0;
}
// delete, line 172
if !env.slice_del() {
return false;
}
break 'lab0;
}
// try, line 174
let v_2 = env.limit - env.cursor;
'lab1: loop {
// (, line 174
// [, line 175
env.ket = env.cursor;
// literal, line 175
if !env.eq_s_b(&"h") {
env.cursor = env.limit - v_2;
break 'lab1;
}
// ], line 175
env.bra = env.cursor;
if !env.in_grouping_b(G_CG, 99, 103) {
env.cursor = env.limit - v_2;
break 'lab1;
}
// call RV, line 175
if !r_RV(env, context) {
env.cursor = env.limit - v_2;
break 'lab1;
}
// delete, line 175
if !env.slice_del() {
return false;
}
break 'lab1;
}
return true;
}
pub fn stem(env: &mut SnowballEnv) -> bool {
let mut context = &mut Context {
i_p2: 0,
i_p1: 0,
i_pV: 0,
};
// (, line 180
// do, line 181
let v_1 = env.cursor;
'lab0: loop {
// call prelude, line 181
if !r_prelude(env, context) {
break 'lab0;
}
break 'lab0;
}
env.cursor = v_1;
// do, line 182
let v_2 = env.cursor;
'lab1: loop {
// call mark_regions, line 182
if !r_mark_regions(env, context) {
break 'lab1;
}
break 'lab1;
}
env.cursor = v_2;
// backwards, line 183
env.limit_backward = env.cursor;
env.cursor = env.limit;
// (, line 183
// do, line 184
let v_3 = env.limit - env.cursor;
'lab2: loop {
// call attached_pronoun, line 184
if !r_attached_pronoun(env, context) {
break 'lab2;
}
break 'lab2;
}
env.cursor = env.limit - v_3;
// do, line 185
let v_4 = env.limit - env.cursor;
'lab3: loop {
// (, line 185
// or, line 185
'lab4: loop {
let v_5 = env.limit - env.cursor;
'lab5: loop {
// call standard_suffix, line 185
if !r_standard_suffix(env, context) {
break 'lab5;
}
break 'lab4;
}
env.cursor = env.limit - v_5;
// call verb_suffix, line 185
if !r_verb_suffix(env, context) {
break 'lab3;
}
break 'lab4;
}
break 'lab3;
}
env.cursor = env.limit - v_4;
// do, line 186
let v_6 = env.limit - env.cursor;
'lab6: loop {
// call vowel_suffix, line 186
if !r_vowel_suffix(env, context) {
break 'lab6;
}
break 'lab6;
}
env.cursor = env.limit - v_6;
env.cursor = env.limit_backward;
// do, line 188
let v_7 = env.cursor;
'lab7: loop {
// call postlude, line 188
if !r_postlude(env, context) {
break 'lab7;
}
break 'lab7;
}
env.cursor = v_7;
return true;
}