Une grammaire générale est un quadruplet:
G=\left(V, \Sigma, R, S\right)
V = ensemble de symboles
\Sigma \subset V : ensemble de symboles terminaux
\left( V \setminus \Sigma \right) : ensemble des symboles non-terminaux
s \in\left( V \setminus \Sigma \right) : start symbole
R : ensemble des règles, sous-ensemble fini de V^* \left(V\setminus\Sigma\right)V^* \times V^* où V^* \left(V\setminus\Sigma\right) contient au moins 1 symbole non-terminal