Syntax: Unterschied zwischen den Versionen
Thomas (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Thomas (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
Zeile 25: | Zeile 25: | ||
Diese eine Regeln genügt noch nicht, denn Sie gibt keine Auskunft darüber, wofür SUBJEKT, PRÄDIKAT und OBJEKT stehen. Dies legt folgende Regel fest: | Diese eine Regeln genügt noch nicht, denn Sie gibt keine Auskunft darüber, wofür SUBJEKT, PRÄDIKAT und OBJEKT stehen. Dies legt folgende Regel fest: | ||
SUBJEKT -> She | * SUBJEKT -> She | ||
* SUBJEKT -> HE | |||
SUBJEKT -> HE | * PRÄDIKAT-> loves | ||
* PRÄDIKAT-> kicked | |||
PRÄDIKAT-> loves | * PRÄDIKAT-> likes | ||
* OBJEKT -> soccer players | |||
PRÄDIKAT-> kicked | * OBJEKT -> swimming | ||
* OBJEKT-> the ball | |||
PRÄDIKAT-> likes | |||
OBJEKT -> soccer players | |||
OBJEKT -> swimming | |||
OBJEKT-> the ball | |||
Damit können insgesamt 18 Sätze gebildet werden, wobei ein Satz wie "She kicked soccer players." daran erinnert, dass die Semantik wirklich keine Rolle spielt. | Damit können insgesamt 18 Sätze gebildet werden, wobei ein Satz wie "She kicked soccer players." daran erinnert, dass die Semantik wirklich keine Rolle spielt. | ||
Zeile 62: | Zeile 55: | ||
} | } | ||
}<syntaxhighlight> | }</syntaxhighlight> | ||
In diesem Fall würde durch den Java-Syntax-Fehler folgende Ausgabe erzeugt: | In diesem Fall würde durch den Java-Syntax-Fehler folgende Ausgabe erzeugt: | ||
Zeile 70: | Zeile 63: | ||
== UML Modellierung == | == UML Modellierung == | ||
Die Unified Modeling Language kurz [[UML]], ist eine grafische Modellierungssprache zur Spezifikation, Konstruktion und Dokumentation von [[Software]]-Teilen und anderen Systemen. Die 14 unterschiedlichen Diagrammtypen sind syntaktische klar definiert. Die [[Sichtbarkeit]] von [[Attribut|Attributen]] und [[Methode|Methoden]] wird zum Beispiel im [[Klassendiagramm]] durch die Zeichen +,#,- (+=public, #= protected, - = private) definiert. [[Klasse|Klassen]] werden als Rechtecke dargestellt, etc. Werden diese Vorgaben verletzt, ist das Modell syntaktisch nicht korrekt. | Die Unified Modeling Language kurz [[UML]], ist eine grafische Modellierungssprache zur Spezifikation, Konstruktion und Dokumentation von [[Software]]-Teilen und anderen Systemen. Die 14 unterschiedlichen Diagrammtypen sind syntaktische klar definiert. Die [[Sichtbarkeit]] von [[Attribut|Attributen]] und [[Methode|Methoden]] wird zum Beispiel im [[Klassendiagramm]] durch die Zeichen +,#,- (+=public, #= protected, - = private) definiert. [[Klasse|Klassen]] werden als Rechtecke dargestellt, etc. Werden diese Vorgaben verletzt, ist das Modell syntaktisch nicht korrekt. | ||
[[Datei:Übersicht Syntax UML.png|mini]] |
Version vom 4. September 2025, 11:50 Uhr
Einführung
Syntax bezeichnet die grammatischen Regeln die von einer Programmier- oder Modellierunsgssprache (z.B. Java oder UML)) definiert werden. Die Syntax umfasst sämtliche Regeln, der Anwendung zu konkret gebauten Sätzen führen (Quelle Informatik, Dr. Lutz Engelmann, Paetec, 2002 S. 404). In vielen Fällen werden Syntaxfehler durch falsch gesetzte oder fehlende Zeichen wie Semikola, Kommata und Klammern oder bedeutungstragende Wörter wie FOR oder BEGIN hervorgerufen.
Integrierte Entwicklungsumgebungen verfügen in der Regel über einen Compiler, der derartige Fehler sofort erkennt und dem Programmierer meldet. Auch Modellierungswerkzeuge führen Syntaxüberprüfungen durch. Werden Modellierungsregeln verletzt, werden dieses Verstöße angezeigt.
Natürliche Sprachen besitzen ebenfalls eine Syntax. Für englische Sätze gilt die SPO-Regel, die die Reihenfolge Subjekt-Prädikat-Objekt vorschreibt. Der Satz "She likes soccer players." ist syntaktisch korrekt, denn die Analyse gemäß der SPO-Regel verläuft positiv.
Allgemein gibt es zwei Anwendungsfälle von Syntax:
1. Erzeugung (Synthese) eines Satzes
2. Erkennung (Analyse) eines Satzes
Ableitungsbaum
Die für die Analyse bzw. Synthese eines Satzes verwendete Darstellung heiß Ableitungsbaum. Dabei ist zu beachten, dass so genannte Syntaxbäume nur dann entstehen können, wenn sämtliche Regeln eine spezielle Form besitzen.


Die Satzbauregel für englische Sätze lautet in Kurzform
Satz -> Subjekt Prädikat Objekt.
Lies: "Einsatz definiert als eine Folge von SUBJEKT, RPÄDIKAT, OBJEKT und einen anschließenden Punkt."
Diese eine Regeln genügt noch nicht, denn Sie gibt keine Auskunft darüber, wofür SUBJEKT, PRÄDIKAT und OBJEKT stehen. Dies legt folgende Regel fest:
- SUBJEKT -> She
- SUBJEKT -> HE
- PRÄDIKAT-> loves
- PRÄDIKAT-> kicked
- PRÄDIKAT-> likes
- OBJEKT -> soccer players
- OBJEKT -> swimming
- OBJEKT-> the ball
Damit können insgesamt 18 Sätze gebildet werden, wobei ein Satz wie "She kicked soccer players." daran erinnert, dass die Semantik wirklich keine Rolle spielt. == Formale Grammatik ==
Es gelingt immer dann mindestens einen Ableitungsbaum für einen gegebenen Satz anzugeben, wenn in jeder Regel auf der linken Seite genau eine zu erklärende syntaktische Einheit steht.
Beispiele Natürliche Sprache Auch natürliche Sprachen besitzen eine Syntax. Für englische Sätze gilt die SPO-Regel, die die Reihenfolge Subjekt-Prädikat-Objekt vorschreibt. Der Satz "She likes soccer players." ist syntaktisch korrekt, denn die Analyse gemäß der SPO-Regel verläuft positiv.
Programmiersprache
Ein Beispiel eines Syntaxfehlers in der Programmiersprache Java:
public class Beispiel {
public static void main(String[] args) {
System.out.println("Hallo Welt!")
}
}
In diesem Fall würde durch den Java-Syntax-Fehler folgende Ausgabe erzeugt:
Syntax error, insert ";" to complete BlockStatements
UML Modellierung
Die Unified Modeling Language kurz UML, ist eine grafische Modellierungssprache zur Spezifikation, Konstruktion und Dokumentation von Software-Teilen und anderen Systemen. Die 14 unterschiedlichen Diagrammtypen sind syntaktische klar definiert. Die Sichtbarkeit von Attributen und Methoden wird zum Beispiel im Klassendiagramm durch die Zeichen +,#,- (+=public, #= protected, - = private) definiert. Klassen werden als Rechtecke dargestellt, etc. Werden diese Vorgaben verletzt, ist das Modell syntaktisch nicht korrekt.
