yeslogic / fathom

🚧 (Alpha stage software) A declarative data definition language for formally specifying binary data formats. 🚧

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Fathom

Actions Status Matrix License

A language for specifying data-dependent binary formats.

Example

def pixel = {
    red <- u8,
    green <- u8,
    blue <- u8,
};

def main = {
    width <- u16le,
    height <- u16le,
    pixels <- repeat_len16 (width * height) pixel,
};

More examples can be found in the formats directory.

Code of Conduct

Please note that this project is released with a Code of Conduct. By participating in this project you agree to abide by its terms.

License

Fathom is licensed under the terms of the Apache License (Version 2.0).

See LICENSE or http://www.apache.org/licenses/LICENSE-2.0 for details.

About

🚧 (Alpha stage software) A declarative data definition language for formally specifying binary data formats. 🚧

License:Apache License 2.0


Languages

Language:Rust 79.8%Language:HTML 14.3%Language:Mercury 3.1%Language:Lean 1.2%Language:Prolog 1.1%Language:Nix 0.3%Language:JavaScript 0.1%Language:Shell 0.1%Language:CSS 0.0%