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. Doorgaans hiërarchisch in ontwerp, begint de abstracte syntaxisboom vanaf de basisfuncties en streamt 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 de broncode zelf te bekijken, die veel langer is, en kan fouten of zwakke punten in code onthullen. De boom wordt abstract genoemd, niet omdat het moeilijk is om een ​​abstracte vorm te begrijpen of heeft, maar omdat het de coderingssyntaxis niet bevat, zoals haakjesmarkeringen en andere symbolen die onvermijdelijk in de code verschijnen.

Wanneer een programmeur een programma bouwt, moet hij of zij de functies bouwen van dingen als "if-then" -beschrijvingen en "of anders" verklaringen. Wanneer u naar de broncode kijkt, kan het moeilijk zijn om te zien of elke verklaring enDe toestand is volledig voldaan en als 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 gemaakt op hiërarchische wijze. Bovenaan staat een van de belangrijkste verklaringen en, uit die verklaring, branden takken naar beneden om aan te tonen wat aan de voorwaarden voldoet. Dit gaat verder en toont andere functies en voorwaarden voor het hele programma. Variabelen in de programmering worden vaak ook weergegeven. De meeste programmeertalen hebben de mogelijkheid om een ​​abstracte syntaxisboom te genereren.

Samenvatting 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 tHoed is niet belangrijk voor het display. Haakjes worden bijvoorbeeld vaak vrij royaal gebruikt bij het programmeren, maar ze worden niet op de boom getoond. Dit komt omdat het tonen van deze syntaxis veel meer ruimte nodig heeft, het moeilijker maakt om naar de boom te kijken, en de programmeur zou op de hoogte zijn van deze symbolen in de broncode.

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 om te kijken naar het missen van brokken symbolen of code, terwijl de abstracte boom beter is om de functies en variabelen van het programma te controleren.

ANDERE TALEN