new abstract syntax tree to eventually replace Lua