An Abstract Syntax Tree compiler