
In
computer science
Computer science deals with the theoretical foundations of information, algorithms and the architectures of its computation as well as practical techniques for their application.
Computer science is the study of , , and . Computer science ...
, an interpreter is a
computer program
In imperative programming
In computer science, imperative programming is a programming paradigm that uses Statement (computer science), statements that change a program's state (computer science), state. In much the same way that the imperative mo ...
that directly
executes
Capital punishment, also known as the death penalty, is the State (polity), state-sanctioned killing of a person as punishment for a crime. The sentence (law), sentence ordering that someone is punished with the death penalty is called a dea ...
instructions written in a
or
scripting language
A scripting language or script language is a programming language
A programming language is a formal language comprising a Instruction set architecture, set of instructions that produce various kinds of Input/output, output. Programming language ...
, without requiring them previously to have been
compiled
In computing, a compiler is a computer program that Translator (computing), translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primarily ...

into a
machine language
In computer programming
Computer programming is the process of designing and building an executable computer program to accomplish a specific computing result or to perform a particular task. Programming involves tasks such as analysis, ge ...
program. An interpreter generally uses one of the following strategies for program execution:
#
Parse
Parsing, syntax analysis, or syntactic analysis is the process of analyzing a string of symbols
A symbol is a mark, sign, or word
In linguistics, a word of a spoken language can be defined as the smallest sequence of phonemes that can be ut ...

the
source code
In , source code is any collection of code, with or without , written using a ''human-readable'' , usually as . The source code of a program is specially designed to facilitate the work of computer s, who specify the actions to be performed ...

and perform its behavior directly;
#
Translate
Translation is the communication of the meaning of a source-language text by means of an equivalent target-language text. The English language draws a terminological distinction (which does not exist in every language) between ''transla ...
source code into some efficient
intermediate representation
An intermediate representation (IR) is the data structure
Image:Hash table 3 1 1 0 1 0 0 SP.svg, 315px, A data structure known as a hash table.
In computer science, a data structure is a data organization, management, and storage format that ...
or
object code
In computing
Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes and development of both computer hardware , hardware and softw ...
and immediately execute that;
# Explicitly execute stored precompiled
bytecode
Bytecode, also termed portable code or p-code, is a form of instruction set
In computer science, an instruction set architecture (ISA), also called computer architecture, is an abstract model of a computer. A device that executes instructions ...
made by a
compiler
In computing
Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes and development of both computer hardware , hardware and soft ...

and matched with the interpreter
Virtual Machine
In computing, a virtual machine (VM) is the virtualization/emulator, emulation of a computer system. Virtual machines are based on computer architectures and provide functionality of a physical computer. Their implementations may involve special ...
.
Early versions of
Lisp programming language
Lisp (historically LISP) is a family of programming language
A programming language is a formal language
In mathematics
Mathematics (from Ancient Greek, Greek: ) includes the study of such topics as quantity (number theory), mathema ...
and
minicomputer and microcomputer BASIC dialects would be examples of the first type.
Perl
Perl is a family of two high-level
High-level and low-level, as technical terms, are used to classify, describe and point to specific Objective (goal), goals of a systematic operation; and are applied in a wide range of contexts, such as, for ...
,
Raku,
Python
PYTHON was a Cold War contingency plan of the Government of the United Kingdom, British Government for the continuity of government in the event of Nuclear warfare, nuclear war.
Background
Following the report of the Strath Committee in 1955, the ...
,
MATLAB
MATLAB (an abbreviation of "MATrix LABoratory") is a proprietary
{{Short pages monitor