JavaScript is required

Cho văn phạm với các luật sinh sau: E->TE; E’->+T E’; E’->epsilon; T->FT'; T'- >*FT’; T’->epsilon; F->(E); F->id; FIRST(T)=?

A.

{ epsilon, id }

B.

{ (, id }

C.

{ *,+,id }

D.

{ id, dollar }

Trả lời:

Đáp án đúng: B


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

  • T -> FT'
  • F -> (E) | id

Vì T bắt đầu bằng F, FIRST(T) sẽ chứa tất cả các phần tử của FIRST(F). FIRST(F) = { (, id }.

Câu hỏi liên quan