bltc


The Bit Level Types Compiler

Bit Level Types is a language for specifying binary formats through a collection of types -- commonly, a Data Description Language. BLT specifications can describe both files (e.g., JPEG, ELF, MIDI) and network packets (e.g., IP, TCP, X). By writing a BLT specification for a format, we create a formal definition of what a valid instance of the format is. The enclosed compiler generates parsers and encoders to mediate between the raw binary format and its canonical embedding in a user's programming language of choice, thereby eliminating the error-prone process of writing such code by hand.

Project Information

Labels:
DataDescriptionLanguage BLT CMU SML C LowLevelFormats BinaryFormats