Π‘ΡΠ²ΡΠ΅ΠΌ Π½Π°ΡΠΊΠΎΡΠΎ ΠΈΠ·Π»Π΅Π·Π΅ Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π½Π° Kaitai Struct 0.9 β Π΅Π·ΠΈΠΊ Π·Π° ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΠΏΠ°ΡΡΠΈΠ½Π³ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π±ΠΈΠ½Π°ΡΠ½ΠΈ ΡΠΎΡΠΌΠ°ΡΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ, ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ/Π°ΡΠ΄ΠΈΠΎ/Π²ΠΈΠ΄Π΅ΠΎ, Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ, Π°ΡΡ ΠΈΠ²ΠΈ, ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ ΠΈ Π΄Ρ.). ΠΡΠΏΡΠ΅ΠΊΠΈ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°ΡΠΈΡ Π½Π΅ΡΠ΅ΡΠΈΠΎΠ·Π΅Π½ Π½ΠΎΠΌΠ΅Ρ Π½Π° Π²Π΅ΡΡΠΈΡΡΠ° 0.9 β ΡΠΎΠ²Π° Π΅ Π·Π½Π°ΡΠΈΡΠ΅Π»Π΅Π½ ΡΠ΅Π»ΠΈΠ·, ΠΊΠΎΠΉΡΠΎ ΠΎΠ±Π΅Π΄ΠΈΠ½ΡΠ²Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ 2.5 Π³ΠΎΠ΄ΠΈΠ½ΠΈ. ΠΠ° ΡΠΎΠ²Π° Π²ΡΠ΅ΠΌΠ΅ Π΅Π·ΠΈΠΊΡΡ ΡΠ΅ Π΅ ΡΠ°Π·Π²ΠΈΠ» Π² ΡΡΠ»ΠΎΡΠΎ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠΈ:
- ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ ΠΎΡ ΡΠ°ΠΉΠ» Π½Π° ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π½Π° ΡΠΎΡΠΌΠ°ΡΠ° (.ksy) Π΄Π° ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈ Π³ΠΎΡΠΎΠ² ΠΈΠ·Ρ ΠΎΠ΄Π΅Π½ ΠΊΠΎΠ΄ Π½Π° ΠΏΠ°ΡΡΠ΅ΡΠ° Π½Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π΅Π·ΠΈΡΠΈ Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅ (C++, C#, Construct, Go, Java, JavaScript, Lua, Nim, Perl, PHP, Python, Ruby), ΠΊΠ°ΠΊΡΠΎ ΠΈ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΈ Π² ΡΠΎΡΠΌΠ°Ρ GraphViz ΠΈ ΡΠΎΠ²Π΅ΠΊΠΎΡΠΈΡΠΈΠΌΠΈ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π½Π° ΡΠΎΡΠΌΠ°ΡΠΈ Π² HTML;
- ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΡΠ΄ΠΎΠ±Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Ρ simultant Π²ΠΈΠ·ΡΠ°Π»Π΅Π½ ΠΊΠΎΠ½ΡΡΠΎΠ»: Web IDE, ΠΊΠΎΠ½ΡΠΎΠ»Π΅Π½ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΎΡ, ΠΏΠ»ΡΠ³ΠΈΠ½ Π·Π° Visual Studio Code, Hobbits, Veles, ΠΏΠ»ΡΠ³ΠΈΠ½ Π·Π° Hiew, ΠΏΠ»ΡΠ³ΠΈΠ½ Π·Π° Binary Ninja;
- ΠΌΠΎΠ΄ΡΠ»ΠΈ Π·Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Π½Π° Kaitai Struct Π² ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° ΡΠ³Π»ΠΎΠ±ΡΠ²Π°Π½Π΅ Π·Π° Maven, Π·Π° Gradle, Π·Π° Python, Π·Π° JavaScript/WebPack
- Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΎΡ ΡΠΎΡΠΌΠ°ΡΠΈ, ΠΊΠΎΡΡΠΎ Π² ΡΠΎΠ·ΠΈ ΡΠ΅Π»ΠΈΠ· Π²Π΅ΡΠ΅ ΡΡΠ΄ΡΡΠΆΠ° 156 ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ (ΠΈ ΠΎΡΠ΅ 78 ΡΠΎΡΠΌΠ°ΡΠ° ΡΠ° Π² ΠΏΡΠΎΡΠ΅Ρ Π½Π° ΠΏΡΠ΅Π³Π»Π΅Π΄ Π½Π° pull request).
- Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΎΡ ΠΏΡΠΈΠ»ΠΎΠΆΠΈΠΌΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ Π·Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ Kaitai Compress
- ΠΌΠΎΠ΄ΡΠ» Π·Π° FUSE β Kaitai FS, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ Π΄Π° ΡΠ΅ ΠΌΠΎΠ½ΡΠΈΡΠ° ΡΠ°ΠΉΠ» ΠΊΠ°ΡΠΎ ΡΠ°ΠΉΠ»ΠΎΠ²Π° ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ksy-ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π½Π° Π½Π΅Π³ΠΎΠ²ΠΈΡ ΡΠΎΡΠΌΠ°Ρ
ΠΠ·ΠΈΠΊ ΠΏΡΠΈΠ·Π½Π°Ρ GitHub ΠΈ Π²Π΅ΡΠ΅ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ 400 Π±Π΅Π·ΠΏΠ»Π°ΡΠ½ΠΈ/open source ΠΏΡΠΎΠ΅ΠΊΡΠ° Π·Π° ΠΏΠ°ΡΡΠΈΠ½Π³ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π΅ΠΊΠ·ΠΎΡΠΈΡΠ½ΠΈ ΡΠΎΡΠΌΠ°ΡΠΈ Π΄Π°Π½Π½ΠΈ, Π·Π°ΠΏΠΎΡΠ²Π°ΠΉΠΊΠΈ ΠΎΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΡΠΎ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΡΡΠ²ΠΎ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΎΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈ ΠΈΠ³ΡΠΈ, Π·Π°Π²ΡΡΡΠ²Π°ΠΉΠΊΠΈ Ρ ΡΠ°Π·Π±ΠΎΡ Π½Π° ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΈ Π½Π° ΡΠ°ΡΠ΅Π»ΠΈΡΠΈ.
ΠΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ Π½ΠΎΠ²ΠΎΠ²ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ Π² Π΅Π·ΠΈΠΊΠ° 0.9 ΡΠΈ ΡΡΡΡΠ²Π° Π΄Π° ΡΠ΅ ΡΠΏΠΎΠΌΠ΅Π½Π°Ρ:
- ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π½ΠΎΠ²ΠΈ ΡΠ΅Π»Π΅Π²ΠΈ Π΅Π·ΠΈΡΠΈ (Python ΡΡΠ΅Π· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° Construct, Nim, Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π² HTML)
- ΠΏΡΠ»Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈΡΠ΅ C++ (ΡΠΌΠ½ΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ, ΠΎΡΡΡΡΡΠ²ΠΈΠ΅ Π½Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡ ΠΎΡ ΡΡΡΠ½ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°, ΠΊΠΎΡΠ΅ΠΊΡΠΈΡ Π½Π° Π²ΡΠΈΡΠΊΠΈ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΈ Π²Π°ΡΠΈΠ°Π½ΡΠΈ Π½Π° ΠΈΠ·ΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°)
- ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π°Π΄ΡΠ΅ΡΠΈΡΠ°Π½Π΅ Π½Π° Π²Π»ΠΎΠΆΠ΅Π½ΠΈ ΡΠΈΠΏΠΎΠ²Π΅ ΡΡΠ΅Π· ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΎΡ Π²ΠΈΠ΄Π° foo::bar::baz
- ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠ΅Π½ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ ΠΏΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΡ (valid)
- ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ°Π·ΠΌΠ΅ΡΠΈΡΠ΅ Π½Π° ΡΡΠ°ΡΠΈΡΠ½ΠΈΡΠ΅ ΡΡΡΡΠΊΡΡΡΠΈ Π΄Π°Π½Π½ΠΈ Π² Π±Π°ΠΉΡΠΎΠ²Π΅ ΠΈ Π±ΠΈΡΠΎΠ²Π΅ (ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΈ sizeof ΠΈ bitsizeof)
- ΡΠΎΡΠΌΠ°Π»Π½ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π½Π° Π΅Π·ΠΈΠΊΠ° ΠΏΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° JSON-ΡΡ Π΅ΠΌΠ°, ΠΎΡ ΠΊΠΎΡΡΠΎ ΡΠ΅Π³Π° ΡΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΠ° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: linux.org.ru

