    /*
     *  call-seq:
     *    RegExpTokenizer.new(input, /[[:alpha:]]+/)
     *
     *  Create a new tokenizer based on a regular expression
     *
     *  input::  text to tokenizer
     *  regexp:: regular expression used to recognize tokens in the input
     */
    static VALUE
    frb_rets_init(int argc, VALUE *argv, VALUE self)
    {
        VALUE rtext, regex, proc;
        TokenStream *ts;

        rb_scan_args(argc, argv, "11&", &rtext, &regex, &proc);

        ts = rets_new(rtext, regex, proc);

        Frt_Wrap_Struct(self, &frb_rets_mark, &frb_rets_free, ts);
        object_add(ts, self);
        return self;
    }