Implementing a programming language in D: Parsing expressions
blog.felixangell.com