G = (V, Σ, R, S)
| Language Class | Membership | Emptiness | Equivalence | Universality |
|---|---|---|---|---|
| Regular (DFA) | Decidable | Decidable | Decidable | Decidable |
| CFL (CFG/DPDA/NPDA) | Decidable (CYK) | Decidable | Undecidable | Undecidable |
| CSL (LBA) | Decidable | Undecidable | Undecidable | Undecidable |
| RE (TM) | Semi-decidable | Undecidable | Undecidable | Undecidable |
| Non-RE | Undecidable | Undecidable | Undecidable | Undecidable |
| Esc | Pointer — normal cursor, drag states to move |
| V | Pan — drag canvas to pan, drag states to move |
| S | State — click canvas to place state |
| T | Transition — click source then target state |
| D | Delete — click state to remove |
| X | Clear — delete all states and transitions |
| 1 | Switch to Build view |
| 2 | Switch to Algorithms view |
| 3 | Switch to Grammar view |
| 4 | Switch to Theory view |
| Ctrl+Z | Undo last action |
| Ctrl+Y | Redo last undone action |
| Ctrl+S | Save automaton as JSON |
| Arrow Right / Enter | Step simulation forward |
| Arrow Left | Step simulation backward |
| Escape | Cancel current action / close modal |
| Scroll Wheel | Zoom in / out |
| + / = | Zoom in |
| − / _ | Zoom out |
| H | Fit to screen (show all states) |
| F | Fullscreen mode |
| Middle Mouse / Alt+Drag | Pan the canvas |
| Double-click state | Toggle accept state |
| Right-click state / transition | Context menu (state and transition actions) |
| Space + drag | Pan the canvas temporarily |
| Drag toolbar handle | Dock the toolbar to any canvas edge |
| Click the active tool button | Return to Pointer |