WebAssembly glossary
The name of all the tools that can be used to produce or run wasm code.
- Binaryen
- Compiler of bytecodes or textual representations in executable binary wasm code. Asm2wasm uses binaryen to compile Asm.js to wasm. s2wasm uses it to compile the LLVM bitcode to wasm. Wasm-as compiles a wasm binary s-expression. Binaryen also has a wasm code interpreter.
List of Binaryen tools.
- Emscriptem
- Tool designed by Mozilla to compile C++ and other languages into JavaScript; Asm.js or WebAssembly depending on the compilation directives.
- S-Expression (Symbolic Expression)
- Textual code format organized as a Lisp program. WebAssembly has two textual representations, one in s-expression, the other in so-called linear procedural.
Example of an s-expression:
(module
(func $addTwo (param i32 i32) (result i32)
get_local 0
get_local 1
i32.add)
(export "addTwo" (func $addTwo)))
- Wasm
- Abbreviation for WebAssembly. Written in lowercase the first letter capitalized.
- MVP (Minimal Viable Product)
- Minimum viable product for wasm to be usable by an application. You will often encounter this term in the documentation and it refers to the current implementation in browsers while waiting for a more complete product. MVP has possibilities equivalent to those of Asm.js.
- WABT (WebAssembly Binary Toolkit)
- Tool suite for wasm which includes: wast2wasm, wasmdump, wasm-interp, wastr-desugar, wasm-link.
Full list of WABT tools.
- Wast
- Abbreviation for "WebAssembly Text Format", wasm text format. It is not an acronym and is not written in capitals. The wast file contains an s-expression and has the .wast extension.
Many tools produce binary code from wast code: wast2wasm which can also display it in linear format, wasm-interp which interprets it, binaryen, the LLVM backend.
- WAVM ( WebAssembly Virtual Machine)
- This tool is the wasm virtual machine as included in browsers, but detached for independent use. You can also use Node if the wasm code is prepared to run with JavaScript as it is the case when it is generated by Emscriptem.