Computer Fundamental
Computer Tutorial

Translator Software



Translator Software

Translator software is used to convert a program written in high-level language and assembly language to a form that the computer can understand. Translator software converts a program written in assembly language, and high-level language to a machine-level language program. The translated program is called the object code.
There are three different kind of translator software:
• Assembler
• Compiler
• Interpreter
Assembler converts a program written in assembly language to machine language. Compiler and interpreter convert a program written in high-level language to machine language.

Generations of programming languages

First Generation                   Machine language
Second Generation               Assembly language
Third Generation                 C, COBOL, Fortran, Pascal, C++, Java, ActiveX (Microsoft)
Fourth Generation             .NET (VB.NET, C#.NET etc.) Scripting language (Javascript, Microsoft Frontpage etc.)
Fifth Generation                   LISP, Prolog

Assembler

Assembly language is also referred to as a symbolic representation of the machine code. Assembler is a software that converts a program written in assembly language into machine code. There is usually a one-to-one correspondence between simple assembly statements and machine language instructions. The machine language is dependent on the processor architecture, though computers are generally able to carry out the same functionality in different ways. Thus the corresponding assembly language programs also differ for different computer architectures.

Compiler

A program written in a high-level language has to be converted to a language that the computer can understand, i.e. binary form. Compiler is the software that translates the program written in a high-level language to machine language. The program written in high-level language is referred to as the source code and compiled program is referred as the object code. The object code is the executable code, which can run as a stand-alone code. It does not require the compiler to be present during execution. Each programming language has its own compiler. Some languages that use a compiler are C++, COBOL, Pascal, and FORTRAN. In some languages, compilation using the compiler and linking using the linker are required for creating the executable object code.
The compilation process generally involves two parts—breaking down the source code into small pieces and creating an intermediate representation, and, constructing the object code for the intermediate representation. The compiler also reports syntax errors, if any, in the source code.

Interpreter

The purpose of interpreter is similar to that of a compiler. The interpreter is used to convert the high-level language program into computer-understandable form. However, the interpreter functions in a different way than a compiler. Interpreter performs line-by-line execution of the source code during program execution. Interpreter reads the source code line-by-line, converts it into machine understandable form, executes the line, and then proceeds to the next line. Some languages that use an interpreter are BASIC and Python.