Luir is a Lua programming language interpreter written in Rust. It leverages Rust's performance and safety features to provide a robust and efficient interpreter for Lua scripts.
- π¦ Rust-Powered: Utilizes Rust for high performance and safety.
- π Lua Compatibility: Fully compatible with Lua syntax and semantics.
- π Simple Integration: Easy to integrate into existing Rust/C projects.
- Clone the repository:
git clone https://github.com/luki446/luir
- Build the project:
cargo build --release
- Run the interpreter on example Lua scripts:
cargo run --release -- ./example.lua
- Install the interpreter locally as drop-in replacement for
lua
:
cargo install --path .
Release v1.0.0 will mark the first stable complete-ish release of Luir. The following features are planned to be implemented before the release:
- Basic Lua expression parsing and lexing.
- Basic Lua statement parsing and lexing.
- Calling native (Rust implemented) functions from Lua.
- If statement.
- Local variable scoping.
- While loop
- For loop.
- Repeat-until loop.
- Tables and pseudo-OOP.
- Function definitions.
- Closures support.
- More standard Lua library functions.
- REPL mode.
- Error handling and reporting.
This project is licensed under the BSD 3-Clause License