Abstract machine

From Esolang
Jump to navigation Jump to search
This article is a stub, which means that it is not detailed enough and needs to be expanded. Please help us by adding some more information.

An abstract machine is a hypothetical device in computer science that performs actions, possibly based on input provided. They are typically not bounded by the confines of reality. An example of an abstract machine is a Turing machine.

Types of abstract machine

Turing machine

A traditional Turing machine comes in two parts: A reader head and a tape. On the tape are symbols that can be read and written to by the reader head. The reader head has a "state" and a set of rules. It reads the cell under it and, dependent on its current state and the value of the cell and what those two values correspond to in the rule table, it:

  • Sets the cell under it to a certain symbol
  • Goes to a certain state
  • Moves either left or right along the tape