Kaitai Struct 0.9


Kaitai Struct 0.9

Зусім нядаўна выйшла чарговая версія Kaitai Struct 0.9 – мовы апісання і інструментара парсінгу разнастайных бінарных фарматаў (напрыклад, сеткавых пакетаў, файлаў з выявамі/аўдыё/відэа, баз дадзеных, архіваў, кантэйнераў і т. д.). Нягледзячы на ​​несур'ёзна які выглядае нумар версіі 0.9 - гэта буйны рэліз, улучальны ў сябе напрацоўкі за апошнія 2.5 гады. За гэты час мова вырасла да цэлага сямейства праектаў:

Мова прызнаны GitHub і выкарыстоўваецца зараз у больш, чым 400 free / open source праектах для парсінгу разнастайных экзатычных фарматаў дадзеных, пачынаючы ад рэверс-інжынірынгу файлаў дадзеных прапрыетарных гульняў, канчаючы разборам пратаколаў сувязі спадарожнікаў.

З асноўных навін мовы 0.9 варта вылучыць:

  • падтрымка новых мэтавых моў (Python праз бібліятэку Construct, Nim, генерацыю дакументацыі ў HTML)
  • паўнавартасную падтрымку сучасных C++ (smart pointers, адсутнасць неабходнасці ўручную кіраваць памяццю, выпраўленне ўсіх вядомых варыянтаў уцечак памяці)
  • падтрымку адрасацыі ўкладзеных тыпаў праз сінтаксіс выгляду foo::bar::baz
  • падтрымку валідацыі прачытаных дадзеных па апісаных умовах (valid)
  • вылічэнне памераў статычных структур дадзеных у байтах і бітах (аператары sizeof і bitsizeof)
  • фармальнае апісанне мовы ў выглядзе JSON-схемы, з якой цяпер генеруецца дакументацыя

Крыніца: linux.org.ru