از پارسکدرز بیشترین بهره را ببرید و رویای کاری خود را زندگی کنید.
چهار سال پیش منتشر شده
تعداد بازدید: 366
کد پروژه: 208486
شرح پروژه
پروژه شماره یک:
هدف از اين پروژه ساخت يك كامپايلر ساده براي يك زبان جديد است. براي توليد كامپايلر يك زبان جديد میتوان از امكانات زبانهاي موجود بهره برداري كرد. به اين منظور ابتدا زبان جديد را به يكي از زبان C++ تبدیل كرده و با استفاده از كامپايلر زبان موجود، برنامه را به زبان ماشين و قابل اجرا ترجمه میكنيم.
زبان ساده اي را با ساختار ذيل در نظر بگيريد. در اين عبارات operator يكي از عملگرهاي + ,/ ,* , - و operand شناسه یا عدد است و num يك عدد صحيح است.
operand = num
operand = operand operator operand
همچنین دستور in عددی را از کاربر خوانده و در متغیر قرار می دهد دستور out مقدار متغیری را نشان می دهد. ساختار این دستورات به صورت زیر است:
in operand
out operand
برنامه اي بنويسيد كه عبارات با ساختارهای فوق را از یک فایل بخواند و اين عبارات را به زبان C++ ترجمه كند. به عنوان مثال اگرورودي، عبارات ذيل باشند.
A = 2
B =3
C= A+B
B=2
A= B * C
برنامهاي به زبان C++ به صورت ذيل توليد میشود.
#include<iostream.h>
int main()
{
int A,B,C,D;
A=2;
B=3;
C=A + B;
B=2;
A= B * C;
cout<<A;
return 0;
}
با كامپايل اين برنامه و اجراي برنامه، عدد 10 چاپ خواهد شد كه نتيجه برنامه مبدا است.
و در ادامه ، برنامههاي مربوط به توليد مفسر و كامپايلر را طوري تغيير دهيد كه اگر در برنامه ورودي خطايي وجود داشت آن را گزارش كند. به عنوان مثال هر دو برنامه بايد با دريافت عبارات ذيل پيغام خطاي مناسب ارائه كنند.
A = 2 * 4
B =3
C= A % B
B=2
A= B * C
در اين عبارات استفاده از % غير مجاز است و همچنين انجام عمليات مستقيم روي اعداد نيز غير مجاز است.
پروژه شماره دوم:
هدف از اين پروژه ساخت يك مفسر ساده براي يك زبان است. زبان ساده اي را با ساختار ذيل در نظر بگيريد. در اين عبارات operator يكي از عملگرهاي + ,/ ,* , - و operand شناسه یا عدد است و num يك عدد صحيح است.
operand = num
operand = operand operator operand
همچنین دستور in عددی را از کاربر خوانده و در متغیر قرار می دهد دستور out مقدار متغیری را نشان می دهد. ساختار این دستورات به صورت زیر است:
in operand
out operand
برنامه اي بنويسيد كه عبارات با ساختارهای فوق را از یک فایل بخواند عمليات ها را انجام داده نتیجه را نمایش دهد. به عنوان مثال اگر ورودي عبارات ذيل باشد برنامه عدد 10 را چاپ ميكند.
A = 2
B =3
C= A+B
B=2
A= B * C
برنامه به زبان c#نوشته شود.
مهارت ها و تخصص های مورد نیاز
مهلت برای انجام
2روز
وضعیت مناقصه
بسته
درباره کارفرما
عضویت چهار سال پیش
نیاز به استخدام فریلنسر یا سفارش پروژه مشابه دارید؟
قادر به انجام این پروژه هستید؟
متأسفانه مهلت ارسال پیشنهاد این پروژه به پایان رسیده و پروژه بسته شده است؛ اما فرصتهای متعددی در سایت موجود میباشد.
طراحی کامپایلر (پروژه درس طراحی کامپایلر)
چهار سال پیش منتشر شده
به رایگان یک حساب کاربری بسازید
مهارتها و تخصصهای خود را ثبت کنید، رزومه و نمونهکارهای خود را نشان دهید و سوابق کاری خود را شرح دهید.
به شیوهای که دوست دارید کار کنید
برای پروژههای دلخواه در زمان دلخواه پیشنهاد قیمت خود را ثبت کنید و به فرصتهای شغلی منحصر به فرد دسترسی پیدا کنید.
با اطمینان دستمزد دریافت کنید
از زمان شروع کار تا انتهای کار به امنیت مالی شما کمک خواهیم کرد. وجه پروژه را از ابتدای کار به امانت در سایت نگه خواهیم داشت تا تضمین شودکه بعد از تحویل کار دستمزد شما پرداخت خواهد شد.
میخواهید شروع به کار کنید؟
یک حساب کاربری بسازید
بهترین مشاغل فریلنسری را پیدا کنید
رشد شغلی شما به راحتی ایجاد یک حساب کاربری رایگان و یافتن کار (پروژه) متناسب با مهارتهای شما
است.
پیدا کردن کار (پروژه)
تماشای دمو روش کار