![cover image](https://wikiwandv2-19431.kxcdn.com/_next/image?url=https://upload.wikimedia.org/wikipedia/commons/thumb/c/c7/Abstract_syntax_tree_for_Euclidean_algorithm.svg/langfa-640px-Abstract_syntax_tree_for_Euclidean_algorithm.svg.png&w=640&q=50)
درخت نحو انتزاعی
From Wikipedia, the free encyclopedia
در علوم کامپیوتر ، درخت نحو انتزاعی (AST)، یا فقط درخت نحو، نمایش درختی از ساختار نحوی انتزاعی متن (اغلب کد منبع ) نوشته شده به زبان رسمی است. هر گره درخت نشاندهنده یک ساختار در متن است.
![Thumb image](http://upload.wikimedia.org/wikipedia/commons/thumb/c/c7/Abstract_syntax_tree_for_Euclidean_algorithm.svg/640px-Abstract_syntax_tree_for_Euclidean_algorithm.svg.png)
while b ≠ 0:
if a > b:
a := a - b
else:
b := b - a
return a
"انتزاعی" بودن نحو به این معناست که تمام جزئیات ظاهر شده در نحو واقعی را نشان نمیدهد، بلکه فقط جزئیات ساختاری یا مرتبط با محتوا را نشان میدهد. به عنوان مثال، پرانتزهای گروهبندی به طور ضمنی در ساختار درختی هستند، بنابراین لازم نیست که به عنوان گرههای جداگانه نمایش داده شوند. به همین ترتیب، یک ساختار نحوی مانند یک عبارت if-condition-then ممکن است با استفاده از یک گره منفرد با سه شاخه نشان داده شود.
این امر درختان نحو انتزاعی را از درختان نحو انضمامی که به طور سنتی درختان تجزیه نامیده میشوند، متمایز میکند. درختان تجزیه معمولاً توسط یک تجزیهکننده در طول فرایند ترجمه و کامپایل کد منبع ساخته میشوند. پس از ساخته شدن، اطلاعات اضافی با پردازش بعدی، به عنوان مثال، تجزیه و تحلیل زمینهای به AST اضافه میشود.
درختان نحو انتزاعی نیز در تجزیه و تحلیل برنامه و سیستمهای تبدیل برنامه استفاده میشوند.