Skip to main content

Module bindings

Module bindings 

Source
Expand description

*.bindings.chipi configuration format.

The bindings frontend parses brace-based configuration files. These files select decoders and dispatches from .chipi specs. They bind them to per-language generation targets. The targets are Rust, C++, IDA, and Binary Ninja. The frontend then lowers the result into the internal GenTarget and LutTarget structures.

Re-exports§

pub use lower::LoweredBindings;
pub use lower::lower_resolved;
pub use parser::parse_file_with_includes as parse_bindings_file;
pub use resolve::ResolvedBindings;
pub use resolve::resolve;
pub use run::RunMode;
pub use run::run;
pub use types::*;

Modules§

lower
Lower a resolved bindings model into internal GenTarget and LutTarget structures. Those are what the codegen pipeline consumes.
parser
Lexer and recursive-descent parser for *.bindings.chipi files.
resolve
Bindings include resolution.
run
Execute lowered bindings.
types
AST and resolved-model types for *.bindings.chipi files.
validate
Semantic validation for resolved bindings.