Co je abstraktní strom syntaxe?

Abstraktní strom syntaxe (AST) je syntaktická struktura vytvořená k reprezentaci funkcí, které se vyskytují v programu. Je založen na zdrojovém kódu programování. Typicky hierarchický design, abstraktní strom syntaxe začíná od základních funkcí a proudy dolů, aby zobrazoval více zapojené funkce a kód v každé základní funkci. Použití tohoto stromu usnadňuje programátorům vizualizaci kódu bez prohlížení samotného zdrojového kódu, který je mnohem delší, a může odhalit nedostatky nebo slabiny v kódu. Strom se nazývá abstraktní, nikoli proto, že je obtížné jej pochopit nebo má abstraktní tvar, ale protože nezahrnuje kódovací syntaxi, jako jsou značky v závorkách a další symboly, které se nevyhnutelně objevují v kódu.

Když programátor sestavuje program, musí budovat funkce z takových věcí, jako jsou příkazy „if-then“ a „nebo else“. Při pohledu na zdrojový kód může být obtížné zjistit, zda byly všechny příkazy a podmínky plně splněny a zda byly všechny funkce vytvořeny správně. Abstraktní strom syntaxe poskytuje programátorovi rychlý způsob, jak se podívat na programování, aby viděl každou podmínku a jak se vztahuje na program celkově.

Strom je vytvořen hierarchicky. Nahoře je jeden z hlavních výroků a od tohoto výroku větve stékají 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ě tvarované, obtížně pochopitelné nebo amorfní. To neplatí pro abstraktní strom syntaxe. Důvod, proč se používá slovo „abstrakt“, je ten, že strom nezobrazuje syntaxi a programování tak, jak je; spíše odebere implicitní symboly, které nejsou pro displej důležité. Například, závorky jsou často používány docela programově, ale nejsou zobrazeny na stromě. Důvodem je, že ukázka této syntaxe zabere 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 chce programátor vidět tyto pomocné symboly, často se používá konkrétní strom syntaxe. Tyto stromy jsou podobné abstraktní odrůdě, pouze jdou do podrobností se všemi symboly. Tento strom je lepší pro prohlížení chybějících kousků symbolů nebo kódu, zatímco abstraktní strom je lepší pro kontrolu funkcí a proměnných programu.

JINÉ JAZYKY

Pomohl vám tento článek? Děkuji za zpětnou vazbu Děkuji za zpětnou vazbu

Jak můžeme pomoci? Jak můžeme pomoci?