A translator or programming language processor is a generic term that can refer to a
compiler,
assembler, or
interpreter—anything that converts code from one computer language into another.
These include translations between
high-level
High-level and low-level, as technical terms, are used to classify, describe and point to specific goals of a systematic operation; and are applied in a wide range of contexts, such as, for instance, in domains as widely varied as computer scienc ...
and human-readable computer languages such as
C++ and
Java, intermediate-level languages such as
Java bytecode,
low-level language
A low-level programming language is a programming language that provides little or no Abstraction (computer science), abstraction from a computer's instruction set architecture—commands or functions in the language map that are structurally sim ...
s such as the
assembly language
In computer programming, assembly language (or assembler language, or symbolic machine code), often referred to simply as Assembly and commonly abbreviated as ASM or asm, is any low-level programming language with a very strong correspondence be ...
and
machine code, and between similar levels of language on different
computing platform
A computing platform or digital platform is an environment in which a piece of software is executed. It may be the hardware or the operating system (OS), even a web browser and associated application programming interfaces, or other underlying s ...
s, as well as from any of these to any other of these.
The term is also used for translators between software implementations and hardware/
ASIC
An application-specific integrated circuit (ASIC ) is an integrated circuit (IC) chip customized for a particular use, rather than intended for general-purpose use, such as a chip designed to run in a digital voice recorder or a high-efficien ...
microchip implementations of the same program, and from software descriptions of a microchip to the
logic gate
A logic gate is an idealized or physical device implementing a Boolean function, a logical operation performed on one or more binary inputs that produces a single binary output. Depending on the context, the term may refer to an ideal logic gate, ...
s needed to build it.
Examples of widely used types of computer language translators include interpreters, compilers and
decompilers, assemblers and
disassemblers.
See also
*
Binary translator (binary-to-binary, typically code)
*
Assembly language translator
A source-to-source translator, source-to-source compiler (S2S compiler), transcompiler, or transpiler is a type of translator that takes the source code of a program written in a programming language as its input and produces an equivalent sou ...
(low-level source-to-source, code)
*
Source-to-source translator
A source-to-source translator, source-to-source compiler (S2S compiler), transcompiler, or transpiler is a type of translator that takes the source code of a program written in a programming language as its input and produces an equivalent sou ...
(high-level source-to-source, code)
*
Rewriter
In mathematics, computer science, and logic, rewriting covers a wide range of methods of replacing subterms of a formula with other terms. Such methods may be achieved by rewriting systems (also known as rewrite systems, rewrite engines, or reduc ...
(source-to-source, typically code)
*
File converter
Data conversion is the conversion of computer data from one format to another. Throughout a computer environment, data is encoded in a variety of ways. For example, computer hardware is built on the basis of certain standards, which requires tha ...
(binary-to-binary, typically data)
*
Transcoder (binary-to-binary, data)
References
Further reading
* (2+xiv+270+6 pages)
*
*
*
Programming language implementation
{{software-type-stub