|n.||1.||a single computer instruction which symbolizes, and is converted at the time of program execution or by a compiler into, a series of instructions in the same computer language.|
|2.||A keystroke (or combination of keystrokes) which symbolizes and is replaced by a series of keystrokes; - a convenient feature of some advanced programs, such as word processors or database programs, which allows a user to rapidly execute any series of operations which may be performed multiple times. Such macros may typically be defined by the program user, without rewriting or recompiling the program.|
|a.||1.||very large in scale or scope or capability; |
|Noun||1.||macro - a single computer instruction that results in a series of instructions in machine language|
Synonyms: macro instruction
|Adj.||1.||macro - very large in scale or scope or capability; "`macro' in the word `macroscopic' is a combining form"|
|1.||MACRO - Assembly language for VAX/VMS.|
|2.||MACRO - PL/I-like language with extensions for string processing. "MACRO: A Programming Language", S.R. Greenwood, SIGPLAN Notices 14(9):80-91 (Sep 1979).|
|3.||macro - A name (possibly followed by a formal argument list) that is
equated to a text or symbolic expression to which it is to be
expanded (possibly with the substitution of actual arguments) by a macro expander.|
The term "macro" originated in early assemblers, which encouraged the use of macros as a structuring and information-hiding device. During the early 1970s, macro assemblers became ubiquitous, and sometimes quite as powerful and expensive as HLLs, only to fall from favour as improving compiler technology marginalised assembly language programming (see languages of choice). Nowadays the term is most often used in connection with the C preprocessor, Lisp, or one of several special-purpose languages built around a macro-expansion facility (such as TeX or Unix's troff suite).
Indeed, the meaning has drifted enough that the collective "macros" is now sometimes used for code in any special-purpose application control language (whether or not the language is actually translated by text expansion), and for macro-like entities such as the "keyboard macros" supported in some text editors (and PC TSRs or Macintosh INIT/CDEV keyboard enhancers).