نقل قول: ساخت Compiler و یک زبان برنامه نویسی جدید
سلام دوست عزیز.
ساخت زبان برنامه نویسی فارسی یه سری مشکلات یا بهتره بگم نکات ریز برای خودم داشت که بی خیالش شدم
به نظرم غربی ها خیلی خوش شانس هستن از نظر ویژگی های زبانشون!
باید به نام گذاری متغیر ها فکر کنید
به بیوند با کتابخانه های خارجی هم همین طور
و مسایل ریز دیگه
مثلا این که باید کد برنامه خوانا باشه
دستورات و عملگر های ریاضی چه جوری باشه
...
نقل قول: ساخت Compiler و یک زبان برنامه نویسی جدید
دوست عزیز کاظم فلاحی , با سلام
اینکار کار خیلی سختی نیست البته اینجوری:شما یک برنامه ی جاوا که تصاویر پازل یا مثلا اسلاید شو باشه رو تولید کنین
بعد نرم افزاری که مینویسید باید فایل جاوا رو باز کنه و تصاویری که کاربر انتخاب میکنه رو جایگزین کنه
اینجوری براحتی کارتون درست میشه
نرم افزار Fbook هم همچین کاری میکنه
نقل قول: ساخت Compiler و یک زبان برنامه نویسی جدید
نقل قول:
نوشته شده توسط
amin32
اکه سرعت براتون مهم نباشه فاز جلو بندی رو میتونید با هر زبانی پیاده سازی کنید ولی احتمالا تو فاز عقب بندی (به خاطر تولید کد ) نمیتونید روی هر زبانی حساب باز کنید.
اگه شما با فازها و زیر فازهای کامپایلر و کاربردشون آشنا نیستید میتونم براتون توضیح بدم. من اطلاعاتم بیشتر در فاز جلوبندی هست. یعنی تا جایی که بتونید یه
مفسر بنویسید.وقتی حرف از کاپایلر میشه معمولا شما باید بتونید برای سیستم عامل مورد نظر یه برنامه اجرایی تولید کنید.که من اطلاعات زیادی در این مورد ندارم. ولی در مفسر شما
فقط فاز جلوبندی و زیر شاخه های اونو دارید.و در آخر کد میانی تولید شده رو مستقیم اجرا میکنید.
در کل فکر میکنم c یا ++c برای ایجاد کامپایلر مناسب باشه. ولی مفسر رو میتونید از هر زبانی استفاده کنید.البته باید به سرعت اجرا دقت کنید.
سلام.من این مطلب شمارو توآرشيو اينجا پيدا کردم و در حال حاضر برای درس کامپايلر بايد ی مفسر ساده بسازم
درواقع سوال استاد اين که ی فايل txt. بديم ب مفسر بعد ی فايل با ی زبان برنامه نويسی تحويل بگيريم که ترجيحا از خانواده C باشه
می خواستم بدونم شما ميتونی کمک کنی؟
نقل قول: ساخت Compiler و یک زبان برنامه نویسی جدید
من هستم،من حاضرم که باهم زبان برنامه نویسی جدید بسازیم ولی باید به من میل بدی!
smhak11@gmail.com
نقل قول: ساخت Compiler و یک زبان برنامه نویسی جدید
بچه ها, چه کاریه,
اینجا
رو ببینید, یه سری به آموزشاش بزنید, خیلی کارو راحت میکنه
نقل قول: ساخت Compiler و یک زبان برنامه نویسی جدید
سلام دوستان هم وطن اگه پول درست حسابی تو کار هست من هستم چون هم علمش و هم حوصله اش را دارم من به عنوان یه نیمچه استاد ایرانی تو کشور خودم کسی نیست که بهمون بها بده ولی از سایر جاها بهم خیلی پیام میدن و اومدهاند به شهرمون و منو دیده اند و خواسته اند که با اونها کار کنم البته پس از امتحان اینو خواسته اند نه الکی من هم چون به پول نیاز دارم فکر میکنن که با اونها میرم ولی تا حالا استقامت کردهام پس اگه پول بدین میتونم باهاتون کار بکنم ببخشین ولی
آنچه شیران را کند روبه مزاج
احتیاج است احتیاج
نقل قول: ساخت Compiler و یک زبان برنامه نویسی جدید
my mail is
hacando60@gmail.com
please if u willl please call
thanks a lotttttttttttttttttttttttttttt
نقل قول: ساخت Compiler و یک زبان برنامه نویسی جدید
سلام.
من می خوام برای زبان -c کامپایلر طراحی کنم.فاز scanner ,parser , semantic analyser نوشتم و درست کار میکنه این فازو نوشتم وقتی فایلهای خروجی رو کامپایل میکنم تا قبل از تابع yyparse() کار میکنه ولی بقیه اش تو console چاپ نمیشه یعنی خروجی نمیده لطفا کمک کنید.
نقل قول: ساخت Compiler و یک زبان برنامه نویسی جدید
سلام.
من داشتم توی گوگل "برنامه نویسی open source" رو جستجو می کردم، که به این انجمن رسیدم و بعدا شانسی این پست رو پیدا کردم.
من پست آقای lamOverlord رو در اینجا خوندم که در مورد نوشتن یه نسخته جدید از VB نوشته بودند. و بیشتر بخش های این پست رو هم خوندم.
آقا منم هستم. اصلا خودم دارم سعی می کنم به زبان برنامه نویسی جدید بسازم به اسم Rest. سینتکسی (syntax) که برای Rest در نظر گرفتم می شه گفت تقریبا چیزی شبیه به VB هست. ولی من اصلا VB رو کار نکرده بودم و سینکس رو تاحالا ندیده بودم. و چیزی که من می خواستم بسازم یه ورژن دیگه از python بود که به C یا Assembly تبدیل بشه. من مشکلی که داشتم این بود که نوشتن برنامه توی C سخت بود چون که هی باید سمی کلن می زاشتم و حافظه برنامه رو به صورت دستی free و allocate می کردم. و نوشتن برنامه توی python راحت تره، ولی زمان اجرای برنامه بیشتر می شه. و برنامه بهینه نیست اصلا. کاری که من می خواستم بکنم این بود که یه زبان برنامه نویسی بسازم که سینتکسش در حد پایتون ساده باشه و به C تبدیل بشه و تمام بهینه سازی های لازم رو انجام بده.
البته سینکسی که در نظر گرفتم از python راحت تره و دیگه مثل پایتون لازم نیست که همه جملات داخل یه بلاک با یه tab جلو بره، به جاش آخر هر بلاک یه end اضافه می کنیم. مثلا اگه تعریف کردن function توی python این شکلی باشه:
کد HTML:
def sum(a, b):
return a + b
چیزی که توی Rest در نظر گرفته بودم اینه:
کد HTML:
def sum(a, b)
return a + b
end
چندین تا زبان برنامه نویسی دیگه هم با سینتکس های ساده تر داره ساخته می شه، وجود دارند که اینا هستن: vlang, nim و crystal
nim تا یه حد خیلی زیادی جلو رفته و یه کتاب هم برای آموزشش نوشته شده، و به زبان C و javascript هم تبدیل می شه. ولی بهینه نمی شه. یا می شه گفت یه سری قابلیت براش در نظر گرفتن برای بهینه سازی، ولی بهینه سازی حداکثر رو انجام نمی ده. و می تونم بگم که می شه زبان برنامه نویسی نوشت که خیلی بهینه تر باشه.
crystal هم سینتکس خیلی ساده ای داره و مثل Ruby می مونه و به native byte code تبدیل می شه. سینتکسش رو هم یه نگاهی بکنید، بدک نیست.
vlang رو زیاد نخوندم در موردش ولی خیلی بهینه شده کامپایل می شه. و سینکس خیلی راحتی نداره.
ولی طرحی که من برای نوشتن Rest در نظر گرفتم، یه جوری در برگیرنده بیشتر ویژگی های زبان های برنامه نویسی بالا هست. یا شاید بشه گفت هر ویزگی که به نظرم خوب اومده رو توی نوشتن Rest در نظر گرفتم. البته در بعضی از قسمت هاش هنوز شک دارم، یا نوشتن بعضی از ایده ها خیلی وقت گیر خواهد بود. اما هنوز اول کارم، توی نوشتن مرحله Tokenizer ام. نمی دونم شما بهش می گید مترجم معنوی یا لغوی، ولی اینجا می تونید پیدا کنید که منظورم چی هست.
نمی دونم که می تونیم باهم هم کاری داشته باشیم یا نه، یا اصلا اسم زبانی که می خوایم بسازیم رو، چی بزاریم. ولی من آماده همکاری هستم اگه ایده و نظری دارید بگید که با هم گفت و گو کنیم. و در ضمن اسم Rest رو برای این انتخاب کردم که انگاری که استراحت برنامه نویس ها باشه. بشه توی یه سینتکس ساده برنامه نویسی کرد و به بهترین شکل ممکن بهینه بشه. :متفکر: البته هنوز ایده است تا به پروژه کامل برسه. :چشمک:
اینجا می تونید سورس Rest رو که دارم می نویسم ببنید. و اینجا هم می تونید طرحی که در نظر گرفتم رو ببنید. اگه چیزی رو متوجه نشدید بگید که توضیح بدم.
و یه پیشنهاد دارم توی پست هاتون رو که می خوندم:
بین FASM و MASM شک داشتید که به کدوم کامپایل بشه، به نظر من به NASM کامپایل بشه بهتره. چون که اولا NASM خیلی معروف تره و افراد بیشتری روش کار کردند و open source هم هست، و هم به خاطر این که هم برای ویندوز و هم برای لینوکس کامپایل می کنه. ولی MASM برای لینوکس کامپایل نمی کنه، open source هم نیست و FASM هم به اندازه NASM پیشرفته نیست. یه اسمبلر دیگه هم وجود داره به اسمه GAS که وقتی C یا Cpp می خود کامپایل بشه به اون تبدیل می شه، ولی اصلا راحت نیست و بیشتر برای C ساخته شده. یه راه حل دیگه هم وجود داره اونم اینه که از library هایی که برای تولید byte code استفاده می شه، بهره ببرید که بستگی به این داره که با کدوم راحت تر باشید.
منتظر نظرتون هستم.