Co je to strom abstraktní syntaxe?
Abstraktní strom syntaxe (AST) je syntaktická struktura vytvořená tak, aby reprezentovala funkce, které se vyskytují v rámci programu. Je založen na zdrojovém kódu programování. Abstraktní strom syntaxe obvykle hierarchický v designu začíná od základních funkcí a proudů dolů, aby zobrazovaly více zapojené funkce a kód v rámci každé základní funkce. Použití tohoto stromu usnadňuje programátorům vizualizaci kódu bez prohlédnutí samotného zdrojového kódu, který je mnohem delší, a může odhalit nedostatky nebo slabé stránky v kódu. Strom se nazývá abstraktní, ne proto, že je obtížné porozumět nebo má abstraktní tvar, ale protože nezahrnuje syntaxi kódování, jako jsou patky a další symboly, které se nevyhnutelně objevují v kódu. Při pohledu na zdrojový kód může být obtížné zjistit, zda každé prohlášení aPodmínka byla plně splněna a pokud byly všechny funkce vytvořeny správně. Abstraktní strom syntaxe dává programátorovi rychlý způsob, jak se podívat na programování, aby viděl každou podmínku a jak se celkově vztahuje na program.
Strom je vyroben hierarchickým způsobem. Nahoře je jedno z hlavních tvrzení a z tohoto tvrzení proudí větve dolů, aby ukázaly, co splňuje podmínky. To pokračuje a ukazuje další funkce a podmínky pro celý program. Často se také zobrazují proměnné v programování. Většina programovacích jazyků má schopnost generovat strom abstraktní syntaxe.
Abstrakt obvykle znamená špatně formované, obtížně pochopitelné nebo amorfní. To není případ abstraktního stromu syntaxe. Důvod, proč se používá slovo „abstrakt“, je ten, že strom nezobrazuje syntaxi a programování tak, jak je; spíše odstraňuje implicitní symboly tKlobouk není pro displej důležitý. Například závorky se v programování často používají poměrně liberálně, ale na stromě nejsou zobrazeny. Je to proto, že zobrazení této syntaxe vyžaduje mnohem více prostoru, ztěžuje pohled na strom a programátor by o těchto symbolech věděl ve zdrojovém kódu.
Pokud programátor chce vidět tyto doplňkové symboly, často se používá betonový strom syntaxe. Tyto stromy jsou podobné abstraktní odrůdě, pouze oni jdou do podrobností se všemi symboly. Tento strom je lepší pro pohled na chybějící kousky symbolů nebo kódu, zatímco abstraktní strom je lepší pro kontrolu funkcí a proměnných programu.