Kaitai Struct 0.8
После почти 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 благодарит всех пользующихся за доверие и поддержку и обещает, что дальше будет еще интереснее.
>>> Подробности
компилятор, позволяющий из файла спецификации формата (.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 благодарит всех пользующихся за доверие и поддержку и обещает, что дальше будет еще интереснее.
>>> Подробности
Ещё новости по теме:
18:20