Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update information of wabt #118

Closed
wants to merge 3 commits into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 30 additions & 12 deletions docs/getting-started/advanced-tools/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -58,29 +58,47 @@ <h1 id="advanced-tools">Advanced Tools</h1>
<li><a href="https://github.com/WebAssembly/binaryen">Binaryen</a> - Compiler and toolchain infrastructure</li>
</ul>

<h2 id="wabt-the-webassembly-binary-toolkit">WABT: The WebAssembly Binary Toolkit</h2>
<h2 id="wabt">WABT: The WebAssembly Binary Toolkit</h2>

<p>This toolkit supports conversion between the binary WebAssembly format into and out of a human readable text format. The text format is a type of <a href="https://en.wikipedia.org/wiki/S-expression">S-expression</a> that makes it convenient to work with the output of a WebAssembly compiler for analysis or debugging purposes, etc.</p>
<p>WABT (we pronounce it "wabbit") is a suite of tools for WebAssembly,
including:</P>

<p>Note, that the S-expression format supported by WABT is not WebAssembly itself. It’s one of many possible text formats that could represent the content of a WebAssembly file, so it’s been developed as a convenient format for the purposes of decode and encode by WABT tools. Developers could easily build decoder/encoder implementations for any other textual format capable of expressing the WebAssembly stack machine semantics.</p>
<h3 id="wasm2wat">wasm2wat</h3>

<h3 id="wasm2wast-tool">wasm2wast tool</h3>
<p>This is a command line tool that takes a binary file as input and generates
an output file containing the readable text.</p>

<p>This tool converts WebAssembly binary into S-expressions. It is a command line tool that takes a binary file as input and generates an output file containing the readable text.</p>
<p>Developers could edit or manipulate the text file in some other way and
convert it back into the binary format for things like trying out optimization
algorithms, tracing, inserting debugging hooks, etc.</p>

<p>Developers could edit or manipulate the text file in some other way and convert it back into the binary format for things like trying out optimization algorithms, tracing, inserting debugging hooks, etc.</p>
<h3 id="wat2wasm">wat2wasm</h3>

<h3 id="wast2wasm-tool">wast2wasm tool</h3>
<p>This is a command line tool that performs the inverse of
<strong>wasm2wast</strong>, i.e. it converts files from the WebAssembly test
format into WebAssembly binaries.</p>

<p>This command line tool performs the inverse of <strong>wasm2wast</strong>, i.e. it converts the S-expression WAST file into a binary WebAssembly file.</p>
<p>Using <strong>wasm2wat</strong> and <strong>wat2wasm</strong> together
allows lossless round tripping of WebAssembly binaries, and provides developers
with a convenient way to manipulate the content of WebAssembly binaries using
external tools.</p>

<p>Using <strong>wasm2wast</strong> and <strong>wast2wasm</strong> together allows lossless round tripping of WebAssembly binaries, and provides developers with a convenient way to manipulate the content of WebAssembly binaries using external tools.</p>
<h3 id="wasm-objdump">wasm-objdump</h3>

<h4 id="wasm-interp-tool">wasm-interp tool</h4>
<p>This is a command line tool for inspecting WebAssembly binary files. It works
in a similar fashion to that tradition UNIX objdump and can, amongst other
things, be used to disassemble to code in a WebAssembly binary.</p>

<p>This is an interpreter that lets developers run a WebAssembly binary from the command line stand-alone. It implements a stack-machine based interpreter that interprets the WebAssembly binary directly. This differs from how a browser would JIT the WebAssembly binary into native code for its target architecture at load time.</p>
<h3 id="wasm-interp">wasm-interp</h3>

<p>The interpreter can be useful for running unit tests, validating WebAssembly binary files, etc. outside of a browser environment.</p>
<p>This is an interpreter that lets developers run a WebAssembly binary from the
command line stand-alone. It implements a stack-machine based interpreter that
interprets the WebAssembly binary directly. This differs from how a browser
would JIT the WebAssembly binary into native code for its target architecture at
load time.</p>

<p>The interpreter can be useful for running unit tests, validating WebAssembly
binary files, etc. outside of a browser environment.</p>

<h2 id="binaryen">Binaryen</h2>

Expand Down