WebAssembly is an open source bytecode format created in 2015 by Alon Zakai.
#44on PLDB | 9Years Old | 2kRepos |
git clone https://github.com/WebAssembly/wabt
WebAssembly (Wasm, WA) is a web standard that defines a binary format and a corresponding assembly-like text format for executable code in Web pages. It is meant to enable executing code nearly as fast as running native machine code. It was envisioned to complement JavaScript to speed up performance-critical parts of web applications and later on to enable web development in languages other than JavaScript. Read more on Wikipedia...
20 00
50
04 7E
42 01
05
20 00
20 00
42 01
7D
10 00
7E
0B
(module
(import "wasi_unstable" "fd_write"
(func $fd_write (param i32 i32 i32 i32) (result i32))
)
(memory 1)
(export "memory" (memory 0))
(data (i32.const 0) "\08\00\00\00\0c\00\00\00Hello World\n")
(func $main (export "_start")
i32.const 1
i32.const 0
i32.const 1
i32.const 20
call $fd_write
drop
)
)
(module
(import "env" "printInt" (func $printInt (param i32)))
(func $add (param $lhs i32) (param $rhs i32) (result i32)
get_local $lhs
get_local $rhs
i32.add
)
(func $main
(call $printInt
(call $add (i32.const 9) (i32.const 8))))
(export "main" (func $main))
)
(module
(import "math" "exp" (func $exp (param f64) (result f64)))
(func (export "doubleExp") (param $0 f64) (result f64)
(f64.mul
(call $exp
(get_local $0))
(f64.const 2))))
Feature | Supported | Example | Token |
---|---|---|---|
Comments | ✓ | ||
MultiLine Comments | ✓ | ||
Line Comments | ✓ | ||
Integers | ✓ | ||
Floats | ✓ | ||
Hexadecimals | ✓ |