Skip to content

Latest commit

 

History

History
52 lines (35 loc) · 1.88 KB

README.md

File metadata and controls

52 lines (35 loc) · 1.88 KB

Minimization DFA

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.

Features

  • 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.

Installation and Usage

  1. Clone the Repository:
    git clone https://github.com/amir-azari/DFA-Editor-and-Minimizer.git
    

Contributing

We welcome your contributions! Please report issues or submit pull requests for collaboration.

Contact

For questions or feedback, please reach out to me:

How to add input

  • 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.

How to Draw DFA

  • 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 and Redo functionality.
  • Updating Transitions: Transitions can be updated as needed.

Demo