Kaitai Struct is a formal language for binary format specification that can be compiled into parser code in Java, JavaScript, Python and Ruby.
kaitai struct is a declarative language used for describe various binary data structures, laid out in files or in memory: i.e. binary file formats, network stream packet formats, etc.
the main idea is that a particular format is described in kaitai struct language (.ksy file) and then can be compiled with ksc into source files in one of the supported programming languages. these modules will include a generated code for a parser that can read described data structure from a file / stream and give access to it in a nice, easytocomprehend api.
javascript php perl java python ruby reverse-engineering c-plus-plus c-sharp hex-editor compilers scala structure parser-generator binary-file kaitai struct