我想找到FIRST和遵循以下CFG:如何找到FIRST和FOLLOW
S -> O | M
M -> iEtMeM | a
O -> iEtS | iEtMeO
E -> b
我做了左分解,所以我得到:
S -> O | M
M -> iEtMeM | a
O -> iEtO'
O'-> S | MeO
E -> b
第一組:
FIRST(S) = FIRST(O)|FIRST(M) = {i,a}
FIRST(M) = {i,a}
FIRST(O) = {i}
FIRST(O') = FIRST(S)|FIRST(M) = {i,a}
FIRST(E) = {b}
現在我不能找到S
的FOLLOW集,因爲我不知道什麼是FOLLOW(O')
:
FOLLOW(S) = {$, FOLLOW(O')}
嗨寒意,但爲什麼'FOLLOW(S)'只有'{$}'它也存在'O' - > S | MeO' – Gabriel
@ Gabriel,是的,我忽略了提到'S',參見編輯答案。 – chill