I recently was successful using pyparsing after messing around with ply for a few hours. See my blog for more details ( http://panela.blog-city.com/icfp_contest_implementation_in_python_notes.htm ).
I personally corresponded with the author and he was very helpful as well, giving my useful critiques and feedback. The next time I'm parsing something more complex than a tab-delimited file (excluding xml :)) I'll probably use pyparsing. I found it very pythonic and easy to use. good luck parsing... matt -- http://mail.python.org/mailman/listinfo/python-list