Skip to content

A JavaFX-based tool for visualizing, editing, and minimizing DFAs (Deterministic Finite Automata), enabling users to efficiently create, optimize, and work with state machines in a user-friendly interface.

Notifications You must be signed in to change notification settings

amir-azari/DFA-Minimizer-JavaFX

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DFA Minimizer and Visualizer

This project provides a JavaFX-based tool for visualizing, editing, and minimizing DFAs (Deterministic Finite Automata). It helps users observe, analyze, and optimize state machines with an intuitive interface.

Features

  • DFA Visualization: Ability to visually draw and manipulate DFAs.
  • DFA Minimization: Automated tools for minimizing DFAs using efficient algorithms.
  • Interactive State Management: Draggable states and intuitive controls for managing state transitions.
  • Built with Java and JavaFX: This project is implemented using Java and JavaFX for an interactive user experience.

Installation and Usage

  1. Clone the Repository:
    https://github.com/amir-azari/DFA-Minimizer-JavaFX.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, editing, and minimizing DFAs (Deterministic Finite Automata), enabling users to efficiently create, optimize, and work with state machines in a user-friendly interface.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy