JavaScript is required

Cho văn phạm ang cường gồm các luật sinh E’->E; E-> E+T ; E-> T; T- >T*F; T-> F; F- > € ; F-> id. Nếu I là tập bao đóng của văn phạm và là tập hợp chỉ gồm văn phạm {E’->.E} thì closure(I) bao gồm:

A.

E’->.E; E ->.E + T; E ->.T; T ->.T * F; T ->.F; F ->. € ; F ->.id

B.

E ->.E + T; E ->.T; T ->.T * F; T ->.F; F ->. € ; F ->.id

C.

E’->.E; E ->.E + T; E ->.T; T ->.T * F; T ->.F; F ->. € ;

D.

E’->.E; E ->.E + T; E ->.T; T ->.T * F; T ->.F; F ->.id

Trả lời:

Đáp án đúng: A


Để tìm closure(I) của tập hợp I = {E' -> .E}, ta thực hiện các bước sau:

  1. Khởi tạo: Thêm tất cả các sản xuất có E ở bên phải dấu -> vào closure(I). Điều này bao gồm E -> .E + T và E -> .T.
  2. Tiếp tục thêm: Vì E -> .T đã được thêm vào, ta thêm tất cả các sản xuất có T ở bên phải dấu -> vào closure(I). Điều này bao gồm T -> .T * F và T -> .F.
  3. Tiếp tục thêm: Vì T -> .F đã được thêm vào, ta thêm tất cả các sản xuất có F ở bên phải dấu -> vào closure(I). Điều này bao gồm F -> .€ và F -> .id.
  4. Kết thúc: Không còn sản xuất nào có thể thêm vào closure(I) nữa.

Vậy, closure(I) bao gồm các sản xuất sau: E' -> .E; E -> .E + T; E -> .T; T -> .T * F; T -> .F; F -> .€ ; F -> .id.

Câu hỏi liên quan