Skip to content
/ Swag Public

A toy WebAssembly(wasm) interpreter written in Swift

Notifications You must be signed in to change notification settings

Ji4n1ng/Swag

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Swag

A toy wasm interpreter written in Swift.

Wait... but why 🤔

Since the community has many wasm implementations, both inside and outside the browser, why write another one? Emmmmm... just want to learn wasm.

What I cannot create, I do not understand. - Richard Feynman

Under construction 👷‍♂️ 🚧

  • Binary
    • Types Swift structs translated from Wasm binary format
    • Docoder Wasm binary format decoder
  • Interpreter
    • Operand stack
    • Memory
    • Control stack
    • Global
    • Instructions
      • Parametric Instructions
      • Numeric Instructions
      • Memory Instructions
      • Variable Instructions
      • Control Instructions
    • Error handling
      • Parse
      • Interpreter
  • Validator
    • Module validator
    • Code validator
  • Tests
    • Instructions
    • Hello World
    • Fibonacci
    • Factorial
    • Memory
    • Calc

Reference project ❤️

Special thanks to zxh0/wasmgo-book

About

A toy WebAssembly(wasm) interpreter written in Swift

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published