| //! 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>; 8] = &[ |
| Among("cs", -1, -1, None), |
| Among("dzs", -1, -1, None), |
| Among("gy", -1, -1, None), |
| Among("ly", -1, -1, None), |
| Among("ny", -1, -1, None), |
| Among("sz", -1, -1, None), |
| Among("ty", -1, -1, None), |
| Among("zs", -1, -1, None), |
| ]; |
| |
| static A_1: &'static [Among<Context>; 2] = &[ |
| Among("\u{00E1}", -1, 1, None), |
| Among("\u{00E9}", -1, 2, None), |
| ]; |
| |
| static A_2: &'static [Among<Context>; 23] = &[ |
| Among("bb", -1, -1, None), |
| Among("cc", -1, -1, None), |
| Among("dd", -1, -1, None), |
| Among("ff", -1, -1, None), |
| Among("gg", -1, -1, None), |
| Among("jj", -1, -1, None), |
| Among("kk", -1, -1, None), |
| Among("ll", -1, -1, None), |
| Among("mm", -1, -1, None), |
| Among("nn", -1, -1, None), |
| Among("pp", -1, -1, None), |
| Among("rr", -1, -1, None), |
| Among("ccs", -1, -1, None), |
| Among("ss", -1, -1, None), |
| Among("zzs", -1, -1, None), |
| Among("tt", -1, -1, None), |
| Among("vv", -1, -1, None), |
| Among("ggy", -1, -1, None), |
| Among("lly", -1, -1, None), |
| Among("nny", -1, -1, None), |
| Among("tty", -1, -1, None), |
| Among("ssz", -1, -1, None), |
| Among("zz", -1, -1, None), |
| ]; |
| |
| static A_3: &'static [Among<Context>; 2] = &[ |
| Among("al", -1, 1, None), |
| Among("el", -1, 2, None), |
| ]; |
| |
| static A_4: &'static [Among<Context>; 44] = &[ |
| Among("ba", -1, -1, None), |
| Among("ra", -1, -1, None), |
| Among("be", -1, -1, None), |
| Among("re", -1, -1, None), |
| Among("ig", -1, -1, None), |
| Among("nak", -1, -1, None), |
| Among("nek", -1, -1, None), |
| Among("val", -1, -1, None), |
| Among("vel", -1, -1, None), |
| Among("ul", -1, -1, None), |
| Among("b\u{0151}l", -1, -1, None), |
| Among("r\u{0151}l", -1, -1, None), |
| Among("t\u{0151}l", -1, -1, None), |
| Among("n\u{00E1}l", -1, -1, None), |
| Among("n\u{00E9}l", -1, -1, None), |
| Among("b\u{00F3}l", -1, -1, None), |
| Among("r\u{00F3}l", -1, -1, None), |
| Among("t\u{00F3}l", -1, -1, None), |
| Among("\u{00FC}l", -1, -1, None), |
| Among("n", -1, -1, None), |
| Among("an", 19, -1, None), |
| Among("ban", 20, -1, None), |
| Among("en", 19, -1, None), |
| Among("ben", 22, -1, None), |
| Among("k\u{00E9}ppen", 22, -1, None), |
| Among("on", 19, -1, None), |
| Among("\u{00F6}n", 19, -1, None), |
| Among("k\u{00E9}pp", -1, -1, None), |
| Among("kor", -1, -1, None), |
| Among("t", -1, -1, None), |
| Among("at", 29, -1, None), |
| Among("et", 29, -1, None), |
| Among("k\u{00E9}nt", 29, -1, None), |
| Among("ank\u{00E9}nt", 32, -1, None), |
| Among("enk\u{00E9}nt", 32, -1, None), |
| Among("onk\u{00E9}nt", 32, -1, None), |
| Among("ot", 29, -1, None), |
| Among("\u{00E9}rt", 29, -1, None), |
| Among("\u{00F6}t", 29, -1, None), |
| Among("hez", -1, -1, None), |
| Among("hoz", -1, -1, None), |
| Among("h\u{00F6}z", -1, -1, None), |
| Among("v\u{00E1}", -1, -1, None), |
| Among("v\u{00E9}", -1, -1, None), |
| ]; |
| |
| static A_5: &'static [Among<Context>; 3] = &[ |
| Among("\u{00E1}n", -1, 2, None), |
| Among("\u{00E9}n", -1, 1, None), |
| Among("\u{00E1}nk\u{00E9}nt", -1, 3, None), |
| ]; |
| |
| static A_6: &'static [Among<Context>; 6] = &[ |
| Among("stul", -1, 2, None), |
| Among("astul", 0, 1, None), |
| Among("\u{00E1}stul", 0, 3, None), |
| Among("st\u{00FC}l", -1, 2, None), |
| Among("est\u{00FC}l", 3, 1, None), |
| Among("\u{00E9}st\u{00FC}l", 3, 4, None), |
| ]; |
| |
| static A_7: &'static [Among<Context>; 2] = &[ |
| Among("\u{00E1}", -1, 1, None), |
| Among("\u{00E9}", -1, 2, None), |
| ]; |
| |
| static A_8: &'static [Among<Context>; 7] = &[ |
| Among("k", -1, 7, None), |
| Among("ak", 0, 4, None), |
| Among("ek", 0, 6, None), |
| Among("ok", 0, 5, None), |
| Among("\u{00E1}k", 0, 1, None), |
| Among("\u{00E9}k", 0, 2, None), |
| Among("\u{00F6}k", 0, 3, None), |
| ]; |
| |
| static A_9: &'static [Among<Context>; 12] = &[ |
| Among("\u{00E9}i", -1, 7, None), |
| Among("\u{00E1}\u{00E9}i", 0, 6, None), |
| Among("\u{00E9}\u{00E9}i", 0, 5, None), |
| Among("\u{00E9}", -1, 9, None), |
| Among("k\u{00E9}", 3, 4, None), |
| Among("ak\u{00E9}", 4, 1, None), |
| Among("ek\u{00E9}", 4, 1, None), |
| Among("ok\u{00E9}", 4, 1, None), |
| Among("\u{00E1}k\u{00E9}", 4, 3, None), |
| Among("\u{00E9}k\u{00E9}", 4, 2, None), |
| Among("\u{00F6}k\u{00E9}", 4, 1, None), |
| Among("\u{00E9}\u{00E9}", 3, 8, None), |
| ]; |
| |
| static A_10: &'static [Among<Context>; 31] = &[ |
| Among("a", -1, 18, None), |
| Among("ja", 0, 17, None), |
| Among("d", -1, 16, None), |
| Among("ad", 2, 13, None), |
| Among("ed", 2, 13, None), |
| Among("od", 2, 13, None), |
| Among("\u{00E1}d", 2, 14, None), |
| Among("\u{00E9}d", 2, 15, None), |
| Among("\u{00F6}d", 2, 13, None), |
| Among("e", -1, 18, None), |
| Among("je", 9, 17, None), |
| Among("nk", -1, 4, None), |
| Among("unk", 11, 1, None), |
| Among("\u{00E1}nk", 11, 2, None), |
| Among("\u{00E9}nk", 11, 3, None), |
| Among("\u{00FC}nk", 11, 1, None), |
| Among("uk", -1, 8, None), |
| Among("juk", 16, 7, None), |
| Among("\u{00E1}juk", 17, 5, None), |
| Among("\u{00FC}k", -1, 8, None), |
| Among("j\u{00FC}k", 19, 7, None), |
| Among("\u{00E9}j\u{00FC}k", 20, 6, None), |
| Among("m", -1, 12, None), |
| Among("am", 22, 9, None), |
| Among("em", 22, 9, None), |
| Among("om", 22, 9, None), |
| Among("\u{00E1}m", 22, 10, None), |
| Among("\u{00E9}m", 22, 11, None), |
| Among("o", -1, 18, None), |
| Among("\u{00E1}", -1, 19, None), |
| Among("\u{00E9}", -1, 20, None), |
| ]; |
| |
| static A_11: &'static [Among<Context>; 42] = &[ |
| Among("id", -1, 10, None), |
| Among("aid", 0, 9, None), |
| Among("jaid", 1, 6, None), |
| Among("eid", 0, 9, None), |
| Among("jeid", 3, 6, None), |
| Among("\u{00E1}id", 0, 7, None), |
| Among("\u{00E9}id", 0, 8, None), |
| Among("i", -1, 15, None), |
| Among("ai", 7, 14, None), |
| Among("jai", 8, 11, None), |
| Among("ei", 7, 14, None), |
| Among("jei", 10, 11, None), |
| Among("\u{00E1}i", 7, 12, None), |
| Among("\u{00E9}i", 7, 13, None), |
| Among("itek", -1, 24, None), |
| Among("eitek", 14, 21, None), |
| Among("jeitek", 15, 20, None), |
| Among("\u{00E9}itek", 14, 23, None), |
| Among("ik", -1, 29, None), |
| Among("aik", 18, 26, None), |
| Among("jaik", 19, 25, None), |
| Among("eik", 18, 26, None), |
| Among("jeik", 21, 25, None), |
| Among("\u{00E1}ik", 18, 27, None), |
| Among("\u{00E9}ik", 18, 28, None), |
| Among("ink", -1, 20, None), |
| Among("aink", 25, 17, None), |
| Among("jaink", 26, 16, None), |
| Among("eink", 25, 17, None), |
| Among("jeink", 28, 16, None), |
| Among("\u{00E1}ink", 25, 18, None), |
| Among("\u{00E9}ink", 25, 19, None), |
| Among("aitok", -1, 21, None), |
| Among("jaitok", 32, 20, None), |
| Among("\u{00E1}itok", -1, 22, None), |
| Among("im", -1, 5, None), |
| Among("aim", 35, 4, None), |
| Among("jaim", 36, 1, None), |
| Among("eim", 35, 4, None), |
| Among("jeim", 38, 1, None), |
| Among("\u{00E1}im", 35, 2, None), |
| Among("\u{00E9}im", 35, 3, None), |
| ]; |
| |
| static G_v: &'static [u8; 35] = &[17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 17, 36, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1]; |
| |
| #[derive(Clone)] |
| struct Context { |
| i_p1: usize, |
| } |
| |
| fn r_mark_regions(env: &mut SnowballEnv, context: &mut Context) -> bool { |
| // (, line 44 |
| context.i_p1 = env.limit; |
| // or, line 51 |
| 'lab0: loop { |
| let v_1 = env.cursor; |
| 'lab1: loop { |
| // (, line 48 |
| if !env.in_grouping(G_v, 97, 369) { |
| break 'lab1; |
| } |
| // goto, line 48 |
| 'golab2: loop { |
| let v_2 = env.cursor; |
| 'lab3: loop { |
| if !env.out_grouping(G_v, 97, 369) { |
| break 'lab3; |
| } |
| env.cursor = v_2; |
| break 'golab2; |
| } |
| env.cursor = v_2; |
| if env.cursor >= env.limit { |
| break 'lab1; |
| } |
| env.next_char(); |
| } |
| // or, line 49 |
| 'lab4: loop { |
| let v_3 = env.cursor; |
| 'lab5: loop { |
| // among, line 49 |
| if env.find_among(A_0, context) == 0 { |
| break 'lab5; |
| } |
| break 'lab4; |
| } |
| env.cursor = v_3; |
| // next, line 49 |
| if env.cursor >= env.limit { |
| break 'lab1; |
| } |
| env.next_char(); |
| break 'lab4; |
| } |
| // setmark p1, line 50 |
| context.i_p1 = env.cursor; |
| break 'lab0; |
| } |
| env.cursor = v_1; |
| // (, line 53 |
| if !env.out_grouping(G_v, 97, 369) { |
| return false; |
| } |
| // gopast, line 53 |
| 'golab6: loop { |
| 'lab7: loop { |
| if !env.in_grouping(G_v, 97, 369) { |
| break 'lab7; |
| } |
| break 'golab6; |
| } |
| if env.cursor >= env.limit { |
| return false; |
| } |
| env.next_char(); |
| } |
| // setmark p1, line 53 |
| context.i_p1 = env.cursor; |
| break 'lab0; |
| } |
| return true; |
| } |
| |
| fn r_R1(env: &mut SnowballEnv, context: &mut Context) -> bool { |
| if !(context.i_p1 <= env.cursor){ |
| return false; |
| } |
| return true; |
| } |
| |
| fn r_v_ending(env: &mut SnowballEnv, context: &mut Context) -> bool { |
| let mut among_var; |
| // (, line 60 |
| // [, line 61 |
| env.ket = env.cursor; |
| // substring, line 61 |
| among_var = env.find_among_b(A_1, context); |
| if among_var == 0 { |
| return false; |
| } |
| // ], line 61 |
| env.bra = env.cursor; |
| // call R1, line 61 |
| if !r_R1(env, context) { |
| return false; |
| } |
| if among_var == 0 { |
| return false; |
| } else if among_var == 1 { |
| // (, line 62 |
| // <-, line 62 |
| if !env.slice_from("a") { |
| return false; |
| } |
| } else if among_var == 2 { |
| // (, line 63 |
| // <-, line 63 |
| if !env.slice_from("e") { |
| return false; |
| } |
| } |
| return true; |
| } |
| |
| fn r_double(env: &mut SnowballEnv, context: &mut Context) -> bool { |
| // (, line 67 |
| // test, line 68 |
| let v_1 = env.limit - env.cursor; |
| // among, line 68 |
| if env.find_among_b(A_2, context) == 0 { |
| return false; |
| } |
| env.cursor = env.limit - v_1; |
| return true; |
| } |
| |
| fn r_undouble(env: &mut SnowballEnv, context: &mut Context) -> bool { |
| // (, line 72 |
| // next, line 73 |
| if env.cursor <= env.limit_backward { |
| return false; |
| } |
| env.previous_char(); |
| // [, line 73 |
| env.ket = env.cursor; |
| // hop, line 73 |
| let c = env.byte_index_for_hop(-1); |
| if env.limit_backward as i32 > c || c > env.limit as i32 { |
| return false; |
| } |
| env.cursor = c as usize; |
| // ], line 73 |
| env.bra = env.cursor; |
| // delete, line 73 |
| if !env.slice_del() { |
| return false; |
| } |
| return true; |
| } |
| |
| fn r_instrum(env: &mut SnowballEnv, context: &mut Context) -> bool { |
| let mut among_var; |
| // (, line 76 |
| // [, line 77 |
| env.ket = env.cursor; |
| // substring, line 77 |
| among_var = env.find_among_b(A_3, context); |
| if among_var == 0 { |
| return false; |
| } |
| // ], line 77 |
| env.bra = env.cursor; |
| // call R1, line 77 |
| if !r_R1(env, context) { |
| return false; |
| } |
| if among_var == 0 { |
| return false; |
| } else if among_var == 1 { |
| // (, line 78 |
| // call double, line 78 |
| if !r_double(env, context) { |
| return false; |
| } |
| } else if among_var == 2 { |
| // (, line 79 |
| // call double, line 79 |
| if !r_double(env, context) { |
| return false; |
| } |
| } |
| // delete, line 81 |
| if !env.slice_del() { |
| return false; |
| } |
| // call undouble, line 82 |
| if !r_undouble(env, context) { |
| return false; |
| } |
| return true; |
| } |
| |
| fn r_case(env: &mut SnowballEnv, context: &mut Context) -> bool { |
| // (, line 86 |
| // [, line 87 |
| env.ket = env.cursor; |
| // substring, line 87 |
| if env.find_among_b(A_4, context) == 0 { |
| return false; |
| } |
| // ], line 87 |
| env.bra = env.cursor; |
| // call R1, line 87 |
| if !r_R1(env, context) { |
| return false; |
| } |
| // delete, line 111 |
| if !env.slice_del() { |
| return false; |
| } |
| // call v_ending, line 112 |
| if !r_v_ending(env, context) { |
| return false; |
| } |
| return true; |
| } |
| |
| fn r_case_special(env: &mut SnowballEnv, context: &mut Context) -> bool { |
| let mut among_var; |
| // (, line 115 |
| // [, line 116 |
| env.ket = env.cursor; |
| // substring, line 116 |
| among_var = env.find_among_b(A_5, context); |
| if among_var == 0 { |
| return false; |
| } |
| // ], line 116 |
| env.bra = env.cursor; |
| // call R1, line 116 |
| if !r_R1(env, context) { |
| return false; |
| } |
| if among_var == 0 { |
| return false; |
| } else if among_var == 1 { |
| // (, line 117 |
| // <-, line 117 |
| if !env.slice_from("e") { |
| return false; |
| } |
| } else if among_var == 2 { |
| // (, line 118 |
| // <-, line 118 |
| if !env.slice_from("a") { |
| return false; |
| } |
| } else if among_var == 3 { |
| // (, line 119 |
| // <-, line 119 |
| if !env.slice_from("a") { |
| return false; |
| } |
| } |
| return true; |
| } |
| |
| fn r_case_other(env: &mut SnowballEnv, context: &mut Context) -> bool { |
| let mut among_var; |
| // (, line 123 |
| // [, line 124 |
| env.ket = env.cursor; |
| // substring, line 124 |
| among_var = env.find_among_b(A_6, context); |
| if among_var == 0 { |
| return false; |
| } |
| // ], line 124 |
| env.bra = env.cursor; |
| // call R1, line 124 |
| if !r_R1(env, context) { |
| return false; |
| } |
| if among_var == 0 { |
| return false; |
| } else if among_var == 1 { |
| // (, line 125 |
| // delete, line 125 |
| if !env.slice_del() { |
| return false; |
| } |
| } else if among_var == 2 { |
| // (, line 126 |
| // delete, line 126 |
| if !env.slice_del() { |
| return false; |
| } |
| } else if among_var == 3 { |
| // (, line 127 |
| // <-, line 127 |
| if !env.slice_from("a") { |
| return false; |
| } |
| } else if among_var == 4 { |
| // (, line 128 |
| // <-, line 128 |
| if !env.slice_from("e") { |
| return false; |
| } |
| } |
| return true; |
| } |
| |
| fn r_factive(env: &mut SnowballEnv, context: &mut Context) -> bool { |
| let mut among_var; |
| // (, line 132 |
| // [, line 133 |
| env.ket = env.cursor; |
| // substring, line 133 |
| among_var = env.find_among_b(A_7, context); |
| if among_var == 0 { |
| return false; |
| } |
| // ], line 133 |
| env.bra = env.cursor; |
| // call R1, line 133 |
| if !r_R1(env, context) { |
| return false; |
| } |
| if among_var == 0 { |
| return false; |
| } else if among_var == 1 { |
| // (, line 134 |
| // call double, line 134 |
| if !r_double(env, context) { |
| return false; |
| } |
| } else if among_var == 2 { |
| // (, line 135 |
| // call double, line 135 |
| if !r_double(env, context) { |
| return false; |
| } |
| } |
| // delete, line 137 |
| if !env.slice_del() { |
| return false; |
| } |
| // call undouble, line 138 |
| if !r_undouble(env, context) { |
| return false; |
| } |
| return true; |
| } |
| |
| fn r_plural(env: &mut SnowballEnv, context: &mut Context) -> bool { |
| let mut among_var; |
| // (, line 141 |
| // [, line 142 |
| env.ket = env.cursor; |
| // substring, line 142 |
| among_var = env.find_among_b(A_8, context); |
| if among_var == 0 { |
| return false; |
| } |
| // ], line 142 |
| env.bra = env.cursor; |
| // call R1, line 142 |
| if !r_R1(env, context) { |
| return false; |
| } |
| if among_var == 0 { |
| return false; |
| } else if among_var == 1 { |
| // (, line 143 |
| // <-, line 143 |
| if !env.slice_from("a") { |
| return false; |
| } |
| } else if among_var == 2 { |
| // (, line 144 |
| // <-, line 144 |
| if !env.slice_from("e") { |
| return false; |
| } |
| } else if among_var == 3 { |
| // (, line 145 |
| // delete, line 145 |
| if !env.slice_del() { |
| return false; |
| } |
| } else if among_var == 4 { |
| // (, line 146 |
| // delete, line 146 |
| if !env.slice_del() { |
| return false; |
| } |
| } else if among_var == 5 { |
| // (, line 147 |
| // delete, line 147 |
| if !env.slice_del() { |
| return false; |
| } |
| } else if among_var == 6 { |
| // (, line 148 |
| // delete, line 148 |
| if !env.slice_del() { |
| return false; |
| } |
| } else if among_var == 7 { |
| // (, line 149 |
| // delete, line 149 |
| if !env.slice_del() { |
| return false; |
| } |
| } |
| return true; |
| } |
| |
| fn r_owned(env: &mut SnowballEnv, context: &mut Context) -> bool { |
| let mut among_var; |
| // (, line 153 |
| // [, line 154 |
| env.ket = env.cursor; |
| // substring, line 154 |
| among_var = env.find_among_b(A_9, context); |
| if among_var == 0 { |
| return false; |
| } |
| // ], line 154 |
| env.bra = env.cursor; |
| // call R1, line 154 |
| if !r_R1(env, context) { |
| return false; |
| } |
| if among_var == 0 { |
| return false; |
| } else if among_var == 1 { |
| // (, line 155 |
| // delete, line 155 |
| if !env.slice_del() { |
| return false; |
| } |
| } else if among_var == 2 { |
| // (, line 156 |
| // <-, line 156 |
| if !env.slice_from("e") { |
| return false; |
| } |
| } else if among_var == 3 { |
| // (, line 157 |
| // <-, line 157 |
| if !env.slice_from("a") { |
| return false; |
| } |
| } else if among_var == 4 { |
| // (, line 158 |
| // delete, line 158 |
| if !env.slice_del() { |
| return false; |
| } |
| } else if among_var == 5 { |
| // (, line 159 |
| // <-, line 159 |
| if !env.slice_from("e") { |
| return false; |
| } |
| } else if among_var == 6 { |
| // (, line 160 |
| // <-, line 160 |
| if !env.slice_from("a") { |
| return false; |
| } |
| } else if among_var == 7 { |
| // (, line 161 |
| // delete, line 161 |
| if !env.slice_del() { |
| return false; |
| } |
| } else if among_var == 8 { |
| // (, line 162 |
| // <-, line 162 |
| if !env.slice_from("e") { |
| return false; |
| } |
| } else if among_var == 9 { |
| // (, line 163 |
| // delete, line 163 |
| if !env.slice_del() { |
| return false; |
| } |
| } |
| return true; |
| } |
| |
| fn r_sing_owner(env: &mut SnowballEnv, context: &mut Context) -> bool { |
| let mut among_var; |
| // (, line 167 |
| // [, line 168 |
| env.ket = env.cursor; |
| // substring, line 168 |
| among_var = env.find_among_b(A_10, context); |
| if among_var == 0 { |
| return false; |
| } |
| // ], line 168 |
| env.bra = env.cursor; |
| // call R1, line 168 |
| if !r_R1(env, context) { |
| return false; |
| } |
| if among_var == 0 { |
| return false; |
| } else if among_var == 1 { |
| // (, line 169 |
| // delete, line 169 |
| if !env.slice_del() { |
| return false; |
| } |
| } else if among_var == 2 { |
| // (, line 170 |
| // <-, line 170 |
| if !env.slice_from("a") { |
| return false; |
| } |
| } else if among_var == 3 { |
| // (, line 171 |
| // <-, line 171 |
| if !env.slice_from("e") { |
| return false; |
| } |
| } else if among_var == 4 { |
| // (, line 172 |
| // delete, line 172 |
| if !env.slice_del() { |
| return false; |
| } |
| } else if among_var == 5 { |
| // (, line 173 |
| // <-, line 173 |
| if !env.slice_from("a") { |
| return false; |
| } |
| } else if among_var == 6 { |
| // (, line 174 |
| // <-, line 174 |
| if !env.slice_from("e") { |
| return false; |
| } |
| } else if among_var == 7 { |
| // (, line 175 |
| // delete, line 175 |
| if !env.slice_del() { |
| return false; |
| } |
| } else if among_var == 8 { |
| // (, line 176 |
| // delete, line 176 |
| if !env.slice_del() { |
| return false; |
| } |
| } else if among_var == 9 { |
| // (, line 177 |
| // delete, line 177 |
| if !env.slice_del() { |
| return false; |
| } |
| } else if among_var == 10 { |
| // (, line 178 |
| // <-, line 178 |
| if !env.slice_from("a") { |
| return false; |
| } |
| } else if among_var == 11 { |
| // (, line 179 |
| // <-, line 179 |
| if !env.slice_from("e") { |
| return false; |
| } |
| } else if among_var == 12 { |
| // (, line 180 |
| // delete, line 180 |
| if !env.slice_del() { |
| return false; |
| } |
| } else if among_var == 13 { |
| // (, line 181 |
| // delete, line 181 |
| if !env.slice_del() { |
| return false; |
| } |
| } else if among_var == 14 { |
| // (, line 182 |
| // <-, line 182 |
| if !env.slice_from("a") { |
| return false; |
| } |
| } else if among_var == 15 { |
| // (, line 183 |
| // <-, line 183 |
| if !env.slice_from("e") { |
| return false; |
| } |
| } else if among_var == 16 { |
| // (, line 184 |
| // delete, line 184 |
| if !env.slice_del() { |
| return false; |
| } |
| } else if among_var == 17 { |
| // (, line 185 |
| // delete, line 185 |
| if !env.slice_del() { |
| return false; |
| } |
| } else if among_var == 18 { |
| // (, line 186 |
| // delete, line 186 |
| if !env.slice_del() { |
| return false; |
| } |
| } else if among_var == 19 { |
| // (, line 187 |
| // <-, line 187 |
| if !env.slice_from("a") { |
| return false; |
| } |
| } else if among_var == 20 { |
| // (, line 188 |
| // <-, line 188 |
| if !env.slice_from("e") { |
| return false; |
| } |
| } |
| return true; |
| } |
| |
| fn r_plur_owner(env: &mut SnowballEnv, context: &mut Context) -> bool { |
| let mut among_var; |
| // (, line 192 |
| // [, line 193 |
| env.ket = env.cursor; |
| // substring, line 193 |
| among_var = env.find_among_b(A_11, context); |
| if among_var == 0 { |
| return false; |
| } |
| // ], line 193 |
| env.bra = env.cursor; |
| // call R1, line 193 |
| if !r_R1(env, context) { |
| return false; |
| } |
| if among_var == 0 { |
| return false; |
| } else if among_var == 1 { |
| // (, line 194 |
| // delete, line 194 |
| if !env.slice_del() { |
| return false; |
| } |
| } else if among_var == 2 { |
| // (, line 195 |
| // <-, line 195 |
| if !env.slice_from("a") { |
| return false; |
| } |
| } else if among_var == 3 { |
| // (, line 196 |
| // <-, line 196 |
| if !env.slice_from("e") { |
| return false; |
| } |
| } else if among_var == 4 { |
| // (, line 197 |
| // delete, line 197 |
| if !env.slice_del() { |
| return false; |
| } |
| } else if among_var == 5 { |
| // (, line 198 |
| // delete, line 198 |
| if !env.slice_del() { |
| return false; |
| } |
| } else if among_var == 6 { |
| // (, line 199 |
| // delete, line 199 |
| if !env.slice_del() { |
| return false; |
| } |
| } else if among_var == 7 { |
| // (, line 200 |
| // <-, line 200 |
| if !env.slice_from("a") { |
| return false; |
| } |
| } else if among_var == 8 { |
| // (, line 201 |
| // <-, line 201 |
| if !env.slice_from("e") { |
| return false; |
| } |
| } else if among_var == 9 { |
| // (, line 202 |
| // delete, line 202 |
| if !env.slice_del() { |
| return false; |
| } |
| } else if among_var == 10 { |
| // (, line 203 |
| // delete, line 203 |
| if !env.slice_del() { |
| return false; |
| } |
| } else if among_var == 11 { |
| // (, line 204 |
| // delete, line 204 |
| if !env.slice_del() { |
| return false; |
| } |
| } else if among_var == 12 { |
| // (, line 205 |
| // <-, line 205 |
| if !env.slice_from("a") { |
| return false; |
| } |
| } else if among_var == 13 { |
| // (, line 206 |
| // <-, line 206 |
| if !env.slice_from("e") { |
| return false; |
| } |
| } else if among_var == 14 { |
| // (, line 207 |
| // delete, line 207 |
| if !env.slice_del() { |
| return false; |
| } |
| } else if among_var == 15 { |
| // (, line 208 |
| // delete, line 208 |
| if !env.slice_del() { |
| return false; |
| } |
| } else if among_var == 16 { |
| // (, line 209 |
| // delete, line 209 |
| if !env.slice_del() { |
| return false; |
| } |
| } else if among_var == 17 { |
| // (, line 210 |
| // delete, line 210 |
| if !env.slice_del() { |
| return false; |
| } |
| } else if among_var == 18 { |
| // (, line 211 |
| // <-, line 211 |
| if !env.slice_from("a") { |
| return false; |
| } |
| } else if among_var == 19 { |
| // (, line 212 |
| // <-, line 212 |
| if !env.slice_from("e") { |
| return false; |
| } |
| } else if among_var == 20 { |
| // (, line 214 |
| // delete, line 214 |
| if !env.slice_del() { |
| return false; |
| } |
| } else if among_var == 21 { |
| // (, line 215 |
| // delete, line 215 |
| if !env.slice_del() { |
| return false; |
| } |
| } else if among_var == 22 { |
| // (, line 216 |
| // <-, line 216 |
| if !env.slice_from("a") { |
| return false; |
| } |
| } else if among_var == 23 { |
| // (, line 217 |
| // <-, line 217 |
| if !env.slice_from("e") { |
| return false; |
| } |
| } else if among_var == 24 { |
| // (, line 218 |
| // delete, line 218 |
| if !env.slice_del() { |
| return false; |
| } |
| } else if among_var == 25 { |
| // (, line 219 |
| // delete, line 219 |
| if !env.slice_del() { |
| return false; |
| } |
| } else if among_var == 26 { |
| // (, line 220 |
| // delete, line 220 |
| if !env.slice_del() { |
| return false; |
| } |
| } else if among_var == 27 { |
| // (, line 221 |
| // <-, line 221 |
| if !env.slice_from("a") { |
| return false; |
| } |
| } else if among_var == 28 { |
| // (, line 222 |
| // <-, line 222 |
| if !env.slice_from("e") { |
| return false; |
| } |
| } else if among_var == 29 { |
| // (, line 223 |
| // delete, line 223 |
| if !env.slice_del() { |
| return false; |
| } |
| } |
| return true; |
| } |
| |
| pub fn stem(env: &mut SnowballEnv) -> bool { |
| let mut context = &mut Context { |
| i_p1: 0, |
| }; |
| // (, line 228 |
| // do, line 229 |
| let v_1 = env.cursor; |
| 'lab0: loop { |
| // call mark_regions, line 229 |
| if !r_mark_regions(env, context) { |
| break 'lab0; |
| } |
| break 'lab0; |
| } |
| env.cursor = v_1; |
| // backwards, line 230 |
| env.limit_backward = env.cursor; |
| env.cursor = env.limit; |
| // (, line 230 |
| // do, line 231 |
| let v_2 = env.limit - env.cursor; |
| 'lab1: loop { |
| // call instrum, line 231 |
| if !r_instrum(env, context) { |
| break 'lab1; |
| } |
| break 'lab1; |
| } |
| env.cursor = env.limit - v_2; |
| // do, line 232 |
| let v_3 = env.limit - env.cursor; |
| 'lab2: loop { |
| // call case, line 232 |
| if !r_case(env, context) { |
| break 'lab2; |
| } |
| break 'lab2; |
| } |
| env.cursor = env.limit - v_3; |
| // do, line 233 |
| let v_4 = env.limit - env.cursor; |
| 'lab3: loop { |
| // call case_special, line 233 |
| if !r_case_special(env, context) { |
| break 'lab3; |
| } |
| break 'lab3; |
| } |
| env.cursor = env.limit - v_4; |
| // do, line 234 |
| let v_5 = env.limit - env.cursor; |
| 'lab4: loop { |
| // call case_other, line 234 |
| if !r_case_other(env, context) { |
| break 'lab4; |
| } |
| break 'lab4; |
| } |
| env.cursor = env.limit - v_5; |
| // do, line 235 |
| let v_6 = env.limit - env.cursor; |
| 'lab5: loop { |
| // call factive, line 235 |
| if !r_factive(env, context) { |
| break 'lab5; |
| } |
| break 'lab5; |
| } |
| env.cursor = env.limit - v_6; |
| // do, line 236 |
| let v_7 = env.limit - env.cursor; |
| 'lab6: loop { |
| // call owned, line 236 |
| if !r_owned(env, context) { |
| break 'lab6; |
| } |
| break 'lab6; |
| } |
| env.cursor = env.limit - v_7; |
| // do, line 237 |
| let v_8 = env.limit - env.cursor; |
| 'lab7: loop { |
| // call sing_owner, line 237 |
| if !r_sing_owner(env, context) { |
| break 'lab7; |
| } |
| break 'lab7; |
| } |
| env.cursor = env.limit - v_8; |
| // do, line 238 |
| let v_9 = env.limit - env.cursor; |
| 'lab8: loop { |
| // call plur_owner, line 238 |
| if !r_plur_owner(env, context) { |
| break 'lab8; |
| } |
| break 'lab8; |
| } |
| env.cursor = env.limit - v_9; |
| // do, line 239 |
| let v_10 = env.limit - env.cursor; |
| 'lab9: loop { |
| // call plural, line 239 |
| if !r_plural(env, context) { |
| break 'lab9; |
| } |
| break 'lab9; |
| } |
| env.cursor = env.limit - v_10; |
| env.cursor = env.limit_backward; |
| return true; |
| } |