Новости и события » Hi-Tech » Релиз системы разбора бинарных файлов Kaitai Struct 0.6

Релиз системы разбора бинарных файлов Kaitai Struct 0.6

Релиз системы разбора бинарных файлов Kaitai Struct 0.6

Вышел очередной релиз языка разбора произвольных бинарных файлов Kaitai Struct 0.6, приуроченный к конференции FOSDEM 2017. Язык позволяет создавать спецификации произвольных бинарные форматы файлов / пакетов / протоколов, после чего можно:

  • Визуализировать данные в этом формате в виде интерактивного дерева объектов, наблюдая каким байтам в дампе соответствуют какие значения:
  • Получить наглядную диаграмму формата с помощью GraphViz
  • Скомпилировать спецификацию формата в готовую библиотеку парсинга формата на языках C++, C, Java, JavaScript, Perl, PHP, Python, Ruby

Среди основных нововведений версии 0.6 можно выделить:

  • Поддержка невыравненного (unaligned) побитового чтения (удобно поддерживать битовые поля, можно читать потоки битов и т.д.)
  • Мощная поддержка метаинформации в.ksy (добавлены поля "title", "license", "ks-version", "ks-debug"), поддержка "doc" на уровне типов
  • Enum'ы выведены на уровень типов - т.е. теперь они корректно раскрываются, их можно использовать между разными уровнями вложенности типов (даже если поддержки такой области видимости нет в целевом языке - например, в Python, PHP или JavaScript)
  • Идентификатор (id) в атрибутах в seq теперь опционален; если его не указывать, будет автоматически сгенерирован численный идентификатор - это удобно для быстрой разметки неизвестных форматов
  • Вычислимые instances теперь могут использовать "if" и "enum"
  • Поддержка ссылок на внешние типы данных - можно использовать "type: xxx", где xxx не объявлен в текущем.ksy-файле - это создаст правильные инструкции import / include в предположении, что тип xxx описан в каком-то другом.ksy файле, который будет также собран вместе с этим проектом
  • В языке выражений теперь можно использовать числовые литералы с визуальными разделителями (например, "123_456_789" или "0b0101_0011"), а также метод "to_s" у целочисленных типов для преобразования к строке
  • Множество других исправлений ошибок и оптимизаций (как по проекту в целом, например, в механизме выведения типов, так и по компиляторам конкретных целевых языков)

Релиз системы разбора бинарных файлов Kaitai Struct 0.6

Релиз системы разбора бинарных файлов Kaitai Struct 0.6


Свежие новости Украины на сегодня и последние события в мире экономики и политики, культуры и спорта, технологий, здоровья, происшествий, авто и мото

Вверх