A longer article on the different types of parsers and how they work, with a lot of state machine diagrams and some Rust code samples.