JavaScript is required

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

A.

{ a, dollar }

B.

{ b, dollar }

C.

{ c, dollar }

D.

{ dollar }

Trả lời:

Đáp án đúng: D


Để tìm FOLLOW(C), ta xét các luật sinh có C ở vế phải.

  • A → BC
  • A → DBC

Từ A → BC, theo định nghĩa FOLLOW, FOLLOW(C) chứa FOLLOW(A).

Từ A → DBC, theo định nghĩa FOLLOW, FOLLOW(C) chứa FOLLOW(A).

Ta cần tìm FOLLOW(A):

  • S → A, suy ra FOLLOW(A) chứa $ (ký hiệu kết thúc chuỗi).

Vậy FOLLOW(C) = { $ }.

Câu hỏi liên quan