1 unstable release

0.0.1 Mar 7, 2023

#59 in #wasm-binary

MPL-2.0 license

6KB
57 lines

cargo-wabt

WebAssembly Binary Toolkit as cargo command line interface.

You can use cargo to install:

$ cargo install cargo-wabt

With cargo-binstall:

$ cargo binstall cargo-wabt

wat2wasm

Command: cargo wabt wat2wasm

https://webassembly.github.io/wabt/doc/wasm2wat.1.html

The options are as follows:

-v, --verbose
    Use multiple times for more info
--help
    Print a help message
-o, --output=FILENAME
    Output file for the generated wast file, by default use stdout
-f, --fold-exprs
    Write folded expressions where possible
--enable-exceptions
    Experimental exception handling
--disable-mutable-globals
    Import/export mutable globals
--enable-saturating-float-to-int
    Saturating float-to-int operators
--enable-sign-extension
    Sign-extension operators
--disable-simd
    SIMD support
--enable-threads
    Threading support
--inline-exports
    Write all exports inline
--inline-imports
    Write all imports inline
--no-debug-names
    Ignore debug names in the binary file
--generate-names
    Give auto-generated names to non-named functions, types, etc.
--no-check
    Don't check for invalid modules

Example:

# parse test.wat and write to binary file test.wasm
cargo wabt wat2wasm test.wat -o test.wasm

wasm2wat

wasm-objdump

wasm-interpinterpreter

wasm-decompile

wat-desugars-expressions

wasm2c

wasm-strip

wasm-validate

wast2jsonassociated wasm binary files

wasm-opcodecnt

spectest-interp

Dependencies

~18MB
~305K SLoC