Toying with hand writing a parser (based on Eric White's blog series (http://ericwhite.com/blog/map/recursive-descent-parser/)