Vadim Zaytsev aka @grammarware

GraSs: A Taxonomy of Grammar Smells


Organisation
global problems
Navigation
problems with navigating through the grammar
Structure
harmful relationships among grammar components

Convention
violations of visual policies
Notation
metalanguage-related
Parsing
parsing techniques related smells
Duplication
the same fragment is repeated

Misformat
misleading formatting
Misnomer
problems with naming policies
SayMyName
a misspelling or improper use of the natural language
ZigZag
mixing horizontal and vertical styles
Splat
nonterminal fragments scattered over the grammar

Splat Edit!

Since definitions of vertical nonterminals (see ZigZag) consist of several production rules, these rules can be distributed over the grammar and not focused in one place. This may be bad, especially if most of the rules are collected together, and only one or two are elsewhere.


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