govm:使用Go的运行时的字节码VM

时间:2024-06-07 06:40:47
【文件属性】:

文件名称:govm:使用Go的运行时的字节码VM

文件大小:17KB

文件格式:ZIP

更新时间:2024-06-07 06:40:47

go golang bytecode bytecode-interpreter Go

govm govm是用Go编写的半静态类型的字节码VM。 它利用Go的垃圾回收器而不是实现自己的垃圾回收器,从而简化了实现并在链接到Go程序时减小了库的大小。 源代码布局 govm包含许多具有不同用途的不同软件包。 以下是源代码布局的摘要: bytecode/用于读取和写入字节码的包 codegen/用于生成GVB代码的软件包 doc/ VM内部文件 doc/bytecode.md GVB的文档,govm的字节码表示 doc/instructions.md VM指令集的文档 examples/用GVA编写的示例程序,govm类似于汇编的IR gvas/ govm汇编器。 从GVA转换为GVB gvi/ VM的CLI。 允许从命令行运行GVB文件 opcode/一个包,其中包含每个操作码字节的常量 stdlib/标准库 types/整个项目中许多地方使用的类型 ./vm.go核心VM


【文件预览】:
govm-master
----opcode()
--------opcodes.go(944B)
----codegen()
--------codegen.go(4KB)
--------helper.go(823B)
--------codegen_test.go(1KB)
----stdlib()
--------stdlib.go(951B)
----gvas()
--------gvas.go(6KB)
--------.gitignore(4B)
----gvi()
--------gvi.go(547B)
--------.gitignore(3B)
----doc()
--------instructions.md(3KB)
--------bytecode.md(1KB)
----bytecode()
--------reader.go(3KB)
--------writer.go(3KB)
----types()
--------errors.go(812B)
--------types.go(3KB)
----gen_run_test.go(1KB)
----examples()
--------hello.gva(176B)
--------.gitignore(5B)
--------fizzbuzz.gva(492B)
----README.md(1KB)
----govm_test.go(769B)
----vm.go(18KB)

网友评论