Skip to content

DanielWill-1/Finite-State-Automata-Simulator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Finite State Automata Simulator

A visual and interactive Finite State Automata (FSA) Simulator built for educational and experimental purposes. It allows users to simulate both Deterministic Finite Automata (DFA) and Non-deterministic Finite Automata (NFA) with step-by-step visualization of transitions using Graphviz.


Overview

The simulator is designed to help users understand how DFA and NFA behave by visually tracing input strings through a given state machine.

Key components include:

  • DFA/NFA distinction and logic
  • Graph-based visualization of states and transitions
  • Input evaluation with success/failure paths

Tech Stack

Python Graphviz Flask React


Features

  • ✅ Simulate DFA and NFA
  • 🖼 Visualize states and transitions using Graphviz
  • 🔍 Step-by-step tracing of input strings
  • 🧪 Check whether an input is accepted or rejected
  • 🌐 Simple web interface (React + Flask)
  • 📤 Export graph representations (PDF/PNG)

Installation & Setup

1. Clone the repository

git clone https://github.com/yourusername/fsa-simulator.git
cd fsa-simulator
  1. Install Dependiancies
pip install -r requirements.txt
  1. Run the App
python app.py
visit http://localhost:5000 to see the displayed output

Screenshots


Future Plans

Drag-and-drop UI for building automata

Multi-input batch testing

Support for Regular Expressions → Automata conversion

Export/import FSA as JSON or DOT

Mobile-friendly UI


About

a small finite state simulator project

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages