Language Processors / Translator
Computer directly understands machine language only. That is why Machine language is called the native language of computer. Machine language is in binary form that is its instructions consists of strings of zeros and ones.
A program written in high-level or assembly language cannot be run on a computer directly. Firstly, it is converted into machine language. So there is a need to translate the source program into object code for a computer to execute it.
Definition of Language Processor
Language processor may be defined as a software that converts source programs into object program. Language processor is also called Language Translator. Therefore, a language translator software will take a source program(that cannot be understood by computer) as input and then will convert it into object code(that can be understood by computer).
Different types of language processors are:
A compiler is a program that converts the source program into object program(machine code) as a whole. The compiler converts source program in machine code called object program. Compiler also checks and reports syntax errors in the program. A source program containing an error cannot be compiled.
A program written in high-level language is called source program. A program in machine language is called Object program.
For example, C language and COBOL uses compiler. The function of a compiler is shown in the figure above.
An interpreter is a program that converts one statement of a program into machine code at one time. Then translated instruction is executed. If there is an error in the statements, the interpreter displays an errors message. In other words we can say that interpreter is a software that translates an instruction into a machine language and gets executed it before proceeding to the next instruction.
The advantage of interpreters over compilers is that an error is found immediately. The disadvantage of interpreter is that it is not very efficient. It does not create object file. So every time we execute the source program, it is translated again one instruction at a time. Whereas compiler creates an object code file. So next time when the program is executed, this object program is run( and no translation or compilation is needed unless we change the source code). Visual Basic uses interpreter normally and it can use compiler also when we wish to make .EXE file of a visual basic project.
An assembler is a translating program that translates the instructions of a program written in assembly language into machine language.
Therefore, Assemblers are used for translating assembly language programs into machine code.
You would also like to read: