Gohar's Academy

معلم و فریلنسر

Gohar's Academy

معلم و فریلنسر

طبقه بندی موضوعی

هر هفته یک اصطلاح کامپیوتری (23ام اردیبهشت ۱۴۰۲)

شنبه, ۲۳ ارديبهشت ۱۴۰۲، ۰۶:۳۱ ب.ظ

اصطلاح این هفته: 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

 

 

  • its gohar

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است
ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
تجدید کد امنیتی