What is a compiler? Give the difference between a compiler and an interpreter?
Compiler:
i) A program which translates a high level language program into a machine level language program is known as a compiler.
ii) Compiler goes through the entire program and then translates the entire program into the machine code. (see fig I.)
![]() |
fig I Compiler compiles the program into the machine code |
Image reference of the compiler, program and the machine codes
In the image the left side box entity is a compiler. The compiler shows the program you have written in the text editor or program editor compiles the whole program. The dotted line shown from the left side entity “the compiler” through the program just represents the compilation of the whole program. The dotted line also shows the program change into the machine code after the compiler compiles the whole program. These machine codes go to the ALU in the CPU that processes the codes and gives the instruction to the output units to perform a program output on the monitor.
iii) A compiler shows a list of errors along with the line numbers at the end of the program execution. (see fig. II)
![]() |
fig II -Compiler shows error after execution of the program. |
iv) The compiler is faster than the interpreter.
v) The object code program produced by the compiler is permanently saved for future reference.
vi) If the compiler runs on a computer for which it produces the object code it is known as a ‘self or resident compiler’.
vii) If a compiler runs on a computer other than that for which it produces an object code, it is known as a ‘cross compiler.’
i) An interpreter is a program which translates one state of a high level language program into machine code and executes it at a time (see fig III).
![]() |
fig III An interpreter check line by line errors in the program |
ii) The interpreter shows errors line by line (see fig III).
iii) An interpreter is a smaller program as compared to the compiler.
iv) The object code of the statement produced by an interpreter is not saved.
v) The presence of a source program is always required for the interpreter.
vi) If the instruction is used next time, it must be interpreted once again and translated into the machine code.
vii) An interpreter needs less memory space.
viii) It can also be used in a smaller system with limited memory space.
Can a program be used to process expression based values?
Yes, it is correct that the program in any language that includes the expression or equation can process the input values based on the expression used in the program.Such as:- an expression is a+b/c= d can be processed with the input values takes into the numerical values in the form of integer or float value for example:- a = 1.2, b = 1.3 and c = 2 then d = 1.25 as a float values comes into the program most used in the C language program to process these values into the compiler software on the computer.
Similarly, the other types of language uses different types of method to take input values in the program to provide the output value at the output interface of the program.
I hope you from this topic “ What is compiler? Give the difference between a compiler and an interpreter? ” and you can enjoy this informative post that i have published and provide you to the information technology or computer science related solution or questions/answers provided in the topic to study and happy learning 🙂
"Thank you for taking the time to read this post! I hope you found the information helpful and informative. Don't forget to stay tuned for more exciting updates and insightful content. Your support means the world to me!"
My latest post is here links below about the databases technology
What are the components of data model in [DBMS] Relational Database Management System?
What is stability of the distributed database management system?
In the distributed database model there are.... 👉 click here👈
There are five main components of data model... 👉 click here 👈
Comments
Post a Comment