I read this paper not long ago as it was referenced in Ward Cunningham's interesting work in Exploratory Parsing [0]. It's a quick read and definitely interesting. If you're interested there's a yacc equivalent peg/leg [1]. The only thing that wasn't clear to me (and I'd appreciate enlightenment if anyone has any) is why Cunningham's Exploratory Parsing depends so much on PEGs? Is it simply the non-ambiguous nature of the parse tree?
It's dead simple, and quite powerful: it helps implement all compilation phases, from parsing to code generation. And it compiles itself in about 400 lines of code.
Treetop is great - I have previously written parsers using yacc and lex, and I found treetop to be around about 2 orders of magnitude more productive. That said, I don't know that I would want to use it on large files with a complex grammar :/
0. http://c2.com/~ward/sao/TechIgnite-v1/ 1. http://piumarta.com/software/peg/