views:

387

answers:

2

How does an interpreter/compiler work? What is the difference between interpreter and compiler.

+5  A: 

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.

From Compiler vs. Interpreter

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
astander
so c# uses both compiler and interpreter?
@user283405: VB is interpreted, while C# is compiled.
KMan
That's not correct. Both languages are both compiled and interpreted.
Matt H
+3  A: 

Compiler, transforms source code in one computer language to another one.

Interpreter, executes source code directly (usually inside its own virtual machine).

alt text

Generally interpreter is performance costly.

KMan