Soyut bir sözdizimi ağacı (AST), bir programda meydana gelen işlevleri temsil etmek için yapılan sözdizimsel bir yapıdır. Programlamanın kaynak koduna dayanmaktadır. Tasarımda genellikle hiyerarşik olan soyut sözdizimi ağacı, temel işlevlerden başlar ve her temel işlevde daha ilgili işlevleri ve kodu göstermek için aşağıya doğru akar. Bu ağacın kullanımı, programcıların, kodu daha uzun olan kaynak koduna bakmadan kodu görselleştirmesini kolaylaştırır; bu, koddaki kusurları veya zayıflıkları ortaya çıkarabilir. Ağaca soyut denir, çünkü anlaşılması zor veya soyut bir şekle sahiptir, çünkü parantez işaretleri ve kodda kaçınılmaz olarak görünen diğer semboller gibi kodlama sözdizimini içermez.
Bir programcı bir program geliştirdiğinde, "if-then" ifadeleri ve "veya başka" ifadeleri gibi işlevlerden işlevleri oluşturmak zorundadır. Kaynak koduna bakıldığında, her ifadenin ve koşulun tamamen karşılanıp karşılanmadığını ve tüm fonksiyonların doğru bir şekilde oluşturulduğunu görmek zor olabilir. Soyut bir sözdizimi ağacı, programcıya her koşulu ve programın geneline nasıl uygulandığını görmek için programlamayı incelemenin hızlı bir yolunu sunar.
Ağaç hiyerarşik tarzda yapılır. En tepede ana ifadelerden biri var ve bu ifadeden şubeler şartları neyin karşıladığını göstermek için aşağıya doğru akıyor. Bu, tüm program için diğer fonksiyonları ve koşulları göstererek devam eder. Programlamadaki değişkenler de sıklıkla gösterilir. Çoğu programlama dili soyut bir sözdizimi ağacı oluşturma yeteneğine sahiptir.
Özet genellikle kötü şekillendirilmiş, anlaşılması zor veya şekilsiz anlamına gelir. Soyut bir sözdizimi ağacında durum böyle değil. "Soyut" kelimesinin kullanılmasının nedeni, ağacın sözdizimini ve programlamayı olduğu gibi görüntülememesidir; bunun yerine, ekran için önemli olmayan örtük simgeleri kaldırır. Örneğin, parantezler programlamada genellikle oldukça liberal bir şekilde kullanılır, ancak ağaçta gösterilmezler. Bunun sebebi bu sözdiziminin gösterilmesi çok daha fazla alan gerektirmesi, ağaca bakmayı zorlaştırması ve programcının kaynak koddaki bu semboller hakkında bilmesidir.
Bir programcı bu yardımcı sembolleri görmek isterse, genellikle bir somut sözdizimi ağacı kullanılır. Bu ağaçlar soyut çeşitliliğe benzer, sadece tüm sembollerle daha ayrıntılı olarak giderler. Bu ağaç eksik sembol veya kod parçalarına bakmak için daha iyidir, soyut ağaç ise programın fonksiyonlarını ve değişkenlerini kontrol etmek için daha iyidir.


