زمان کنونی: ۲۴ آبان ۱۴۰۳, ۰۹:۱۱ ب.ظ مهمان گرامی به انجمن مانشت خوش آمدید. برای استفاده از تمامی امکانات انجمن می‌توانید عضو شوید.
گزینه‌های شما (ورودثبت نام)

تشخیص خطاهای وابسته به متن در برنامه

ارسال:
  

sepid پرسیده:

تشخیص خطاهای وابسته به متن در برنامه

خطاهای وابسته به متن زیر توسط چه قسمتی و در چه زمانی تشخیص داده میشود؟
۱/ خارج از محدوده بودن اندیس آرایه
۲/دسترسی به آرایه دو بعدی با ۳ اندیس
۳/اعلان دوباره یک شناسه: مثلا int x رو داریم و دوباره Char x رو تعریف کنیم.
۴/دسترسی به یک شناسه خارج از بلوک آن
اولی رو سیستم عامل نمیتونه تشخیص بده و توسط کدهایی که توسط خود کامپایلر تولید میشه کشف میشه ولی زمانش رو نمیدونم موقع اجرا هست یا کامپایل.
۲و۳و۴هم به نظر میرسه باید توسط تحلیلگر معنایی در زمان کامپایل باشه.
نظر شما چیه؟
مشاهده‌ی وب‌سایت کاربر
نقل قول این ارسال در یک پاسخ

۰
ارسال:
  

arshad90 پاسخ داده:

RE: تشخیص خطاهای وابسته به متن در برنامه

(۲۸ دى ۱۳۸۹ ۱۲:۲۶ ق.ظ)sepid نوشته شده توسط:  خطاهای وابسته به متن زیر توسط چه قسمتی و در چه زمانی تشخیص داده میشود؟
۱/ خارج از محدوده بودن اندیس آرایه
۲/دسترسی به آرایه دو بعدی با ۳ اندیس
۳/اعلان دوباره یک شناسه: مثلا int x رو داریم و دوباره Char x رو تعریف کنیم.
۴/دسترسی به یک شناسه خارج از بلوک آن
اولی رو سیستم عامل نمیتونه تشخیص بده و توسط کدهایی که توسط خود کامپایلر تولید میشه کشف میشه ولی زمانش رو نمیدونم موقع اجرا هست یا کامپایل.
۲و۳و۴هم به نظر میرسه باید توسط تحلیلگر معنایی در زمان کامپایل باشه.
نظر شما چیه؟

اولی هم توسط تحلیلگر معنایی تشخیص داده می شه و قطعا در زمان اجرا. چون زمان ترجمه که مشخص نیست محدوده ارایه و اندیس‌ها چی هست و کل کنترل‌ها در زمان اجرا انجام می شه.
در مورد ۲ و ۳و ۴ باهات موافقم گمونم حق با تو باشه... اما مطمئن نیستمConfused
نقل قول این ارسال در یک پاسخ

۰
ارسال:
  

samanium پاسخ داده:

تشخیص خطاهای وابسته به متن در برنامه

به نظر من قسمت چهار سوال زمان اجرا کشف میشه
به این دلیل که به مدیریت حافظه میتونه ربط داشته باشه
خودتون قضاوت کنید !
البته اطلاعات دامنه متغییر‌ها در جدول نماد‌ها ذخیره میشه و میتونه زمان کامپایل هم کشف بشه
نقل قول این ارسال در یک پاسخ

۰
ارسال:
  

sepid پاسخ داده:

RE: تشخیص خطاهای وابسته به متن در برنامه

بچه‌ها یک سوال مرتبط با موضوع:
[تصویر:  attachment.php?aid=302]
چرا برای این سوال که برای سال ۸۲ هست ننوشته در زمان اجرا توسط تجزیه کننده مفهومی و نوشته توسط خود برنامه حاوی دستورات فوق.
چه فرقی بینشون هست؟


فایل‌(های) پیوست شده

مشاهده‌ی وب‌سایت کاربر
نقل قول این ارسال در یک پاسخ

۰
ارسال:
  

_Milad_ پاسخ داده:

تشخیص خطاهای وابسته به متن در برنامه

همه موارد ۱و۳ و۴ جزو Semantic analysis هستند.

مورد ۱ تنها در زمان اجرا قابل کشف هست. دلیلش هم واضح هست flow برنامه مشخص می کنه که کی index چه مقداری می گیره. و میشه گفت توسط کد هایی که کامپایلر در لابه لای کد مقصد قرار میده کشف میشه.
مورد ۴و۲و۳ در مان کامپایل قابل کشف هست.

در مورد سوال سال ۸۲‌:

گزینه ۴ درست هست( به نظر من!). فرق بین گزینه ۳ و۴ اینه که گزینه ۳ میگه در زمان کامپایل خطا تشخیص داده میشه که این درست نیست. وقتی کامپایلر به چنین مواردی بر می خوره که اطلاع کافی برای بررسی نداشته باشه کد هایی برای بررسی در زمان اجرا تولید می کنه که این کدها در زمان اجرا بررسی می کنن که خطایی رخ نداده باشه.
نقل قول این ارسال در یک پاسخ

ارسال:
  

sepid پاسخ داده:

RE: تشخیص خطاهای وابسته به متن در برنامه

(۳۰ دى ۱۳۸۹ ۰۱:۲۴ ق.ظ)_Milad_ نوشته شده توسط:  همه موارد ۱و۳ و۴ جزو Semantic analysis هستند.

مورد ۱ تنها در زمان اجرا قابل کشف هست. دلیلش هم واضح هست flow برنامه مشخص می کنه که کی index چه مقداری می گیره. و میشه گفت توسط کد هایی که کامپایلر در لابه لای کد مقصد قرار میده کشف میشه.
مورد ۴و۲و۳ در مان کامپایل قابل کشف هست.

در مورد سوال سال ۸۲‌:

گزینه ۴ درست هست( به نظر من!). فرق بین گزینه ۳ و۴ اینه که گزینه ۳ میگه در زمان کامپایل خطا تشخیص داده میشه که این درست نیست. وقتی کامپایلر به چنین مواردی بر می خوره که اطلاع کافی برای بررسی نداشته باشه کد هایی برای بررسی در زمان اجرا تولید می کنه که این کدها در زمان اجرا بررسی می کنن که خطایی رخ نداده باشه.

درسته.
در واقع سوال من اینجاست که وقتی گفته میشه کامپایلر کد میزاره، منظور از کامپایلر کدوم قسمتش هست؟
خوب کامپایلراز قسمتهایی مختلفی تشکیل شده که ما همه رو میشناسیم.
آیا تحلیلگر معنایی این کار رو انجام میده؟
مشاهده‌ی وب‌سایت کاربر یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ

۰
ارسال:
  

admin پاسخ داده:

تشخیص خطاهای وابسته به متن در برنامه

کامپایلر در واقع کدهایی شبیه try و catch داخل کد شما می‍گذاره. البته این کار هزینه سربار زیادی داره و برخی اوقات کامپایلرها بیخیالش می‍شن (مثل کامپایلرهای ++c)

در پاسخ دادن به این سوالات زمان bind رو در نظر داشته باشید. اعمالی که زمان bind اونها در زمان اجرای برنامه است رو تحلیلگر معنایی کاریش نمی‍تونه بکنه.
نقل قول این ارسال در یک پاسخ

۰
ارسال:
  

hatami پاسخ داده:

تشخیص خطاهای وابسته به متن در برنامه

خطای خارج از محدوده بودن اندیس آرایه هم در زمان اجرا و هم در زمان کامپایل قابل شناسایی است
اگر مثلاً [۱۱] a در برنامه داشته باشیم و کل آرایه ۱۰ عنصر داشته باشد این در زمان کامپایل شناسایی میشود
ولی اگر مثلاً i=11 باشد و داشته باشیم a[i ] آنگاه این خطا در زمان اجرا کشف میشود.
در مورد تست هم گزینه ۴ درست است
نقل قول این ارسال در یک پاسخ



موضوع‌های مرتبط با این موضوع...
موضوع: نویسنده پاسخ: بازدید: آخرین ارسال
  کمک برای شروع برنامه نویسی seyed ehsn ۲۱ ۱۵,۹۱۱ ۲۴ بهمن ۱۴۰۲ ۰۵:۱۰ ب.ظ
آخرین ارسال: maryamjafari63
  رودمپی برای برنامه نویسی Doctorwho ۱ ۲,۱۱۰ ۲۵ آذر ۱۴۰۰ ۰۳:۰۲ ق.ظ
آخرین ارسال: one hacker alone
  استخدام برنامه نویس یا کارآموز برنامه نویسی سی شارپ Hesitant_Girl ۰ ۱,۷۸۴ ۲۰ شهریور ۱۴۰۰ ۱۲:۰۲ ب.ظ
آخرین ارسال: Hesitant_Girl
  رودمپی برای یادگیری برنامه نویسی Doctorwho ۰ ۱,۸۰۸ ۲۳ اردیبهشت ۱۴۰۰ ۱۱:۲۲ ق.ظ
آخرین ارسال: Doctorwho
  درخواست برنامه برای اردینو در iot seokheiry ۱ ۳,۳۵۸ ۱۳ بهمن ۱۳۹۹ ۱۲:۵۵ ب.ظ
آخرین ارسال: iot-programer
  تشخیص گوگل مپس با Live View AR برای مکان دقیق elecomco ۱ ۴,۲۲۹ ۰۵ بهمن ۱۳۹۹ ۰۲:۴۹ ب.ظ
آخرین ارسال: kooshaideal1
  متن به هم ریخته در نرم افزار Notepad HAMID3F ۱۵ ۲۲,۹۱۴ ۱۷ شهریور ۱۳۹۹ ۰۸:۲۶ ق.ظ
آخرین ارسال: rezasedghi100
  کدام زبان برنامه‌نویسی بهترین انتخاب است؟ elecomco ۲ ۳,۱۲۴ ۱۰ شهریور ۱۳۹۹ ۰۵:۱۶ ب.ظ
آخرین ارسال: kilookiloo
Sad مشکل در برنامه نویسی شیء گرا Xialu ۰ ۲,۲۷۸ ۰۵ شهریور ۱۳۹۹ ۱۲:۰۰ ب.ظ
آخرین ارسال: Xialu
  برای آموزش مبانی برنامه نویسی چکار کنیم؟ elecomco ۰ ۲,۵۲۲ ۱۹ تیر ۱۳۹۹ ۱۲:۰۵ ق.ظ
آخرین ارسال: elecomco

پرش به انجمن:

Can I see some ID?

به خاطر سپاری رمز Cancel

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close

رمزت رو فراموش کردی؟

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. close