Syntaxbaum |
Top Previous Next |
Bedienung > Debuggen und Ausführen > Syntaxbaum
Wenn eine Startregel geparst wurde, wird sie samt den ihren Unterregeln in einer Baumstruktur dargestellt. Über ein Popup-Menü können Haltepunkte auf Baumknoten gesetzt werden oder man kann sich zugehörige Anfängermengen anzeigen lassen.
Zunächst erscheinen die Produktionen in kontrahierter Form:
kontrahierte Darstellungsform
In kontrahierter Form sind lediglich die Namen der Regeln mit einem vorangestellten '+' zu sehen. (Wenn noch keine der Regeln geparst wurde, fehlt das '+'.)
expandierte Darstellungsform
In expandierter Form ist dem Namen ein '-' vorangestellt und unter dem Namen wird die Aufeinanderfolge der in der Regel vorkommenden Unterregeln und Token angezeigt, sowie spezielle Unterknoten für Optionen, Wiederholungen und Alternativen.
Knoten-Icon
Jedem Knoten ist ein kleines Icon vorangestellt, dass den Typ des Knotens kennzeichnet. Den Namen der Knoten wird jeweils ein Prefix vorangestellt, der ebenfalls den Typ bezeichnet.
Verkettung
Regelbestandteile die innerhalb der Regel aufeinander folgen werden im Baumdiagramm als untereinander stehende Knoten dargestellt, die durch eine vertikale Linie mit kleinen Pfeilsymbolen miteinander verbunden sind. Eine Produktion
A = a b c d
wird dann folgendermaßen angezeigt
Alternativen
Für Regelbestandteile, die alternativ zueinander sind, wird ein Knoten eingefügt, der die Alternativen zusammengefasst und unterhalb dieses Knotens werden die einzelnen Alternativen als diskrete Knoten, also unverbunden dargestellt. Eine Produktion
A = a | b | c | d
wird dann folgendermaßen dargestellt
Der Name des die Alternativen zusammenfassenden Knotens wird aus dem Prefix "Alt" gebildet, dem ein Zähler folgt, der die Alternativen der Regel beginnend mit Null hochzählt. Hieran angehängt wird "_of_" und der Namen des übergeordneten Knotens. Aus dem Namen lässt sich somit der Typ und die Position des Knotens innerhalb der gesamten Regelsystems rekonstruieren.
Optionen und Wiederholungen
Für Optionen oder Wiederholungen wird analog ein übergeordneter Knoten gebildet, dessen Kind-Knoten die eigentliche Option oder Wiederholung ist. Die Produktion
B = ( b )+
sieht dann folgendermaßen aus:
Der Name des Options- oder Wiederholungs-Knotens wird analog zu der Namensgebung bei Alternativen gebildet, wobei die Ausdrücke
Opt für Optionen 0ptRep für null und mehrmalige Wiederholungen Rep für ein- und mehrmalige Wiederholungen
verwendet werden.
semantische Aktionen
Für Positionen an denen im Skript einer Produktion semantische Aktionen ausgeführt werden, werden im Baumdiagramm einfache Knoten angezeigt, deren Namen wiederum aus dem Namen der Produktion gebildet werden, indem der Ausdruck "_Sem" und ein Zähler angehängt werden. Die den Token direkt zugeordneten Aktionen werden nicht gesondert angezeigt.
komplexes Beispiel
Besteht eine der Alternativen selbst aus einer Folge von Token oder Regeln, so werden diese Folgen als untereinander verbundene Knoten dargestellt. Die gesamte Gruppierung dieser Alternative ist von den übrigen Alternativen getrennt. Eine etwas komplexere Produktion könnte z.B. lauten:
D = (B | c d | ( a )? d )+
Im Syntaxbaum sähe sie folgendermaßen aus:
|
Diese Seite gehört zur TextTransformer Dokumentation |
Home Inhalt English |