Skip to main content

Co je to strom abstraktní syntaxe?

Abstraktní strom syntaxe (AST) je syntaktická struktura vytvořená pro reprezentaci funkcí, 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é pochopit nebo má abstraktní tvar, ale protože nezahrnuje syntaxi kódování, jako jsou patky a další symboly, které se nevyhnutelně objeví v kódu.

Když programátor vytvoří program, on nebo ona musí budovat funkce z takových věcí, jako je prohlášení a jinak prohlášení.Při pohledu na zdrojový kód může být obtížné zjistit, zda byl každý příkaz a stav plně splněn a zda 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.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 abstraktní strom 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, které nejsou 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 místa, 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, konkrétní strom syntaxe je konkrétní strom syntaxečasto zaměstnaný.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