Moonwalker is a Lua parser written in Odin. Use -help to see options.
Moonwalker is a work in progress. Things will be broken or missing.
.\moonwalker.exe -file:test\third_party\lua5.1-tests\all.lua -tree -full
File 0x1EBFA3909E8 test\third_party\lua5.1-tests\all.lua
`-Chunk 0x1EBFA3867F8 <1:1> <137:51>
|-Comment 0x1EBFA386878 <1:1> <1:9> "#!../lua" bit_set[Symbol_Flag]{HashComment}
|-Stat 0x1EBFA399988 <3:1> <3:19>
| `-Prefixexp 0x1EBFA399A08 <3:1> <3:19>
| |-Name 0x1EBFA399A88 <3:1> <3:5> math
| |-Punctuation 0x1EBFA3A6EA8 <3:5> <3:6> Dot
| |-Name 0x1EBFA3A6F28 <3:6> <3:16> randomseed
| `-Args 0x1EBFA3A2738 <3:16> <3:19>
| |-Punctuation 0x1EBFA3A27B8 <3:16> <3:17> ParenOpen
| |-Explist 0x1EBFA3A2838 <3:17> <3:18>
| | `-Exp 0x1EBFA3A28B8 <3:17> <3:18>
| | `-Number 0x1EBFA3A2938 <3:17> <3:18> 0
| `-Punctuation 0x1EBFA3A29B8 <3:18> <3:19> ParenClose
|-Stat 0x1EBFA3A2A38 <5:1> <5:34>
| `-Prefixexp 0x1EBFA3A39D8 <5:1> <5:34>
| |-Name 0x1EBFA3A45D8 <5:1> <5:15> collectgarbage
| `-Args 0x1EBFA3A3DD8 <5:15> <5:34>
| |-Punctuation 0x1EBFA3A3CD8 <5:15> <5:16> ParenOpen
| |-Explist 0x1EBFA3A46D8 <5:16> <5:33>
...etc
See license file.