← Fun
Windrose
Presets
Start
Sentential form
Sentential form
Help
Alphabet
Terminals are steps from the origin: ↑ north, → east, ← west, ↓ south. The trace is the left-to-right terminal prefix of the sentential form (drawing stops at the first remaining nonterminal).
Grammar
Add nonterminals as cards. Each row is one production. Empty row is ε. Click a symbol or + to open the palette. Click a start chip to choose the start symbol.
Trace
Click a nonterminal chip in the sentential form and pick a branch. Random samples a complete word. The terminal p metronome biases Random toward growing (left) or halting (right). Undo / Reset walk the derivation back.
Keyboard (always)
- Tab move between controls
- Enter / Space activate
- ← → move along a row of symbols
- Esc close palette, picker, or help
Vim
Turn on Vim in the header. There is no key that enables it. Bindings below work only while it is on.
Panes
- gh grammar
- gl trace
- Tab cycle panes
- g1–g9 load a preset
- ? this help
- Esc back to NORMAL
Grammar
- h j k l move
- gg / G first / last nonterminal
- w / b next / previous card
- i rename
- gs set start
- o / O production below / above
- a / I append / insert symbol
- r replace symbol
- x delete symbol
- dd delete production
- dc delete nonterminal
- n new nonterminal
Palette
- hjkl move
- n e w s terminals
- 0 / _ ε
- 1–9 nonterminal
- + new nonterminal
- x remove
Trace
- h l chips
- w / b next / previous nonterminal
- 0 / $ first / last
- Enter / o expand
- r random
- u undo
- R reset
- . repeat last production
- 1–9 pick a branch (in PICK)