abstract machine


abstract machine

(language)A processor design which is not intended to beimplemented as hardware, but which is the notional executorof a particular intermediate language (abstract machinelanguage) used in a compiler or interpreter. An abstractmachine has an instruction set, a register set and a modelof memory. It may provide instructions which are closer tothe language being compiled than any physical computer or itmay be used to make the language implementation easier toport to other platforms.

A virtual machine is an abstract machine for which aninterpreter exists.

Examples: ABC, Abstract Machine Notation, ALF, CAML,F-code, FP/M, Hermes, LOWL,Christmas, SDL, S-K reduction machine, SECD, Tbl,Tcode, TL0, WAM.

abstract machine

(theory)A procedure for executing a set of instructions insome formal language, possibly also taking in input data andproducing output. Such abstract machines are not intended tobe constructed as hardware but are used in thoughtexperiments about computability.

Examples: Finite State Machine, Turing Machine.