Last Updated: September 24, 2023
This repository contains a Finite State Machine (FSM) simulator implemented in Python. The simulator provides functionality for building and working with deterministic finite automata (DFA) and non-deterministic finite automata (NFA). It also includes features for determization and minimization of finite state machines.
A finite state machine is a mathematical model of computation used in various applications, such as natural language processing, compilers, and digital circuit design. This simulator can be a valuable tool for understanding and experimenting with FSMs.
To use this Finite State Machine simulator, follow these steps:
-
Clone the repository to your local machine:
git clone https://github.com/medalha01/Finite-State-Machine.git
-
oPEN THE MAIN FILE:
Input a FSM string and choose between minimization or determinization.
-
You're ready to start using the simulator.
The core components of this repository are as follows:
-
machine.py
: Contains the implementation of the FiniteStateMachine class, which represents a finite state machine. -
machine_factory.py
: Provides a Factory class for creating different types of finite state machines. -
main.py
: An example script showcasing how to use the Finite State Machine simulator. -
minimizator.py
: Contains the implementation of a minimization algorithm for DFAs. -
states.py
: Defines the State class for representing states in finite state machines.
For detailed usage and code examples, please refer to the source code and documentation within the repository.
Contributions to this project are welcome. If you have ideas for improvements, bug fixes, or new features, feel free to open issues or submit pull requests. Please make sure to follow the project's coding standards and conventions.
This Finite State Machine Simulator is open-source and licensed under the MIT License.
Enjoy working with finite state machines!