I found construct quite good to parse binary data too. Had used antlr with java but needed something simpler and for python.
http://amnesia.gtisc.gatech.edu/~moyix/minidump.py
Explanation:
http://moyix.blogspot.com/2008/05/parsing-windows-minidumps....
A colleague of mine recently developed a similar (from the looks of it) library, in Python and Javascript: