Во-первых, я рекомендую всегда использовать версию разработки веб-среды разработки Kaitai Struct (https://ide.kaitai.io/devel/), а не стабильную. Стабильная IDE, развернутая в https://ide.kaitai.io/, имеет компилятор KS версии 0.8, которая действительно является самой последней версией stable , но на данный момент ей уже 2 года. Но проект находится в стадии активной разработки, новые исправления ошибок и улучшения появляются каждую неделю, поэтому стабильная Web IDE в значительной степени устарела. А благодаря недавнему усовершенствованию инфраструктуры 1012 * веб-среда разработки devel теперь перестраивается при каждом обновлении компилятора, поэтому вы можете использовать даже самые последние функции.
Однако вы не будете уметь имитировать конкретную ситуацию, которую вы описываете в Web IDE, потому что в настоящее время она не может обрабатывать типы параметров верхнего уровня i c типов (нет ловушки, в которой вы можете передавать свои собственные значения в качестве аргументов). Но это должно работать в локальной среде. Вы можете скомпилировать спецификации commontype.ksy
и pty.ksy
в Web IDE для целевого языка, который вы хотите использовать ( в руководстве показано, как это сделать ). Код, составляющий его, может выглядеть так (Java):
Commontype ct = new Commontype(new ByteBufferKaitaiStream(new byte[] { 80, 75 }));
Pty r = new Pty(
new ByteBufferKaitaiStream(new byte[] { 80 }), // IO stream
ct // commonword
);
Обратите внимание, что фактический порядок параметров в конструкторе Pty
может отличаться, например, в Python приходят пользовательские параметры ( commonword
) сначала, а затем объект IO. Проверьте сгенерированный код на вашем конкретном языке.