JavaScript is required

Cho văn phạm với các luật sinh: S -> AB; A -> aA ; A -> epsilon; B -> bB ; B-> epsilon, Follow (S) = ?

A.

{a, epsilon }

B.

{a,b}

C.

{ dollar }

D.

{b, epsilon }

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) = {$}

Câu hỏi liên quan