Macro (computer science)

related topics
{math, number, function}
{system, computer, user}
{language, word, form}
{game, team, player}
{company, market, business}
{theory, work, human}
{film, series, show}
{rate, high, increase}
{war, force, army}
{area, community, home}

A macro (from the Greek μάκρο for "big" or "far") in computer science is a rule or pattern that specifies how a certain input sequence (often a sequence of characters) should be mapped to an output sequence (also often a sequence of characters) according to a defined procedure. The mapping process that instantiates (transforms) a macro into a specific output sequence is known as macro expansion.

The term originated with macro-assemblers, where the idea is to make available to the programmer a sequence of computing instructions as a single program statement, making the programming task less tedious and less error-prone.[1][2] Macros often allow positional or keyword parameters that dictate what the conditional assembler program generates and have been used to create entire programs or program suites according to such variables as operating system, platform or other factors.

Contents

Keyboard and mouse macros

Keyboard macros and mouse macros allow short sequences of keystrokes and mouse actions to be transformed into other, usually more time-consuming, sequences of keystrokes and mouse actions. In this way, frequently-used or repetitive sequences of keystrokes and mouse movements can be automated. Separate programs for creating these macros are called macro recorders.

During the 1980s, macro programs – originally SmartKey, then SuperKey, KeyWorks, Prokey – were very popular, first as a means to automatically format screenplays, then for a variety of user input tasks. These programs were based on the TSR (Terminate and stay resident) mode of operation and applied to all keyboard input, no matter in which context it occurred. They have to some extent fallen into obsolescence following the advent of mouse-driven user interface and the availability of keyboard and mouse macros in applications such as word processors and spreadsheets, making it possible to create application-sensitive keyboard macros.

Keyboard macros have in more recent times come to life as a method of exploiting the economy of massively multiplayer online role-playing game (MMORPG)s, like in World of Warcraft. By tirelessly performing a boring, repetitive, but low risk action, a player running a macro can earn a large amount of the game's currency. This effect is even larger when a macro-using player operates multiple accounts simultaneously, or operates the accounts for a large amount of time each day. As this money is generated without human intervention, it can dramatically upset the economy of the game by causing runaway inflation. For this reason, use of macros is a violation of the TOS or EULA of most MMORPGs, and administrators of MMORPGs fight a continual war to identify and punish macro users.[3]

Full article ▸

related documents
Vi
Logo (programming language)
Convolutional code
Java Database Connectivity
Shell script
Pseudorandomness
Infinite loop
INTERCAL
List of computing topics
Character encoding
Prototype-based programming
Bresenham's line algorithm
RC4
NaN
Latin square
Source code
Generating trigonometric tables
UTF-16/UCS-2
Comparison of Java and C++
Theory of computation
Linear
Interpolation search
Automata theory
Golden ratio base
Borel algebra
Special linear group
Quasigroup
Graftal
Operator overloading
Column space