LINUX.ORG.RU

Kaitai Struct 0.8

 , ,


4

1

После почти 8 месяцев разработки, состоялся очередной релиз Kaitai Struct 0.8 — языка описания и инструментария парсинга всевозможных бинарных форматов (например, сетевых пакетов, файлов с изображениями/аудио/видео, баз данных, архивов, контейнеров и т. д.). Как всегда, в комплекте:

  • компилятор, позволяющий из файла спецификации формата (.ksy) получить готовый исходник парсера на языках C++, C#, Java, JavaScript, Lua, Perl, PHP, Python, Ruby, а также диаграмму в формате GraphViz;
  • Web IDE для удобной разработки спецификаций с одновременным визуальным контролем;
  • библиотека форматов, насчитывающая в этом релизе уже 110 описаний

Список новшеств 0.8 довольно длинный, из основных достижений стоит отметить:

  • поддержку Lua (почти 100%), начальную поддержку Go (~15% тестов проходит);
  • поддержку переключения endianness по результатам вычислимого выражения (сильно упрощает поддержку форматов типа ELF, TIFF и т.п., которые встречаются в двух вариантах endianness)
  • параметрические типы — например, одной такой спецификацией BCD можно пользоваться самых разнообразных BCD, передавая при вызове типа параметрами число цифр, битность одной цифры и порядок их следования;
  • поддержка произвольных кастомных методов процессинга данных (расшифровка, декомпрессия и т.д.) путем подключения модуля на целевом языке программирования; в будущем планируется создание стандартных библиотек для распространенных алгоритмов сжатия, шифрования и обфускации данных;
  • возможность обращаться к индексу итерации в циклах — _index;
  • расширенные возможности документации enum'ов и кросс-ссылок;
  • у проекта появился логотип благодаря сотрудничеству с финским дизайнером Verneri Kontto

Релиз приурочен к пересечению проектом морального рубежа в 1000 stars на GitHub. Команда Kaitai благодарит всех пользующихся за доверие и поддержку и обещает, что дальше будет еще интереснее.

>>> Подробности

★★

Проверено: Shaman007 ()
Последнее исправление: Shaman007 (всего исправлений: 1)

И ещё вдогонку. Я смотрю, в коллекции форматов есть dbf. А есть ли надежда на появление формата Paradox от Borland? Или по ней в принципе нет информации, позволяющей такое описание создать?

Понимаю, что вопрос не совсем по адресу - но вдруг кто-то из ваших контрибьюторов эту проблему хотя бы исследовал...

hobbit ★★★★★
()
Ответ на: комментарий от hobbit

А есть ли надежда на появление формата Paradox от Borland? Или по ней в принципе нет информации, позволяющей такое описание создать?

Надежда всегда есть. Вот тут вроде бы что-то находится: https://stackoverflow.com/questions/26671089/paradox-database-file

Один инициативный товарищ вот здесь поддерживает список того, над чем были начаты работы, Paradox там пока нет. Можете попробовать сами разобрать, по идее это не очень сложно должно быть.

GreyCat ★★
() автор топика
Ответ на: комментарий от demrnd

Спасибо за ссылку.

А «легаси», например, бывает вот такое. До сих пор развивается, живее всех живых, даже под вайном работает очень шустро.

Я не хочу сказать, что я именно в его таблицы хочу лазить. Оттуда-то как раз есть вполне вменяемый экспорт в XML. Программа приведена просто в качестве примера.

hobbit ★★★★★
()
Ответ на: комментарий от hobbit

Еще Clarion тоже в свое время интересовал. Я написал читалку DBF. На сколько я помню по скорости чтения меня еще никто не обгонял. Код ужасен. Но я на основе описания и хедера генерю struct https://sourceforge.net/projects/demdbf/

Была версия с итераторами. Та вообще реактивная была.

demrnd
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.