Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Fetching latest commit…
Cannot retrieve the latest commit at this time.
|Failed to load latest commit information.|
Lua parser written in Lua. Parses to an abstract syntax tree representation. Call tostring() on the AST to get equivalent Lua code. AST also contains some functions like flatten() for use with optimizing / auto-inlining Lua. See the tests folder for example usage. while I was at it, I added a require() replacement for parsing Lua scripts and registering callbacks, so any other script can say "require 'parser.require'.callbacks:insert(function(tree) ... modify the parse tree ... end)" and viola, Lua preprocessor in Lua! minify_tests.txt taken from the tests at https://github.com/stravant/LuaMinify Known bugs: - "foo"() works, while in Lua it should fail - still doesn't parse hex floating point precision numbers introduced in lua 5.2 I tested this by parsing itself, then using the parsed & reconstructed version to parse itself, then using the parsed & reconstructed version to parse the parsed & reconstructed version, then using the 2x parsed & reconstructed version to parse itself