Давно мечтал о проекте, который позволил бы описывать любые бинарные форматы,
и с помощью описания читать, записывать эти форматы, делать преобразования.
Наткнулся на проект Kaitai Struct, в нём есть текстовый формат описания на основе YAML
(выглядит вот так: https://github.com/kaitai-io/kaitai_struct_formats/blob/master/executable/dos_mz.ksy)
и генераторы программного кода на Java, JavaScript, Python, Ruby, читающего описанный формат.
Проект написан на языке Scala, поэтому должно быть легко добавить нужную функциональность.
Проект очень молодой, вплотную пока не смотрел, но направление правильное.
http://kaitai.io/
https://github.com/kaitai-io/kaitai_struct_compiler
Хочу поделиться новинкой (если кто еще не в курсе дела).
Kaitai Struct - это декларативный язык позволяющий описывать двоичные структуры.
Вместо того что-бы описывать формат на каком-то конкретном языке используется язык http://doc.kaitai.io/ksy_reference.html.
После этого созданный ksy можно компилить в любой из поддерживаемых языков:
useretail, есть такая тема! (*улыбается*)
Переместил твоё сообщение сюда.