www.wikidata.de-de.nina.az
Ein Syntax Ableitungs oder Parsebaum ist ein Begriff aus der theoretischen Informatik und der Linguistik Er bezeichnet eine hierarchische Darstellung der Zergliederung eines Textes Syntaxbaume werden sowohl als Hilfsmittel zur graphischen Visualisierung der Zerlegung eingesetzt als auch in Form einer Datenstruktur zur Darstellung dieser Zergliederung fur die maschinelle Weiterverarbeitung z B in einem Compiler oder Ubersetzer Die verschiedenen Bezeichnungen werden in der Literatur nicht einheitlich verwendet Formal prazise definiert ist nur der Terminus Ableitungsbaum der sich auf den Begriff der Ableitung stutzt Andere Bezeichnungen fur verschiedenartige Baume konnen dann wie unten beschrieben bei Bedarf technisch naher definiert werden Anders als in der Informatik in der Sprachen auch den technischen Moglichkeiten folgend definiert werden konnen findet die Linguistik bei der Behandlung naturlicher Sprachen schwierigere Voraussetzungen vor vor allem weil die Reihenfolge der Bestandteile in einem Satz variieren kann Inhaltsverzeichnis 1 Einleitung 2 Ableitungsbaume 2 1 Konstruktion von Ableitungsbaumen 2 2 Ableitungsbaume bei ein und mehrdeutigen Grammatiken 3 Abstrakte Syntaxbaume 3 1 Beispiel 3 2 Darstellung abstrakter Syntaxbaume 3 3 Abstrakte Grammatik 4 Literatur 5 Weblinks 6 EinzelnachweiseEinleitung Bearbeiten nbsp Darstellung eines AbleitungsbaumsBei der mechanischen Analyse von naturlichsprachlichen Satzen oder formalen Texten z B Computerprogrammen findet direkt nach der lexikalischen Analyse der Zergliederung in Token oder Symbole oft eine hierarchische Zusammenfassung der Symbole zu zusammenhangenden Satzteilen Konstituenten bzw Teilabschnitten des formalen Textes statt Umgekehrt kann dies wiederum auch als eine Zergliederung des Textes aufgefasst werden Im Ergebnis erhalt man einen Baum wie den rechts gezeigten Neben der zeichnerischen Form werden auch geklammerte Darstellungen fur Syntaxbaume verwendet S N P J o h n V P V h i t N P D e t t h e N b a l l displaystyle S mathit NP John mathit VP V hit mathit NP mathit Det the N ball nbsp Technisch bezeichnet man den nebenstehenden Baum auch als konkreten Ableitungsbaum da er die resultierende Struktur anhand des konkreten Textes exakt darstellt In der Linguistik sind jedoch auch Modelle gangig die mehrere Schichten der Reprasentation vorsehen z B Oberflachen und Tiefenstruktur Oftmals werden die Knoten des Baums mit Attributen angereichert in der Linguistik sind dies dann vor allem morphologische Kategorien 1 Man erhalt so einen attributierten Syntaxbaum mit zugehoriger attributierter Grammatik Wahrend in den ersten beiden Baumdarstellungen eine kontextfreie Grammatik verwendet wird kommt in letzterer die Kontextabhangigkeit zum Tragen Diese Unterschiede spiegeln sich in der Chomsky Hierarchie wider Im Compilerbau spricht man in solchen Fallen bereits von semantischer Analyse Ableitungsbaume BearbeitenMan betrachte eine kontextfreie Grammatik G N S P S displaystyle G left N Sigma P S right nbsp Ein Ableitungsbaum dazu ist ein Baum dessen Knoten mit Symbolen aus S N e displaystyle Sigma cup N cup varepsilon nbsp also Terminal und Nichtterminalsymbolen und dem leeren Wort beschriftet sind Der Baum ist geordnet d h die Kinder jedes Knotens haben eine feste Reihenfolge und fur die Beschriftung gilt Die Wurzel ist mit dem Startsymbol S displaystyle S nbsp beschriftet Diese Eigenschaft wird gelegentlich nicht verlangt Ein Baum der sie erfullt wird alsvollstandigerAbleitungsbaum bezeichnet Wenn die Kinder eines mit A displaystyle A nbsp beschrifteten inneren Knotens mit den Symbolen z 1 z m displaystyle z 1 ldots z m nbsp in dieser Reihenfolge beschriftet sind muss die Grammatik die Regel A z 1 z m displaystyle A to z 1 ldots z m nbsp enthalten Die Blatter des Baumes sind mit Symbolen aus S e displaystyle Sigma cup varepsilon nbsp beschriftet Ist ein Blatt mit e displaystyle varepsilon nbsp gekennzeichnet so ist es der einzige Nachfolger seines Vorgangerknotens Als innere Knoten kommen also nur Nichtterminalsymbole in Frage sowie fur die Blatter nur die Terminalsymbole oder das leere Wort Konstruktion von Ableitungsbaumen Bearbeiten Mogliche Syntaxbaume diagramme lassen sich fur kurze Texte oft leicht durch Befolgen der Produktionsregeln erstellen Fur langere Texte stehen viele mechanische Verfahren zur Verfugung Beispielsweise liegen dem einleitend gezeigten Syntaxdiagramm u a folgende Regeln zugrunde S N P V P N P J o h n N P D e t N V P V N P V h i t D e t t h e N b a l l displaystyle begin array lll S amp rightarrow amp NP VP NP amp rightarrow amp mathtt John NP amp rightarrow amp Det N VP amp rightarrow amp V NP end array quad quad begin array lll V amp rightarrow amp mathtt hit Det amp rightarrow amp mathtt the N amp rightarrow amp mathtt ball end array nbsp Um nun einen Ableitungbaum zu erzeugen kann man die Regeln schrittweise von der Wurzel aus anwenden indem man systematisch je ein Nonterminal der linken Seite der Regel durch die Symbole auf der rechten Seite ersetzt bis nur noch Terminale ubrig sind S N P V P J o h n V P J o h n V N P J o h n h i t N P J o h n h i t D e t N J o h n h i t t h e N J o h n h i t t h e b a l l displaystyle S Rightarrow NP VP Rightarrow mathtt John VP Rightarrow mathtt John V NP Rightarrow mathtt John hit NP Rightarrow mathtt John hit Det N Rightarrow mathtt John hit the N Rightarrow mathtt John hit the ball nbsp Bei jedem der Schritte zeichnet man dabei von oben nach unten ein Stuck des Syntaxbaums Man kann die Regeln aber auch umgekehrt anwenden und mit dem niedergeschriebenen Satz beginnen und daruber den Baum schrittweise von unten nach oben aufbauen Ableitungsbaume bei ein und mehrdeutigen Grammatiken Bearbeiten Falls es fur ein Wort der Sprache einer Grammatik mehr als einen Ableitungsbaum gibt spricht man von einer mehrdeutigen Grammatik sonst von einer eindeutigen Beispielsweise ist die folgende Grammatik mehrdeutigS S S S a displaystyle begin array lll S amp rightarrow amp S S S amp rightarrow amp a end array nbsp da man etwa a a a in zwei verschiedenen Weisen einteilen kann a a a und a a a Nur eine mogliche Einteilung erlaubt hingegen folgende GrammatikS a S S a displaystyle begin array lll S amp rightarrow amp a S S amp rightarrow amp a end array nbsp Bei mehrdeutigen Grammatiken kann die Zahl moglicher Ableitungsbaume fur ein und dasselbe Wort mit der Lange des Wortes stark ansteigen In diesem Fall sind Ableitungsbaume keine geeignete Darstellung fur die Gesamtheit moglicher Ableitungen mehr Bei formalen Sprachen wird die konkrete Oberflachen Grammatik meist eindeutig formuliert Abstrakte Grammatiken sind dagegen oft mehrdeutig wobei sich die Eindeutigkeit des abstrakten Ableitungsbaums dann durch den Gang der Analyse aus dem konkreten ergibt Abstrakte Syntaxbaume BearbeitenFur die Darstellung von Syntaxbaumen als Datenstruktur in einem Rechner wird die Bezeichnung abstrakter Syntaxbaum engl abstract syntax tree AST inzwischen recht einheitlich verwendet wobei die Terminologie auch hier schwankt und z B ebenfalls von abstrakten Ableitungsbaumen Operatorbaumen o A die Rede sein kann Ein exakter Zusammenhang von abstraktem Syntaxbaum und konkretem Ableitungsbaum wird in der Literatur z T angedeutet Allerdings gehen bei diesen neben einer Vergroberung des Ableitungsbaums auch Erfordernisse der weiteren Verarbeitung mit in den Aufbau ein so dass eine direkte formale Herleitung aus der Oberflachengrammatik meist im Ergebnis nicht zufriedenstellend ist Der kontextfreien Oberflachengrammatik steht dann eine abstrakte Grammatik gegenuber die im engeren Sinne aber meist ein algebraischer Datentyp ist Die Syntaxbaume werden dann als vielsortige Terme technisch reprasentiert Die Analyse befindet sich dabei im Ubergang zwischen grammatischen und algebraisch logischen Begriffen so dass hier fliessend sowohl von Nonterminalen und Typen oder von Baumen und Termen die Rede sein kann Beispiel Bearbeiten nbsp Konkreter links und abstrakter rechts Syntaxbaum fur den Ausdruck a b 3 displaystyle a times b 3 nbsp Die nebenstehende Abbildung zeigt konkrete und abstrakte Syntaxbaume fur die nachfolgenden Grammatiken konkrete Grammatik abstrakte Grammatik algebraischer TypE E T Ausdruck T T T F Term F F V Faktor N E V Variable N Zahl E E E E E V N typ E add E E mul E E var V num N Die konkrete Grammatik in diesem Beispiel muss insbesondere die Anwendungsreihenfolge von Operatoren auf die Teil Ausdrucke regeln also dass Punkt vor Strichrechnung geht und die Teilausdrucke gleicher Prioritat von links nach rechts zusammenzufassen sind Ebenso wird mit Klammerausdrucken die Moglichkeit angeboten eine andere Zusammenfassung zu bewirken Dies sind zusammen mit bestimmten Terminalen hier lediglich Eigenschaften der syntaktischen Oberflache die in der spateren Analyse und Weiterverarbeitung keine Rolle mehr spielen Insbesondere kann auf die Unterscheidung in verschiedene Arten von Ausdrucken hier E T und F sowie die Schlusselworte vollig verzichtet werden wie man am abstrakten Syntaxbaum sieht der auch deutlich naher am Inhalt des Ausdrucks ist Ferner werden konkrete Ableitungsbaume wegen dieser Oberflachendetails nicht nur schnell unubersichtlich sondern belegen auch als Datenstruktur im Rechner durch ihre Details mehr Speicherplatz als notig Dies schlagt sich ebenfalls in der Laufzeit und Kompliziertheit der Programme nieder die spater den Ableitungsbaum weiter verarbeiten sollen Auch aus technischen Grunden wird die Zergliederung eines Quelltextes daher meist nicht durch einen konkreten Ableitungsbaum dargestellt Darstellung abstrakter Syntaxbaume Bearbeiten Neben der im Beispiel gezeigten graphischen Darstellung als Operator Baum werden abstrakte Syntaxbaume technisch auch als Terme notiert z B mul var a add var b num 3 Abstrakte Grammatik Bearbeiten Wahrend abstrakte Syntaxbaume Datenstrukturen sind und algebraische Typen bei ihnen in die Rolle der Grammatik treten wird in der Literatur speziell im Zusammenhang mit Kalkulen oft nur eine vergroberte mehrdeutige Grammatik angegeben die wie in obigem Beispiel gezeigt zwar dieselbe Struktur wie die Terme haben aber noch Schlusselworte enthalten Diese Form ermoglicht eine dann vor allem eine angenehme Niederschrift abstrakter Syntaxbaume die der eigentlichen Quelle oft sehr nahe ist Meist wird einleitend darauf hingewiesen dass zur Vereindeutigung Klammern gesetzt werden durfen Ein abstrakter Syntaxbaum fur das obige Beispiel wurde dann tatsachlich als a b 3 niedergeschrieben Im Kontext dieser Literatur liegt der Blick dabei aber stets auf dem Term Wie erwahnt werden die Grenzen zwischen Grammatik und Algebra durch ein Spiel mit der Form verwischt Ein typisches Beispiel sind die Ausdrucke im Lambda Kalkul deren abstrakte Grammatik oft nur knapp als E l V E E E V displaystyle E lambda V E EE V nbsp niedergeschrieben wird Dieselbe Technik wird aber auch fur umfangreiche Grammatiken eingesetzt Literatur BearbeitenIngo Wegener Theoretische Informatik Eine algorithmenorientierte Einfuhrung B G Teubner Stuttgart ISBN 3 519 02123 4 6 1 Beispiele kontextfreier Sprachen und Syntaxbaume S 147 148 Uwe Schoning Theoretische Informatik kurz gefasst 5 Auflage Spektrum Akademischer Verlag Heidelberg ISBN 978 3 8274 1824 1 1 1 4 Syntaxbaume S 15 17 Juraj Hromkovic Theoretische Informatik Formale Sprachen Berechenbarkeit Komplexitatstheorie Algorithmik Kommunikation und Kryptographie 3 Auflage B G Teubner Verlag Heidelberg ISBN 978 3 8351 0043 5 10 4 Kontextfreie Grammatiken und Kellerautomaten S 378 Hans Zima Compilerbau I Analyse Bibliographisches Institut Mannheim Wien Zurich 1982 ISBN 3 411 01644 2 4 3 Abstrakte Baume und ihre Attributierung S 216 229 Stefan Muller Grammatical Theory From transformational grammar to constraint based approaches 2 Auflage Language Science Press Berlin 2018 ISBN 978 3 96110 074 3 Kap 2 langsci press org Weblinks Bearbeiten nbsp Commons Syntaxbaum Sammlung von Bildern Videos und AudiodateienEinzelnachweise Bearbeiten Muller 2018 S 59f Abgerufen von https de wikipedia org w index php title Syntaxbaum amp oldid 228149875