Construct is a library for parsing and building of data structures (binary or textual).
    
It is based on the concept of defining data structures in a declarative manner,
rather than procedural code: more complex constructs are composed of a
hierarchy of simpler ones. It's the first library that makes parsing fun,
instead of the usual headache it is today.

Homepage: http://construct.wikispaces.com/
Community: http://construct-community.wikispaces.com/