6 releases (3 stable)
1.1.0 | Jul 10, 2023 |
---|---|
1.0.1 | Jan 10, 2023 |
1.0.0 | Dec 5, 2022 |
0.1.2 | Sep 22, 2022 |
#2004 in Encoding
683 downloads per month
160KB
3.5K
SLoC
Lunify
A crate for converting Lua byte code to different versions and formats.
Currently Lua 5.0 and Lua 5.1 are supported inputs.
Example
use lunify::{Format, LunifyError, Endianness, BitWidth, unify};
// Lua byte code in any suppored format
let input_bytes = include_bytes!("../test_files/lua50.luab");
// Desired output format. May specify pointer width, endianness, sizes of datatypes, ...
let output_format = Format {
endianness: Endianness::Little,
// Convert from byte code that runs on a 32 bit machine to byte code that runs on a 64 bit machine
size_t_width: BitWidth::Bit64,
..Format::default()
};
// Convert input bytes to the desired format
let output_bytes = unify(input_bytes, &output_format, &Default::default());
Dependencies
~0–1.3MB
~18K SLoC