طراحی زبان‌های برنامه‌سازی

Design of Programming Languages

شماره درس: ۴۰۳۶۴ تعداد واحد: ۳
مقطع: کارشناسی نوع درس: نظری
پیش‌نیاز: برنامه‌سازی پیشرفته هم‌نیاز: –

اهداف درس

اهداف اصلی این درس عبارتند از: ۱) مروری بر سیر طبیعی تحولات مفاهیم و روش‌های طراحی و پیاده‌سازی نسل‌های مختلف زبان‌های برنامه‌سازی به روشی تجربی و گام به گام، ۲) معرفی روش‌های مهندسی زبان‌های برنامه‌سازی در مراحل طراحی و پیاده‌سازی به کمک زبان‌های تغییرپذیر یا قابل برنامه‌سازی به خصوص با تاکید بر اهمیت طراحی و پیاده‌سازی زبان‌های ویژه دامنه ، ۳) آشنایی با پیاده سازی مفسرها به ویژه بر بستر ماشین‌های مجازی و ۴) مروری بر اصول و مسائل مرتبط با طراحی زبان‌های برنامه‌سازی و همچنین روش‌ها و ساختارهای داده‌ای به کار رفته در پیاده‌سازی یا محقق کردن محیط برنامه نویسی.

ریز مواد

ارزیابی

مراجع

  1. D. P. Friedman, M. Wand. Essentials of Programming Languages. 3rd Edition, MIT Press, 2008.
  2. S. Krishnamurthi. Programming Languages: Application and Interpretation. 2nd Edition, 2017.
  3. M. Felleisen, R. B. Findler, M. Flatt, S. Krishnamurthi, E. Barzilay, J. McCarthy, S. Tobin-Hochstadt. A Programmable Programming Language. Communications of the ACM, Vol. 61, No. 3, Pp. 62-71, March 2018.