PDA

View Full Version : آیا می توان برای برنامه c++ یا c کامپایلر نوشت ؟ لطفا کمک کنید.



zxcpoi
جمعه 23 دی 1390, 01:09 صبح
آیا می توان برای برنامه c++ یا c کامپایلر نوشت ؟ لطفا کمک کنید.

maktoom
جمعه 23 دی 1390, 10:33 صبح
سلام
سوالتون دقیقا چیه؟
اینه: آیا میشه با زبان C یا C++ کامپایلر نوشت؟
جواب: بعله! همینطور که خیلی از زبونهای برنامه نویسی کامپایلرشون با اینا و البته بخشی ازون هم با اسمبلی نوشته شده.
یا اینه: آیا میشه با زبان های فوق برنامه کامپایلر را نوشت؟
جواب: بعله!در درسی به نام طراحی کامپایلرها میان بخش های مختلفی از یک کامپایلر رو بعنوان تکلیف یا تمرین می دن به دانشجوها تا مثلا با خود زبان C یا C++ بخشی از کامپیالر خود C یا C++ یا پاسکال و ... رو بنویسن.
که البته باید بگم کار سنگینیه.

maktoom
چهارشنبه 28 دی 1390, 11:04 صبح
سلام
شما در ابتدای کار باید تحلیلگرها و نحوه کار هرکدوم برای هر کامپایلر رو بشناسید.
اجزای یک کامپایلر تحلیلگر لغوی، تحلیلگر نحوی و تحلیلگر معنایی هستند. در مرحله بعد ایجاد کد میانی میشه و بعد از اون کد بهینه میشه در انتها هم کد نهایی تولید میشه.
در هر کدوم از اینها سیاستهایی هست با قدرتمندی های متفاوت. که خوب هرچه قدر قدرتمند ترا کار پیچیده تر.
اگر واقعا در درس کامپایلر ها احساس قدرتمندی و تسلط می کنید پا به این محدوده بذارید. چون کار خیلی وسیعه.
اما شما رو هم از اینکار نمی ترسونم. بالاخره همه چیز واضحه. مثه اینکه بگن از اینجا تا شهر بعدی رو بیل بزن.
کار طولانیه اما معلومه. اگه واقعا برای اینکار پولی دریافت می کنید یا یه آموزش واقعا درست حسابی از اول برنامه نویسی تا اون تهش رو می خواید می تونید شروع کنید اما کار یه نفر دو نفر نیست.
من کد برای قسمت تشخیص ثابت عددی رو نوشتم. چیزی بیش از 700 خط شد. و تازه این یک ششم از یکی از تحلیلگرهاست.
برایتحلیلگر نحویتون باید از یک گرامر خاص استفاده کنید که هر کدوم سیر خودش رو تا تکمیل جدول به ازای هر قانون از گرامر طی کنه.
جدا پیشنهاد می کنم کتاب کامپایلری رو مثه کتاب پیام نور یا کتاب آقای اهو به ترجمه دکتر دلداری رو بخونید. تمریناتش رو در حد تسلط انجام بدید.
البته درصورتیکه خودتون الان در این مرحله نباشید(که خوب احتمالا هستید که فکر طراحیش به ذهنتون رسیده)
اما نرم افزارایی هم هستن مثه لکس که بخشی از مراحل کار رو براتون انجام میده.

mohade3.l
یک شنبه 27 دی 1394, 15:01 عصر
من این ترم پروژه طراحی تحلیل گر نحوی و کدمیانی دارم شما می تونید برنامشو بنویسید؟