Compilerbau: Kontextfreie Grammatik
|
Willemers Informatik-Ecke
Zu einer kontextfreien Grammatik gehören vier Komponenten
- Eine Menge von Terminalen. Terminale sind die Symbole einer
Sprache. Terminal heißen sie, weil sie am Ende der Auflösung
stehen. Beispiele sind Stern, Klammern, aber auch Schlüsselworte
(if, then, while) oder Konstanten.
- Eine Menge von Nichtterminalen. Nichtterminale sind Zwischensymbole
der Grammatik, die noch nicht vollständig aufgelöst sind.
- Eine Menge von Produktionen. Eine Produktion besteht links aus einem
Nichtterminal, gefolgt von einem Pfeil und einer rechten Seite, die aus
Terminalen und Nichtterminalen bestehen kann. Eine Produktion ist eine
Regel, die beschreibt, wie sich zulässige Worte (bzw. Sätze) der Grammatik
bilden lassen.
- Ein Startsymbol. Das Startsymbol ist ein Nichtterminal.
Beispiel:
statement -> if ( expression ) statement else statement
vgl. Aho, Sethi, Ullmann: Compilerbau. Addison Wesley 1988. S.33.