On Sat, Jul 13, 2024 at 9:35 AM Douglas McIlroy <douglas.mcilroy@dartmouth.edu> wrote:
> Well, doesn't it depend on whether VAX MACRO kept the macros as
> high-level entities when translating them, or if it processed macros in
> the familiar way into instructions that sat at the same level as
> hand-written ‘assembler’.  I don't think this thread has made that clear
> so far.

The VAX MACRO compiler treats macros the same way that the assembler treats them.  It expands them into individual assembler statements (i.e., instructions, labels, data definitions, etc.).  VAX MACRO then translates those into compiler intermediate language (originally GEM EIL [expanded intermediate language], nowadays probably LLVM IL).

Neither the VAX assembler nor the VAX MACRO compiler treats macros as high-level entities.  I know of no assembler that would do such a thing.

-Paul W.