KOPUL : Kind Of Pack Unpack Language
KOPUL is an alternate solution to DSL such as ASN1, XDR, IDL, Datascript, Protobuf, and to the pack/unpack functions of Perl. It enables one to describe the layout of all binary data in memory or in a file. It uses LLVM as a backend to be able to either generate an encoding/decoding library for the described file, or interpret KOPUL expressions at runtime thanks to LLVM’s Just In Time capabilities.
KOPUL is available on Google Code.