A tokenizer with ranges