Proceedings of ISP RAS

A declarative language FlexT for analysis and documenting of binary data formats

A.Y. Hmelnov(IDSTU SB RAS, Irkutsk, Russia)
I.V. Bychkov(IDSTU SB RAS, Irkutsk, Russia)
A.A. Mikhailov(IDSTU SB RAS, Irkutsk, Russia)


The language FlexT (Flexible Types) is intended for specification of binary data formats. The language is declarative and designed to be well understood for human readers. Its main elements are the data type declarations, which look very much like the usual type declarations of the imperative programming languages, but are more flexible. In the article we first give a review of the capabilities of the modern projects oriented to specification of binary file formats. Then we consider the main features of the FlexT language and, in particular, the features that help to describe the formats of encoding of machine instructions. Finally we briefly describe the software developed, which is based upon the FlexT interpreter and some new capabilities of information search, which makes possible the use of the specifications.


specifications of binary data formats, specification of encoding of machine instructions, declarative language, disassembler


Proceedings of the Institute for System Programming, vol. 28, issue 5, 2016, pp. 239-268.

ISSN 2220-6426 (Online), ISSN 2079-8156 (Print).

DOI: 10.15514/ISPRAS-2016-28(5)-15

Full text of the paper in pdf (in Russian) Back to the contents of the volume