Learn

Eight machines worth reading closely

Each one loads straight into the canvas with a test string already in the input. Run it, then take it apart.

DFABeginner

Deterministic Finite Automaton

Even Parity Checker - accepts binary strings with even number of 0s AND even number of 1s. Demonstrates state-based counting.

try11001010
NFABeginner

Non-Deterministic Finite Automaton

String Suffix Recognizer - accepts strings ending with "ab". Demonstrates epsilon transitions and non-deterministic state choices.

tryaabab
DPDAIntermediate

Deterministic Pushdown Automaton

Balanced Parentheses Checker - validates that all opening parentheses "(" have matching closing ")" in correct order using stack.

try((()()))
NPDAIntermediate

Non-Deterministic PDA

a^n b^n Language Recognizer - accepts strings with equal numbers of "a"s followed by equal "b"s (e.g., "aaabbb"). Classic context-free language.

tryaaaabbbb
TMAdvanced

Turing Machine

Balanced Parentheses Verifier - checks if parentheses are properly nested using tape operations (read/write/move).

try(()())()
TMAdvanced

Turing Machine: Binary Addition

Binary Number Adder - adds two binary numbers written as x c y (two tapes); the sum is left on tape 1. Demonstrates computational power of TMs.

try101c110
MEALYIntermediate

Mealy Machine

"101" Pattern Detector - outputs 1 when detecting "101" sequence, 0 otherwise. Output is generated on transitions (during state changes).

try100101
MOOREIntermediate

Moore Machine

"101" Pattern Detector - outputs 1 when "101" is detected. Output is associated with states (not transitions), demonstrating state-based output.

try010011010
Converters · step by step