abstract machine

from The Free On-line Dictionary of Computing (8 July 2008)
abstract machine

   1. <language> A processor design which is not intended to be
   implemented as {hardware}, but which is the notional executor
   of a particular {intermediate language} (abstract machine
   language) used in a {compiler} or {interpreter}.  An abstract
   machine has an {instruction set}, a {register set} and a model
   of memory.  It may provide instructions which are closer to
   the language being compiled than any physical computer or it
   may be used to make the language implementation easier to
   {port} to other {platforms}.

   A {virtual machine} is an abstract machine for which an
   {interpreter} 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}.

   2. <theory> A procedure for executing a set of instructions in
   some formal language, possibly also taking in input data and
   producing output.  Such abstract machines are not intended to
   be constructed as {hardware} but are used in thought
   experiments about {computability}.

   Examples: {Finite State Machine}, {Turing Machine}.

   (1995-03-13)
    

[email protected]