-
یک شنبه 30 مرداد 1390, 19:14 عصر
#5
کاربر دائمی
نقل قول: تجربه در اختراع چرخ : ساخت کامپایلر
با سلام.
من قبلا برای درس «طراحی و پیاده سازی زبانهای برنامه نویسی» یه کامپایلر پاسکالک(پاسکال کوچیک) نوشتم. البته نه بصورت کامل که همه دستورات رو داشته باشه ولی از ساختارهای کنترلی if، forو while و از انواع داده ای نوع داده ای integer و عبارات محاسباتی چهار عمل اصلی با رعایت اولویت ها رو پیاده سازی کردم. به این ترتیب که یک سورس پاسکالک میگیره و هم کد میانی و هم کد اسمبلی رو تولید میکنه. من با زبان ++C پیاده سازیش کردم و میدونم که تو زبانهای دیگه هم چه جوری میشه پیاده سازیش کرد.
در کل برای تولید کامپایلر شما به دو صورت میتونین عمل کنین:
1. روش دستی
2. روش اتوماتیک
برای پیاده سازی به روش دستی شما باید با نظریه زبانها و ماشینها آشنایی داشته باشی.(عبارات منظم، گرامر،DFA و ...)
برای پیاده سازی به روش اتوماتیک هم باید بایستی با نظریه زبانها و ماشین آشنایی جزئی داشته باشی. این رو هم بگم که تو روش اتوماتیک این شکلی نیست که اصلا کد نویسی نداشته باشیم. داریم ولی کمه. فقط تولید کد میانی و کد مقصد
حالا در صورت نیاز من اینا رو بعدا توضیح میدم.
موفق باشید/
قوانین ایجاد تاپیک در تالار
- شما نمی توانید تاپیک جدید ایجاد کنید
- شما نمی توانید به تاپیک ها پاسخ دهید
- شما نمی توانید ضمیمه ارسال کنید
- شما نمی توانید پاسخ هایتان را ویرایش کنید
-
قوانین سایت