Read a compiled Lua 5.1 .luac file from a C# program by calling Parser.parser on the byte array.
Run dotnet run input.luac from the command line to parse a single bytecode file for quick inspection.
Embed the parser inside a larger reverse-engineering or game-modding tool that targets Lua 5.1 scripts.
Study the C# source to learn how the Lua 5.1 binary chunk format is laid out.
README is roughly 300 characters and omits the return type, so plan to read the C# source to understand what the parser exposes.
This project is a small piece of C# code that reads a Lua 5.1 bytecode file. Lua is a scripting language whose source code can be compiled into a binary .luac file, and this parser is built to read that binary form. The declared scope is the Lua 5.1 bytecode format specifically, which is an older release of the language. The README shows two ways to use it. From another C# program, you read the file's bytes with File.ReadAllBytes(path) and pass the resulting byte[] into a single call, Parser.parser(file). There is no return type or any other option mentioned in the README, so anyone who wants to know what the call produces or what fields of the bytecode it surfaces will have to read the source files directly. The project also ships a small command line front end. You run it with dotnet run input.luac, where the argument is the path to the bytecode file. If no argument is passed, the CLI falls back to a default path of input.luac. The README quotes the relevant line, args.Length > 0 ? args[0] : "input.luac", so anyone who wants a different default can edit it in place. The README is informal and very short, at around 300 characters total, written in lowercase. It does not describe what the parser does with the parsed data, whether it prints anything, whether it returns a structured object, or which sub-formats and edge cases it has been tested against. Anyone considering the project for real use should plan to read the C# source to confirm the actual behaviour, since the documentation as written covers only how to invoke the entry point.
Generated 2026-05-22 · Model: sonnet-4-6 · Verify against the repo before relying on details.