У меня есть этот грамматик, где я пытаюсь найти наборы First и Follow.Я не уверен, что делаю все правильно, потому что мои наборы подписок никогда не включают в себя первый из R
Грамматика
E --> TP
P --> +TP | ε
T --> FQ
Q --> FQ | ε
F --> (E)R | iR
R --> *R | ε
Первые наборы -
First(E) = First(T) = First(F) = { (, i }
First(P) = { +, ε }
First(Q) = First(F) = { (, i } // not needed i dont think
First(R) = { *, ε }
Следующие наборы-
Follow(E) = { $, ) }
Follow(P) = Follow(E) = { $, ) }
Follow(T) = First(P) -{ε} + Follow(E) = {+, $, ) }
Follow(Q) = Follow(T) = { +, $, ) }
Follow(F) = First(Q)-{ε} + Follow(T) + First(F) = { +, (, ) , $, i }
Follow(R) = Follow(F) = { +, (, ) , $, i }
Я никогда не доберусь до первого (R) в следующем наборе, поэтому я не уверен, что думать.Тем не менее, я не думаю, что это возможно.Я прав с моими первыми и последующими сетами или мое понимание несколько неверно?