52 releases (4 stable)

new 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

#126 in Parser implementations

Download history 1246/week @ 2024-07-28 948/week @ 2024-08-04 1328/week @ 2024-08-11 1137/week @ 2024-08-18 1109/week @ 2024-08-25 827/week @ 2024-09-01 1212/week @ 2024-09-08 1411/week @ 2024-09-15 2251/week @ 2024-09-22 1529/week @ 2024-09-29 1606/week @ 2024-10-06 2326/week @ 2024-10-13 2305/week @ 2024-10-20 1988/week @ 2024-10-27 1955/week @ 2024-11-03 1798/week @ 2024-11-10

8,308 downloads per month
Used in 17 crates (14 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