طراحی کامپایلر |Compiler design | در ۲۴۷ اسلاید پاورپوینت

0 سفارش‌ها
#
در انبار
7,000 تومان

توضیحات

طراحی کامپایلر |Compiler design |پاورپوینت

طراحی کامپایلر امروز می خوایم این مقاله را در سایت دانشکده ها قرار دهیم که در یک فایل پاورپوینت آماده تهیه شده است.

گروه کامپیوتر             اصول طراحی کامپایلر                                      صفحه دو

طراحی کامپایلر

جایگاه درس در رشته کامپیوتر

ضرورت این درس:

ضرورت نیاز به زبانهای سطح بالا

ضرورت ترجمه برنامه های نوشته شده با زبان سطح بالا به برنامه به زبان ماشین

تنوع زبانهای برنامه نویسی سطح بالا

دروس پیش نیاز: نظریه زبانها و ماشین، طراحی و پیاده سازی زبانها

نوع درس: اجباری

تعدادکل ساعات تدریس:۳۰

تعداد جلسات تدریس:۱۰

فصل اول: مقدمه ای بر کامپایلر

اهداف رفتاری:

دانشجو پس  از مطالعه این فصل با مفاهیم زیر آشنا خواهد شد:

برنامه های تحلیل کننده

آشنایی با بخش تحلیل و بخش سنتز کامپایلر

ابزارهای ساخت کامپایلر

۱-۱ نمونه ای از برنامه های تحلیل کننده

ویرایشگرهای ساختار

چاپگرهای pretty printer

بررسی کننده های ایستا

مفسرها

شکل دهنده های متن

کامپایلرهای سیلیسیومی

مفسرهای پرس و جو

۱-۲ تعریف کامپایلر

۱-  ترجمه برنامه از زبان مبدا به برنامه معادل دز زبان میانی مانند اسمبلی

۲- گزارش وجود خطاها را در برنامه مبدا به کاربر.

برنامه مقصد             کامپایلر «تحلیل+ سنتز»                               برنامه مبدأ

 

۱-۳ طبقه بندی کامپایلرها

دسته بندی کامپایلرها بر اساس چگونگی ساخت و عملیات:

تک گذره

چند گذره

اشکال زدا و Load-and-go

بهینه ساز

۱-۴ عملیات کامپایلر

بخش تحلیل                       تجزیه برنامه مبدا به اجزای تشکیل دهنده اش

تولید کد میانی از برنامه مبدا

بخش سنتز                       تبدیل کد میانی به برنامه مقصد در زبان دیگر

نیاز به بیشترین روشهای خاص

۱-۵ سیستم پردازش زبان

اجزای سیستم

پیش پردازشگر

کامپایلر

اسمبلر

بارکننده و ویرایشگر الحاق

۱-۵-۱پیش پردازشگر

جمع آوری ماژولهای برنامه مبدا موجود در فایلهای جداگانه

تبدیل بخشهای خلاصه شده بنام درشت دستورات به احکام

زبان مبدا

۲ ارتباطات در سیستم پردازش زبان -۵-۱

پیش پردازشگر
بارکننده / ویرایشگر الحاق
کامپایلر
اسمبلر
اسکلت برنامه
مبدا
برنامه مبدا
برنامه اسمبلی مقصد
کد ماشین جابجاپذیر
کد ماشین
کتابخانه فایل
ھای مقصد
جابجاپذیر

۱-۶ سه فاز تحلیل در عمل کامپایل

تشخیص نشانه ها  تحلیل خطی(تحلیل لغوی یا پویش)
گروه بندی نشانه های برنامه مبدا به جملات گرامری تحلیل سلسله مراتبی(تحلیل نحوی یا تجزیه)
بررسی خطاهای معنایی برنامه تحلیل معنایی  

۱-۷ مراحل کامپایل

جلوبندی( گروه فازهای متوالی وابسته به زبان مبدا)

۱- تحلیل لغوی

۲- تحلیل نحوی

۳- تحلیل معنایی

عقب بندی( گروه فازهای متولی وابسته به زبان مقصد)

۴- تولید کد میانی

۵- بهینه سازی کد

۶- تولید کد نهایی

۱-۷-۱ نمودار مراحل کامپایل

تحلیل گر لغوی
تحلیل گر نحوی
تحلیل گر معنایی
تولید کننده کد میانی
بھینھ ساز کد
تولیدکننده کد نھایی
مدیر جدول نماد
اداره کننده خطا

۱-۷-۲ مراحل کامپایلر- تحلیل گر لغوی

مرور متن برنامه به صورت حرف به حرف

تبدیل آنها به نشانه ها ( کلمات کلیدی، عملگر، جداکننده،

ثوابت و شناسه)

 ۱-۷-۲ مراحل کامپایل- تحلیل گر نحوی

بررسی خروجی تحلیل لغوی

ساخت درخت تجزیه از نشانه ها

 ۱-۷-۲ مراحل کامپایل – تحلیل گر معنایی

بررسی برنامه مبدا برای یافتن خطاهای معنایی

جمع آوری اطلاعات مربوط به نوع داده ها

۱-۷-۲ مراحل کامپایل – تولید کد میانی

خواندن برنامه ورودی

تبدیل به برنامه ای در زبان میانی مانند اسمبلی

۱-۷-۲ مراحل کامپایل – بهینه ساز کد

بهینه کردن کد میانی ( حذف متغیرهای میانی غیر ضروری)

سرعت بخشیدن به تولید کد نهایی

۱-۷-۲ مراحل کامپایل – تولید کننده کد نهایی

تبدیل کد میانی بهینه به کد جابجاپذیر یا اسمبلی

تعیین مکانهای حافظه برای متغیرهای برنامه

انتساب متغیرها به ثبات های ماشین

۱-۷-۲ مراحل کامپایل – مدیریت جدول نماد

تعریف

ساختمان داده ای شامل رکورد برای شناسه و میدانهایی برای

صفات أن

هدف

فراهم کردن شناسایی سریع رکورد شناسه بمنظور

ذخیره و بازیابی داده هایش

مثال از مراحل کامپایل: عبارت  Area:= Pos + Rate * 50

Area:= Pos + Rate * 50
تحلیل گر لغوی
id1:= id2+ id3 * 50
id1
id2
id3
:=
+
*
id1
id2
id3
۵۰
:=
+
*
Into real
تحلیل معنایی
tem1:=into real 50
tem2:=id3 * tem1
tem3:= id2 + tem2
Id1:= tem3
تولید کد میانی
tem1:= id3 * 50.0
Id1:= id2 + tem1
بھینھ ساز
Mov id, R2
Mul 50.0 , R2
Mov R1, id1
Mov id2 , R1
Add R2, R1
۵۰

بهم ریختگی بالا بخاطر کپی کردن متن از پاورپوینت است و در پاورپوینت هیچ بهم ریختگی وجود ندارد.

۱-۸ ابزارهای ساخت کامپایلر

مولدهای تجزیه کننده

تولید کننده های پویشگر

موتورهای ترجمه نحوگرا

مولدهای کد خودکار

موتورهای جریان داده

فصل دوم :نحو زبان و تجزیه

اهداف رفتاری:

دانشجو پس  از مطالعه این فصل با مفاهیم زیر آشنا خواهد شد:

گرامر

اشتقاق و تجزیه

تعریف نحوگرا

درخت نحوی

تجزیه بالا به پایین و پایین به بالا

ترجمه

۲-۱ گرامر

تعریف

گرامر: روش ساخت رشته هایی متشکل از نمادها

کاربرد

وسیله تشخیص عضویت یک رشته در زبان

مشخص کننده ساختار یک زبان

۲-۲ تعریف ریاضی گرامر

گرامر ۴ گانه  {N, T, S, P} = G

N=  مجموعه غیر پایانه ها

= T مجموعه پایانه ها

S =  عضو شروع

P =  مجموعه قوانین تولید رشته های زبان

مثال از یک گرامر

N = { E, F }

T = { +, * , / ,id }

S = E

P = { E ® F * id  ,  F ® F / E  ,  F ® F + F }

رشته تولیدی نمونه                 id * id+ id

۲-۳ اشتقاق

فرآیند تولید رشته از گرامر با شروع از عنصر ابتدای

گرامر و استفاده از قوانین.

انواع اشتقاق

از چپ: در هر قدم انجام جایگزینی روی سمت چپ ترین غیرپایانه

از راست: در هر قدم انجام جایگزینی روی سمت راست ترین غیرپایانه

دیدگاهها

هیچ دیدگاهی برای این محصول نوشته نشده است.

اولین نفری باشید که دیدگاهی را ارسال می کنید برای “طراحی کامپایلر |Compiler design | در ۲۴۷ اسلاید پاورپوینت”
بالا