Ðịnh nghĩa FOLLOW(A): (với A là một ký hiệu chưa kết thúc) là tập hợp
A.
Các ký hiệu kết thúc a mà nó xuất hiện ngay sau A (bên phía phải của A) trong một dạng câu nào đó.
B.
Các ký hiệu kết thúc a mà nó xuất hiện ngay trước A (bên phía trái của A) trong một dạng câu nào đó.
C.
Nếu X là kí hiệu kết thúc thì FOLLOW(X) là {X}
D.
Nếu X là kí hiệu kết chưa thúc thì {X} thuộc vào FOLLOW(X)
Trả lời:
Đáp án đúng: A
FOLLOW(A) là tập hợp các ký hiệu kết thúc có thể xuất hiện ngay sau ký hiệu không kết thúc A trong một dạng câu nào đó. Điều này bao gồm cả trường hợp A là ký hiệu cuối cùng trong một sản phẩm. Trong trường hợp đó, $ (ký hiệu kết thúc chuỗi) sẽ thuộc FOLLOW(A) nếu A là ký hiệu bắt đầu của ngữ pháp.
Phương án A: "Các ký hiệu kết thúc a mà nó xuất hiện ngay sau A (bên phía phải của A) trong một dạng câu nào đó." - Đây là định nghĩa chính xác của FOLLOW(A).
Phương án B: "Các ký hiệu kết thúc a mà nó xuất hiện ngay trước A (bên phía trái của A) trong một dạng câu nào đó." - Đây là định nghĩa của FIRST, không phải FOLLOW.
Phương án C: "Nếu X là kí hiệu kết thúc thì FOLLOW(X) là {X}" - Điều này không đúng. FOLLOW chỉ được định nghĩa cho các ký hiệu không kết thúc.
Phương án D: "Nếu X là kí hiệu kết chưa thúc thì {X} thuộc vào FOLLOW(X)" - Điều này cũng không đúng. FOLLOW(X) chứa các ký hiệu KẾT THÚC có thể theo sau X, chứ không phải X chính nó.