پارس‌کدرز چگونه کار می‌کند؟

از پارس‌کدرز بیشترین بهره را ببرید و رویای کاری خود را زندگی کنید.

پارس‌کدرز خریداران یا کارفرمایان را به مجری‌ها /فریلنسرهای خبره‌ای متصل می‌کند که برای انجام پروژه آماده هستند.

پروژه اصول طراحی کامپایلر کارشناسی

پنج سال پیش منتشر شده

تعداد بازدید: 1821

کد پروژه: 88767


شرح پروژه

پروژه ی  کامپایلر دوره ی کارشناسی نرم افزار است.

پروژه ی نسبتا آسانی است.

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

با استفاده از انتلر خروجی   ،Parser را تولید نموده و برنامه بنویسید که آدرس BaseListener و Listener ، SRCفولدر   را دریافت کرده و خروجی خواسته شده برای هر کلاس موجود چاپ کند.  )the_definitive_antlr_4_reference(فصل سوم کتاب خروجی برای هر کلاس باید شامل نام کلاس و تعداد اشیای ساخته شده (تعداد استفاده از هر کلاس در قانون ساختن شی) 

موارد تحویلی: AOOL.g4.فایل 1  که گرامری است که در انتلر نوشته اید.  inputs در پوشه AOOL.کد های نوشته شده به زبان 2 . .تصاویر 3 AST   که شامل درختهای png  images  رسم شده توسط انتلر باشد. در پوشه  .سورس فایل های جاوا پروژه 4 . .فایل خروجی 5 src پروژه به گونه ای که در خط فرمان آدرس پوشه jar   را بگیرد و خروجی خواسته شده را نمایش دهد. 

 پس از راه اندازی و ارتباط منطقی میان  وlexer  و درخت پارسینگ زبان parser  در این فاز میخواهیم Aool جدول علائم مربوط به این زبان را طراحی و پیاده سازی کنیم . فرضیات کلیه قسمت های در نظر گرفته شده در این فاز  را با توجه به فرضیات زیر انجام دهید.   هر یک از کلاس های شرکت کننده در برنامه ورودی در یک فایل قرار داده شده است. لذا برنامه باید  تمامی فایل موجود در پوشه  . را پردازش کند src  . برای تمامی خطاهای پیدا شده نام فایل و خطی از برنامه که خطای رخ داده است چاپ شود   همه کلاس ها در صورتی که از یک کلاس ارث نبرده باشند به صورت پیش فرض از کلاس  ارثObject میبرند.   مقدار پیش فرض یک متغیر از نوع کلاس  Bool ،  .استFalse   مقدار پیش فرض یک متغیر از نوع کلاس  . صفر است ،Int  . نام متغیرها و متدها میتواند یکسان باشد   نوع یک متغیر و یا نوع بازگشتی یک تابع می تواند از نوع کلاسی که کاربر تعریف کرده، باشد. به عبارت  دیگر تعریف هر کلاس به معنی اضافه شدن یک نوع داده ای جدید است.   راس گراف ارث بری کلاس  خواهد بود. بنابراین اگر یک کلاس صریحا کلاس پدر خود را object مشخص نکرده باشد. به طور خودکار از کلاس  . ارث خواهد برد object   دارای متودهای زیر است: Object کلاس  o type_name () Retrun String

 یک رشته حاوی نام کلاس را برمیگرداند. o get_depth () Retrun Int عمق کلاس در گراف را نمایش میدهد. o copy () Return Object یک کپی از شی ای که این تابع بر روی آن صدا زده شده برمیگرداند. o get_self () Return Object  در زبان جاوا عمل thisشی مربوط به کلاس را برمیگرداند. ( این متد مانند کلمه کلیدی میکند.) 

 : انواع داده ای اولیه زبان موارد زیر هستند  o Int o LiteralString o String o Bool o Float String کلاس   دارای متودهای زیر است: o length ()

 Return Int

o concat(s of String)

 Return String

o substr(I of Int , J of Int)

 Return String 

 قوانین  . یکی از مسائل مهم در برنامه نویسی شی گرا بحث وارثت است و لذا گرامر زبان 1 نیز از قاعده Aool مستثناء نیست. همانطور که میدانید کلاس هایی که در رابطه ارث بری شرکت میکنند مجموعا تشکیل یک گراف جهت دار به نام گراف ارث بری را میدهند، که گره های شرکت کننده در این گراف همان کلاسهای ورودی برنامه هستند و یال ها نشان دهنده جهت رابطه ارث بری هستند. از طرفی تشکیل دور در گراف ارث بری سبب ایجاد خطای کامپایل، توسط کامپایلر خواهد شد. حال برنامه شما باید پس از پارس کردن فایل های ورودی و تشکیل گراف ارث بری مناسب، وقوع دور در این گراف را بررسی کرده و در صورت وجود، نام زنجیره کلاسهایی که سبب ایجاد دور شده اند را به شکل زیر چاپ کند. A - > B -> C -> A

 .  یکی دیگر از خطای رایج در هنگام برنامه نویسی مورد ارجاع قرار گرفتن یک متغیر 2 )محلی یا سراسری( و یا فراخوانی یک متد از برنامه است. در صورتی که ممکن است آن متد یا متغیر در هیچ جایی از برنامه scop تعریف نشده باشد.  (منظور  های قابل دستیابی است.

این پروژه شامل 2 فایل مهم است، لطفا قبل از ارسال پیشنهاد حتما نسبت به بررسی این فایل اقدام فرمایید.

مهارت ها و تخصص های مورد نیاز


بودجه

100,000 تومان تا 300,000 تومان

مهلت برای انجام

4روز

وضعیت مناقصه

بسته


درباره کارفرما

عضویت پنج سال پیش

1 پروژه ثبت شده ،
0 پروژه در حال انجام ،
0 پروژه آماده دریافت پیشنهاد ،
نرخ پذیرش پیشنهاد 0%

برای پیدا کردن پروژه‌های مشابه ثبت نام کنید و پروفایل خود را بسازید.

ورود با گوگل
یا
نام نباید خالی باشد.
نام خانوادگی نباید خالی باشد.

نیاز به استخدام فریلنسر یا سفارش پروژه مشابه دارید؟

سفارش پروژه مشابه

قادر به انجام این پروژه هستید؟

ثبت نام کنید

مهلت ارسال پیشنهاد قیمت برای این پروژه تمام شده است

سری به پروژه‌های مشابه بزنید

روش کار در پارس‌کدرز

به رایگان یک حساب کاربری بسازید

مهارت‌ها و تخصص‌های خود را ثبت کنید، رزومه و نمونه‌کارهای خود را نشان دهید و سوابق کاری خود را شرح دهید.

به شیوه‌ای که دوست دارید کار کنید

برای پروژه‌های دلخواه در زمان دلخواه پیشنهاد قیمت خود را ثبت کنید و به فرصت‌های شغلی منحصر به فرد دسترسی پیدا کنید.

با اطمینان دستمزد دریافت کنید

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

می‌خواهید شروع به کار کنید؟

یک حساب کاربری بسازید


بهترین مشاغل فریلنسری را پیدا کنید
رشد شغلی شما به راحتی ایجاد یک حساب کاربری رایگان و یافتن کار (پروژه) متناسب با مهارت‌های شما است.

پیدا کردن کار (پروژه)

تماشای دمو روش کار