کافی حال ہی میں، Kaitai Struct 0.9 کا اگلا ورژن جاری کیا گیا تھا - مختلف بائنری فارمیٹس (مثال کے طور پر، نیٹ ورک پیکٹ، امیج/آڈیو/ویڈیو فائلز، ڈیٹا بیس، آرکائیوز، کنٹینرز وغیرہ) کو پارس کرنے کے لیے ایک وضاحتی زبان اور ٹولز۔ غیر سنجیدہ نظر آنے والے ورژن نمبر 0.9 کے باوجود، یہ ایک بڑی ریلیز ہے جس میں پچھلے 2.5 سالوں میں ہونے والی پیشرفت شامل ہے۔ اس وقت کے دوران، زبان منصوبوں کے ایک پورے خاندان میں بڑھ گئی ہے:
- ایک کمپائلر جو آپ کو مختلف پروگرامنگ زبانوں (C++, C#, Construct, Go, Java, JavaScript, Lua, Nim, Perl, PHP, Python, Ruby) میں ایک فارمیٹ سے ریڈی میڈ پارسر سورس کوڈ حاصل کرنے کی اجازت دیتا ہے۔ تفصیلات کی فائل (.ksy) کے ساتھ ساتھ گراف ویز کی شکل میں خاکے اور HTML میں انسانی پڑھنے کے قابل فارمیٹ کی وضاحتیں؛
- بیک وقت بصری کنٹرول کے ساتھ تصریحات کی آسان ترقی کے لیے ٹولز: ویب IDE, کنسول visualizer, بصری اسٹوڈیو کوڈ کے لیے پلگ ان, شوق, ویلز, Hiew کے لیے پلگ ان, بائنری ننجا کے لیے پلگ ان;
- کیٹائی سٹرک کو اسمبلی کے عمل میں ضم کرنے کے ماڈیولز Maven کے لئے, گریڈل کے لیے, ازگر کے لیے, JavaScript/WebPack کے لیے
- فارمیٹ لائبریری، جس کی اس ریلیز میں پہلے سے ہی 156 وضاحتیں ہیں (اور 78 مزید فارمیٹس پل کی درخواست کا جائزہ لینے کے عمل میں ہیں)۔
- پلگ ان کمپریشن الگورتھم کی لائبریری کیٹائی کمپریس
- ماڈیول برائے FUSE - Kaitai FS، جو آپ کو ایک فائل کو اس کے فارمیٹ کی ksy وضاحت کا استعمال کرتے ہوئے فائل سسٹم کے طور پر ماؤنٹ کرنے کی اجازت دیتا ہے۔
زبان GitHub کے ذریعہ پہچانا گیا۔ اور اب 400 سے زیادہ مفت/اوپن سورس پروجیکٹس میں ہر قسم کے غیر ملکی ڈیٹا فارمیٹس کو پارس کرنے کے لیے استعمال کیا جاتا ہے۔ ریورس انجینئرنگ کی ملکیتی گیم ڈیٹا فائلزکمنگ سیٹلائٹ کمیونیکیشن پروٹوکول کا تجزیہ.
زبان 0.9 کی اہم اختراعات میں سے یہ نمایاں کرنے کے قابل ہے:
- نئی ٹارگٹ لینگوئجز کے لیے سپورٹ (Python بذریعہ کنسٹرکٹ لائبریری، نم، HTML میں دستاویزات کی جنریشن)
- جدید C++ کے لیے مکمل تعاون (سمارٹ پوائنٹرز، میموری کو دستی طور پر منظم کرنے کی ضرورت نہیں، تمام معلوم میموری لیک کو ٹھیک کرتا ہے)
- foo::bar::baz جیسے نحو کے ذریعے نیسٹڈ اقسام کو ایڈریس کرنے کے لیے سپورٹ
- بیان کردہ شرائط کے مطابق پڑھنے کے اعداد و شمار کی توثیق کرنے کے لئے تعاون (درست)
- بائٹس اور بٹس میں جامد ڈیٹا ڈھانچے کے سائز کا حساب لگانا (آپریٹرز کا سائز اور بٹسائز)
- فارم میں زبان کی رسمی وضاحت JSON اسکیمے۔، جس سے اب دستاویزات تیار کی جاتی ہیں۔
ماخذ: linux.org.ru