Jump to content

Translator (computing)

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by LoStrangolatore (talk | contribs) at 19:44, 2 September 2012. 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 into 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, is called a translator. Examples include FORTRAN-to-Ada, CHILL-to-C++, PASCAL-to-C, COBOL(DialectA)-to-COBOL(DialectB).

If the translator translates a high level language into an assembly or machine 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 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 such kind of translator is called assembler. Examples include MASM, TASM, NASM and FASM.

If the translator translates machine code into assembly language such kind of translator is called Disassembler. Examples include gdb, IDA Pro and OllyDbg.