Does anyone know of a format for declaring binary data formats, which can then be compiled into reader/writer code for various languages? I'm not looking for something like protocol buffers—this is explicitly for reverse engineering, so it would have to be something that can flexibly accommodate existing semi-arbitrary binary data.
