Wat is een abstracte syntaxisboom?

Een abstracte syntaxisboom (AST) is een syntactische structuur die is gemaakt om de functies weer te geven die zich binnen een programma voordoen. Het is gebaseerd op de broncode van de programmering. Meestal hiërarchisch in ontwerp, begint de abstracte syntaxisboom vanuit de basisfuncties en stroomt naar beneden om de meer betrokken functies en code binnen elke basisfunctie weer te geven. Het gebruik van deze boom maakt het voor programmeurs gemakkelijker om de code te visualiseren zonder door de broncode zelf te kijken, die veel langer is, en kan fouten of zwakheden in code onthullen. De boom wordt abstract genoemd, niet omdat hij moeilijk te begrijpen is of een abstracte vorm heeft, maar omdat hij geen coderingssyntaxis bevat zoals haakjes en andere symbolen die onvermijdelijk in de code voorkomen.

Wanneer een programmeur een programma bouwt, moet hij of zij de functies samenstellen uit dingen als "if-then" -instructies en "of anders" -instructies. Wanneer u naar de broncode kijkt, kan het moeilijk zijn om te zien of aan elke instructie en voorwaarde volledig is voldaan en of alle functies correct zijn gemaakt. Een abstracte syntaxisboom geeft de programmeur een snelle manier om de programmering te bekijken om elke voorwaarde te zien en hoe deze van toepassing is op het programma in het algemeen.

De boom is hiërarchisch gemaakt. Bovenaan staat een van de belangrijkste uitspraken en daaruit vloeien takken naar beneden om te laten zien wat aan de voorwaarden voldoet. Dit gaat door en toont andere functies en voorwaarden voor het hele programma. Variabelen in de programmering worden ook vaak weergegeven. De meeste programmeertalen hebben de mogelijkheid om een ​​abstracte syntax-structuur te genereren.

Abstract betekent meestal slecht gevormd, moeilijk te begrijpen of amorf. Dit is niet het geval met een abstracte syntaxisboom. De reden dat het woord "abstract" wordt gebruikt, is omdat de boom de syntaxis en programmering niet weergeeft zoals deze is; het verwijdert eerder impliciete symbolen die niet belangrijk zijn voor de weergave. Haakjes worden bijvoorbeeld vaak vrij royaal gebruikt bij het programmeren, maar ze worden niet in de boom getoond. Dit komt omdat het tonen van deze syntaxis veel meer ruimte in beslag neemt, het moeilijker maakt om naar de boom te kijken, en de programmeur zou deze symbolen in de broncode kennen.

Als een programmeur deze aanvullende symbolen wil zien, wordt vaak een concrete syntaxisboom gebruikt. Deze bomen zijn vergelijkbaar met de abstracte variëteit, alleen gaan ze meer in detail met alle symbolen. Deze boom is beter voor het bekijken van ontbrekende stukjes symbolen of code, terwijl de abstracte boom beter is voor het controleren van de functies en variabelen van het programma.

ANDERE TALEN

heeft dit artikel jou geholpen? bedankt voor de feedback bedankt voor de feedback

Hoe kunnen we helpen? Hoe kunnen we helpen?