کامپایلر (Compiler) برنامه یا مجموعهای از برنامههای کامپیوتری است که متنی از زبان برنامهنویسی سطح بالا (زبان مبدا) را به زبانی سطح پایین (زبان مقصد) تبدیل میکند. درس اصول طراحی کامپایلر یکی از دروس کارشناسی کامپیوتر (نرم افزار و فناوری اطلاعات) است که معمولا در آن نیمی از نمره به پیادهسازی یک کامپایلر اختصاص داده میشود.
ما هم یک زبان نمونه (با الهام از زبانهای برنامهنویسی محبوب مانند جاوا و پاسکال و …) مرحله به مرحله طراحی و آن را در زبان برنامهنویسی Java پیاده کردیم که شما میتوانید آن را به راحتی بعد از خریداری دانلود کرده و استفاده کنید.
پروژه کامپایلر معمولا شامل چند فاز به صورت زیر است:
1- تعریف زبان و اسلاید برای ارائه: زبان نمونهی ما در قالب چند اسلاید جهت ارائه معرفی میشود.
2- گرامر زبان: گرامرهای مورد استفاده در زبان را به صورت مستقل از متن ارائه میکنیم.
3- تحلیل لغوی: تحلیلگر لغوی یا همان لکسر وظیفه توکن توکن کردن دستورات یا به عبارتی تکه تکه کردن اجزای دستور را بر عهده دارد.
4- تحلیل نحوی: تحلیلگر نحوی یا سینتکس آنالایزر به کمک قانون LL1 و جدول پارس، گرامر دستورات را چک میکند.
5- تحلیل معنایی: خطاهای معنایی در کد (از جمله استفاده کردن از یک متغیر که قبلتر تعریف نشده) را پیدا میکند.
قیمت سورس کد و اسلایدها و تمامی فایلهای مرتبط در مجموع: 100 هزار تومان
هزینهی پشتیبانی و ویرایش (اختیاری): بسته به تغییرات مورد نیاز به دلیل سفارشی بودن متغیر است، لطفا برای هماهنگی یا در صورت نیاز به مشاوره قبل از خرید به ما پیام بدید. تلگرام: @Contact99
نظرات شما برای ما مهم است، لطفا پس از دانلود نظرات خود را در مورد آن در بخش نظرات بنویسید.
نوع فایل: فشرده (zip)، شامل اسلایدهای پاورپونت، سند ورد مربوط به گرامرها و پروژهی سی شارپ
حجم: 1.44MB
قسمت تجزیه عبارتش انعطاف پذیره؟ یعنی میشه یک رشته مثل 2*5/3+4*0 بهش داد و محاسبه اش کنه؟
نه بخش اجرای کد یا تبدیل کد به زبان ماشین داخل این کامپایل پیاده سازی نشده، به عبارتی فقط بخش های تحلیلی (تحلیل لغوی، تحلیل نحوی، تحلیل معنایی) پیاده شدند که در درس طراحی کامپایلر کارشناسی تا همین جا نیاز هست.
با سلام خدمت آقای مرادی،وقت بخیر،سوالی داشتم،خواستم ازتون بپرسم که در اسلایدها نوشته شدهk++،منظورش کدوم زبان برنامه نویسی هست؟میتونیم فاز تحلیلگر لغوی رو از کل سورس جدا کنیم؟باتشکر از شما.
سلام دوست عزیز
این اسم دلخواه ما برای این زبان هست (واقعی نیست)
ساختار این زبان الگو گرفته از چند زبان برنامه نویسی شناخته شده مثل پاسکال، سی پلاس پلاس و … الگو گرفته
بله امکان جدا کردن تحلیلگر لغوی توسط خودتون وجود داره، البته سورس کد این زبان در جاوا هم پیاده شده که در اون از قبل فازها جدا از هم وجود دارن
سورس کد کامپایلر به زبان جاوا
سلام ببخشید تلگرام جواب نمیدین؟
سلام دوست عزیز
سوالتون چی هست؟