https://github.com/vengarioth/kwon-vm
hobby project, a virtual machine implemented in rust
https://github.com/vengarioth/kwon-vm
Last synced: 3 months ago
JSON representation
hobby project, a virtual machine implemented in rust
- Host: GitHub
- URL: https://github.com/vengarioth/kwon-vm
- Owner: Vengarioth
- Created: 2016-06-18T20:11:51.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2016-08-04T21:44:51.000Z (almost 10 years ago)
- Last Synced: 2025-12-01T23:52:43.472Z (8 months ago)
- Language: Rust
- Size: 31.3 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# kwon-vm
a virtual machine implemented in rust.
## Preface
This is a hobby project, don't expect much from it at this point. Further, this virtual machine is language-agnostic and will only concern itself with its own intermediate representation. To make a concrete programming language run on this virtual machine, a compiler from that language to its intermediate representation must be implemented.
The debugger will implement a binary protocol and expose itself on a TCP port if the virtual machine runs in debug mode.
# The VM
## The pipeline
`your language` > `your compiler` > `kwon IR` > `kwon compiler` > `kwon IR (optimized)` > `kwon-vm`
A brief list of ideas
* An optimizing compiler similar to LLVM for Kwon IR
* Infinite Register Machine / graph coloring for register allocation
* Three Address Code
* Trace JIT
* Typed IL
* Source mapping
* Debugging via sockets
## Stable features
* None
## Features in development
* Assembly file format
* Interpreter
## Planned features
* Symbols and source map file format
* Intermediate Representation of code (IR)
* JIT compiler (most likely a trace JIT)
* Connectable Debugger, debugging protocol