I have to mention OMeta, a language based on PEGs (plus a few extensions): <a href="http://www.tinlizzie.org/ometa/" rel="nofollow">http://www.tinlizzie.org/ometa/</a><p>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.