A computer language translator is a program that translates a set of code written in one programming language into a functional equivalent of the code in another programming language. The different types of computer translators are interpreters, source-to-source compilers, standard compilers, decompilers, assemblers and disassemblers.
Interpreters translate a high-level programming language into an intermediate code that is immediately executed. Source-to-source compilers translate a high-level computer language into another high-level computer language. Standard compilers translate a high-level computer language into a low-level language. Decompilers translate machine code to a source code readable by a programming language. Assemblers translate an assembly language to machine code. Disassemblers translate machine code into an assembly language.