Hivi majuzi, toleo lililofuata la Kaitai Struct 0.9 lilitolewa - lugha ya maelezo na zana za kuchanganua fomati anuwai za binary (kwa mfano, pakiti za mtandao, faili za picha/sauti/video, hifadhidata, kumbukumbu, vyombo, n.k.). Licha ya toleo la 0.9 linaloonekana kuwa la kipuuzi, hili ni toleo kuu ambalo linajumuisha maendeleo katika kipindi cha miaka 2.5 iliyopita. Wakati huu, lugha imekua katika familia nzima ya miradi:
- mkusanyaji unaokuruhusu kupata msimbo wa chanzo wa kichanganuzi kilichotengenezwa tayari katika lugha tofauti za programu (C++, C#, Construct, Go, Java, JavaScript, Lua, Nim, Perl, PHP, Python, Ruby) kutoka kwa umbizo. faili ya vipimo (.ksy), pamoja na michoro katika umbizo la GraphViz na vipimo vya umbizo linaloweza kusomeka na binadamu katika HTML;
- zana za ukuzaji rahisi wa vipimo na udhibiti wa kuona wa wakati mmoja: IDE ya Wavuti, console visualizer, programu-jalizi ya Msimbo wa Visual Studio, vitu vya kufurahisha, Veles, programu-jalizi ya Hiew, programu-jalizi ya Binary Ninja;
- moduli za kuunganisha Muundo wa Kaitai katika mchakato wa kusanyiko kwa Maven, kwa Gradle, kwa Python, kwa JavaScript/WebPack
- maktaba ya muundo, ambayo tayari ina maelezo 156 katika toleo hili (na 78 miundo zaidi wako katika mchakato wa kukagua ombi la kuvuta).
- maktaba ya kanuni za ukandamizaji wa programu-jalizi Kaitai Compress
- moduli ya FUSE - Kaitai FS, ambayo hukuruhusu kuweka faili kama mfumo wa faili, kwa kutumia maelezo ya ksy ya umbizo lake
Lugha kutambuliwa na GitHub na sasa inatumika katika zaidi ya miradi 400 ya bure/chanzo huria kwa kuchanganua aina zote za fomati za kigeni, kuanzia geuza faili za data za mchezo wa umiliki wa uhandisicumming uchambuzi wa itifaki za mawasiliano ya satelaiti.
Kati ya uvumbuzi kuu wa lugha 0.9 inafaa kuangazia:
- msaada kwa lugha mpya lengwa (Python kupitia maktaba ya Kuunda, Nim, utengenezaji wa hati katika HTML)
- usaidizi kamili wa C++ ya kisasa (viashiria mahiri, hakuna haja ya kudhibiti kumbukumbu kwa mikono, hurekebisha uvujaji wote wa kumbukumbu unaojulikana)
- msaada wa kushughulikia aina zilizowekwa kiota kupitia sintaksia kama foo::bar::baz
- msaada wa kuhalalisha data iliyosomwa kulingana na hali iliyoelezewa (halali)
- kukokotoa saizi za miundo ya data tuli katika baiti na biti (ukubwa wa na ukubwa wa waendeshaji)
- maelezo rasmi ya lugha katika fomu Miradi ya JSON, kuanzia sasa nyaraka zinazalishwa
Chanzo: linux.org.ru