Abstract Syntax Tree
We consider the fundamental form of a program to be the abstract syntax tree (AST) -- not source code.
Lisp code is already in AST form, and Lisp is ideal for implementing program generation and transformation. It is easy to generate code in ordinary programming languages from Lisp.