8 releases (breaking)
| 0.100.2 | Apr 21, 2024 |
|---|---|
| 0.100.1 | Feb 11, 2023 |
| 0.99.0 | Feb 1, 2023 |
| 0.91.0 | Sep 21, 2022 |
| 0.82.0 | Jan 22, 2022 |
#232 in Parser implementations
390,822 downloads per month
Used in 270 crates
(4 directly)
660KB
14K
SLoC
This is a fork of the
wasmparsercrate by the Bytecode Alliance with the sole purpose to addno_stdsupport with a focus on embedded environments.This crate will be deprecated as soon as the original
wasmparsercrate itself supportsno_std.Note: As of version
0.99.0and above theUrltype from theurlcrate was replaced with a simpleStringin order to port the entire crate tono_std. This is because the complexurlcrate itself does not supportno_stdcompilation.
The WebAssembly binary file decoder in Rust
A Bytecode Alliance project
The decoder library provides lightweight and fast decoding/parsing of WebAssembly binary files.
The other goal is minimal memory footprint. For this reason, there is no AST or IR of WebAssembly data.
See also its sibling at https://github.com/wasdk/wasmparser
Documentation
The documentation and examples can be found at the https://docs.rs/wasmparser/
Fuzzing
To fuzz test wasmparser.rs, switch to a nightly Rust compiler and install cargo-fuzz:
cargo install cargo-fuzz
Then, from the root of the repository, run:
cargo fuzz run parse
If you want to use files as seeds for the fuzzer, add them to fuzz/corpus/parse/ and restart cargo-fuzz.