Vadim Zaytsev aka @grammarware

Related smells: Deep Hierarchy, Too Deep Inheritance Hierarchy

For each nonterminal we can calculate its minimal distance from the starting symbol, as the minimal number of productions in a full derivation that contains it. The maximum of all these distances for all nonterminals, is what is referred to as the height of the grammar. Out of two grammars of comparable size with respect to number of terminals, nonterminals and production rules, a taller grammar will be more complex to understand – thus, it is advisable to refactor a grammar that has grown too tall.

The GraSs taxonomy is a joint effort maintained by Dr. Vadim Zaytsev a.k.a. @grammarware.
Page last updated in March 2021.