Skip to content

Commit 9fa7c78

Browse files
update readme
1 parent 4c38226 commit 9fa7c78

1 file changed

Lines changed: 24 additions & 5 deletions

File tree

README.md

Lines changed: 24 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,29 @@
11
# WAGMI (WebAssembly General & Minimal Interpreter)
2-
WAGMI is a minimalistic in-place WebAssembly interpreter written in Rust (WIP).
32

4-
Original idea: https://www.cs.tufts.edu/comp/150FP/archive/ben-titzer/wasm-interp.pdf
3+
WAGMI is a minimalistic in-place WebAssembly interpreter written in Rust, with full support for the [WebAssembly 1.0 core standard](https://www.w3.org/TR/wasm-core-1/).
54

6-
The spec test suite in this repo is from https://github.com/WebAssembly/spec/releases/tag/list
5+
Based on the [original paper by Ben L. Titzer](https://www.cs.tufts.edu/comp/150FP/archive/ben-titzer/wasm-interp.pdf).
76

8-
The associated `wast2json` and `wat2wasm` binaries are of version `1.0.13 (1.0.14)`, you can find the Windows version here: https://github.com/WebAssembly/wabt/releases/tag/1.0.15
7+
## Project Structure
98

10-
Newer tests/wast converter may not work since this project specifically targets the 1.0 core WebAssembly standard. There will not be active development beyond full 1.0 support.
9+
- `/src` - Core interpreter implementation
10+
- `module.rs` - WebAssembly module parsing and structure
11+
- `validator.rs` - Module validation logic
12+
- `instance.rs` - Runtime instance and execution engine
13+
- `wasm_memory.rs` - Linear memory management
14+
- `signature.rs` - Function signature handling
15+
- `leb128.rs` - LEB128 encoding/decoding utilities
16+
- `byte_iter.rs` - Byte stream iteration helpers
17+
- `error.rs` - Error types and handling
18+
- `lib.rs` - Library entry point
19+
- `/bin` - Example usage demonstrations
20+
- `/tests` - Tests
21+
- `/spec_tests.rs` - Test runner
22+
- `/core` - WebAssembly spec test suite
23+
- `/docs` - More detailed documentation
24+
25+
## Testing
26+
27+
The spec test suite is from the [WebAssembly specification repository](https://github.com/WebAssembly/spec/releases/tag/list). The `wast2json` and `wat2wasm` binaries used are version 1.0.13 (1.0.14) [Windows version available here](https://github.com/WebAssembly/wabt/releases/tag/1.0.15).
28+
29+
**Note:** This project specifically targets the WebAssembly 1.0 core standard. Newer test converters may not be compatible. There is no plan for development beyond 1.0 support.

0 commit comments

Comments
 (0)