Here are tools for use with Lua. Some of these tools written in Lua.
Please don't mark an entry with an open-ended version (e.g. "5.x"), as it will likely be incorrect the moment a new Lua version is released.
- Source Analysis
- Source reformatters/translators
- [HW2 Pretty-Printer] (4.0) - a pretty-printer for Lua source-code. (May work with later editions of Lua. Currently works only on Windows)
- [LuaSrcDiet] (5.1-5.3) - reduces size of Lua files by removing whitespace and comments, optimizing constants, and renaming local variables.
- [Squish] (5.1) - a tool to pack individual scripts and their modules into a single script. Supports a range of filters.
- [Lua-amalg] Like Squish, but simpler (and pure Lua).
- [Ludent] (5.1) - A simple indenter / formatter written in Lua.
- [Luraph] (5.1, 5.2, 5.3, 5.4, Luau) - Advanced Lua code obfuscation and virtualization
- [Prometheus] (5.1) - Modern Lua code obfuscation.
- [XFuscator] - Lua code obfuscation.
- [StyLua] - An opinionated code formatter for Lua 5.1, 5.2, 5.3, 5.4 and Luau.
- Building and Packaging
- [L-Bia] (5.1) - turns your Lua program with all required modules (either Lua or C libraries) and an interpreter into a single stand-alone program file.
- [lua-distiller] - merge multiple lua files into one single lua file by analyzing dependency requires
- [lua bakefile] (5.0) - makefiles and project files for building the Lua project.
- [tolua bakefile] (5.0) - makefiles and project files for building the TOLUA project.
- LuaPatch (5.1) - Lua implementation of the patch utility for unified diffs
- [ldiff & lpatch] (5.1) - a very small diff and patch tool for binary files using a proprietary diff format.
- See also LuaBuildSystems.
- Code Documentation
- Debuggers
- Profilers
- Assembler / Disassembler / Bytecodes
- [LuaDec] (5.1/5.2/5.3) - decompiles VM bytecodes back to Lua source (forked from LuaDec51).
- [LuaDec51] (5.1) - decompiles VM bytecodes back to Lua source.
- [unluac] (5.1) - A Lua 5.1 decompiler.
- [ChunkSpy] (5.0/5.1/[5.2]/[5.3]) - a binary chunk disassembler, with interactive mode, reading custom binary chunk formats, etc. Disassembles 5.0.2 and 5.1 binary chunks.
- [Synalyze It! .luac grammar] (5.1) - generic "grammar" to be used as a Lua 5.1 disassembler.
- [ChunkBake] (5.0) - a line-oriented assembler for Lua 5.0.2 virtual machine instructions.
- [LuaDec] (5.0) - a Lua 5.0.2 decompiler.
- [LuaDC] (4.0) - a Lua decompiler. (download broken)
- [Batch Lua Decompiler] (4.0) - based on LuaDC above.
- [CFLuaDC] (4.0) - another Lua 4 decompiler.
- [LuaAssemblyTools] (5.1) - Provides utilities for virtually all aspects of Lua bytecode manipulation
- [lbci] (5.1) - A bytecode inspector library using Lua internals.
- Miscellaneous
- [mydp] - utility for processing mysqldump files in the manner of 'awk' (streaming pull parser with Lua callback functions).
- LuaHelp - a command line script that extracts sections of the Lua reference manual for easier reading
- InteractiveLua - a friendlier interactive interpreter
- LuaPrompt - an interactive interpreter that can be used both standalone and embedded and supports colored pretty-printing and auto-completion.
See also
RecentChanges · preferences
edit · history
Last edited December 25, 2023 1:52 pm GMT (diff)