Expand description
§Abstract Syntax
The Wasm specification defines an abstract syntax that is produced through the processes of decoding and parsing1. Afterwards, this abstract syntax is validated according to 2.
However, this interpreter combines the decoding and validation phases into one function
decode_and_validate. Therefore, we are not bound to produce the
same, potentially invalid, intermediate abstract syntax that is defined in 1, but
rather a more specific version of it that is always valid.
This module defines such a valid abstract syntax. Note that in most places our valid abstract syntax uses the same definitions from the official abstract syntax, with validation invariants documented through Rust’s safety mechanisms (to be relied on later during execution).
Modules§
- import_
subtyping - instructions
- All instructions, in alphanumerical order by their numeric (hex-)value
- modules
- types
- Valid Type Definitions