How does an interpreter/compiler work? What is the difference between interpreter and compiler.
From Compilers and Interpreters
Compilers
Compilers were the first sort of translator program to be written. The idea is simple: You write the program, then hand it to the compiler which translates it. Then you run the result.
Interpreters
An interpreter is also a program that translates a high-level language into a low-level one, but it does it at the moment the program is run. You write the program using a text editor or something similar, and then instruct the interpreter to run the program. It takes the program, one line at a time, and translates each line before running it: It translates the first line and runs it, then translates the second line and runs it etc.
Compiler characteristics:
- spends a lot of time analyzing and processing the program
- the resulting executable is some form of machine- specific binary code
- the computer hardware interprets (executes) the resulting code
- program execution is fast
Interpreter characteristics:
- relatively little time is spent analyzing and processing the program
- the resulting code is some sort of intermediate code
- the resulting code is interpreted by another program
- program execution is relatively slow
Compiler, transforms source code in one computer language to another one.
Interpreter, executes source code directly (usually inside its own virtual machine).
Generally interpreter is performance costly.