×
Deterministic Finite Automaton Simulator
Drawing
- To create a state, double click the canvas.
- To create a transition arrow, hold shift while dragging from one state to another.
- To make a state into an accepting one, double click it. Double click again to toggle.
- To mark the initial state, hold shift while dragging from an empty location into the initial state.
- Click on a transition or a state to edit its text. While selected, click the delete key to remove it.
- When editing text, use an underscore for a subscript, and a backslash followed by the name of the letter for greek letters. You can also use '\bot' for the empty stack symbol and '\vdash' for the beginning of a Turing Machine tape.
- You can drag states and transitions to move them around.
Simulating
- When defining transitions, seperate letters by a comma, and don't use spaces.
- You can use '*' to accept all letters, and you can use ranges: i.e. '1-9'.
- Type the word into the box below the canvas. After each letter the current state is marked in blue.
- When the box is green the word is accepted, and when the box is red the word is in a trap state.
- Use the 'Export DFA' button to generate a string of text that encodes your DFA.
- Use the 'Import DFA' button to generate a DFA based on a textual represntation.
- Use the 'Clear Board' button to remove all states and transitions.
- Use the 'Error-Check' button to check if any states are missing out-going transitions.
Made by Gal Horowitz 2019