package wax-lib
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=41b580846af8d41bdf6c3f005f62e38feda3e60fe2e9e4aa440db34ce515a153
sha512=4b3a181fcc7d743194a8647260870fb5190770066a197bcc48104c2b77fd40c643228b795c2bcd6b29a120820e969eb42a37a9bcec98b3f608d13f152d9f6579
doc/wax-lib.wasm/Wax_wasm/Ast/index.html
Module Wax_wasm.AstSource
WebAssembly Abstract Syntax Tree.
An annotated tree node.
type location = Wax_utils.Ast.location = {loc_start : Lexing.position;loc_end : Lexing.position;
}A source code location.
no_loc d creates an annotated node with a dummy location.
The set of types produced by Make_types, abstracted over the index and array-wrapper representations. Naming it lets Map_types map the whole family from one instance to another.
module Make_types
(X : sig ... end) :
TYPES
with type idx = X.idx
and type 'a annotated_array = 'a X.annotated_array
and type 'a opt_annotated_array = 'a X.opt_annotated_arrayMap the heaptype/reftype/valtype/storagetype/fieldtype family from one Make_types instance to another. Only the idx-carrying arms differ between instances; everything else is copied through. ctx is threaded to M.idx so a mapper that resolves or renames indices can carry its context (a name map, a symbol table, …).
Extends Map_types_spine to the whole type family. The array wrappers differ per instance, so the caller supplies how to map each one; the functype/comptype/subtype/rectype structure is copied through.
type vec_un_op = | VecNeg of vec_shape| VecAbs of vec_shape| VecSqrt of [ `F32 | `F64 ]| VecNot| VecTruncSat of [ `F32 | `F64 ] * signage| VecConvert of [ `F32 | `F64 ] * signage| VecExtend of [ `Low | `High ] * [ `_8 | `_16 | `_32 ] * signage| VecPromote| VecDemote| VecCeil of [ `F32 | `F64 ]| VecFloor of [ `F32 | `F64 ]| VecTrunc of [ `F32 | `F64 ]| VecNearest of [ `F32 | `F64 ]| VecPopcnt| VecExtAddPairwise of signage * [ `I8 | `I16 ]| VecRelaxedTrunc of signage| VecRelaxedTruncZero of signage
type vec_bin_op = | VecAdd of vec_shape| VecSub of vec_shape| VecMul of vec_shape| VecDiv of [ `F32 | `F64 ]| VecMin of signage option * vec_shape| VecMax of signage option * vec_shape| VecPMin of [ `F32 | `F64 ]| VecPMax of [ `F32 | `F64 ]| VecAvgr of [ `I8 | `I16 ]| VecQ15MulrSat| VecAddSat of signage * [ `I8 | `I16 ]| VecSubSat of signage * [ `I8 | `I16 ]| VecDot| VecEq of vec_shape| VecNe of vec_shape| VecLt of signage option * vec_shape| VecGt of signage option * vec_shape| VecLe of signage option * vec_shape| VecGe of signage option * vec_shape| VecAnd| VecOr| VecXor| VecAndNot| VecNarrow of signage * [ `I8 | `I16 ]| VecSwizzle| VecExtMulLow of signage * [ `_8 | `_16 | `_32 ]| VecExtMulHigh of signage * [ `_8 | `_16 | `_32 ]| VecRelaxedSwizzle| VecRelaxedMin of vec_shape| VecRelaxedMax of vec_shape| VecRelaxedQ15Mulr| VecRelaxedDot
type atomicop = | AtomicNotify| AtomicWait of [ `I32 | `I64 ]| AtomicLoad of [ `I32 | `I64 ] * [ `I8 | `I16 | `I32 ] option| AtomicStore of [ `I32 | `I64 ] * [ `I8 | `I16 | `I32 ] option| AtomicRmw of atomic_rmwop * [ `I32 | `I64 ] * [ `I8 | `I16 | `I32 ] option
Functor to create instructions for a given implementation of indices and types.
Wasm Text format specific AST.
Wasm Binary format specific AST.