Every program parses something. This series starts where most engineers do, with a regular expression, and follows the moment it stops being enough: a tokenizer, a small grammar, a recursive-descent parser, error messages a human can act on, and finally the real-world formats that break all of it.
Parsers from scratch
Nothing pinned here yet: the first entries are on their way. Follow the RSS feed to catch them as they land.