source program : written in the source language, the program to be translated, known as the "source program." Source language can be assembly language, or advanced programming language (such as C + + language), the program written by them are source programs.
Target Program : is the source program through the translation process generated after the program. The target program can be expressed in machine language (and therefore also called "Object Code"), or in assembly language or other intermediate languages.
Translation Program : Refers to the program used to translate the source program into the target program. For a translation program, the source program is its input, and the target program is its output.
There are three different types of translation programs: assembler, compiler, interpreter
Assembler : The task is to translate the source program written in assembly language into the target program in machine language form. Therefore, the source program written in assembly language must first be processed by assembler, and become the object code of equivalence.
compiler : If the source program is written in a high-level programming language, the process of translating the program to generate the target program, then, the translation program is called "Compiler program." Therefore, the high-level language written by the source program to execute, usually first to be compiled into the machine language of the target program. If the target program is expressed in assembly language, it will also be processed by an assembler.
Interpreter : This is also a translation program that translates high-level language source programs into machine instructions. It is different from the compiler program is: It is the side of the translation of the execution, that is, input a sentence, to execute a sentence, until the entire source program translation and execution completed. The interpreter does not produce the entire target program, and the statements to be repeated in the source program (such as the statements in the loop body) need to be interpreted repeatedly, so it is less efficient than the compilation method to spend more time executing.