Skip to main content

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 kodende syntaks, såsom parentesmærker og andre symboler, der uundgåeligt vises i koden.

Når en programmerer bygger et program, han eller hun er nødt til at opbygge funktionerne fra sådanne ting som om-derefter udsagn og eller ellers udsagn.Når man ser på kildekoden, kan det være vanskeligt at se, om enhver erklæring og betingelse er blevet opfyldt fuldt ud, og om alle funktioner er oprettet korrekt.Et abstrakt syntakstræ giver programmereren en hurtig måde at se på programmeringen for at se hver tilstand, 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æ.

Abstrakt 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;Det fjerner snarere implicitte symboler, der ikke er 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 programmereren ville vide om disse symboler i kildekoden.

Hvis en programmør vil se disse supplerende symboler, er et konkret syntakstræofte ansat.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 tjekke op på programmets funktioner og variabler.