JavaScript is required

Cho văn phạm với các luật sinh: S->aAb; S->c; A->hSg. FIRST(A) =?

A.

{b,a}

B.

{h}

C.

{c,g}

D.

{a}

Trả lời:

Đáp án đúng: B


Để tìm FIRST(A), ta cần xác định tập hợp các terminal có thể xuất hiện đầu tiên khi suy dẫn từ A.

  • A -> hSg
  • S -> aAb | c

Từ luật sinh A -> hSg, ta thấy rằng mọi chuỗi suy dẫn từ A sẽ bắt đầu bằng 'h'. Do đó, 'h' thuộc FIRST(A).

Vậy, FIRST(A) = {h}.

Câu hỏi liên quan