In this section, we present a task-oriented ("how-to") guide to creating and editing machines.
Each machine has an alphabet assocated with it. This is the set of symbols that it can read and write to the tape. In this program, unlike in some Turing machine models there are not separate alphabets for allowable input ("input alphabet") and symbols that the machine can write to the tape ("tape alphabet"). Instead, consider the single alphabet to be the union of these two alphabets.
In the Alphabet menu, click on Configure Alphabet.
This will bring up the alphabet configuration dialog. Check the boxes for the symbols that you
wish to include in your alphabet, and press Ok.
To add a state, choose the Add States mode from the Mode menu or from the toolbar. Now, clicking
on an empty space in a machine window will create a state at that location.
Select the Add Transitions mode from the Mode menu or from the toolbar. Click on a state, and
drag the mouse to another state without releasing the mouse button to create a transition between
the two states. Create self-loops by both clicking and releasing the mouse on the same state.
Each transition has an input symbol (to the left of the /), and an action symbol (to the right of the /). When the machine is in the 'from' state of a transition, and the symbol on the tape beneath the read/write head matches the input symbol of a transition, the action defined by the action symbol may be performed and the machine state is set to the 'to' state of the transition.
By default, the transition created has an otherwise input symbol, '?', which will match with any symbol on the tape if and only if there is no other transition that matches. The output action defaults to the epsilon action, the empty action which causes no change to be made to the tape.
Click on the input or output symbol of a transition, and on your keyboard type the character that you want to change the symbol to be. You may only change the symbol to characters that belong to the alphabet of the machine, or one of the special symbols described below. If the blank symbol is in the alphabet, you may type this character by pressing the spacebar button or the underscore key '_'.
Input symbols may be set to wildcard symbols by typing '*'. Wildcards match any symbol.
Another useful input symbol is the otherwise symbol, '?', which matches any symbol, but only if no other transition's input symbol matches. If several otherwise transitions exist, and there are no other matching outgoing transitions, all of the otherwise transitions are considered to match the input symbol.
Empty epsilon actions are created by pressing 'Shift + E 'when the action symbol is selected. These actions cause no change to the tape.
Set the action to move the read/write head left or right by typing the left and right arrow keys, respectively.
Choose the Eraser mode from the Mode menu or toolbar.
Click on a state or transition to erase it.
Click on a state and drag it to move it to another location. Transitions can be moved similarly by clicking on their action text or the directional arrows and dragging.
Select the Choose Start States mode from the Mode menu.
Click on a state to toggle whether it is
a start state or not. If there is more than one start state, a start state will be chosen randomly
upon execution. If you wish to select a specific start state to use, you can use the
Choose Current State mode to set the current state to
that start state, and begin execution from there.
Select the Choose Accepting States mode from the Mode menu.
Click on a state to toggle whether it is an accepting state or not.
A set of states can be selected by dragging a box around them in the
Make Selection mode. To add
or remove states from the current set of selected states, click on them while holding the shift key.
All transitions that connect only to other states within the set of selected states are automatically
selected.
These selected states and transitions can now be cut, copied and pasted using the appropriate items from the Edit menu. Pasted states are renamed to the first free name that has not yet been used in this machine to prevent duplication of names.
To give a state a custom name, click once on its name. This brings up the appropriate dialog box. States must be uniquely named within a machine - duplicate names are not allowed.
Machines can be saved to a hard disk or other storage medium by selecting
Save Machine from the File menu.
Choose
Open Machine from the File menu to retrieve a machine later.