Syntaxdiagramme (Syntaxdiagramme), Spiel, Seite 724512
https://www.purl.org/stefan_ram/pub/syntaxdiagramme_python (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram
Python-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

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

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 stefanram724512 stefan_ram:724512 Syntaxdiagramme Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd724512, slrprddef724512, 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_python