Notes
Building a configurable lexer from a deterministic finite automaton
Inefficient and unintuitive, as all software should be.