macro
(1) A shortcut method for invoking a sequence of user interface functions. Macros let users turn widely used sequences of menu selections and keystrokes into one command or key combination. For example, pressing the F2 key might cause several menu options to be selected and several dialog box OK buttons to be clicked in a prescribed sequence. Macros can be created automatically by recording the keyboard and mouse actions (see macro recorder).
Macros are also used on home theater remote controls to switch sources. For example, when switching from cable TV to a DVD player, the macro causes the A/V receiver to switch audio source and the TV to switch video source (see IR remote control and RF remote control).
(2) A special-purpose command language within an application. See macro language.
(3) In assembly language, a prewritten subroutine that is called for throughout the program. At assembly time, the macro calls are substituted with the actual subroutine or instructions that branch to it. The high-level language equivalent is a function.
(4) Methods for determining wiring patterns on a chip (see hard macro and soft macro).
macro [
′mak·rō]
| 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). | |