Abstraktní syntaktický strom neboli AST je stromová reprezentace zdrojového kódu počítačového programu, která vyjadřuje strukturu zdrojového kódu. Každý uzel stromu představuje konstrukci vyskytující se ve zdrojovém kódu.
Při převodu do jeho AST jsou zachovány pouze strukturní a obsahové detaily zdrojového kódu a veškeré další detaily jsou vyřazeny. Informace, které jsou zachovány a jsou pro účel AST zásadní, jsou:
- Typy proměnných a umístění deklarace každé proměnné
- Pořadí a definice spustitelných příkazů
- Levé a pravé komponenty binárních operací
- Identifikátory a jim přiřazené hodnoty
K čemu se AST používají?
AST se používají k reprezentaci struktury zdrojového kódu programu, kterou má překladač použít. AST je obvykle výsledkem fáze syntaktické analýzy překladače. Často slouží jako mezistupeň reprezentace programu přes několik fází, které překladač vyžaduje, a má velký vliv na konečný výstup překladače.
AST se také používají v případech použití, jako je statická analýza kódu. Automatizované nástroje mohou procházet AST programu a nacházet syntaktické chyby a špatné vzory v kódu, aniž by jej skutečně prováděly.
.