Abstraktní syntaktický strom (ASD) nebo syntaktický strom nebo AST (Abstraktní syntaktický strom) - v informatice konečný označený orientovaný strom , ve kterém jsou vnitřní vrcholy mapovány (označeny) operátory programovacího jazyka a listy - s odpovídajícími operandy . Listy jsou tedy prázdné příkazy a představují pouze proměnné a konstanty.
Syntaktické stromy se používají v analyzátorech k poskytnutí přechodné reprezentace programu mezi parse tree (strom se specifickou syntaxí) a datovou strukturou , která se pak používá jako interní reprezentace v kompilátoru počítačového programu . nebo interpret pro optimalizaci a generování kódu. Možné varianty takových struktur jsou popsány abstraktní syntaxí.
Abstraktní strom syntaxe se liší od stromu analýzy v tom, že postrádá uzly a hrany pro pravidla syntaxe, která neovlivňují sémantiku programu. Klasickým příkladem této absence jsou seskupovací závorky, protože v AST je seskupení operandů explicitně dáno stromovou strukturou.
Pro jazyk, který je popsán bezkontextovou gramatikou , jako jsou téměř všechny programovací jazyky, je vytvoření stromu v parseru triviální úkol. Většina pravidel v gramatice vytváří nový vrchol a znaky v pravidle se stávají hranami. Pravidla, která nic nepřispívají k DAS (například pravidla seskupování), jsou jednoduše nahrazena nahoře jedním ze svých symbolů. Kromě toho může analyzátor vytvořit úplný strom analýzy a poté jej procházet, přičemž odstraňuje uzly a hrany, které nejsou použity v abstraktní syntaxi, aby získal DAS.