هر هفته یک اصطلاح کامپیوتری (23ام اردیبهشت ۱۴۰۲)
اصطلاح این هفته: Abstract Syntax
درخت نحو انتزاعی (Abstract Syntax Tree) درختی است که برای ارائه و تفسیر ساختار نحوی یک دستور زبان مورد استفاده قرار می گیرد.
"انتزاعی" بودن نحو به این معناست که تمام جزئیات ظاهر شده در نحو واقعی را نشان نمیدهد، بلکه فقط جزئیات ساختاری یا مرتبط با محتوا را نشان میدهد. به عنوان مثال، پرانتزهای گروهبندی به طور ضمنی در ساختار درختی هستند، بنابراین لازم نیست که به عنوان گرههای جداگانه نمایش داده شوند. به همین ترتیب، یک ساختار نحوی مانند یک عبارت if-condition-then ممکن است با استفاده از یک گره منفرد با سه شاخه نشان داده شود. [ویکی پدیا]
if number > 5
return 'Bigger than 5'
else
return 'Not bigger than 5'
نمونه های دیگر از درخت نحو انتزاعی
در شکل بالا، E به معنای expression است.
کامپایلرها از این درخت برای بررسی خطاهای نحوی (کامپایل) سورس کد استفاده می کنند. در شکل زیر زمان کامپایل برای ارزیابی نحوی سورس کد تا تولید کد اجرایی را می بینیم.
- ۰۲/۰۲/۲۳