تالار گفتمان مانشت
تعداد توکن ها ! - نسخه‌ی قابل چاپ

تعداد توکن ها ! - AEM4949 - 08 شهریور ۱۳۹۲ ۰۲:۱۲ ق.ظ

با سلام خدمت دوستان

در آزمون ۲۵ درصد اول پارسه سوالی شده ، مبنی بر تعداد توکن ها در عبارت زیر:

کد:
For J=55 to 155 do f1(J);

و در پاسخ گفته شده ۱۲ توکن.

به نظر دوستان برای متغیر J ، که دو بار تکرار شده نباید یک توکن در نظر گرفت(که در آن صورت می شود ۱۱ توکن)؟

RE: تعداد توکن ها ! - mfXpert - 08 شهریور ۱۳۹۲ ۱۱:۳۶ ب.ظ

احتمالا به این دلیل j رو دو بار در نظر گرفته چون فرض کرده متغیرها در زبان مورد نظر حساس به بزرگ و کوچک بودن حروف هست. در این صورت j یک توکن خواهد بود J یه توکن دیگه

RE: تعداد توکن ها ! - AEM4949 - 08 شهریور ۱۳۹۲ ۱۱:۴۹ ب.ظ

(۰۸ شهریور ۱۳۹۲ ۱۱:۳۶ ب.ظ)mfXpert نوشته شده توسط:  احتمالا به این دلیل j رو دو بار در نظر گرفته چون فرض کرده متغیرها در زبان مورد نظر حساس به بزرگ و کوچک بودن حروف هست. در این صورت j یک توکن خواهد بود J یه توکن دیگه

ممنون از پاسختون.
سوالم رو ویرایش کردم(هر دو j یکی هستند)

RE: تعداد توکن ها ! - azad_ahmadi - 09 شهریور ۱۳۹۲ ۰۹:۲۴ ب.ظ

سلام.
تحلیلگر لغوی توکن هایی که قبلا ذخیره شده اند را دوباره ذخیره نمی کند.
مگر اینکه در یک بلاک دیگر باشد. بنظر برای هردو j یک خانه از جدول نماد اختصاص داده می شود.
فکر میکنم باید ۱۱ توکن باشه. البته از نظر منطقی هم اینطور درست تره، چون مثلا
int i
i = c-2
i++
i--
رو در نظر بگیریم، تنها یک i باید در جدول نماد ذخیره بشه، نه ۴تا.
نکته جالب اینکه این قطعه کد باید در قسمت پویای تحلیلگر معنایی قرار گیرد.