I think that this may be (at least as far as any of us know) a
unique case from the early days of computing where, on the TX-0 and
a port to the PDP-1, a macro body *is* stored as a list of 'machine
words' instead of source text. The macro body is not manipulated
as a 'higher-level construct', it is just used for quite limited
macro expansion.
Thanks for clearing this up. I think you're right that this is a unique case. All assemblers I've ever dealt with expanded macros into text that was then fed to the assember's parser just as if it were ordinary source program text. On a machine with limited memory it makes sense not to have to re-parse the expanded source after macro expansion, but instead to do the translation on the fly. It saves a second pass over the expanded macro call.
-Paul W.