44 个版本
0.28.0 | 2024 年 1 月 25 日 |
---|---|
0.27.0 | 2023 年 11 月 2 日 |
0.26.1 | 2023 年 3 月 21 日 |
0.24.1 | 2022 年 9 月 12 日 |
0.17.0 | 2020 年 7 月 28 日 |
16 in #wasmer
1,774 个月下载量
用于 36 个 crate (14 直接)
290KB
7K SLoC
此 crate 包含 WebAssembly 接口类型 (简称 WIT) 的实现。它由 5 个部分组成:
- 类型 和 值:用于表示 WIT 类型及其值的表示。
- AST:用于将 WIT 语言表示为一棵树(这实际上并不是抽象的)。这是语言的中心表示。
- 解码器:用于从特定的数据表示中读取 AST;例如,
decoders::binary::parse
从二进制中读取 AST。 - 编码器:用于将 AST 写入特定的格式;例如,
encoders::wat
将 AST 写入表示 WIT 的文本格式的字符串。 - 解释器:WIT 定义了一个称为适配器的概念。适配器包含一系列 指令。因此,更详细地说,该模块包含以下内容:
- 一个非常轻量且通用的堆栈实现,仅公开解释器所需的操作,
- 一个基于堆栈的解释器,由以下定义:
- 一个将一系列指令转换成一系列可执行指令的编译器,
- 一个堆栈,
- 运行时包含“调用输入”(解释器的参数)、堆栈和WebAssembly实例(包含导出、导入、内存、表等),
- 一个假设的WebAssembly运行时,表示为一组枚举、类型和特质——基本上这是运行时需要查看的部分,以便使用
wasmer-interface-types
crate——。
依赖关系
~3.5–5MB
~97K SLoC