A nice, reuseable interface for writing lexers