ఇటీవలే, Kaitai Struct 0.9 యొక్క తదుపరి వెర్షన్ విడుదల చేయబడింది - వివిధ బైనరీ ఫార్మాట్లను (ఉదాహరణకు, నెట్వర్క్ ప్యాకెట్లు, ఇమేజ్/ఆడియో/వీడియో ఫైల్లు, డేటాబేస్లు, ఆర్కైవ్లు, కంటైనర్లు మొదలైనవి) అన్వయించడానికి వివరణ భాష మరియు సాధనాలు. పనికిమాలిన సంస్కరణ సంఖ్య 0.9 ఉన్నప్పటికీ, ఇది గత 2.5 సంవత్సరాలలో జరిగిన పరిణామాలను కలిగి ఉన్న ప్రధాన విడుదల. ఈ సమయంలో, భాష మొత్తం ప్రాజెక్టుల కుటుంబంగా పెరిగింది:
- ఒక ఫార్మాట్ నుండి వివిధ ప్రోగ్రామింగ్ భాషలలో (C++, C#, Construct, Go, Java, JavaScript, Lua, Nim, Perl, PHP, Python, Ruby) రెడీమేడ్ పార్సర్ సోర్స్ కోడ్ను పొందేందుకు మిమ్మల్ని అనుమతించే కంపైలర్ స్పెసిఫికేషన్ ఫైల్ (.ksy), అలాగే గ్రాఫ్విజ్ ఫార్మాట్లోని రేఖాచిత్రాలు మరియు HTMLలో హ్యూమన్-రీడబుల్ ఫార్మాట్ స్పెసిఫికేషన్లు;
- ఏకకాల దృశ్య నియంత్రణతో స్పెసిఫికేషన్ల అనుకూలమైన అభివృద్ధి కోసం సాధనాలు: వెబ్ IDE, కన్సోల్ విజువలైజర్, విజువల్ స్టూడియో కోడ్ కోసం ప్లగిన్, hobbits, వేల్స్, Hiew కోసం ప్లగ్ఇన్, బైనరీ నింజా కోసం ప్లగిన్;
- అసెంబ్లీ ప్రక్రియలో కైటై స్ట్రక్టును ఏకీకృతం చేయడానికి మాడ్యూల్స్ మావెన్ కోసం, గ్రాడిల్ కోసం, పైథాన్ కోసం, JavaScript/WebPack కోసం
- ఫార్మాట్ లైబ్రరీ, ఈ విడుదలలో ఇప్పటికే 156 వివరణలు ఉన్నాయి (మరియు మరో 78 ఫార్మాట్లు పుల్ అభ్యర్థన సమీక్ష ప్రక్రియలో ఉన్నాయి).
- ప్లగ్-ఇన్ కంప్రెషన్ అల్గారిథమ్ల లైబ్రరీ కైటై కంప్రెస్
- FUSE కోసం మాడ్యూల్ - Kaitai FS, ఇది ఫైల్ను దాని ఫార్మాట్ యొక్క ksy వివరణను ఉపయోగించి ఫైల్ సిస్టమ్గా మౌంట్ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది
భాష GitHub ద్వారా గుర్తించబడింది మరియు ఇప్పుడు అన్ని రకాల అన్యదేశ డేటా ఫార్మాట్లను అన్వయించడం కోసం 400 కంటే ఎక్కువ ఉచిత / ఓపెన్ సోర్స్ ప్రాజెక్ట్లలో ఉపయోగించబడుతుంది. రివర్స్ ఇంజనీరింగ్ యాజమాన్య గేమ్ డేటా ఫైల్స్కమ్మింగ్ ఉపగ్రహ కమ్యూనికేషన్ ప్రోటోకాల్ల విశ్లేషణ.
భాష 0.9 యొక్క ప్రధాన ఆవిష్కరణలలో ఇది హైలైట్ చేయడం విలువ:
- కొత్త లక్ష్య భాషలకు మద్దతు (కన్స్ట్రక్ట్ లైబ్రరీ ద్వారా పైథాన్, నిమ్, HTMLలో డాక్యుమెంటేషన్ ఉత్పత్తి)
- ఆధునిక C++ కోసం పూర్తి మద్దతు (స్మార్ట్ పాయింటర్లు, మెమరీని మాన్యువల్గా నిర్వహించాల్సిన అవసరం లేదు, తెలిసిన అన్ని మెమరీ లీక్లను పరిష్కరిస్తుంది)
- foo::bar::baz వంటి సింటాక్స్ ద్వారా సమూహ రకాలను పరిష్కరించడానికి మద్దతు
- వివరించిన షరతుల ప్రకారం చదివిన డేటాను ధృవీకరించడానికి మద్దతు (చెల్లుబాటు అవుతుంది)
- బైట్లు మరియు బిట్లలో స్టాటిక్ డేటా స్ట్రక్చర్ల పరిమాణాలను గణించడం (పరిమాణం మరియు బిట్సైజ్ ఆపరేటర్లు)
- రూపంలో భాష యొక్క అధికారిక వివరణ JSON స్కీమాలు, ఇప్పుడు దీని నుండి డాక్యుమెంటేషన్ రూపొందించబడింది
మూలం: linux.org.ru