This machine was thought of by the mathematician Alan Turing in 1936. Despite its simplicity, the machine can process any computer algorithm. The machine consists of :
At each step, the machine can read and modify the character under the head, change the state of the machine, and then move the head one unit to the left or right. |
state |
tape |
steps |
||
---|---|---|---|---|
---------------------------------------------- |
||||
0 | 0 | 0 |
initial value |
|
fast | ||||||||||||
actions table |
||||||||||||||
syntax :
- '<current state> <current symbol> <new state> <new symbol> <direction>'
- ';' starts a comment
<current state> / <new state> :
- any number or word can be used for the names (case-sensitive)
- '*' means 'any state' when used in the <current state> field
- '=' means 'no change' when used in the <new state> field
- the machine starts in state '0' and halts in state '!'
<current symbol> / <new symbol> :
- symbols must be a single character - any character can be used (case-sensitive)
- '_' represents the blank (space) symbol
- '*' means 'any symbol' when used in the <current symbol> field
- '=' means 'no change' when used in the <new symbol> field
<direction> :
- <direction> should be '<', '>' or '=' (respectively 'left', 'right' or 'stay')