Generates source code from the AST. The inverse of parsing (which generates an AST from the source code)