OMeta: an Object-Oriented Language for Pattern Matching
tinlizzie.org
tinlizzie.org
There are other parser libraries based on PEG such as pyPEG (Python), LPeg (Lua) or Parsec (Haskell). They use internal DSL rather than external DSL. I have used Parslet (Ruby) in my project and it's worth to try. http://kschiess.github.com/parslet/