×

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

×