jazz 0.2.2

Jazz Virtual Machine
Documentation
# 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));
}


```