Expands macros in ast as specified by macros.
Each macro in macros should provide the substitution AST (i.e., the AST with the #1, etc.
in it). This function assumes that the appropriate arguments have already been attached
to each macro specified. If the macro doesn't have it's arguments attached, its
contents will be wholesale replaced with its substitution AST.
Expands macros in
ast
as specified bymacros
. Each macro inmacros
should provide the substitution AST (i.e., the AST with the #1, etc. in it). This function assumes that the appropriate arguments have already been attached to each macro specified. If the macro doesn't have it's arguments attached, its contents will be wholesale replaced with its substitution AST.