11个版本
0.2.2 | 2018年11月16日 |
---|---|
0.2.1 | 2018年11月15日 |
0.1.91 | 2018年11月14日 |
159 在 #register
每月 21 次下载
在 2 crates 中使用
50KB
1.5K SLoC
爵士虚拟机
爵士是一个基于寄存器的虚拟机
虚拟机仍在积极开发中,因此不建议用于您的目的
示例代码
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)
爵士深受 Gravity 语言虚拟机的影响
简单的爵士
用于轻松生成JazzVM代码的库,示例
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));
}
lib.rs
:
爵士虚拟机
爵士是一个基于寄存器的虚拟机
爵士仍在积极开发中,因此不建议用于您的目的
示例代码
LoadInt(0,12) // Load 12 into R(0)
LoadInt(1,3) // Load 13 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)
爵士深受 Gravity 语言虚拟机的影响
依赖项
~0.6–1MB
~14K SLoC