Abstrakte Syntax

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

Eine abstrakte Syntax beschreibt die generische Struktur von Datentypen unabhängig von der Kodierungstechnik, die benutzt wird, um diese Datentypen zu repräsentieren.

Programmiersprachen[Bearbeiten]

Abstrakte Syntax kommt auch in Übersetzern für Programmiersprachen vor. Die konkrete Syntax einer Sprache ist das, was der Programmierer tippen muss. Zum Beispiel könnte in einer Programmiersprache definiert sein:

if-Anweisung ::= "if" Bedingung "then" Anweisungen "endif"

In einer anderen Programmiersprache sieht das vielleicht ganz anders aus:

if-Anweisung ::= "(" "if" Bedingung Anweisungen ")"

Ein Übersetzer, der beide Sprachen versteht, wird solche Anweisungen intern genau gleich behandeln, nämlich als Datenstruktur mit zwei Feldern: Bedingung und Anweisungen. Diese Darstellungsform wird abstrakte Syntax genannt. Die Schlüsselwörter wie "if", "then", "endif" werden nach dem Parsen nicht mehr benötigt und daher weggelassen. Sie sind nur Teil der konkreten Syntax, nicht aber der abstrakten.