Finite Automata Simulator
Interactive automata simulator that converts regex to NFA/DFA/Min-DFA, visualizes state graphs, and simulates string acceptance in the browser.
Personal Completed Next.js 16 TypeScript React 19 Tailwind CSS 4 Bun XYFlow Dagre
Role: Full-stack developer
Overview
Finite Automata Simulator is an interactive web app for formal language and automata learning. It takes a regular expression, constructs an NFA using Thompson’s construction, optionally converts it to a DFA, minimizes the DFA, and lets users test string acceptance.
Key Features
- Regex to NFA conversion with clear construction flow.
- NFA to DFA subset construction.
- DFA minimization using partition refinement (Hopcroft algorithm).
- Interactive automata graph rendering.
- String simulation to verify accepted/rejected inputs.
Technical Notes
- Built with Next.js App Router and TypeScript.
- Integrated graph layout + visualization tooling for readable state diagrams.
- Designed as a browser-first learning tool with responsive UI and fast interactions.