PDA

View Full Version : سوال: ساخت کامپایلر خیلی ساده



JustCompiler
شنبه 08 اسفند 1394, 10:48 صبح
با سلام خدمت اساتید گرامی

میخواستم یک کامپایلر یا زبان خیلی ساده بسازم برای دانشگاه.


دوستان خواهشا راهنمایی کنید.
ممنون.
منتظر پاسخ شما دوستان هستم.

pbm_soy
شنبه 08 اسفند 1394, 17:48 عصر
شما برای نوشتن چنین چیزی باید مفاهیم زیادی را باید بلد باشید برخی از این موارد به ترتیب زیر میباشد
برنامه نویسی
ساختمان داده ها و طراحی الگوریتم
ساختمان گسسته یا همان ریاضیات گسسته
نظریه زیانها و ماشینها
حالا میرسید به مفاهیم و معماری کامپایلر
ولی اگر میخواهید فقط یک تجربه ساده ای در این زمینه داشته باشید و نمیخواهید خودتون را درگیر خیلی چیزها کنید بایستی یک سری مفاهیم اولیه مانند بخشهای کلی کامپایلر چی هستند آنالیزرها و پارسرها چیست و symbol table , code generator.....
در کل کتاب c power user's guide نوشته هربرت شیلد یک فصل کامل به بحث پیاده سازی مفسر زبان بیسیک اختصاص داده است این کتاب فوق العاده قدیمی است ولی برای دوران شاید جزو اولین کتب در زمینه کامپایلر بود که بعداز آن من کتاب کامپایلر آقای تنمباوم را پیدا کردم
در ضمن کتاب فوق مثالش کامل است و اجرا هم میدهد خودم شخصا در سال ۷۶ تایپ و اجرا گرفتم
برای نوشتن کامپایلر زیاد فرقی ندارد سی باشد یا cpp ! شما در cpp هم میتوانید به سبک c سنتی کد بزنید و مشکلی پیش نمیاد

اگر ویژوال استودیو دارید برنامه مثال کتاب فوق را احتمالا مجبورید چندتا از هدرفایلهای اول سورس کد را عوض کنید

JustCompiler
یک شنبه 09 اسفند 1394, 09:13 صبح
سلام دوست عزیز
بنده با بخش های کامپایلر و طرز کار کردن کامپایلر آشنا هستم.
منتها حتی نمیتونم ساده ترین کامپایلر رو بسازم.

شما دو تا کتاب معرفی کردید (کامپایلر آقای تننباوم و c power user's guide)
این دو کتاب رو پیدا نکردم
امکانش هست برام ارسال کنید؟ ممنون میشم.

سوال بعدیم اینه که با خود ویژال استدیو میشه کامپایلر رو کامل طراحی کرد؟
بعد lexer , parser , .... رو چطوری باید طراحی کرد؟
و اینکه ابزار antlr برای تحزیه و تحلیل کد ها هست چی هست و بچکار میاد؟

دوستان لطفا یکی بیاد از دید فرد تازه کار یکم توضیح بده. جناب pbm_soy (http://barnamenevis.org/member.php?20034-pbm_soy) خیلی کلی صحبت کردند.
لطفا کمک کیند
با تشکر

pbm_soy
یک شنبه 09 اسفند 1394, 09:52 صبح
هر دوکتاب قدیمی است
وقبول دارم پیدا کردنش سخت است ولی کتاب c power user's guide فوق العاده ساده و روان گفته و مستقیم پارسر و بقیه بخشهای مفسر را پیاده سازی کرده است
شاید تو اینترنت بتوانی سورس کدهای تایپ شده اس را پیدا کنی
کتابش را دارم ولی بصورت الکترونیک نیست ولی فایلهای سورس کد را دارم باید پیداش کنم و جایی آنها را برات آپلود کنم
اگر امشب یادم نرود میگردم و آپلود میکنم

JustCompiler
یک شنبه 09 اسفند 1394, 11:37 صبح
سلام
خیلی ازت ممنون هستم
واقعا نمیدونم چطوری ازت تشکر کنم.
فایلشو برام ارسال کن (heydarion110comtest@yahoo.com)
منتظر هستم.

JustCompiler
یک شنبه 09 اسفند 1394, 16:59 عصر
سلام جناب
ایمیل کردید؟

pbm_soy
یک شنبه 09 اسفند 1394, 18:10 عصر
خیر ایمیل نکردم در همین سایت در تاپیک دیگری آپلود کردم میتوانید از آنجا دانلود کنید

بازهم عرض میکنم اینها سورسهای اصلی خود کتاب هستند و بنده حتی نگاهشون هم نکردم!
البته خودم بیشتر این برنامه ها را قبل از اینکه این سورسها را پیدا کنم بررسی و تایپ و اجرا و trace کرده بودم (دوران دانشجوی)
در تاپیک زیر میتوانید پیدا کنید
http://barnamenevis.org/showthread.php?150444-%D9%85%D8%AC%D9%85%D9%88%D8%B9%D9%87-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%87%D8%A7%DB%8C-%D9%86%D9%88%D8%B4%D8%AA%D9%87-%D8%B4%D8%AF%D9%87-%D8%A8%D9%87-%D8%B2%D8%A8%D8%A7%D9%86-C-%D9%88-C

دقیقا در صفحه هشتم قرار دارد در لینک زیر

http://barnamenevis.org/showthread.php?150444-%D9%85%D8%AC%D9%85%D9%88%D8%B9%D9%87-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%87%D8%A7%DB%8C-%D9%86%D9%88%D8%B4%D8%AA%D9%87-%D8%B4%D8%AF%D9%87-%D8%A8%D9%87-%D8%B2%D8%A8%D8%A7%D9%86-C-%D9%88-C/page8

JustCompiler
یک شنبه 09 اسفند 1394, 18:57 عصر
سلام
ممنون دوست عزیز پیداش کردم. و دانلود کردم.
و از شانس بد ما
خطا win rar میده
احتمالا خراب فشرده شده.
139328

لطفا پیگیری کنید
ممنون.

pbm_soy
دوشنبه 17 اسفند 1394, 17:32 عصر
سورس برنامه های کتاب c power user's guide را دوباره آپلود کردم همینجا امیدوارم اینبار مشکلی نداشته باشد و یه شما هم کمک کند

pbm_soy
دوشنبه 17 اسفند 1394, 17:47 عصر
سورس برنامه های کتاب c power user's guide را همینجا ضمیمه میکنم امیدوارم که بدرد شما بخورد