4 个版本
0.3.0 | 2024 年 6 月 26 日 |
---|---|
0.1.2 | 2024 年 4 月 17 日 |
0.1.1 | 2024 年 4 月 16 日 |
0.1.0 | 2024 年 1 月 21 日 |
#1 in #hack
30KB
632 行
Hack 机器 VM 翻译器
描述
这是一个用 Rust 编写的 vm 翻译器,用于将支持的 vm 命令转换为相应的 Hack 汇编指令。
我已经确保翻译器记录每个处理的命令,以便更容易进行调试。
版本 2:阶段 2 翻译器
- 提供堆栈指针初始化要求
- 提供跳转语句要求
- 函数初始化和 goto 语句
- 条件跳转
- 使用递归进行测试
使用方法
git clone --depth=1 --no-checkout https://github.com/xpanvictor/hack/ && cd hack && git sparse-checkout set software/vm_translator && git checkout
cd software/vm_translator
cargo run <VM_FILE_PATH.vm>
位置
VM_FILE_PATH.vm
:指向要翻译文件的路径
注意
输出文件存储在 VM_FILE_PATH.asm
。
lib.rs
:
VM 翻译器
使用其他模块进行翻译的工作
依赖关系
~0.7–1.2MB
~25K SLoC