https://github.com/imring/disluapp
Parser of compiled Lua scripts
https://github.com/imring/disluapp
luac luajit parser
Last synced: 14 days ago
JSON representation
Parser of compiled Lua scripts
- Host: GitHub
- URL: https://github.com/imring/disluapp
- Owner: imring
- License: mit
- Created: 2020-09-19T16:35:03.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-10-23T16:21:39.000Z (over 1 year ago)
- Last Synced: 2024-10-23T22:37:53.811Z (over 1 year ago)
- Topics: luac, luajit, parser
- Language: C++
- Homepage:
- Size: 206 KB
- Stars: 5
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# DisLua
[](https://isocpp.org/)
[](https://en.wikipedia.org/wiki/C%2B%2B#Standardization)
[](https://opensource.org/licenses/MIT)
[](https://github.com/imring/disluapp/releases/latest)
DisLua is a header-only library that allows you to parse and rewrite the bytecode of compiled Lua scripts. At the moment, the library supports the [LuaJIT](http://luajit.org/) compiler and a parser for [luac](https://www.lua.org/) v5.4 is being developed (branch [luac](https://github.com/imring/disluapp/tree/luac)).
## Projects using this library
- [Luad](https://github.com/imring/luad) - Disassembler for compiled Lua scripts.
## Documentation
You can build [Doxygen](https://www.doxygen.nl/index.html) documentation:
- Using CMake specifying the `DISLUA_DOCS` option:
```bash
$ cmake .. -DDISLUA_DOCS=ON -B build
$ cd build
$ cmake --build . --target doc
```
- Manually using the command `doxygen`.
## Testing
You can test the library using CTest specifying the `DISLUA_TESTS` option:
```bash
$ cmake .. -DDISLUA_TESTS=ON -B build
$ cd build
$ cmake --build .
$ ctest
```
## Use in projects
Install the library using CMake (`DISLUA_INSTALL` option is enabled by default):
```bash
$ cmake .. -B build
$ cd build
$ cmake --build . --target install
```
Add `dislua` to your CMake-project by using:
```cmake
find_package(dislua REQUIRED)
target_link_libraries(yourproject PRIVATE dislua)
```