From Rosetta Code

An interpreter reads either source code or bytecode for a program, and performs the instructions specified by that program.

An interpreter is distinguished from a compiler by the fact that it doesn't need to compile the source format to a machine-readable format first; instead, it directly executes the instructions from the source.

See also