Definition: Grammatik
Eine Grammatik \( G \) ist ein 4-Tupel \( G = ( N, T, P, S) \) mit:
- endlicher Menge der Nichtterminale \( N \) (meist Großbuchstaben),
- endlichem Terminalalphabet \( T \) bzw. \( \Sigma \) (meist Kleinbuchstaben oder Ziffern),
- endlicher Menge der Produktionen \( P \) und
- dem Startsymbol \( S \in N \).
Für eine Grammatik gilt zudem \( N \cap T = \emptyset \), d.h. die Mengen haben kein gemeinsames Element.
Eine Produktion hat die Gestalt $$ \text{...linke Seite...} \rightarrow \text{...rechte Seite...}, $$ wobei die Zeichenfolge linke Seite ersetzt wird durch rechte Seite.
Beispiel
Gegeben ist die Grammatik \( G = ( N, T, P, S)\) mit
- \( N = \{ S, A, B \} \),
- \( T = \{ a, b \} \),
- \( P = \{ S \overset{1}{\rightarrow} A, \quad A \overset{2}{\rightarrow} aB, \quad B \overset{3}{\rightarrow} Ab, \quad B \overset{4}{\rightarrow} b \} \) und
- dem Startsymbol \( S \).
Eine Ableitung beginnt stets mit dem Startsymbol und endet mit einem Wort bestehend aus Terminalen. $$ S \overset{1}{\rightarrow} {\color{red}A} \overset{2}{\rightarrow} {\color{red} aB} \overset{3}{\rightarrow} a{\color{red}Ab} \overset{2}{\rightarrow} a{\color{red}aB}b \overset{4}{\rightarrow} aa{\color{red}b}b $$ Alle Wörter, die unter Anwendung der Produktionen abgeleitet werden können, gehören zu der von der Grammatik erzeugten Sprache \( L(G) \).
Durch Probieren sind schnell die ersten Wörter der Sprache erzeugt: \( ab, aabb, aaabbb, aaaabbbb, ...\)
Die Sprache \( L(G) \) lässt sich dann formal angeben mit $$ L(G) = \{ \; a^n b^n \; | \; n \geq 1 \; \}. $$