WebAssembly Text Format (WAT)
Il formato testuale (.wat)
Anche se WebAssembly è binario, esiste una rappresentazione testuale leggibile dall’uomo chiamata WAT (WebAssembly Text Format). Usa S-expressions (simili a Lisp).
Esempio: Somma
```wat (module (func $add (param $lhs i32) (param $rhs i32) (result i32) local.get $lhs local.get $rhs i32.add) (export “add” (func $add)) ) ```
Spiegazione:
(module ...): Definisce il modulo.(func $add ...): Definisce una funzione chiamata$add.(param $lhs i32): Accetta un intero a 32 bit.local.get $lhs: Mette il valore di$lhssullo stack.i32.add: Consuma i due valori in cima allo stack, li somma e mette il risultato sullo stack.(export "add" ...): Rende la funzione visibile dall’esterno (da JS).
Strumenti
Puoi convertire .wat in .wasm usando wat2wasm dal toolkit WABT.