Files
JargonFile/original/html/M/macro.html
2014-03-27 18:54:56 +00:00

22 lines
3.2 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>macro</title><link rel="stylesheet" href="../../jargon.css" type="text/css"/><meta name="generator" content="DocBook XSL Stylesheets V1.61.0"/><link rel="home" href="../index.html" title="The Jargon File"/><link rel="up" href="../M.html" title="M"/><link rel="previous" href="Macintrash.html" title="Macintrash"/><link rel="next" href="macro-.html" title="macro-"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">macro</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Macintrash.html">Prev</a> </td><th width="60%" align="center">M</th><td width="20%" align="right"> <a accesskey="n" href="macro-.html">Next</a></td></tr></table><hr/></div><dt><a id="macro"/><dt xmlns="" id="macro"><b>macro</b>: <span xmlns="http://www.w3.org/1999/xhtml" class="pronunciation">/mak´roh/</span>, <span xmlns="http://www.w3.org/1999/xhtml" class="grammar">n.</span></dt></dt><dd><p> [techspeak] A name (possibly followed by a formal
<a href="../A/arg.html"><i class="glossterm">arg</i></a> 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. This definition can be found in any
technical dictionary; what those won't tell you is how the hackish
connotations of the term have changed over time.</p><p>The term <span class="firstterm">macro</span> 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
<a href="../H/HLL.html"><i class="glossterm">HLL</i></a>s, only to fall from favor as improving compiler
technology marginalized assembler programming (see
<a href="../L/languages-of-choice.html"><i class="glossterm">languages of choice</i></a>). 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 [nt]roff
suite).</p><p>Indeed, the meaning has drifted enough that the collective <span class="firstterm">macros</span> 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 <span class="firstterm">keyboard macros</span> supported in
some text editors (and PC TSR or Macintosh INIT/CDEV keyboard
enhancers).</p></dd><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Macintrash.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="../M.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="macro-.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Macintrash </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> macro-</td></tr></table></div></body></html>