52 releases (4 stable)

1.1.2 Nov 17, 2024
1.1.0 Oct 13, 2024
1.0.0-rc.5 Jul 6, 2024
0.19.0 Nov 10, 2023
0.3.1 Jun 2, 2019

#86 in Parser implementations

Download history 1136/week @ 2024-08-24 861/week @ 2024-08-31 1113/week @ 2024-09-07 1406/week @ 2024-09-14 2216/week @ 2024-09-21 1510/week @ 2024-09-28 1633/week @ 2024-10-05 2266/week @ 2024-10-12 2179/week @ 2024-10-19 2152/week @ 2024-10-26 1995/week @ 2024-11-02 1586/week @ 2024-11-09 3918/week @ 2024-11-16 3331/week @ 2024-11-23 2698/week @ 2024-11-30 2795/week @ 2024-12-07

12,931 downloads per month
Used in 20 crates (16 directly)

MPL-2.0 license

425KB
10K SLoC

Full Moon

A lossless Lua 5.1 / 5.2 / 5.3 / 5.4 / Luau 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.

Dependencies

~1.4–2.1MB
~42K SLoC