Zum Inhaltsverzeichnis
Grammatik
Vorherige Seite Nächste Seite
Trennlinie

Grammatik

 
 
Formale Definition

Eine Grammatik ist ein formales Modell zur Beschreibung einer Sprache (im Zusammenhang mit dem Thema "Compilerbau" eben der Programmiersprache).
Eine Sprache ist eine Menge von Sätzen, wobei ein Satz eine Symbolfolge aus dem Alphabet der Grammatik ist.

Eine Grammatik wird definiert durch folgende Elemente:
  
Terminale T: Menge von Symbole aus dem Alphabet
  
Nichtterminale N: Menge von Symbolen, welche disjunkt zum Alphabet ist
  
Produktionen P: Menge von Ersetzungsregeln mit einer linken und einer rechten Seite. Die Seiten bestehen aus Symbolfolgen der Vereinigung der Mengen T und N.
  
Startsymbol S: Ein ausgezeichnetes Element der Menge N.
  

Die so definierte Grammatik kann durch durch wiederholte Anwendung von Ersetzungsregeln ausgehend von dem Startsymbol S Worte erzeugen und legt eine Sprache eindeutig fest (Die Sprache besteht eben aus allen erzeugbaren Worten). Dabei meint Anwendung von Ersetzungsregel, die Ersetzung des Vorkommens einer linken Seite einer Produktion durch die rechte Seite. Für den praktischen Einsatz zur Festlegung der Syntax von Programmiersprachen ist es ausreichend, eine eingeschränkte Form dieser Grammatiken zu betrachten, die sich dadurch auszeichnen, dass auf der linken Seite aller Ersetzungsregeln genau ein Nichtterminal steht. Solche Grammatiken heißen kontextfreie Grammatiken.

Eine verkürzte Schreibweise zur Beschreibung einer Grammatik ist die Backus-Nauer-Form (BNF), bei der nur die Produktionen angegeben werden und die weiteren Attribute (Terminale, Nichtterminale, Startsymbol) sich daraus ergeben.  

Trennlinie
Zum Seitenanfang Vorherige Seite Nächste Seite

Letzte Änderung 2. Juni 1999 © Copyright Thomas App