Ба наздикӣ версияи навбатии Kaitai Struct 0.9 бароварда шуд - забон барои тавсиф ва таҳлили форматҳои гуногуни бинарӣ (масалан, пакетҳои шабакавӣ, файлҳои тасвирӣ/аудио/видео, базаи маълумотҳо, бойгонӣ, контейнерҳо ва ғ.). Сарфи назар аз версияи соддаи рақами 0.9, ин як нашри бузургест, ки таҳаввулоти 2.5 соли охирро дар бар мегирад. Дар ин муддат, забон ба як оилаи лоиҳаҳо табдил ёфт:
- компиляторе, ки ба шумо имкон медиҳад, ки аз файли мушаххасоти формат (.ksy) дар бисёр забонҳои барномасозӣ (C++, C#, Construct, Go, Java, JavaScript, Lua, Nim, Perl, PHP, Python, Ruby), инчунин диаграммаҳо дар формати GraphViz ва мушаххасоти формати барои инсон хондашаванда дар HTML;
- воситаҳо барои таҳияи мушаххасоти мувофиқ бо назорати ҳамзамон визуалӣ: веб IDE, провайдери консол, Плагин барои Visual Studio Code, Хоббитҳо, Велес, Плагини Hie, плагин барои Binary Ninja;
- модулҳо барои ҳамгироии Kaitai Struct ба раванди васлкунӣ барои мавен, барои град, барои Python, барои JavaScript/Webpack
- китобхонаи формат, ки аллакай дар ин нашр 156 тавсиф дорад (ва 78 формати дигар дар ҷараёни баррасии дархости кашидан қарор доранд).
- китобхонаи алгоритмҳои фишурдасозии васлшаванда Компресс Kaitai
- модул барои FUSE - Kaitai FS, ки ба шумо имкон медиҳад, ки файлро ҳамчун системаи файлӣ бо истифода аз тавсифи ksy формати он васл кунед
забон аз ҷониби GitHub эътироф шудааст ва ҳоло дар зиёда аз 400 лоиҳаҳои ройгон / кушодаасос барои таҳлили ҳама гуна форматҳои экзотикии додаҳо истифода мешавад, аз ҷумла файлҳои маълумоти хусусии муҳандисии баръаксба охир мерасад тахлили протоколхои алокаи спутникй.
Аз навовариҳои асосии забони 0.9, бояд қайд кард:
- дастгирии забонҳои нави мавриди ҳадаф (Python тавассути китобхонаи Construct, Nim, тавлиди ҳуҷҷатҳои HTML)
- дастгирии пурраи муосири C++ (нишондиҳандаҳои интеллектуалӣ, зарурати идоракунии дастӣ нест, барои ҳама ихроҷи хотираи маълум ислоҳ)
- дастгирии суроғаи намудҳои лона тавассути синтаксиси foo::bar::baz
- дастгирии тасдиқи маълумоти хондашуда мувофиқи шартҳои тавсифшуда (эътибор)
- ҳисоб кардани андозаи сохторҳои статикии додаҳо дар байтҳо ва битҳо (операторҳои sizeof ва bitsizeof)
- тавсифи расмии забон дар шакл Схемаҳои JSON, ки аз он хозир ҳуҷҷат таҳия карда мешавад
Манбаъ: linux.org.ru