Rly is a lexer and parser generator for ruby (O RLY?), based on ideas and solutions of Python's Ply (in some places it's a total rip off actually).
Release notes are available here.
Install via rubygems
gem install rly
You need to create lexer and parser classes for each grammar you want to process. It is commonly done by subclassing {Rly::Lex} and {Rly::Parse} classes (check the appropriate docs).
You can also read the tutorials on the wiki: