Writing parsers

This blog post outlines three different approaches of writing a parser, starting from a naive way up to something that isn't shy to use mathematics terminology.