In computer science, an interpreter normally means a computer program that executes, i.e. performs, instructions written in a programming language. An interpreter may be a program that either<br />
executes the source code directly<br />
translates source code into some efficient intermediate representation (code) and immediately executes this<br />
explicitly executes stored precompiled code[1] made by a compiler which is part of the interpreter system<br />
Perl, Python, MATLAB, and Ruby are examples of type 2, while UCSD Pascal and Java are type 3: Source programs are compiled ahead of time and stored as machine independent code, which is then linked at run-time and executed by an interpreter and/or compiler (for JIT systems). Some systems, such as Smalltalk, BASIC and others, may also combine 2 and 3.