Theory of Automata & Formal Languages
Convert any CFG to Chomsky Normal Form or Greibach Normal Form with step-by-step transformations, CYK parsing, FIRST/FOLLOW sets, and parse tree visualization.
A comprehensive toolkit for grammar transformations, parsing, and visualization
ε-elimination, unit removal, and binarization in 6 detailed steps
CoreLeft-recursion elimination and terminal substitution in 9 steps
CoreString membership testing with visual triangular parsing table
ParsingTabular computation of FIRST and FOLLOW for every variable
AnalysisCanvas-rendered trees with leftmost derivation tracing
VisualBefore/after comparison, clipboard copy, and .txt export
UtilityFrom grammar input to fully converted normal form
Type productions directly or use the structured form. Load built-in examples to get started quickly.
Select CNF, GNF, or both. The converter applies each transformation step-by-step with full explanations.
Test strings with CYK parsing, view FIRST/FOLLOW sets, explore parse trees, and export your results.
Drop an image here or
Supports PNG, JPG, JPEG, BMP, WebP
| Variable | FIRST | FOLLOW |
|---|
Every production has the form A → BC or A → a.
Test if a string belongs to the language using the CYK algorithm on the CNF grammar.
Every production has the form A → aα where α ∈ V*.
Test if a string belongs to the language using top-down parsing on the GNF grammar.