The compiler and interpreter both translates the higher level language programs, the difference lies that a compiler compiles the source code into an executable machine code whereas an interpreter interprets each instruction and executes it without producing any machine/object code. The compiler work is a onetime go, once a program is compiled; it can be saved for a later time execution whereas interpreter has to interpret every time, the program runs. Object code is generated in case of compiler whereas no object code is produced in interpreter; it only produces an intermediate code. Compiler processes the program on the whole but an interpreter processes it instruction by instruction. In compiler, program execution is fast and in case of interpreter it’s slower because statement by statement interpretation and execution is time consuming. In compiler, debugging process is difficult as compared to the debugging in an interpreter. Compiler does not require source code at run time but in case of interpreter complete source code file is required to execute a program. Compiler requires more memory because the machine code generated is quite large but in case of interpreter, no extra memory is needed. In compilers, the errors in a program are displayed after the complete source code is analyzed but in case of interpreter, errors are displayed for every line interpreted. The compiled code is executed by the computer hardware in case of compilers whereas in interpreters, the intermediate code is processed by another program. In programming scenario, the compiler checks the program’s syntax but interpreters verify the keywords of a program. In compilers there is a scope of code optimization and interpreters allow the modification of code at run time. Both of these are commonly in use by programmers and both possess their own specifications and advantages.
Compiler processes the whole program; interpreter interprets code line by line.
Compiler produces a binary machine code; interpreter generates an intermediate code.
Compilers do not require source code file on the time of execution; interpreters need source code file for run time execution.
Compilers examines the validity of code syntax; interpreters checks for the keywords.
Compilers display errors after checking complete source code; interpreters display errors of each instruction in code in the specified sequence.
Compiler machine code can be saved and reused once compiled; interpreter has to interpret source code every time.
In compiler, program execution is fast; in interpreter program execution is slow.
Debugging is complicated in compilers; debugging is easy in interpreters.
Compiler’s machine code is further processed by hardware; interpreter’s intermediate code is processed by another specialized program.
In compilers, execution of program is done after compilation stage; interpreters directly execute the program without any compilation.
Compiler uses more memory; interpreter requires less memory.
One that compiles
A compiler of anthologies.
One who translates orally from one language into another.
(Computers) A program that translates another program written in a high-level language into machine language so that it can be executed.
One who gives or expounds an interpretation
"An actor is an interpreter of other men's words, often a soul which wishes to reveal itself to the world" (Alec Guinness).
One who compiles.
A compiler of poetry anthologies
My favourite crossword compiler
(Computers) A program that executes other programs.
(compilation) A computer program which transforms source code into object code.
A person who interprets.
An interpreter of dreams
One of the foremost interpreters [i.e. performers] of Beethoven's piano works
One who compiles; esp., one who makes books by compilation.
A person who converts spoken or signed language into a different language for the benefit of one or more others who do not understand the first language being used (especially if in real time or shortly after that person has finished communicating). translator.}}
A Japanese man who is tried before a German court is assisted by an interpreter in making oral statements.
A computer program that decodes instructions written in a higher-level computer language to produce an assembly-language program or an executable program in machine language.
A guide who helps people visiting an attraction such as an art exhibit, a nature reserve, etc., understand what they are seeing.
A person who compiles (or writes for) encyclopedias
(figuratively) Something that reveals or clarifies.
(computer science) a program that decodes instructions written in a higher order language and produces an assembly language program
(computing) A program that executes another program written in a high-level language by reading the instructions in real time rather than by compiling it in advance.
Programs written in the BASIC language are usually run through an interpreter, though some can be compiled.
One who or that which interprets, explains, or expounds; a translator; especially, a person who translates orally between two parties.
We think most men's actions to be the interpreters of their thoughts.
Someone who mediates between speakers of different languages
Someone who uses art to represent something;
His paintings reveal a sensitive interpreter of nature
She was famous as an interpreter of Shakespearean roles
An advocate who represents someone else's policy or purpose;
The meeting was attended by spokespersons for all the major organs of government
(computer science) a program that translates and executes source language statements one line at a time
A compiler is a specialized program that processes the source code written in some higher level language into computer understandable machine code. This machine code is actually in binary language that a processor understands and executes. To write a source code, the programmer writes the program in a language like C, C++ or Pascal using some programming editor. This program is then executed using a compiler that is appropriate for the language in which the source code is written. A compiler’s input is a complete program; it first analyzes it and then processes it. It performs a number of analysis on the source code given as an input, the lexical and syntactical analysis. After performing both these steps the final task of compiler is to generate the machine code. The output of this compilation is the object code and is executable. The program is compiled once and do not need to be compiled every time the program runs.
An interpreter is a program that performs the statement by statement (line by line) translation of the program source code written in some higher level language. An interpreter, when given a program it takes its one line, interprets it and then executes it. Interpreter generates an intermediate code after interpreting source code and therefore executes it. There is no compilation stage and no machine code is generated. This is how interpreter translates and runs the whole program line by line. It is preferred when immediate instruction by instruction execution is required. They are useful especially when code testing is done. Every time, when a program is to make run, the interpreter interprets it the same way.