In this post you understand an interpreter, it’s a role and working. Also, you are able to know the difference between interpreter vs compiler. How they are different?
So Let’s begin.
What is Interpreter?
An interpreter is a set of logic written in any programming language that helps us to develop other program or application. Basically, It converts human-readable programming source code into machine language i.e. 0’s and 1’s.
The interpreter converts human-readable source code into machine language at run time. It does not create any object file.
It reads code line by line and this is the only reason it is slower than a compiler.
An interpreter examples
There are many languages run on an interpreter. You can consider PHP, ruby and python. They all run on it.
An Interpreter job
The interpreter or compiler both have similar jobs. They convert human-readable program source code into machine language.
A compiler is faster than an interpreter but if we consider memory management; interpreter wins because it does not create any object file.
What is a compiler?
A compiler reads whole-program source code written by a programmer and compiles it. It also shows you logical, syntax errors if any.
If you are a programmer, many times you see few syntax or logical errors occurs in your programming code. These errors are shown by compiler of that programming language.
A compiler reads whole-program code in one time and compiles it. It is very fast as compared to an interpreter.
It is also responsible to read source code and converts it into output assembly code or executable code.
A compiler also converts human-readable source code into a machine language and vice versa for showing output or result of a program.
You can read complete details about Compiler and its phases here.
An interpreter vs compiler
|The interpreter is used to converting high-level programming language into machine code.||A compiler is also used to convert a high-level program code into a machine code i.e. 0’s and 1’s.|
|It reads code line by line. Means, if interpreter found an error in line number 5 so it will not move until you resolve that error.||The compiler reads whole source code at a time and display the total number of errors in that program code (if found)|
|An interpreter does not create any object file. So it takes less memory to execute program.||A compiler creates an object file. It need more memory to run a program.|
|It needs more execution time as compared to compiler.||It needs less time.|
|An interpreter executes program at the time of program execution||But a compiler first compilers whole code then executes it.|
|It runs the program and terminates in mid if it find some error.||Compiler first compiles the whole program and display all errors and warnings if any then executes the program.|
|programming language examples – PHP, perl and ruby etc.||supporting languages are C & C++ etc.|
Do you know that
Java is a programming language that usages both compiler and interpreter. The Java code itself is compiled into Object Code. At run time, the JVM interprets the Object code into the machine code of the target computer.
You can also read
- Keywords in C Language [Full List]
- What is a computer program and programming
- Comments in C: How to use in a program?
- Assigning Values to Variables in C Language
- What are identifiers in C language
Hope that you understand the difference between compiler and interpreter. Please feel free to ask your questions in below comment section.