ورود

نسخه کامل مشاهده نسخه کامل : طراحی کامپایلر



VILIBILI
20-07-2010, 14:54
شاید مطرح کردن این موضوع تو این بخش خنده دار باشه ولی من برای طراحی نرم افزار خودم به دو بخش از کامپایلر یعنی scanner و parser نیاز دارم. حالا اگه دوستان این دوتا رو برای کامپایل در سی شارپ (برام فرق نمی کنه چه زبانی رو بتونه بررسی کنه ) دارند بزارن بینهایت ممنون میشم؟
در ضمن اگه آموزشی در رابطه با gold parser دارند هم بزارن ممنون میشم.

301
24-07-2010, 12:00
سلام

فکر می کنم این بتونه کمکت کنه


Need to build a parser? Here is the right tool for you! Irony is a new-generation .NET compiler construction kit. Unlike most existing yacc/lex-style solutions Irony does not employ any scanner[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]) or parser code generation from grammar specifications written in proprietary meta-language. In Irony the target language grammar is coded directly in c# using operator overloading to express grammar constructs. Irony's scanner and parser modules use the grammar encoded as c# class to control the parsing process. The initial release contains implementation of scanner, LALR(1) parser and several test grammars: a grammar for parsing arithmetic expressions, and simplified grammars for Scheme, Python and Ruby. The project is hosted here: [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]


لینک دانلود :



برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

_H2_
25-07-2010, 03:40
سلام
اگر هدفتان کامپایل کدی در runtime است، یعنی هدفتان تولید خود کامپایلر نیست...
راه بسیار ساده تری هم موجود است.
کامپایلر زبانهای VB.Net و C#.Net جزء Framework است نه VS و این نکته بسیار جالب و پرکاربردی است.

شما میتوانید به راحتی کدی بنویسید که یک کد String به زبان VB.Net یا C#.Net را بگیرد و کامپایل و اجرا کند.
نمیدانم همچین چیزی مشکلتان را حل میکند یا خیر؟

VILIBILI
25-07-2010, 12:08
اگر هدفتان کامپایل کدی در runtime است، یعنی هدفتان تولید خود کامپایلر نیست...
من کلا قصد نوشتن یک کامپایلر رو ندارم ولی تویه برنامه باید یک سری کد رو پردازش کنم و از داخلشون یک شکل بیرون بکشم(PDL منظورم هست تو کتاب جعفرنژاد خوب توضیح داده شد).یعنی کاربر یک کدی به برنامه می ده و برنامه گراف جریانش رو رسم می کنه .


کامپایلر زبانهای VB.Net و C#.Net جزء Framework است نه VS و این نکته بسیار جالب و پرکاربردی است.

شما میتوانید به راحتی کدی بنویسید که یک کد String به زبان VB.Net یا C#.Net را بگیرد و کامپایل و اجرا کند.
نمیدانم همچین چیزی مشکلتان را حل میکند یا خیر؟
منظورتون رو درست متوجه نشدم اگه میشه بیشتر توضیح بدید.
اگر منظورتون این هست که یک کدی بنویسم که کدها رو پردازش کنه و بعد گرافش رو رسم کنه قبلا این کار رو انجام دادم و جواب هم گرفتم ولی جالب نبود.

_H2_
29-07-2010, 10:12
سلام
این طور که توضیح دادی مشکل شما با همین قابلیتی که گفتم حل خواهد شد.
شما میتوانید در یک TextBox فرمول یا تابع لازم را از کاربر به زبان VB یا #C بگیرید و خودتان ان را کامپایل و در نهایت در حلقه ای برای رسم نمودار و گراف و... اجرا کنید.

نمونه کد زیر گمانم کمکتان کند
support.h02.ir/fwlink/?LinkId=1005501287

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

البته این کد به VB.Net است ولی کد C#.Net ان هم فوق العاده شبیه همین است.
موفق باشید.