Formal languages and automata

Turing Lab

A Flutter-based toolkit for constructing, transforming, and simulating formal language models.

It provides dedicated workspaces for finite-state automata, context-free grammars, pushdown automata, Turing machines, regular expressions, and pumping lemma exercises.

Development status: Apple and Android builds are currently under testing.

Finite-state automata simulation with an editable canvas and step-by-step execution trace
Finite-state automata simulation and execution trace.

01 / Capabilities

Supported models and workflows

The current scope is organized around six independent workspaces. File support and transformations vary by model.

Editing, simulation, transformation, and file capabilities by workspace
Workspace Editing Simulation Transformations Import/export
Finite-state automata State and transition canvas Step-by-step acceptance traces NFA/DFA/regex conversion and DFA minimisation JFLAP XML, JSON, SVG, and native PNG
Context-free grammars Grammar and production editor Parsing and validation FIRST/FOLLOW analysis, LL(1) diagnostics, and CNF conversion JFLAP grammar and SVG
Pushdown automata State and transition canvas Input and stack traces Not applicable SVG export
Turing machines State and transition canvas Tape and transition traces Not applicable SVG export
Regular expressions Expression editor Match testing and comparison Simplification and automaton conversion Not applicable
Pumping lemma Guided case workflow Decomposition validation Not applicable Not applicable

Finite automata

Finite-state workflows include conversion between nondeterministic and deterministic automata, regular-expression conversion, DFA minimisation, and acceptance traces.

Grammar analysis

Grammar tooling provides parsing diagnostics, FIRST and FOLLOW sets, LL(1) conflict reporting, and a best-effort Chomsky normal form pipeline.

Execution traces

FSA, PDA, and TM simulations expose intermediate configurations through state, transition, stack, or tape traces appropriate to each model.

02 / Data and formats

Local execution and bounded file compatibility

Turing Lab does not require an account or a developer-operated backend. Editing, simulation, diagnostics, and bundled examples run locally.

Read the privacy policy or inspect the repository's data-flow documentation.

FSA
JFLAP XML and JSON import/export, SVG export, and PNG export on native platforms.
Grammar
JFLAP grammar import/export and SVG export.
PDA and TM
SVG export. JFLAP XML and JSON round trips are outside the current release scope.
Web limitation
PNG export is unavailable in web builds.

03 / Platforms

Current validation status

Testing builds are undergoing platform validation and release preparation. Experimental targets may have incomplete platform integration and are not part of the current release scope.

Platform validation status
Platform Status
iOS and iPadOSTesting
macOSTesting
AndroidTesting
WebExperimental
WindowsExperimental
LinuxExperimental

04 / Interface

Application workspaces

Captured from controlled mobile and tablet testing configurations.

Finite-state automata simulation showing the canvas, accepted input, and execution trace
Finite-state automata. Automaton canvas, simulation result, and step-by-step trace.
Context-free grammar editor with production rules and transformation controls
Context-free grammars. Production editing and grammar transformations.
Turing machine workspace with tape simulation and machine analysis controls
Turing machines. Tape simulation, transition editing, and machine-specific analysis.