Skip to content
Reeshav Sinha edited this page Jul 14, 2026 · 8 revisions

Welcome to the AutomataLab Wiki!

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.


📖 User Documentation

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.

🛠️ Developer Documentation

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.json serialization 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.

Clone this wiki locally