Et abstrakt syntaksetræ, eller AST, er en trærepræsentation af kildekoden til et computerprogram, der viser strukturen i kildekoden. Hver knude i træet repræsenterer en konstruktion, der forekommer i kildekoden.
Ved konvertering til AST’et bevares kun de strukturelle og indholdsrelaterede detaljer i kildekoden, og eventuelle yderligere detaljer kasseres. Oplysninger, der bevares, og som er afgørende for AST’ens formål, er:
- Variabeltyper og placering af hver variabeldeklaration
- Rækkefølge og definition af eksekverbare instruktioner
- Venstre og højre komponent af binære operationer
- Identifikatorer og deres tildelte værdier
Hvad bruges AST’er til?
AST’er bruges til at repræsentere strukturen i et programs kildekode, som compileren kan bruge. En AST er normalt resultatet af syntaksanalysefasen i en compiler. Den tjener ofte som en mellemliggende repræsentation af programmet gennem flere faser, som compileren kræver, og har stor indflydelse på compilerens endelige output.
AST’er bruges også til anvendelsestilfælde som statisk kodeanalyse. Automatiserede værktøjer kan gennemløbe et programs AST for at finde syntaksfejl og dårlige mønstre i koden uden faktisk at udføre den.