lovm2
is a library for building your own programming language in the blink of an eye. It offers you easy to use constructs to generate bytecode for its virtual machine.
Interrupt
sAdd this line to your Cargo.toml
:
toml
lovm2 = "0.4.8"
``` rust use lovm2::prelude::*;
let mut module = ModuleBuilder::new();
// a module needs a code object called main
// if you want to make it runnable
let main_hir = module.entry();
// set the local variable n to 10 mainhir.step(Assign::local(&lv2var!(n), 10));
// print
is a builtin function. the lv2_var!
macro
// ensures that the given identifier is not confused
// with a string.
mainhir.step(Call::new("print").arg(lv2var!(n)).arg("Hello World"));
// ... this is equivalent to the developer-friendly version:
mainhir.step(lv2call!(print, n, "Hello World"));
// creates a Module
from the ModuleBuilder
let module = module.build().unwrap();
println!("{}", module);
// load the module and run it let mut vm = createvmwithstd(); vm.addmain_module(module).expect("load error"); vm.run().expect("run error"); ```
This Thing Fast - Sonic
And I thought I was simple... - Pythagorean Theorem