A Lua superset compiler and code analysis tool with compile-time meta-programming capabilities.
Metalua is a programming language toolchain that extends Lua 5.1 with compile-time meta-programming capabilities. It serves as both a code analysis tool and a compiler for a superset of Lua, allowing developers to manipulate and generate code during the compilation phase rather than at runtime.
Lua developers who need advanced code generation, domain-specific language creation, or compile-time code transformation capabilities while maintaining compatibility with the Lua ecosystem.
Metalua provides the only comprehensive compile-time meta-programming solution for Lua 5.1, offering powerful code manipulation capabilities while maintaining full compatibility with standard Lua, making it ideal for creating domain-specific languages and advanced code generation tools.
The metalua programming language
Enables advanced code generation and transformation during compilation, as highlighted in the key features for creating domain-specific languages and tools.
Fully compatible with standard Lua 5.1, allowing seamless integration with existing Lua codebases without modification.
Separated into `metalua-parser` and `metalua-compiler` LuaRocks, providing flexibility for independent code analysis or full compilation workflows.
Released under both MIT and EPL licenses, offering choice for permissive or copyleft project requirements, as noted in the README.
Does not support newer Lua versions like 5.2 or 5.4, which may restrict adoption in modern projects relying on updated Lua features.
Requires installing two separate LuaRocks (`metalua-parser` and `metalua-compiler`), complicating initial configuration compared to single-package tools.
Primarily focused on advanced meta-programming, resulting in fewer community resources, tutorials, and third-party integrations than mainstream Lua extensions.
A tool for linting and static analysis of Lua code.
An Optional Type System for Lua
Lua source code minifier.
A Lua 5.3 parser written with LPegLabel
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.