Hiel koartlyn waard de folgjende ferzje fan Kaitai Struct 0.9 frijlitten - in beskriuwingstaal en ark foar it parsearjen fan ferskate binêre formaten (bygelyks netwurkpakketten, ôfbyldings-/audio-/fideobestannen, databases, argiven, konteners, ensfh.). Nettsjinsteande it frivole útsjende ferzjenûmer 0.9, is dit in wichtige release dy't ûntjouwings yn 'e ôfrûne 2.5 jier omfettet. Yn dy tiid is de taal útgroeid ta in hiele famylje fan projekten:
- in kompilator wêrmei jo in klearmakke parser-boarnekoade kinne krije yn in ferskaat oan programmeartalen (C++, C#, Construct, Go, Java, JavaSkript, Lua, Nim, Perl, PHP, Python, Ruby) út in formaat spesifikaasje triem (.ksy), likegoed as diagrammen yn it formaat GraphViz en minsklik lêsbere opmaak spesifikaasjes yn HTML;
- ark foar handige ûntwikkeling fan spesifikaasjes mei simultane fisuele kontrôle: Web IDE, console visualizer, plugin foar Visual Studio Code, hobbits, kearsen, plugin foar Hiew, plugin foar Binary Ninja;
- modules foar it yntegrearjen fan Kaitai Struct yn it assemblageproses foar Maven, foar Gradle, foar Python, foar JavaScript / WebPack
- format bibleteek, dy't al 156 beskriuwingen hat yn dizze release (en 78 mear formaten binne yn it proses fan beoardieling fan pull-fersyk).
- bibleteek fan plug-in kompresje algoritmen Kaitai kompresje
- module foar FUSE - Kaitai FS, wêrmei jo in bestân as bestânsysteem kinne mount, mei de ksy-beskriuwing fan it formaat
Taal erkend troch GitHub en wurdt no brûkt yn mear dan 400 frije / iepen boarne projekten foar it parsearjen fan alle soarten eksoatyske gegevensformaten, fariearjend fan reverse engineering proprietêre spultsje data triemmencumming analyze fan satellyt kommunikaasje protokollen.
Under de wichtichste fernijingen fan taal 0.9 is it wurdich te markearjen:
- stipe foar nije doeltalen (Python fia de Construct-bibleteek, Nim, generaasje fan dokumintaasje yn HTML)
- folsleine stipe foar moderne C++ (smart pointers, gjin needsaak om ûnthâld manuell te behearjen, repareart alle bekende ûnthâldlekken)
- stipe foar it oanpakken fan nestede typen fia syntaksis lykas foo :: bar :: baz
- stipe foar it validearjen fan lêzen gegevens neffens de beskreaune betingsten (jildich)
- it berekkenjen fan de grutte fan statyske gegevensstruktueren yn bytes en bits (grutte fan en bitgrutte fan operators)
- formele beskriuwing fan in taal yn 'e foarm JSON skema's, wêrfan no dokumintaasje wurdt oanmakke
Boarne: linux.org.ru