Skip to content
florianreuthPublic

About

A modern, web-based toolkit for visualizing and simulating automata.

Topics

Resources

Stars

7 stars

Watchers

0 watching

Forks

Repository files navigation

Automata

A modern, browser-based workbench for formal languages and automata theory, inspired by JFLAP. Built with Astro, Svelte and TypeScript. The user interface is in German.

Start page

Features

Finite automata (NFA/DFA) with ε-transitions:

  • Symbols can be single characters or whole words such as hallo. Input words are split at spaces (hallo welt), or, without spaces, by the longest matching alphabet symbol (hallowelt)
  • Graph editor with automatic layout, undo/redo and autosave
  • Step-by-step simulation and batch testing of many words
  • Analysis (determinism, completeness, unreachable states), NFA → DFA, DFA minimization and FA → regular expression
  • Formal definition A = (Q, Σ, δ, q0, F), exportable as text, Markdown, LaTeX, SVG, PNG and PDF
  • JSON documents and JFLAP .jff import/export

Finite automaton editor

Regular expressions: batch testing and conversion to an ε-NFA (Thompson construction).

Regular expressions

Grammars: Chomsky classification, Chomsky normal form, CYK, FIRST/FOLLOW sets and LL(1) parsing with derivation tree. Type -> for →; an empty alternative means ε.

Grammars and parsing

Planned: regular grammar ↔ FA, SLR(1) and brute-force parsing, pushdown automata, Turing machines and L-systems.

Keyboard shortcuts (automaton editor)

Key Action
V Z U L Select, state, transition and delete tool
Del / Backspace Delete selection
F2 Rename selected state
F / A Fit view / arrange automatically
Ctrl+Z / Ctrl+Y Undo / redo
Ctrl+S / Ctrl+O Save / open

In the select tool, Shift-drag creates a transition and Alt-drag disables grid snapping.

Development

npm install
npm run dev      # local dev server
npm test         # unit tests
npm run build    # type-check and build into dist/

AI notice

Large parts of this project were written with the help of AI (Claude Code). All changes are reviewed and tested before they are published.

Contact

About

A modern, web-based toolkit for visualizing and simulating automata.

Topics

Resources

Stars

7 stars

Watchers

0 watching

Forks

Sponsor this project

Contributors

Languages