Get it on Google Play
New! Download Unionpedia on your Android™ device!
Faster access than browser!

Macro (computer science)

Index Macro (computer science)

A macro (short for "macroinstruction", from Greek μακρός 'long') in computer science is a rule or pattern that specifies how a certain input sequence (often a sequence of characters) should be mapped to a replacement output sequence (also often a sequence of characters) according to a defined procedure. [1]

98 relations: Abstract syntax tree, Anaphoric macro, Application software, Assembly language, Automation, AWK, Bootstrapping, Bootstrapping (compilers), C (programming language), C preprocessor, C Sharp (programming language), Character (computing), Clojure, Code reuse, Common Lisp, Component-based software engineering, Computer program, Computer programming, Computer science, Computer virus, Computing platform, Conditional assembly language, Continuation, Control flow, Domain-specific language, Dylan (programming language), Elixir (programming language), Emacs, End-user license agreement, Extended Backus–Naur form, Extensible programming, Fexpr, Frame technology (software engineering), General-purpose macro processor, Greek language, Haxe, Hygienic macro, ISLISP, JavaScript, Julia (programming language), Lazy evaluation, Lexical analysis, Lisp (programming language), Loop unrolling, M4 (computer language), Macro instruction, Macro recorder, Macro virus, MacroML, Massively multiplayer online role-playing game, ..., Matthias Felleisen, Metaprogramming, Microsoft, Microsoft Office, ML/I, Modular programming, Nemerle, Nroff, Operating system, Pattern, PDF, PHP, PL/I, Preprocessor, Procedural programming, Programming by demonstration, Programming language, Prolog, Python (programming language), Racket (programming language), Referential transparency, Reflection (computer programming), Regular expression, Rust (programming language), S-expression, SAM76, Scala (programming language), Scheme (programming language), Screenplay, Scripting language, SmartKey, SMX (computer language), Spreadsheet, Strict function, String interpolation, TECO (text editor), Template Attribute Language, Terminate and stay resident program, Terms of service, TeX, TRAC (programming language), Troff, Type system, Vi, Vim (text editor), Visual Basic for Applications, Windows API, Word processor. Expand index (48 more) »

Abstract syntax tree

In computer science, an abstract syntax tree (AST), or just syntax tree, is a tree representation of the abstract syntactic structure of source code written in a programming language.

New!!: Macro (computer science) and Abstract syntax tree · See more »

Anaphoric macro

An anaphoric macro is a type of programming macro that deliberately captures some form supplied to the macro which may be referred to by an anaphor (an expression referring to another).

New!!: Macro (computer science) and Anaphoric macro · See more »

Application software

An application software (app or application for short) is a computer software designed to perform a group of coordinated functions, tasks, or activities for the benefit of the user.

New!!: Macro (computer science) and Application software · See more »

Assembly language

An assembly (or assembler) language, often abbreviated asm, is a low-level programming language, in which there is a very strong (but often not one-to-one) correspondence between the assembly program statements and the architecture's machine code instructions.

New!!: Macro (computer science) and Assembly language · See more »


Automation is the technology by which a process or procedure is performed without human assistance.

New!!: Macro (computer science) and Automation · See more »


AWK is a programming language designed for text processing and typically used as a data extraction and reporting tool.

New!!: Macro (computer science) and AWK · See more »


In general, bootstrapping usually refers to a self-starting process that is supposed to proceed without external input.

New!!: Macro (computer science) and Bootstrapping · See more »

Bootstrapping (compilers)

In computer science, bootstrapping is the technique for producing a self-compiling compiler — that is, compiler (or assembler) written in the source programming language that it intends to compile.

New!!: Macro (computer science) and Bootstrapping (compilers) · See more »

C (programming language)

C (as in the letter ''c'') is a general-purpose, imperative computer programming language, supporting structured programming, lexical variable scope and recursion, while a static type system prevents many unintended operations.

New!!: Macro (computer science) and C (programming language) · See more »

C preprocessor

The C preprocessor or cpp is the macro preprocessor for the C and C++ computer programming languages.

New!!: Macro (computer science) and C preprocessor · See more »

C Sharp (programming language)

C# (/si: ʃɑːrp/) is a multi-paradigm programming language encompassing strong typing, imperative, declarative, functional, generic, object-oriented (class-based), and component-oriented programming disciplines.

New!!: Macro (computer science) and C Sharp (programming language) · See more »

Character (computing)

In computer and machine-based telecommunications terminology, a character is a unit of information that roughly corresponds to a grapheme, grapheme-like unit, or symbol, such as in an alphabet or syllabary in the written form of a natural language.

New!!: Macro (computer science) and Character (computing) · See more »


Clojure (like "closure") is a dialect of the Lisp programming language.

New!!: Macro (computer science) and Clojure · See more »

Code reuse

Code reuse, also called software reuse, is the use of existing software, or software knowledge, to build new software, following the reusability principles.

New!!: Macro (computer science) and Code reuse · See more »

Common Lisp

Common Lisp (CL) is a dialect of the Lisp programming language, published in ANSI standard document ANSI INCITS 226-1994 (R2004) (formerly X3.226-1994 (R1999)).

New!!: Macro (computer science) and Common Lisp · See more »

Component-based software engineering

Component-based software engineering (CBSE), also called as component-based development (CBD), is a branch of software engineering that emphasizes the separation of concerns with respect to the wide-ranging functionality available throughout a given software system.

New!!: Macro (computer science) and Component-based software engineering · See more »

Computer program

A computer program is a collection of instructions for performing a specific task that is designed to solve a specific class of problems.

New!!: Macro (computer science) and Computer program · See more »

Computer programming

Computer programming is the process of building and designing an executable computer program for accomplishing a specific computing task.

New!!: Macro (computer science) and Computer programming · See more »

Computer science

Computer science deals with the theoretical foundations of information and computation, together with practical techniques for the implementation and application of these foundations.

New!!: Macro (computer science) and Computer science · See more »

Computer virus

A computer virus is a type of malicious software program ("malware") that, when executed, replicates itself by modifying other computer programs and inserting its own code.

New!!: Macro (computer science) and Computer virus · See more »

Computing platform

A computing platform or digital platform is the environment in which a piece of software is executed.

New!!: Macro (computer science) and Computing platform · See more »

Conditional assembly language

A conditional assembly language is that part of an assembly language used to write macros.

New!!: Macro (computer science) and Conditional assembly language · See more »


In computer science and computer programming, a continuation is an abstract representation of the control state of a computer program.

New!!: Macro (computer science) and Continuation · See more »

Control flow

In computer science, control flow (or flow of control) is the order in which individual statements, instructions or function calls of an imperative program are executed or evaluated.

New!!: Macro (computer science) and Control flow · See more »

Domain-specific language

A domain-specific language (DSL) is a computer language specialized to a particular application domain.

New!!: Macro (computer science) and Domain-specific language · See more »

Dylan (programming language)

Dylan is a multi-paradigm programming language that includes support for functional and object-oriented programming, and is dynamic and reflective while providing a programming model designed to support efficient machine code generation, including fine-grained control over dynamic and static behaviors.

New!!: Macro (computer science) and Dylan (programming language) · See more »

Elixir (programming language)

Elixir is a functional, concurrent, general-purpose programming language that runs on the Erlang virtual machine (BEAM).

New!!: Macro (computer science) and Elixir (programming language) · See more »


Emacs is a family of text editors that are characterized by their extensibility.

New!!: Macro (computer science) and Emacs · See more »

End-user license agreement

In proprietary software, an end-user license agreement (EULA) or software license agreement is the contract between the licensor and purchaser, establishing the purchaser's right to use the software.

New!!: Macro (computer science) and End-user license agreement · See more »

Extended Backus–Naur form

In computer science, extended Backus-Naur form (EBNF) is a family of metasyntax notations, any of which can be used to express a context-free grammar.

New!!: Macro (computer science) and Extended Backus–Naur form · See more »

Extensible programming

Extensible programming is a term used in computer science to describe a style of computer programming that focuses on mechanisms to extend the programming language, compiler and runtime environment.

New!!: Macro (computer science) and Extensible programming · See more »


In Lisp programming languages, a fexpr is a function whose operands are passed to it without being evaluated.

New!!: Macro (computer science) and Fexpr · See more »

Frame technology (software engineering)

Frame technology (FT) is a language-neutral (i.e., processes various languages) system that manufactures custom software from reusable, machine-adaptable building blocks, called frames.

New!!: Macro (computer science) and Frame technology (software engineering) · See more »

General-purpose macro processor

A general-purpose macro processor or general purpose preprocessor is a macro processor that is not tied to or integrated with a particular language or piece of software.

New!!: Macro (computer science) and General-purpose macro processor · See more »

Greek language

Greek (Modern Greek: ελληνικά, elliniká, "Greek", ελληνική γλώσσα, ellinikí glóssa, "Greek language") is an independent branch of the Indo-European family of languages, native to Greece and other parts of the Eastern Mediterranean and the Black Sea.

New!!: Macro (computer science) and Greek language · See more »


Haxe is a high-level cross-platform multi-paradigm programming language and compiler that can produce applications and source code, for many different computing platforms, from one code-base.

New!!: Macro (computer science) and Haxe · See more »

Hygienic macro

Hygienic macros are macros whose expansion is guaranteed not to cause the accidental capture of identifiers.

New!!: Macro (computer science) and Hygienic macro · See more »


ISLISP (also capitalized as ISLisp) is a programming language in the LISP family standardized by ISO working group ISO/IEC JTC 1/SC 22/WG 16 (commonly referred to simply as SC22/WG16 or WG16).

New!!: Macro (computer science) and ISLISP · See more »


JavaScript, often abbreviated as JS, is a high-level, interpreted programming language.

New!!: Macro (computer science) and JavaScript · See more »

Julia (programming language)

Julia is a high-level dynamic programming language designed to address the needs of high-performance numerical analysis and computational science, without the typical need of separate compilation to be fast, while also being effective for general-purpose programming, web use or as a specification language.

New!!: Macro (computer science) and Julia (programming language) · See more »

Lazy evaluation

In programming language theory, lazy evaluation, or call-by-need is an evaluation strategy which delays the evaluation of an expression until its value is needed (non-strict evaluation) and which also avoids repeated evaluations (sharing).

New!!: Macro (computer science) and Lazy evaluation · See more »

Lexical analysis

In computer science, lexical analysis, lexing or tokenization is the process of converting a sequence of characters (such as in a computer program or web page) into a sequence of tokens (strings with an assigned and thus identified meaning).

New!!: Macro (computer science) and Lexical analysis · See more »

Lisp (programming language)

Lisp (historically, LISP) is a family of computer programming languages with a long history and a distinctive, fully parenthesized prefix notation.

New!!: Macro (computer science) and Lisp (programming language) · See more »

Loop unrolling

Loop unrolling, also known as loop unwinding, is a loop transformation technique that attempts to optimize a program's execution speed at the expense of its binary size, which is an approach known as space–time tradeoff.

New!!: Macro (computer science) and Loop unrolling · See more »

M4 (computer language)

m4 is a general-purpose macro processor included in all UNIX-like operating systems, and is a component of the POSIX standard.

New!!: Macro (computer science) and M4 (computer language) · See more »

Macro instruction

A macro instruction is a line of computer program coding that results in one or more lines of program coding in the target programming language, sets variables for use by other statements, etc.

New!!: Macro (computer science) and Macro instruction · See more »

Macro recorder

A macro recorder is a piece of software that records user actions for playback at a later time.

New!!: Macro (computer science) and Macro recorder · See more »

Macro virus

In computing terminology, a macro virus is a virus that is written in a macro language: a programming language which is embedded inside a software application (e.g., word processors and spreadsheet applications).

New!!: Macro (computer science) and Macro virus · See more »


MacroML is an experimental programming language based on the ML programming language family that seeks to reconcile ML's static typing systems, and the types of macro systems more commonly found in dynamically typed languages like Scheme; this reconciliation is difficult as macro transformations are typically Turing-complete and so can break the type safety guarantees static typing is supposed to provide.

New!!: Macro (computer science) and MacroML · See more »

Massively multiplayer online role-playing game

Massively multiplayer online role-playing games (MMORPGs) are a combination of role-playing video games and massively multiplayer online games in which a very large number of players interact with one another within a virtual world.

New!!: Macro (computer science) and Massively multiplayer online role-playing game · See more »

Matthias Felleisen

Matthias Felleisen is a German-American computer science professor and author.

New!!: Macro (computer science) and Matthias Felleisen · See more »


Metaprogramming is a programming technique in which computer programs have the ability to treat programs as their data.

New!!: Macro (computer science) and Metaprogramming · See more »


Microsoft Corporation (abbreviated as MS) is an American multinational technology company with headquarters in Redmond, Washington.

New!!: Macro (computer science) and Microsoft · See more »

Microsoft Office

Microsoft Office is a family of client software, server software, and services developed by Microsoft.

New!!: Macro (computer science) and Microsoft Office · See more »


ML/1 (Macro Language/One) is a powerful general purpose macro processor.

New!!: Macro (computer science) and ML/I · See more »

Modular programming

Modular programming is a software design technique that emphasizes separating the functionality of a programme into independent, interchangeable modules, such that each contains everything necessary to execute only one aspect of the desired functionality.

New!!: Macro (computer science) and Modular programming · See more »


Nemerle is a general-purpose high-level statically typed programming language designed for platforms using the Common Language Infrastructure (.NET/Mono).

New!!: Macro (computer science) and Nemerle · See more »


nroff (short for "new roff") is a Unix text-formatting program.

New!!: Macro (computer science) and Nroff · See more »

Operating system

An operating system (OS) is system software that manages computer hardware and software resources and provides common services for computer programs.

New!!: Macro (computer science) and Operating system · See more »


A pattern is a discernible regularity in the world or in a manmade design.

New!!: Macro (computer science) and Pattern · See more »


The Portable Document Format (PDF) is a file format developed in the 1990s to present documents, including text formatting and images, in a manner independent of application software, hardware, and operating systems.

New!!: Macro (computer science) and PDF · See more »


PHP: Hypertext Preprocessor (or simply PHP) is a server-side scripting language designed for Web development, but also used as a general-purpose programming language.

New!!: Macro (computer science) and PHP · See more »


PL/I (Programming Language One, pronounced) is a procedural, imperative computer programming language designed for scientific, engineering, business and system programming uses.

New!!: Macro (computer science) and PL/I · See more »


In computer science, a preprocessor is a program that processes its input data to produce output that is used as input to another program.

New!!: Macro (computer science) and Preprocessor · See more »

Procedural programming

Procedural programming is a programming paradigm, derived from structured programming, based upon the concept of the procedure call.

New!!: Macro (computer science) and Procedural programming · See more »

Programming by demonstration

In computer science, programming by demonstration (PbD) is an end-user development technique for teaching a computer or a robot new behaviors by demonstrating the task to transfer directly instead of programming it through machine commands.

New!!: Macro (computer science) and Programming by demonstration · See more »

Programming language

A programming language is a formal language that specifies a set of instructions that can be used to produce various kinds of output.

New!!: Macro (computer science) and Programming language · See more »


Prolog is a general-purpose logic programming language associated with artificial intelligence and computational linguistics.

New!!: Macro (computer science) and Prolog · See more »

Python (programming language)

Python is an interpreted high-level programming language for general-purpose programming.

New!!: Macro (computer science) and Python (programming language) · See more »

Racket (programming language)

Racket (formerly PLT Scheme) is a general-purpose, multi-paradigm programming language in the Lisp-Scheme family.

New!!: Macro (computer science) and Racket (programming language) · See more »

Referential transparency

Referential transparency and referential opacity are properties of parts of computer programs.

New!!: Macro (computer science) and Referential transparency · See more »

Reflection (computer programming)

In computer science, reflection is the ability of a computer program to examine, introspect, and modify its own structure and behavior at runtime.

New!!: Macro (computer science) and Reflection (computer programming) · See more »

Regular expression

A regular expression, regex or regexp (sometimes called a rational expression) is, in theoretical computer science and formal language theory, a sequence of characters that define a search pattern.

New!!: Macro (computer science) and Regular expression · See more »

Rust (programming language)

Rust is a systems programming language sponsored by Mozilla which describes it as a "safe, concurrent, practical language," supporting functional and imperative-procedural paradigms.

New!!: Macro (computer science) and Rust (programming language) · See more »


In computing, s-expressions, sexprs or sexps (for "symbolic expression") are a notation for nested list (tree-structured) data, invented for and popularized by the programming language Lisp, which uses them for source code as well as data.

New!!: Macro (computer science) and S-expression · See more »


SAM76 is a macro programming language used from the late 1970s to the present 2007 initially ran on CP/M.

New!!: Macro (computer science) and SAM76 · See more »

Scala (programming language)

Scala is a general-purpose programming language providing support for functional programming and a strong static type system.

New!!: Macro (computer science) and Scala (programming language) · See more »

Scheme (programming language)

Scheme is a programming language that supports multiple paradigms, including functional programming and imperative programming, and is one of the two main dialects of Lisp.

New!!: Macro (computer science) and Scheme (programming language) · See more »


A screenplay or script is a written work by screenwriters for a film, video game, or television program.

New!!: Macro (computer science) and Screenplay · See more »

Scripting language

A scripting or script language is a programming language that supports scripts: programs written for a special run-time environment that automate the execution of tasks that could alternatively be executed one-by-one by a human operator.

New!!: Macro (computer science) and Scripting language · See more »


SmartKey was the first macro processing program of its type, and the first TSR or terminate and stay resident program for PCs and CP/M microcomputers, their eight bit predecessors.

New!!: Macro (computer science) and SmartKey · See more »

SMX (computer language)

SMX (from Server Macro Expansion) is a macro processing language designed to embed macros in web pages.

New!!: Macro (computer science) and SMX (computer language) · See more »


A spreadsheet is an interactive computer application for organization, analysis and storage of data in tabular form.

New!!: Macro (computer science) and Spreadsheet · See more »

Strict function

A function f is said to be strict if, when applied to a non-terminating expression, it also fails to terminate.

New!!: Macro (computer science) and Strict function · See more »

String interpolation

In computer programming, string interpolation (or variable interpolation, variable substitution, or variable expansion) is the process of evaluating a string literal containing one or more placeholders, yielding a result in which the placeholders are replaced with their corresponding values.

New!!: Macro (computer science) and String interpolation · See more »

TECO (text editor)

TECO (Tee'koh /), Text Editor & COrrector"A powerful and sophisticated text editor, TECO (Text Editor and Corrector)...

New!!: Macro (computer science) and TECO (text editor) · See more »

Template Attribute Language

The Template Attribute Language (TAL) is a templating language used to generate dynamic HTML and XML pages.

New!!: Macro (computer science) and Template Attribute Language · See more »

Terminate and stay resident program

Regarding computers, a terminate and stay resident program (commonly referred to by the initialism TSR) is a computer program that uses a system call in DOS operating systems to return control of the computer to the operating system, as though the program has quit, but stays resident in computer memory so it can be reactivated by a hardware or software interrupt.

New!!: Macro (computer science) and Terminate and stay resident program · See more »

Terms of service

Terms of service (also known as terms of use and terms and conditions, commonly abbreviated as TOS or ToS and ToU) are rules by which one must agree to abide in order to use a service.

New!!: Macro (computer science) and Terms of service · See more »


TeX (see below), stylized within the system as TeX, is a typesetting system (or "formatting system") designed and mostly written by Donald Knuth and released in 1978.

New!!: Macro (computer science) and TeX · See more »

TRAC (programming language)

TRAC (for Text Reckoning And Compiling) Language is a programming language developed between 1959-1964 by Calvin Mooers and implemented on a PDP-10 in 1964 by L. Peter Deutsch.

New!!: Macro (computer science) and TRAC (programming language) · See more »


troff is the major component of a document processing system developed by AT&T Corporation for the Unix operating system.

New!!: Macro (computer science) and Troff · See more »

Type system

In programming languages, a type system is a set of rules that assigns a property called type to the various constructs of a computer program, such as variables, expressions, functions or modules.

New!!: Macro (computer science) and Type system · See more »


vi is a screen-oriented text editor originally created for the Unix operating system.

New!!: Macro (computer science) and Vi · See more »

Vim (text editor)

Vim ("Vim is pronounced as one word, like Jim, not vi-ai-em. It's written with a capital, since it's a name, again like Jim." a contraction of Vi IMproved) is a clone, with additions, of Bill Joy's vi text editor program for Unix.

New!!: Macro (computer science) and Vim (text editor) · See more »

Visual Basic for Applications

Visual Basic for Applications (VBA) is an implementation of Microsoft's event-driven programming language Visual Basic 6, which was discontinued in 2008, and its associated integrated development environment (IDE).

New!!: Macro (computer science) and Visual Basic for Applications · See more »

Windows API

The Windows API, informally WinAPI, is Microsoft's core set of application programming interfaces (APIs) available in the Microsoft Windows operating systems.

New!!: Macro (computer science) and Windows API · See more »

Word processor

A word processor is a computer program or device that provides for input, editing, formatting and output of text, often plus other features.

New!!: Macro (computer science) and Word processor · See more »

Redirects here:

Keyboard macro, Lisp macro, Lisp macros, Macro (programming), Macro expansion, Macro language, Macro programming, Macro programming language, Macro substitution, Macroing, Procedural macros, Software macro, Syntactic macro.


[1] https://en.wikipedia.org/wiki/Macro_(computer_science)

Hey! We are on Facebook now! »