JavaScript is required

Cho văn phạm gồm các luật sinh: epsilon; S → A; A → BC hoặc A-> DBC; B → bBʼ hoặc B-> Epsilon; B’→ bB’ hoặc B’- > C → c hoặc C-> Epsilon; D → a hoặc D-> d, FIRST(B) =?

A.

{ a, epsilon }

B.

{ a, b, epsilon }

C.

{ a, b, c, epsilon }

D.

{ b, epsilon }

Trả lời:

Đáp án đúng: D


Để tìm FIRST(B), ta cần xem xét các luật sinh có B ở vế trái: B → bBʼ hoặc B → epsilon.

  • Từ B → bBʼ, ta thấy rằng 'b' là một phần tử của FIRST(B).
  • Từ B → epsilon, ta thấy rằng epsilon (ký hiệu chuỗi rỗng) cũng là một phần tử của FIRST(B).

Vậy, FIRST(B) = {b, epsilon}.

Câu hỏi liên quan