Hvad er den abstrakte syntaks?
Abstrakt syntaks er en måde for computerprogrammører at kortlægge strukturen i det program, de vil oprette, uden at bekymre sig om den faktiske kode, der er nødvendig for at implementere det. Det giver programmereren mulighed for at fokusere på, hvad programmet skal gøre, før det fokuserer på, hvordan man får computeren til faktisk at udføre de ønskede funktioner. Den abstrakte syntaks skitserer programmets specifikke opgaver, såsom at tilføje to numre sammen, og viser, hvilke typer data, der kan bruges i det pågældende program. Når den abstrakte kortlægning er afsluttet, tegnes et abstrakt syntaks-træ, der matcher de abstrakte koncepter med konkret syntaks - de faktiske symboler, som en programmør skal udskrive for at køre det program, hun opretter.
Ideen med abstrakt syntaks er at fokusere på datatyper og deres forhold uden at blive fanget i detaljerne om, hvordan man kode dem. Computerkode er meget anderledes end menneskeligt sprog, og det er vanskeligt at prøve at tænke i disse termer. I stedet laver programmører en liste over de trin, som programmet har brug for at gennemføre og derefter bruge konkret syntaks til at matche de abstrakte udtryk sammen med computerkodebetingelserne, der udfører disse trin. Ofte inkluderer programmereren datatyper i hendes abstrakte markering for at vise, hvilke typer data - det være sig tal, bogstaver eller decimaler - programmet kan arbejde med. Specifikke datatyper er ikke påkrævet på dette trin i programmeringen, men programmereren kan vælge at bruge abstrakte datatyper, som er rent teoretiske og vil blive erstattet med specifikke datatyper, når programmet skrives.
Denne slags abstrakte idé om programmering bruges ofte i compiler teori. Computere kan kun forstå to værdier: 1s og 0s. Dette kaldes binær kode. For at computeren skal forstå et program, der er skrevet på et programmeringssprog, skal det samle eller oversætte ord og bogstaver til en strøm på 1s og 0s. Kompilatorer er komplekse at skabe og kortlægge en vag eller abstrakt idé om, hvad de skal gøre, hjælper en programmerer med at planlægge fejlfri kode.
Når programmereren ønsker at kortlægge den abstrakte syntaks til konkret syntaks og begynde at kode programmet eller compileren, opretter hun et abstrakt syntaks træ. Dette er simpelthen en liste over alle de abstrakte instruktioner, hun har skrevet, såsom "tilføj 2 variabler", med en linje trukket fra hvert abstrakte udtryk til den specifikke kodelinje, der er nødvendig for at udføre denne instruktion. Programmereren kan bruge alle abstrakte udtryk, hun ønsker, men det er mere almindeligt at bruge kendte kodebegreber som "var" for variabel og "int" for heltal.