かなり長い間悩まされてきた小さな問題があり、オンラインで適切な答えを見つけることができませんでした.
与えられた文法:
S = Sc | Eab | Db | b
D = EDcD | ca | ɛ
E = dE | DY
Y = Ed | Dad | ɛ
たとえば Y の FIRST セット、つまり FIRST(Y) を見つけるには、次のようになると仮定して正しいでしょうか。
FIRST(Y)
= FIRST(Ed) ∪ FIRST(Dad) ∪ FIRST(ɛ)
= FIRST(E) ∪ (FIRST(D)\{ɛ}) ∪ FIRST(ad) ∪ {ɛ}
= FIRST(E) ∪ (FIRST(D)\{ɛ}) ∪ {a, ɛ}
ここで問題は、FIRST(E) と FIRST(D) をどのように見つけるかです。