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
Vorzeichen
.-.
|-|--->.--->( + )---.--->|-|
| '-' ^
| .-. |
'--->( - )---'
'-'- Syntaxdiagramm ohne die Markierung »|-|« an Anfang und Ende
Vorzeichen
.-.
--->.--->( + )---.--->
| '-' ^
| .-. |
'--->( - )---'
'-'
Ein abgerundetes Kästchen in einem Syntaxdiagramm steht immer für genau eine lexikalische Einheit, während ein abgerundetes Kästchen in einem morphologischen Diagramm für genau ein Zeichen steht.
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
Vorzeichenausdruck
.-. .----------.
--->( - )--->| Literal |--->
'-' '----------'
Das obenstehende Syntaxdiagramm gibt den Aufbau eines Ausdrucks wie »-␣␣65« wieder: Dieser besteht aus zwei lexikalischen Einheiten: Dem Operator »-« und dem Literal »65«. Beide 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 »-␣␣65« also nur aus einer Folge zweier lexikalischer Einheiten: dem Operator »-« und dem Literal »65«, und nicht aus einer Folge von fünf Schriftzeichen (Minuszeichen, Leerzeichen. Leerzeichen, Sechs, und Fünf), denn im Syntaxdiagramm erscheinen als Kästchen nur noch lexikalische Einheiten, Leerraum wird nicht mehr ausdrücklich durch Kästchen dargestellt.
Syntaxdiagramm für Vorzeichenausdrücke
Wir können nun das Syntaxdiagramm für Vorzeichenausdrücke schreiben.
- Syntaxdiagramm
Vorzeichenausdruck
.----------.
--->.------------>| Literal |---.--->
| '----------' ^
| |
| |
| .-. .----------. |
'--->( - )--->| Literal |---'
| '-' '----------' |
| Operand |
| |
| .-. .----------. |
'--->( + )--->| Literal |---'
'-' '----------'
OperandAusdruck
.---------------------.
--->| Vorzeichenausdruck |--->
'---------------------'
- 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 einem Vorzeichen oder 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.
Es fällt auf, daß ein Literal laut Syntaxdiagramm auch als ein „Vorzeichenausdruck“ angesehen wird, obwohl ein Literal kein Vorzeichen enthält. Es hat sich jedoch gezeigt, daß diese Art der Definition eines Vorzeichenausdrucks zur Beschreibung des Aufbaus von Ausdrücken am besten geeignet ist, da ein Literal überall dort eingesetzt werden kann, wo auch ein Ausdruck, der tatsächlich mit einem Vorzeichen beginnt, eingesetzt werden kann.
Einen Vorzeichenausdruck, der wirklich mit einem Vorzeichen beginnt, nennen wir zur Unterscheidung von einem Literal daher auch einen echten Vorzeichenausdruck.
Übungsfragen
? Übungsfrage
- Syntaxdiagramm
Vorzeichenausdruck
.-. .----------.
--->( - )--->| Literal |--->
'-' '----------'
Welcher der folgenden Texte ist ein ›Vorzeichenausdruck‹ gemäß dem voranstehenden Syntaxdiagramm?
- »- 2« Anton
- »2-2« Berta
- »- - 2« Cäsar
- »-2« Dora
- »2 - 2« Emil
Übungsaufgaben ⃗
/ Exemplare zu Kategorien ⃗
Schreiben Sie ein ›Alpha‹ auf, das nach dem folgenden Syntaxdiagramm gebildet ist.
- Syntaxdiagramm
Alpha
.------. .-. .-------.
--->| Beta |--->( . )--->| Gamma |--->
'------' '-' '-------'Beta
.-------.
--->( "Hallo" )--->
'-------'Gamma
.------. .-. .-.
--->( length )--->( ( )--->( ) )--->
'------' '-' '-'
Die Lösung soll auf einer von Leerzeilen umgebenden Zeile für sich stehen.
/ Exemplare zu Kategorien (1) ⃗
Schreiben Sie ein Exemplar der Kategorie ›Vorzeichenausdruck‹ des folgenden Syntaxdiagramms.
- Syntaxdiagramm
Vorzeichenausdruck
.-. .----------.
--->( - )--->| Literal |--->
'-' '----------'
Die Lösung soll auf einer von Leerzeilen umgebenden Zeile für sich stehen.
/ Exemplare zu Kategorien (2) ⃗
Schreiben Sie ein ›Alpha‹ auf, das nach dem folgenden Syntaxdiagramm gebildet ist.
- Syntaxdiagramm
Alpha
.------. .-. .-------.
--->| Beta |--->( . )--->| Gamma |--->
'------' '-' '-------'Beta
.-------.
--->( "Hallo" )--->
'-------'Gamma
.------. .-. .-.
--->( length )--->( ( )--->( ) )--->
'------' '-' '-'
Die Lösung soll auf einer von Leerzeilen umgebenden Zeile für sich stehen.