The OpenNET Project / Index page

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



"Вышел язык спецификации бинарных форматов Kaitai Struct 0.5"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Заметили полезную информацию ? Пожалуйста добавьте в FAQ на WIKI.
. "Вышел язык спецификации бинарных форматов Kaitai Struct 0.5" +1 +/
Сообщение от GreyCat (ok), 11-Ноя-16, 20:10 
> Если сам YAML вписывается в БНФ, то проблем быть не должно, но
> всё же РБНФ лучше для восприятия человеком.
> Нашёл БНФ для YAML https://gist.github.com/tociyuki/3936873 - выглядит удручающе, но
> вполне возможно, что грамматика Kaitai Struct, являясь подмножеством, будет попроще.

Писать самому парсер YAML - это да, мягко говоря, удручающее занятие. Вообще весь смысл использования YAML (XML, JSON, или чего-то такого высокоуровневого) был ровно в том, чтобы *не* заморачиваться с любыми описаниями грамматик и Бэкусом-Науром, а использовать какие-то инструменты более высокого уровня для описания того, что дозволено иметь в формате.

Как правило - такие инструменты начинаются со схем. Для YAML это, например, Kwalify - http://www.kuwata-lab.com/kwalify/ruby/users-guide.01.html#s....

Если хочется именно грамматику и BNF / ENBF / RNBF / ANTLR / yacc / etc - то тогда имеет смысл ее просто придумать и описать, в терминах, формализуемых проще, чем языки разметки. В свое время на LOR народ предлагал вместо:

    meta:
      id: foo
    seq:
      - id: len
        type: u1
      - id: my_str
        type: str
        encoding: UTF-8
        size: len

делать что-то C-подобное, а ля

    type foo {
        u1 len;
        str(len, UTF-8) my_str;
    }

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Вышел язык спецификации бинарных форматов Kaitai Struct 0.5, opennews, 10-Ноя-16, 19:52  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



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

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