-
Notifications
You must be signed in to change notification settings - Fork 0
Home
AutomataLab is a comprehensive visual learning and simulation environment for formal languages, automata theory, and compiler design. It allows students and developers to design, execute, and inspect computational models with step-by-step visual feedback.
Whether you're trying to figure out why your Turing Machine is rejecting a string, or you need to visualize the Shift/Reduce conflicts in an LR Parser, AutomataLab provides the interactive tools to help.
Explore our comprehensive guides to master the three main workspaces of AutomataLab:
- Getting Started Learn how to install the desktop app, access the web simulator, and run your very first machine.
- Machine Workspace Guide Dive deep into visual graph editing, multi-character tokens, computation trees, and step-by-step execution for Finite Automata, Pushdown Automata, and Turing Machines.
- Grammar Lab Guide Learn how to define Context-Free Grammars, calculate FIRST/FOLLOW sets, check for nullability/ambiguity, and perform mathematical normal form conversions.
- Parser Studio Guide Discover how AutomataLab automatically generates Top-Down and Bottom-Up parsers (LL, LR, SLR, CLR, LALR, Earley, CYK), builds Parse Tables, and highlights grammar conflicts.
Interested in extending AutomataLab or understanding its pure-TypeScript engine?
- Architecture Reference Understand the decoupled React + Zustand + Engine architecture that enables our unified web and desktop applications.
-
File Format Specification
A strict specification of the
.autolab.jsonserialization structure, covering backwards compatibility and mathematical guarantees. - Contributing Guide Our standards for pull requests, automated testing (Vitest), and local development commands.
Found a bug? Have a feature request? Check out our GitHub Issues page.
AutomataLab v4.1.0 · Repository · Download · Web app · MIT License
Getting Started
Machine Workspace
- Workspace Overview
- Finite Automata
- Pushdown Automata
- Turing Machines & LBA
- Transition Table & Data Tools
Grammar Lab
Parser Studio
Project & Architecture