#vm #codegen #jazz #programming-language #virtual #machine #generation

simple_jazz

用于JazzVM简单代码生成的库

1 个不稳定版本

0.1.0 2018年11月14日

#178#virtual

MIT 许可证

56KB
1.5K SLoC

Jazz (未维护,请参阅 https://github.com/jazz-lang/

license

Jazz是一个基于寄存器的虚拟机和轻量级编程语言

Jazz深受Gravity语言的影响

目标

  • 清晰简洁的语法
  • Rust集成
  • 与其他语言(不仅仅是Rust)接口
  • 使虚拟机适合面向对象编程

非目标

  • 编写简单的Jazz编程语言学习手册
  • 即时编译
  • 生成字节码文件

示例代码

func factorial(num) {
    if num == 0 {
        return 1;
    } else {
        return num * factorial(num - 1);
    }
}

func main() {
    print(factorial(5));
    return 0;
}
class Vector2 {
    var x;
    var y;
    func init(a,b) {
        this.x = a;
        this.y = b;
        return this;
    }

    func toString() {
        return concat("(",this.x,";",this.y,")");
    }
}

func main() {
    var vector = Vector2(2,-2);
    print(vector.toString());
}

依赖

~0.6–1MB
~15K SLoC