2 个版本
0.1.1 | 2024 年 4 月 28 日 |
---|---|
0.1.0 | 2024 年 4 月 28 日 |
#29 在 #typing
每月 24 次下载
105KB
2.5K SLoC
Lua 引擎
这是一个 Lua 解析器和执行引擎的简单实现
如何使用它
use clap::Parser;
use lua_engine::evaluation::interpreter::Interpreter;
use lua_engine::evaluation::runtime::Runtime;
use lua_engine::evaluation::typing::{NumberType, Value};
#[derive(Parser, Debug)]
#[command(version, about, long_about = None)]
struct Args {
#[arg(short, long)]
path: String,
}
fn main() {
let args = Args::parse();
let mut interpreter = Interpreter::new();
let mut runtime = Runtime::new();
interpreter.prepare_runtime(&mut runtime);
runtime.add_global_variable("my_global", Value::Number(NumberType::Int(100)));
if let Some(result) = interpreter.evaluate_file(args.path, &mut runtime) {
println!("Received result: {:?}", result);
}
}
依赖项
~275–720KB
~17K SLoC