A translator or programming language processor is a generic term that can refer to a
compiler
In computing, a compiler is a computer program that translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primarily used for programs that ...
,
assembler, or
interpreter—anything that converts code from one computer language into another.
These include translations between
high-level and human-readable computer languages such as
C++ and
Java
Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mo ...
, intermediate-level languages such as
Java bytecode
In computing, Java bytecode is the bytecode-structured instruction set of the Java virtual machine (JVM), a virtual machine that enables a computer to run programs written in the Java programming language and several other programming languages, ...
,
low-level languages such as the
assembly language and
machine code
In computer programming, machine code is any low-level programming language, consisting of machine language instructions, which are used to control a computer's central processing unit (CPU). Each instruction causes the CPU to perform a ver ...
, 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, 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-effici ...
microchip
An integrated circuit or monolithic integrated circuit (also referred to as an IC, a chip, or a microchip) is a set of electronic circuits on one small flat piece (or "chip") of semiconductor material, usually silicon. Large numbers of tiny M ...
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 ga ...
s needed to build it.
Examples of widely used types of computer language translators include interpreters, compilers and
decompiler
A decompiler is a computer program that translates an executable file to a high-level source file which can be recompiled successfully. It does therefore the opposite of a typical compiler, which translates a high-level language to a low-level l ...
s, assemblers and
disassembler
A disassembler is a computer program that translates machine language into assembly language—the inverse operation to that of an assembler. A disassembler differs from a decompiler, which targets a high-level language rather than an assembl ...
s.
See also
*
Binary translator (binary-to-binary, typically code)
*
Assembly language translator (low-level source-to-source, code)
*
Source-to-source translator (high-level source-to-source, code)
*
Rewriter (source-to-source, typically code)
*
File converter (binary-to-binary, typically data)
*
Transcoder (binary-to-binary, data)
References
Further reading
* (2+xiv+270+6 pages)
*
*
*
Programming language implementation
{{software-type-stub