How to create a (slow) interpreter – Part 1: Tokens
blog.klemek.fr