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, First(B) = ?

A.

A. {a, epsilon }

B.

B. {a,b}

C.

C. {b}

D.

D. {b, epsilon}

Trả lời:

Đáp án đúng: D


Để tìm First(B), ta xét các luật sinh của B: B -> bB và B -> epsilon. Theo định nghĩa, First(B) là tập hợp các terminal có thể xuất hiện đầu tiên trong các chuỗi dẫn xuất từ B. Vì B có thể sinh ra 'bB', nên 'b' thuộc First(B). Vì B cũng có thể sinh ra 'epsilon' (chuỗi rỗng), nên 'epsilon' cũng thuộc First(B). Vậy, First(B) = {b, epsilon}.

Câu hỏi liên quan