/full-moon

A lossless Lua 5.1 parser

Primary LanguageRustMozilla Public License 2.0MPL-2.0

Full Moon

A lossless Lua 5.1 parser written in Rust.

Lossless?

Full Moon preserves comments, whitespace, style choices, etc. With Full Moon, you're able to convert your Lua code into an AST and a syntax tree and convert it back to the original code exactly.

Using Full Moon, you'll be able to modify the AST directly and re-export it back to Lua, all while preserving the style in which you write.

Why?

Full Moon is usable in projects such as:

Inspiration

Full Moon is heavily inspired by LPGhatguy's mab and by the possibilities brought on by benjamn's recast.