پروژه ی نهایی درس طراحی کامپایلر ساخت یک زبان برنامه نویسی بود.
زبان C زیادی پیچیده است ( مشکل سازی الکی برای ایجاد فرصت جدید) پس تصمیم گرفتم که این زبان رو ساده تر کنم. این شد که پایه های فکری زبان CMM ( بخوانید C Minus Minus ) در من شکل گرفت.
از شوخی که بگذریم واقعیت اینه که طراحی یک زبان برنامه نویسی و سخت تر از اون نوشتن یک کامپایلر برای اون زبان کاری است بس دشوار. جایی خوندم که برای طراحی زبان های پیشرفته ای مثل C++ ، جاوا ، C# و ... بیش از 500 نفر به صورت مستقیم درگیر هستند و گاهی سال ها طول می کشد تا یک کامپایلر به مرحله عرضه به بازار برسد.
کامپایلر CMM دارای ویژگی های زیر هست :
- Syntax مشابه با syntax زبان C
- پشتیبانی از داده Integer
- دارای حلقه های for و while و do
- دارای دستورات کنترلی if و switch
- پیشتیبانی از توابع با آرگومان و مقدار بازگشتی
همچنین به همراه این زبان یک IDE هم قرار داده شده که ویژگی های زیر دارد :
- Syntax Highliting
- ارایه کد اسمبلی برنامه نوشته شد به صورت highlight در پنجره ای جدا
- دارای خروجی وضعیت کامپایل و مشخص کردن محل خطا و نوع خطا و ...
نمایی از IDE :