Cho văn phạm với các luật sinh: S -> AB; A -> aA ; A -> epsilon; B -> bB ; B-> epsilon, Follow (S) = ?
Trả lời:
Đáp án đúng: C
Để tìm Follow(S), ta cần xem xét các luật sinh có S ở vế trái. Trong trường hợp này, ta chỉ có luật S -> AB.
1. Vì S là ký hiệu bắt đầu, $ thuộc Follow(S).
2. Xét luật S -> AB, nếu B dẫn xuất ra ε (epsilon), thì Follow(S) chứa Follow(B). Tuy nhiên, ta cần xét đến trường hợp B có thể dẫn xuất ra chuỗi rỗng (epsilon).
Xét các luật sinh của A và B: A -> aA | ε và B -> bB | ε
Vì B có thể dẫn xuất ra ε, nên Follow(S) sẽ chứa Follow(B). Tuy nhiên, vì S là ký hiệu bắt đầu, Follow(S) chắc chắn chứa $ (ký hiệu kết thúc).
Do đó, Follow(S) = {$}