Interpreters and Interpretation
Richard Bornat · 1979
An interpreter is simply a device which takes some representation of a program and carries out the operations which the program specifies — i.e. it mimics or simulates the operations which a machine would carry out if it were directly capable of processing programs written in that language. A compiler takes a similar representation of a program and produces instructions which, when processed by a machine, will carry out the operations which the program specifies. The difference between an interpreter and a machine under this definition is not very great: the microprogram of a computer is an interpreter which reads a machine code program and imitates the behaviour that a ‘real’ machine would express given that program.