Module structure

Module structure 

Source
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