#vm #incomplete #lua #prototype #reader #debugging

已删除 nad

不完整的 Lua 虚拟机

0.1.0 2021年3月19日

#46#incomplete

MIT 协议

67KB
2K SLoC

Nad

目前仅支持不完整的 Lua 虚拟机的字节码

用法

  • 输出函数原型
cargo run -- -dump -debug /path/to/bytecode
# or
cargo install nad
nad -debug -dump /path/to/bytecode
  • 执行字节码文件
cargo run -- -debug /path/to/bytecode
# or
cargo install nad
nad -debug /path/to/bytecode
  • 使用 nad
use nad::State;
use nad::Reader;

fn main() {
    let path = "/path/to/bytecode";
    
    // read prototype
    let prototype = Reader::from_file(path).prototype();
    
    // execute main function
    State::from_file(path).call(0, 0);
}

待办事项

  • 元表
  • 迭代器
  • 错误处理器
  • ...

依赖

~240KB