Exposed compile AST function