چکیده
در این آموزش می خواهیم درس کامپایلر که یکی از مباحث اصلی در علم کامپیوتر است را به صورت کامل و منطبق بر منابع علمی بروز تدریس کنیم. در این آموزش با تشریح مطالب درس و همچنین حل مثال های متعدد سعی بر توجیه کامل مخاطبین داریم. این درس یکی از دروس در کنکور کارشناسی ارشد نرم افزار نیز است، لذا این آموزش سعی در مرتفع کردن بخشی از دغدغه های داوطلبان کارشناسی ارشد نیز دارد.
آموزش طراحی کامپایلر
توضیحات تکمیلی
کامپایلر چیست؟
کامپایلر (Compiler) برنامه یا مجموعه ای از برنامه های کامپیوتری است که متنی از زبان برنامه نویسی سطح بالا (زبان مبدا) را به زبانی سطح پایین (زبان مقصد) تبدیل می کند. خروجی این برنامه ممکن است برای پردازش شدن توسط برنامه دیگری مثل پیوند دهنده مناسب باشد یا فایل متنی باشد که انسان نیز بتواند آن را بخواند.
عملکرد کامپایلر مانند دوبله یک فیلم خارجی است که ابتدا کل فیلم به زبان فارسی ترجمه می شود و سپس در اختیار بینندگان قرار می گیرد. کامپایلر نیز ابتدا زبان برنامه نویسی مبدا را به زبان ماشین تبدیل کرده و سپس این برنامه روی کامپیوتر اجرا می شود.
در این آموزش می خواهیم درس کامپایلر که یکی از مباحث اصلی در علم کامپیوتر است را به صورت کامل و منطبق بر منابع علمی بروز تدریس کنیم. در این آموزش با تشریح مطالب درس و همچنین حل مثال های متعدد سعی بر توجیه کامل مخاطبین داریم. این درس یکی از دروس در کنکور کارشناسی ارشد نرم افزار نیز است، لذا این آموزش سعی در مرتفع کردن بخشی از دغدغه های داوطلبان کارشناسی ارشد نیز دارد.
فهرست سرفصل ها و مباحث مطرح شده در این دوره آموزشی، در ادامه آمده اند:
- درس یکم: مقدمه و معرفی کامپایلر
- تعریف کامپایلر
- روش های ترجمه و اجرای برنامه ها – لزوم استفاده از کامپایلر
- جلوبندی و عقب بندی – اجرا بر روی ماشین های مختلف
- فازهای مختلف کامپایلر (تحلیلگر لغوی، نحوی)
- درس دوم: تحلیلگر لغوی
- معرفی عملکرد تحلیلگر لغوی و ارتباطان با تحلیلگر نحوی
- انواع لغات در برنامه – نشانه ها
- عملکرد تحلیلگر لغوی
- جدول نماد (ارتباط بین لغات و نشانه ها)
- معرفی زبان ها و رشته ها (عملیات بر روی زبان ها، معرفی اولیه زبان ها، عبارات منظم)
- ماشین خودکار متناهی (DFA, NFA)
- ایجاد ماشین خودکار غیرقطعی (NFA) با روش Thompson
- الگوریتم تبدیل NFA به DFA
- ایجاد DFA از روی عبارت باقاعده
- کاهش حالات در ماشین خودکار
- درس سوم: گرامرها
- تعریف گرامر – انواع گرامرها (سلسله مراتب چامسکی (Chomsky)
- درختان تجزیه (اشتقاق و… )
- گرامرهای مبهم
- بازگشتی چپ و حذف آن
- درس چهارم: تجزیه بالا به پایین
- نحوه عملکرد تجزیه کننده بالا به پایین
- مجموعه های First و FOLLOW
- تجزیه کننده پیش بینی کننده – پیش بینی کننده بازگشتی
- تجزیه کننده پیش بینی کننده غیربازگشتی – جدول تجزیه
- گرامرهای (LL(1
- تبدیل گرامر به (LL(1 (فاکتورگیری چپ – حذف بازگشتی چپ)
- مدیریت خطا در تجزیه کننده
- مفهوم پوشش خطا در تجزیه
- درس پنجم: تجزیه کننده پایین به بالا
- نحوه عملکرد تجزیه کننده پایین به بالا
- مفهوم دستگیره (Handle)
- معرفی تجزیه های کننده های پایین بالا (تجزیه کننده اولویت با عملگر و LR)
- تجزیه کننده اولویت با عملگر
- تجزیه کننده های LR
- معرفی روش های تجزیه LR
- گرامرهای (LR(0
- گرامرهای (LR(1
- گرامرهای (SLR(1
- گرامرهای (LALR(1
- گرامرهای مبهم و تجزیه های کننده های LR
آنچه در این آموزش خواهید دید:
پیش نیاز
پیش نمایشها

توجه: اگر به خاطر سرعت اینترنت، کیفیت نمایش پایینتر از کیفیت HD ویدئو اصلی باشد؛ میتوانید ویدئو را دانلود و مشاهده کنید (دانلود پیشنمایش - حجم: ۱۴ مگابایت -- (کلیک کنید +))

توجه: اگر به خاطر سرعت اینترنت، کیفیت نمایش پایینتر از کیفیت HD ویدئو اصلی باشد؛ میتوانید ویدئو را دانلود و مشاهده کنید (دانلود پیشنمایش - حجم: ۱۶ مگابایت -- (کلیک کنید +))

توجه: اگر به خاطر سرعت اینترنت، کیفیت نمایش پایینتر از کیفیت HD ویدئو اصلی باشد؛ میتوانید ویدئو را دانلود و مشاهده کنید (دانلود پیشنمایش - حجم: ۲۲ مگابایت -- (کلیک کنید +))

توجه: اگر به خاطر سرعت اینترنت، کیفیت نمایش پایینتر از کیفیت HD ویدئو اصلی باشد؛ میتوانید ویدئو را دانلود و مشاهده کنید (دانلود پیشنمایش - حجم: ۲۵ مگابایت -- (کلیک کنید +))








راهنمای سفارش آموزشها
در مورد این آموزش یا نحوه تهیه آن سوالی دارید؟
- با شماره تلفن واحد مخاطبین ۵۷۹۱۶۰۰۰ (پیش شماره ۰۲۱) تماس بگیرید. - تمام ساعات اداری
- با ما مکاتبه ایمیلی داشته باشید (این لینک). - میانگین زمان پاسخ دهی: ۳۰ دقیقه
اطلاعات تکمیلی
نام آموزش | آموزش طراحی کامپایلر |
---|---|
ناشر | فرادرس |
شناسه اثر | ۸–۱۲۴۵۲–۰۵۷۶۵۸ (ثبت شده در مرکز رسانههای دیجیتال وزارت ارشاد) |
کد آموزش | FVSFT104 |
مدت زمان | ۱۴ ساعت و ۵۴ دقیقه |
زبان | فارسی |
نوع آموزش | آموزش ویدئویی (لینک دانلود) |
حجم دانلود | ۹۰۷ مگابایت (کیفیت ویدئو HD با فشرده سازی انحصاری فرادرس) |
نظرات
سینا
من دوست نداشتم.
ممزر
good
علیرضا
سلام واقعا باید تشکر کنم که فرادرس در حوزه دروس رشته مهندسی کامپیوتر از مدرسین توانمندی استفاده میکنه. این آموزش هم بسیار عالی بود.
مهراد
خیلیییی خوبه. کامل و جامع ، ریز جزییات هم گفته شد.. با تشکر
مهدی
با توجه به اینکه استاتید درس نمیدهند و برای یادگیری نیازمند یک آموزش خوب بودیم، من این آموزش رو تهیه کردم و تونستم امتحانم رو به خوبی پاس کنم.
صدف
سرعت تدریس و روند آموزش عالی بود. من خیلی راضی بودم. من خیلی از آموزش هاتون رو هم به بستگانم معرفی کردم.
زهراسادات
خوب و مفید بود. اما باید بیشتر تو مسیر کسب و کار این آموزشا رو منتشر کنید. چون بقیه چیزا رو ما خودمونم می تونیم یاد بگیریم.
شقایق
سلام من برای امتحانم گرفتم خیلی خوبه، فقط تئوری نیست، مسئله هم حل می کنه.
زهرا
من تغییر رشته دادم، برای ارشد می خواستم امتحان بدم، خیلی با این آموزش تونستم وارد این حرفه بشم. یعنی همه چی مو به مو گفته شد.
محسن
خیلی درگیر نظریه زبان ها شده بود. به نظرم میشد که خیلی خلاصه تر مطرح میشد و در عوض به بقیه قسمت ها وقت بیشتری اختصاص داده میشد و یا اینکه مطالب بیشتری پوشش داده میشد. تولید کد میانی و پایانی و تحلیل معنایی از بخش های مهم کامپایلره نمیدونم چرا این مطالب پوشش داده نشده .تقریبا همه ی مطالب گفته شده در این اموزش مباحث میان ترم محسوب میشوند.
حسن
خیلی خوب بود. با جزییات و مقدمه مباحث را توضیح می دادند.
علیرضا
سلام دوستان. من این آموزش رو ترم شش کامپیوتر به طور کامل دیدم و ازش راضی بودم. مطالب درسی کلاس درس به طور کامل تو این دوره پوشش داده شده بود و استاد تسلط کامل تو ارائه مباحث درسی رو داشتند. فقط یه توصیه ای به همه دوستانی که قصد خرید این آموزش رو دارند می کنم و اون هم اینه که این درس رو برای شب امتحان نذارید. چون مطالبش رو نمیشه یک شبه حفظ کرد و مثل ریاضیات نیازمند تمرین و تکرار داره. در کل از خریدم راضی بودم.
captainhb
خوب بود
مجتبی
باسلام وخسته نباشید خدمت فرا درس و استاد عزیز
بسیار عالی کامل وجامع بود برای شروع اموزش ترس زیادی داشتم ولی با اولین اموزش دیدم همه چیز به خوبی بیان شده و قابل فهم هستش
علی
انتقال مطالب بسیار ضعیف
مصطفی
با سلام و عرض ادب من واقعا به همچین آموزش کاربردی نیاز داشتم چون رشته تحصیلیم مهندسی نرم افزار است .پیش نمایش رو نگاه کردم مطالبی که باید رو تا اون قسمت پوشش داده بودید فهرستم که همین رو نشون میداد ممنونم از شما و فرادرس بابت این اموزش.
ali
باسلام و خسته نباشید و تشکر بابت سایت مفیدتون. اموزش خیلی خوب و کاملی بود . راضی بودم در کل .مطالب بخوبی توضیح و تشریح شده بودن همراه با جزییات و مثال زیاد برای هربخش. ولی بنظرم بهتر بود برای هربخشی که چندتا مثال اورده بودن یکم تعداد مثال ها زیاد بود ..یعنی شاید دو یه سه مثال حل میشد که باهم تفاوتی نداشتن و نکته ی جدیدی نمیشد ازشون یاد گرفت واس همین اموزش یکم طولانی و حوصله سربر شده. میتونست با حذف بعضی از قسمت های اضافی جمع و جورتر بشه (مخصوصا برای اینکه شب امتحان کار راحت تر باشه )و ازاینی که هست هم بهتر بشه . البته الانشم خیلی خوب و مفیده . یکی دیگه هم اینکه مبحث First و Follow بنظرم من یکم گنگ توضیح داده شده که البته بخاطر مشکل بودن فهمش طبیعیه ولی بنظرم میشد ساده تر از این هم بیان بشه. یکی دیگه چیزایی که خیلی مفید بود هم اینه که مباحث مربوط به نظریه زبان ها و ماشین ها در ابتدای بحث تا حد نیاز برای این درس یاداوری میشن که این برای کسایی که این درسو پاس نکردن یا مطالبشو فراموش کردن خی
fatima
من این دوره رو تهیه کردم و واقعا واسم مفید بود و درس کامپایلر رو با نمره بالا پاس کردم
خیلی از مباحث رو ساده توضیح دادن و چندین مثال واسش زدن
تشکر می کنم از استاد بابایی مدرس خوب فرادرس
عرفان
اصلا استاد خوبی نیستن
پیشنهاد نمی کنم
reza
راضی نبودم ، هر فیلمو باید ده بار میزدم عقب تا بفهمم چی کار کرده ، کم توضیح داده بعضی از مثال هارو
سیران
ممنون
خیلی عالی تدریس شده
ای کاش کل سر فصل کنکور ارشد مربوط به درس کامپایلر را پوشش می دادید
دنی
با سلام،
اگر برای استاد مقدور باشد همین درس طراحی کامپایلر رو تکمیلی اش ارائه شود (به صورت عملی)
یعنی به صورت عملی و در یک زبان برنامه نویسی همین مفاهیم که آموزش داده شده، اینبار قدم به قدم پیاده سازی شود.
آن وقت تئوری در کنار عملی واقعا درک مطلب بالا میره و از تئوری بیرون خواهیم آمد.
و کاربردی میشه. یعنی یک کامپایلر هم طراحی کرده باشیم.
سجاد
خووووب بود
sana
سلام خیلی عالی بود ممنون. البته به نظر می رسه یکی دو فصل دیگم باید به مباحث اضافه بشه.
حسن
سلام.
در این دوره ی آموزشی مثال های متنوعی بررسی شده و تدریس استاد منوچهر بابایی واقعا عالی بود. مطالب به سادگی آموزش داده می شود.
با آرزوی موفقیت برای دانش پذیران سایت فرادرس و استاد ارجمند، جناب آقای منوچهر بابایی.
دلارام
ممنون از تدريس خوبتون.
تبسم
سلام. خدا قوت.
کارهاتون خیلی عالی و مفید هست.
پیشنهادی که دارم اینکه برای تمامی دروسی که اساتید عزیز فرادرس آموزش میدن لطفا نام دروس پیش نیازشون رو در همون صفحه ارائه درس مورد نظر بیان کنن.
بانهایت تشکر از شما.
abbasi
سلام. خدا قوت.
بی صبرانه منتظرش بودم.
سپاس فراوان. روزخوش.