Skip to content

A JavaFX-based tool for visualizing and minimizing DFAs (Deterministic Finite Automata), allowing users to easily create, edit, and optimize state machines.

Notifications You must be signed in to change notification settings

amir-azari/DFA-Editor-and-Minimizer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

A JavaFX-based tool for visualizing and minimizing DFAs (Deterministic Finite Automata), allowing users to easily create, edit, and optimize state machines.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published