Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nic-obert/rusty-vm
A virtual machine toolchain, including a bytecode assembler and a disassembler, and a native compiler.
https://github.com/nic-obert/rusty-vm
assembler assembly bytecode compiler disassembler disassembly rust virtual-machine vm
Last synced: 1 day ago
JSON representation
A virtual machine toolchain, including a bytecode assembler and a disassembler, and a native compiler.
- Host: GitHub
- URL: https://github.com/nic-obert/rusty-vm
- Owner: nic-obert
- License: mit
- Created: 2021-11-06T15:44:05.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2024-09-10T15:17:24.000Z (about 2 months ago)
- Last Synced: 2024-09-10T16:57:33.297Z (about 2 months ago)
- Topics: assembler, assembly, bytecode, compiler, disassembler, disassembly, rust, virtual-machine, vm
- Language: Rust
- Homepage:
- Size: 955 KB
- Stars: 4
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# **Rusty Virtual Machine**
- [**Rusty Virtual Machine**](#rusty-virtual-machine)
- [Project structure](#project-structure)
- [License](#license)A simple virtual machine and related tools, all written in Rust.
I created this project to learn more about virtual machines, compilers, assembly languages, and all things low level.
This is just an amateur project and should not be used in a production environment.
There are a few known vulnerabilities, plus it's not very efficient compared to production-grade virtual machines.## Project structure
- The [`vm`](vm) directory contains the code for the virtual machine.
- The [`assembler`](assembler) directory contains the code for the assembler.
- [`asm_lib`](asm_lib) contains shared assembly libraries to include in the assembly source code.
- The [`disassembler`](disassembler) directory contains the code for the disassembler. **(currently outdated)**
- The [`rust_vm_lib`](rust_vm_lib) directory contains the code for the shared library used across all Rust tools.
- The [`oxide`](oxide) directory contains an AOT compiler that compiles a custom language to the VM's bytecode.## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.