An interpreter handles the situation very differently to a compiler. Instead of producing object code it simply translates each row then executes it. The interpreter will take the first line of the source code, translate it then execute it. It will then work on the next line and so on. This is used for many languages such as BASIC, LISP, prolog and scheme. As a side note, these languages tend to be, but not exclusively, functional. That is they bare some resemblance to Alonzo Church's Lambda calculus where code is represented as mathematical functions.

Advantages
Disadvantages

Source code only has to be written once and then it can run on any computer running an interpreter.

As source code must be compiled each time, interpreted programs can sometimes run slowly.

You can test code much more quickly as well as being to test single lines of code out

You must have an interpreter running on the computer in order to be able to run it.

You can easily find out what the contents of variables are by asking the interpreter.

You can not have to rely on the interpreter for machine level optimisations rather than programming them in yourself. For example using 3dNow or MMX optimisations.

Code can be run on many different types of computers such as Mac’s, UNIX, LINUX and PC’s