۰
subtitle
ارسال: #۱
  
سوال درباره پیدا کردن first و follow
سلام دوستان. ۱- اگر میشه در خصوص بدست آوردن FIRST و FOLLOW های E و E و OP بگویید؟ ۲- این int هم پایانه هستش؟ ------------------------------ ۳- FOLLOW یک پایانه چی میشه؟ ۴- زمانیکه مثلا فقط F-->id رو داریم (FOLLOW(F چی میشه؟ ۵- توی کتاب اهو در قانون FOLLOW گفته A-->aBb الان توی اینجا a و b حروف کوچک اند پس هر دو پایانه اند درسته؟ ممنون.
۱
ارسال: #۲
  
RE: سوال درباره پیدا کردن first و follow
سلام و تشکر بابت انتقال سوال به مکان درست.
قبل از هر کاری قانون [tex]S \rightarrow E\theta[/tex] رو به مجموعه قوانین اضافه میکنیم (همیشه برای حل سوالا این کار رو انجام میدیم).
||||||||||||||||||||||||||||||||||||||||
پاسخ سوال اول:
هر کتابی رو که بخونیم مجموعه قوانینی رو برای بدست اوردن first و fallow توضیح داده، اگه مروری بر قوانین داشته باشید بهتر حل سوال رو متوجه میشید. اما first و fallow ها بصورت زیر هستند:
[tex]first(E): id , int[/tex]
[tex]first(E`) : op, [ , lambda[/tex]
[tex]first(OP) : , - , *[/tex]
توضیحی برای بدست آوردن first : برای اینکه first یک غیرپایانه رو بدست بیاریم، باید بدونیم غیرپایانه مورد نظر با چه پایانه هایی شروع میشه. بدست آوردن first خیلی راحت تر از fallow هست، همیشه باید به این نکته توجه کرد که اگه lambda هم جزئی از یک قانون بود، lambda هم در مجموعه first خواهد اومد ولی در مجموعه fallow اصلا نباید lambda در نظر گرفته بشود.
[tex]fallow(E): \theta , ] , op , [[/tex]
[tex]fallow(E`): \theta , ] , op , [[/tex]
[tex]fallow(OP): it \, has \, nothing[/tex]
توضیح برای بدست آوردن fallow : مجموعه ترمینال هایی که بلافاصله پس از تولیدات یک غیرپایانی قرار میگیرند، fallow رو تشکلیل میدن.
برای OP اصلان fallowی وجود ندارد، چرا که هیچ غیر پایانه ای در قانون موجود نیست. طبق قوانین بدست اوردن fallow، هر دوی E , E` هردو یک مجموعه fallow دارند. (این قسمت رو خودتون کار کنید اگه متوجه نشدید بگید که بیشتر توضیح بدم).
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
جواب سوال ۲: معمولا کلماتی که به حروف بزرگ نوشته می شن، غیرپایانه و کلامات که کوچک نوشته میشوند پایانه هستند. و int هم پایانه یا ترمینال هست.
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
جواب سوال ۳: first و fallow رو برای غیرپایانه بکار می برند و برای پایانه ها تعریف نمی شوند. مثلا برای جواب سوال اول fallow/OP وجود ندارد.
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
جواب سوال ۴: fallow برای غیرپایانه تعریف میشه.
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
جواب سوال ۵: با توجه به قانونی که نوشتین. A---> aBb . بله هردوی aوb پایانه (ترمینال) و AوB غیرپایانه (غیرترمینال) هستند.
در اینجا first/A برابر هست با a. و fallow/B برابر هست با b.
قوانین پیدا کردن مجموعه های first و fallow رو بخونید اگه سوالی داشتین بپرسید.
موفق باشید.
قبل از هر کاری قانون [tex]S \rightarrow E\theta[/tex] رو به مجموعه قوانین اضافه میکنیم (همیشه برای حل سوالا این کار رو انجام میدیم).
||||||||||||||||||||||||||||||||||||||||
پاسخ سوال اول:
هر کتابی رو که بخونیم مجموعه قوانینی رو برای بدست اوردن first و fallow توضیح داده، اگه مروری بر قوانین داشته باشید بهتر حل سوال رو متوجه میشید. اما first و fallow ها بصورت زیر هستند:
[tex]first(E): id , int[/tex]
[tex]first(E`) : op, [ , lambda[/tex]
[tex]first(OP) : , - , *[/tex]
توضیحی برای بدست آوردن first : برای اینکه first یک غیرپایانه رو بدست بیاریم، باید بدونیم غیرپایانه مورد نظر با چه پایانه هایی شروع میشه. بدست آوردن first خیلی راحت تر از fallow هست، همیشه باید به این نکته توجه کرد که اگه lambda هم جزئی از یک قانون بود، lambda هم در مجموعه first خواهد اومد ولی در مجموعه fallow اصلا نباید lambda در نظر گرفته بشود.
[tex]fallow(E): \theta , ] , op , [[/tex]
[tex]fallow(E`): \theta , ] , op , [[/tex]
[tex]fallow(OP): it \, has \, nothing[/tex]
توضیح برای بدست آوردن fallow : مجموعه ترمینال هایی که بلافاصله پس از تولیدات یک غیرپایانی قرار میگیرند، fallow رو تشکلیل میدن.
برای OP اصلان fallowی وجود ندارد، چرا که هیچ غیر پایانه ای در قانون موجود نیست. طبق قوانین بدست اوردن fallow، هر دوی E , E` هردو یک مجموعه fallow دارند. (این قسمت رو خودتون کار کنید اگه متوجه نشدید بگید که بیشتر توضیح بدم).
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
جواب سوال ۲: معمولا کلماتی که به حروف بزرگ نوشته می شن، غیرپایانه و کلامات که کوچک نوشته میشوند پایانه هستند. و int هم پایانه یا ترمینال هست.
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
جواب سوال ۳: first و fallow رو برای غیرپایانه بکار می برند و برای پایانه ها تعریف نمی شوند. مثلا برای جواب سوال اول fallow/OP وجود ندارد.
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
جواب سوال ۴: fallow برای غیرپایانه تعریف میشه.
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
جواب سوال ۵: با توجه به قانونی که نوشتین. A---> aBb . بله هردوی aوb پایانه (ترمینال) و AوB غیرپایانه (غیرترمینال) هستند.
در اینجا first/A برابر هست با a. و fallow/B برابر هست با b.
قوانین پیدا کردن مجموعه های first و fallow رو بخونید اگه سوالی داشتین بپرسید.
موفق باشید.
ارسال: #۳
  
RE: سوال درباره پیدا کردن first و follow
(۰۴ خرداد ۱۳۹۲ ۰۲:۵۲ ب.ظ)azad_ahmadi نوشته شده توسط: سلام و تشکر بابت انتقال سوال به مکان درست.تو فالو E چرا ] رو که جز first E میشه جا انداختین؟؟؟؟
قبل از هر کاری قانون [tex]S \rightarrow E\theta[/tex] رو به مجموعه قوانین اضافه میکنیم (همیشه برای حل سوالا این کار رو انجام میدیم).
||||||||||||||||||||||||||||||||||||||||
پاسخ سوال اول:
هر کتابی رو که بخونیم مجموعه قوانینی رو برای بدست اوردن first و fallow توضیح داده، اگه مروری بر قوانین داشته باشید بهتر حل سوال رو متوجه میشید. اما first و fallow ها بصورت زیر هستند:
[tex]first(E): id , int[/tex]
[tex]first(E`) : op, [ , lambda[/tex]
[tex]first(OP) : , - , *[/tex]
توضیحی برای بدست آوردن first : برای اینکه first یک غیرپایانه رو بدست بیاریم، باید بدونیم غیرپایانه مورد نظر با چه پایانه هایی شروع میشه. بدست آوردن first خیلی راحت تر از fallow هست، همیشه باید به این نکته توجه کرد که اگه lambda هم جزئی از یک قانون بود، lambda هم در مجموعه first خواهد اومد ولی در مجموعه fallow اصلا نباید lambda در نظر گرفته بشود.
[tex]fallow(E): \theta , ] , op , [[/tex]
[tex]fallow(E`): \theta , ] , op , [[/tex]
[tex]fallow(OP): it \, has \, nothing[/tex]
توضیح برای بدست آوردن fallow : مجموعه ترمینال هایی که بلافاصله پس از تولیدات یک غیرپایانی قرار میگیرند، fallow رو تشکلیل میدن.
برای OP اصلان fallowی وجود ندارد، چرا که هیچ غیر پایانه ای در قانون موجود نیست. طبق قوانین بدست اوردن fallow، هر دوی E , E` هردو یک مجموعه fallow دارند. (این قسمت رو خودتون کار کنید اگه متوجه نشدید بگید که بیشتر توضیح بدم).
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
جواب سوال ۲: معمولا کلماتی که به حروف بزرگ نوشته می شن، غیرپایانه و کلامات که کوچک نوشته میشوند پایانه هستند. و int هم پایانه یا ترمینال هست.
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
جواب سوال ۳: first و fallow رو برای غیرپایانه بکار می برند و برای پایانه ها تعریف نمی شوند. مثلا برای جواب سوال اول fallow/OP وجود ندارد.
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
جواب سوال ۴: fallow برای غیرپایانه تعریف میشه.
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
جواب سوال ۵: با توجه به قانونی که نوشتین. A---> aBb . بله هردوی aوb پایانه (ترمینال) و AوB غیرپایانه (غیرترمینال) هستند.
در اینجا first/A برابر هست با a. و fallow/B برابر هست با b.
قوانین پیدا کردن مجموعه های first و fallow رو بخونید اگه سوالی داشتین بپرسید.
موفق باشید.
ارسال: #۴
  
RE: سوال درباره پیدا کردن first و follow
ارسال: #۵
  
RE: سوال درباره پیدا کردن first و follow
۱
ارسال: #۶
  
RE: سوال درباره پیدا کردن first و follow
این علامتی که کنار حرف E نوشته شده چه معنی داره؟!
ارسال: #۷
  
RE: سوال درباره پیدا کردن first و follow
Can I see some ID?
Feeling left out?
نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close