文件名称:lua-in-rust:Lua编程语言,在Rust中实现
文件大小:47KB
文件格式:ZIP
更新时间:2024-03-01 14:08:53
rust lua compilers interpreters Rust
生锈 Lua编程语言,在Rust中实现。 总览 该代码主要分为三个模块: compiler处理解析lua代码并将其转换为字节码。 lexer将Lua源代码转换为令牌。 parser将这些标记转换为字节码。 exp_desc和token是类型定义。 vm是最大的模块。 它处理实际评估lua代码和Rust API。 vm本身拥有解释器的核心功能。 frame处理评估字节码。 lua_val定义VM中值的类型。 object处理垃圾回收。 table实现Lua表。 lua_std是在lua标准库中实现任何功能的位置。 其他模块: error定义了整个包装箱中使用的Error类型。 instr定义VM的指令集。 lib和main是库/解释器的基本入口点。 目标 这些目标按大致优先顺序排列为: 基本比较和平等 and / or带有适当短路的表达式 基本琴弦 if
【文件预览】:
lua-in-rust-master
----.gitignore(38B)
----src()
--------compiler()
--------vm()
--------main.rs(2KB)
--------error.rs(5KB)
--------lua_std()
--------vm.rs(23KB)
--------lua_std.rs(162B)
--------instr.rs(5KB)
--------compiler.rs(624B)
--------vm_aux.rs(2KB)
--------lib.rs(565B)
----LICENSE(1KB)
----notes()
--------undefined-behavior.md(1KB)
--------metamethods.md(3KB)
--------c-api.md(11KB)
----Cargo.toml(271B)
----README.md(2KB)
----tests()
--------test.rs(934B)
--------test08.lua(507B)
--------test06.lua(218B)
--------test10.lua(846B)
--------test02.lua(719B)
--------test11.lua(462B)
--------test01.lua(121B)
--------test05.lua(64B)
--------test07.lua(166B)
--------test04.lua(224B)
--------test03.lua(139B)
--------test09.lua(777B)