Vadim Zaytsev
aka @
grammarware
GraSs
: A Taxonomy of Grammar Smells (6 in the selected group)
Organisation
global problems
Navigation
problems with navigating through the grammar
Structure
harmful relationships among grammar components
Proxy
indirect uses
Dependency
antipatterns in use
Complexity
metric-based smells
Diamond
A is X and B is X, but C is A or B
Rivalry
overlapping alternatives
Ouroboros
a circular dependency among modules
Soulmates
nonterminals or modules are always changed together
Spillover
a nonterminal that is too linked to the adjacent symbols
Mythic
an alternative that is never exercised in the codebase
The GraSs taxonomy is a
joint effort
maintained by
Dr. Vadim Zaytsev
a.k.a. @
grammarware
. Page last updated in March 2021.