پیدا کردن first و ()follow - نسخهی قابل چاپ |
پیدا کردن first و ()follow - z522msn - 27 دى ۱۳۹۲ ۰۹:۵۶ ب.ظ
سلام دوستان برای گرامر زیر من first و followرو بدست اوردم .فقط نمیدونم درسته یا نه ! کسی میتونه چک کنه درست بدست اوردم یا نه ؟ [tex]S\rightarrow ABD | a[R]| RA \\ A\rightarrow BA | b \\ B\rightarrow i| \varepsilon \\ D\rightarrow SAR | BBD | \varepsilon \\ R\rightarrow iA[/tex] |
RE: پیدا کردن first و ()follow - Iranian Wizard - 23 خرداد ۱۳۹۵ ۰۸:۰۹ ب.ظ
سلام.بله درست نوشته شده. حل کامل سوال: محاسبه first ها : [tex]first(S)\: =\: first(ABD)\: \cup\: first(\: a[R])\: \cup\: first(RA)\: =\: \{\: i\: , b\: \}\: \cup\: \{\: a\: \}\: \cup\: \{\: i\: \}\: =\: \{\: i\: ,\: a\: ,\: b\: \}[/tex] * [tex]first(A)\: =\: first(BA)\: \cup\: first(b)\: =\: \{\: i\: , b\: \}\: \cup\: \{\: b\: \}\: =\: \{\: i\: ,\: b\: \}[/tex] * [tex]first(B)\: =\: first(i)\: \cup\: first(\lambda)\: =\: \{\: i\: \}\: \cup\: \{\: \lambda\: \}\: =\: \{\: i , \lambda\: \}[/tex] * [tex] first(D)\: =\: first(SAR)\: \cup\: first( BBD)\: \cup\: first(\: \lambda\: )\: =\: \{\: i\: , a\: ,\: b\: \}\: \cup\: \{\: i , a\: ,\: b\: , \lambda\: \}\: \cup\: \{\: \lambda\: \}\: =\: \{\: i\: ,\: a\: ,\: b\: ,\: \lambda\: \}[/tex] * [tex]first( R )\: =\: First(iA)\: = \{\: i\: \}[/tex] * -----------------------------------------------------------------------------------------------------------------------
محاسبه follow ها : * توجه شود در اینجا منظور از [tex]first(x)[/tex] ، [tex]first(x)\: -\: \{\: \lambda\: \}[/tex] است. [tex]follow(\: S\: ) = \{\: \$\: \}\: \cup\: first(\: A\: )\: =\: \{\: \$\: \}\: \cup\: \{\: i\: , b\}\: =\: \{\: \$\: ,\: i\: , b\}[/tex] [tex]follow(A)\: =\: first(B)\: \cup\: first(D)\: \cup\: folow(S)\: \cup\: first(\: R\: )\: \cup\: follow\: (R\: )=[/tex] [tex]\{\: i\: \}\: \cup\: \{\: i\: ,\: a\: ,\: b\}\: \cup\: \{\: \$\: ,\: i\: ,b\}\: \cup\: \{\: i\: \}\: \cup\: \{\: \$\: ,\: i\: \: ,\: b\: , \rceil\}\: =\: \{\: \$\: ,\: i ,a\: ,b\: ,\rceil\ \}[/tex] [tex]follow(\: B\: ) = first(D)\: \cup\: \: follow(S)\: \cup\: first(\: A\: )\: \cup\: first(B)\: \cup\: follow(D)=[/tex] [tex]\{\: i\: ,\: a\: ,b\}\: \cup\: \{\: \$\: ,\: i\: ,\: b\}\: \cup\: \{\: i\: ,\: b\}\: \cup\: \{i\: \}\: \cup\: \{\: \$\: ,\: i\: ,\: b\}\: =\: \{\: \$\: ,\: i\: ,\: a\: ,\: b\: \}[/tex] [tex] follow(\: D\: ) = follow(\: S\: )\: =\: \{\: \$\: ,\: i\: ,\: b\: \}[/tex] [tex]follow(\: R\: ) = first(\: \rceil\: )\: \cup\: first(\: A\: )\: \cup\: follow(\: D\: )\: =\{\: \rceil\: \}\: \cup\: \{\: i ,\: b\: \}\: \cup\: \{\: \$\: ,\: i\: ,\: b\: \}\: =\: \{\: \$\: ,\: i\: ,\: b\: ,\: \rceil\: \}[/tex] |