Syntaxdiagramme
Syntaxdiagramme sind ähnlich aufgebaut wie Aufbaudiagramme. Sie geben allerdings nicht wieder, wie eine lexikalische Einheit im Inneren aufgebaut ist (die Morphologie), sondern wie mehrere lexikalische Einheiten zu einem längeren Quelltext verbunden werden können (die Syntax). Das heißt, daß ihre Grundbausteine nicht Zeichen, sondern lexikalische Einheiten sind.
- Ein Syntaxdiagramm gibt den Aufbau eines Programmteils aus lexikalischen Einheiten wieder,
- die bisher verwendeten „Aufbaudiagramme“ nennen wir nun morphologische Diagramme. Ein morphologisches Diagramm gibt den Aufbau einer lexikalischen Einheit aus einzelnen Zeichen wieder. (Die Lehre vom Aufbau von Wörtern wird Morphologie genannt.)
Die morphologischen Diagramme beschreiben also zunächst, wie lexikalische Einheiten aus einzelnen Zeichen aufgebaut werden, die Syntaxdiagramme bauen dann auf den so gebildeten lexikalischen Einheiten auf und beschreiben wie größere syntaktische Einheiten aus einzelnen lexikalischen Einheiten aufgebaut werden.
Während die Morphologie den inneren Aufbau lexikalischer Einheiten beschreibt, beschreibt die Syntax wie lexikalische Einheiten zu Programmen kombiniert werden.
Ein Aufbaudiagramm ist ab jetzt ein Syntaxdiagramm oder ein morphologisches Diagramm. (Damit bleibt die bisherige Bezeichnung morphologischer Diagramme als „Aufbaudiagramm“ also weiterhin korrekt.)
Kennzeichnung von Syntaxdiagrammen
Um die Syntaxdiagramme von den bisher verwendeten morphologischen Diagrammen erkennbar unterscheiden zu können, beginnen und enden sie ohne die Markierung »|-|«.
- morphologisches Diagramm mit der Markierung »|-|« an Anfang und Ende
Klammerausdruck
.-. .---------. .-.
|-|--->( ( )--->| Literal |--->( ) )--->|-|
'-' '---------' '-'- Syntaxdiagramm ohne die Markierung »|-|« an Anfang und Ende
Klammerausdruck
.-. .---------. .-.
--->( ( )--->| Literal |--->( ) )--->
'-' '---------' '-'
Lexikalische Einheiten in Syntaxdiagrammen
Ein Terminalsymbol (abgerundetes Kästchen) in einem Syntaxdiagramm steht immer für genau eine lexikalische Einheit. (Ein Terminalsymbol in einem morphologischen Diagramm steht für genau ein Zeichen.)
Jedes Nichtterminalsymbol in einem Syntaxdiagramm steht immer für eine ganze Zahl lexikalischer Einheiten.
Leerraum in Syntaxdiagrammen
In einem morphologischen Diagramm gibt ein Pfeil nur eine mögliche Bewegung von einem Kästchen zu einem anderen Kästchen (oder von einem Eingang zu einem Kästchen oder von einem Kästchen zu einem Ausgang) wieder.
In einem Syntaxdiagramm kennzeichnet jeder Pfeil zusätzlich auch noch eine Stelle, an der Leerraum eingesetzt werden kann.
- Syntaxdiagramm
Klammerausdruck
.-. .---------. .-.
--->( ( )--->| Literal |--->( ) )--->
'-' '---------' '-'
Im folgenden steht »␣« für ein Leerzeichen, es wurde aber zur Verdeutlichung als eine Art von Wanne sichtbar gemacht.
Das obenstehende Syntaxdiagramm gibt den Aufbau eines Ausdrucks wie »(␣␣2)« wieder: Dieser besteht aus drei lexikalischen Einheiten: Dem Operatorzeichen »(«, dem Literal »2« und dem Operatorzeichen »)«. Alle drei sind lexikalische Einheiten. Das heißt, daß vor ihnen, hinter ihnen und zwischen ihnen Leerraum eingefügt werden darf, obwohl dieser nicht ausdrücklich in Form von Kästchen im Syntaxdiagramm erscheint.
Aus Sicht der Syntax besteht der Ausdruck »(␣␣2)« also nur aus einer Folge dreier lexikalischer Einheiten und nicht aus einer Folge von fünf Schriftzeichen (Klammer auf, Leerzeichen, Leerzeichen, Zwei und Klammer zu), denn im Syntaxdiagramm erscheinen als Kästchen nur noch lexikalische Einheiten, Leerraum wird nicht mehr ausdrücklich durch Kästchen dargestellt.
Syntaxdiagramm für Klammerausdrücke
Wir können nun das Syntaxdiagramm für Klammerausdrücke schreiben.
- Syntaxdiagramm
Klammerausdruck
.-. .---------. .-.
--->( ( )--->| Literal |--->( ) )--->
'-' '---------' '-'
- Die Produktionsregel für einen Ausdruck enthält mit dem nicht-abgerundeten Kästchen, welches das Wort »Vorzeichenausdruck« enthält, eine Referenz auf die Produktionsregel für einen Vorzeichenausdruck, welche darüber zu finden ist. Dies bedeutet praktisch, daß man die Produktionsregel für einen Vorzeichenausdruck (gedanklich) an der Stelle jenes Kästchens in die Produktionsregel für einen Ausdruck einsetzen kann.
Dieses Syntaxdiagramm beschreibt die Sprache besser als ein morphologisches Diagramm, weil es korrekt wiedergibt, daß vor oder hinter einer Klammer auf »(«, Klammer zu »)« oder vor und hinter einem Literal auch noch Leerraum eingefügt werden kann. Morphologische Diagramme werden aber weiterhin gebraucht, da sie den inneren Aufbau einer einzelnen lexikalischen Einheit besser beschreiben.
Ein Operator kann nun genauer beschrieben werden: Er wird durch die Terminalsymbole in einem Syntaxdiagramm für einen Ausdruck gebildet.
Ein Operand ist dann ein Nichtterminalsymbol im Syntaxdiagramm für einen Ausdruck, das für ein Literal steht.
Übungsfragen
? Übungsfrage
- Syntaxdiagramm
Klammerausdruck
.-. .---------. .-.
--->( ( )--->| Literal |--->( ) )--->
'-' '---------' '-'
Welcher der folgenden Texte ist ein Klammerausdruck gemäß dem voranstehenden Syntaxdiagramm?
- »( 2 )« Anton
- »(2)« Berta
- »(2« Cäsar