Jump to content

Translator (computing)

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by KAtremer (talk | contribs) at 22:22, 26 March 2014. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

A translator is a computer program that translates a program written in a given programming language into a functionally equivalent program in a different language. Depending on the translator, this may involve changing or simplifying the program flow, without losing the essence of the program, thereby producing a functionally equivalent program.

Types

If the translator translates a high level language into another high level language, it's called a translator or source-to-source compiler. Examples include Haxe, FORTRAN-to-Ada translators, CHILL-to-C++ translators, PASCAL-to-C translators, COBOL(DialectA)-to-COBOL(DialectB) translators.

If the translator translates a high level language into a lower level language it is called a compiler. Notice that every language can be either translated into a (Turing-complete) high level or assembly language.

If the translator translates a high level language into an intermediate code which will be immediately executed it is called an interpreter.

If the translator translates target/machine code to source language it is called a decompiler. Example: DCC, Boomerang Decompilers and Reverse Engineering Compiler (REC).

If the translator translates assembly language to machine code it is called an assembler. Examples include MASM, TASM, NASM and FASM.

If the translator translates machine code into assembly language it is called a disassembler. Examples include gdb, IDA Pro and OllyDbg.

See also