Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cedricschwyter/spacey
a tiny, wasm-ready virtual machine - stupidly fast
https://github.com/cedricschwyter/spacey
brainfuck brainfuck-interpreter esolang esoteric-language malbolge parser rust stackmachine virtual-machine wasm webassembly whitespace whitespace-interpreter whitespace-language
Last synced: 18 days ago
JSON representation
a tiny, wasm-ready virtual machine - stupidly fast
- Host: GitHub
- URL: https://github.com/cedricschwyter/spacey
- Owner: cedricschwyter
- License: gpl-3.0
- Created: 2022-06-15T21:47:56.000Z (over 2 years ago)
- Default Branch: develop
- Last Pushed: 2023-07-19T09:53:08.000Z (over 1 year ago)
- Last Synced: 2025-01-02T00:34:11.711Z (19 days ago)
- Topics: brainfuck, brainfuck-interpreter, esolang, esoteric-language, malbolge, parser, rust, stackmachine, virtual-machine, wasm, webassembly, whitespace, whitespace-interpreter, whitespace-language
- Language: Rust
- Homepage: https://docs.rs/spacey
- Size: 267 KB
- Stars: 38
- Watchers: 1
- Forks: 4
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# spacey
a tiny, performant, wasm-ready virtual machine in rust## supported and planned frontends:
- [x] whitespace
- [ ] malbolge
- [ ] brainfuck
- [ ] whatever other language we want to create a frontend for## crates.io and npmjs.org
the library crate is available both as a standard crate [spacey](https://crates.io/crates/spacey) as well as a bundled wasm package on npm under [node-spacey](https://www.npmjs.com/package/node-spacey).## building and running
make sure you have rust and the rust package manager `cargo` installed on your system. if not, the easiest way to do so is to install rust via [rustup.rs](https://rustup.rs).then, clone the repository and build natively as follows:
```bash
git clone https://github.com/D3PSI/spacey.git
cd spacey
cargo build --release
```to build for wasm, simply install [wasm-pack](https://rustwasm.github.io/wasm-pack/installer/) and execute:
```bash
wasm-pack build
```to run the provided executable run:
```bash
cargo run --release -q -- -h
```to show the help screen.
execute whitespace-files like:
```bash
cargo run --release -q -- -f ws/hello_world.ws -t whitespace
```