The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Релиз системы разбора бинарных файлов Kaitai Struct 0.6"
Отправлено opennews, 05-Фев-17 00:09 
Вышел (http://kaitai.io/news/2017-02-04.html) очередной релиз языка разбора произвольных бинарных файлов 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" у целочисленных типов для преобразования к строке

-  Множество других исправлений ошибок и оптимизаций (как по проекту в целом, например, в механизме выведения типов, так и по компиляторам конкретных целевых языков)


URL: http://kaitai.io/news/2017-02-04.html
Новость: http://www.opennet.ru/opennews/art.shtml?num=45982

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру