После трёх месяцев разработки состоялся релиз Kaitai Struct 0.5 — языка описания форматов структур данных. Идея проекта состоит в том, что описав структуру формата файла или сетевого протокола единожды на формальном языке .ksy, можно скомплировать такое описание в исходный код парсера на любом поддерживаемом языке программирования.
Список нововведений внушительный, самые заметные из них:
- полная поддержка C++/STL;
- поддержка новых целевых языков PHP7 (благодаря ProtoH) и Perl;
- генерация GraphViz-диаграмм для форматов (ранние примеры демонстрировались в галерее);
- новые возможности языка: switch-подобная конструкция для типов (чтобы не писать много условий), атрибут
doc
(для генерации документации в комментариях на целевом языке), циклrepeat-until
, поддержка булевых типов, поддержка операций с объектом потока из языка выражений (_io.eof
,_io.size
,_io.pos
); - существенное улучшение строгости парсинга .ksy компилятором, понятные сообщения об ошибках;
- работа консольного визуализатора на Windows.
Семейство инструментов, поддерживающих Kaitai Struct, пополнилось:
- GUI-визуализатором;
- GUI IDE со встроенным интерпретатором языка;
- амбициозным проектом Web IDE на базе HTML/JavaScript — доступна также его демо-инсталляция.
Как всегда, доступна онлайн-версия на JavaScript, в которой можно поэкспериментировать с компилятором без установки.
>>> Подробности