An Abstrakcyjne drzewo składniowe, lub AST, jest drzewiastą reprezentacją kodu źródłowego programu komputerowego, która przekazuje strukturę kodu źródłowego. Każdy węzeł w drzewie reprezentuje konstrukcję występującą w kodzie źródłowym.
Podczas konwersji do AST, tylko strukturalne i związane z treścią szczegóły kodu źródłowego są zachowywane, a wszelkie dodatkowe szczegóły są odrzucane. Informacje, które są zachowywane i są istotne dla celu AST, to:
- Typy zmiennych i lokalizacja każdej deklaracji zmiennej
- Porządek i definicja instrukcji wykonywalnych
- Lewe i prawe składowe operacji binarnych
- Identyfikatory i przypisane im wartości
Do czego używane są AST?
STs są używane do reprezentowania struktury kodu źródłowego programu do wykorzystania przez kompilator. AST jest zwykle wynikiem fazy analizy składni kompilatora. Często służy jako pośrednia reprezentacja programu przez kilka etapów, których wymaga kompilator, i ma duży wpływ na ostateczny wynik kompilatora.
AST są również używane w takich przypadkach, jak statyczna analiza kodu. Zautomatyzowane narzędzia mogą prześledzić AST programu, aby znaleźć błędy składni i złe wzorce w kodzie bez jego faktycznego wykonywania.