Cho văn phạm tăng cường gồm các luật sinh E’->E; E-> E+T ; E-> T; T- >T*F; T-> F; F- > (E) ; F-> id. Tập mục I0 là tập mục thứ nhất của văn phạm, Goto (I0, E) =?
Trả lời:
Đáp án đúng: B
Tập mục I0 ban đầu chứa luật sinh E' -> .E. Khi áp dụng Goto(I0, E), ta tìm các luật sinh có dạng A -> α.Eβ trong I0, và di chuyển dấu chấm qua E.
Trong trường hợp này, ta có E' -> .E trong I0. Khi di chuyển dấu chấm qua E, ta được E' -> E.. Tiếp theo, ta cần đóng tập mục này bằng cách thêm tất cả các luật sinh có E ở bên trái và dấu chấm ở đầu. Như vậy, ta thêm E -> .E + T và E -> .T.
Tiếp tục đóng tập mục, ta thêm các luật sinh có T ở bên trái và dấu chấm ở đầu: T -> .T * F và T -> .F.
Cuối cùng, ta thêm các luật sinh có F ở bên trái và dấu chấm ở đầu: F -> .(E) và F -> .id.
Vậy Goto(I0, E) = {E' -> E., E -> E. + T}.





