Skip to main content

Vad är ett abstrakt syntaxträd?

Ett abstrakt syntaxträd (AST) är en syntaktisk struktur som görs för att representera de funktioner som förekommer inom ett program.Det är baserat på källkoden för programmeringen.Vanligtvis hierarkiskt i design, det abstrakta syntaxträdet börjar från de grundläggande funktionerna och strömmarna nedåt för att visa de mer involverade funktionerna och koden inom varje grundläggande funktion.Användningen av detta träd gör det lättare för programmerare att visualisera koden utan att titta igenom själva källkoden, vilket är mycket längre, och kan avslöja brister eller svagheter i koden.Trädet kallas abstrakt, inte för att det är svårt att förstå eller har en abstrakt form, utan för att det inte inkluderar den kodande syntaxen som parentesmärken och andra symboler som oundvikligen visas i koden.

När en programmerare bygger ett program, han eller hon måste bygga funktionerna från sådana saker som om då uttalanden och eller annars uttalanden.När du tittar på källkoden kan det vara svårt att se om varje uttalande och villkor har uppfyllts och om alla funktioner har skapats korrekt.Ett abstrakt syntaxträd ger programmeraren ett snabbt sätt att titta över programmeringen för att se varje tillstånd och hur det gäller programmet totalt sett.

Trädet är tillverkat på hierarkiskt sätt.Överst är ett av de viktigaste uttalandena och från detta uttalande flyter grenar nedåt för att visa vad som uppfyller villkoren.Detta fortsätter och visar andra funktioner och förhållanden för hela programmet.Variabler i programmeringen visas också ofta.De flesta programmeringsspråk har förmågan att generera ett abstrakt syntaxträd.

Sammanfattning betyder vanligtvis dåligt bildad, svår att förstå eller amorfa.Detta är inte fallet med ett abstrakt syntaxträd.Anledningen till att ordet abstrakt används är att trädet inte visar syntaxen och programmeringen som det är;Snarare tar det bort implicita symboler som inte är viktiga för displayen.Till exempel används parenteser ofta ganska liberalt vid programmering, men de visas inte på trädet.Detta beror på att det är svårt att titta på trädet att visa denna syntax, gör det svårare att titta på trädet, och programmeraren skulle veta om dessa symboler i källkoden.

Om en programmerare vill se dessa tillhörande symboler är ett konkret syntaxträd ärofta anställda.Dessa träd liknar den abstrakta sorten, bara de går mer i detalj med alla symboler.Detta träd är bättre för att titta på saknade bitar av symboler eller kod, medan det abstrakta trädet är bättre för att kontrollera programmets funktioner och variabler.