Skip to content
/ luir Public

Lua programming language interpreter written in Rust

License

Notifications You must be signed in to change notification settings

luki446/luir

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌙 Luir

📚 About

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.

✨ Features

  • 🦀 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.

🛠️ Getting Started

  1. Clone the repository:
git clone https://github.com/luki446/luir
  1. Build the project:
cargo build --release
  1. Run the interpreter on example Lua scripts:
cargo run --release -- ./examples/fib.lua
  1. Install the interpreter locally as drop-in replacement for lua:
cargo install --path .

📅 Roadmap to v1.0.0

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.
  • Function definitions.
  • Comments.
  • Repeat-until loop.
  • Tables and pseudo-OOP.
  • Closures support.
  • More standard Lua library functions.
  • REPL mode.
  • Error handling and reporting.

📝 License

This project is licensed under the BSD 3-Clause License

About

Lua programming language interpreter written in Rust

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages