Jump to content

Translator (computing): Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
m last edit was in error as it added a category redirect. Correct category is Category:Source-to-source compilers
Line 10: Line 10:
If the translator translates a [[high level language]] into another high level language, is called a translator. Examples include [[FORTRAN]]-to-[[Ada (programming language)|Ada]], [[CHILL]]-to-[[C++]], [[Pascal (programming language)|PASCAL]]-to-[[C (programming language)|C]], [[COBOL]](DialectA)-to-[[COBOL]](DialectB).
If the translator translates a [[high level language]] into another high level language, is called a translator. Examples include [[FORTRAN]]-to-[[Ada (programming language)|Ada]], [[CHILL]]-to-[[C++]], [[Pascal (programming language)|PASCAL]]-to-[[C (programming language)|C]], [[COBOL]](DialectA)-to-[[COBOL]](DialectB).


If the translator translates a high level language into an [[assembly language|assembly]] or [[machine language]] it is called a [[compiler]]. Examples include [[Ada (programming language)|Ada]], [[ALGOL]], [[BASIC]], [[COBOL]], [[FORTRAN]], [[PL/I]], [[C (programming language)|C]]/[[C++]].
If the translator translates a high level language into an [[assembly language|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 (computing)|interpreter]]. Examples include [[APL (programming language)|APL]], [[Active Server Pages|ASP]], [[CYBOL]], [[LISP]], [[Smalltalk]], [[PHP]] and [[Perl]].
If the translator translates a high level language into an intermediate code which will be immediately executed it is called [[Interpreter (computing)|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 target/machine code to source language it is called a [[Decompiler]]. Example: [[DCC]], [[Boomerang Decompilers]] and [[Reverse Engineering Compiler]] (REC).

Revision as of 19:41, 2 September 2012

A Translator is a computer program that translates one programming language instruction(s) into another programming language instruction(s) without the loss of original meaning. OR, the translator will translate X language and produce X’ language. Where X is the MEANING and ‘(DASH) is the language. Some advanced translators will even change the logic (not meaning) or will simplify the logic without losing the essence.

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.