Skip to content
Reeshav Sinha edited this page Jun 20, 2026 · 7 revisions

AutomataLab Wiki

AutomataLab is a modern, fast, cross-platform desktop application for designing, simulating, and testing automata across the Chomsky hierarchy — from finite automata all the way up to Turing machines. It pairs an interactive, node‑based visual canvas with a rigorous, theory‑faithful simulation engine.

Built with Tauri + React + TypeScript, it runs natively on Windows, macOS, and Linux, and also ships as a web build on Vercel.

Current version: v4.1.0 — see the Roadmap for what's next and the full changelog.


What can it do?

  • Seven machine types covering the whole Chomsky hierarchy: DFA, NFA, ε‑NFA, DPDA, NPDA, TM, LBA — including multi‑tape Turing machines.
  • Interactive canvas — drag‑and‑drop states, draw transitions from a hover connection dot, and tidy diagrams with one‑click ELK auto‑layout.
  • Live simulation — step forward/back or play continuously at adjustable speed, watching the active states, stack (PDA), or tape (TM/LBA) update in real time.
  • Computation tree / trellis — visualise every branch of a nondeterministic run, colour‑coded by status.
  • Transition (δ) table editor, data export (CSV / LaTeX / JSON), and a batch test runner with accept: / reject: expectations.
  • Real‑time validation with declared input (Σ) and stack/tape (Γ) alphabets, plus a one‑click Complete DFA fix.
  • Desktop niceties — multi‑tab editing, native save/load of .autolab.json files, light/dark themes, and over‑the‑air auto‑updates.

Start here

If you want to… Read
Install the app or build from source Getting Started
Learn the editor, panels, and workflow User Guide
Understand the machine models Machine Types
Run and debug a simulation Simulation
Test many strings at once / export data Transition Table & Data Tools
Hand‑write or generate a machine file File Format
Hack on the codebase Architecture
Understand project rationale Decision Log
Help improve the project Contributing Guide

Full page index


License

AutomataLab is released under the MIT License.

Clone this wiki locally