What is Strontium?
Strontium is an embeddable process virtual machine for dynamically and statically typed programming languages. This crate provides the VM along with a bytecode format and parser. Strontium aims to be lightweight and to provide as much freedom to the language implementor as possible.
Features
A checked box indicates an implemented feature.
- [ ✓ ] Number arithmetic on
Int
,UInt
andFloat
registers - [ ✓ ] Bitwise arithmetic (
AND
,OR
,XOR
,NOT
,LSH
, ...) on a sequence of bits - [ ] JIT-compile bytecode to machine code using Cranelift
- [ ] Hardware Interrupts
Status
This project is still in an early stage of development. The current features work as expected, but there may be breaking changes in the future. Let's talk if you're interested on working on this project!
Tests
The following tests have been implemented:
bytecode::tests::convert_halt
bytecode::tests::convert_load
machine::tests::execute_add
machine::tests::execute_sub
machine::tests::execute_mul
machine::tests::execute_div
machine::tests::execute_halt
machine::tests::execute_load
machine::tests::execute_jump
License
Licensed under the MIT license.