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

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

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

برنامه نویسی سی و پیاده سازی چند تابع

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

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

کد پروژه: 96885


شرح پروژه

سلام 

در این پروژه باید توابع زیر به زبان سی پیاده سازی شوند. به ترتیب همه ی این توابع را توضیح می دهم:

(mktable(previous

previous: اشاره گر به جدول قبلی است.

این تابع یک table جدید می سازد 

در ابتدای برنامه این تابع با مقدار nil صدا زده می شود که به جایی اشاره نمی کند و جدول ساخته می شود.این تابع یک اشاره گر بر می گرداند که به این جدول اشاره می کند.

(enter(table,name,type,offset:

table اشاره گر به جدولی است که تابع enter باید مقادیر name یعنی نام متغیر، type یعنی تایپ متغیر (مثلا int )، و مقدار حافظه ای که برای متغیر در نظر گرفته می شود مثلا اگر int باشد مقدار offset برابر ۴ بایت می شود.

(addwidth( t,, width:

هر جدول دارای یک سطر اولیه است که یک header و یک اشاره گر به جدول قبلی را در خود نگه می دارد. تابع addwidth این اشاره گر یعنی t و مقدار top استک offset را در header هر جدول ذخیره می کند.

(enterproc(table, id.name,t:

در این تابع، table اشاره گر به جدولی هست که باید در آن اطلاعات نام procedure و t (اشاره گر به جدول قبلی) نوشته شود.

دو استک در این برنامه نیاز داریم.

یک استک به نام tblptr.

استک ها باید پیاده سازی شوند و استفاده از library آماده مجاز نیست.

تابع (push(t,tblptr: مقدار اشاره گر t را در استک tblptr پوش می کند.

(top(tblptr: مقدار بالای استک tblptr را می دهد.

(pop(tblptr: مقدار بالای استک tblptr را pop می کند.

یک استک دیگر به اسم offset .

تابع (push(0,offset: مقدار 0را در استک offset پوش می کند.

(top(offset: مقدار بالای استک offset را می دهد.

(pop(offset: مقدار بالای استک offset را pop می کند.

در پایان باید این توابع در جلوی قواعد گرامر در parser مطابق چیزی که ضمیمه کرده ام استفاده شوند در آخر این جدول ها چاپ شوند.

اگه پیاده سازی این توابع صحیح باشند برنامه درست کار می کند. توضیحات اضافی در فایل ضمیمه داده شده است.توضیح و مثالی برای  یک ورودی input3.txt در فایل symbol_table.pdf امده است.

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

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


بودجه

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

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

1روز

وضعیت مناقصه

بسته


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

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

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

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

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

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

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

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

ثبت نام کنید

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

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

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

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

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

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

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

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

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

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

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


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

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

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