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.
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
- ✅ 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)
git clone https://github.com/yourusername/fsa-simulator.git
cd fsa-simulator
- Install Dependiancies
pip install -r requirements.txt
- Run the App
python app.py
visit http://localhost:5000 to see the displayed output
Screenshots
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