۰
subtitle
ارسال: #۱
  
تشخیص خطا در تحلیلگر لغوی یا نحوی
این سوال مربوط به آزمون پارسه هست و گفته شده که تحلیل گر نحوی این خطا رو تشخیص میده چرا تحلیلگر لغوی نمی تونه تشخیصش بده؟؟
float X;
X=1..6;
float X;
X=1..6;
۰
ارسال: #۲
  
RE: تشخیص خطا در تحلیلگر لغوی یا نحوی
تحلیل گر لغوی میاد مثلا x=1...2 رو به این تبدیل میکنه
id , Op, sub_range
و عملا هیچ دیدی نداره که باید توی متغیر x از نوع float باشه، درواقع فکر کنم این کار مربوط به تحلیل گر معنوی هستش که میاد توی زمان کامپایل این کار رو واسه ما چک میکنه و خطا میده.
id , Op, sub_range
و عملا هیچ دیدی نداره که باید توی متغیر x از نوع float باشه، درواقع فکر کنم این کار مربوط به تحلیل گر معنوی هستش که میاد توی زمان کامپایل این کار رو واسه ما چک میکنه و خطا میده.
ارسال: #۳
  
RE: تشخیص خطا در تحلیلگر لغوی یا نحوی
(۱۴ بهمن ۱۳۹۲ ۱۰:۰۳ ب.ظ)Riemann نوشته شده توسط: تحلیل گر لغوی میاد مثلا x=1...2 رو به این تبدیل میکنه
id , Op, sub_range
و عملا هیچ دیدی نداره که باید توی متغیر x از نوع float باشه، درواقع فکر کنم این کار مربوط به تحلیل گر معنوی هستش که میاد توی زمان کامپایل این کار رو واسه ما چک میکنه و خطا میده.
جوابش گفته که تحلیل گر لغوی این جوری تفسیرش می کنه
متغیر x عملگر مساوی عدد اعشاری (.۱) عدد اعشاری (۶/)
سپس تحلی گر نحوی چون همچین ساختاری در زبان وجود ندارد این خطا رو تشخیص میده تا اینجاش درست
موضوع اینه که مگه عدد اعشاری به صورت ۱/۰ نیست پس چرا تحلیل گر لغوی نمیتونه این رو تشخیص بده؟ چون بعد از . باید عدد بیاد که نیومده
ارسال: #۴
  
RE: تشخیص خطا در تحلیلگر لغوی یا نحوی
(۱۴ بهمن ۱۳۹۲ ۱۰:۰۳ ب.ظ)Riemann نوشته شده توسط: تحلیل گر لغوی میاد مثلا x=1...2 رو به این تبدیل میکنه
id , Op, sub_range
و عملا هیچ دیدی نداره که باید توی متغیر x از نوع float باشه، درواقع فکر کنم این کار مربوط به تحلیل گر معنوی هستش که میاد توی زمان کامپایل این کار رو واسه ما چک میکنه و خطا میده.
آقای ریمن جوابی که داده بودین نیست میشه دوباره بزارینش لطف می کنید
ارسال: #۵
  
RE: تشخیص خطا در تحلیلگر لغوی یا نحوی
آقای ریمن جوابی که داده بودین نیست میشه دوباره بزارینش لطف می کنید
خودمم هم یادم نیست چی گفتم!
آهان الان یادم اومد! واسه اعداد اعشاری یک عبارت منظم به این فرم هست: [tex][0-9]^ .[0-9]^{\ast}[/tex] که این میگه که بعد از نقطه میتونه عدد بیاد یا نه! و به عبارت دیگر ۱/ یک عدد اعشاری معتبر هست.
خودمم هم یادم نیست چی گفتم!
آهان الان یادم اومد! واسه اعداد اعشاری یک عبارت منظم به این فرم هست: [tex][0-9]^ .[0-9]^{\ast}[/tex] که این میگه که بعد از نقطه میتونه عدد بیاد یا نه! و به عبارت دیگر ۱/ یک عدد اعشاری معتبر هست.
۰
ارسال: #۶
  
RE: تشخیص خطا در تحلیلگر لغوی یا نحوی
(۱۴ بهمن ۱۳۹۲ ۰۹:۵۲ ب.ظ)zahra2012 نوشته شده توسط: این سوال مربوط به آزمون پارسه هست و گفته شده که تحلیل گر نحوی این خطا رو تشخیص میده چرا تحلیلگر لغوی نمی تونه تشخیصش بده؟؟
float X;
X=1..6;
خب اگه قرار باشه برای این گرامر مستقل از متن نوشته بشه برای . حتما باید( .|ترمینال|لاندا) نوشته و اینکه دیگه بازگشتی نباشه به همون سطر(بازگشتی از چپ)
تحلیل گر نحوی هم طی این فرایند دیگه میاد یه نقظه میخونه و برای دومی میگه این اشتباهه
Can I see some ID?
Feeling left out?
نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close