Syntaxdiagramme in Java (Syntaxdiagramme in Java), Lektion, Seite 722521
https://www.purl.org/stefan_ram/pub/syntaxdiagramme_java (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram
Python-Kurs
C#-Kurs
C++-Kurs
JavaScript-Kurs
Java-Kurs
C-Kurs

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.

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 |---'
'-' '----------'
Operand

Ausdruck

.---------------------.
--->| 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.

Seiteninformationen und Impressum   |   Mitteilungsformular  |   "ram@zedat.fu-berlin.de" (ohne die Anführungszeichen) ist die Netzpostadresse von Stefan Ram.   |   Eine Verbindung zur Stefan-Ram-Startseite befindet sich oben auf dieser Seite hinter dem Text "Stefan Ram".)  |   Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram. Schlüsselwörter zu dieser Seite/relevant keywords describing this page: Stefan Ram Berlin slrprd slrprd stefanramberlin spellched stefanram722521 stefan_ram:722521 Syntaxdiagramme in Java Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd722521, slrprddef722521, PbclevtugFgrsnaEnz Erklärung, Beschreibung, Info, Information, Hinweis,

Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram.
https://www.purl.org/stefan_ram/pub/syntaxdiagramme_java