protected boolean eq_s(CharSequence s) { return eq_s(s.length(), s.toString()); }
protected boolean eq_s_b(CharSequence s) { return eq_s_b(s.length(), s.toString()); }
protected void insert(int c_bra, int c_ket, CharSequence s) { insert(c_bra, c_ket, s.toString()); }
protected void slice_from(String s) { slice_check(); replace_s(bra, ket, s); }
protected StringBuilder slice_to(StringBuilder s) { slice_check(); int len = ket - bra; s.replace(0, s.length(), current.substring(bra, ket)); return s; }
protected void slice_del() { slice_from(""); }
protected SnowballProgram() { current = new StringBuffer(); setCurrent(""); }
protected void insert(int c_bra, int c_ket, String s) { int adjustment = replace_s(c_bra, c_ket, s); if (c_bra <= bra) bra += adjustment; if (c_bra <= ket) ket += adjustment; }
protected int find_among(Among v[]){ return find_among(v, v.length); }
protected int find_among_b(Among v[]){ return find_among_b(v, v.length); }
protected void slice_from(String s) { slice_check(); replace_s(bra, ket, s); }
protected StringBuffer slice_to(StringBuffer s) { slice_check(); int len = ket - bra; s.replace(0, s.length(), current.substring(bra, ket)); return s; }
protected void slice_from(CharSequence s) { slice_from(s.toString()); }
protected SnowballProgram() { current = new StringBuffer(); setCurrent(""); }
protected void insert(int c_bra, int c_ket, String s) { int adjustment = replace_s(c_bra, c_ket, s); if (c_bra <= bra) bra += adjustment; if (c_bra <= ket) ket += adjustment; }
protected void slice_from(String s) { slice_check(); replace_s(bra, ket, s); }
protected StringBuffer slice_to(StringBuffer s) { slice_check(); int len = ket - bra; s.replace(0, s.length(), current.substring(bra, ket)); return s; }
protected void slice_del() { slice_from(""); }
protected boolean eq_v_b(CharSequence s) { return eq_s_b(s.length(), s.toString()); }
protected boolean eq_v(CharSequence s) { return eq_s(s.length(), s.toString()); }