تالار گفتمان مانشت
سوال ۱۰۴ کنکور ارشد ۹۶ - نسخه‌ی قابل چاپ

سوال ۱۰۴ کنکور ارشد ۹۶ - mahz3000 - 26 تیر ۱۳۹۶ ۰۱:۳۹ ب.ظ

سلام
در صورت سوال مطرح کرده که اگر به جای while عبارت whlie تایپ شود کدام خطا می شود . با توجه به این که این یک خطای لغوی هست باید Lexical error باشه ولی در پاسخنامه نهایی سنجش اعلام شده خطای نحوی ؟؟؟؟!!!! چجوریه؟؟

RE: سوال ۱۰۴ کنکور ارشد ۹۶ - msour44 - 27 تیر ۱۳۹۶ ۱۲:۰۴ ق.ظ

سلام
بهتر بود تصویر کامل سوال را میذاشتید.اگر به جای while عبارت whlie تایپ شده باشه خطای لغوی نیست. خطای لغوی زمانیه که قوانین نام گذاری شناسه ها نقض شده باشه مثل استفاده از کاراکتر غیر مجاز یا شروع با یک عدد ولی در whlie قانونی نقض نشده پس خطای لغوی نداریم و کامپایلر whlie را به عنوان یک شناسه تشخیص میدهد و اسنکر توکن ان را به تجزیه گر ارسال میکند و تجریه گر در حین بررسی متوجه ساختاری میشود که معمول نیست یعنی باید توکن کلمه رزرو شده while رو از اسکنر دریافت میکرد (با توجه به سوال که نیاز به while داریم)درحالی که توکن یک شناسه رو دریافت کرده پس خطای نحوی تولید میشود.

RE: سوال ۱۰۴ کنکور ارشد ۹۶ - mahz3000 - 27 تیر ۱۳۹۶ ۰۶:۲۷ ب.ظ

(۲۷ تیر ۱۳۹۶ ۱۲:۰۴ ق.ظ)msour44 نوشته شده توسط:  سلام
بهتر بود تصویر کامل سوال را میذاشتید.اگر به جای while عبارت whlie تایپ شده باشه خطای لغوی نیست. خطای لغوی زمانیه که قوانین نام گذاری شناسه ها نقض شده باشه مثل استفاده از کاراکتر غیر مجاز یا شروع با یک عدد ولی در whlie قانونی نقض نشده پس خطای لغوی نداریم و کامپایلر whlie را به عنوان یک شناسه تشخیص میدهد و اسنکر توکن ان را به تجزیه گر ارسال میکند و تجریه گر در حین بررسی متوجه ساختاری میشود که معمول نیست یعنی باید توکن کلمه رزرو شده while رو از اسکنر دریافت میکرد (با توجه به سوال که نیاز به while داریم)درحالی که توکن یک شناسه رو دریافت کرده پس خطای نحوی تولید میشود.
صورت سوال به پیوست فرستادم