۰
subtitle
ارسال: #۱
  
محاسبه First ها
درود بر کاربران سایت
فرض کنید چنین گرامری داریم:
و می خواهیم First A را حساب کنیم. من می دانم که جواب در مرحله اول می شود d. اما نسب به یک مساله شک دارم و می خواهم قدم به قدم First را محاسبه کنم:
۱- می گوییم First می شود علامت غیر نهایی که در اینجا d است.
۲- حال می گوییم چون لاندا وجود دارد یعنی A->Landa پس یعنی A می رود به تهی بنابراین First A می شود d و تهی که می شود d.
آیا این درست است؟
چون می گوییم لاندا داریم و لاندا سبب حذف اولین قاعده می شود و چون در اینجا فقط d وجود دارد d حذف می شود و می شود تهی. آیا این استنتاج صحیح است؟
فرض کنید چنین گرامری داریم:
کد:
A->d|Landa
۱- می گوییم First می شود علامت غیر نهایی که در اینجا d است.
۲- حال می گوییم چون لاندا وجود دارد یعنی A->Landa پس یعنی A می رود به تهی بنابراین First A می شود d و تهی که می شود d.
آیا این درست است؟
چون می گوییم لاندا داریم و لاندا سبب حذف اولین قاعده می شود و چون در اینجا فقط d وجود دارد d حذف می شود و می شود تهی. آیا این استنتاج صحیح است؟
۰
ارسال: #۲
  
RE: محاسبه First ها
سلام دوست عزیز این دو تا عکس رو نگاه نکن و اگه مشکلی داشتی بگو تا توضیح بدم ولی اگر بخواهم مختصر بگم :
۱- first یعنی ببینم که رشته های تولید شده از اون متغییر خاصی که ما میخواهیم first آن را حساب کنیم با چه کاراکتری شروع میشوند
تا اینجا اوکی ؟ شما به اشتباه نوشتین غیر نهایی ، d نهایی هست نه غیر نهایی
نهایی : متغییر های کوچک هستند مثل a b d
و غیر نهایی : متغییرهای بزرگ هستند مثل A B C
۲- چون A به d و تهی رود پس هم تهی و هم d جزو مجموعه first(A) هست.
" و تهی میشود d " یعنی چی ؟ هم تهی و هم d
۳- چرا وقتی تهی داریم d حذف میشود ؟ معنی حرف شما رو نمیفهمم !!! و چون نمیفهمم خط آخر شما رو نمیتونم بگم استلال شما درست است یا غلط
انشالله متوجه کار شدین.
۱- first یعنی ببینم که رشته های تولید شده از اون متغییر خاصی که ما میخواهیم first آن را حساب کنیم با چه کاراکتری شروع میشوند
تا اینجا اوکی ؟ شما به اشتباه نوشتین غیر نهایی ، d نهایی هست نه غیر نهایی
نهایی : متغییر های کوچک هستند مثل a b d
و غیر نهایی : متغییرهای بزرگ هستند مثل A B C
۲- چون A به d و تهی رود پس هم تهی و هم d جزو مجموعه first(A) هست.
" و تهی میشود d " یعنی چی ؟ هم تهی و هم d
۳- چرا وقتی تهی داریم d حذف میشود ؟ معنی حرف شما رو نمیفهمم !!! و چون نمیفهمم خط آخر شما رو نمیتونم بگم استلال شما درست است یا غلط
انشالله متوجه کار شدین.
ارسال: #۳
  
RE: محاسبه First ها
(۲۴ خرداد ۱۳۹۱ ۰۸:۰۸ ب.ظ)naderx نوشته شده توسط: تا اینجا اوکی ؟ شما به اشتباه نوشتین غیر نهایی ، d نهایی هست نه غیر نهایی
نهایی : متغییر های کوچک هستند مثل a b d
و غیر نهایی : متغییرهای بزرگ هستند مثل A B C
اوه بله. درست می فرماییید، بدلیل سریع تایپ کردن اشتباه نوشتم. d و در کل متغیرهای کوچک نهایی هستند.
(۲۴ خرداد ۱۳۹۱ ۰۸:۰۸ ب.ظ)naderx نوشته شده توسط: ۲- چون A به d و تهی رود پس هم تهی و هم d جزو مجموعه first(A) هست.ما وقتی که لاندار را در قاعده خودمان داریم، در محاسبه میایم لاندا را جایگزین متغیر اول عبارت می کنیم. یعنی فرض می کنیم آن متغیر اول وجود ندارد. مثلا A->Bc|Landa را می توان گفت A->c زیرا لاندار جایگزین B می شود. حال در این رشته بالا ما فقط یک متغیر داریم و ان هم نهایی است. حالا می توان گفت First A می شود d + اینکه لاندا جایگزین d شود و چون چیزی باقی نمی ماند می گوییم تهی. آیا این صحبت درست است؟
" و تهی میشود d " یعنی چی ؟ هم تهی و هم d
الان جناب naderx به تصویر دوم دقت کنید. تصویری که یک مثال را ارائه کرده است. من برای محاسبه First E,T,F بدون اشتباه حل کردم و پاسخم مشابه مثال بود اما در First E',T'x اشتباه کردم. این مراحل رو انجام دادم:
First E'={+} + {(,id} زیرا + که مشخص است. حال می ماند لاندا. چون لاندا داریم پس رشته E'->+TF'|Landa می شود E'->TF' یعنی + حذف می شود و باید First T حساب شود که می شود ( و id. مشکل من اینجاست که نمی توانم تشخیص دهم وقتی لاندا میآید کی باید علامت رشته را حذف کنم. اگر نهایی باشد چه کنم؟ اگر غیرنهایی باشد چه کنم؟
۰
۰
ارسال: #۵
  
محاسبه First ها
عالی بود. متوجه شدم.
پس اگر B هم می رفت به لاندا آنگاه First T می شود: a,b,c,+,Landa
خیلی سپاسگذارم. ممنون
پس اگر B هم می رفت به لاندا آنگاه First T می شود: a,b,c,+,Landa
خیلی سپاسگذارم. ممنون
ارسال: #۶
  
RE: محاسبه First ها
۰
ارسال: #۷
  
RE: محاسبه First ها
[undefined=undefined] سلام من اصلا مفهو م first و fallow رو یاد نمیگیرم اگه میشه یکی خیلی خوب اینارو یاد ما بده شرمنده هم LL1 , LR 1[/undefined]
۰
ارسال: #۸
  
RE: محاسبه First ها
یکی این مفهوم FALLOW رو به ما یاد بده یک هفته هر چی میخونم یادش نمیگیرم
خواهش میکنم ....
خواهش میکنم ....
Can I see some ID?
Feeling left out?
نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close