Absztrakt szintaktikai fa (ASD) vagy szintaktikai fa , vagy AST (absztrakt szintaxisfa) - a számítástechnikában egy végső címkézett orientált fa , amelyben a belső csúcsok programnyelvi operátorokkal vannak leképezve (felcímkézve), a levelek pedig a megfelelő operandusokkal . Így a levelek üres utasítások, és csak változókat és állandókat jelentenek.
A szintaktikai fákat az értelmezőkben arra használják, hogy egy program köztes reprezentációját biztosítsák egy elemző fa (egy meghatározott szintaxisú fa) és egy adatstruktúra között, amelyet azután belső reprezentációként használnak egy számítógépes programfordítóban . vagy tolmács optimalizáláshoz és kódgeneráláshoz. Az ilyen struktúrák lehetséges változatait absztrakt szintaxis írja le.
Az absztrakt szintaktikai fa abban különbözik az elemző fától, hogy nem tartalmaz csomópontokat és éleket azokhoz a szintaktikai szabályokhoz, amelyek nem befolyásolják a program szemantikáját. A zárójelek csoportosítása ennek a hiányának klasszikus példája, mivel az AST-ben az operandusok csoportosítását kifejezetten a fastruktúra adja meg.
Egy kontextusmentes nyelvtan által leírt nyelv esetében, mint szinte minden programozási nyelv, egy fa létrehozása az elemzőben triviális feladat. A nyelvtan legtöbb szabálya új csúcsot hoz létre, és a szabály karakterei élekké válnak. Azok a szabályok, amelyek nem járulnak hozzá a DAS-hoz (például a csoportosítási szabályok), egyszerűen felülre kerülnek valamelyik szimbólumukra. Ezenkívül az elemző létrehozhat egy teljes elemzőfát, majd bejárhat rajta, eltávolítva az absztrakt szintaxisban nem használt csomópontokat és éleket, hogy megkapja a DAS-t.