 <i>pyparsing, the equivalent of which I haven't seen in any other language</i><p>Well the "golden oldie" equivalent in the Perl world is Parse::RecDescent (<a href="http://search.cpan.org/dist/Parse-RecDescent/" rel="nofollow">http://search.cpan.org/dist/Parse-RecDescent/</a>).<p>A new kid on the block is Regexp::Grammars (<a href="http://search.cpan.org/dist/Regexp-Grammars/" rel="nofollow">http://search.cpan.org/dist/Regexp-Grammars/</a>), which is heavily based on Perl 6 rules/grammar (<a href="http://en.wikipedia.org/wiki/Perl_6_rules" rel="nofollow">http://en.wikipedia.org/wiki/Perl_6_rules</a>).