The software which converts machine language to a high level and vice-versa is called language processing software or language translator. This software can convert the language from high-level language or assembly language into machine-understandable form. There are three types of language processors. It performs tasks, such as translating and interpreting, required for processing a specified programming language.
Definition of Language Translator
Language translator is system software that translates instructions written in assembly or high-level language (source code) into machine language (object code).
Program developed in assembly or high level language for convenience of the programmer, but computer doesn’t understand these statements directly. So, translator is used which converts that statements in computer executable format.
Types of language processing software
There are three language processing software. Those three software are entirely different according to the way they process the language.
Assembler language processor
An assembler is a type of language processor that translates the program written in assembly language into the machine code. This language processor reads is assembly instructions and converts them into equivalent machine instructions. The resulting program can be executed only when the assembly process is completed. It also generates diagnostic error messages. In addition to translating, it also ” assembles ” the machine language program in memory of the computer, and makes it ready for execution. For example Pseudo Assembly.
In an assembly language, the computer has to run the assembler, first translate the assembly language (source code) into its equivalent machine language (object code), and then execute to get the result. This means that the computer has to spend more time to get the result as compared to machine language. Assembly language programming saves the time and effort of a programmer.
Interpreter language processor
The interpreter is a type of language processor that translates the program written in a high-level language into machine language line by line. An interpreter translates one instruction to machine code, executes the instruction, then translate executes the next one, and so on until the end of the program. It takes one statement of a high-level language program, translates it into machine language instructions, and then immediately executes the resulting machine language instruction. Since no object program is saved for future use, repeated interpretation ( translation plus execution ) of a program is necessary for its repeated execution. The programing languages like Q BASIC, LOGO, etc. are interpreter language processor-based computer languages.
Compiler Language Processing Software
The compiler is a type of language processor software that translates a program written in a high-level language into machine language at once. It reads the whole block of code at a time, converts them into executable machine code, and runs the code. Are compiler is so-called because it compiles a set of machine language instruction for every program in the instruction of high-level language. Programming language like C, C + +, java, .net is compiler language processor software-based programming languages.
The input to the compiler is the high-level language program and its output is the message language program. Since high-level language instruction is macroinstructions, the compiler translates is high-level language instruction into a set of machine language instructions rather than a single machine language instruction. Hence, there is a one an to any correspondence between the high-level language instructions of a source program, and the machine language instructions or its equivalent object program. During the process of translation of a source program into its equivalent of the program by the compiler, the source program is not being executed. It is only being converted into a form which can be educated by the computers process.
Difference between Interpreter and Compiler table
|Interpreters Language Processing Software||Compiler Language Processing Software|
|1. It translates one line of instruction at a time.||1. It translates the whole block of code at a time.|
|2. It reports the error at each line.||2. It reports all the errors at last.|
|3. It is slower than the compiler.||3. It is faster than interpreters.|
|4. Interpreter-based program is easy to code and debug.||4. Compiler-based program is difficult to code and debug.|
|5. It does not save object code.||5. It saves the object code for future reference.|
|6. New programming languages use interpreters.||6. New programming languages don’t use the compiler.|
|7. It is usually a smaller program and requires less memory space.||7. It is usually a larger program and requires larger memory space.|
|8. Examples of interpreter-based programming languages are QBASIC, Visual Basic, C#, PHP, etc.||8. Examples of compiler-based programming languages are C, C++, Java, COBOL, Java, Pascal, FORTAN, etc.|