PDA

View Full Version : سوال: ساخت IDE



sareham238
دوشنبه 15 تیر 1394, 11:07 صبح
سلام دوستان من میخوام یه develop مثل visual studio یا sharp develop بسازم با امکانات خیلی محدود تر ینی فقط میخوام یه designTime و runTime داشته باشه.

کسی هست به من کمک کنه

ممنون میشم راهنماییم کنید

_4rm4n_
دوشنبه 15 تیر 1394, 11:12 صبح
سلام

کاردشواریه یعنی طبیعتا یک کامپایلر هم نصفه و نیمه مینویسید !
https://visualstudiomagazine.com/articles/2014/05/01/how-to-write-your-own-compiler-part-1.aspx

jeson_park
دوشنبه 15 تیر 1394, 11:25 صبح
برو نظریه زبان ها بخون...بعد هم طراحی و پیاده سازی کامپایلر!

sareham238
دوشنبه 15 تیر 1394, 13:23 عصر
دوستان منابع دیگه ای هم وجود داره... چون من فکرم روی این بود از sharp develop که open source یه چیز کوچیک برای خودم درست کنم ...

jeson_park
دوشنبه 15 تیر 1394, 15:34 عصر
با کمی جستجو می تونید پیدا کنید
How to create a VS 2012 like application - Wide IDE Framework (v0.1)
(http://www.codeproject.com/Articles/551885/How-to-create-a-VS-2012-like-application-Wide-IDE)من نمی دونم هدف شما ساخت فقط IDE هست یا کلی تر (یعنی هم پیاده سازی زبان + یه IDE)

Mahmoud Zaad
چهارشنبه 17 تیر 1394, 21:42 عصر
سلام
منظورتون این موضوع (http://barnamenevis.org/showthread.php?217586-%D8%B3%D8%A7%D8%AE%D8%AA-Form-Designer-%D8%AF%D8%B1-%D8%B3%DB%8C-%D8%B4%D8%A7%D8%B1%D9%BE) هست؟

Hadi-Hashemi
پنج شنبه 18 تیر 1394, 00:29 صبح
اینم ببینی بد نیست


https://www.youtube.com/watch?v=OA2DbuoVcMU

reza_noei
پنج شنبه 18 تیر 1394, 02:02 صبح
سلام

اگر قصد دارید که صرفاّ یک IDE بسازید پروژه هایی مثل ++DEV C و eclipse روی این کار تمرکز دارند. این محیط های تنها به شما یک محیط کد نویسی (ویرایشگر) و اشکال زدایی ارائه میدهند و تسهیلاتی هم
برای دنبال کردن بده بستان های زمان اجرای برنامه های نوشته شده دارند ولی میشه اسم این پروژه ها را چیزی در حد IDE نامگذاری کرد به این دلیل که این محیط ها هیچ کامپایلری را ارائه نمیدهند بلکه
از کامپایلرهای متن باز (یا متن بسته) موجود بهره میبرند. (البته اعمالی که ویرایشگر متن یک IDE انجام میشوند جزئی از عملیات های کامپایل محسوب میشوند). ++Dev C فکر میکنم متن باز باشد و اگر بخواهید دنبال این محیط ها بروید به شما کمک بزرگی خواهد کرذ. ولی اگر قصد دارید که یک محیط مجتمع شبیه Visual Studio داشته باشید باید همه چیز را خودتان ایجاد کنید (کامپایلر، ویرایشگر، محیط گرافیکی و ....).

پس دو راه پیش روی است :
1. طراحی یک محیط توسعه (IDE)
2. طراحی یک محیط مجتمع (که در آن همه چیز ساخته دست شماست)

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

در مورد نوشتن کامپایلر دوستان هم اشاره کردند اما منابعی که بعنوان مرجع میتوانید دنبال کنید (در صورت تمایل) سه کتاب زیر هستند :

1. An Introduction To Formal Languages And Automata ، نوشته Peter Linz (ترجمه های فارسی هم داره با عنوان نظریه زبان ها جستجو کنید)
2. Concepts Of Programming Languages 10th Edition ، نوشته R.W Sebesta (ترجمه فارسی هم داره ولی به نظر من انگلیسیش بهتر باشه)
3. Compilers , Principles Techniques And Tools ، نوشته آقایان Aho و Ullman و Sethi (ترجمه فارسی خوب هم داره با عنوان کامپایلر جستجو کنید)

(از این جهت که در طراحی یک زبان یا یک کامپیایلر اصول پایه یکسان هستند یا به عبارتی در هم آمیخته شده اند مطالعه این کتابها به منظور ایجاذ یک زبان و یا یک کامپایلر الزامی میباشد).
مطالعه این کتاب اول به شما تکنیک های ریاضی و الفبای طراحی زبان و کامپایلر را خواهد داد.
مطالعه کتاب دوم بیشتر شما را به سمت و سوی مسائل مربوط به طراحی و پیاده سازی یک زبان میبرد و با جزئیات زبانها آشنا میکند.
مطالعه کتاب سوم پس از کسب دانش کافی به شما کمک میکند که یک کامپایلر طراحی کنید.

اگر قصد طراجی یک کامپایلر را دارید پس از مطالعه کتاب های مذکور کامپایلر gcc و ++g را هم مطالعه کنید تا با طرز کار یک نمونه آماده نیز آشنا شوید.