Google Play badge

syntax


SYNTAX

In der Informatik bezieht sich der Begriff Syntax einer Computersprache auf das Regelwerk, das die Kombination von Symbolen definiert, die als korrekt strukturiertes Fragment oder Dokument in dieser Sprache betrachtet werden. Dies gilt sowohl für Auszeichnungssprachen, in denen das Dokument Daten darstellt, als auch in Programmiersprachen, in denen das Dokument den Quellcode darstellt. Die Syntax einer Sprache definiert ihre Oberflächenform. Computersprachen, die auf Text basieren, basieren auf den Zeichenfolgen. Visuelle Programmiersprachen hingegen basieren auf der Verbindung zwischen Symbolen (die grafisch oder textuell sein können) und dem räumlichen Layout. Dokumente, die syntaktisch ungültig sind, weisen einen Syntaxfehler auf.

Syntax - die Form - steht im Gegensatz zur Semantik - der Bedeutung. Bei der Verarbeitung von Computersprachen erfolgt die semantische Verarbeitung normalerweise nach der syntaktischen Verarbeitung. In einigen Fällen ist die semantische Verarbeitung jedoch für eine vollständige syntaktische Analyse wichtig und wird daher gleichzeitig oder zusammen durchgeführt. In einem Compiler umfasst die syntaktische Analyse das Frontend, während die semantische Analyse das Backend (und das mittlere Ende in Fällen, in denen die Phase unterschieden wird) umfasst.

SYNTAX-STUFEN

Die Syntax der Computersprache wird normalerweise in drei verschiedene Ebenen unterteilt:

Eine solche Unterscheidung führt zu einer Modularität, die es ermöglicht, jede Ebene zu beschreiben und separat und häufig unabhängig zu verarbeiten. Es beginnt mit einem Lexer, der die lineare Zeichenfolge in eine lineare Zeichenfolge umwandelt . Dies wird als lexikalische Analyse oder Lexierung bezeichnet .

Zweitens wandelt der Parser die lineare Folge von Token in einen sogenannten hierarchischen Syntaxbaum um. Dies wird als Parsing bezeichnet .

Drittens löst die Kontextanalyse Prüfungen und Namenstypen auf. Die Analysephase selbst kann in zwei Teile unterteilt werden: den konkreten Syntaxbaum oder den Analysebaum, der durch die Grammatik bestimmt wird, aber für den praktischen Gebrauch zu detailliert ist, und den abstrakten Syntaxbaum (AST), der dies in eine Form vereinfacht das ist brauchbar.

SYNTAX GEGEN SEMANTIK

Die Syntax einer Sprache beschreibt die Form eines gültigen Programms, enthält jedoch keine Informationen zur Bedeutung des Programms oder zu den Ergebnissen, die mit der Ausführung dieses Programms verbunden sind. Die Bedeutung, die einer Kombination von Symbolen gegeben wird, wird durch die Semantik behandelt (entweder fest codiert oder formal in einer Referenzimplementierung). Nicht alle syntaktisch korrekten Programme sind semantisch korrekt. Eine große Anzahl der syntaktisch korrekten Programme ist nach den Regeln der Sprache dennoch schlecht geformt; und kann (in Bezug auf die Sprachspezifikation sowie die Solidität der Implementierung) zu einem Fehler bei der Ausführung oder Übersetzung führen. In einigen Fällen können solche Programme undefiniertes Verhalten zeigen. Selbst zu Zeiten, in denen ein Programm in einer Sprache gut definiert ist, kann es eine Bedeutung haben, die von seinem Verfasser nicht beabsichtigt ist.

Im Beispiel einer natürlichen Sprache kann es unmöglich sein, einem Satz, der grammatikalisch korrekt ist, eine Bedeutung zu geben. Beispielsweise,

Download Primer to continue