Abstrakter Syntaxbaum

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Ein abstrakter Syntaxbaum für den euklidischen Algorithmus:
while b ≠ 0
if a > b
a := a − b
else
b := b − a
return a

Der Begriff Abstrakter Syntaxbaum (englisch abstract syntax tree, AST) bezeichnet die Darstellung eines Computerprogramms in Form eines Baumes.

Nutzen[Bearbeiten]

Da typische Informationen eines Computerprogramms wie Programmfluß und Variablendeklarationen durch eine definierte Syntax in Text oder grafischen Form abgespeichert sind, wird beim Erzeugen eines abstrakten Syntaxbaums die formale Repräsentation in hierarchische abstrakte Teilabschnitte - meist nicht mehr an die Syntax gekoppelt - umgewandelt. Durch das Umwandeln in einen abstrakten Syntaxbaum können Operationen und Programmabläufe generalisiert werden. Dies ermöglicht, bei Einhaltung einer standardisierter Menge an Operationen und Definitionen, unabhängig von der Quellsprache Analysen des Quellcodes zu generieren.

Anwendung[Bearbeiten]

Compiler, Debugger, Minifier, Optimizer und Validatoren arbeiten oft intern mit einem abstrakten Syntaxbaum. In Compilern, Debuggern und Validatoren werden abstrakte Syntaxbäume zur semantischen Überprüfung des Programmes genutzt. Compiler, Minifier und Optimizer nutzen ASTs zur Erkennung und Transformation von bekannten Mustern von Programmabläufen. In manchen Anwendungen wird anstelle eines abstrakten Syntaxbaumes ein Syntaxbaum verwendet.