Hvad er et abstrakt syntakstræ?
Et abstrakt syntakstræ (AST) er en syntaktisk struktur, der er lavet til at repræsentere de funktioner, der forekommer i et program. Det er baseret på kildekoden til programmeringen. Typisk hierarkisk i design starter det abstrakte syntakstræ fra de grundlæggende funktioner og strømmer nedad for at vise de mere involverede funktioner og kode inden for hver grundlæggende funktion. Brugen af dette træ gør det lettere for programmerere at visualisere koden uden at se gennem kildekoden selv, hvilket er meget længere og kan afsløre mangler eller svagheder i koden. Træet kaldes abstrakt, ikke fordi det er vanskeligt at forstå eller har en abstrakt form, men fordi det ikke inkluderer den kodende syntaks, såsom parentesmærker og andre symboler, der uundgåeligt vises i koden Når man ser på kildekoden, kan det være vanskeligt at se, om hver udsagn ogBetingelsen er blevet opfyldt fuldt ud, og hvis alle funktionerne er oprettet korrekt. Et abstrakt syntakstræ giver programmereren en hurtig måde at se på programmeringen for at se hver betingelse og hvordan det gælder for programmet generelt.
Træet er lavet på hierarkisk måde. Øverst er en af de vigtigste udsagn, og fra denne erklæring flyder grene nedad for at vise, hvad der opfylder forholdene. Dette fortsætter og viser andre funktioner og betingelser for hele programmet. Variabler i programmeringen vises ofte også. De fleste programmeringssprog har evnen til at generere et abstrakt syntakstræ.
Abstract betyder normalt dårligt dannet, vanskeligt at forstå eller amorf. Dette er ikke tilfældet med et abstrakt syntakstræ. Årsagen til, at ordet "abstrakt" bruges, er fordi træet ikke viser syntaks og programmering som det er; snarere fjerner det implicitte symboler tHat er ikke vigtige for displayet. For eksempel bruges parentes ofte ganske liberalt til programmering, men de vises ikke på træet. Dette skyldes, at det at vise denne syntaks tager meget mere plads, gør det sværere at se på træet, og programmøren ville vide om disse symboler i kildekoden.
Hvis en programmør ønsker at se disse supplerende symboler, anvendes ofte et konkret syntakstræ. Disse træer ligner den abstrakte sort, kun de går mere detaljeret med alle symbolerne. Dette træ er bedre til at se på manglende bidder med symboler eller kode, mens det abstrakte træ er bedre til at kontrollere programmets funktioner og variabler.