Az absztrakt szintaxisfa vagy AST egy számítógépes program forráskódjának fa reprezentációja, amely a forráskód szerkezetét közvetíti. A fa minden egyes csomópontja egy, a forráskódban előforduló konstrukciót reprezentál.
Az AST-be való konvertálás során a forráskódnak csak a szerkezeti és tartalmi részletei maradnak meg, minden további részletet elvetünk. A megőrzött információk, amelyek az AST célja szempontjából létfontosságúak, a következők:
- Változótípusok és az egyes változók deklarációjának helye
- Futtatható utasítások sorrendje és meghatározása
- Bináris műveletek bal és jobb összetevői
- Identifikátorok és a hozzájuk rendelt értékek
Mire használják az AST-eket?
Az AST-eket arra használják, hogy a program forráskódjának szerkezetét reprezentálják a fordító számára. Az AST általában a fordítóprogram szintaxiselemzési fázisának eredménye. Gyakran a program köztes reprezentációjaként szolgál több olyan szakaszon keresztül, amelyet a fordítóprogram igényel, és nagy hatással van a fordítóprogram végső kimenetére.
Az AST-eket olyan felhasználási esetekben is használják, mint a statikus kódelemzés. Az automatizált eszközök képesek bejárni egy program AST-jét, hogy szintaxis hibákat és rossz mintákat találjanak a kódban anélkül, hogy ténylegesen végrehajtanák azt.