|
A macro in computer science is an abstraction, that defines how a certain input pattern is replaced by an output pattern according to a defined set of rules. Computer science, or computing science, is the study of the theoretical foundations of information and computation and their implementation and application in computer systems. ...
In computer science, abstraction is a mechanism and practice to reduce and factor out details so that one can focus on a few concepts at a time. ...
A pattern is a form, template, or model (or, more abstractly, a set of rules) which can be used to make or to generate things or parts of a thing, especially if the things that are generated have enough in common for the underlying pattern to be inferred or discerned...
The term originated with macro-assemblers, where the idea was to write a single statement that appeared like an instruction in the assembly language (a macro-instruction). When the program was assembled, the macro-instruction was expanded into a sequence of real instructions that would then be assembled. In this way the complexity of the sequence of real instructions would be hidden, and the abstraction of the macro simplified coding and understanding code. Complex macro-assemblers offered sophisticated ways to add parameters to macros, so that the macro would expand in different ways according to the values of the parameters. An assembly language is a low-level language used in the writing of computer programs. ...
Keyboard and mouse macros
Keyboard macros and mouse macros allow short sequences of keystrokes and mouse actions to be transformed into another, 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. Repetition is the occurrence of an event which has occurred before. ...
In mathematics, a sequence is a list of objects (or events) arranged in a linear fashion, such that the order of the members is well defined and significant. ...
Automation (ancient Greek: = self dictated) or Industrial Automation is the use of computers to control industrial machinery and processes, replacing human operators. ...
A macro recorder is a piece of software that allows a user to record mouse and keyboard functions for playback at a later time. ...
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 business tasks. Since the 1990s, keyboard macros are built into most popular applications, such as word processors and spreadsheets, but are more difficult to use than the older macro programs. A screenplay or script is a blueprint for producing a motion picture. ...
Keyboard macros have in more recent times come to life as a method of exploiting the economy of MMORPGs. By tirelessly performing a boring, repetitive, but low risk action, a player running a macro can earn a large amount of money. 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 universally a violation of the TOS or EULA, and administrators of MMORPGs fight a continual war to identify and punish macro users. An image from World of Warcraft, one of the largest commercial MMORPGs as of 2004, based on active subscriptions. ...
In computing and telecommunication networks (including of course the Internet) terms of service or ToS is an agreement under which a service provider agrees to provide services to the users of the service. ...
A software license is a type of proprietary or gratiuitious license as well as a memorandum of contract between a producer and a user of computer software — sometimes called an End User License Agreement (EULA) — that specifies the perimeters of the permission granted by the owner to the...
Application macros and scripting Keyboard and mouse macros that are created using an application's built-in macro features are sometimes called application macros. They are sometimes created by carrying out the sequence once and letting the application record the actions. An underlying macro programming language also called scripting language which has direct access to the features of the application may also exist. The programmers' text editor Emacs (short for "editing macros") follows this idea to a conclusion. In effect, most of the editor is made of macros. Emacs was originally devised as a set of macros in the editing language TECO; it was later ported to dialects of Lisp. Emacs is a class of text editors, possessing an extensive set of features, that are popular with computer programmers and other technically proficient computer users. ...
TECO (pronounced /teekoh/; originally an acronym for [paper] Tape Editor and COrrector, but later Text Editor and COrrector) is a text editor originally developed at the Massachusetts Institute of Technology (MIT) in the 1960s and was modified by just about everybody. With all the dialects included, TECO may have...
Visual Basic for Applications (VBA) is a programming language included in Microsoft Office and some other applications. However, its function has evolved from and replaced the macro languages which were originally included in some of these applications. // Description Visual Basic for Applications (VBA) is an implementation of Microsofts Visual Basic, an event driven programming language and associated development environment which is built into most Microsoft Office applications (including Apple Mac OS versions), some other Microsoft applications such as Microsoft MapPoint and Microsoft Visio - a former independent...
Microsoft Office is a suite of productivity programs created or purchased by Microsoft and developed for Microsoft Windows, and Apples Mac OS and Mac OS X operating systems. ...
Macro virus VBA has access to most Microsoft Windows system calls and executes when documents are opened. This makes it relatively easy to write computer viruses in VBA, commonly known as macro viruses. In the mid-to-late 1990s, this became one of the most common types of computer virus. Some applications with macro languages, such as OpenOffice.org, deliberately exclude certain functionality to avoid such susceptibility. A computer virus is a computer program that can copy itself and infect a computer without permission or knowledge of the user. ...
In computing terminology, a macro virus is a virus that is written in a macro language. ...
The 1990s decade refers to the years from the start of 1990 to the end of 1999. ...
OpenOffice. ...
Text substitution macros Languages such as C and assembly language have simple macro systems, implemented as preprocessors to the compiler or assembler. C preprocessor macros work by simple textual search-and-replace at the token, rather than the character, level. A classic use of macros is in the computer typesetting system TeX and its derivatives, where most of the functionality is based on macros. MacroML is an experimental system that seeks to reconcile static typing and macro systems. Nemerle has typed syntax macros, and one productive way to think of these syntax macros is as a multi-stage computation. Other examples: C is a general-purpose, procedural, imperative computer programming language developed in 1972 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system. ...
An assembly language is a low-level language used in the writing of computer programs. ...
In computer science, a preprocessor is a program that processes its input data to produce output that is used as input to another program. ...
The C preprocessor (cpp) is the preprocessor for the C programming language. ...
TeX (IPA: as in Greek, often in English; written with a lowercase e in imitation of the logo) is a typesetting system created by Donald Knuth. ...
MacroML is an experimental system that seeks to reconcile static typing and macro systems. ...
On computer science, a datatype (often simply type) is a name or label for a set of values and some operations which can be performed on that set of values. ...
Nemerle logo Nemerle is a high-level statically-typed programming language for the . ...
Metaprogramming is the writing of programs that write or manipulate other programs (or themselves) as their data or that do part of the work that is otherwise done at run time during compile time. ...
m4 is a macro processing language designed by Brian Kernighan and Dennis Ritchie. ...
TRAC (for Text Reckoning And Compiling) is a computer language developed in the early 1960s by Calvin Mooers (1919-1994). ...
PHP (PHP:Hypertext Preprocessor) is a reflective programming language originally designed for producing dynamic web pages. ...
Hot metal work from a blacksmith In chemistry, a metal (Greek: Metallon) is an element that readily loses electrons to form positive ions (cations) and has metallic bonds between metal atoms. ...
The Template Attribute Language (TAL) is a templating language aimed to generate HTML and XML pages. ...
SMX is a macro processing language originally shipped with the Internet Factorys Commerce Builder software. ...
ML/I is a general-purpose macro language and processor. ...
A general purpose macro processor is a macro processor that is not tied to, or integrated with, a particular language or piece of software. ...
In computing, a regular expression is a string that is used to describe or match a set of strings, according to certain syntax rules. ...
The Extended Backus-Naur form (EBNF) is any variation on the basic Backus-Naur form (BNF) metasyntax notation with (some of) the following additional constructs: square brackets [..] surrounding optional items, suffix * for Kleene closure (a sequence of zero or more of an item), suffix + for one or more of an...
AWK is a general purpose computer language that is designed for processing text-based data, either in files or data streams. ...
SAM76 is a macro programming language from the late 1970s to early 1980s that ran on CP/M. More information is found in the following links, including how to obtain distributions and source code. ...
Lisp macros Lisp's (lack of) syntax is especially good for macros; languages of the Lisp family, such as Common Lisp and Scheme, have powerful macro systems. Lisp macros transform the program structure itself, with the full language available to express such transformations. Lisp is a family of computer programming languages with a long history and a distinctive fully-parenthesized syntax. ...
Common Lisp, commonly abbreviated CL, is a dialect of the Lisp programming language, standardised by ANSI X3. ...
The Scheme programming language is a functional programming language and a dialect of Lisp. ...
Common Lisp has a powerful system of unhygienic syntax macros. The current Scheme standard contains a hygienic macro system: "macro by example". The soon-to-be Scheme standard extends this system to unhyginic macros. The Scheme programming language is a functional programming language and a dialect of Lisp. ...
The Scheme programming language is a functional programming language and a dialect of Lisp. ...
Being able to choose the order of evaluation (see lazy evaluation and non-strict functions) enables the creation of new syntactic constructs (e.g. control structures) indistinguishable from those built into the language. For instance, in a Lisp dialect that has cond but lacks if, it is possible to define the latter in terms of the former using macros. In computer programming, lazy evaluation is a technique that attempts to delay computation of expressions until the results of the computation are known to be needed. ...
In the denotational semantics of programming languages, a function f is said to be strict if . ...
Control Structures: In computer science, structured algorithms are built using control structures. ...
Entire major extensions to Lisp syntax, such as the Common Lisp Object System have been defined as macros. The Common Lisp Object System (CLOS) is the facility for object-oriented programming which is part of Common Lisp (CL). ...
Macros also make it possible to define data languages which are immediately compiled into code, which means that constructs such as state machines can be implemented in a way that is both natural and efficient.[1] |