# Jazz Virtual Machine [![license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/playXE/Jazz/blob/master/LICENSE) [![Docs Status](https://docs.rs/jazz/badge.svg)](https://docs.rs/jazz) Jazz is a register-based virtual machine VM is still in active develop so it's not recommended to use Jazz for your purposes # Example code: ```rust LoadInt(0,12) // Load 12 into R(0) LoadInt(1,3) // Load 3 into R(1) Add(2,1,0) // Add value from R(1) to R(0) and store result in R(2) Ret(2) // Return value from R(2) ``` Jazz is heavily inspired by [Gravity](https://marcobambini.github.io/gravity/#/) language VM # Simple Jazz Library used for easy generating JazzVM code,example: ```rust fn add_op(node: Node,b: &mut FunctionBuilder) { visit(node.left,b); visit(node.right,b); let r3 = b.register_pop(); let r2 = b.register_pop(); let r1 = b.register_push_temp(); b.insert_op(Instruction::Add(r1,r2,r3)); } ```