A WASM interpreter with dual modes - one as a browser-based VM and one as a simulator for WASM. It uses a structured parsing and execution pipeline in C++ & emscripten, to load binary modules, validate and decode instructions, and simulate a full virtual machine directly in the browser.
- Make
- C++20
- Emscripten compiler (emcc)
For engine: make engine && ./engine.exe
For parser: make parser && ./parser.exe "<path_to_wasm_file>"
- Supporting tables, reference types
- Adding support for exception handling instructions
- Supporting SIMD vector instructions
- Complete the simulator, which will allow users to step through the code as well as view WASM's various stacks and linear memory.