[state],[character],[new state],[new character],[direction]
etc.
You can also use any number of spaces as a separator in addition to commas (I prefer to leave a few spaces between the character and the new state to emphasize the left and right sides of the transition). The character '_' may be used to denote a blank, 'H' to denote the halt state (only valid on the right side of the transition), and '<' and '>' to denote moving left or right, respectively. If you would prefer to program the machine as a 4-tuple (that is, allow it to either write a character or move the tape head in a transition, not both), just enter the lines like this:
[state],[character],[new state],[new character or direction]
'<' and '>' are not valid tape characters, so the applet will be able to figure this out.
Once you've set all the necessary transition rules (it is not necessary to define a transition for every state/character pair, the machine will implicitly halt if it can't find an applicable transition at some point), and set the type, initial pos and initial characters parameters as needed, you can set up the code to run by pressing the "install program" button. The message box will let you know if there's something screwy with your code.
When the machine stops it prints out the contents of the tape in the comment text box. It uses a a simple form of run length encoding for this so instead of putting "111111111111" for example it will write "1:12;". The character ":" and ";" are not valid tape characters. You can use this encoding in the "initial characters on tape" text field.
If you are going to load the same program over and over you can add instructions in the programming text box to set other fields. These instructiona are all complete lines begining with # followed by the instruction letter followed by a space which is then followed by the information. The whole lot can then be pasted in one go.
| Site by Paul Rendell. | Last Update 12 Dec 09 | Comments to Paul Rendell |