Java Reference
In-Depth Information
2.3 Syntaxdarstellungen
Die Syntax einer Programmiersprache legt fest, welche Zeichenreihen bzw. Folgen von Wörtern
korrekt formulierte („syntaktisch korrekte“) Programme der Sprache darstellen und welche nicht.
Zur Überprüfung der syntaktischen Korrektheit eines Programms muss deshalb zuvor die Syntax der
Programmiersprache formal beschrieben werden. Hierzu existieren verschiedene Möglichkeiten. In
den folgenden zwei Unterabschnitten werden die zwei gängigsten Notationen vorgestellt, nämlich
die Syntaxdiagramme und die Backus-Naur-Form .
Sowohl Syntaxdiagramme als auch die Backus-Naur-Form sind Techniken zur Darstellung soge-
nannter kontextfreier Programmiersprachen . Die meisten Programmiersprachen sind jedoch kon-
textsensitiv , d.h. es lassen sich nicht alle Regeln zur Beschreibung der Syntax mit den beiden Tech-
niken beschreiben. Nicht formulierbare Eigenschaften der Syntax werden daher umgangssprachlich
ergänzt.
2.3.1 Syntaxdiagramme
Bei den Syntaxdiagrammen handelt es sich um eine graphische und daher sehr übersichtliche No-
tation zur Definition der Syntax einer Programmiersprache. Syntaxdiagramme sind folgendermaßen
definiert:
• Zur Beschreibung der Syntax einer Sprache existiert in der Regel eine Menge von Syntaxdia-
grammen, die zusammen die Syntax definieren. In der Menge existiert genau ein übergeord-
netes Syntaxdiagramm , bei dem die Definition beginnt.
• Jedes Syntaxdiagramm besitzt einen Namen (Bezeichnung).
• Jedes Syntaxdiagramm besteht aus runden und eckigen Kästchen sowie aus Pfeilen.
• In jedem rechteckigen Kästchen steht die Bezeichnung eines (anderen) Syntaxdiagramms der
Menge von Syntaxdiagrammen (ein sogenanntes Nicht-Terminalsymbol ).
• In jedem runden Kästchen steht ein Wort ( Token , Terminalsymbol ) der Sprache.
• Aus jedem Kästchen führt genau ein Pfeil hinaus und genau einer hinein.
• Pfeile dürfen sich aufspalten und zusammengezogen werden.
• Jedes Syntaxdiagramm besitzt genau einen Pfeil, der von keinem Kästchen ausgeht (eintre-
tender Pfeil) und genau einen Pfeil, der zu keinem Kästchen führt (austretender Pfeil).
Token einer Programmiersprache werden durch die Lexikalik der Sprache definiert. Sie stellen die
kleinsten zusammenhängenden Grundsymbole einer Sprache, bspw.:
• einfache und zusammengesetzte Symbole ( +, <=, (, ...),
• Schlüsselwörter (reservierte Wörter),
• Bezeichner,
• Konstanten.
Trennzeichen (Zeichen für die Trennung von Token), wie Leerzeichen, Tabulatoren oder Zeilenum-
brüche sowie Kommentare, werden im Allgemeinen nicht in den Syntaxdiagrammen berücksichtigt.
Search WWH ::




Custom Search