اصطلاح این هفته: Abstract Syntax 

AST
 

 

درخت نحو انتزاعی (Abstract Syntax Tree) درختی است که برای ارائه و تفسیر ساختار نحوی یک دستور زبان مورد استفاده قرار می گیرد.

"انتزاعی" بودن نحو به این معناست که تمام جزئیات ظاهر شده در نحو واقعی را نشان نمی‌دهد، بلکه فقط جزئیات ساختاری یا مرتبط با محتوا را نشان می‌دهد. به عنوان مثال، پرانتزهای گروه‌بندی به طور ضمنی در ساختار درختی هستند، بنابراین لازم نیست که به عنوان گره‌های جداگانه نمایش داده شوند. به همین ترتیب، یک ساختار نحوی مانند یک عبارت if-condition-then ممکن است با استفاده از یک گره منفرد با سه شاخه نشان داده شود. [ویکی پدیا] 

if number > 5

return 'Bigger than 5'

else

return 'Not bigger than 5'

abstract-syntax-if

 

نمونه های دیگر از درخت نحو انتزاعی 

abstract-syntax-tree-l

در شکل بالا، E به معنای expression است. 

 

abstract_syntax_tree

 

ast-is-true

 

کامپایلرها از این درخت برای بررسی خطاهای نحوی (کامپایل) سورس کد استفاده می کنند. در شکل زیر زمان کامپایل برای ارزیابی نحوی سورس کد تا تولید کد اجرایی را می بینیم. 

compile-time

 

 


مشخصات

آخرین ارسال ها

آخرین جستجو ها