This project is a tool for minimizing DFAs (Deterministic Finite Automata). It allows users to visually observe and analyze input DFAs and also convert them into a minimized form.
- DFA Visualization: Ability to visually draw DFAs.
- DFA Minimization: Automated tools for minimizing DFAs.
- Draggable States: Users can move states around the canvas.
- Built with Java and JavaFX: This project is implemented using Java and JavaFX.
- Clone the Repository:
git clone https://github.com/amir-azari/DFA-Editor-and-Minimizer.git
We welcome your contributions! Please report issues or submit pull requests for collaboration.
For questions or feedback, please reach out to me:
- Email: ah.azari.wr@gmail.com
- Defining Symbols: Symbols should be separated by spaces. For example:
a b c
. - Defining States: States should be separated by spaces. For example:
q1 q2 q3
.
- Adding States:
Right-click
on the canvas to add a state. - Dragging States: States can be dragged by
left-clicking
and holding. - Selecting Start and Final States: You can select states for transitions by holding
CTRL
+left-clicking
on them. - Defining Final and Start States: Double
left-click
on a state to mark it as a final state or a start state, or to remove these designations. - Changing Position of Self-loop States:
left-click
on self-loop states to change their position. - Managing Transitions: You can manage transitions using
Undo
andRedo
functionality. - Updating Transitions: Transitions can be updated as needed.