0% found this document useful (0 votes)
10 views3 pages

Compilers, Interpreters, and Assemblers Explained

Language processors, including compilers, interpreters, and assemblers, translate high-level and assembly language programs into machine code for execution. Compilers translate entire programs at once and report errors after scanning, while interpreters translate and execute code line by line, stopping at errors. Assemblers convert assembly language into machine code, facilitating communication between humans and machines.

Uploaded by

Ibk
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views3 pages

Compilers, Interpreters, and Assemblers Explained

Language processors, including compilers, interpreters, and assemblers, translate high-level and assembly language programs into machine code for execution. Compilers translate entire programs at once and report errors after scanning, while interpreters translate and execute code line by line, stopping at errors. Assemblers convert assembly language into machine code, facilitating communication between humans and machines.

Uploaded by

Ibk
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

Language Processors – Compilers, Interpreters and Assemblers

Compilers, interpreters, translate programs written in high-level languages into machine code
that a computer understands. And assemblers translate programs written in low-level or assembly
language into machine code. In the compilation process, there are several stages. To help
programmers write error-free code, tools are available.

Assembly language is machine-dependent, yet mnemonics used to represent instructions in it are


not directly understandable by machine and high-Level language is machine-independent. A
computer understands instructions in machine code, i.e. in the form of 0s and 1s. It is a tedious
task to write a computer program directly in machine code. The programs are written mostly in
high-level languages like Java, C++, Python etc. and are called source code. These source code
cannot be executed directly by the computer and must be converted into machine language to be
executed. Hence, a special translator system software is used to translate the program written in a
high-level language into machine code is called Language Processor and the program after
translated into machine code (object program/object code).

The language processors can be any of the following three types:

1. Compiler :
The language processor that reads the complete source program written in high-level language as
a whole in one go and translates it into an equivalent program in machine language is called a
Compiler. Example: C, C++, C#, Java.

In a compiler, the source code is translated to object code successfully if it is free of errors. The
compiler specifies the errors at the end of the compilation with line numbers when there are any
errors in the source code. The errors must be removed before the compiler can successfully
recompile the source code again

2. Assembler :
The Assembler is used to translate the program written in Assembly language into machine code.
The source program is an input of an assembler that contains assembly language instructions.
The output generated by the assembler is the object code or machine code understandable by the
computer. Assembler is basically the 1st interface that is able to communicate humans with the
machine. We need an Assembler to fill the gap between human and machine so that they can
communicate with each other. code written in assembly language is some sort of
mnemonics(instructions) like ADD, MUL, MUX, SUB, DIV, MOV and so on. and the assembler
is basically able to convert these mnemonics in Binary code. Here, these mnemonics also depend
upon the architecture of the machine.

3. Interpreter :
The translation of a single statement of the source program into machine code is done by a
language processor and executes immediately before moving on to the next line is called an
interpreter. If there is an error in the statement, the interpreter terminates its translating process at
that statement and displays an error message. The interpreter moves on to the next line for
execution only after the removal of the error. An Interpreter directly executes instructions written
in a programming or scripting language without previously converting them to an object code or
machine code.

Example: Perl, Python and Matlab.

Difference between Compiler and Interpreter –

Compiler Interpreter
A compiler is a program that converts the entire source An interpreter takes a source program
code of a programming language into executable and runs it line by line, translating each
machine code for a CPU. line as it comes to it
Compiler Interpreter

The compiler takes a large amount of time to analyze


An interpreter takes less amount of time
the entire source code but the overall execution time of
to analyze the source code but the overall
the program is comparatively faster.
execution time of the program is slower.
The compiler generates the error message only after
Its Debugging is easier as it continues
scanning the whole program, so debugging is
translating the program until the error is
comparatively hard as the error can be present
met.
anywhere in the program.
The compiler requires a lot of memory for generating It requires less memory than a compiler
object codes. because no object code is generated.
No intermediate object code is
Generates intermediate object code.
generated.
The interpreter is a little vulnerable in
For Security purpose compiler is more useful.
case of security.
Examples: Python, Perl, JavaScript,
Examples: C, C++, Java
Ruby

You might also like