computer-science

Automata Theory & Formal Languages

The mathematical study of abstract machines and computation — finite automata for pattern matching, Turing machines for universal computation, cellular automata for emergent complexity, pushdown automata for context-free parsing, and regular expressions for string recognition.

automataformal languagesTuring machinefinite automatoncellular automatapushdown automatonregular expressionscomputation theory

Automata theory forms the backbone of computer science, defining the fundamental limits and capabilities of computation. From the simplest finite-state machines that power lexical analyzers to Turing machines that model any algorithm, these abstract devices reveal what is computable and what lies forever beyond the reach of machines.

These simulations let you build and step through finite automata, program a Turing machine tape, watch cellular automata generate complexity from simple rules, trace pushdown automata through nested grammars, and match strings against regular expressions — all with real-time animated visualizations.

5 interactive simulations

simulator

Cellular Automata & Emergent Complexity

Explore 1D and 2D cellular automata — watch simple local rules generate fractals, gliders, and Turing-complete computation from random initial conditions

simulator

Deterministic Finite Automaton (DFA)

Build and animate a deterministic finite automaton — watch states transition on input symbols, visualize acceptance and rejection of strings in real time

simulator

Pushdown Automaton & Context-Free Parsing

Animate a pushdown automaton with a visible stack — trace how it recognizes nested parentheses, palindromes, and context-free grammars symbol by symbol

simulator

Regular Expressions & Pattern Matching

Visualize how a regular expression compiles to an NFA and matches strings — watch states activate as the engine processes each character

simulator

Turing Machine & Universal Computation

Program a single-tape Turing machine — watch the head read, write, and move across an infinite tape as it computes step by step