Skip to main content

Hva er et abstrakt syntaksre?

Et abstrakt syntaks tre (AST) er en syntaktisk struktur laget for å representere funksjonene som oppstår i et program.Det er basert på kildekoden til programmeringen.Typisk hierarkisk i design, det abstrakte syntaks -treet starter fra de grunnleggende funksjonene og strømmer nedover for å vise de mer involverte funksjonene og koden i hver grunnleggende funksjon.Bruken av dette treet gjør det lettere for programmerere å visualisere koden uten å se gjennom selve kildekoden, noe som er mye lengre, og kan avsløre feil eller svakheter i koden.Treet kalles abstrakt, ikke fordi det er vanskelig å forstå eller har en abstrakt form, men fordi det ikke inkluderer kodingssyntaks som parentesmerker og andre symboler som uunngåelig vises i koden.

Når en programmerer bygger et program, han eller hun må bygge funksjonene fra slike ting som if-da-uttalelser og ellers uttalelser.Når du ser på kildekoden, kan det være vanskelig å se om hver uttalelse og tilstand er fullstendig oppfylt, og om alle funksjonene er opprettet riktig.Et abstrakt syntaks -tre gir programmereren en rask måte å se på programmeringen for å se hver tilstand og hvordan det gjelder programmet generelt.

Treet er laget på hierarkisk måte.På toppen er en av hoveduttalelsene, og fra den uttalelsen strømmer grener nedover for å vise hva som tilfredsstiller forholdene.Dette fortsetter, og viser andre funksjoner og forhold for hele programmet.Variabler i programmeringen vises ofte også.De fleste programmeringsspråk har muligheten til å generere et abstrakt syntaksre.

Abstrakt betyr vanligvis dårlig formet, vanskelig å forstå eller amorf.Dette er ikke tilfelle med et abstrakt syntaksre.Årsaken til at ordet abstrakt brukes er fordi treet ikke viser syntaks og programmering som det er;Snarere fjerner det implisitte symboler som ikke er viktige for skjermen.For eksempel brukes parenteser ofte ganske liberalt i programmering, men de er ikke vist på treet.Dette fordi det å vise denne syntaksen tar mye mer plass, gjør det vanskeligere å se på treet, og programmereren ville vite om disse symbolene i kildekoden.

Hvis en programmerer vil se disse tilleggssymbolene, er et betongsyntaksreofte ansatt.Disse trærne ligner på den abstrakte sorten, bare de går nærmere inn på alle symbolene.Dette treet er bedre for å se på manglende biter av symboler eller kode, mens det abstrakte treet er bedre for å sjekke opp programmets funksjoner og variabler.