آموزش طراحی و پیاده سازی زبان های برنامه سازی

آموزش طراحی و پیاده سازی زبان های برنامه سازی

از جمله دروس تخصصی رشته های کامپیوتر از قبیل مهندسی و علوم، درس سه واحدی طراحی و پیاده سازی زبان های برنامه سازی است که در دانشکده کامپیوتر با همین عنوان تدریس می شود. اثر حاضر بیش از ده سال برای درس طراحی و پیاده سازی زبان های برنامه سازی در رشته های نرم افزار و سخت افزار، به صورت جزوه در اختیار دانشجویان قرار گرفته بود. با توجه به نیاز روزافزون دانشجویان برای درک بهتر و آسان تر این درس اینجانب تصمیم گرفتم این مجموعه را به صورت کتاب درآورده و در اختیار دانشجویان قرار دهم. در این کتاب سعی شده است مطالب به صورت ساده و روان همراه با مثال بیان شود.

آموزش طراحی و پیاده سازی زبان های برنامه سازی

از جمله دروس تخصصی رشته های کامپیوتر از قبیل مهندسی و علوم، درس سه واحدی طراحی و پیاده سازی زبان های برنامه سازی است که در دانشکده کامپیوتر با همین عنوان تدریس می شود. اثر حاضر بیش از ده سال برای درس طراحی و پیاده سازی زبان های برنامه سازی در رشته های نرم افزار و سخت افزار، به صورت جزوه در اختیار دانشجویان قرار گرفته بود. با توجه به نیاز روزافزون دانشجویان برای درک بهتر و آسان تر این درس اینجانب تصمیم گرفتم این مجموعه را به صورت کتاب درآورده و در اختیار دانشجویان قرار دهم. در این کتاب سعی شده است مطالب به صورت ساده و روان همراه با مثال بیان شود.

مطالب عرضه شده در این کتاب منطبق با سرفصل این درس بوده و شامل موارد، ویژگی های عمومی زبان های برنامه سازی، پردازنده های زبان های برنامه سازی و مقایسه انواع آنها، ویژگی های انواع داده ها و پیاده سازی آنها در زبان های سطح بالا، روش های تعیین ترتیب اجرای دستورات و پیاده سازی آنها، کنترل داده ها، روش های تخصیص آرگومان های یک تابع یا برنامه فرعی و پیاده سازی آنها، روش های مدیریت حافظه در زبان های سطح بالا، انتزاع یا تجرید داده ها است.

 

 

برای مشاهده جزئیات و تهیه آموزش طراحی و پیاده سازی زبان های برنامه سازی به این لینک (+) مراجعه نمایید.

 

فهرست سرفصل ها و رئوس مطالب مطرح شده در این مجموعه آموزشی، در ادامه آمده است:

  • درس یکم: اصول طراحی زبان
    • دلایل مطالعه زبان های برنامه سازی
    • تاریخچه زبان های برنامه سازی
    • معیارهای یک زبان خوب
    • قابلیت تعامد
    • طراحی نحو زبان
    • پشتیبانی از انتزاع
    • قابلیت بیان
    • مدل های زبان
  • درس دوم: معماری ماشین
    • زمان های انقیاد
    • انقیاد
    • دسته بندی انقیاد در زمان اجرا
    • دسته بندی انقیاد در زمان ترجمه
    • انواع انقیاد
    • اعلان متغیرها
    • اهداف اعلان
    • دسته بندی متغیرها
    • کاربردهای متغیر ایستا
    • عیب متغیرهای پویای ضمنی هیپ
    • کنترل نوع
    • اطلاعات مورد نیاز برای انجام کنترل نوع ایستا
    • معایب کنترل پویا
    • کنترل نوع قوی
    • مقداردهی اولیه
  • درس سوم: ساختار نحوی زبان
    • مراحل ترجمه
    • روش های پیاده سازی زبان های برنامه سازی
    • فرآیند کامپایل
    • تفسیر محض
    • ویژگی های سیستم های توکار
    • توصیف نحو
    • عناصر نحوی زبان
    • لغت
    • مولد زبان
    • گرامر
    • گرامر BNF
    • درخت های تجزیه
    • گرامر مبهم
    • شرکت پذیری عملگرها
    • گرامر برای if
    • then
    • else
    • BNF توسعه یافته
  • درس چهارم: خواص رسمی زبان
    • معانی زبان
    • مفاهیم زبان، گرامر و ماشین
    • انواع گرامر
    • انواع ماشین
    • گرامرهای صفت
  • درس پنجم: انواع داده های اصلی (عددی و مرکب)
    • انواع داده
    • توصیفگر زمان ترجمه
    • توصیفگر زمان اجرا
    • سطوح بررسی انواع داده ها
    • بررسی انواع داده اولیه
    • مشخصات انواع داده اولیه
    • امضای عملیات
    • روش های پیاده سازی
    • انواع داده اسکالر
    • انواع داده عددی
    • نوع ممیز شناور
    • نمایش حافظه انواع داده حقیقی
    • نوع ممیز ثابت
    • نوع شمارشی
    • نوع زیر بازه
    • نوع بولی
    • نوع کاراکتری
    • انواع داده مرکب
    • رشته های کاراکتری
    • نوع داده اشاره گر
    • فایل ها
    • شیء داده (data object)
    • اسامی در زبان ها
    • ثوابت دارای نام
    • لیترال ها
  • درس ششم: بسته بندی (انواع داده های ساختاری بسته بندی با استفاده از زیر برنامه ها تعاریف نوع)
    • صفات متداول ساختمان داده ها
    • عملیات متداول در مورد ساختمان داده ها
    • عملیات انتخاب عنصر
    • اعلان ساختمان داده ها
    • کنترل نوع ساختمان داده
    • ساختمان داده آرایه
    • آرایه های یک بعدی (بردارها)
    • تابع دستیابی
    • آرایه های دو بعدی
    • عناصر آرایه
    • برش آرایه
    • آرایه های انجمنی
    • ساختمان ها (رکوردها)
    • رکوردهای طول متغیر
    • لیست ها
    • لیست ها در زبان LISP
    • لیست های خاصیت
    • مجموعه ها
    • انتزاع فرآیندی
    • نوع داده انتزاعی
    • ساختارهای بسته بندی
    • بسته بندی اسامی
    • مشخصات و پیاده سازی زیر برنامه
    • پیاده سازی تعریف و سابقه فعالیت زیر برنامه
    • مقدمات و اختتامیه
    • هم ارزی انواع
    • سازگاری نوع
    • تبدیل نوع
    • عملیات انتساب
  • درس هفتم: وراثت (انواع داده مجرد وراثت چندریختی)
    • کلاس ها
    • تعریف کلاس در C++
    • سازنده و مخرب
    • پیاده سازی کلاس ها
    • کلاس های قالب
    • وراثت
    • انقیاد پویای متدها
    • چند ریختی
  • درس هشتم: کنترل ترتیب اجرا
    • دسته بندی ساختارهای کنترل ترتیب
    • کنترل ترتیب در سطح عبارات
    • ترتیب ارزیابی عملگر
    • عبارات محاسباتی و سرریز
    • ترتیب ارزیابی عملوند
    • راه حل های مسئله ترتیب عملوندها
    • تعریف مجدد عملگرها و عبارات
    • عبارات رابطه ای
    • عبارات منطقی
    • ارزیابی مدار کوتاه
    • ساختارهای کنترل ترتیب در سطح دستورات
    • دستورات انتخاب
    • پیاده سازی ساختارهای انتخاب
    • دستورات تکرار
    • حلقه هایی با کنترل منطقی
    • تکرار بر اساس ساختمان داده ها
    • تکرار گر
    • پیاده سازی دستورات حلقه تکرار
  • درس نهم: کنترل زیر برنامه
    • بخش های محیط ارجاع زیر برنامه
    • قوانین حوزه زبان
    • بلوک ها
    • متغیرهای محلی
    • پارامترها
    • مدل های ارسال پارامتر
    • آرایه های چند بعدی به عنوان پارامتر زیر برنامه
    • همروال
    • زیر برنامه های ساده
    • پیاده سازی زیر برنامه شامل متغیر پویای پشته ای
    • پیاده سازی زیر برنامه های بازگشتی
    • پیاده سازی زیر برنامه های تو در تو
    • زنجیر ایستا
    • معایب زنجیر ایستا جهت دستیابی به متغیرهای غیر محلی
    • نمایشگر
    • بلوک ها
    • پیاده سازی حوزه پویا
    • تفاوت های روش دستیابی عمیق و روش زنجیر ایستا
    • دستیابی سطحی
  • درس دهم: مدیریت حافظه
    • عناصری از برنامه که در حین اجرا نیاز به حافظه دارند
    • دیدگاه های بررسی مدیریت حافظه
    • روش های مدیریت حافظهروش های حل مسئله ارجاع معلق
    • روش های اصلی جمع آوری حافظه مازاد

 

پیش نیاز

 

 

برای مشاهده جزئیات و تهیه آموزش طراحی و پیاده سازی زبان های برنامه سازی به این لینک (+) مراجعه نمایید.

 

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *