2010-11-29 9 views
3

の問題は、文法を次の点を考慮文法の質問、FIRST

A → BC 
B → Ba | epsilon 
C → bD | epsilon 
D → … 
… 

ここでの問題はepsilonと左再帰を同様に導き出すことができ、そのルールBです。

FIRST(A)私はFIRST(B)を検索しています。
しかし、私はFIRST(B)で立ち往生しています。なぜなら、それは左回帰的なのでです。

だからFIRST(B)とは何ですか?そしてFIRST(A)
私のバージョンは次のとおりです。

FIRST(B) → {a, epsilon} 
FIRST(A) → {a, b, epsilon} 

それは正しいですか?

答えて

2

はい、正しくあります。それは結局、Bだから - BaBのために一致した場合、BaBBで始まることができるもので開始する必要がありますので、左再帰は、FIRSTには寄与しません。 :)

また、左回帰を最初に除外することもできます。

+0

あなたはすべての疑念を削除しました。ありがとうございます! :) –