This slideshow convinced me to try parsing formally-defined languages.

(that is: if you can't do Lisp-like metaprogramming, the next best thing is doing DSL metaprogramming. :)

Parsers

Lexers