Semantic analysis recognizes and resolves the macro invocation.It replaces the AST of the macro invocation with the AST returned by the macro.If the AST returned by the macro contains other macro invocations, this process iterates.