[go: up one dir, main page]

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

Compiler Interpreter

The document defines and compares different types of software used in programming: - Assemblers translate assembly language into machine code in 1 or 2 passes, either self-assembling on the same computer or cross-assembling for other computers. Compilers translate high-level languages into machine code and check for errors but run slower. Interpreters translate statements one at a time without saving machine code. - Linkers combine modules and link functions to libraries. Loaders load machine code into memory and prepare programs for execution by the operating system.

Uploaded by

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

Compiler Interpreter

The document defines and compares different types of software used in programming: - Assemblers translate assembly language into machine code in 1 or 2 passes, either self-assembling on the same computer or cross-assembling for other computers. Compilers translate high-level languages into machine code and check for errors but run slower. Interpreters translate statements one at a time without saving machine code. - Linkers combine modules and link functions to libraries. Loaders load machine code into memory and prepare programs for execution by the operating system.

Uploaded by

RajinRayaroth
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

Assembler, Compiler, Interpreter, Linker, Loader

Assembler:
A computer will not understand any program written in a language, other than its machine language.
The programs written in other languages must be translated into the machine language. Such
translation is performed with the help of software. A program which translates an assembly
language program into a machine language program is called an assembler. If an assembler which
runs on a computer and produces the machine codes for the same computer then it is called self
assembler or resident assembler. If an assembler that runs on a computer and produces the machine
codes for other computer then it is called Cross Assembler.
Assemblers are further divided into two types: One Pass Assembler and Two Pass Assembler. One
pass assembler is the assembler which assigns the memory addresses to the variables and translates
the source code into machine code in the first pass simultaneously. A Two Pass Assembler is the
assembler which reads the source code twice. In the first pass, it reads all the variables and assigns
them memory addresses. In the second pass, it reads the source code and translates the code into
object code.

Compiler:
It is a program which translates a high level language program into a machine language program. A
compiler is more intelligent than an assembler. It checks all kinds of limits, ranges, errors etc. But
its program run time is more and occupies a larger part of the memory. It has slow speed. Because a
compiler goes through the entire program and then translates the entire program into machine
codes. If a compiler runs on a computer and produces the machine codes for the same computer
then it is known as a self compiler or resident compiler. On the other hand, if a compiler runs on a
computer and produces the machine codes for other computer then it is known as a cross compiler.

Interpreter:
An interpreter is a program which translates statements of a program into machine code. It
translates only one statement of the program at a time. It reads only one statement of program,
translates it and executes it. Then it reads the next statement of the program again translates it and
executes it. In this way it proceeds further till all the statements are translated and executed. On the
other hand, a compiler goes through the entire program and then translates the entire program into
machine codes. A compiler is 5 to 25 times faster than an interpreter.
By the compiler, the machine codes are saved permanently for future reference. On the other hand,
the machine codes produced by interpreter are not saved. An interpreter is a small program as
compared to compiler. It occupies less memory space, so it can be used in a smaller system which
has limited memory space.

Linker:
In high level languages, some built in header files or libraries are stored. These libraries are
predefined and these contain basic functions which are essential for executing the program. These
functions are linked to the libraries by a program called Linker. If linker does not find a library of a
function then it informs to compiler and then compiler generates an error. The compiler
automatically invokes the linker as the last step in compiling a program.
Not built in libraries, it also links the user defined functions to the user defined libraries. Usually a
longer program is divided into smaller subprograms called modules. And these modules must be
combined to execute the program. The process of combining the modules is done by the linker.

Loader:
Loader is a program that loads machine codes of a program into the system memory. In Computing,
a loader is the part of an Operating System that is responsible for loading programs. It is one of the
essential stages in the process of starting a program. Because it places programs into memory and
prepares them for execution. Loading a program involves reading the contents of executable file
into memory. Once loading is complete, the operating system starts the program by passing control
to the loaded program code. All operating systems that support program loading have loaders. In
many operating systems the loader is permanently resident in memory.

You might also like