Compiler
Welche Eigenschaft des abstrakten Syntaxbaums (AST) ist richtig?
- AEr behält alles bis hin zu Klammern und Trennzeichen des Quellcodes als Knoten bei
- BEr lässt bedeutungslose Symbole weg und stellt die Operatorpriorität in Baumform dar
- CEr entspricht eins zu eins den CPU-Befehlen und kann direkt ausgeführt werden
Antwort und Erläuterung anzeigen
Antwort: B. Er lässt bedeutungslose Symbole weg und stellt die Operatorpriorität in Baumform dar
Bei der Syntaxanalyse entsteht gemäß den Grammatikregeln ein Baum samt Klammern und Trennzeichen (konkreter Syntaxbaum), der jedoch viele für die weitere Verarbeitung unnötige Informationen enthält. Der abstrakte Syntaxbaum besteht nur aus den für die Bedeutung des Programms nötigen Operationen und Anweisungen; bei (a + b) * c liegt z. B. der Additionsknoten unter dem Multiplikationsknoten, sodass die Berechnungsreihenfolge auch ohne Klammern erkennbar ist. Den CPU-Befehlen entspricht erst der in einer späteren Phase erzeugte Code.