Compilers
Welke uitspraak over een abstracte syntaxisboom (AST) is juist?
- AAlle haakjes en scheidingstekens van de broncode blijven als knopen behouden
- BSymbolen die voor de betekenis niet ter zake doen zijn weggelaten en de prioriteit van operatoren komt in de boomvorm tot uitdrukking
- CHij komt één op één overeen met CPU-instructies en kan rechtstreeks worden uitgevoerd
Antwoord en toelichting tonen
Antwoord: B. Symbolen die voor de betekenis niet ter zake doen zijn weggelaten en de prioriteit van operatoren komt in de boomvorm tot uitdrukking
Parsing levert een boom op die volgens de grammaticaregels ook haakjes en scheidingstekens bevat (concrete syntaxisboom), maar die bevat veel informatie die voor de verdere verwerking niet nodig is. Een abstracte syntaxisboom is een boom met alleen de voor de betekenis van het programma noodzakelijke operaties en statements als knopen; bij (a + b) * c bijvoorbeeld staat de optelknoop onder de vermenigvuldigingsknoop, zodat ook zonder haakjes de volgorde van berekening duidelijk is. Wat met CPU-instructies overeenkomt, is de code die in een latere fase wordt gegenereerd.