Playground

Parse Tree

Visualize how a string is derived from a grammar. Pick a preset grammar or write your own BNF.

Input
Grammar
E ::= E + T | E - T | T
T ::= T * F | T / F | F
F ::= ( E ) | num
Parse tree
1T23*T+E
Derivation
EE+TT+TF+T1+T1+TFE \Rightarrow E + T \Rightarrow T + T \Rightarrow F + T \Rightarrow 1 + T \Rightarrow 1 + T \cdot F \Rightarrow \dots