JavaScript is required

Cho văn phạm gồm các luật sinh: epsilon; 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-> 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 xem xét các luật sinh của B’:

B’ → bB’ hoặc B’ → epsilon

Vì B’ có thể sinh ra 'b' (thông qua luật B’ → bB’) và cũng có thể sinh ra epsilon (thông qua luật B’ → epsilon), nên FIRST(B’) sẽ bao gồm 'b' và epsilon.

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

Câu hỏi liên quan